RCP Ein Command in mehreren Plugins verwenden?

G

Gast2

Gast
Hi,

1. Entweder das Plugin exportiert das Command und das andere Plugin nimmt das package als dependency mit auf oder
2. Plugin registriert den Command als OSGi-Service und das andere Plugin holt sich diesen OSGi-Service.
 

Mr_Johnson

Aktives Mitglied
Danke für die Antwort.

Ich baue gerade an einem Beispiel. Hab zwei Plugins. Eins hat eine View, das andere ein Command mit Handler.
[XML]<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="org.eclipse.ui.commands">
<command
defaultHandler="MultiplePluginsCommands_dependencyPlugin.handler1"
id="MultiplePluginsCommands_dependencyPlugin.testCommand"
name="MultiplePluginsCommands_dependencyPlugin.testCommand">
</command>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="multipleplugins_commands.testCommandHandler"
commandId="MultiplePluginsCommands_dependencyPlugin.testCommand">
</handler>
</extension>
</plugin>[/XML]

Im Plugin mit der View definiere ich jetzt ein Menü und hänge das Command aus dem zweiten Plugin ein.
[XML]
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>

<extension
id="application"
point="org.eclipse.core.runtime.applications">
<application>
<run
class="commandsmultipleplugins.Application">
</run>
</application>
</extension>
<extension
point="org.eclipse.ui.perspectives">
<perspective
name="Perspective"
class="commandsmultipleplugins.Perspective"
id="CommandsMultiplePlugins.perspective">
</perspective>
</extension>
<extension
point="org.eclipse.ui.views">
<view
name="View"
class="commandsmultipleplugins.View"
id="CommandsMultiplePlugins.view">
</view>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="menu:eek:rg.eclipse.ui.main.menu">
<command
commandId="MultiplePluginsCommands_dependencyPlugin.testCommand"
icon="Drink_BeerPint.png"
label="testCommand"
style="push">
</command>
</menuContribution>
</extension>

</plugin>

[/XML]

Wenn ich starte ist die Schaltfläche für das Command inaktiv. Was mach ich falsch?
 

Mr_Johnson

Aktives Mitglied
Hi,

1. Entweder das Plugin exportiert das Command und das andere Plugin nimmt das package als dependency mit auf oder
2. Plugin registriert den Command als OSGi-Service und das andere Plugin holt sich diesen OSGi-Service.

So ein Beispiel mit Lösung 1. läuft. Eine Unklarheit gibts für mich aber noch. Was meinst du genau mit "das Plugin exportiert das Command" ? Unter "Runtime -> Exported Packages" habe ich nichts eingetragen und es funktioniert trotzdem. Meinst du noch etwas anderes?
 
G

Gast2

Gast
So ein Beispiel mit Lösung 1. läuft. Eine Unklarheit gibts für mich aber noch. Was meinst du genau mit "das Plugin exportiert das Command" ? Unter "Runtime -> Exported Packages" habe ich nichts eingetragen und es funktioniert trotzdem. Meinst du noch etwas anderes?

Wie hast du dein Plugin eingebunden? Als jar oder OSGi-Bundle?
Wahrscheinlich hast du es einfach in den Classpath mit reingemacht?
Du solltest OSGi-Bundles in deinem Manifest als Plugins mit aufnehmen oder das entsprechende package aufnehmen.
 
T

Tomate_Salat

Gast
Wirklich? Ich habe etwa das gleiche gemacht:
2 Plugin-Projekte
in einem definiere ich einen View+Editor und läuft standalone
in einem 2ten Projekt füge ich das Plugin als dependency hinzu (das erste exportiert explizit nichts) und ich verwenden den importierten View in diesem RCP-Projekt.
Beide RCP-s laufen ohne Probleme oder werden da eventuell welche auftauchen?
 
M

Mr_Johnson_

Gast
Hallo! :)

Kann ich auch von einem Plugin aus, während der Laufzeit, programmatisch auf ein Menü in einem anderen Plugin zu greifen und ein Command aus einem anderen Plugin hinzufügen?

Das Plugin, dem etwas hinzugefügt werden soll, darf nichts von dem zweiten Plugin wissen.

Geht das? Wenn ja, wo kann ich es nachlesen?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Robertop RCP Command in bereits bestehendes Eclipse-Menü einbauen Plattformprogrammierung 4
G RCP Show View Command bestimmte View nicht erlauben Plattformprogrammierung 2
G Command und Context Menu Plattformprogrammierung 2
G Command Plattformprogrammierung 2
M Command in Toolbar aktiv wenn View nicht aktiv Plattformprogrammierung 2
G emf drag and drop command Plattformprogrammierung 4
N RCP Tabelle nach mehreren kriterien sortieren Plattformprogrammierung 2
J Zwei Applikationen aus mehreren Plugins generieren Plattformprogrammierung 2
G Text kopieren aus TreeViewer mit mehreren Spalten Plattformprogrammierung 6
D RCP P2-Repository für Eclipse-Plugins Plattformprogrammierung 0
A RCP Objekt(parameter) zwischen Plugins austauschen Plattformprogrammierung 0
D RCP closed source RCP erweitern & Plugins nutzen Plattformprogrammierung 4
G RCP Abhängigkeiten von Eclipse Plugins Plattformprogrammierung 9
S Equinox: plugins und features Plattformprogrammierung 8
J Daten zwischen Plugins austauschen Plattformprogrammierung 4
M Daten zwischen 2 Eclipse-Plugins tauschen Plattformprogrammierung 5
P Wo im Projekt weitere Plugins anmelden ? Plattformprogrammierung 2
S PreferenceStore und unterschiedliche Plugins Plattformprogrammierung 4
lumo ECLIPSE RCP - mehrere plugins - eine resource? Plattformprogrammierung 3
M Teilweise Probleme beim Updaten von Plugins Plattformprogrammierung 3
S Versionsprobleme beim Erstellen eines Plugins Plattformprogrammierung 6
E Test von RCP Plugins in Fragmente oder Plugins Plattformprogrammierung 3
G Aufteilung Plugins Plattformprogrammierung 8
M JUnit 4.3.1 aus eclipse plugins durch junit 4.4 ersetzen Plattformprogrammierung 2
dzim java.lang.ClassNotFoundException beim laden eines Plugins Plattformprogrammierung 10
Paule Eclipse Instanz + eigene Plugins Plattformprogrammierung 4
S Plugins interagieren lassen Plattformprogrammierung 6
Wildcard Wie buildet ihr eure PlugIns? Plattformprogrammierung 6
dzim eigene Application und PlugIns Plattformprogrammierung 16
dzim Classpath in PlugIns Plattformprogrammierung 7
T [RCP] Was passiert genau beim laden eines Plugins? Plattformprogrammierung 4
G Eclipse, Plugins, Properties, und wo zum Geier steckt das? Plattformprogrammierung 21
lhein Sprachumschaltung eines eigenen Eclipse Plugins Plattformprogrammierung 8
T Kommunikation zwischen Plugins (RCP) Plattformprogrammierung 18

Ähnliche Java Themen

Neue Themen


Oben