Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » GEF » Cannot get editor to display my model
Cannot get editor to display my model [message #161702] Wed, 15 December 2004 22:56 Go to next message
Christian Hauser is currently offline Christian HauserFriend
Messages: 189
Registered: July 2009
Senior Member
Hi,

I'm trying to get the editor to display my model. Below is the
initializeGraphicalViewer() method. The program would work if I would
call viewer.setContents(null), but not display any data.

/**
* @see
org.eclipse.gef.ui.parts.GraphicalEditor#initializeGraphical Viewer()
*/
protected void initializeGraphicalViewer() {
EditPartViewer viewer = getGraphicalViewer();
viewer.setContents(new NetworkViewAdapter());
}

When I run my program I have the editor open with a red error message in
it saying: "An error has occured when creating this editor".

The exception I get in the log file is the following:

!SESSION Dec 15, 2004 23:41:49.686
---------------------------------------------
eclipse.buildId=unknown
java.version=1.4.2_06
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments: -application
ch.digame.gui.client.DigameClientApplication -pdelaunch

!ENTRY org.eclipse.core.runtime Dec 15, 2004 23:41:49.686
!MESSAGE Product org.eclipse.platform.ide could not be found.

!ENTRY org.eclipse.core.runtime 4 2 Dec 15, 2004 23:41:51.199
!MESSAGE Problems occurred when invoking code from plug-in:
"org.eclipse.core.runtime".
!STACK 0
org.eclipse.jface.util.Assert$AssertionFailedException: Assertion
failed: An EditPartFactory is required to call setContents(Object)
at org.eclipse.jface.util.Assert.isTrue(Assert.java:168)
at
org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:588)
at
ch.digame.gui.client.editors.SimpleGefEditor.initializeGraph icalViewer(SimpleGefEditor.java:49)
at
org.eclipse.gef.ui.parts.GraphicalEditor.createGraphicalView er(GraphicalEditor.java:138)
at
org.eclipse.gef.ui.parts.GraphicalEditorWithPalette.createPa rtControl(GraphicalEditorWithPalette.java:65)
at org.eclipse.ui.internal.PartPane$2.run(PartPane.java:137)
at
org.eclipse.core.internal.runtime.InternalPlatform.run(Inter nalPlatform.java:616)
at org.eclipse.core.runtime.Platform.run(Platform.java:747)
at org.eclipse.ui.internal.PartPane.createChildControl(PartPane .java:133)
at org.eclipse.ui.internal.PartPane.createControl(PartPane.java :205)
at
org.eclipse.ui.internal.PartStack.refreshPresentationSelecti on(PartStack.java:939)
at org.eclipse.ui.internal.PartStack.setSelection(PartStack.jav a:921)
at org.eclipse.ui.internal.EditorStack.setSelection(EditorStack .java:196)
at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:10 20)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:290)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:121 )
at
org.eclipse.ui.internal.EditorSashContainer.addEditor(Editor SashContainer.java:59)
at
org.eclipse.ui.internal.EditorAreaHelper.openEditor(EditorAr eaHelper.java:266)
at org.eclipse.ui.internal.EditorManager$4.run(EditorManager.ja va:694)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:69)
at
org.eclipse.ui.internal.EditorManager.createEditorTab(Editor Manager.java:683)
at
org.eclipse.ui.internal.EditorManager.openInternalEditor(Edi torManager.java:779)
at
org.eclipse.ui.internal.EditorManager.openEditorFromDescript or(EditorManager.java:582)
at org.eclipse.ui.internal.EditorManager.openEditor(EditorManag er.java:570)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2244)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2177)
at org.eclipse.ui.internal.WorkbenchPage.access$6(WorkbenchPage .java:2169)
at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.ja va:2156)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:69)
at
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2151)
at
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2134)
at
ch.digame.gui.client.DigameClientWorkbenchAdvisor.postWindow Open(DigameClientWorkbenchAdvisor.java:69)
at org.eclipse.ui.internal.WorkbenchWindow.open(WorkbenchWindow .java:515)
at
org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbe nch.java:999)
at
org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWin dow(WorkbenchConfigurer.java:174)
at
org.eclipse.ui.application.WorkbenchAdvisor.openWindows(Work benchAdvisor.java:658)
at org.eclipse.ui.internal.Workbench.init(Workbench.java:819)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1325)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:254)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:141)
at
ch.digame.gui.client.DigameClientApplication.run(DigameClien tApplication.java:23)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:335)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:273)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:129)
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:324)
at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
at org.eclipse.core.launcher.Main.run(Main.java:704)
at org.eclipse.core.launcher.Main.main(Main.java:688)


I base the code on Jeffrey Bonevic's SimpleGef example, however, I added
my own implementation of IEditorInput as I don't have files (my editor
should not be persisted).

I'd be glad if someone could enlighten me and tell me what I'm doing wrong.

Thanks in advance,
Christian

Here's some more code that might be interesting to some of you while
trying to help me.

public class NetworkViewAdapter extends AbstractNotifier {
private final Network network;
private List peers = new ArrayList();

public NetworkViewAdapter() {
network = new Network();
network.setNotifier(this);
}

public Network getDiagram() {
return network;
}

public void addPeer(final PeerViewAdapter adapter) {
peers.add(adapter);
network.addPeer(adapter.getPeer());
}

public void removePeer(final PeerViewAdapter adapter) {
peers.remove(adapter);
network.removePeer(adapter.getPeer());
}

public List getPeers() {
return Collections.unmodifiableList(peers);
}
}


public class Network {
private String name;
private List peers = new ArrayList();

private INotifier notifier;

public Network() {
}

public void addPeer(Peer peer) {
peers.add(peer);
notifier.notifyChanged("peers", null, peer);
}

public void removePeer(Peer peer) {
peers.remove(peer);
notifier.notifyChanged("peers", peer, null);
}

public List getPeers() {
return Collections.unmodifiableList(peers);
}

public String getName() {
return name;
}

public void setName(String name) {
String tmp = name;
this.name = name;
notifier.notifyChanged("name", tmp, name);
}

public void setNotifier(INotifier notifier) {
this.notifier = notifier;
}
}



public abstract class AbstractNotifier implements INotifier {
private PropertyChangeSupport listeners = new
PropertyChangeSupport(this);

public void addListener(PropertyChangeListener listener) {
listeners.addPropertyChangeListener(listener);
}

public void removeListener(PropertyChangeListener listener) {
listeners.removePropertyChangeListener(listener);
}

/**
* @see
ch.digame.gui.client.gef.model.INotifier#notifyChanged(java. lang.String,
java.lang.Object, java.lang.Object)
*/
public void notifyChanged(String propertyName, Object oldValue,
Object newValue) {
listeners.firePropertyChange(propertyName, oldValue, newValue);
}
}
Re: Cannot get editor to display my model [message #161716 is a reply to message #161702] Thu, 16 December 2004 07:29 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: eostroukhov.hotmail.com

Try changing to:

protected void initializeGraphicalViewer() {
EditPartViewer viewer = getGraphicalViewer();
viewer.setEditPartFactory( <Your edit part factory goes here> );
viewer.setContents(new NetworkViewAdapter());
}



"Christian Hauser" <c.hauser@active.ch> wrote in message
news:cpqffg$56b$1@www.eclipse.org...
> Hi,
>
> I'm trying to get the editor to display my model. Below is the
> initializeGraphicalViewer() method. The program would work if I would call
> viewer.setContents(null), but not display any data.
>
> /**
> * @see
> org.eclipse.gef.ui.parts.GraphicalEditor#initializeGraphical Viewer()
> */
> protected void initializeGraphicalViewer() {
> EditPartViewer viewer = getGraphicalViewer();
> viewer.setContents(new NetworkViewAdapter());
> }
>
> When I run my program I have the editor open with a red error message in
> it saying: "An error has occured when creating this editor".
>
> The exception I get in the log file is the following:
>
> !SESSION Dec 15, 2004
> 23:41:49.686 ---------------------------------------------
> eclipse.buildId=unknown
> java.version=1.4.2_06
> java.vendor=Sun Microsystems Inc.
> BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
> Command-line arguments: -application
> ch.digame.gui.client.DigameClientApplication -pdelaunch
>
> !ENTRY org.eclipse.core.runtime Dec 15, 2004 23:41:49.686
> !MESSAGE Product org.eclipse.platform.ide could not be found.
>
> !ENTRY org.eclipse.core.runtime 4 2 Dec 15, 2004 23:41:51.199
> !MESSAGE Problems occurred when invoking code from plug-in:
> "org.eclipse.core.runtime".
> !STACK 0
> org.eclipse.jface.util.Assert$AssertionFailedException: Assertion failed:
> An EditPartFactory is required to call setContents(Object)
> at org.eclipse.jface.util.Assert.isTrue(Assert.java:168)
> at
> org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:588)
> at
> ch.digame.gui.client.editors.SimpleGefEditor.initializeGraph icalViewer(SimpleGefEditor.java:49)
> at
> org.eclipse.gef.ui.parts.GraphicalEditor.createGraphicalView er(GraphicalEditor.java:138)
> at
> org.eclipse.gef.ui.parts.GraphicalEditorWithPalette.createPa rtControl(GraphicalEditorWithPalette.java:65)
> at org.eclipse.ui.internal.PartPane$2.run(PartPane.java:137)
> at
> org.eclipse.core.internal.runtime.InternalPlatform.run(Inter nalPlatform.java:616)
> at org.eclipse.core.runtime.Platform.run(Platform.java:747)
> at org.eclipse.ui.internal.PartPane.createChildControl(PartPane .java:133)
> at org.eclipse.ui.internal.PartPane.createControl(PartPane.java :205)
> at
> org.eclipse.ui.internal.PartStack.refreshPresentationSelecti on(PartStack.java:939)
> at org.eclipse.ui.internal.PartStack.setSelection(PartStack.jav a:921)
> at org.eclipse.ui.internal.EditorStack.setSelection(EditorStack .java:196)
> at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:10 20)
> at org.eclipse.ui.internal.PartStack.add(PartStack.java:290)
> at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:121 )
> at
> org.eclipse.ui.internal.EditorSashContainer.addEditor(Editor SashContainer.java:59)
> at
> org.eclipse.ui.internal.EditorAreaHelper.openEditor(EditorAr eaHelper.java:266)
> at org.eclipse.ui.internal.EditorManager$4.run(EditorManager.ja va:694)
> at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:69)
> at
> org.eclipse.ui.internal.EditorManager.createEditorTab(Editor Manager.java:683)
> at
> org.eclipse.ui.internal.EditorManager.openInternalEditor(Edi torManager.java:779)
> at
> org.eclipse.ui.internal.EditorManager.openEditorFromDescript or(EditorManager.java:582)
> at
> org.eclipse.ui.internal.EditorManager.openEditor(EditorManag er.java:570)
> at
> org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2244)
> at
> org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2177)
> at org.eclipse.ui.internal.WorkbenchPage.access$6(WorkbenchPage .java:2169)
> at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.ja va:2156)
> at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:69)
> at
> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2151)
> at
> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2134)
> at
> ch.digame.gui.client.DigameClientWorkbenchAdvisor.postWindow Open(DigameClientWorkbenchAdvisor.java:69)
> at org.eclipse.ui.internal.WorkbenchWindow.open(WorkbenchWindow .java:515)
> at
> org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbe nch.java:999)
> at
> org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWin dow(WorkbenchConfigurer.java:174)
> at
> org.eclipse.ui.application.WorkbenchAdvisor.openWindows(Work benchAdvisor.java:658)
> at org.eclipse.ui.internal.Workbench.init(Workbench.java:819)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1325)
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:254)
> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:141)
> at
> ch.digame.gui.client.DigameClientApplication.run(DigameClien tApplication.java:23)
> at
> org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:335)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:273)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:129)
> 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:324)
> at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
> at org.eclipse.core.launcher.Main.run(Main.java:704)
> at org.eclipse.core.launcher.Main.main(Main.java:688)
>
>
> I base the code on Jeffrey Bonevic's SimpleGef example, however, I added
> my own implementation of IEditorInput as I don't have files (my editor
> should not be persisted).
>
> I'd be glad if someone could enlighten me and tell me what I'm doing
> wrong.
>
> Thanks in advance,
> Christian
>
> Here's some more code that might be interesting to some of you while
> trying to help me.
>
> public class NetworkViewAdapter extends AbstractNotifier {
> private final Network network;
> private List peers = new ArrayList();
>
> public NetworkViewAdapter() {
> network = new Network();
> network.setNotifier(this);
> }
>
> public Network getDiagram() {
> return network;
> }
>
> public void addPeer(final PeerViewAdapter adapter) {
> peers.add(adapter);
> network.addPeer(adapter.getPeer());
> }
>
> public void removePeer(final PeerViewAdapter adapter) {
> peers.remove(adapter);
> network.removePeer(adapter.getPeer());
> }
>
> public List getPeers() {
> return Collections.unmodifiableList(peers);
> }
> }
>
>
> public class Network {
> private String name;
> private List peers = new ArrayList();
>
> private INotifier notifier;
>
> public Network() {
> }
>
> public void addPeer(Peer peer) {
> peers.add(peer);
> notifier.notifyChanged("peers", null, peer);
> }
>
> public void removePeer(Peer peer) {
> peers.remove(peer);
> notifier.notifyChanged("peers", peer, null);
> }
>
> public List getPeers() {
> return Collections.unmodifiableList(peers);
> }
>
> public String getName() {
> return name;
> }
>
> public void setName(String name) {
> String tmp = name;
> this.name = name;
> notifier.notifyChanged("name", tmp, name);
> }
>
> public void setNotifier(INotifier notifier) {
> this.notifier = notifier;
> }
> }
>
>
>
> public abstract class AbstractNotifier implements INotifier {
> private PropertyChangeSupport listeners = new
> PropertyChangeSupport(this);
>
> public void addListener(PropertyChangeListener listener) {
> listeners.addPropertyChangeListener(listener);
> }
>
> public void removeListener(PropertyChangeListener listener) {
> listeners.removePropertyChangeListener(listener);
> }
>
> /**
> * @see
> ch.digame.gui.client.gef.model.INotifier#notifyChanged(java. lang.String,
> java.lang.Object, java.lang.Object)
> */
> public void notifyChanged(String propertyName, Object oldValue, Object
> newValue) {
> listeners.firePropertyChange(propertyName, oldValue, newValue);
> }
> }
Re: Cannot get editor to display my model [message #161723 is a reply to message #161702] Thu, 16 December 2004 10:28 Go to previous messageGo to next message
Dhiraj  is currently offline Dhiraj Friend
Messages: 18
Registered: July 2009
Junior Member
Hi Christian,
You need to set the EditPartFactory() onto the EditPartViewer
when you call setContents();


Christian Hauser wrote:

> Hi,

> I'm trying to get the editor to display my model. Below is the
> initializeGraphicalViewer() method. The program would work if I would
> call viewer.setContents(null), but not display any data.

> /**
> * @see
> org.eclipse.gef.ui.parts.GraphicalEditor#initializeGraphical Viewer()
> */
> protected void initializeGraphicalViewer() {
> EditPartViewer viewer = getGraphicalViewer();
> viewer.setContents(new NetworkViewAdapter());
> }

> When I run my program I have the editor open with a red error message in
> it saying: "An error has occured when creating this editor".

> The exception I get in the log file is the following:

> !SESSION Dec 15, 2004 23:41:49.686
> ---------------------------------------------
> eclipse.buildId=unknown
> java.version=1.4.2_06
> java.vendor=Sun Microsystems Inc.
> BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
> Command-line arguments: -application
> ch.digame.gui.client.DigameClientApplication -pdelaunch

> !ENTRY org.eclipse.core.runtime Dec 15, 2004 23:41:49.686
> !MESSAGE Product org.eclipse.platform.ide could not be found.

> !ENTRY org.eclipse.core.runtime 4 2 Dec 15, 2004 23:41:51.199
> !MESSAGE Problems occurred when invoking code from plug-in:
> "org.eclipse.core.runtime".
> !STACK 0
> org.eclipse.jface.util.Assert$AssertionFailedException: Assertion
> failed: An EditPartFactory is required to call setContents(Object)
> at org.eclipse.jface.util.Assert.isTrue(Assert.java:168)
> at
>
org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:588)
> at
>
ch.digame.gui.client.editors.SimpleGefEditor.initializeGraph icalViewer(SimpleGefEditor.java:49)
> at
>
org.eclipse.gef.ui.parts.GraphicalEditor.createGraphicalView er(GraphicalEditor.java:138)
> at
>
org.eclipse.gef.ui.parts.GraphicalEditorWithPalette.createPa rtControl(GraphicalEditorWithPalette.java:65)
> at org.eclipse.ui.internal.PartPane$2.run(PartPane.java:137)
> at
>
org.eclipse.core.internal.runtime.InternalPlatform.run(Inter nalPlatform.java:616)
> at org.eclipse.core.runtime.Platform.run(Platform.java:747)
> at org.eclipse.ui.internal.PartPane.createChildControl(PartPane .java:133)
> at org.eclipse.ui.internal.PartPane.createControl(PartPane.java :205)
> at
>
org.eclipse.ui.internal.PartStack.refreshPresentationSelecti on(PartStack.java:939)
> at org.eclipse.ui.internal.PartStack.setSelection(PartStack.jav a:921)
> at org.eclipse.ui.internal.EditorStack.setSelection(EditorStack .java:196)
> at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:10 20)
> at org.eclipse.ui.internal.PartStack.add(PartStack.java:290)
> at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:121 )
> at
>
org.eclipse.ui.internal.EditorSashContainer.addEditor(Editor SashContainer.java:59)
> at
>
org.eclipse.ui.internal.EditorAreaHelper.openEditor(EditorAr eaHelper.java:266)
> at org.eclipse.ui.internal.EditorManager$4.run(EditorManager.ja va:694)
> at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:69)
> at
> org.eclipse.ui.internal.EditorManager.createEditorTab(Editor Manager.java:683)
> at
>
org.eclipse.ui.internal.EditorManager.openInternalEditor(Edi torManager.java:779)
> at
>
org.eclipse.ui.internal.EditorManager.openEditorFromDescript or(EditorManager.java:582)
> at org.eclipse.ui.internal.EditorManager.openEditor(EditorManag er.java:570)
> at
>
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2244)
> at
> org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2177)
> at org.eclipse.ui.internal.WorkbenchPage.access$6(WorkbenchPage .java:2169)
> at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.ja va:2156)
> at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:69)
> at
> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2151)
> at
> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2134)
> at
>
ch.digame.gui.client.DigameClientWorkbenchAdvisor.postWindow Open(DigameClientWorkbenchAdvisor.java:69)
> at org.eclipse.ui.internal.WorkbenchWindow.open(WorkbenchWindow .java:515)
> at
> org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbe nch.java:999)
> at
>
org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWin dow(WorkbenchConfigurer.java:174)
> at
>
org.eclipse.ui.application.WorkbenchAdvisor.openWindows(Work benchAdvisor.java:658)
> at org.eclipse.ui.internal.Workbench.init(Workbench.java:819)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1325)
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:254)
> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:141)
> at
>
ch.digame.gui.client.DigameClientApplication.run(DigameClien tApplication.java:23)
> at
>
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:335)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:273)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:129)
> 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:324)
> at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
> at org.eclipse.core.launcher.Main.run(Main.java:704)
> at org.eclipse.core.launcher.Main.main(Main.java:688)


> I base the code on Jeffrey Bonevic's SimpleGef example, however, I added
> my own implementation of IEditorInput as I don't have files (my editor
> should not be persisted).

> I'd be glad if someone could enlighten me and tell me what I'm doing wrong.

> Thanks in advance,
> Christian

> Here's some more code that might be interesting to some of you while
> trying to help me.

> public class NetworkViewAdapter extends AbstractNotifier {
> private final Network network;
> private List peers = new ArrayList();

> public NetworkViewAdapter() {
> network = new Network();
> network.setNotifier(this);
> }

> public Network getDiagram() {
> return network;
> }

> public void addPeer(final PeerViewAdapter adapter) {
> peers.add(adapter);
> network.addPeer(adapter.getPeer());
> }

> public void removePeer(final PeerViewAdapter adapter) {
> peers.remove(adapter);
> network.removePeer(adapter.getPeer());
> }

> public List getPeers() {
> return Collections.unmodifiableList(peers);
> }
> }


> public class Network {
> private String name;
> private List peers = new ArrayList();

> private INotifier notifier;

> public Network() {
> }

> public void addPeer(Peer peer) {
> peers.add(peer);
> notifier.notifyChanged("peers", null, peer);
> }

> public void removePeer(Peer peer) {
> peers.remove(peer);
> notifier.notifyChanged("peers", peer, null);
> }

> public List getPeers() {
> return Collections.unmodifiableList(peers);
> }

> public String getName() {
> return name;
> }

> public void setName(String name) {
> String tmp = name;
> this.name = name;
> notifier.notifyChanged("name", tmp, name);
> }

> public void setNotifier(INotifier notifier) {
> this.notifier = notifier;
> }
> }



> public abstract class AbstractNotifier implements INotifier {
> private PropertyChangeSupport listeners = new
> PropertyChangeSupport(this);

> public void addListener(PropertyChangeListener listener) {
> listeners.addPropertyChangeListener(listener);
> }

> public void removeListener(PropertyChangeListener listener) {
> listeners.removePropertyChangeListener(listener);
> }

> /**
> * @see
> ch.digame.gui.client.gef.model.INotifier#notifyChanged(java. lang.String,
> java.lang.Object, java.lang.Object)
> */
> public void notifyChanged(String propertyName, Object oldValue,
> Object newValue) {
> listeners.firePropertyChange(propertyName, oldValue, newValue);
> }
> }
Re: Cannot get editor to display my model [message #161733 is a reply to message #161716] Thu, 16 December 2004 12:40 Go to previous message
Christian Hauser is currently offline Christian HauserFriend
Messages: 189
Registered: July 2009
Senior Member
Eugene Ostroukhov wrote:
> Try changing to:
>
> protected void initializeGraphicalViewer() {
> EditPartViewer viewer = getGraphicalViewer();
> viewer.setEditPartFactory( <Your edit part factory goes here> );
> viewer.setContents(new NetworkViewAdapter());
> }

Thanks a lot. It works now.

Christian
Previous Topic:Inverse Graph Layout and Constraints
Next Topic:ComboBoxPropertyDescriptor
Goto Forum:
  


Current Time: Sat Apr 27 00:02:41 GMT 2024

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

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

Back to the top