Toolfenster

Zur Implementierung eines Toolfensters ist eine Klasse erforderlich, die von Control abgeleitet ist und IToolWorkArea realisiert.

Bereitstellen der Klasse

In Plug-ins können eigene Toolfenster definiert werden. Dazu muss eine Klasse bereitgestellt werden, die den Inhalt des Fensters festlegt. Diese Klasse muss folgende Eigenschaften aufweisen:

  • Die Klasse muss eine Spezialisierung von System.Windows.Controls.Control sein. Auch eine indirekte Ableitung ist möglich.

    Empfehlenswert ist die Verwendung einer XAML-Datei, die auf ContentControl oder UserControl basiert. Der Fensterinhalt kann dann in dieser XAML-Datei definiert werden.

  • Die Klasse muss die Schnittstelle IToolWorkArea realisieren.

    Die Eigenschaften und Methoden der Schnittstelle dienen dem Senden von Nachrichten des Frameworks an das Fenster und dem Lesen von Fensterdaten durch das Framework.

Hinweis

Zur Erzeugung eines einfachen Toolfensters siehe das Sample MID.Innovator.Plugin.Sample.HelloToolWindow.

Schnittstelle IToolWorkArea

Jedes Toolfenster braucht einen eindeutigen, stringwertigen Identifikator, über den das Toolfenster innerhalb des Modells adressiert werden kann. Zu diesem Zweck muss die Klasse die Eigenschaft IToolWorkArea.ToolWindowType implementieren. Der Identifikator ist bzgl. der zulässigen Zeichen eingeschränkt. Es empfiehlt sich daher, die Funktion FrameworkManager.GetToolWindowType zur Bildung des Strings zu verwenden.

IToolWorkArea ist eine Spezialisierung von IWorkArea, deren Eigenschaften und Methoden dementsprechend auch implementiert werden müssen. Diese werden in den folgenden Abschnitten behandelt.

Erzeugen des Toolfensters

Toolfenster werden beim Öffnen eines Modells erzeugt, also zweckmäßigerweise in RequestHandler bei der Bearbeitung der Nachricht OpenModel.

Für das neu erzeugte Fenster wird ein Befehl in das Menü Ansicht>Fenster>Toolfenster generiert, über den das Toolfenster eingeblendet werden kann.