Hi,
ich versuche mir GEF anzulernen. Es gibt ja leider nicht besonders viel Matherial dazu. Folgendes Tutorial finde gefällt mir eigentlich: EclipseCon 2008. Leider bin ich die meiste Zeit damit beschäftigt meine Probleme zu lösen. Nun Suche ich nach dem Grund, weshalb Knoten nach dem Einfügen nicht angezeigt werden und bin auch schon am Ende meines Lateins. Das ist sicher auch dem Umstand geschuldet dass mein Verständnis von GEF schlecht ist. Knoten die ich mit der Klasse Contentprovider
einfüge werden Gezeichnet. Im Debugger kann ich sehen, dass Knoten die ich über die Pallette (im laufenden Programm) einfüge im Graph der vom Contentprovider erzeugt wird erscheinen.
notifyObservers() wird aufgerufen. Ich vermute aber dass hier was schief geht. Im debugger kann ich nicht nachvollziehen wie das benachrichtigen abläuft. Wer sind denn überhaupt die Beobachter?
Hat jemand Ideen wie ich den Fehler finde? Außerdem habe ich gerade GMF gefunden, würde jemand empfehlen GEF sein zu lassen und mit GMF weiter zu machen?
ich versuche mir GEF anzulernen. Es gibt ja leider nicht besonders viel Matherial dazu. Folgendes Tutorial finde gefällt mir eigentlich: EclipseCon 2008. Leider bin ich die meiste Zeit damit beschäftigt meine Probleme zu lösen. Nun Suche ich nach dem Grund, weshalb Knoten nach dem Einfügen nicht angezeigt werden und bin auch schon am Ende meines Lateins. Das ist sicher auch dem Umstand geschuldet dass mein Verständnis von GEF schlecht ist. Knoten die ich mit der Klasse Contentprovider
Java:
package org.jbpm.graph.ui.editor;
import org.eclipse.draw2d.geometry.Dimension;
import org.eclipse.draw2d.geometry.Point;
import org.eclipse.draw2d.geometry.Rectangle;
public class ContentProvider {
public static final ContentProvider INSTANCE =
new ContentProvider();
public Graph newSampleGraph() {
Graph result = new Graph();
result.addNode(newNode(200, 150, 65, 35, "first"));
result.addNode(newNode(300, 250, 65, 35, "second"));
result.addNode(newNode(100, 300, 65, 35, "third"));
newConnection(result.getNodes().get(0), result.getNodes().get(1));
return result;
}
private Node newNode(
int x, int y, int width, int height, String name) {
Node result = new Node();
result.setConstraint(
new Rectangle(new Point(x, y),
new Dimension(width, height)));
result.setName(name);
return result;
}
private Connection newConnection(Node source, Node target) {
Connection result = new Connection();
result.setSource(source);
result.setTarget(target);
return result;
}
}
Java:
public class Node extends Observable{
Rectangle constraint;
String name;
public Rectangle getConstraint() {
return constraint;
}
public void setConstraint(Rectangle constraint) {
this.constraint = constraint;
setChanged();
notifyObservers();
}
...
Hat jemand Ideen wie ich den Fehler finde? Außerdem habe ich gerade GMF gefunden, würde jemand empfehlen GEF sein zu lassen und mit GMF weiter zu machen?