Editor aus View öffnen - fehler: unbekannte Editor ID

Status
Nicht offen für weitere Antworten.

dzim

Top Contributor
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
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
Unable to open editor, unknown editor ID: Editor.TestEditor
auf die Konsole wirft (also die PartInitException...)

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
 

dzim

Top Contributor
ich geh mal davon aus, das es in meinem fall die application id wäre
also diese id+editor id?
 

dzim

Top Contributor
Bei Eingabe von

page.openEditor(input, "application."+TestEditor.ID, true);

(application ist im Extensions-Abschnitt unter org.eclipse.core.runtime.applications die id.
die eigentliche Klasse dafür ist unter test.editor.Application zu finden...
 

dzim

Top Contributor
ach so: die Plug-In-Id ist laut der Activator-Klasse Editor... hilft mir das jetzt weiter, es zu wissen?
 

dzim

Top Contributor
Also ich führe gerne Selbstgespräche :)

Ein Teil des Problems ist gelöst - auch wenn ich die Lösung schlicht und ergreifend dämlich finde:
Wer lesen kann ist klar im Vorteil - Lasr Vogel schreibt, dem Editor ist ein Icon zuzuweisen - sonst geht's nicht.
And guess what: Ich hatte kein Icon zugeordnet (das Icon erscheint dann im Extensions-fenster, aber nicht beim geöffneten Editor-fenster - irgendwie blöd, oder?)

Nächstes Problem, auf das ich nun überhaupt nicht vorbereitet war:

!ENTRY org.eclipse.ui 4 0 2008-04-21 12:58:12.132
!MESSAGE Unable to create editor ID Editor.TestEditor: null argument:A part's title tool tip must be non-null
!STACK 0
org.eclipse.core.runtime.AssertionFailedException: null argument:A part's title tool tip must be non-null
at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:84)
at org.eclipse.ui.internal.PartTester.testWorkbenchPart(PartTester.java:109)
at org.eclipse.ui.internal.PartTester.testEditor(PartTester.java:37)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:671)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:426)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:592)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:299)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:179)
at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268)
at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:400)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256)
at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1209)
at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1604)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:499)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:103)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:485)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:112)
at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)
at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:217)
at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:207)
at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:774)
at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:673)
at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:634)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2737)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2651)
at org.eclipse.ui.internal.WorkbenchPage.access$13(WorkbenchPage.java:2643)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2595)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2590)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2574)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2565)
at test.editor.View$2.run(View.java:88)
at test.editor.View$1.doubleClick(View.java:65)

...


...Häh???
 

Wildcard

Top Contributor
Das mit dem Icon hast du aber auch als Warning in der PlugIn.xml gesehen. Das Icon Attribut ist im ExtensionPoint Schema als required markiert.
A part's title tool tip must be non-null
Sagt doch eigentlich alles, oder?
 

dzim

Top Contributor
hm...
Also ich hab da keine warning im extensions-tab gesehen und bei mir wird es nicht mit * markiert, aber das ist erst mal egal, weil es Ersenzählerei wäre.

Zum neuen Problem: Ja, es ist mir durchaus verständlich, dass ich wohl einen Title-Tool-Tip setzen muss, aber auch unter Verwendung des
setTitleToolTip("bla");
kommt der Fehler (hab es im createPartControl des fraglichen EditorPart gemacht)

edit: das Selbe gilt für die Methode initialize im Editor (und auch probehalber im aufrufenden View - createPartControl)
edit2: Ok, es wurde aus dem Fehler nicht wirklich klar, das der Tooltip im EditorInput gesetzt werden MUSS, aber jetzt geht's erst mal
 

dzim

Top Contributor
Ok, also soweit ist ja (erst einmal) alles klar.

Eine Frage am Rande sei mir gestattet: Kann man die Editor-Fenster/-Tabs genauso wie die Views in der Perspective so einstellen, das der Titel nicht angezeigt wird?
 

Wildcard

Top Contributor
dzim hat gesagt.:
edit2: Ok, es wurde aus dem Fehler nicht wirklich klar, das der Tooltip im EditorInput gesetzt werden MUSS, aber jetzt geht's erst mal
Einen Namen in der plugin.xml zu setzen, reicht AFAIK.
Eine Frage am Rande sei mir gestattet: Kann man die Editor-Fenster/-Tabs genauso wie die Views in der Perspective so einstellen, das der Titel nicht angezeigt wird?
Kannst du nicht einfach setTitle(""); machen? Wüsste nicht das es geht, bzw. ich habe noch nie einen Editor ohne Title gesehen.
 

dzim

Top Contributor
Wildcard hat gesagt.:
dzim hat gesagt.:
edit2: Ok, es wurde aus dem Fehler nicht wirklich klar, das der Tooltip im EditorInput gesetzt werden MUSS, aber jetzt geht's erst mal
Einen Namen in der plugin.xml zu setzen, reicht AFAIK.

Hm. Bei mir leider nicht - der Fehlertratt dann immer noch auf - erst als ich den Rat von Lars Vogel beherzigte - besser gesagt: gelesen hab - ging es. Ich kann es nicht anders erklären.

Wildcard hat gesagt.:
dzim hat gesagt.:
Eine Frage am Rande sei mir gestattet: Kann man die Editor-Fenster/-Tabs genauso wie die Views in der Perspective so einstellen, das der Titel nicht angezeigt wird?
Kannst du nicht einfach setTitle(""); machen? Wüsste nicht das es geht, bzw. ich habe noch nie einen Editor ohne Title gesehen.

Ja, könnte ich sicher, aber das ist ja dann auch eher bescheiden.
Die Idee dahinter war, das man nicht unbedingt sehen MUSS welcher Tab gerade offen ist... Aber ist auch nicht so tragisch glaube ich.
Was ich allerdings toll fände, ist: Herausfinden, wie Views nicht von Anfang an offen sein müssen - neue Views einbinden - wenn man sie in die Perspektive knallt, sind sie ja immer gleich da.

Danke für die Antwort jedenfalls! :)
 

Wildcard

Top Contributor
Wenn du sie eben nicht an der Perspektive registrierst, sind sie auch nicht per Default zu sehen :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L RCP View in einem Editor öffnen? Plattformprogrammierung 3
S RCP Anfängerfrage - Zusammenspiel View, Editor, Model Plattformprogrammierung 4
L HTML Editor Plattformprogrammierung 2
P Artifact-Editor in RCP-Anwendung Plattformprogrammierung 14
TheWhiteShadow RCP Zustand von Editor Toolbar ToggleButton aktualisieren Plattformprogrammierung 0
D Eclipse_Visual Editor Problem Plattformprogrammierung 2
M Extension Point für Content Assist in JSP Editor gesucht Plattformprogrammierung 2
TheWhiteShadow RCP Editor Inhalt speichern Plattformprogrammierung 3
TheWhiteShadow RCP Konstrukt für Editor in Eclipse gesucht. Plattformprogrammierung 3
P RCP Text Editor Example - Missing Bundles lassen sich nicht auffinden. Plattformprogrammierung 6
3 Eclipse Editor Plugin selektiert Projekt nicht Plattformprogrammierung 10
C Java Editor funktioniert nicht Plattformprogrammierung 9
G RCP Eclipse Editor + Guice Plattformprogrammierung 8
J RCP Verhindern, dass Editor geschlossen wird Plattformprogrammierung 5
slawaweis RCP Formularbasierter XML-Editor (bzw. vorhandenen XML-Editor integrieren) Plattformprogrammierung 8
C Eclipse Plugin Entwicklung: Editor für Flussdiagramme Plattformprogrammierung 6
E Editor Schriftgröße ändern per "Java Code" Plattformprogrammierung 8
W letzte angeklickten Editor ermitteln Plattformprogrammierung 3
S GMF Editor mit einem zur Laufzeit erstellten Modell Plattformprogrammierung 4
B Eclpise Visual Editor Plattformprogrammierung 2
A RCP Editor-Reiter (FormEditor): Kann Rechtsklick-Menue überschrieben werden? Plattformprogrammierung 6
A RCP Tabs oben und unten im Editor oder mehrere Editoren? Plattformprogrammierung 7
B GMF Editor mit nur einem Connection Tool Plattformprogrammierung 5
T RCP - Scrollable Editor Plattformprogrammierung 4
T Speichern eines Objectes in einem Editor (mit isDirty) Plattformprogrammierung 6
J TableViewer aus Editor refreshen Plattformprogrammierung 5
T RCP Local History für eigenen Editor Plattformprogrammierung 9
L RCP Genmodel-Editor? Plattformprogrammierung 2
U Klassendiagramm-Editor (EMF, GMF, Ecore Tools) Plattformprogrammierung 3
M gmfgraph editor Plattformprogrammierung 6
B Eclipse RCP: Kontextsensitive Buttons für Editor und Hilfebutton für Wizard hinzufügen Plattformprogrammierung 5
J RCP Default Editor öffnen? Plattformprogrammierung 5
J Code Editor auslesen? Plattformprogrammierung 3
C [GEF] gespeicherte Dateien des generierten Editor Plattformprogrammierung 5
G Editor undo/redo Plattformprogrammierung 9
Spot84 datei im editor öffnen(tutorial undurchsichtig) Plattformprogrammierung 5
G Editor anzeigen Plattformprogrammierung 2
T Setze Gradienten auf Elemente(GMF-Editor) Plattformprogrammierung 2
S Custom Editor Content Assist Plattformprogrammierung 3
G Editor und doSave() Plattformprogrammierung 19
G WYSIWYG HTML Editor als Eclipse Plug-In Plattformprogrammierung 6
K XML Editor im Project Plattformprogrammierung 12
K Editor nicht in der 'EditorArea' öffnen, sondern in einem Folder(Layout). Plattformprogrammierung 10
D GEF Editor als RCP ausführen Plattformprogrammierung 10
G Editor Plattformprogrammierung 6
N GMF Editor automatisch generieren Plattformprogrammierung 2
H Visueller Editor für Eclipse RCP Anwendung Plattformprogrammierung 3
G xml-Datei im Editor importieren Plattformprogrammierung 3
Paule EMF Editor Dateiverknüpfungen Plattformprogrammierung 9
S RCP Nach erfolgreicher Erstellung der View, wie weitermachen? Plattformprogrammierung 1
G RCP Show View Command bestimmte View nicht erlauben Plattformprogrammierung 2
S RCP ActionBar Icon nur aktiv, wenn Selection in bestimmter View Plattformprogrammierung 6
M Plugin - Property Page - Get IResource in View Plattformprogrammierung 4
R Eclipse RCP Tabellen-View (Anfängerfrage) Plattformprogrammierung 3
L RCP Eigene View für EditorPart? Plattformprogrammierung 3
M RCP TableViewer schrumpft in View nach manueller Resize auf 1 Zeile Plattformprogrammierung 5
M EMF und Tabbed Properties View Plattformprogrammierung 4
Madlip RCP View austauschen/ändern Plattformprogrammierung 9
B RCP View aktualisieren bei Änderung 2. View Plattformprogrammierung 8
F RCP EMF View Plattformprogrammierung 13
K RCP View wird nicht angezeigt Plattformprogrammierung 2
L RCP Detached View beim Starten des RCPs? Plattformprogrammierung 3
F Tollbar Items disabled wenn View den Focus verliert Plattformprogrammierung 3
S RCP name einer view ändern Plattformprogrammierung 2
L RCP Help in eine View einbinden? Plattformprogrammierung 3
G RCP Menüpunkt Show View Plattformprogrammierung 7
G EMF -> Leere Elemente sollen in Property View nicht angezeigt werden Plattformprogrammierung 9
E eclipse RCP Properties View: ein Element aus Liste pro Zeile anzeigen Plattformprogrammierung 1
Z Eclipse RCP - UDP Strom in View anzeigen Plattformprogrammierung 4
L RCP Canvas in einer View? Plattformprogrammierung 4
lumo Eclipse + 'Could not create view' Plattformprogrammierung 5
D Canvas auf View in Eclipse PlugIn Plattformprogrammierung 3
T RCP Menubar wird durch OLE-VIEW überschrieben Plattformprogrammierung 4
S Plugin: View beim Button-Klick austauschen Plattformprogrammierung 7
Saxony View als Image Plattformprogrammierung 2
S View Refreshen Plattformprogrammierung 2
T geladene Views / Event wenn View closed Plattformprogrammierung 4
S Steuerung View (Schließen erkennen/Hide anstatt Close) Plattformprogrammierung 2
S View speichern/laden beim schließen Plattformprogrammierung 14
L View schließen Plattformprogrammierung 7
L View nicht bekannt machen Plattformprogrammierung 4
lumo View aktivieren jedesmal wen.... Plattformprogrammierung 7
A Overlay in View eines anderen Plug-Ins zeichnen Plattformprogrammierung 2
A View ansprechen Plattformprogrammierung 5
T GMF Property View Plattformprogrammierung 4
M Command in Toolbar aktiv wenn View nicht aktiv Plattformprogrammierung 2
C RCP: Veraenderungen innerhalb einer View per Extension?! Plattformprogrammierung 7
T JSVGCanvas in RCP View anzeigen Plattformprogrammierung 5
ARadauer Mehrere Gui Elemente in View Plattformprogrammierung 4
B RCP - Zugriff von View auf andere View Plattformprogrammierung 4
Saxony [Eclipse RCP] Von woanders View updaten Plattformprogrammierung 11
S View aus anderen Thread aktualisieren Plattformprogrammierung 15
K Position einer Multiple View speichern Plattformprogrammierung 6
G View Daten übergabe. Plattformprogrammierung 4
N Nicht schließbare View? Plattformprogrammierung 7
C View updaten Teil 2 Plattformprogrammierung 2
B Eclipse RCP: View updaten Plattformprogrammierung 10
J Editorfenster von View navigieren lassen? Plattformprogrammierung 5
T Aus einem View in das andere wecheln. Plattformprogrammierung 13
R SWT: nur eine Instanz einer View erlauben Plattformprogrammierung 5

Ähnliche Java Themen


Oben