|
Re: Double click to open diagram not working [message #1389391 is a reply to message #1239955] |
Fri, 27 June 2014 18:41 |
Yonglin Lei Messages: 1 Registered: June 2014 |
Junior Member |
|
|
Hi,
I got a similar problem. After double-click the getOpenCommand of OpenDiagramEditPolicy even did not get invoked. Debugging shows that the execution stack is like this:
TacticalStageNameEditPart(GraphicalEditPart).performRequest(Request) line: 1122
SelectEditPartTracker.performOpen() line: 194
SelectEditPartTracker.handleDoubleClick(int) line: 137
SelectEditPartTracker(AbstractTool).mouseDoubleClick(MouseEvent, EditPartViewer) line: 1069
DelegatingDragEditPartsTracker(SelectionTool).mouseDoubleClick(MouseEvent, EditPartViewer) line: 527
SelectionToolEx(SelectionTool).mouseDoubleClick(MouseEvent, EditPartViewer) line: 527
DiagramEditDomain(EditDomain).mouseDoubleClick(MouseEvent, EditPartViewer) line: 231
DomainEventDispatcher.dispatchMouseDoubleClicked(MouseEvent) line: 291
LightweightSystem$EventHandler.mouseDoubleClick(MouseEvent) line: 518
TypedListener.handleEvent(Event) line: 196
EventTable.sendEvent(Event) line: 84
FigureCanvas(Widget).sendEvent(Event) line: 1057
Display.runDeferredEvents() line: 4170
Display.readAndDispatch() line: 3759
PartRenderingEngine$9.run() line: 1113
Realm.runWithDefault(Realm, Runnable) line: 332
PartRenderingEngine.run(MApplicationElement, IEclipseContext) line: 997
E4Workbench.createAndRunUI(MApplicationElement) line: 140
Workbench$5.run() line: 611
In the TacticalStageNameEditPart(GraphicalEditPart).performRequest(Request) method, after statement
EditPart targetEditPart = getTargetEditPart(request);
is executed, the return value is null. Therefore the command was not executed.
Maybe the right execution sequence should be like this, from DomainEventDispatcher.dispatchMouseDoubleClicked:
DomainEventDispatcher.dispatchMouseDoubleClicked(MouseEvent)-->
SWTEventDispatcher.dispatchMouseDoubleClicked(MouseEvent)-->
mouseTarget.handleMouseDoubleClicked(currentEvent)
To make this happen, the variable DomainEventDispatcher.editorCaptured within DomainEventDispatcher.dispatchMouseDoubleClicked method has to be false instead of true. Any help is appreciated.
|
|
|
Powered by
FUDForum. Page generated in 0.02916 seconds