Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » GEF3D » problem about removing intermodel connections in multi-editors
problem about removing intermodel connections in multi-editors [message #665291] Thu, 14 April 2011 07:44 Go to next message
Dennis Chen is currently offline Dennis ChenFriend
Messages: 4
Registered: April 2011
Junior Member
Now I am studying GEF3D, want to develop a multi-editor. when removing intermodel connections between two nodes which come from different diagrams, there will be some errors like this:

at org.eclipse.draw3d.PolylineConnection3D.setTargetAnchor(Poly
at org.eclipse.gef.editparts.AbstractConnectionEditPart.deactiv ateFigure(
at org.eclipse.gef.editparts.AbstractConnectionEditPart.removeN otify(
at org.eclipse.gef.editparts.AbstractConnectionEditPart.setPare nt(
at org.eclipse.gef.editparts.AbstractConnectionEditPart.setTarg et(
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.removeTa rgetConnection(
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refreshT argetConnections(
at hellogef.control.NodePart.propertyChange(
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
at hellogef.model.AbstractModel.fireStructureChange(AbstractMod
at hellogef.model.NodeModel.removeInput(
at hellogef.command.DeleteConnectionCommand.execute(DeleteConne
at org.eclipse.gef.commands.CompoundCommand.execute(CompoundCom
at org.eclipse.gef.commands.CommandStack.execute(CommandStack.j ava:170)
at org.eclipse.gef.ui.actions.WorkbenchPartAction.execute(Workb
at a:125)
at org.eclipse.jface.action.Action.runWithEvent( )
at org.eclipse.jface.commands.ActionHandler.execute(ActionHandl
at org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
at org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(
at org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeComman d(
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEve nt(
at org.eclipse.ui.internal.keys.OutOfOrderListener.handleEvent(
at org.eclipse.swt.widgets.EventTable.sendEvent( :84)
at org.eclipse.swt.widgets.Widget.sendEvent(
at org.eclipse.swt.widgets.Widget.sendEvent(
at org.eclipse.swt.widgets.Widget.sendEvent(
at org.eclipse.swt.widgets.Widget.sendKeyEvent( )
at org.eclipse.swt.widgets.Widget.sendKeyEvent( )
at org.eclipse.swt.widgets.Widget.wmKeyDown(
at org.eclipse.swt.widgets.Control.WM_KEYDOWN( )
at org.eclipse.swt.widgets.Control.windowProc( )
at org.eclipse.swt.widgets.Canvas.windowProc(
at org.eclipse.swt.widgets.Display.windowProc( )
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage( 09)
at org.eclipse.swt.widgets.Display.readAndDispatch( :3471)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2405)
at org.eclipse.ui.internal.Workbench.runUI(
at org.eclipse.ui.internal.Workbench.access$4( 21)
at org.eclipse.ui.internal.Workbench$
at org.eclipse.core.databinding.observable.Realm.runWithDefault (
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start (
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(
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.equinox.launcher.Main.invokeFramework( 559)
at org.eclipse.equinox.launcher.Main.basicRun(
at org.eclipse.equinox.launcher.Main.main(

By error tracing, I found deactivateFigure method in org.eclipse.gef.editparts.AbstractConnectionEditPart class have a line is: getConnectionFigure().setSourceAnchor(null), this method will call setSourceAnchor() method in org.eclipse.draw3d.PolylineConnection3D class:

public void setSourceAnchor(ConnectionAnchor anchor) {
if (anchor == startAnchor) {

// comments added by myself

// if (!(anchor instanceof ConnectionAnchor3D)) {
// if (Figure3DHelper.getAncestor3D(anchor.getOwner()) == null) {
// throw new IllegalArgumentException(
// "Cannot set 2D anchor w/o available 3D owner, you probably"
// + "would subclass your connection edit part from a 3D base class");
// }
// }
// No longer needed, revalidate does this. (original comment)
// getConnectionRouter().invalidate(this); (originally uncommented)
startAnchor = anchor;
if (getParent() != null) {

Only to comment these lines, errors will be disappeared. that means that parameter must not be null. why? And, may I do it like that?
Re: problem about removing intermodel connections in multi-editors [message #665371 is a reply to message #665291] Thu, 14 April 2011 12:57 Go to previous messageGo to next message
Jens von Pilgrim is currently offline Jens von PilgrimFriend
Messages: 297
Registered: July 2009
Senior Member

thank you for the report. I filed a bug report
and fixed it in rev. 562.

Can you confirm it to be fixed?

If you find other issues, feel free to report a bug yourself ;-)

Re: problem about removing intermodel connections in multi-editors [message #665623 is a reply to message #665371] Fri, 15 April 2011 09:59 Go to previous message
Dennis Chen is currently offline Dennis ChenFriend
Messages: 4
Registered: April 2011
Junior Member
Dear Jens,
Now I just developed a sample multi-editor, so by my fixing, I haven't find other errors. If I found some issues, I will report them.
Besides, what is "rev. 562"? I cann't find it?How can I find your fixed file?
I'm very much obliged to you.
Previous Topic:Engilish version of GEF goes 3D Teil2 and Teil3
Next Topic:Is GEF3D needed for Fish Eye view?
Goto Forum:

Current Time: Thu Nov 26 07:12:39 GMT 2015

Powered by FUDForum. Page generated in 0.02468 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software