Hallo Zusammen!
Ich versuche gerade auf Eclipse Galileo einen ViewPart der aus Plug-in/Bundle A kommt dynamisch in eine Plug-in B, was eine RCP Anwendung ist, in dessen Perspektive anzeigen zu lassen.
Es ist so, dass Bundle A einen ViewPart implementiert und eine Contribution zu org.eclipse.ui.views macht.
Meine Default Perspektive in der RCP Anwendung implementiert den IExtensionChangeHandler. Sobald also eine Contribution zum ExtensionPoint org.eclipse.ui.views mit der entsprechenden ID von View aus Bundle A installiert und gestartet wird, wird die addExtension Methode aufgerufen und die View hinzugefügt. Leider passeirt aber rein gar nichts sobald ich das Bundle über die OSGI console installiere. Die addExtension Methode wird aufgerufen und auch layout.addView. Doch die View wird nicht angezeigt.
Wenn ich aber die beiden Bundles gemeinsahm per Eclipse Launch-Config starte kalppt es. Die View ist drinn!
So sieht meine addExtension Methode in meiner Default Perspektiven Klasse aus:
Ich verstehe nicht warum das nicht klappt. Ist das ein Bug?
Wenn ich das Bundle A deinstalliere verschwindet die View auch (sofern per Launcher gestartet). Installiere ich Bundle A aber wieder, kommt die VIew nicht zurück, obwohl die addExtension Methode aufgerufen wird.
Weis jemand einen Rat? :?:
Viele Grüße
Eduard
Ich versuche gerade auf Eclipse Galileo einen ViewPart der aus Plug-in/Bundle A kommt dynamisch in eine Plug-in B, was eine RCP Anwendung ist, in dessen Perspektive anzeigen zu lassen.
Es ist so, dass Bundle A einen ViewPart implementiert und eine Contribution zu org.eclipse.ui.views macht.
Meine Default Perspektive in der RCP Anwendung implementiert den IExtensionChangeHandler. Sobald also eine Contribution zum ExtensionPoint org.eclipse.ui.views mit der entsprechenden ID von View aus Bundle A installiert und gestartet wird, wird die addExtension Methode aufgerufen und die View hinzugefügt. Leider passeirt aber rein gar nichts sobald ich das Bundle über die OSGI console installiere. Die addExtension Methode wird aufgerufen und auch layout.addView. Doch die View wird nicht angezeigt.
Wenn ich aber die beiden Bundles gemeinsahm per Eclipse Launch-Config starte kalppt es. Die View ist drinn!
So sieht meine addExtension Methode in meiner Default Perspektiven Klasse aus:
Java:
public void addExtension(IExtensionTracker tracker, IExtension extension) {
if(extension.getConfigurationElements()[0].getAttribute("id").equals("org.wt.test.im.extension.im")){
System.out.println("add " + extension.getConfigurationElements()[0].getAttribute("id"));
layout.addView(extension.getConfigurationElements()[0].getAttribute("id"), SWT.RIGHT, 0.5f, layout.getEditorArea());
}
}
Ich verstehe nicht warum das nicht klappt. Ist das ein Bug?
Wenn ich das Bundle A deinstalliere verschwindet die View auch (sofern per Launcher gestartet). Installiere ich Bundle A aber wieder, kommt die VIew nicht zurück, obwohl die addExtension Methode aufgerufen wird.
Weis jemand einen Rat? :?:
Viele Grüße
Eduard