|  | 
|  | 
|  | 
|  | 
|  | 
|  | 
|  | 
|  | 
| 
| Re: short tutorial: how to synchronize EMF and GMF generated editors [message #81671 is a reply to message #81487] | Wed, 29 November 2006 08:26  |  | 
| Eclipse User  |  |  |  |  | Originally posted by: 5d5.mail.ru 
 I fear that it's caused by current implementation of external labels;
 watch for https://bugs.eclipse.org/bugs/show_bug.cgi?id=164935.
 
 Wiktor wrote:
 > I installed the newest gmf and taipan example from cvs.
 > i can open EMF editor on xx.taipan file
 > and GMF editor on xx.taipan_diagram file
 > at the same time,
 > but when i try to save changes in emf i recieve error(*) in my
 > 'parent-eclipse' console. Then, if I try to switch to GMF editor, its
 > view does not refresh.
 > I have to close, and reopen it.
 >
 > When I save changes in GMF editor, emf editor reloads itself correctly
 >
 > Is it bug or rather my fault?
 >
 >
 > (*) Error from console:
 >
 > Unhandled event loop exception during blocked modal context.
 > org.eclipse.swt.SWTException: Failed to execute runnable
 > (java.lang.IllegalArgumentException: Figure is not a child)
 >     at org.eclipse.swt.SWT.error(SWT.java:3407)
 >     at org.eclipse.swt.SWT.error(SWT.java:3330)
 >     at
 >  org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:126)
 >
 >     at  org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3440)
 >     at  org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3080)
 >     at
 >  org.eclipse.jface.operation.ModalContext$ModalContextThread. block(ModalContext.java:158)
 >
 >     at  org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:326)
 >     at
 >  org.eclipse.jface.dialogs.ProgressMonitorDialog.run(Progress MonitorDialog.java:479)
 >
 >     at
 >  org.eclipse.gmf.examples.taipan.presentation.TaiPanEditor.do Save(TaiPanEditor.java:1403)
 >
 >     at
 >  org.eclipse.ui.internal.SaveableHelper$1.run(SaveableHelper. java:131)
 >     at
 >  org.eclipse.ui.internal.SaveableHelper$4.run(SaveableHelper. java:252)
 >     at
 >  org.eclipse.jface.operation.ModalContext.runInCurrentThread( ModalContext.java:369)
 >
 >     at  org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:313)
 >     at
 >  org.eclipse.jface.window.ApplicationWindow$1.run(Application Window.java:767)
 >
 >     at
 >  org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:67)
 >     at
 >  org.eclipse.jface.window.ApplicationWindow.run(ApplicationWi ndow.java:764)
 >     at
 >  org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow. java:2280)
 >     at
 >  org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOpe ration(SaveableHelper.java:258)
 >
 >     at
 >  org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelp er.java:136)
 >     at
 >  org.eclipse.ui.internal.EditorManager.savePart(EditorManager .java:1384)
 >     at
 >  org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage .java:2971)
 >     at
 >  org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPa ge.java:2984)
 >     at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:67)
 >     at  org.eclipse.jface.action.Action.runWithEvent(Action.java:499 )
 >     at
 >  org.eclipse.jface.commands.ActionHandler.execute(ActionHandl er.java:119)
 >     at
 >  org.eclipse.core.commands.Command.executeWithChecks(Command. java:461)
 >     at
 >  org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:424)
 >
 >     at
 >  org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:160)
 >
 >     at
 >  org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeComman d(WorkbenchKeyboard.java:465)
 >
 >     at
 >  org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(Workben chKeyboard.java:791)
 >
 >     at
 >  org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEve nt(WorkbenchKeyboard.java:838)
 >
 >     at
 >  org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequ enceBindings(WorkbenchKeyboard.java:563)
 >
 >     at
 >  org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(Work benchKeyboard.java:505)
 >
 >     at
 >  org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter .handleEvent(WorkbenchKeyboard.java:122)
 >
 >     at  org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
 >     at  org.eclipse.swt.widgets.Display.filterEvent(Display.java:100 5)
 >     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:924)
 >     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:949)
 >     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:934)
 >     at  org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:962)
 >     at  org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:958)
 >     at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1272)
 >     at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:3468)
 >     at org.eclipse.swt.widgets.Tree.WM_CHAR(Tree.java:4906)
 >     at  org.eclipse.swt.widgets.Control.windowProc(Control.java:3368 )
 >     at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:4902)
 >     at  org.eclipse.swt.widgets.Display.windowProc(Display.java:4145 )
 >     at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
 >     at  org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:19 90)
 >     at  org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3075)
 >     at  org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1924)
 >     at  org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1888)
 >     at
 >  org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:419)
 >     at  org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
 >     at
 >  org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
 >     at
 >  org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
 >
 >     at
 >  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:104)
 >
 >     at
 >  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:74)
 >
 >     at
 >  org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:348)
 >
 >     at
 >  org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:165)
 >
 >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 >     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 >     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 >     at java.lang.reflect.Method.invoke(Unknown Source)
 >     at  org.eclipse.core.launcher.Main.invokeFramework(Main.java:341 )
 >     at org.eclipse.core.launcher.Main.basicRun(Main.java:285)
 >     at org.eclipse.core.launcher.Main.run(Main.java:987)
 >     at org.eclipse.core.launcher.Main.main(Main.java:962)
 > Caused by: java.lang.IllegalArgumentException: Figure is not a child
 >     at org.eclipse.draw2d.Figure.remove(Figure.java:1169)
 >     at  org.eclipse.draw2d.FreeformLayer.remove(FreeformLayer.java:7 8)
 >     at
 >  org.eclipse.gmf.examples.taipan.gmf.editor.edit.parts.PortEd itPart.removeNotify(PortEditPart.java:250)
 >
 >     at
 >  org.eclipse.gef.editparts.AbstractEditPart.removeNotify(Abst ractEditPart.java:873)
 >
 >     at
 >  org.eclipse.gef.editparts.AbstractGraphicalEditPart.removeNo tify(AbstractGraphicalEditPart.java:714)
 >
 >     at
 >  org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.removeNotify(GraphicalEditPart.java:298)
 >
 >     at
 >  org.eclipse.gef.editparts.AbstractEditPart.removeChild(Abstr actEditPart.java:811)
 >
 >     at
 >  org.eclipse.gef.editparts.SimpleRootEditPart.setContents(Sim pleRootEditPart.java:98)
 >
 >     at
 >  org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:583)
 >
 >     at
 >  org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.clear GraphicalViewerContents(DiagramEditor.java:1015)
 >
 >     at
 >  org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.Di agramDocumentEditor.releaseInput(DiagramDocumentEditor.java: 380)
 >
 >     at
 >  org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.Di agramDocumentEditor.handleElementContentAboutToBeReplaced(Di agramDocumentEditor.java:964)
 >
 >     at
 >  org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.Di agramDocumentEditor$ElementStateListener$3.run(DiagramDocume ntEditor.java:1246)
 >
 >     at
 >  org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.Di agramDocumentEditor$ElementStateListener.execute(DiagramDocu mentEditor.java:1407)
 >
 >     at
 >  org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.Di agramDocumentEditor$ElementStateListener.elementContentAbout ToBeReplaced(DiagramDocumentEditor.java:1249)
 >
 >     at
 >  org.eclipse.gmf.runtime.diagram.ui.resources.editor.document .AbstractDocumentProvider.fireElementContentAboutToBeReplace d(AbstractDocumentProvider.java:683)
 >
 >     at
 >  org.eclipse.gmf.examples.taipan.gmf.editor.part.TaiPanDocume ntProvider.handleResourcesChanged(TaiPanDocumentProvider.jav a:453)
 >
 >     at
 >  org.eclipse.gmf.examples.taipan.gmf.editor.part.TaiPanDocume ntProvider$ResourceSetSynchronizer$1.run(TaiPanDocumentProvi der.java:730)
 >
 >     at  org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
 >     at
 >  org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:123)
 >
 >     ... 65 more
 >
 |  |  |  | 
Powered by 
FUDForum. Page generated in 0.17380 seconds