001: /*
002: * GWT-Ext Widget Library
003: * Copyright(c) 2007-2008, GWT-Ext.
004: * licensing@gwt-ext.com
005: *
006: * http://www.gwt-ext.com/license
007: */
008:
009: package com.gwtext.client.widgets.tree.event;
010:
011: import com.gwtext.client.core.EventObject;
012: import com.gwtext.client.data.Tree;
013: import com.gwtext.client.dd.DD;
014: import com.gwtext.client.dd.DragData;
015: import com.gwtext.client.dd.DragDrop;
016: import com.gwtext.client.widgets.event.PanelListener;
017: import com.gwtext.client.widgets.tree.DropNodeCallback;
018: import com.gwtext.client.widgets.tree.TreeNode;
019: import com.gwtext.client.widgets.tree.TreePanel;
020:
021: public interface TreePanelListener extends PanelListener {
022:
023: /**
024: * Fires when a new child node is appended to a node in this tree.
025: *
026: * @param tree The owner tree
027: * @param parent The parent node
028: * @param node The newly appended node
029: * @param index The index of the newly appended node
030: */
031: void onAppend(Tree tree, TreeNode parent, TreeNode node, int index);
032:
033: /**
034: * Fires before a new child is appended to a node in this tree, return false to cancel the append.
035: *
036: * @param tree The owner tree
037: * @param parent The parent node
038: * @param node The newly appended node
039: * @return false to cancel
040: */
041: boolean doBeforeAppend(Tree tree, TreeNode parent, TreeNode node);
042:
043: /**
044: * Fires right before the child nodes for a node are rendered.
045: *
046: * @param node the node
047: * @return false to cancel
048: */
049: boolean doBeforeChildrenRendered(TreeNode node);
050:
051: /**
052: * Fires before click processing. Return false to cancel the default action.
053: *
054: * @param node the node
055: * @param e the event object
056: * @return false to cancel
057: */
058: boolean doBeforeClick(TreeNode node, EventObject e);
059:
060: /**
061: * Fires before this node is collapsed, return false to cancel.
062: *
063: * @param node the node
064: * @param deep whether deep collapse
065: * @param anim whether animated
066: * @return false to cancel
067: */
068: boolean doBeforeCollapseNode(TreeNode node, boolean deep,
069: boolean anim);
070:
071: /**
072: * Fires before this node is expanded, return false to cancel.
073: *
074: * @param node the node
075: * @param deep whether deep expand
076: * @param anim whether animated
077: * @return false to cancel
078: */
079: boolean doBeforeExpandNode(TreeNode node, boolean deep, boolean anim);
080:
081: /**
082: * Fires before a new child is inserted in a node in this tree, return false to cancel the insert.
083: *
084: * @param tree The owner tree
085: * @param parent The parent node
086: * @param node The child node to be inserted
087: * @param refNode The child node the node is being inserted before
088: * @return false to cancel
089: */
090: boolean doBeforeInsert(Tree tree, TreeNode parent, TreeNode node,
091: TreeNode refNode);
092:
093: /**
094: * Fires before a node is loaded, return false to cancel.
095: *
096: * @param node the node
097: * @return false to cancel
098: */
099: boolean doBeforeLoad(TreeNode node);
100:
101: /**
102: * Fires before a node is moved to a new location in the tree. Return false to cancel the move.
103: *
104: * @param tree The owner tree
105: * @param node The node being moved
106: * @param oldParent The parent of the node
107: * @param newParent The new parent the node is moving to
108: * @param index The index it is being moved to
109: * @return false to cancel
110: */
111: boolean doBeforeMoveNode(Tree tree, TreeNode node,
112: TreeNode oldParent, TreeNode newParent, int index);
113:
114: //treepanel, target, data, point, source, rawEvent, dropNode
115: //todo data?, enum
116: /**
117: * Fires when a DD object is dropped on a node in this tree for preprocessing. Return false to cancel the drop.
118: *
119: * @param treePanel this
120: * @param target the node being targeted for the drop
121: * @param dragData the drag data
122: * @param point the point of the drop - append, above or below
123: * @param source the drag source
124: * @param dropNode drop node provided by the source
125: * @param dropNodeCallback call setDropNode / setDropNodes on this callback to use a custon drop node. Can by used to drop a copy of the originally dropped
126: * @return false to cancel
127: */
128: boolean doBeforeNodeDrop(TreePanel treePanel, TreeNode target,
129: DragData dragData, String point, DragDrop source,
130: TreeNode dropNode, DropNodeCallback dropNodeCallback);
131:
132: /**
133: * Fires when a node with a checkbox's checked property changes.
134: *
135: * @param node the node
136: * @param checked true if checked
137: */
138: void onCheckChange(TreeNode node, boolean checked);
139:
140: /**
141: * Fires when this node is clicked.
142: *
143: * @param node the node
144: * @param e the event object
145: */
146: void onClick(TreeNode node, EventObject e);
147:
148: /**
149: * Fires when this node is collapsed.
150: *
151: * @param node the node
152: */
153: void onCollapseNode(TreeNode node);
154:
155: /**
156: * Fires when this node is right clicked.
157: *
158: * @param node the node
159: * @param e the event obejct
160: */
161: void onContextMenu(TreeNode node, EventObject e);
162:
163: /**
164: * Fires when this node is double clicked.
165: *
166: * @param node the node
167: * @param e the event object
168: */
169: void onDblClick(TreeNode node, EventObject e);
170:
171: /**
172: * Fires when the disabled status of this node changes.
173: *
174: * @param node the node
175: * @param disabled true if disabled
176: */
177: void onDisabledChange(TreeNode node, boolean disabled);
178:
179: /**
180: * Fires when a dragged node is dropped on a valid DD target.
181: *
182: * @param treePanel this
183: * @param node the node
184: * @param dd the DD it was dropped on
185: */
186: void onDragDrop(TreePanel treePanel, TreeNode node, DD dd);
187:
188: /**
189: * Fires when a drag operation is complete
190: *
191: * @param treePanel this
192: * @param node the node
193: */
194: void onEndDrag(TreePanel treePanel, TreeNode node);
195:
196: /**
197: * Fires when this node is expanded.
198: *
199: * @param node the node
200: */
201: void onExpandNode(TreeNode node);
202:
203: /**
204: * Fires when a new child node is inserted in a node in this tree.
205: *
206: * @param tree The owner tree
207: * @param parent The parent node
208: * @param node The child node inserted
209: * @param refNode The child node the node was inserted before
210: */
211: void onInsert(Tree tree, TreeNode parent, TreeNode node,
212: TreeNode refNode);
213:
214: /**
215: * Fires when a node is loaded.
216: *
217: * @param node the node
218: */
219: void onLoad(TreeNode node);
220:
221: /**
222: * Fires when a tree node is being targeted for a drag drop, return false to signal drop not allowed.
223: *
224: * @param treePanel this
225: * @param target the node being targeted for the drop
226: * @param dragData the drag data
227: * @param point the point of the drop - append, above or below
228: * @param source the drag source
229: * @param dropNode Drop node provided by the source @return false to cancel
230: * @return false to cancel
231: */
232: boolean onNodeDragOver(TreePanel treePanel, TreeNode target,
233: DragData dragData, String point, DragDrop source,
234: TreeNode dropNode);
235:
236: /**
237: * Fires after a DD object is dropped on a node in this tree.
238: *
239: * @param treePanel this
240: * @param target the node being targeted for the drop
241: * @param dragData the drag data
242: * @param point the point of the drop - append, above or below
243: * @param source the drag source
244: * @param dropNode Drop node provided by the source
245: */
246: void onNodeDrop(TreePanel treePanel, TreeNode target,
247: DragData dragData, String point, DragDrop source,
248: TreeNode dropNode);
249:
250: /**
251: * Fires when a node is moved to a new location in the tree.
252: *
253: * @param tree the owner tree
254: * @param node the node
255: * @param oldParent the old parent of this node
256: * @param newParent the new parent of this node
257: * @param index the index it was moved to
258: */
259: void onMoveNode(Tree tree, TreeNode node, TreeNode oldParent,
260: TreeNode newParent, int index);
261:
262: /**
263: * Fires before a child node is removed from a node in this tree. Return false to cancel.
264: *
265: * @param tree the owner tree
266: * @param parent the paent node
267: * @param node the child node removed
268: * @return false to cancel
269: */
270: boolean doBeforeRemove(Tree tree, TreeNode parent, TreeNode node);
271:
272: /**
273: * Fires when a child node is removed from a node in this tree.
274: *
275: * @param tree the owner tree
276: * @param parent the paent node
277: * @param node the child node removed
278: */
279: void onRemove(Tree tree, TreeNode parent, TreeNode node);
280:
281: /**
282: * Fires when a node starts being dragged.
283: *
284: * @param treePanel this
285: * @param node the node
286: */
287: void onStartDrag(TreePanel treePanel, TreeNode node);
288:
289: /**
290: * Fires when the text for this node is changed.
291: *
292: * @param node the node
293: * @param text the new text
294: * @param oldText the old text
295: */
296: void onTextChange(TreeNode node, String text, String oldText);
297: }
|