Schnittstelle IApplicationComponent

Das Innovator-Framework verwendet die Schnittstelle IApplicationComponent zum Senden von Nachrichten an das Plug-in.

Realisierung der Schnittstelle

Ein Plug-in muss genau eine Klasse enthalten, die IApplicationComponent realisiert. Das Innovator-Framework nutzt diese Klasse zum Senden von Nachrichten an das Plug-in, wenn relevante Ereignisse auftreten. Dazu erzeugt das Framework eine Instanz der Klasse beim Öffnen eines Innovator-Modells. Diese Instanz besteht während der gesamten Lebensdauer des Modells und wird für alle Nachrichten verwendet, die im Kontext dieses Modells auftreten.

Bemerkung: Das Plug-in selbst instanziiert niemals die eigene schnittstellenrealisierende Klasse.

IApplicationComponent.Description

Die Eigenschaft Description dient der Selbstbeschreibung des Plug-ins.

ComponentDescription Description { get; }

Die Klasse ComponentDescription enthält folgende Eigenschaften:

  • Purpose

    Zweck des Plug-ins

Bemerkung: Die Description-Eigenschaft wird gegenwärtig nicht ausgewertet und ist für zukünftige Verwendung vorgesehen.

IApplicationComponent.RequestHandler

RequestHandler ist die zentrale Methode der Schnittstelle IApplicationComponent, die eingehende Nachrichten vom Framework verarbeitet.

void RequestHandler(ModelDockSite, Request)
  • ModelDockSite

    Modellkontext, in dem alle relevanten Daten zum Modell und dem Fenster, in dem das Modell dargestellt wird, enthalten sind.

  • Request

    Nachricht, die vom Framework geschickt wurde. Die Eigenschaft Type spezifiziert das Ereignis, das zum Senden der Nachricht geführt hat.

    Die elementaren Nachrichtentypen werden im Folgenden näher erläutert:

Check

Unmittelbar nach der Anmeldung des Benutzers im Modell erhält jedes Plug-in eine Nachricht vom Typ Check. Bei der Bearbeitung sollte ein Plug-in prüfen, ob es mit dem Modell lauffähig ist. Erfüllt das Modell nicht die notwendigen Voraussetzungen, dann sollte das Plug-in eine aussagekräftige Meldung in der Eigenschaft Error der Request-Struktur als Ergebnis liefern. Das Plug-in wird dann nicht geladen und bleibt während der Laufzeit der Innovator Oberfläche inaktiv. Ein späteres Nachladen des Plug-ins ist nicht möglich.

Hinweis: Ein Plug-in, das unter allen Umständen lauffähig ist, muss die Nachricht nicht bearbeiten.

Hinweis

Zur Bearbeitung der Check-Nachricht siehe das Sample MID.Innovator.Plugin.Sample.CheckRequest.

OpenModel

Ist das Plug-in nicht im Zuge der Bearbeitung der Check-Nachricht deaktiviert worden, dann erhält es im Anschluss eine OpenModel-Nachricht. Hier besteht nun die Möglichkeit, die Oberfläche zu erweitern durch:

  • Registrierung eigener Befehle

  • Erzeugung zusätzlicher Steuerelemente im Menüband

  • Erzeugung eigener Toolfenster