Die Schnittstelle IMenu liefert die Basisfunktionen für das Main Menu das Sub Menu sowie das Popup Menu. Es folgt eine kurze Beschreibung der wichtigsten Methoden:
Mit Hilfe der folgenden Methoden kann das Model gesetzt und ausgelesen werden. Siehe auch Menü und Item Models.
void setModel(IMenuModel model); IMenuModel getModel();
Mit Hilfe der folgenden Methoden können Items zu einem Menü hinzugefügt werden:
<WIDGET_TYPE extends IMenuItem> WIDGET_TYPE addItem(IWidgetDescriptor<? extends WIDGET_TYPE> descriptor); <WIDGET_TYPE extends IMenuItem> WIDGET_TYPE addItem(int index, IWidgetDescriptor<? extends WIDGET_TYPE> descriptor); IActionMenuItem addAction(IAction action); IActionMenuItem addAction(int index, IAction action); IMenuItem addSeparator(); IMenuItem addSeparator(int index);
Die ersten beiden Methoden verwenden dazu einen Descriptor (BluePrint). Folgende Items können so hinzugefügt werden:
Die Methoden addAction()
fügen ein
Action Menu Item
hinzu, welches an die übergebene IAction
(siehe Actions and
Commands) gebunden wird. Mit Hilfe von
addSeparator()
kann ein
Separator Menu Item
mit verkürzter Schreibweise hinzugefügt werden. Wird ein
index
angegeben, wird das Item an der
entsprechenden Stelle eingefügt, ansonsten am Ende.
Das folgende Beispiel demonstriert die Verwendung:
1 IMainMenu menu = menuBar.addMenu("Menu"); 2 IActionMenuItem action1 = menu.addItem(BPF.menuItem("Action1")); 3 IActionMenuItem action2 = menu.addItem(BPF.menuItem("Action1")); 4 menu.addItem(BPF.menuSeparator()); 5 ISelectableMenuItem opt1 = menu.addItem(BPF.checkedMenuItem("Option1").setSelected(true)); 6 ISelectableMenuItem opt2 = menu.addItem(BPF.checkedMenuItem("Option2")); 7 menu.addSeparator(); 8 ISelectableMenuItem radio1 = menu.addItem(BPF.radioMenuItem("Radio1").setSelected(true)); 9 ISelectableMenuItem radio2 = menu.addItem(BPF.radioMenuItem("Radio2")); 10 ISelectableMenuItem radio3 = menu.addItem(BPF.radioMenuItem("Radio3")); 11 menu.addSeparator(); 12 ISubMenu subMenu = menu.addItem(BPF.subMenu("Sub Menu")); 13 IActionMenuItem subaction subMenu.addItem(BPF.menuItem("Subaction"));
In Zeile 4 wird eine
Separator mit Hilfe
des BluePrint hinzugefügt, in Zeile 7 und 11 mit Hilfe der
Convenience Methode addSeparator()
.
Das Ergebnis sieht wie folgt aus: