Sie befinden sich hier: Benutzeranpassungen > Plug-ins für Innovator erstellen > Tool- und Dokumentfenster > Fensteraktualisierung

Fensteraktualisierung

Werden in einem Fenster Eigenschaften von Modellelementen geändert, so sind die anderen Fenster davon zu benachrichtigen, damit sie ihren Inhalt anpassen können.

Zusammenhang

Die meisten Fenster zeigen Modellelemente nicht nur an, sondern sie ermöglichen auch deren Änderung. Eine solche Änderung wirkt sich aber meistens nicht nur lokal im Fenster aus, in dem geändert wurde, sondern auch in anderen Fenstern. Wird beispielsweise der Name eines geöffneten Diagramms im Modellbaum geändert, dann ist auch der Text der Registerlasche des Diagramms und das Namensfeld im Eigenschaftenbereich anzupassen. Bei einer Änderung an Modellelementen muss also das Fenster, in dem die Änderung stattgefunden hat, die anderen Fenster von der Aktion benachrichtigen. Diesem Zweck dient die Refresh-Nachricht.

WindowMessageType.Refresh

Eine Refresh-Nachricht hat Daten vom Typ RefreshWindowMessage. In den Daten sind Informationen zur Art der Aktualisierung enthalten:

Mode Auslösende Aktion ElSet
Command Der Befehl Inhalt neu laden wurde ausgelöst. Leere Menge
Content1

Veralteter Fensterinhalt wurde sichtbar.

Leere Menge
Add Modellelemente wurden erzeugt oder hinzugefügt. Erzeugte Elemente
AddDiagramGraphic Modellelemente wurden einem Diagramm hinzugefügt. Hinzugefügte Elemente
Delete2 Modellelemente wurden gelöscht. Gelöschte Elemente
ChangeName Änderung eines Namens Betroffenes Element
ChangeStereotype Änderung von Stereotypen Betroffene Elemente
ChangeStereoM2Attribute Änderung von Merkmalen Betroffene Elemente
ChangeStereoProperty Änderung von Stereotypeigenschaften Betroffene Elemente
ChangeLabel Änderung von Labels Betroffene Elemente
ChangeSpecification Änderung von Spezifikationstexten Betroffenes Element
ChangePicture Änderung eines zugeordneten Bildes Betroffenes Element
ChangeOrder Änderung der Reihenfolge zugeordneter Elemente Betroffenes Element
ChangeImportedProfiles Änderung importierter Profile bei Paketen Betroffene Pakete
ChangeAccess Änderung der Zugriffsrechte Betroffene Elemente
ChangeLock Änderung des Sperrzustands

Betroffene Elemente; Leere Menge bei Entsperrung aller Elemente

 

1 Ein Toolfenster erhält keine Refresh-Nachrichten, wenn es nicht sichtbar ist. Stattdessen wird vermerkt, dass das Fenster nicht aktualisiert wurde und dessen Inhalt daher möglicherweise veraltet ist. Wird das Fenster dann in den Vordergrund geholt, wird eine Refresh-Nachricht mit Modus Content ausgelöst. Das Toolfenster sollte daraufhin seinen Inhalt komplett aktualisieren.

2 Beim Modus RefreshMode.Delete ist zu beachten, dass die gelöschten Elemente zwar in den Daten der Nachricht enthalten sind, diese aber schon gelöscht und damit ungültig sind. Es darf also auf keinen Fall auf Eigenschaften dieser Elemente zugegriffen werden. Die Elementmenge darf nur benutzt werden, um z.B. die betroffenen Elemente im Fenster zu suchen, um zu entscheiden, ob das Fenster von der Löschaktion betroffen ist.

Hinweis

Zur Bearbeitung der Refresh-Nachricht siehe das Sample MID.Innovator.Plugin.Sample.RefreshMessage.

Achtung

Eine falsche Bearbeitung von Refresh-Nachrichten kann die Server-Performance drastisch reduzieren. Bitte beachten Sie unbedingt die Hinweise im Abschnitt Performance.

RefreshModel-Methode

Änderungen an Modellelementen erfordern das Versenden von Refresh-Nachrichten an andere Fenster. In der Regel wird eine Elementänderung daher wie folgt realisiert:

Hinweis

Zum Versenden der Refresh-Nachricht siehe das Sample MID.Innovator.Plugin.Sample.RefreshModel.

 

 

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