Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » GEF3D » A couple of errors in ..draw3d
A couple of errors in ..draw3d [message #2468] Thu, 28 May 2009 23:04 Go to next message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1340
Registered: July 2009
Senior Member
Ideas?

Description Resource Path Location Type
The type DummyGraphics must implement the inherited abstract method
Graphics.getLineWidthFloat() DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
35 Java Problem
The type DummyGraphics must implement the inherited abstract method
Graphics.setLineMiterLimit(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
35 Java Problem
The type DummyGraphics must implement the inherited abstract method
Graphics.setLineWidthFloat(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
35 Java Problem
The type LogGraphics must implement the inherited abstract method
Graphics.getLineWidthFloat() LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
40 Java Problem
The type LogGraphics must implement the inherited abstract method
Graphics.setLineMiterLimit(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
40 Java Problem
The type LogGraphics must implement the inherited abstract method
Graphics.setLineWidthFloat(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
40 Java Problem
Re: A couple of errors in ..draw3d [message #2504 is a reply to message #2468] Thu, 28 May 2009 23:24 Go to previous messageGo to next message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1340
Registered: July 2009
Senior Member
Same issue in LwjglGraphics. This looks like its actually due to an API
breaking change in GEF 3.5. I'll make the obvious changes and post them
back here.


On 2009-05-28 16:04:58 -0700, Miles Parker <milesparker@gmail.com> said:

>
> Ideas?
>
> Description Resource Path Location Type
> The type DummyGraphics must implement the inherited abstract method
> Graphics.getLineWidthFloat() DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
> 35 Java Problem
> The type DummyGraphics must implement the inherited abstract method
> Graphics.setLineMiterLimit(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
> 35 Java Problem
> The type DummyGraphics must implement the inherited abstract method
> Graphics.setLineWidthFloat(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
> 35 Java Problem
> The type LogGraphics must implement the inherited abstract method
> Graphics.getLineWidthFloat() LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
> 40 Java Problem
> The type LogGraphics must implement the inherited abstract method
> Graphics.setLineMiterLimit(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
> 40 Java Problem
> The type LogGraphics must implement the inherited abstract method
> Graphics.setLineWidthFloat(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
> 40 Java Problem
Re: A couple of errors in ..draw3d [message #2534 is a reply to message #2504] Thu, 28 May 2009 23:38 Go to previous messageGo to next message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1340
Registered: July 2009
Senior Member
OK, I added these lines to each of the three bad files:


public float getLineWidthFloat() {
return getLineWidth();
}

public void setLineMiterLimit(float miterLimit) {
// ignored
}

public void setLineWidthFloat(float width) {
// ignored
}

Now the diaSample works (it draws noise at first but on resize it
works) but for the others I get:

java.lang.RuntimeException: The class: class
org.eclipse.draw3d.graphics3d.lwjgl.graphics.LwjglGraphics has not
implemented this new graphics function
at org.eclipse.draw2d.Graphics.throwNotImplemented(Graphics.jav a:993)
at org.eclipse.draw2d.Graphics.setAntialias(Graphics.java:798)
at org.eclipse.draw2d.Shape.paintFigure(Shape.java:94)
at org.eclipse.draw2d.Figure.paint(Figure.java:1049)
at
org.eclipse.gef3d.examples.graph.editor.figures.EdgeFigure2D .paint(EdgeFigure2D.java:44)
at

org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
at org.eclipse.draw2d.ConnectionLayer.paint(ConnectionLayer.jav a:64)
at org.eclipse.draw3d.Figure3DHelper.paintChildren2D(Figure3DHe lper.java:571)
at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:478)
at org.eclipse.draw3d.Figure3D.paintChildren(Figure3D.java:502)
at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
at org.eclipse.draw3d.Figure3D.paint(Figure3D.java:479)
at org.eclipse.draw3d.Figure3DHelper.paintChildren3D(Figure3DHe lper.java:599)
at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:479)
at org.eclipse.draw3d.Figure3D.paintChildren(Figure3D.java:502)
at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
at org.eclipse.draw3d.Figure3D.paint(Figure3D.java:479)
at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
at
org.eclipse.gef3d.editparts.ScalableFreeformRootEditPart3D$1 .paint(ScalableFreeformRootEditPart3D.java:47)
at

org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at
org.eclipse.draw2d.ScalableFreeformLayeredPane.paintClientAr ea(ScalableFreeformLayeredPane.java:61)
at

org.eclipse.draw2d.Figure.paint(Figure.java:1051)
at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
at org.eclipse.draw2d.Viewport.paintClientArea(Viewport.java:15 6)
at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
at org.eclipse.draw3d.Figure3DHelper.paintChildren2D(Figure3DHe lper.java:555)
at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:478)
at
org.eclipse.draw3d.LightweightSystem3D$RootFigure3D.paintChi ldren(LightweightSystem3D.java:437)
at

org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at
org.eclipse.draw3d.LightweightSystem3D$RootFigure3D.paint(Li ghtweightSystem3D.java:408)
at

org.eclipse.draw2d.DeferredUpdateManager.repairDamage(Deferr edUpdateManager.java:294)
at

org.eclipse.draw3d.DeferredUpdateManager3D.repairDamage(Defe rredUpdateManager3D.java:60)
at

org.eclipse.draw3d.PickingUpdateManager3D.repairDamage(Picki ngUpdateManager3D.java:75)
at

org.eclipse.draw2d.DeferredUpdateManager.performUpdate(Defer redUpdateManager.java:181)
at

org.eclipse.gef3d.ui.parts.GraphicalViewer3DImpl.render(Grap hicalViewer3DImpl.java:159)
at

org.eclipse.gef3d.preferences.ScenePreferenceListener.start( ScenePreferenceListener.java:138)
at

org.eclipse.gef3d.ui.parts.GraphicalEditor3DWithPalette.doRe gisterToScene(GraphicalEditor3DWithPalette.java:84)
at

org.eclipse.gef3d.ui.parts.GraphicalEditor3DWithPalette.crea teGraphicalViewer(GraphicalEditor3DWithPalette.java:72)
at

org.eclipse.gef.ui.parts.GraphicalEditorWithPalette.createPa rtControl(GraphicalEditorWithPalette.java:62)
at

org.eclipse.ui.internal.EditorReference.createPartHelper(Edi torReference.java:662)
at

org.eclipse.ui.internal.EditorReference.createPart(EditorRef erence.java:462)
at
org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:595)
at

org.eclipse.ui.internal.EditorReference.getEditor(EditorRefe rence.java:286)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2857)
at

org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2762)
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPag e.java:2754)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.j ava:2705)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2701)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2685)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2676)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
at
org.eclipse.ui.wizards.newresource.BasicNewFileResourceWizar d.performFinish(BasicNewFileResourceWizard.java:111)
at

org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDi alog.java:752)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDi alog.java:373)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3544)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1246)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1269)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1254)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1 075)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3442)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3101)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
at org.eclipse.jface.window.Window.open(Window.java:801)
at
org.eclipse.ui.internal.actions.NewWizardShortcutAction.run( NewWizardShortcutAction.java:135)
at

org.eclipse.jface.action.Action.runWithEvent(Action.java:498 )
at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:584)
at

org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:501)
at

org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
at

org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3544)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1246)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1269)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1254)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1 075)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3442)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3101)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:22 21)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:332)
at

org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
at

org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:194)
at

org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at

org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at

org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:368)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at

java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
at org.eclipse.equinox.launcher.Main.main(Main.java:1287)


On 2009-05-28 16:24:19 -0700, Miles Parker <milesparker@gmail.com> said:

>
> Same issue in LwjglGraphics. This looks like its actually due to an API
> breaking change in GEF 3.5. I'll make the obvious changes and post them
> back here.
>
>
> On 2009-05-28 16:04:58 -0700, Miles Parker <milesparker@gmail.com> said:
>
>>
>> Ideas?
>>
>> Description Resource Path Location Type
>> The type DummyGraphics must implement the inherited abstract method
>> Graphics.getLineWidthFloat() DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>> 35 Java Problem
>> The type DummyGraphics must implement the inherited abstract method
>> Graphics.setLineMiterLimit(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>> 35 Java Problem
>> The type DummyGraphics must implement the inherited abstract method
>> Graphics.setLineWidthFloat(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>> 35 Java Problem
>> The type LogGraphics must implement the inherited abstract method
>> Graphics.getLineWidthFloat() LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>> 40 Java Problem
>> The type LogGraphics must implement the inherited abstract method
>> Graphics.setLineMiterLimit(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>> 40 Java Problem
>> The type LogGraphics must implement the inherited abstract method
>> Graphics.setLineWidthFloat(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>> 40 Java Problem
Re: A couple of errors in ..draw3d [message #2622 is a reply to message #2534] Fri, 29 May 2009 20:41 Go to previous messageGo to next message
Jens von Pilgrim is currently offline Jens von PilgrimFriend
Messages: 295
Registered: July 2009
Senior Member
Hi Miles,

yes, there were indeed some changes with GEF 2.5, some methods were
added to the Graphics interface. I will ask Kristian about that
problem, he has implemented the GEF3D Graphics implementation.

Cheers

Jens

On 2009-05-29 01:38:01 +0200, Miles Parker <milesparker@gmail.com> said:

> OK, I added these lines to each of the three bad files:
>
>
> public float getLineWidthFloat() {
> return getLineWidth();
> }
>
> public void setLineMiterLimit(float miterLimit) {
> // ignored
> }
>
> public void setLineWidthFloat(float width) {
> // ignored
> }
>
> Now the diaSample works (it draws noise at first but on resize it
> works) but for the others I get:
>
> java.lang.RuntimeException: The class: class
> org.eclipse.draw3d.graphics3d.lwjgl.graphics.LwjglGraphics has not
> implemented this new graphics function
> at org.eclipse.draw2d.Graphics.throwNotImplemented(Graphics.jav a:993)
> at org.eclipse.draw2d.Graphics.setAntialias(Graphics.java:798)
> at org.eclipse.draw2d.Shape.paintFigure(Shape.java:94)
> at org.eclipse.draw2d.Figure.paint(Figure.java:1049)
> at
> org.eclipse.gef3d.examples.graph.editor.figures.EdgeFigure2D .paint(EdgeFigure2D.java:44)
at
org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at
>
> org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
> at org.eclipse.draw2d.ConnectionLayer.paint(ConnectionLayer.jav a:64)
> at org.eclipse.draw3d.Figure3DHelper.paintChildren2D(Figure3DHe lper.java:571)
> at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:478)
> at org.eclipse.draw3d.Figure3D.paintChildren(Figure3D.java:502)
> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
> at org.eclipse.draw3d.Figure3D.paint(Figure3D.java:479)
> at org.eclipse.draw3d.Figure3DHelper.paintChildren3D(Figure3DHe lper.java:599)
> at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:479)
> at org.eclipse.draw3d.Figure3D.paintChildren(Figure3D.java:502)
> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
> at org.eclipse.draw3d.Figure3D.paint(Figure3D.java:479)
> at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
> at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
> at
> org.eclipse.gef3d.editparts.ScalableFreeformRootEditPart3D$1 .paint(ScalableFreeformRootEditPart3D.java:47)
at
org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at
>
> org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
> at
> org.eclipse.draw2d.ScalableFreeformLayeredPane.paintClientAr ea(ScalableFreeformLayeredPane.java:61)
at
org.eclipse.draw2d.Figure.paint(Figure.java:1051)
at
>
> org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
> at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
> at org.eclipse.draw2d.Viewport.paintClientArea(Viewport.java:15 6)
> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
> at org.eclipse.draw3d.Figure3DHelper.paintChildren2D(Figure3DHe lper.java:555)
> at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:478)
> at
> org.eclipse.draw3d.LightweightSystem3D$RootFigure3D.paintChi ldren(LightweightSystem3D.java:437)
at
org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at
>
> org.eclipse.draw3d.LightweightSystem3D$RootFigure3D.paint(Li ghtweightSystem3D.java:408)
at
org.eclipse.draw2d.DeferredUpdateManager.repairDamage(Deferr edUpdateManager.java:294)
at
org.eclipse.draw3d.DeferredUpdateManager3D.repairDamage(Defe rredUpdateManager3D.java:60)
at
org.eclipse.draw3d.PickingUpdateManager3D.repairDamage(Picki ngUpdateManager3D.java:75)
at
org.eclipse.draw2d.DeferredUpdateManager.performUpdate(Defer redUpdateManager.java:181)
at
org.eclipse.gef3d.ui.parts.GraphicalViewer3DImpl.render(Grap hicalViewer3DImpl.java:159)
at
org.eclipse.gef3d.preferences.ScenePreferenceListener.start( ScenePreferenceListener.java:138)
at
org.eclipse.gef3d.ui.parts.GraphicalEditor3DWithPalette.doRe gisterToScene(GraphicalEditor3DWithPalette.java:84)
at
org.eclipse.gef3d.ui.parts.GraphicalEditor3DWithPalette.crea teGraphicalViewer(GraphicalEditor3DWithPalette.java:72)
at
org.eclipse.gef.ui.parts.GraphicalEditorWithPalette.createPa rtControl(GraphicalEditorWithPalette.java:62)
at
org.eclipse.ui.internal.EditorReference.createPartHelper(Edi torReference.java:662)
at
org.eclipse.ui.internal.EditorReference.createPart(EditorRef erence.java:462)
at
>
> org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:595)
at
org.eclipse.ui.internal.EditorReference.getEditor(EditorRefe rence.java:286)
at
>
> org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2857)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2762)
at
>
> org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPag e.java:2754)
> at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.j ava:2705)
> at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
> at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2701)
> at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2685)
> at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2676)
> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651)
> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
> at
> org.eclipse.ui.wizards.newresource.BasicNewFileResourceWizar d.performFinish(BasicNewFileResourceWizard.java:111)
at
org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDi alog.java:752)
at
>
> org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDi alog.java:373)
> at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
> at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
> at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3544)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1246)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1269)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1254)
> at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1 075)
> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3442)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3101)
> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
> at org.eclipse.jface.window.Window.open(Window.java:801)
> at
> org.eclipse.ui.internal.actions.NewWizardShortcutAction.run( NewWizardShortcutAction.java:135)
at
org.eclipse.jface.action.Action.runWithEvent(Action.java:498 )
at
>
> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:584)
at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:501)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
at
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
at
>
> org.eclipse.swt.widgets.Display.sendEvent(Display.java:3544)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1246)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1269)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1254)
> at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1 075)
> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3442)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3101)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2405)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:22 21)
> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:332)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:493)
at
>
> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
> at
> org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:194)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:368)
at
>
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at
java.lang.reflect.Method.invoke(Method.java:597)
at
>
> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 559)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
>
>
> On 2009-05-28 16:24:19 -0700, Miles Parker <milesparker@gmail.com> said:
>
>>
>> Same issue in LwjglGraphics. This looks like its actually due to an API
>> breaking change in GEF 3.5. I'll make the obvious changes and post them
>> back here.
>>
>>
>> On 2009-05-28 16:04:58 -0700, Miles Parker <milesparker@gmail.com> said:
>>
>>>
>>> Ideas?
>>>
>>> Description Resource Path Location Type
>>> The type DummyGraphics must implement the inherited abstract method
>>> Graphics.getLineWidthFloat() DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>>> 35 Java Problem
>>> The type DummyGraphics must implement the inherited abstract method
>>> Graphics.setLineMiterLimit(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>>> 35 Java Problem
>>> The type DummyGraphics must implement the inherited abstract method
>>> Graphics.setLineWidthFloat(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>>> 35 Java Problem
>>> The type LogGraphics must implement the inherited abstract method
>>> Graphics.getLineWidthFloat() LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>>> 40 Java Problem
>>> The type LogGraphics must implement the inherited abstract method
>>> Graphics.setLineMiterLimit(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>>> 40 Java Problem
>>> The type LogGraphics must implement the inherited abstract method
>>> Graphics.setLineWidthFloat(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>>> 40 Java Problem
Re: A couple of errors in ..draw3d [message #2651 is a reply to message #2534] Fri, 29 May 2009 21:57 Go to previous messageGo to next message
Kristian Duske is currently offline Kristian DuskeFriend
Messages: 64
Registered: July 2009
Member
Hello Miles,

we are not using Galileo yet, so the six methods you mentioned in your
original post are not implemented in GEF3D. I suggest you either
implement them yourself or wait until we do it. Either way, there are
some methods in the Graphics class that we do not support properly yet.
I have just committed a new version of LWJGLGraphics that has support
for some of those methods (mostly setters that will be ignored now).
Those methods that still throw an exception are now documented in the
class javadoc.

I suggest you update to the latest revision and have a look. I hope
this helps get GEF3D to run for you. If you have any further problems,
let us know.

Best regards
Kristian
Re: A couple of errors in ..draw3d [message #2706 is a reply to message #2622] Fri, 29 May 2009 22:26 Go to previous messageGo to next message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1340
Registered: July 2009
Senior Member
Cool. One more change I needed. In both Lwjgl (awkward name!) and
DummyGraphics, he'll need to do something like:


public void setAntialias(int value) {
}

public void setLineAttributes(LineAttributes attributes) {
}


To avoid a graphics exception.

On 2009-05-29 13:41:52 -0700, Jens v.P. <developer@jevopi.de> said:

> Hi Miles,
>
> yes, there were indeed some changes with GEF 2.5, some methods were
> added to the Graphics interface. I will ask Kristian about that
> problem, he has implemented the GEF3D Graphics implementation.
>
> Cheers
>
> Jens
>
> On 2009-05-29 01:38:01 +0200, Miles Parker <milesparker@gmail.com> said:
>
>> OK, I added these lines to each of the three bad files:
>>
>>
>> public float getLineWidthFloat() {
>> return getLineWidth();
>> }
>>
>> public void setLineMiterLimit(float miterLimit) {
>> // ignored
>> }
>>
>> public void setLineWidthFloat(float width) {
>> // ignored
>> }
>>
>> Now the diaSample works (it draws noise at first but on resize it
>> works) but for the others I get:
>>
>> java.lang.RuntimeException: The class: class
>> org.eclipse.draw3d.graphics3d.lwjgl.graphics.LwjglGraphics has not
>> implemented this new graphics function
>> at org.eclipse.draw2d.Graphics.throwNotImplemented(Graphics.jav a:993)
>> at org.eclipse.draw2d.Graphics.setAntialias(Graphics.java:798)
>> at org.eclipse.draw2d.Shape.paintFigure(Shape.java:94)
>> at org.eclipse.draw2d.Figure.paint(Figure.java:1049)
>> at
>> org.eclipse.gef3d.examples.graph.editor.figures.EdgeFigure2D .paint(EdgeFigure2D.java:44)
at
org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at

org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at
>>
>> org.eclipse.draw2d.Figure.paint(Figure.java:1051)
>> at org.eclipse.draw2d.ConnectionLayer.paint(ConnectionLayer.jav a:64)
>> at org.eclipse.draw3d.Figure3DHelper.paintChildren2D(Figure3DHe lper.java:571)
>> at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:478)
>> at org.eclipse.draw3d.Figure3D.paintChildren(Figure3D.java:502)
>> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
>> at org.eclipse.draw3d.Figure3D.paint(Figure3D.java:479)
>> at org.eclipse.draw3d.Figure3DHelper.paintChildren3D(Figure3DHe lper.java:599)
>> at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:479)
>> at org.eclipse.draw3d.Figure3D.paintChildren(Figure3D.java:502)
>> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
>> at org.eclipse.draw3d.Figure3D.paint(Figure3D.java:479)
>> at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
>> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
>> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
>> at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
>> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
>> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
>> at
>> org.eclipse.gef3d.editparts.ScalableFreeformRootEditPart3D$1 .paint(ScalableFreeformRootEditPart3D.java:47)
at
org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at

org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at
>>
>> org.eclipse.draw2d.ScalableFreeformLayeredPane.paintClientAr ea(ScalableFreeformLayeredPane.java:61)
at
org.eclipse.draw2d.Figure.paint(Figure.java:1051)
at

org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at
>>
>> org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
>> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
>> at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
>> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
>> at org.eclipse.draw2d.Viewport.paintClientArea(Viewport.java:15 6)
>> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
>> at org.eclipse.draw3d.Figure3DHelper.paintChildren2D(Figure3DHe lper.java:555)
>> at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:478)
>> at
>> org.eclipse.draw3d.LightweightSystem3D$RootFigure3D.paintChi ldren(LightweightSystem3D.java:437)
at
org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at

org.eclipse.draw3d.LightweightSystem3D$RootFigure3D.paint(Li ghtweightSystem3D.java:408)
at
org.eclipse.draw2d.DeferredUpdateManager.repairDamage(Deferr edUpdateManager.java:294)
at
org.eclipse.draw3d.DeferredUpdateManager3D.repairDamage(Defe rredUpdateManager3D.java:60)
at
org.eclipse.draw3d.PickingUpdateManager3D.repairDamage(Picki ngUpdateManager3D.java:75)
at
org.eclipse.draw2d.DeferredUpdateManager.performUpdate(Defer redUpdateManager.java:181)
at
org.eclipse.gef3d.ui.parts.GraphicalViewer3DImpl.render(Grap hicalViewer3DImpl.java:159)
at
org.eclipse.gef3d.preferences.ScenePreferenceListener.start( ScenePreferenceListener.java:138)
at
org.eclipse.gef3d.ui.parts.GraphicalEditor3DWithPalette.doRe gisterToScene(GraphicalEditor3DWithPalette.java:84)
at
org.eclipse.gef3d.ui.parts.GraphicalEditor3DWithPalette.crea teGraphicalViewer(GraphicalEditor3DWithPalette.java:72)
at
org.eclipse.gef.ui.parts.GraphicalEditorWithPalette.createPa rtControl(GraphicalEditorWithPalette.java:62)
at
org.eclipse.ui.internal.EditorReference.createPartHelper(Edi torReference.java:662)
at
org.eclipse.ui.internal.EditorReference.createPart(EditorRef erence.java:462)
at

org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:595)
at
org.eclipse.ui.internal.EditorReference.getEditor(EditorRefe rence.java:286)
at

org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2857)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2762)
at

org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPag e.java:2754)
at
>>
>> org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.j ava:2705)
>> at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>> at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2701)
>> at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2685)
>> at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2676)
>> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651)
>> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
>> at
>> org.eclipse.ui.wizards.newresource.BasicNewFileResourceWizar d.performFinish(BasicNewFileResourceWizard.java:111)
at
org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDi alog.java:752)
at

org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDi alog.java:373)
at
>>
>> org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
>> at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
>> at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3544)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1246)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1269)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1254)
>> at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1 075)
>> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3442)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3101)
>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
>> at org.eclipse.jface.window.Window.open(Window.java:801)
>> at
>> org.eclipse.ui.internal.actions.NewWizardShortcutAction.run( NewWizardShortcutAction.java:135)
at
org.eclipse.jface.action.Action.runWithEvent(Action.java:498 )
at

org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:584)
at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:501)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
at
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
at

org.eclipse.swt.widgets.Display.sendEvent(Display.java:3544)
at
>>
>> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1246)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1269)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1254)
>> at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1 075)
>> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3442)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3101)
>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2405)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:22 21)
>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
>> at
>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:332)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:493)
at

org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at
>>
>> org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:194)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:368)
at

org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>
>> Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at
java.lang.reflect.Method.invoke(Method.java:597)
at

org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 559)
at
>>
>> org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
>> at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
>>
>>
>> On 2009-05-28 16:24:19 -0700, Miles Parker <milesparker@gmail.com> said:
>>
>>>
>>> Same issue in LwjglGraphics. This looks like its actually due to an API
>>> breaking change in GEF 3.5. I'll make the obvious changes and post them
>>> back here.
>>>
>>>
>>> On 2009-05-28 16:04:58 -0700, Miles Parker <milesparker@gmail.com> said:
>>>
>>>>
>>>> Ideas?
>>>>
>>>> Description Resource Path Location Type
>>>> The type DummyGraphics must implement the inherited abstract method
>>>> Graphics.getLineWidthFloat() DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>>>> 35 Java Problem
>>>> The type DummyGraphics must implement the inherited abstract method
>>>> Graphics.setLineMiterLimit(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>>>> 35 Java Problem
>>>> The type DummyGraphics must implement the inherited abstract method
>>>> Graphics.setLineWidthFloat(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>>>> 35 Java Problem
>>>> The type LogGraphics must implement the inherited abstract method
>>>> Graphics.getLineWidthFloat() LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>>>> 40 Java Problem
>>>> The type LogGraphics must implement the inherited abstract method
>>>> Graphics.setLineMiterLimit(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>>>> 40 Java Problem
>>>> The type LogGraphics must implement the inherited abstract method
>>>> Graphics.setLineWidthFloat(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>>>> 40 Java Problem
Re: A couple of errors in ..draw3d [message #3751 is a reply to message #2651] Fri, 29 May 2009 23:09 Go to previous messageGo to next message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1340
Registered: July 2009
Senior Member
On 2009-05-29 14:57:08 -0700, Kristian Duske
<kristian.duske@fernuni-hagen.de> said:

> Hello Miles,
>
> we are not using Galileo yet, so the six methods you mentioned in your
> original post are not implemented in GEF3D. I suggest you either
> implement them yourself or wait until we do it. Either way, there are
> some methods in the Graphics class that we do not support properly yet.
> I have just committed a new version of LWJGLGraphics that has support
> for some of those methods (mostly setters that will be ignored now).
> Those methods that still throw an exception are now documented in the
> class javadoc.
>
> I suggest you update to the latest revision and have a look. I hope
> this helps get GEF3D to run for you. If you have any further problems,
> let us know.
>
> Best regards
> Kristian

Thanks Kristian, I just updated. FWIW, I had already put these quick fixes in:

LwjglGraphics.

public float getLineWidthFloat() {
return getLineWidth();
}

public void setLineWidthFloat(float width) {
setLineWidth((int) width);
}

public void setLineMiterLimit(float miterLimit) {
}

public void setLineAttributes(LineAttributes attributes) {
// avoid not implemented exception
}

public void setForegroundPattern(Pattern pattern) {
// avoid not implemented exception
}

public void setLineCap(int cap) {
// avoid not implemented exception
}

public void setLineDash(float[] value) {
// avoid not implemented exception
}

DummyGraphics and LogGraphics


public float getLineWidthFloat() {
return getLineWidth();
}

public void setLineWidthFloat(float width) {
setLineWidth((int) width);
}

public void setLineMiterLimit(float miterLimit) {
}

public void setLineAttributes(LineAttributes attributes) {
// avoid not implemented exception
}

public void setLineDash(float[] value) {
// avoid not implemented exception
}


They should be backward compatible I'd think.. :)
Re: A couple of errors in ..draw3d [message #3768 is a reply to message #3751] Sat, 30 May 2009 08:11 Go to previous messageGo to next message
Kristian Duske is currently offline Kristian DuskeFriend
Messages: 64
Registered: July 2009
Member
Hi Miles,

> Thanks Kristian, I just updated. FWIW, I had already put these quick fixes in:

That should work. I will switch to Galileo soon and then I'll take a
stab at properly implementing those methods and the rest of the missing
features.

Did you run into any other problems?

Best regards
Kristian
Re: A couple of errors in ..draw3d [message #3795 is a reply to message #3751] Sun, 31 May 2009 12:45 Go to previous messageGo to next message
Kristian Duske is currently offline Kristian DuskeFriend
Messages: 64
Registered: July 2009
Member
Hi again,

I just implemented some of the missing advanced graphics functions on
DummyGraphics, LogGraphics and LwjglGraphics. The remaining
unimplemented functions are

Graphics#drawPath(org.eclipse.swt.graphics.Path)
Graphics#drawText(String, org.eclipse.draw2d.geometry.Point, int)
Graphics#drawText(String, int, int, int)
Graphics#drawTextLayout(org.eclipse.swt.graphics.TextLayout, int, int)
Graphics#drawTextLayout(org.eclipse.swt.graphics.TextLayout, int, int, int,
int, Color, Color)
Graphics#fillPath(org.eclipse.swt.graphics.Path)
Graphics#setClip(org.eclipse.swt.graphics.Path)

These functions make use of platform dependent resources (Path,
TextLayout, Pattern) and are not trivial to implement. I am not sure if
it is possible at all to implement this functionality without changing
the clients of Graphics as well, because I don't see how I can access
the information contained in the platform dependent resources in a
platform independent way.

The only way I see right now would be to subclass Path, TextLayout and
Pattern and write implementations that can use GL to emulate this
functionality, but as I stated above, this would require modifying
client code. Another way would be to get the SWT team interested in
GLGraphics and add GL implementations of those classes to SWT directly.
But even then, I'd have to implement a lot of this functionality by
hand. For example, GL doesn't support paths as clipping regions (only
planes can be used and paths can contain arcs and curves) - I'd have to
write the clipping code for clipping paths by hand.

I hope for now that no existing GEF editor uses these features so that
we won't need to implement them for a while.

Best regards
Kristian
Re: A couple of errors in ..draw3d [message #3809 is a reply to message #3768] Sun, 31 May 2009 20:19 Go to previous messageGo to next message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1340
Registered: July 2009
Senior Member
On 2009-05-30 01:11:48 -0700, Kristian Duske
<kristian.duske@fernuni-hagen.de> said:

> Hi Miles,
>
>> Thanks Kristian, I just updated. FWIW, I had already put these quick fixes in:
>
> That should work. I will switch to Galileo soon and then I'll take a
> stab at properly implementing those methods and the rest of the missing
> features.
>
> Did you run into any other problems?
>
> Best regards
> Kristian

Just general issues with rendering which are probably down to some kind
of eclipse upate issues. For xampel, when I first open a diagram its
all noise; as soon as I force a re-render by rezizing it looks fine.
And I am often getting into a state where the workbench is completely
messed up -- views are redrawn properly, etc.. but I think this is
because I've stolen the SWT /rendering thread somewhere in my model ->
view updating code. I'm still figuring out how to do the updates in a
nice fail-safe way.
Re: A couple of errors in ..draw3d [message #3830 is a reply to message #3809] Mon, 01 June 2009 11:57 Go to previous messageGo to next message
Kristian Duske is currently offline Kristian DuskeFriend
Messages: 64
Registered: July 2009
Member
Hello Miles,

> Just general issues with rendering which are probably down to some kind
> of eclipse upate issues. For xampel, when I first open a diagram its
> all noise; as soon as I force a re-render by rezizing it looks fine.
> And I am often getting into a state where the workbench is completely
> messed up -- views are redrawn properly, etc.. but I think this is
> because I've stolen the SWT /rendering thread somewhere in my model ->
> view updating code. I'm still figuring out how to do the updates in a
> nice fail-safe way.

Would you mind filing a bug for the garbled display (noise) problem in
our bugzilla, which you can find on this page:

http://www.eclipse.org/projects/project_summary.php?projecti d=technology.gef3d

Please attach a screenshot and, very important, the following information:

Operating System (if Windows, which SPs are installed, if Linux, which
kernel version)
Video hardware (Manufacturer, model, version)
Video driver (Custom or from manufacturer, version)

Maybe I can reproduce the problem and fix it.

Regarding updates, I plan on looking into the update manager and update
mechanism in general myself as well. I think there are some problems
hidden in that code, too. If you find anything, please let us know.

Regards
Kristian
Re: A couple of errors in ..draw3d [message #3837 is a reply to message #3830] Mon, 01 June 2009 16:58 Go to previous message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1340
Registered: July 2009
Senior Member
Will do!

On 2009-06-01 04:57:47 -0700, Kristian Duske
<kristian.duske@fernuni-hagen.de> said:

> Hello Miles,
>
>> Just general issues with rendering which are probably down to some kind
>> of eclipse upate issues. For xampel, when I first open a diagram its
>> all noise; as soon as I force a re-render by rezizing it looks fine.
>> And I am often getting into a state where the workbench is completely
>> messed up -- views are redrawn properly, etc.. but I think this is
>> because I've stolen the SWT /rendering thread somewhere in my model ->
>> view updating code. I'm still figuring out how to do the updates in a
>> nice fail-safe way.
>
> Would you mind filing a bug for the garbled display (noise) problem in
> our bugzilla, which you can find on this page:
>
> http://www.eclipse.org/projects/project_summary.php?projecti d=technology.gef3d
>
> Please attach a screenshot and, very important, the following information:
>
> Operating System (if Windows, which SPs are installed, if Linux, which
> kernel version)
> Video hardware (Manufacturer, model, version)
> Video driver (Custom or from manufacturer, version)
>
> Maybe I can reproduce the problem and fix it.
>
> Regarding updates, I plan on looking into the update manager and update
> mechanism in general myself as well. I think there are some problems
> hidden in that code, too. If you find anything, please let us know.
>
> Regards
> Kristian
Re: A couple of errors in ..draw3d [message #561331 is a reply to message #2468] Thu, 28 May 2009 23:24 Go to previous message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1340
Registered: July 2009
Senior Member
Same issue in LwjglGraphics. This looks like its actually due to an API
breaking change in GEF 3.5. I'll make the obvious changes and post them
back here.


On 2009-05-28 16:04:58 -0700, Miles Parker <milesparker@gmail.com> said:

>
> Ideas?
>
> Description Resource Path Location Type
> The type DummyGraphics must implement the inherited abstract method
> Graphics.getLineWidthFloat() DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
> 35 Java Problem
> The type DummyGraphics must implement the inherited abstract method
> Graphics.setLineMiterLimit(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
> 35 Java Problem
> The type DummyGraphics must implement the inherited abstract method
> Graphics.setLineWidthFloat(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
> 35 Java Problem
> The type LogGraphics must implement the inherited abstract method
> Graphics.getLineWidthFloat() LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
> 40 Java Problem
> The type LogGraphics must implement the inherited abstract method
> Graphics.setLineMiterLimit(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
> 40 Java Problem
> The type LogGraphics must implement the inherited abstract method
> Graphics.setLineWidthFloat(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
> 40 Java Problem
Re: A couple of errors in ..draw3d [message #561349 is a reply to message #2504] Thu, 28 May 2009 23:38 Go to previous message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1340
Registered: July 2009
Senior Member
OK, I added these lines to each of the three bad files:


public float getLineWidthFloat() {
return getLineWidth();
}

public void setLineMiterLimit(float miterLimit) {
// ignored
}

public void setLineWidthFloat(float width) {
// ignored
}

Now the diaSample works (it draws noise at first but on resize it
works) but for the others I get:

java.lang.RuntimeException: The class: class
org.eclipse.draw3d.graphics3d.lwjgl.graphics.LwjglGraphics has not
implemented this new graphics function
at org.eclipse.draw2d.Graphics.throwNotImplemented(Graphics.jav a:993)
at org.eclipse.draw2d.Graphics.setAntialias(Graphics.java:798)
at org.eclipse.draw2d.Shape.paintFigure(Shape.java:94)
at org.eclipse.draw2d.Figure.paint(Figure.java:1049)
at
org.eclipse.gef3d.examples.graph.editor.figures.EdgeFigure2D .paint(EdgeFigure2D.java:44)
at

org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
at org.eclipse.draw2d.ConnectionLayer.paint(ConnectionLayer.jav a:64)
at org.eclipse.draw3d.Figure3DHelper.paintChildren2D(Figure3DHe lper.java:571)
at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:478)
at org.eclipse.draw3d.Figure3D.paintChildren(Figure3D.java:502)
at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
at org.eclipse.draw3d.Figure3D.paint(Figure3D.java:479)
at org.eclipse.draw3d.Figure3DHelper.paintChildren3D(Figure3DHe lper.java:599)
at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:479)
at org.eclipse.draw3d.Figure3D.paintChildren(Figure3D.java:502)
at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
at org.eclipse.draw3d.Figure3D.paint(Figure3D.java:479)
at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
at
org.eclipse.gef3d.editparts.ScalableFreeformRootEditPart3D$1 .paint(ScalableFreeformRootEditPart3D.java:47)
at

org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at
org.eclipse.draw2d.ScalableFreeformLayeredPane.paintClientAr ea(ScalableFreeformLayeredPane.java:61)
at

org.eclipse.draw2d.Figure.paint(Figure.java:1051)
at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
at org.eclipse.draw2d.Viewport.paintClientArea(Viewport.java:15 6)
at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
at org.eclipse.draw3d.Figure3DHelper.paintChildren2D(Figure3DHe lper.java:555)
at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:478)
at
org.eclipse.draw3d.LightweightSystem3D$RootFigure3D.paintChi ldren(LightweightSystem3D.java:437)
at

org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at
org.eclipse.draw3d.LightweightSystem3D$RootFigure3D.paint(Li ghtweightSystem3D.java:408)
at

org.eclipse.draw2d.DeferredUpdateManager.repairDamage(Deferr edUpdateManager.java:294)
at

org.eclipse.draw3d.DeferredUpdateManager3D.repairDamage(Defe rredUpdateManager3D.java:60)
at

org.eclipse.draw3d.PickingUpdateManager3D.repairDamage(Picki ngUpdateManager3D.java:75)
at

org.eclipse.draw2d.DeferredUpdateManager.performUpdate(Defer redUpdateManager.java:181)
at

org.eclipse.gef3d.ui.parts.GraphicalViewer3DImpl.render(Grap hicalViewer3DImpl.java:159)
at

org.eclipse.gef3d.preferences.ScenePreferenceListener.start( ScenePreferenceListener.java:138)
at

org.eclipse.gef3d.ui.parts.GraphicalEditor3DWithPalette.doRe gisterToScene(GraphicalEditor3DWithPalette.java:84)
at

org.eclipse.gef3d.ui.parts.GraphicalEditor3DWithPalette.crea teGraphicalViewer(GraphicalEditor3DWithPalette.java:72)
at

org.eclipse.gef.ui.parts.GraphicalEditorWithPalette.createPa rtControl(GraphicalEditorWithPalette.java:62)
at

org.eclipse.ui.internal.EditorReference.createPartHelper(Edi torReference.java:662)
at

org.eclipse.ui.internal.EditorReference.createPart(EditorRef erence.java:462)
at
org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:595)
at

org.eclipse.ui.internal.EditorReference.getEditor(EditorRefe rence.java:286)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2857)
at

org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2762)
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPag e.java:2754)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.j ava:2705)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2701)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2685)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2676)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
at
org.eclipse.ui.wizards.newresource.BasicNewFileResourceWizar d.performFinish(BasicNewFileResourceWizard.java:111)
at

org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDi alog.java:752)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDi alog.java:373)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3544)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1246)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1269)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1254)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1 075)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3442)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3101)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
at org.eclipse.jface.window.Window.open(Window.java:801)
at
org.eclipse.ui.internal.actions.NewWizardShortcutAction.run( NewWizardShortcutAction.java:135)
at

org.eclipse.jface.action.Action.runWithEvent(Action.java:498 )
at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:584)
at

org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:501)
at

org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
at

org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3544)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1246)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1269)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1254)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1 075)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3442)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3101)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:22 21)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:332)
at

org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
at

org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:194)
at

org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at

org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at

org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:368)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at

java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
at org.eclipse.equinox.launcher.Main.main(Main.java:1287)


On 2009-05-28 16:24:19 -0700, Miles Parker <milesparker@gmail.com> said:

>
> Same issue in LwjglGraphics. This looks like its actually due to an API
> breaking change in GEF 3.5. I'll make the obvious changes and post them
> back here.
>
>
> On 2009-05-28 16:04:58 -0700, Miles Parker <milesparker@gmail.com> said:
>
>>
>> Ideas?
>>
>> Description Resource Path Location Type
>> The type DummyGraphics must implement the inherited abstract method
>> Graphics.getLineWidthFloat() DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>> 35 Java Problem
>> The type DummyGraphics must implement the inherited abstract method
>> Graphics.setLineMiterLimit(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>> 35 Java Problem
>> The type DummyGraphics must implement the inherited abstract method
>> Graphics.setLineWidthFloat(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>> 35 Java Problem
>> The type LogGraphics must implement the inherited abstract method
>> Graphics.getLineWidthFloat() LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>> 40 Java Problem
>> The type LogGraphics must implement the inherited abstract method
>> Graphics.setLineMiterLimit(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>> 40 Java Problem
>> The type LogGraphics must implement the inherited abstract method
>> Graphics.setLineWidthFloat(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>> 40 Java Problem
Re: A couple of errors in ..draw3d [message #561398 is a reply to message #2534] Fri, 29 May 2009 20:41 Go to previous message
Jens von Pilgrim is currently offline Jens von PilgrimFriend
Messages: 295
Registered: July 2009
Senior Member
Hi Miles,

yes, there were indeed some changes with GEF 2.5, some methods were
added to the Graphics interface. I will ask Kristian about that
problem, he has implemented the GEF3D Graphics implementation.

Cheers

Jens

On 2009-05-29 01:38:01 +0200, Miles Parker <milesparker@gmail.com> said:

> OK, I added these lines to each of the three bad files:
>
>
> public float getLineWidthFloat() {
> return getLineWidth();
> }
>
> public void setLineMiterLimit(float miterLimit) {
> // ignored
> }
>
> public void setLineWidthFloat(float width) {
> // ignored
> }
>
> Now the diaSample works (it draws noise at first but on resize it
> works) but for the others I get:
>
> java.lang.RuntimeException: The class: class
> org.eclipse.draw3d.graphics3d.lwjgl.graphics.LwjglGraphics has not
> implemented this new graphics function
> at org.eclipse.draw2d.Graphics.throwNotImplemented(Graphics.jav a:993)
> at org.eclipse.draw2d.Graphics.setAntialias(Graphics.java:798)
> at org.eclipse.draw2d.Shape.paintFigure(Shape.java:94)
> at org.eclipse.draw2d.Figure.paint(Figure.java:1049)
> at
> org.eclipse.gef3d.examples.graph.editor.figures.EdgeFigure2D .paint(EdgeFigure2D.java:44)
at
org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at
>
> org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
> at org.eclipse.draw2d.ConnectionLayer.paint(ConnectionLayer.jav a:64)
> at org.eclipse.draw3d.Figure3DHelper.paintChildren2D(Figure3DHe lper.java:571)
> at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:478)
> at org.eclipse.draw3d.Figure3D.paintChildren(Figure3D.java:502)
> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
> at org.eclipse.draw3d.Figure3D.paint(Figure3D.java:479)
> at org.eclipse.draw3d.Figure3DHelper.paintChildren3D(Figure3DHe lper.java:599)
> at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:479)
> at org.eclipse.draw3d.Figure3D.paintChildren(Figure3D.java:502)
> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
> at org.eclipse.draw3d.Figure3D.paint(Figure3D.java:479)
> at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
> at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
> at
> org.eclipse.gef3d.editparts.ScalableFreeformRootEditPart3D$1 .paint(ScalableFreeformRootEditPart3D.java:47)
at
org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at
>
> org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
> at
> org.eclipse.draw2d.ScalableFreeformLayeredPane.paintClientAr ea(ScalableFreeformLayeredPane.java:61)
at
org.eclipse.draw2d.Figure.paint(Figure.java:1051)
at
>
> org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
> at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
> at org.eclipse.draw2d.Viewport.paintClientArea(Viewport.java:15 6)
> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
> at org.eclipse.draw3d.Figure3DHelper.paintChildren2D(Figure3DHe lper.java:555)
> at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:478)
> at
> org.eclipse.draw3d.LightweightSystem3D$RootFigure3D.paintChi ldren(LightweightSystem3D.java:437)
at
org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at
>
> org.eclipse.draw3d.LightweightSystem3D$RootFigure3D.paint(Li ghtweightSystem3D.java:408)
at
org.eclipse.draw2d.DeferredUpdateManager.repairDamage(Deferr edUpdateManager.java:294)
at
org.eclipse.draw3d.DeferredUpdateManager3D.repairDamage(Defe rredUpdateManager3D.java:60)
at
org.eclipse.draw3d.PickingUpdateManager3D.repairDamage(Picki ngUpdateManager3D.java:75)
at
org.eclipse.draw2d.DeferredUpdateManager.performUpdate(Defer redUpdateManager.java:181)
at
org.eclipse.gef3d.ui.parts.GraphicalViewer3DImpl.render(Grap hicalViewer3DImpl.java:159)
at
org.eclipse.gef3d.preferences.ScenePreferenceListener.start( ScenePreferenceListener.java:138)
at
org.eclipse.gef3d.ui.parts.GraphicalEditor3DWithPalette.doRe gisterToScene(GraphicalEditor3DWithPalette.java:84)
at
org.eclipse.gef3d.ui.parts.GraphicalEditor3DWithPalette.crea teGraphicalViewer(GraphicalEditor3DWithPalette.java:72)
at
org.eclipse.gef.ui.parts.GraphicalEditorWithPalette.createPa rtControl(GraphicalEditorWithPalette.java:62)
at
org.eclipse.ui.internal.EditorReference.createPartHelper(Edi torReference.java:662)
at
org.eclipse.ui.internal.EditorReference.createPart(EditorRef erence.java:462)
at
>
> org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:595)
at
org.eclipse.ui.internal.EditorReference.getEditor(EditorRefe rence.java:286)
at
>
> org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2857)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2762)
at
>
> org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPag e.java:2754)
> at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.j ava:2705)
> at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
> at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2701)
> at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2685)
> at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2676)
> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651)
> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
> at
> org.eclipse.ui.wizards.newresource.BasicNewFileResourceWizar d.performFinish(BasicNewFileResourceWizard.java:111)
at
org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDi alog.java:752)
at
>
> org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDi alog.java:373)
> at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
> at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
> at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3544)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1246)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1269)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1254)
> at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1 075)
> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3442)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3101)
> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
> at org.eclipse.jface.window.Window.open(Window.java:801)
> at
> org.eclipse.ui.internal.actions.NewWizardShortcutAction.run( NewWizardShortcutAction.java:135)
at
org.eclipse.jface.action.Action.runWithEvent(Action.java:498 )
at
>
> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:584)
at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:501)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
at
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
at
>
> org.eclipse.swt.widgets.Display.sendEvent(Display.java:3544)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1246)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1269)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1254)
> at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1 075)
> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3442)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3101)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2405)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:22 21)
> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:332)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:493)
at
>
> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
> at
> org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:194)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:368)
at
>
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at
java.lang.reflect.Method.invoke(Method.java:597)
at
>
> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 559)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
>
>
> On 2009-05-28 16:24:19 -0700, Miles Parker <milesparker@gmail.com> said:
>
>>
>> Same issue in LwjglGraphics. This looks like its actually due to an API
>> breaking change in GEF 3.5. I'll make the obvious changes and post them
>> back here.
>>
>>
>> On 2009-05-28 16:04:58 -0700, Miles Parker <milesparker@gmail.com> said:
>>
>>>
>>> Ideas?
>>>
>>> Description Resource Path Location Type
>>> The type DummyGraphics must implement the inherited abstract method
>>> Graphics.getLineWidthFloat() DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>>> 35 Java Problem
>>> The type DummyGraphics must implement the inherited abstract method
>>> Graphics.setLineMiterLimit(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>>> 35 Java Problem
>>> The type DummyGraphics must implement the inherited abstract method
>>> Graphics.setLineWidthFloat(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>>> 35 Java Problem
>>> The type LogGraphics must implement the inherited abstract method
>>> Graphics.getLineWidthFloat() LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>>> 40 Java Problem
>>> The type LogGraphics must implement the inherited abstract method
>>> Graphics.setLineMiterLimit(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>>> 40 Java Problem
>>> The type LogGraphics must implement the inherited abstract method
>>> Graphics.setLineWidthFloat(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>>> 40 Java Problem
Re: A couple of errors in ..draw3d [message #561420 is a reply to message #2534] Fri, 29 May 2009 21:57 Go to previous message
Kristian Duske is currently offline Kristian DuskeFriend
Messages: 64
Registered: July 2009
Member
Hello Miles,

we are not using Galileo yet, so the six methods you mentioned in your
original post are not implemented in GEF3D. I suggest you either
implement them yourself or wait until we do it. Either way, there are
some methods in the Graphics class that we do not support properly yet.
I have just committed a new version of LWJGLGraphics that has support
for some of those methods (mostly setters that will be ignored now).
Those methods that still throw an exception are now documented in the
class javadoc.

I suggest you update to the latest revision and have a look. I hope
this helps get GEF3D to run for you. If you have any further problems,
let us know.

Best regards
Kristian
Re: A couple of errors in ..draw3d [message #561457 is a reply to message #2622] Fri, 29 May 2009 22:26 Go to previous message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1340
Registered: July 2009
Senior Member
Cool. One more change I needed. In both Lwjgl (awkward name!) and
DummyGraphics, he'll need to do something like:


public void setAntialias(int value) {
}

public void setLineAttributes(LineAttributes attributes) {
}


To avoid a graphics exception.

On 2009-05-29 13:41:52 -0700, Jens v.P. <developer@jevopi.de> said:

> Hi Miles,
>
> yes, there were indeed some changes with GEF 2.5, some methods were
> added to the Graphics interface. I will ask Kristian about that
> problem, he has implemented the GEF3D Graphics implementation.
>
> Cheers
>
> Jens
>
> On 2009-05-29 01:38:01 +0200, Miles Parker <milesparker@gmail.com> said:
>
>> OK, I added these lines to each of the three bad files:
>>
>>
>> public float getLineWidthFloat() {
>> return getLineWidth();
>> }
>>
>> public void setLineMiterLimit(float miterLimit) {
>> // ignored
>> }
>>
>> public void setLineWidthFloat(float width) {
>> // ignored
>> }
>>
>> Now the diaSample works (it draws noise at first but on resize it
>> works) but for the others I get:
>>
>> java.lang.RuntimeException: The class: class
>> org.eclipse.draw3d.graphics3d.lwjgl.graphics.LwjglGraphics has not
>> implemented this new graphics function
>> at org.eclipse.draw2d.Graphics.throwNotImplemented(Graphics.jav a:993)
>> at org.eclipse.draw2d.Graphics.setAntialias(Graphics.java:798)
>> at org.eclipse.draw2d.Shape.paintFigure(Shape.java:94)
>> at org.eclipse.draw2d.Figure.paint(Figure.java:1049)
>> at
>> org.eclipse.gef3d.examples.graph.editor.figures.EdgeFigure2D .paint(EdgeFigure2D.java:44)
at
org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at

org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at
>>
>> org.eclipse.draw2d.Figure.paint(Figure.java:1051)
>> at org.eclipse.draw2d.ConnectionLayer.paint(ConnectionLayer.jav a:64)
>> at org.eclipse.draw3d.Figure3DHelper.paintChildren2D(Figure3DHe lper.java:571)
>> at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:478)
>> at org.eclipse.draw3d.Figure3D.paintChildren(Figure3D.java:502)
>> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
>> at org.eclipse.draw3d.Figure3D.paint(Figure3D.java:479)
>> at org.eclipse.draw3d.Figure3DHelper.paintChildren3D(Figure3DHe lper.java:599)
>> at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:479)
>> at org.eclipse.draw3d.Figure3D.paintChildren(Figure3D.java:502)
>> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
>> at org.eclipse.draw3d.Figure3D.paint(Figure3D.java:479)
>> at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
>> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
>> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
>> at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
>> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
>> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
>> at
>> org.eclipse.gef3d.editparts.ScalableFreeformRootEditPart3D$1 .paint(ScalableFreeformRootEditPart3D.java:47)
at
org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at

org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at
>>
>> org.eclipse.draw2d.ScalableFreeformLayeredPane.paintClientAr ea(ScalableFreeformLayeredPane.java:61)
at
org.eclipse.draw2d.Figure.paint(Figure.java:1051)
at

org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
at
>>
>> org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
>> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
>> at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1087)
>> at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1114)
>> at org.eclipse.draw2d.Viewport.paintClientArea(Viewport.java:15 6)
>> at org.eclipse.draw2d.Figure.paint(Figure.java:1051)
>> at org.eclipse.draw3d.Figure3DHelper.paintChildren2D(Figure3DHe lper.java:555)
>> at org.eclipse.draw3d.Figure3DHelper.paintChildren(Figure3DHelp er.java:478)
>> at
>> org.eclipse.draw3d.LightweightSystem3D$RootFigure3D.paintChi ldren(LightweightSystem3D.java:437)
at
org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1119)
at

org.eclipse.draw3d.LightweightSystem3D$RootFigure3D.paint(Li ghtweightSystem3D.java:408)
at
org.eclipse.draw2d.DeferredUpdateManager.repairDamage(Deferr edUpdateManager.java:294)
at
org.eclipse.draw3d.DeferredUpdateManager3D.repairDamage(Defe rredUpdateManager3D.java:60)
at
org.eclipse.draw3d.PickingUpdateManager3D.repairDamage(Picki ngUpdateManager3D.java:75)
at
org.eclipse.draw2d.DeferredUpdateManager.performUpdate(Defer redUpdateManager.java:181)
at
org.eclipse.gef3d.ui.parts.GraphicalViewer3DImpl.render(Grap hicalViewer3DImpl.java:159)
at
org.eclipse.gef3d.preferences.ScenePreferenceListener.start( ScenePreferenceListener.java:138)
at
org.eclipse.gef3d.ui.parts.GraphicalEditor3DWithPalette.doRe gisterToScene(GraphicalEditor3DWithPalette.java:84)
at
org.eclipse.gef3d.ui.parts.GraphicalEditor3DWithPalette.crea teGraphicalViewer(GraphicalEditor3DWithPalette.java:72)
at
org.eclipse.gef.ui.parts.GraphicalEditorWithPalette.createPa rtControl(GraphicalEditorWithPalette.java:62)
at
org.eclipse.ui.internal.EditorReference.createPartHelper(Edi torReference.java:662)
at
org.eclipse.ui.internal.EditorReference.createPart(EditorRef erence.java:462)
at

org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:595)
at
org.eclipse.ui.internal.EditorReference.getEditor(EditorRefe rence.java:286)
at

org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2857)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2762)
at

org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPag e.java:2754)
at
>>
>> org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.j ava:2705)
>> at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>> at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2701)
>> at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2685)
>> at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2676)
>> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651)
>> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
>> at
>> org.eclipse.ui.wizards.newresource.BasicNewFileResourceWizar d.performFinish(BasicNewFileResourceWizard.java:111)
at
org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDi alog.java:752)
at

org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDi alog.java:373)
at
>>
>> org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
>> at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
>> at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3544)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1246)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1269)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1254)
>> at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1 075)
>> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3442)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3101)
>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
>> at org.eclipse.jface.window.Window.open(Window.java:801)
>> at
>> org.eclipse.ui.internal.actions.NewWizardShortcutAction.run( NewWizardShortcutAction.java:135)
at
org.eclipse.jface.action.Action.runWithEvent(Action.java:498 )
at

org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:584)
at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:501)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
at
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
at

org.eclipse.swt.widgets.Display.sendEvent(Display.java:3544)
at
>>
>> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1246)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1269)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1254)
>> at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1 075)
>> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3442)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3101)
>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2405)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:22 21)
>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
>> at
>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:332)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:493)
at

org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at
>>
>> org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:194)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:368)
at

org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>
>> Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at
java.lang.reflect.Method.invoke(Method.java:597)
at

org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 559)
at
>>
>> org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
>> at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
>>
>>
>> On 2009-05-28 16:24:19 -0700, Miles Parker <milesparker@gmail.com> said:
>>
>>>
>>> Same issue in LwjglGraphics. This looks like its actually due to an API
>>> breaking change in GEF 3.5. I'll make the obvious changes and post them
>>> back here.
>>>
>>>
>>> On 2009-05-28 16:04:58 -0700, Miles Parker <milesparker@gmail.com> said:
>>>
>>>>
>>>> Ideas?
>>>>
>>>> Description Resource Path Location Type
>>>> The type DummyGraphics must implement the inherited abstract method
>>>> Graphics.getLineWidthFloat() DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>>>> 35 Java Problem
>>>> The type DummyGraphics must implement the inherited abstract method
>>>> Graphics.setLineMiterLimit(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>>>> 35 Java Problem
>>>> The type DummyGraphics must implement the inherited abstract method
>>>> Graphics.setLineWidthFloat(float) DummyGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d line
>>>> 35 Java Problem
>>>> The type LogGraphics must implement the inherited abstract method
>>>> Graphics.getLineWidthFloat() LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>>>> 40 Java Problem
>>>> The type LogGraphics must implement the inherited abstract method
>>>> Graphics.setLineMiterLimit(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>>>> 40 Java Problem
>>>> The type LogGraphics must implement the inherited abstract method
>>>> Graphics.setLineWidthFloat(float) LogGraphics.java /org.eclipse.draw3d/src/java/org/eclipse/draw3d/util line
>>>> 40 Java Problem
Re: A couple of errors in ..draw3d [message #561473 is a reply to message #2651] Fri, 29 May 2009 23:09 Go to previous message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1340
Registered: July 2009
Senior Member
On 2009-05-29 14:57:08 -0700, Kristian Duske
<kristian.duske@fernuni-hagen.de> said:

> Hello Miles,
>
> we are not using Galileo yet, so the six methods you mentioned in your
> original post are not implemented in GEF3D. I suggest you either
> implement them yourself or wait until we do it. Either way, there are
> some methods in the Graphics class that we do not support properly yet.
> I have just committed a new version of LWJGLGraphics that has support
> for some of those methods (mostly setters that will be ignored now).
> Those methods that still throw an exception are now documented in the
> class javadoc.
>
> I suggest you update to the latest revision and have a look. I hope
> this helps get GEF3D to run for you. If you have any further problems,
> let us know.
>
> Best regards
> Kristian

Thanks Kristian, I just updated. FWIW, I had already put these quick fixes in:

LwjglGraphics.

public float getLineWidthFloat() {
return getLineWidth();
}

public void setLineWidthFloat(float width) {
setLineWidth((int) width);
}

public void setLineMiterLimit(float miterLimit) {
}

public void setLineAttributes(LineAttributes attributes) {
// avoid not implemented exception
}

public void setForegroundPattern(Pattern pattern) {
// avoid not implemented exception
}

public void setLineCap(int cap) {
// avoid not implemented exception
}

public void setLineDash(float[] value) {
// avoid not implemented exception
}

DummyGraphics and LogGraphics


public float getLineWidthFloat() {
return getLineWidth();
}

public void setLineWidthFloat(float width) {
setLineWidth((int) width);
}

public void setLineMiterLimit(float miterLimit) {
}

public void setLineAttributes(LineAttributes attributes) {
// avoid not implemented exception
}

public void setLineDash(float[] value) {
// avoid not implemented exception
}


They should be backward compatible I'd think.. :)
Re: A couple of errors in ..draw3d [message #561512 is a reply to message #3751] Sat, 30 May 2009 08:11 Go to previous message
Kristian Duske is currently offline Kristian DuskeFriend
Messages: 64
Registered: July 2009
Member
Hi Miles,

> Thanks Kristian, I just updated. FWIW, I had already put these quick fixes in:

That should work. I will switch to Galileo soon and then I'll take a
stab at properly implementing those methods and the rest of the missing
features.

Did you run into any other problems?

Best regards
Kristian
Re: A couple of errors in ..draw3d [message #561587 is a reply to message #3751] Sun, 31 May 2009 12:45 Go to previous message
Kristian Duske is currently offline Kristian DuskeFriend
Messages: 64
Registered: July 2009
Member
Hi again,

I just implemented some of the missing advanced graphics functions on
DummyGraphics, LogGraphics and LwjglGraphics. The remaining
unimplemented functions are

Graphics#drawPath(org.eclipse.swt.graphics.Path)
Graphics#drawText(String, org.eclipse.draw2d.geometry.Point, int)
Graphics#drawText(String, int, int, int)
Graphics#drawTextLayout(org.eclipse.swt.graphics.TextLayout, int, int)
Graphics#drawTextLayout(org.eclipse.swt.graphics.TextLayout, int, int, int,
int, Color, Color)
Graphics#fillPath(org.eclipse.swt.graphics.Path)
Graphics#setClip(org.eclipse.swt.graphics.Path)

These functions make use of platform dependent resources (Path,
TextLayout, Pattern) and are not trivial to implement. I am not sure if
it is possible at all to implement this functionality without changing
the clients of Graphics as well, because I don't see how I can access
the information contained in the platform dependent resources in a
platform independent way.

The only way I see right now would be to subclass Path, TextLayout and
Pattern and write implementations that can use GL to emulate this
functionality, but as I stated above, this would require modifying
client code. Another way would be to get the SWT team interested in
GLGraphics and add GL implementations of those classes to SWT directly.
But even then, I'd have to implement a lot of this functionality by
hand. For example, GL doesn't support paths as clipping regions (only
planes can be used and paths can contain arcs and curves) - I'd have to
write the clipping code for clipping paths by hand.

I hope for now that no existing GEF editor uses these features so that
we won't need to implement them for a while.

Best regards
Kristian
Re: A couple of errors in ..draw3d [message #561628 is a reply to message #3768] Sun, 31 May 2009 20:19 Go to previous message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1340
Registered: July 2009
Senior Member
On 2009-05-30 01:11:48 -0700, Kristian Duske
<kristian.duske@fernuni-hagen.de> said:

> Hi Miles,
>
>> Thanks Kristian, I just updated. FWIW, I had already put these quick fixes in:
>
> That should work. I will switch to Galileo soon and then I'll take a
> stab at properly implementing those methods and the rest of the missing
> features.
>
> Did you run into any other problems?
>
> Best regards
> Kristian

Just general issues with rendering which are probably down to some kind
of eclipse upate issues. For xampel, when I first open a diagram its
all noise; as soon as I force a re-render by rezizing it looks fine.
And I am often getting into a state where the workbench is completely
messed up -- views are redrawn properly, etc.. but I think this is
because I've stolen the SWT /rendering thread somewhere in my model ->
view updating code. I'm still figuring out how to do the updates in a
nice fail-safe way.
Re: A couple of errors in ..draw3d [message #561683 is a reply to message #3809] Mon, 01 June 2009 11:57 Go to previous message
Kristian Duske is currently offline Kristian DuskeFriend
Messages: 64
Registered: July 2009
Member
Hello Miles,

> Just general issues with rendering which are probably down to some kind
> of eclipse upate issues. For xampel, when I first open a diagram its
> all noise; as soon as I force a re-render by rezizing it looks fine.
> And I am often getting into a state where the workbench is completely
> messed up -- views are redrawn properly, etc.. but I think this is
> because I've stolen the SWT /rendering thread somewhere in my model ->
> view updating code. I'm still figuring out how to do the updates in a
> nice fail-safe way.

Would you mind filing a bug for the garbled display (noise) problem in
our bugzilla, which you can find on this page:

http://www.eclipse.org/projects/project_summary.php?projecti d=technology.gef3d

Please attach a screenshot and, very important, the following information:

Operating System (if Windows, which SPs are installed, if Linux, which
kernel version)
Video hardware (Manufacturer, model, version)
Video driver (Custom or from manufacturer, version)

Maybe I can reproduce the problem and fix it.

Regarding updates, I plan on looking into the update manager and update
mechanism in general myself as well. I think there are some problems
hidden in that code, too. If you find anything, please let us know.

Regards
Kristian
Re: A couple of errors in ..draw3d [message #561700 is a reply to message #3830] Mon, 01 June 2009 16:58 Go to previous message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1340
Registered: July 2009
Senior Member
Will do!

On 2009-06-01 04:57:47 -0700, Kristian Duske
<kristian.duske@fernuni-hagen.de> said:

> Hello Miles,
>
>> Just general issues with rendering which are probably down to some kind
>> of eclipse upate issues. For xampel, when I first open a diagram its
>> all noise; as soon as I force a re-render by rezizing it looks fine.
>> And I am often getting into a state where the workbench is completely
>> messed up -- views are redrawn properly, etc.. but I think this is
>> because I've stolen the SWT /rendering thread somewhere in my model ->
>> view updating code. I'm still figuring out how to do the updates in a
>> nice fail-safe way.
>
> Would you mind filing a bug for the garbled display (noise) problem in
> our bugzilla, which you can find on this page:
>
> http://www.eclipse.org/projects/project_summary.php?projecti d=technology.gef3d
>
> Please attach a screenshot and, very important, the following information:
>
> Operating System (if Windows, which SPs are installed, if Linux, which
> kernel version)
> Video hardware (Manufacturer, model, version)
> Video driver (Custom or from manufacturer, version)
>
> Maybe I can reproduce the problem and fix it.
>
> Regarding updates, I plan on looking into the update manager and update
> mechanism in general myself as well. I think there are some problems
> hidden in that code, too. If you find anything, please let us know.
>
> Regards
> Kristian
Previous Topic:2.5 D update example
Next Topic:2.5 D update example
Goto Forum:
  


Current Time: Sun Nov 23 17:36:59 GMT 2014

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

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