2016-07-29 9 views
0

Ich erstelle derzeit ein Plugin für IBM Rational Rhapsody. Das Werkzeug zu kennen ist für diese Diskussion nicht wirklich notwendig, aber ich wollte es nur für den Fall erwähnen. Im Grunde schrieb ich den Java-Code in Eclipse und führte ihn durch ein Jar, um in Rhapsody importiert zu werden.Ein modaler Rahmen in IBM Rational Rhapsody

Für das Plug-In muss möglicherweise eine Benutzerinteraktion ausgeführt werden: Beispielsweise erstellt das Plug-in möglicherweise ein Element des Modells, weiß jedoch nicht, in welches Paket es eingefügt werden soll. Dazu habe ich eine JDialog-Klasse erstellt, die eine setModal (true) -Methode aufruft. Wie Sie vielleicht wissen, stellt dies sicher, dass der Thread, der den Dialog erstellt, nicht mehr ausgeführt wird, bis der Benutzer Eingaben bereitstellt. Auf Eclipse funktioniert das alles perfekt, aber wenn das Glas auf Rhapsody läuft, tut es nicht, was ich von ihm erwarte. Abgesehen davon, dass das Ausführen des Plugins gestoppt wird, bis eine Eingabe bereitgestellt wird, stoppt es auch die Rhapsody-Anwendung und führt dazu, dass das UML-Modell unbrauchbar wird. Um den Benutzern zu verdeutlichen, wo sie ihre Eingaben einfügen müssen, müssen sie in der Lage sein, das UML-Modell zu verwenden und zu analysieren. Was ich versuche zu erreichen ist, dass mein Dialog nur das Ausführen des Plugins stoppt, nicht das gesamte Modell.

Ich habe keine Codezeile geschrieben, da es sich um eine Konzeptfrage handelt: Wie kann ich ein Plug-in erstellen, das außerhalb eines Werkzeugwegs auf einem Thread liegt, damit das Tool während des Plugins verwendet werden kann?

Ich hoffe meine Frage ist klar, ich hatte eine schwere Zeit, das Problem zu erklären.

Ihnen allen für Ihre Hilfe danken, Giordano

Antwort

0

Rhapsody Plugins laufen im gleichen Prozess wie die Rhapsody-Anwendung so eine Sache, die Sie könnten versuchen, ist ein Helfer anstelle eines Plugins zu verwenden. Rhapsody-Helfer laufen in einem separaten Prozess. Sie können einen Helfer unter Werkzeuge hinzufügen -> anpassen -> Helfer. Von dort können Sie Ihre Swing-Anwendung aufrufen und die Rhapsody-API zum Abfragen/Ändern des Modells verwenden.

Verwandte Themen