VkPopupMenu(3x)
VkPopupMenu - A Popup menu class
Showing IRIX 6.5.30 (default release). Unchanged since IRIX 6.5.
NAME VkPopupMenu - A Popup menu class INHERITS FROM VkMenu : VkMenuItem : VkComponent : VkCallbackObject HEADER FILE #include <Vk/VkPopupMenu.h> PUBLIC PROTOCOL SUMMARY Constructor/Destructor VkPopupMenu(VkMenuDesc *desc, XtPointer defaultClientData = NULL); VkPopupMenu(const char *name = "popupMenu", VkMenuDesc *desc = NULL, XtPointer defaultClientData = NULL); VkPopupMenu(Widget parent, VkMenuDesc *desc, XtPointer defaultClientData = NULL); VkPopupMenu(Widget parent, const char *name = "popupMenu", VkMenuDesc *desc = NULL, XtPointer defaultClientData = NULL); ~VkPopupMenu(); Displaying Menus" virtual void build(Widget p); virtual void attach(Widget p); virtual void show(); virtual void show(XEvent *buttonPressEvent); Access Functions" virtual VkMenuItemType menuType(); virtual const char* className(); CLASS DESCRIPTION VkPopupMenu supports popup menus based on ViewKit menu objects. VkPopupMenu provides the same interface as other subclasses of VkMenu. See VkMenu for a description of how to add items to a menu. A popup menu can be built as a child of any widget, and popped up by calling show() with an X event pointer, or a popup menu can be "attached" to one or more widgets, so that it pops up automatically when the user presses mouse button 3 over that widget. FUNCTION DESCRIPTIONS VkPopupMenu VkPopupMenu(VkMenuDesc *desc, XtPointer defaultClientData = NULL); VkPopupMenu(const char *name = "popupMenu", VkMenuDesc *desc = NULL, XtPointer defaultClientData = NULL); VkPopupMenu(Widget parent, VkMenuDesc *desc, XtPointer defaultClientData = NULL); VkPopupMenu(Widget parent, const char *name = "popupMenu", VkMenuDesc *desc = NULL, XtPointer defaultClientData = NULL); The VkPopupMenu constructor initializes a VkPopup object. If one of the forms that takes a widget is used, the menu is automatically attached to the given widget. (See attach(), below.) For schemes to work appropriately, popup menus should be named "poupMenu". If no name is specified in a constructor, this default name will be used. All forms of the constructor support a defaultClientData argument which can be used to supply a clientData argument for use with menu items added to the pane whose callbacks do not specify clientData. This allows menus to be specified statically, while still allowing an instance pointer to be used with callbacks. For example, the following code segment creates a popup menu. All callbacks associated with the menu will be passed the instance pointer of the object that creates the popup menu object. class Sample: public VkWindow { private: static void oneCallback( Widget, XtPointer , XtPointer); static void twoCallback( Widget, XtPointer , XtPointer); static VkMenuDesc popupDescription[]; protected: public: Sample( const char *name) : VkWindow( name) // Other members }; SampleWindow::SampleWindow(char *name) : VkWindow(name) { VkPopupMenu *popup; Widget w = XmCreateForm(parent, "form", NULL, 0); popup = new VkPopupMenu(w, popupDescription, (XtPointer) this); // Other actions } ~VkPopupMenu() ~VkPopupMenu(); The VkPopupMenu destructor removes all callbacks from all attached widgets. Base class destructors free the widgets used by the menu. build() virtual void build(Widget p); Builds the widgets in a VkPopupMenu object. If build() is used, popping up the menu is the callers responsibility. attach() virtual void attach(Widget p); The first call to attach creates all widgets in the popup menu, using the given widget as the parent of the menu. An event handler is added so that the menu automatically is posted by a button three press over the given parent. Subsequent calls to attach add the ability to post the menu over other widgets. show() virtual void show(); virtual void show(XEvent *buttonPressEvent); When called with an X ButtonPress Event, show() posts a menu, using the event to position the menu under the mouse cursor. This function supports application that wish to control the posting of menus directly. Normally, attach() provides an easier way to use menus. With no arguments, show simply manages the popup menu at it's current location. This use is not recommended. menuType() virtual VkMenuItemType menuType(); The menu type of this class is POPUP. className() virtual const char* className(); The class name of this class is "VkPopupMenu". INHERITED MEMBER FUNCTIONS Inherited from VkMenu isContainer(), VkMenu(), VkMenu(), VkMenu(), VkMenu(), findParent(), ~VkMenu(), addAction(), addAction(), addActionWidget(), addActionWidget(), addConfirmFirstAction(), addSeparator(), addLabel(), addToggle(), addToggle(), add(), addSubmenu(), addSubmenu(), addSubmenu(), addRadioSubmenu(), addRadioSubmenu(), addRadioSubmenu(), registerSubmenu(), findNamedItem(), removeItem(), activateItem(), deactivateItem(), replace(), getItemPosition(), getItemPosition(), getItemPosition(), operator[](), numItems(), _contents, _nItems, _maxItems, Inherited from VkMenuItem hide(), VkMenuItem(), VkMenuItem(), manageAll(), ~VkMenuItem(), setLabel(), setPosition(), activate(), deactivate(), remove(), show(), _position, _isBuilt, _sensitive, _parentMenu, _label, _isHidden, _unmanagedWidgets, _numUnmanagedWidgets, Inherited from VkComponent installDestroyHandler(), removeDestroyHandler(), widgetDestroyed(), setDefaultResources(), getResources(), manage(), unmanage(), baseWidget(), okToQuit(), _name, _baseWidget, _w, deleteCallback Inherited from VkCallbackObject callCallbacks(), addCallback(), removeCallback(), removeAllCallbacks() CLASSES USED BY THIS CLASS VkMenuItem KNOWN CLASSES THAT USE THIS CLASS VkGraph SEE ALSO VkMenu, VkMenuItem, VkComponent, VkGraph, VkMenuItem ViewKit Programmer's Guide The X Window System, DEC Press, Bob Sheifler and Jim Gettys The X Window System Toolkit, DEC Press, Paul Asente and Ralph Swick The OSF/Motif Programmers Reference, Prentice Hall, OSF