Sie befinden sich hier: Benutzeranpassungen > Plug-ins für Innovator erstellen > Befehle

Befehle

Ein Befehl ist ein Objekt, das die Semantik einer Aktivität repräsentiert. Befehle können Steuerelementen zugewiesen werden, deren Aktivierung den Befehl auslöst. Die Verarbeitung erfolgt kontextabhängig.

Definition eines Befehls

Ein Befehl ist ein Objekt, das die Semantik einer Aktivität repräsentiert. "Kopieren" und "Speichern" sind Beispiele für Befehle.

Befehle können Steuerelementen zugewiesen werden, wie z.B. einer Menüband-Schaltfläche. Bei Aktivierung des Steuerelements wird der Befehl ausgelöst. Nach Auslösung muss der Befehl verarbeitet werden. Diese Verarbeitung erfolgt kontextabhängig. So wird beispielsweise der Speichern-Befehl in einem Textfenster anders verarbeitet als in einem Fenster, das ein Bild enthält.

Ein Befehl wird durch ein Objekt vom Typ ExtCommand mittels folgender Eigenschaften beschrieben.

Eigenschaft Funktion obligatorisch
Identifier Eindeutiger, stringwertiger Identifikator
LabelTitel Text des Befehls
SmallImageSource Symbol in der Größe 16x16  
LargeImageSource Symbol in der Größe 32x32  
ToolTipText Text des Tooltipps  
ToolTipImageSource Symbol im Tooltipp  

Achtung

Der Befehl wird bei seiner Verarbeitung über seinen Identifikator erkannt. Es ist daher unerlässlich, dass dieser eindeutig gewählt wird. Bei Plug-ins empfiehlt sich daher, den Plug-in-Namen als Präfix des Identifikators zu verwenden.

Zur Definition eigener Befehle sind Objekte vom Typ ExtCommand zu erzeugen und diese als Liste bei Bearbeitung der OpenModel-Nachricht mittels der Methode GUIRegistration.AddCommands zu registrieren.

Hinweis

Zur Definition eigener Befehle siehe das Sample MID.Innovator.Plugin.Sample.Command.

Zuweisung zu Steuerelementen

Werden zur Erzeugung eines Steuerelements die Create-Methoden der Klasse RibbonManager verwendet, dann wird der zugehörige Befehl als Argument an die Create-Methode übergeben. Die Daten des Befehls wie Text, Symbole und Tooltipp werden vom Steuerelement übernommen.

Verarbeitung eines Befehls

Plug-ins können Befehle von der Klasse verarbeiten lassen, die IApplicationComponent realisiert. Dazu muss die Klasse zusätzlich die Schnittstelle ICommandDispatchable realisieren, indem sie zwei Dispatcher-Methoden zur Verfügung stellt:

Bei der Verarbeitung eines Befehls werden vom Framework nacheinander eine Reihe von Dispatcher-Methoden aufgerufen:

Verarbeitet ein Dispatcher einen Befehl, dann liefert er true als Ergebnis zurück und die Reihe bricht ab. D.h. es wird niemals ein Befehl von mehreren Dispatcher-Methoden gleichzeitig verarbeitet. Ein Plug-in muss also in seinen Dispatcher-Methoden dann und nur dann true als Ergebnis liefern, wenn es den Befehl verarbeitet. Verarbeitung ist nicht zu verwechseln mit Ausführbarkeit. Verarbeitung ist dann gegeben, wenn ein Befehl auf Ausführbarkeit geprüft und unter gewissen Umständen ausgeführt wird. Das ist eine feste Eigenschaft, die sich niemals ändert. Ausführbarkeit dagegen ist eine temporäre Eigenschaft, die vom aktuellen Zustand der Daten in der Anwendung abhängt.

 

 

© 1986-2014 MID GmbH Nürnberg Deutschland. DIN EN 9001 zertifiziert. Alle Rechte vorbehalten.