001: /*
002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003: *
004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
005: *
006: * The contents of this file are subject to the terms of either the GNU
007: * General Public License Version 2 only ("GPL") or the Common
008: * Development and Distribution License("CDDL") (collectively, the
009: * "License"). You may not use this file except in compliance with the
010: * License. You can obtain a copy of the License at
011: * http://www.netbeans.org/cddl-gplv2.html
012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
013: * specific language governing permissions and limitations under the
014: * License. When distributing the software, include this License Header
015: * Notice in each file and include the License file at
016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
017: * particular file as subject to the "Classpath" exception as provided
018: * by Sun in the GPL Version 2 section of the License file that
019: * accompanied this code. If applicable, add the following below the
020: * License Header, with the fields enclosed by brackets [] replaced by
021: * your own identifying information:
022: * "Portions Copyrighted [year] [name of copyright owner]"
023: *
024: * Contributor(s):
025: *
026: * The Original Software is NetBeans. The Initial Developer of the Original
027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
028: * Microsystems, Inc. All Rights Reserved.
029: *
030: * If you wish your version of this file to be governed by only the CDDL
031: * or only the GPL Version 2, indicate your decision by adding
032: * "[Contributor] elects to include this software in this distribution
033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
034: * single choice of license, a recipient has the option to distribute
035: * your version of this file under either the CDDL, the GPL Version 2 or
036: * to extend the choice of license to its licensees as provided above.
037: * However, if you add GPL Version 2 code and therefore, elected the GPL
038: * Version 2 license, then the option applies only if the new code is
039: * made subject to such option by the copyright holder.
040: */
041:
042: /*
043: *
044: * Created on Jun 10, 2003
045: * @author Trey Spiva
046: */
047: package org.netbeans.modules.uml.ui.controls.projecttree;
048:
049: import org.netbeans.modules.uml.core.eventframework.IEventContext;
050: import org.netbeans.modules.uml.core.eventframework.IEventFrameworkEventsSink;
051: import org.netbeans.modules.uml.core.eventframework.IEventPayload;
052: import org.netbeans.modules.uml.ui.products.ad.projecttreedefaultengine.FilteredItemManager;
053: import org.netbeans.modules.uml.ui.support.contextmenusupport.IProductContextMenu;
054: import org.netbeans.modules.uml.ui.support.contextmenusupport.IProductContextMenuItem;
055:
056: import org.netbeans.modules.uml.core.eventframework.EventDispatcher;
057: import org.netbeans.modules.uml.core.support.umlsupport.IResultCell;
058: import org.netbeans.modules.uml.core.eventframework.EventManager;
059: import org.netbeans.modules.uml.core.eventframework.EventFunctor;
060:
061: import java.awt.datatransfer.Transferable;
062: import java.util.ArrayList;
063:
064: /**
065: *
066: * @author Trey Spiva
067: */
068: public class ProjectTreeEventDispatcherImpl extends EventDispatcher
069: implements IProjectTreeEventDispatcher {
070: /** Handles the actual deployment of events to Workspace listeners. */
071: private EventManager<IProjectTreeContextMenuEventsSink> m_ProjectTreeContextMenuEventManager = null;
072: private EventManager<IProjectTreeEventsSink> m_ProjectTreeEventManager = null;
073:
074: public ProjectTreeEventDispatcherImpl() {
075: m_ProjectTreeContextMenuEventManager = new EventManager<IProjectTreeContextMenuEventsSink>();
076: m_ProjectTreeEventManager = new EventManager<IProjectTreeEventsSink>();
077: }
078:
079: /* (non-Javadoc)
080: * @see org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventDispatcher#registerProjectTreeContextMenuEvents(org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeContextMenuEventsSink)
081: */
082: public void registerProjectTreeContextMenuEvents(
083: IProjectTreeContextMenuEventsSink handler) {
084: m_ProjectTreeContextMenuEventManager.addListener(handler, null);
085: }
086:
087: /* (non-Javadoc)
088: * @see org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventDispatcher#revokeProjectTreeContextMenuSink(int)
089: */
090: public void revokeProjectTreeContextMenuSink(
091: IProjectTreeContextMenuEventsSink handler) {
092: m_ProjectTreeContextMenuEventManager.removeListener(handler);
093: }
094:
095: /* (non-Javadoc)
096: * @see org.netbeans.modules.uml.core.eventframework.IEventDispatcher#registerForEventFrameworkEvents(org.netbeans.modules.uml.core.eventframework.IEventFrameworkEventsSink)
097: */
098: public void registerProjectTreeEvents(IProjectTreeEventsSink handler) {
099: m_ProjectTreeEventManager.addListener(handler, null);
100: }
101:
102: /* (non-Javadoc)
103: * @see org.netbeans.modules.uml.core.eventframework.IEventDispatcher#revokeEventFrameworkSink(org.netbeans.modules.uml.core.eventframework.IEventFrameworkEventsSink)
104: */
105: public void revokeProjectTreeSink(IProjectTreeEventsSink handler) {
106: m_ProjectTreeEventManager.removeListener(handler);
107: }
108:
109: /* (non-Javadoc)
110: * @see org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventDispatcher#fireProjectTreeContextMenuPrepare(org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeControl, org.netbeans.modules.uml.ui.support.contextmenusupport.IProductContextMenu, org.netbeans.modules.uml.core.eventframework.IEventPayload)
111: */
112: public void fireProjectTreeContextMenuPrepare(
113: IProjectTreeControl pParentControl,
114: IProductContextMenu contextMenu, IEventPayload payload) {
115: boolean proceed = true;
116:
117: ArrayList<Object> collection = new ArrayList<Object>();
118: collection.add(pParentControl);
119: collection.add(contextMenu);
120:
121: if (validateEvent("ProjectTreeContextMenuPrepare", collection)) {
122: IResultCell cell = prepareResultCell(payload);
123: EventFunctor projectTreeContextMenuPrepareFunc = new EventFunctor(
124: "org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeContextMenuEventsSink",
125: "onProjectTreeContextMenuPrepare");
126:
127: Object[] parms = new Object[3];
128: parms[0] = pParentControl;
129: parms[1] = contextMenu;
130: parms[2] = cell;
131: projectTreeContextMenuPrepareFunc.setParameters(parms);
132: m_ProjectTreeContextMenuEventManager
133: .notifyListenersWithQualifiedProceed(projectTreeContextMenuPrepareFunc);
134: if (cell != null) {
135: proceed = cell.canContinue();
136: }
137: }
138: }
139:
140: /* (non-Javadoc)
141: * @see org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventDispatcher#fireProjectTreeContextMenuPrepared(org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeControl, org.netbeans.modules.uml.ui.support.contextmenusupport.IProductContextMenu, org.netbeans.modules.uml.core.eventframework.IEventPayload)
142: */
143: public void fireProjectTreeContextMenuPrepared(
144: IProjectTreeControl pParentControl,
145: IProductContextMenu contextMenu, IEventPayload payload) {
146: ArrayList<Object> collection = new ArrayList<Object>();
147: collection.add(pParentControl);
148: collection.add(contextMenu);
149:
150: if (validateEvent("ProjectTreeContextMenuPrepared", collection)) {
151: IResultCell cell = prepareResultCell(payload);
152: EventFunctor projectTreeContextMenuPreparedFunc = new EventFunctor(
153: "org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeContextMenuEventsSink",
154: "onProjectTreeContextMenuPrepared");
155:
156: Object[] parms = new Object[3];
157: parms[0] = pParentControl;
158: parms[1] = contextMenu;
159: parms[2] = cell;
160: projectTreeContextMenuPreparedFunc.setParameters(parms);
161: m_ProjectTreeContextMenuEventManager
162: .notifyListeners(projectTreeContextMenuPreparedFunc);
163: }
164: }
165:
166: /* (non-Javadoc)
167: * @see org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventDispatcher#fireProjectTreeContextMenuHandleDisplay(org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeControl, org.netbeans.modules.uml.ui.support.contextmenusupport.IProductContextMenu, org.netbeans.modules.uml.core.eventframework.IEventPayload)
168: */
169: public void fireProjectTreeContextMenuHandleDisplay(
170: IProjectTreeControl pParentControl,
171: IProductContextMenu contextMenu, IEventPayload payload) {
172: ArrayList<Object> collection = new ArrayList<Object>();
173: collection.add(pParentControl);
174: collection.add(contextMenu);
175: if (validateEvent("ProjectTreeContextMenuHandleDisplay",
176: collection)) {
177: IResultCell cell = prepareResultCell(payload);
178: EventFunctor projectTreeContextMenuHandleDisplayFunc = new EventFunctor(
179: "org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeContextMenuEventsSink",
180: "onProjectTreeContextMenuHandleDisplay");
181:
182: Object[] parms = new Object[3];
183: parms[0] = pParentControl;
184: parms[1] = contextMenu;
185: parms[2] = cell;
186: projectTreeContextMenuHandleDisplayFunc
187: .setParameters(parms);
188: m_ProjectTreeContextMenuEventManager
189: .notifyListeners(projectTreeContextMenuHandleDisplayFunc);
190: }
191:
192: }
193:
194: /* (non-Javadoc)
195: * @see org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventDispatcher#fireProjectTreeContextMenuSelected(org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeControl, org.netbeans.modules.uml.ui.support.contextmenusupport.IProductContextMenu, org.netbeans.modules.uml.ui.support.contextmenusupport.IProductContextMenuItem, org.netbeans.modules.uml.core.eventframework.IEventPayload)
196: */
197: public void fireProjectTreeContextMenuSelected(
198: IProjectTreeControl pParentControl,
199: IProductContextMenu contextMenu,
200: IProductContextMenuItem selectedItem, IEventPayload payload) {
201: ArrayList<Object> collection = new ArrayList<Object>();
202: collection.add(pParentControl);
203: collection.add(contextMenu);
204:
205: if (validateEvent("ProjectTreeContextMenuSelected", collection)) {
206: IResultCell cell = prepareResultCell(payload);
207: EventFunctor projectTreeContextMenuSelectedFunc = new EventFunctor(
208: "org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeContextMenuEventsSink",
209: "onProjectTreeContextMenuSelected");
210:
211: Object[] parms = new Object[3];
212: parms[0] = pParentControl;
213: parms[1] = contextMenu;
214: parms[2] = cell;
215: projectTreeContextMenuSelectedFunc.setParameters(parms);
216: m_ProjectTreeContextMenuEventManager
217: .notifyListeners(projectTreeContextMenuSelectedFunc);
218: }
219: }
220:
221: /* (non-Javadoc)
222: * @see org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventDispatcher#fireItemExpanding(org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeControl, org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeItem, org.netbeans.modules.uml.core.eventframework.IEventPayload)
223: */
224: public void fireItemExpanding(IProjectTreeControl pParentControl,
225: IProjectTreeExpandingContext context, IEventPayload payload) {
226: ArrayList<Object> collection = new ArrayList<Object>();
227: collection.add(pParentControl);
228: collection.add(context);
229:
230: if (validateEvent("ItemExpanding", collection)) {
231: IResultCell cell = prepareResultCell(payload);
232: EventFunctor itemExpandingFunc = new EventFunctor(
233: "org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventsSink",
234: "onItemExpanding");
235:
236: Object[] parms = new Object[3];
237: parms[0] = pParentControl;
238: parms[1] = context;
239: parms[2] = cell;
240: itemExpandingFunc.setParameters(parms);
241: m_ProjectTreeEventManager
242: .notifyListeners(itemExpandingFunc);
243: }
244:
245: }
246:
247: /* (non-Javadoc)
248: * @see org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventDispatcher#fireItemExpanding(org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeControl, org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeItem, org.netbeans.modules.uml.core.eventframework.IEventPayload)
249: */
250: public void fireItemExpandingWithFilter(
251: IProjectTreeControl pParentControl,
252: IProjectTreeExpandingContext context,
253: FilteredItemManager manager, IEventPayload payload) {
254: ArrayList<Object> collection = new ArrayList<Object>();
255: collection.add(pParentControl);
256: collection.add(context);
257:
258: if (validateEvent("ItemExpanding", collection)) {
259: IResultCell cell = prepareResultCell(payload);
260: EventFunctor itemExpandingFunc = new EventFunctor(
261: "org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventsSink",
262: "onItemExpandingWithFilter");
263:
264: Object[] parms = new Object[4];
265: parms[0] = pParentControl;
266: parms[1] = context;
267: parms[2] = manager;
268: parms[3] = cell;
269: itemExpandingFunc.setParameters(parms);
270: m_ProjectTreeEventManager
271: .notifyListeners(itemExpandingFunc);
272: }
273:
274: }
275:
276: /* (non-Javadoc)
277: * @see org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventDispatcher#fireBeforeEdit(org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeControl, org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeItem, org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEditVerify, org.netbeans.modules.uml.core.eventframework.IEventPayload)
278: */
279: public void fireBeforeEdit(IProjectTreeControl pParentControl,
280: IProjectTreeItem pItem, IProjectTreeEditVerify pVerify,
281: IEventPayload payload) {
282: ArrayList<Object> collection = new ArrayList<Object>();
283: collection.add(pParentControl);
284: collection.add(pItem);
285: collection.add(pVerify);
286:
287: if (validateEvent("BeforeEdit", collection)) {
288: IResultCell cell = prepareResultCell(payload);
289: EventFunctor beforeEditFunc = new EventFunctor(
290: "org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventsSink",
291: "onBeforeEdit");
292:
293: Object[] parms = new Object[4];
294: parms[0] = pParentControl;
295: parms[1] = pItem;
296: parms[0] = pVerify;
297: parms[1] = cell;
298: beforeEditFunc.setParameters(parms);
299: m_ProjectTreeEventManager.notifyListeners(beforeEditFunc);
300: }
301:
302: }
303:
304: /* (non-Javadoc)
305: * @see org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventDispatcher#fireAfterEdit(org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeControl, org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeItem, org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEditVerify, org.netbeans.modules.uml.core.eventframework.IEventPayload)
306: */
307: public void fireAfterEdit(IProjectTreeControl pParentControl,
308: IProjectTreeItem pItem, IProjectTreeEditVerify pVerify,
309: IEventPayload payload) {
310: ArrayList<Object> collection = new ArrayList<Object>();
311: collection.add(pParentControl);
312: collection.add(pItem);
313: collection.add(pVerify);
314:
315: if (validateEvent("AfterEdit", collection)) {
316: IResultCell cell = prepareResultCell(payload);
317: EventFunctor afterEditFunc = new EventFunctor(
318: "org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventsSink",
319: "onAfterEdit");
320:
321: Object[] parms = new Object[4];
322: parms[0] = pParentControl;
323: parms[1] = pItem;
324: parms[2] = pVerify;
325: parms[3] = cell;
326: afterEditFunc.setParameters(parms);
327: m_ProjectTreeEventManager.notifyListeners(afterEditFunc);
328: }
329:
330: }
331:
332: /* (non-Javadoc)
333: * @see org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventDispatcher#fireDoubleClick(org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeControl, org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeItem, org.netbeans.modules.uml.core.eventframework.IEventPayload)
334: */
335: public void fireDoubleClick(IProjectTreeControl pParentControl,
336: IProjectTreeItem pItem, boolean isControl, boolean isShift,
337: boolean isAlt, boolean isMeta, IEventPayload payload) {
338: Boolean isControlObj = new Boolean(isControl);
339: Boolean isShiftObj = new Boolean(isShift);
340: Boolean isAltObj = new Boolean(isAlt);
341: Boolean isMetaObj = new Boolean(isMeta);
342:
343: ArrayList<Object> collection = new ArrayList<Object>();
344: collection.add(pParentControl);
345: collection.add(isControlObj);
346: collection.add(isShiftObj);
347: collection.add(isAltObj);
348: collection.add(isMetaObj);
349: collection.add(pItem);
350:
351: if (validateEvent("DoubleClick", collection)) {
352: IResultCell cell = prepareResultCell(payload);
353: EventFunctor doubleClickFunc = new EventFunctor(
354: "org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventsSink",
355: "onDoubleClick");
356:
357: Object[] parms = new Object[7];
358: parms[0] = pParentControl;
359: parms[1] = pItem;
360: parms[2] = isControlObj;
361: parms[3] = isShiftObj;
362: parms[4] = isAltObj;
363: parms[5] = isMetaObj;
364: parms[6] = cell;
365: doubleClickFunc.setParameters(parms);
366: m_ProjectTreeEventManager.notifyListeners(doubleClickFunc);
367: }
368: }
369:
370: /* (non-Javadoc)
371: * @see org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventDispatcher#fireSelChanged(org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeControl, org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeItem[], org.netbeans.modules.uml.core.eventframework.IEventPayload)
372: */
373: public void fireSelChanged(IProjectTreeControl pParentControl,
374: IProjectTreeItem[] pItem, IEventPayload payload) {
375: ArrayList<Object> collection = new ArrayList<Object>();
376: collection.add(pParentControl);
377: collection.add(pItem);
378:
379: if (validateEvent("SelChanged", collection)) {
380: IResultCell cell = prepareResultCell(payload);
381: EventFunctor selChangedFunc = new EventFunctor(
382: "org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventsSink",
383: "onSelChanged");
384:
385: Object[] parms = new Object[3];
386: parms[0] = pParentControl;
387: parms[1] = pItem;
388: parms[2] = cell;
389: selChangedFunc.setParameters(parms);
390: m_ProjectTreeEventManager.notifyListeners(selChangedFunc);
391: }
392:
393: }
394:
395: /* (non-Javadoc)
396: * @see org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventDispatcher#fireRightButtonDown(org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeControl, org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeItem, org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeHandled, int, int, org.netbeans.modules.uml.core.eventframework.IEventPayload)
397: */
398: public void fireRightButtonDown(IProjectTreeControl pParentControl,
399: IProjectTreeItem pItem, IProjectTreeHandled pHandled,
400: int nScreenLocX, int nScreenLocY, IEventPayload payload) {
401: ArrayList<Object> collection = new ArrayList<Object>();
402: collection.add(pParentControl);
403: collection.add(pItem);
404: collection.add(pHandled);
405: collection.add(new Integer(nScreenLocX));
406: collection.add(new Integer(nScreenLocY));
407:
408: if (validateEvent("RightButtonDown", collection)) {
409: IResultCell cell = prepareResultCell(payload);
410: EventFunctor rightButtonDownFunc = new EventFunctor(
411: "org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventsSink",
412: "onRightButtonDown");
413:
414: Object[] parms = new Object[6];
415: parms[0] = pParentControl;
416: parms[1] = pItem;
417: parms[2] = pHandled;
418: parms[3] = new Integer(nScreenLocX);
419: parms[4] = new Integer(nScreenLocY);
420: parms[5] = cell;
421: rightButtonDownFunc.setParameters(parms);
422: m_ProjectTreeEventManager
423: .notifyListeners(rightButtonDownFunc);
424: }
425: }
426:
427: /* (non-Javadoc)
428: * @see org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventDispatcher#fireBeginDrag(org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeControl, org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeItem[], org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeDragVerify, org.netbeans.modules.uml.core.eventframework.IEventPayload)
429: */
430: public void fireBeginDrag(IProjectTreeControl pParentControl,
431: IProjectTreeItem[] pItem, IProjectTreeDragVerify pVerify,
432: IEventPayload payload) {
433: ArrayList<Object> collection = new ArrayList<Object>();
434: collection.add(pParentControl);
435: collection.add(pItem);
436: collection.add(pVerify);
437:
438: if (validateEvent("BeginDrag", collection)) {
439: IResultCell cell = prepareResultCell(payload);
440: EventFunctor beginDragFunc = new EventFunctor(
441: "org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventsSink",
442: "onBeginDrag");
443:
444: Object[] parms = new Object[4];
445: parms[0] = pParentControl;
446: parms[1] = pItem;
447: parms[2] = pVerify;
448: parms[3] = cell;
449: beginDragFunc.setParameters(parms);
450: m_ProjectTreeEventManager.notifyListeners(beginDragFunc);
451: }
452: }
453:
454: /* (non-Javadoc)
455: * @see org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventDispatcher#fireMoveDrag(org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeControl, org.netbeans.modules.uml.ui.controls.projecttree.IDataObject, org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeDragVerify, org.netbeans.modules.uml.core.eventframework.IEventPayload)
456: */
457: public void fireMoveDrag(IProjectTreeControl pParentControl,
458: Transferable pItem, IProjectTreeDragVerify pVerify,
459: IEventPayload payload) {
460: ArrayList<Object> collection = new ArrayList<Object>();
461: collection.add(pParentControl);
462: collection.add(pItem);
463: collection.add(pVerify);
464: if (validateEvent("MoveDrag", collection)) {
465: IResultCell cell = prepareResultCell(payload);
466: EventFunctor moveDragFunc = new EventFunctor(
467: "org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventsSink",
468: "onMoveDrag");
469:
470: Object[] parms = new Object[4];
471: parms[0] = pParentControl;
472: parms[1] = pItem;
473: parms[2] = pVerify;
474: parms[3] = cell;
475: moveDragFunc.setParameters(parms);
476: m_ProjectTreeEventManager.notifyListeners(moveDragFunc);
477: }
478: }
479:
480: /* (non-Javadoc)
481: * @see org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventDispatcher#fireEndDrag(org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeControl, org.netbeans.modules.uml.ui.controls.projecttree.IDataObject, org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeDragVerify, org.netbeans.modules.uml.core.eventframework.IEventPayload)
482: */
483: public void fireEndDrag(IProjectTreeControl pParentControl,
484: Transferable pItem, int action,
485: IProjectTreeDragVerify pVerify, IEventPayload payload) {
486: Object actionObject = new Integer(action);
487: ArrayList<Object> collection = new ArrayList<Object>();
488: collection.add(pParentControl);
489: collection.add(pItem);
490: collection.add(actionObject);
491: collection.add(pVerify);
492:
493: if (validateEvent("EndDrag", collection)) {
494: IResultCell cell = prepareResultCell(payload);
495: EventFunctor endDragFunc = new EventFunctor(
496: "org.netbeans.modules.uml.ui.controls.projecttree.IProjectTreeEventsSink",
497: "onEndDrag");
498:
499: Object[] parms = new Object[5];
500: parms[0] = pParentControl;
501: parms[1] = pItem;
502: parms[2] = actionObject;
503: parms[3] = pVerify;
504: parms[4] = cell;
505: endDragFunc.setParameters(parms);
506: m_ProjectTreeEventManager.notifyListeners(endDragFunc);
507: }
508: }
509: }
|