3.11.3. Die Schnittstelle IItemModel

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:

Die Item ID

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.

Label, Tooltip und Icon

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();
Tastatursteuerung

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();
Der Enabled State

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.

Der Visible State

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.

ItemModelListener

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.

Kopieren von Item Models

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();

Siehe auch PDF Version dieses Dokuments, Jowidgets API Spezifikation