< Vorherige Lektion | Nächste Lektion >

Lerneinheit 4: Menü für ein Profil unterteilen

In dieser Lerneinheit unterteilen Sie ein Profiltoolmenü.
Auf der Basis des UML-Modells und -profils, das Sie in Lerneinheit 1 erstellt haben, müsste das Popup-Menü (namens Add My Profile) zwei Stereotypen enthalten: Akteur <A> und Akteur <B>. (Beachten Sie, dass die Zuordnungen nicht in diesem Popup-Menü angezeigt werden.) Anstatt ein einzelnes Standardmenü mit beiden Stereotypen beizubehalten erstellen Sie zwei separate Popup-Menüs, und zwar eines für Akteur <A> und eines für Akteur.

Gehen Sie wie folgt vor, um das Profiltoolmenü in zwei Menüs zu unterteilen:

  1. Kehren Sie zu dem Projekt 'My Profile Tooling Project' zurück, das Sie in Lerneinheit 1 erstellt haben.
  2. Öffnen Sie in der Sicht 'Projektexplorer' das Toolmodell My Profile und erweitern Sie das Paket <<Menus>> Menüs.
  3. Untersuchen Sie in der Sicht 'Eigenschaften' auf der Seite 'Popup-Menü' die Eigenschaften für <<ContextMenu>> My Profile: Ihnen wird auffallen, dass nur ein einziges untergeordnetes Element vorhanden ist, nämlich das <<FlyoutMenu>> 'Add My Profile'. Um ein neues Popup-Menü zu erstellen, erstellen Sie ein neues Element 'FlyoutMenu' und fügen dieses als zweites untergeordnetes Element hinzu.
  4. Bevor Sie beginnen, bereinigen Sie jedoch <<FlyoutMenu>> 'Add My Profile'. Klicken Sie hierzu in der Sicht 'Projektexplorer' auf <<FlyoutMenu>> Add My Profile und navigieren Sie zu der Seite 'Allgemein' der Sicht 'Eigenschaften'. Ändern Sie dann den Namen für dieses Menü in einen aussagekräftigeren Namen, zum Beispiel Add A Stuff.
  5. Klicken Sie in der Sicht 'Eigenschaften' auf die Registerkarte FlyoutMenu. Die Eigenschaft für untergeordnete Elemente sollte einen Eintrag enthalten, und zwar <<MenuGroup>> 'defaultGroup'. Daher ist ein Popup-Menü einfach ein <<ContextMenu>> mit Links zu untergeordneten Elementen - <<FlyoutMenu>> -, und diese sind mit untergeordneten Elementen des Typs <<MenuGroup>> verlinkt.
    Anmerkung: Um ein Popup-Menü beizubehalten, zum Beispiel 'My Profile hinzufügen', und über zwei separate Flyout-Menüs zu verfügen, könnten Sie ein zweites Element <<MenuGroup>> zum Menü <<Flyout>> hinzufügen.
  6. Um die Bereinigung der aktuellen Menüs fortzusetzen, verwenden Sie die Menügruppe 'defaultGroup' für Elemente von 'A' und erstellen eine neue Menügruppe für Elemente von 'B'. Wählen Sie in der Sicht Projektexplorer die Gruppe <<MenuGroup>> 'defaultGroup' aus und ändern Sie in der Sicht 'Eigenschaften' auf der Seite Allgemein den Namen für die Gruppe in einen aussagekräftigeren Namen, zum Beispiel in AGroup.
  7. Klicken Sie auf die Registerkarte 'MenuGroup'. Beachten Sie, dass unter der Eigenschaft für untergeordnete Elemente zwei Elemente aufgeführt sind.
  8. Löschen Sie das untergeordnete Akteurelement <<MenuCreationAction>><B> und schließen Sie dieses Fenster.
  9. Klicken Sie in der Sicht 'Projektexplorer' mit der rechten Maustaste auf <<ContextMenu>> 'MyProfile'. Klicken Sie dann auf Diagramm hinzufügen > 'ContextMenu'-Diagramm hinzufügen. Das Diagramm zeigt das Popup-Menü (My Profile) mit einem untergeordneten Flyout-Menü (Add A Stuff) an. Wie die folgende Abbildung veranschaulicht, besitzt das Menü 'Add A Stuff' ein untergeordnetes Menügruppenelement (AGroup), das ein untergeordnetes Erstellungsaktionselement (Akteur) hat.

    Kontextmenü mit Flyout-Menü

    Anmerkung: Sie können in Diagrammen Anpassungen vornehmen. Häufig ist es jedoch einfacher und rascher, die Anpassung durch Bearbeitung der Elementeigenschaften vorzunehmen. Vergessen Sie nicht, dass sich die Zuordnungen in Profiltools nicht wie Zuordnungen in beispielsweise einem Klassendiagramm verhalten. Ebenso können Sie eine Zuordnung nur aus dem Diagrammeditor löschen. Hierdurch wird jedoch die eigentlich zugrundeliegende Zuordnung zwischen einem Flyout-Menü und seiner Gruppe nicht gelöscht.
  10. Erstellen Sie ein neues Flyout-Menü und eine neue Menügruppe für 'B Stuff', also Elemente für bzw. von B. Wählen Sie hierzu das Tool FlyoutMenu in der Palette Menüs aus und ziehen Sie es in den Diagrammeditor. Geben Sie ihm anschließend den Namen Add B Stuff.
  11. Führen Sie dieselben Schritte noch einmal aus, um das Tool 'MenuGroup' zu erstellen, und nennen Sie es BGroup.
  12. Um die Akteur-Menüerstellungsaktion mit dieser neuen Menügruppe zu verbinden, ziehen Sie <<MenuCreationAction>> Akteur <B> aus der Sicht 'Projektexplorer' in den Diagrammeditor. Nun enthält das Diagramm das neue Flyout-Menü, die neue Menügruppe und das ursprüngliche Akteur-Menüerstellungselement.
    Neues Flyout-Menü, neues Menü 'grpul' und ursprüngliches Akteur-Erstellungselement nach Hinzufügen zum Diagramm
  13. Um diese Elemente zu verbinden, verwenden Sie in der Palette unter Menü das Tool MenuContainer für untergeordnete Elemente, um das Popup-Menü My Profile mit dem Flyout-Menü Add B Stuff zu verbinden.
  14. Verwenden dasselbe Tool, um das Flyout-Menü Add B Stuff mit der Menügruppe BGroup zu verbinden und die Menügruppe BGroup mit dem Akteur <B>-Menüerstellungselement, sodass das Diagramm wie in der folgenden Abbildung aussieht.

    Alternativen Text eingeben

  15. In der Sicht Projektexplorer sehen Sie das neue 'FlyoutMenu'-Element und das neue 'MenuGroup'-Element. Beachten Sie, dass sie unter 'ContextMenu My Profile' aufgeführt sind, denn dort wurde 'ContextMenuDiagram1' erstellt. Jedes Element in einem Diagramm wird an derselben Stelle wie das Diagramm erstellt. Bei Bedarf können Sie das Diagramm schließen, die neuen Elemente an andere Positionen in der Sicht 'Projektexplorer' verschieben und dann ein neues 'ContextMenu'-Diagramm erstellen.
  16. Sie haben die Anpassung des Menüs im Toolmodell beendet.
  17. Klicken Sie auf Datei > Speichern, um Ihre Arbeit zu speichern.
    Hinweis: Sie können den Profiltoolcode generieren oder erneut generieren, indem Sie in der Sicht Projektexplorer mit der rechten Maustaste auf das Toolmodell klicken und danach auf Toolcode generieren klicken.
Wenn Sie das Profiltool-Plug-in implementieren und auf der Basis dieses Profils ein neues Modell erstellen, sollte Ihre Palette wie in der folgenden Abbildung aussehen:

Neu erstellte Palette