Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation ContextMenuProvider  Dokument im Navigationsbaum lokalisieren

Mit dem ContextMenuProvider kann eine Anwendung ihre eigenen Kontextmenüs erstellen. Die Kontextmenüs werden immer an einer View definiert. Dazu steht im View Designer neben dem ROOTUIELEMENTCONTAINER für jede View immer der Eintrag CONTEXT_MENUS zur Verfügung. Hier können Sie Ihr gewünschtes Kontextmenü zur Designzeit definieren.

Die Zuordnung dieser Menüs zu View-Elementen passiert wie folgt. Jedes View-Element hat drei Möglichkeiten:

      Es erbt das Kontextmenü von seinem Vater (in der Containment-Hierarchie)

      Es unterdrückt sein Kontextmenü

      Es stellt ein (am View definiertes) Kontextmenü zur Verfügung

Diese drei Fälle werden durch die Property contextMenuBehaviour ausgedrückt.

Ein "Provider" setzt zusätzlich die Property contextMenuId auf die ID seines Menüs. Damit benötigt man an jedem (potentiellen) Provider diese beiden neuen Properties. Ein Provider kann sein:

      Jede UI-Element-Subklasse

      Einige ausgesuchte View-Element-Subklassen (TableColumn, Tab, etc)

Jede UI-Element-Subklasse ist nun automatisch ein (potenzieller) Provider. Für die entsprechenden View-Element-Subklassen wurde die Vererbungshierarchie derart geändert, dass sie von ContextMenuProvider statt von ViewElement erben.

Hinweis

Der ContextMenuProvider dient der statischen Definition von Kontextmenüs. Für das dynamische Erzeugen von Kontextmenüs stehen die Methode WDONCONTEXTMENU und der Context-Menu-Manager (IF_WD_CONTEXT_MENU_MANAGER) zur Verfügung. Siehe auch Dynamische Kontextmenüs.

 

Beispiel für die visuelle Darstellung

Darstellung in der Applikation

Darstellung im View Designer

Diese Grafik wird im zugehörigen Text erklärt

Diese Grafik wird im zugehörigen Text erklärt

 

Laufzeit-Klasse

CL_WD_CTX_MENU_PROVIDER

 

Eigenschaften im View Designer

Name

Typ

Anfangswert

Bindbar

id

STRING

(automatisch)

nein

contextMenuBehaviour

WDUI_CONTEXT_MENU_BEHAVIOUR

inherit

nein

contextMenuId

STRING

 

nein

Hinweis

Weitere Eigenschaften, die über Vererbung zur Verfügung stehen, sind in den dazugehörigen übergeordneten Klassen definiert. Die dazugehörigen Oberflächenelemente sind:

        ViewElement

Dynamische Programmierung

Für die dynamische Programmierung stehen dieselben Eigenschaften, Ereignisse und Aggregationen zur Verfügung wie im View Designer. Beachten Sie dabei die unterschiedlichen Schreibweisen.

Dynamische Programmierung der Eigenschaften

View Designer Name

Laufzeitname

Typ

contextMenuBehaviour

CONTEXT_MENU_BEHAVIOUR

WDUI_CONTEXT_MENU_BEHAVIOUR

 contextMenuBehaviour: inherit

CL_WD_CTX_MENU_PROVIDER=>E_CONTEXT_MENU_BEHAVIOUR-INHERIT

 contextMenuBehaviour: provide

CL_WD_CTX_MENU_PROVIDER=>E_CONTEXT_MENU_BEHAVIOUR-PROVIDE

 contextMenuBehaviour: suppress

CL_WD_CTX_MENU_PROVIDER=>E_CONTEXT_MENU_BEHAVIOUR-SUPPRESS

contextMenuId

CONTEXT_MENU_ID

STRING

 

Ende des Inhaltsbereichs