Show TOC

ContextMenuProviderLocate this document in the navigation structure

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 ContextMenuProvider-Eigenschaften ausgedrückt.

Ein "Provider" setzt zusätzlich die Property ContextMenuProvider-Eigenschaften 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 und statische Kontextmenüs.

Beispiel für die visuelle Darstellung

Darstellung in der Applikation Darstellung im View Designer

Laufzeit-Klasse

CL_WD_CTX_MENU_PROVIDER

Eigenschaften im View Designer

Name Typ Anfangswert Bindbar

Methoden und Eigenschaften der UI-Elemente

STRING

(automatisch)

nein

ContextMenuProvider-Eigenschaften

WDUI_CONTEXT_MENU_BEHAVIOUR

inherit

nein

ContextMenuProvider-Eigenschaften

STRING

 

nein

Hinweis

Weitere Eigenschaften, die über Vererbung zur Verfügung stehen, sind in den dazugehörigen übergeordneten Klassen definiert. Das dazugehörige Oberflächenelement ist 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

ContextMenuProvider-Eigenschaften

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

ContextMenuProvider-Eigenschaften

CONTEXT_MENU_ID

STRING