Hallo zusammen,
da ich auf Arbeit mt dem für mich neuen Thema RCP (und JFace / SWT ;-) ) beschäftigen muss, bin ich bezüglich einiger Herangehensweisen bei RCP etwas verwirrt.
Ich habe mir unter anderen das RCP-Tutorial von Lars Vogel
(www.vogella.de/articles/RichClientPlatform/article.html) angeschaut und einige Probleme wurden dank dieser Tutorials und SWT-Designer - der Mensch ist doch von Natur aus faul - einige Einsicht in diese Technologie erhalten.
Allerdings stoße ich bei der Entwicklung von besagten EditorPart auf ein mir nicht erklärliches Problem.
Ich habe eine kleine Test-anwendung geschrieben, die aus einem Modell mittels TableViewer und den zugehörigen Providern nett die Daten einer Collection ausliest.
Probehalber funktioniert auch der SelectionListener (den ich aber jetzt erst mal wieder rausgenommen habe).
Das Problem ist eine doubleClickAction (wie im besagten Tutorial aufgebaut) die im StandaloneView zwar offensichtlich ein Event feuert, aber durch den Code
nur die Fehlermeldung
Ehrlich - ich bin ratlos.
Habe in der plugin.xml kontrolliert, ob da auch wirklich die selbe id wie in der entsprechenden Klasse steht. Weiß nicht, ob name, und u.s.w. bezüglich der klassenstrucktur übereinstimmen müssen - das tut es bei mir nämlich nicht.
id: Editor.TestEditor
name: Editor.TestEditor
class: test.editor.editor.TestEditor
in der Klasse test.editor.editor.TestEditor
public static final String ID = "Editor.TestEditor";
Hat jemand vielleicht eine Idee?
Viele Grüße,
Daniel
da ich auf Arbeit mt dem für mich neuen Thema RCP (und JFace / SWT ;-) ) beschäftigen muss, bin ich bezüglich einiger Herangehensweisen bei RCP etwas verwirrt.
Ich habe mir unter anderen das RCP-Tutorial von Lars Vogel
(www.vogella.de/articles/RichClientPlatform/article.html) angeschaut und einige Probleme wurden dank dieser Tutorials und SWT-Designer - der Mensch ist doch von Natur aus faul - einige Einsicht in diese Technologie erhalten.
Allerdings stoße ich bei der Entwicklung von besagten EditorPart auf ein mir nicht erklärliches Problem.
Ich habe eine kleine Test-anwendung geschrieben, die aus einem Modell mittels TableViewer und den zugehörigen Providern nett die Daten einer Collection ausliest.
Probehalber funktioniert auch der SelectionListener (den ich aber jetzt erst mal wieder rausgenommen habe).
Das Problem ist eine doubleClickAction (wie im besagten Tutorial aufgebaut) die im StandaloneView zwar offensichtlich ein Event feuert, aber durch den Code
Code:
private Action doubleClickAction;
private void hookDoubleClickAction() {
viewer.addDoubleClickListener(new IDoubleClickListener() {
public void doubleClick(DoubleClickEvent event) {
doubleClickAction.run();
}
});
}
private void contributeActions() {
doubleClickAction = new Action() {
public void run() {
ISelection selection = viewer.getSelection();
Object obj = ((IStructuredSelection) selection)
.getFirstElement();
Task task = (Task) obj;
TestEditorInput input = new TestEditorInput(task
.getTask());
IWorkbenchPage page = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage();
try {
page.openEditor(input, TestEditor.ID, true);
// notify any listeners of the view with the actual data of
// the view
viewer.setSelection(viewer.getSelection());
} catch (PartInitException e) {
System.out.println(e.getMessage());
}
}
};
}
nur die Fehlermeldung
auf die Konsole wirft (also die PartInitException...)Unable to open editor, unknown editor ID: Editor.TestEditor
Ehrlich - ich bin ratlos.
Habe in der plugin.xml kontrolliert, ob da auch wirklich die selbe id wie in der entsprechenden Klasse steht. Weiß nicht, ob name, und u.s.w. bezüglich der klassenstrucktur übereinstimmen müssen - das tut es bei mir nämlich nicht.
id: Editor.TestEditor
name: Editor.TestEditor
class: test.editor.editor.TestEditor
in der Klasse test.editor.editor.TestEditor
public static final String ID = "Editor.TestEditor";
Hat jemand vielleicht eine Idee?
Viele Grüße,
Daniel