Die Schnittstelle IItemModel liefert die Basisfunktionen für
alle Item Models. Es werden nicht für jeden Item Typ alle
Attribute ausgewertet, bzw. an ein konkretes Item gebunden. So
kann zum Beispiel der enabled
State nur für
Action Items gesetzt werden, weil andere Items ein
disable
nicht ermöglichen. Es folgt eine
kurze Beschreibung der wichtigsten Methoden:
Mit Hilfe der folgenden Methode erhält man die id eines Items:
String getId();
Die id darf weder null
noch ein Leerstring
sein. Die id sollte möglichst global eindeutig sein. Wird
keine id definiert, wird per default eine UUID verwendet. Die
Item id wird für die Implementierung von
equals()
und hashCode()
herangezogen. Zwei Items sind genau dann gleich, wenn ihre
id’s gleich sind. Es ist nicht möglich, zwei Items mit der
gleichen id zu einem Menü hinzuzufügen.
Mit Hilfe der folgenden Methoden können der Label Text, das Tooltip und das Icon gesetzt und ausgelesen werden:
void setText(final String text); String getText(); void setToolTipText(String toolTipText); String getToolTipText(); void setIcon(IImageConstant icon); IImageConstant getIcon();
Mit den folgenden Methoden erhält man Zugriff auf Mnemonic und Key Accelerator:
void setAccelerator(Accelerator accelerator); void setAccelerator(final VirtualKey key, final Modifier... modifier); Accelerator getAccelerator(); void setMnemonic(Character mnemonic); void setMnemonic(char mnemonic); Character getMnemonic();
Mit den folgenden Methoden kann der enabled
State gesetzt und ausgelesen werden:
void setEnabled(boolean enabled); boolean isEnabled();
Aktionen, welche nicht enabled sind, können nicht ausgeführt werden, und werden in der Regel ausgegraut dargestellt.
Mit Hilfe der folgenden Methoden kann der
visible
State gesetzt und ausgelesen
werden:
void setVisible(boolean visible); boolean isVisible();
Items welche nicht visible
sind, werden im
zugehörigen Menü nicht angezeigt, ohne das das Item aus dem
Menü Model entfernt werden muss.
Mit Hilfe der folgenden Methoden kann ein
IItemModelListener
registriert oder
deregistriert werden:
void addItemModelListener(IItemModelListener listener); void removeItemModelListener(IItemModelListener listener);
Dieser hat die folgende Methode:
void itemChanged(IItemModel item);
Diese wird immer aufgerufen, wenn ein Item geändert wurde, wie
zum Beispiel der Label Text, das Icon oder der
enabled
oder visible
State.
Mit Hilfe der folgenden Methode kann eine Kopie (Deep Copy) eines Item Models erzeugt werden. Die Kopie hat dabei die gleichen Items wie das Original (jedoch nicht die Selben). Registrierte Listener werden nicht mitkopiert. Dadurch sind bereits gebundene Items nicht an die Kopie gebunden.
IItemModel createCopy();