Hallo zusammen,
bin ganz neu in der SWT-Programmierung, habe bis jetzt fast 4 Jahre Java programmiert (meistens Swing, kein Eclipse, nur Netbeans). So, jetzt muss ich mich in Eclipse einarbeiten und bin gerade bei der Entwicklung eines Plugins.
Die ganze Sache ist in einem MultiPageEditor strukturiert und in eine der "Seiten" habe ich einen TreeViewer, der mir irgend einen Baum aus einer Eingabe darstellt. Alles hat soweit gut geklappt. Jetzt möchte ich auch Elemente aus dem Baum per Rechtsklick löschen (also Rechtsklick -> Delete Element). Das habe ich nicht geschafft. Ich habe mir folgende Seiten angeguckt: http://wiki.eclipse.org/index.php/JFaceSnippets und http://www.developer.com/java/other/article.php/10936_3565006_3/The-JFace-of-Eclipse.htm aber keine von diesen hat mir konkret geholfen, ich finde die Dokumentation zu einer so einfachen Sache ganz schlecht! Tja, ich komme einfach nicht weiter.
In der klassischen Swing-Programmierung ging alles ganz einfach - auf einem Tree setzt man ein Model, den man ganz einfach bearbeiten kann. Durch kurze Listener Klassen, kann man verschiedene Events abfangen und dann die entsprechende Aktionen durchführen. Bei SWT/JFace scheint alles unnötig kompliziert zu sein und, noch schlechter, ist nicht mal gut dokumentiert.
Könnte mir bitte jemand helfen, die Listeners auf einem TreeViewer endlich zu verstehen? Wie würde ich dann einen Kontextmenü auf meinem TreeViewer machen, so dass ich dann auch verschiedene Kontextmenüs zeigen kann? z.B. für den Fall, dass ich 3 Arten von Knoten im Baum habe - für jeden soll das entsprechende Kontextmenü mit den Aktionen für den selektierten Knoten erscheinen.
Achso, ja, was ich auch nicht verstanden habe, wie kann ich denn überprüfen, mit welcher Maustaste ich auf einem Element des Baums geklickt habe? In Swing gab es so was wie if(e.getButton() == MouseEvent.BUTTON3) für Rechtsklick.
Vielen Dank im Voraus.
bin ganz neu in der SWT-Programmierung, habe bis jetzt fast 4 Jahre Java programmiert (meistens Swing, kein Eclipse, nur Netbeans). So, jetzt muss ich mich in Eclipse einarbeiten und bin gerade bei der Entwicklung eines Plugins.
Die ganze Sache ist in einem MultiPageEditor strukturiert und in eine der "Seiten" habe ich einen TreeViewer, der mir irgend einen Baum aus einer Eingabe darstellt. Alles hat soweit gut geklappt. Jetzt möchte ich auch Elemente aus dem Baum per Rechtsklick löschen (also Rechtsklick -> Delete Element). Das habe ich nicht geschafft. Ich habe mir folgende Seiten angeguckt: http://wiki.eclipse.org/index.php/JFaceSnippets und http://www.developer.com/java/other/article.php/10936_3565006_3/The-JFace-of-Eclipse.htm aber keine von diesen hat mir konkret geholfen, ich finde die Dokumentation zu einer so einfachen Sache ganz schlecht! Tja, ich komme einfach nicht weiter.
In der klassischen Swing-Programmierung ging alles ganz einfach - auf einem Tree setzt man ein Model, den man ganz einfach bearbeiten kann. Durch kurze Listener Klassen, kann man verschiedene Events abfangen und dann die entsprechende Aktionen durchführen. Bei SWT/JFace scheint alles unnötig kompliziert zu sein und, noch schlechter, ist nicht mal gut dokumentiert.
Könnte mir bitte jemand helfen, die Listeners auf einem TreeViewer endlich zu verstehen? Wie würde ich dann einen Kontextmenü auf meinem TreeViewer machen, so dass ich dann auch verschiedene Kontextmenüs zeigen kann? z.B. für den Fall, dass ich 3 Arten von Knoten im Baum habe - für jeden soll das entsprechende Kontextmenü mit den Aktionen für den selektierten Knoten erscheinen.
Achso, ja, was ich auch nicht verstanden habe, wie kann ich denn überprüfen, mit welcher Maustaste ich auf einem Element des Baums geklickt habe? In Swing gab es so was wie if(e.getButton() == MouseEvent.BUTTON3) für Rechtsklick.
Vielen Dank im Voraus.