XmQTmenuSystem man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



     XmQTmenuSystem(3X)	       UNIX System V	    XmQTmenuSystem(3X)

     NAME
	  XmQTmenuSystem - A widget holding this trait can serve as a
	  menu system

     SYNOPSIS
	  #include <Xm/MenuT.h>

	  typedef struct {
		    int			     version;
		    XmMenuSystemTypeProc	  type;
		    XmMenuSystemStatusProc	  status;
		    XmMenuSystemCascadeProc	  cascade;
		    XmMenuSystemVerifyProc	  verifyButton;
		    XmMenuSystemControlTraversalProc	    controlTraversal;
		    XmMenuSystemMenuBarCleanupProc     menuBarCleanup;
		    XmMenuSystemPopdownProc	  popdown;
		    XmMenuSystemPopdownProc	  buttonPopdown;
		    XmMenuSystemReparentProc	       reparentToTearOffShell;
		    XmMenuSystemReparentProc	       reparentToMenuShell;
		    XmMenuSystemArmProc		  arm;
		    XmMenuSystemDisarmProc	  disarm;
		    XmMenuSystemTearOffArmProc	       tearOffArm;
		    XmMenuSystemEntryCallbackProc      entryCallback;
		    XmMenuSystemUpdateHistoryProc      updateHistory;
		    XmMenuSystemGetPostedFromWidgetProc	    getLastSelectToplevel;
		    XmMenuSystemPositionProc	       position;
		    XmMenuSystemUpdateBindingsProc     updateBindings;
		    XmMenuSystemRecordPostFromWidgetProc    recordPostFromWidget;
		    XmMenuSystemPopdownAllProc	       popdownEveryone;
		    XmMenuSystemChildFocusProc	       childFocus;
		    XmMenuSystemPopupPostedProc	       getPopupPosted;
	  } XmMenuSystemTraitRec, *XmMenuSystemTrait;

	  #define  XmMenuSystemTypeProc		       XmMenuSystemWidgetProc
	  #define  XmMenuSystemStatusProc	       XmMenuSystemWidgetProc
	  #define  XmMenuSystemMenuBarCleanupProc      XmMenuSystemDisarmProc
	  #define  XmMenuSystemReparentProc	       XmMenuSystemPositionProc
	  #define  XmMenuSystemArmProc		       XmMenuSystemDisarmProc
	  #define  XmMenuSystemTearOffArmProc	       XmMenuSystemDisarmProc
	  #define  XmMenuSystemGetPostedFromWidgetProc	  XmMenuSystemDisarmProc
	  #define  XmMenuSystemPopdownAllProc	       XmMenuSystemPositionProc
	  #define  XmMenuSystemChildFocusProc	       XmMenuSystemDisarmProc
	  void (*XmMenuSystemCascadeProc)(
	  Widget,
	  Widget,
	  XEvent*,
	  Boolean (*XmMenuSystemVerifyProc)(
	  Widget,
	  XEvent*,
	  void (*XmMenuSystemControlTraversalProc)(
	  Widget,
	  Boolean,

     Page 1					     (printed 7/20/06)

     XmQTmenuSystem(3X)	       UNIX System V	    XmQTmenuSystem(3X)

	  Boolean (*XmMenuSystemPopdownProc)(
	  Widget,
	  XEvent*,
	  void (*XmMenuSystemDisarmProc)(
	  Widget,
	  void (*XmMenuSystemEntryCallbackProc)(
	  Widget,
	  Widget,
	  XtPointer,
	  Boolean (*XmMenuSystemUpdateHistoryProc)(
	  Widget,
	  Widget,
	  Boolean,
	  void (*XmMenuSystemPositionProc)(
	  Widget,
	  XEvent*,
	  void (*XmMenuSystemUpdateBindingsProc)(
	  Widget,
	  int,
	  void (*XmMenuSystemRecordPostFromWidgetProc)(
	  Widget,
	  Widget,
	  Boolean,
	  Widget (*XmMenuSystemPopupPostedProc)(
	  Widget,
	  int (*XmMenuSystemWidgetProc)(
	  Widget);

     VERSION
	  This page documents Motif 2.1.

     DESCRIPTION
	  A widget holding the XmQTmenuSystem trait can be configured
	  as a menu system. In the standard Motif widget set, only the
	  XmRowColumn widget holds this trait.

	  The XmQTmenuSystem trait provides many trait methods.	 If
	  you are writing a menu child widget, then you will need to
	  call some of these trait methods. For example, the
	  ExmMenuButton demonstration widget uses the following trait
	  methods of XmQTmenuSystem:

	     o	status

	     o	childFocus

	     o	reparentToTearOffShell

	     o	buttonPopdown

	     o	getLastSelectTopLevel

     Page 2					     (printed 7/20/06)

     XmQTmenuSystem(3X)	       UNIX System V	    XmQTmenuSystem(3X)

	     o	entryCallback

	     o	verifyButton

	     o	controlTraversal

	     o	getPopupPosted

	     o	tearOffArm

	     o	popdownEveryone

	     o	popdown

	  We do not recommend writing your own menu manager widget.

	  All the primitive button widgets and button gadgets in the
	  standard Motif widget set call trait methods of
	  XmQTmenuSystem.

	The type Trait Method
	  int type(
	  Widget rowColumnWidget);

	  The type trait method returns the kind of menu system (for
	  example, a Pulldown menu) that widget rowColumnWidgetis
	  managing.

	  rowColumnWidget
		    Specifies the parent widget that is managing the
		    menu system.  Typically, rowColumnWidget is the
		    parent widget of the current widget.

	  This trait method returns the type of menu. The returned
	  type must be one of the following:  XmWORK_AREA, XmMENU_BAR,
	  XmMENU_PULLDOWN, XmMENU_POPUP, or XmMENU_OPTION.

	The status Trait Method
	  int status(
	  Widget rowColumnWidget);

	  The status trait method returns the current status of
	  certain menu operations.

	  rowColumnWidget
		    Specifies the XmRowColumn widget that is managing
		    the menu system.  Typically, rowColumnWidget is
		    the parent widget of the current widget.

	  This trait method returns a bit mask symbolizing the current
	  status of certain menu operations.  The Xm/XmP.h header file
	  provides widget writers with the following macros for

     Page 3					     (printed 7/20/06)

     XmQTmenuSystem(3X)	       UNIX System V	    XmQTmenuSystem(3X)

	  interpreting the returned mask:

	  XmIsTorn(mask)
		    This macro returns a nonzero value if the menu has
		    already been torn off.  Otherwise, this macro
		    returns 0.

	  XmIsTearOffShellDescendant(mask)
		    This macro returns a nonzero value if the menu is
		    a descendant of the tear-off shell. Otherwise,
		    this macro returns 0.

	  XmPopupPosted(mask)
		    This macro returns a nonzero value if the menu is
		    a Popup menu that has already been posted.
		    Otherwise, this macro returns 0.

	  XmIsInDragMode(mask)
		    This macro returns a nonzero value if the menu is
		    in drag mode.  Otherwise, this macro returns 0.

	The cascade Trait Method
	  void cascade(
	  Widget rowColumnWidget,
	  Widget cascadeButtonWidget,
	  XEvent *event);

	  We do not recommend writing your own cascade button widget;
	  however, if you do, then your cascade button widget must
	  call the cascade trait method. More specifically, your
	  cascade button widget must call cascade immediately prior to
	  performing the menu cascade itself.  The cascade trait
	  method records the data causing the cascade.	Furthermore,
	  the trait method positions the submenu.  Note that this
	  trait method does not actually perform the menu cascade
	  itself.

	  rowColumnWidget
		    Specifies the submenu to post.

	  cascadeButtonWidget
		    Specifies the cascade button widget that is about
		    to be cascaded.

	  event	    Specifies a pointer to the event causing the menu
		    cascade.

	The verifyButton Trait Method
	  Boolean verifyButton(
	  Widget rowColumnWidget,
	  XEvent *event);

     Page 4					     (printed 7/20/06)

     XmQTmenuSystem(3X)	       UNIX System V	    XmQTmenuSystem(3X)

	  A child button widget calls the verifyButton trait method to
	  determine whether event is supposed to cause menu posting.
	  The event that is supposed to cause menu posting is defined
	  by the XmNmenuPost resource of the parent XmRowColumn
	  widget.

	  rowColumnWidget
		    Specifies the parent XmRowColumn widget that holds
		    the menu posting event.

	  event	    Specifies a pointer to the event received by the
		    child button widget that is to be verified.

	  This trait method returns True if the event matches the menu
	  posting specification defined by the XmNmenuPost resource of
	  rowColumnWidget.  Otherwise, it returns False.

	The controlTraversal Trait Method
	  void controlTraversal(
	  Widget rowColumnWidget,
	  Boolean traverse);

	  We do not recommend writing your own cascade button widget;
	  however, if you do, then your cascade button widget will
	  call controlTraversal to control traversal within the
	  MenuBar.  This trait method turns menu traversal on or off.

	  rowColumnWidget
		    Specifies the RowColumn widget that will handle
		    traversal.

	  traverse  This is a Boolean value. Ordinarily, this should
		    be set to False.  Specifying False establishes
		    default Motif traversal behavior within a MenuBar,
		    which is to say that traversal is disabled.
		    Specifying True enables menu traversal within the
		    MenuBar.

	The menuBarCleanup Trait Method
	  void menuBarCleanup(
	  Widget menuBarWidget);

	  A user may invoke the <osfMenuBar> action of
	  XmRowColumn(typically, by pressing the F10 function key) to
	  activate traversal within the MenuBar.  When the user
	  invokes <osfMenuBar> a second time to deactivate menu
	  traversal, the XmRowColumn needs to "clean up" the MenuBar.
	  This cleanup involves lowering any Pulldown or Popup menus.
	  In the standard Motif widget set, XmCascadeButton and
	  XmCascadeButtonGadgetboth call the menuBarCleanup trait
	  method.

     Page 5					     (printed 7/20/06)

     XmQTmenuSystem(3X)	       UNIX System V	    XmQTmenuSystem(3X)

	  menuBarWidget
		    Specifies the menubar widget (typically, an
		    XmRowColumn widget) that needs to be cleaned up.

	The popdown Trait Method
	  Boolean popdown(
	  Widget rowColumnWidget,
	  XEvent *event);

	  The popdown trait method pops down all the Popup menus
	  associated with the rowColumnWidget.	This trait method is
	  similar to the buttonPopdowntrait method. Your widget should
	  call popdownif rowColumnWidget is in a tear-off shell.

	  rowColumnWidget
		    Specifies the parent widget (typically, an
		    XmRowColumn widget) that is managing the Popup
		    menus.

	  event	    Specifies a pointer to the event causing the
		    popdown.

	  This trait method returns True if rowColumnWidget was
	  managing any Popup menus. Otherwise, it returns False.

	The buttonPopdown Trait Method
	  Boolean buttonPopdown(
	  Widget rowColumnWidget,
	  XEvent *event);

	  The buttonPopdown trait method pops down all the Popup menus
	  associated with the rowColumnWidget.	This trait method is
	  similar to the buttonPopdowntrait method. Your widget should
	  call popdownif rowColumnWidget is not in a tear-off shell.
	  The buttonPopdown trait method provides a slight delay
	  between the time the user presses the button and the popdown
	  occurs.  This delay gives the widget time to draw visuals
	  that simulate the button being pressed.

	  rowColumnWidget
		    Specifies the Popup menu widget that needs to be
		    popped down.

	  event	    Specifies the event that caused the popdown.

	  This trait method returns True if the rowColumnWidget was
	  managing any Popup menus. Otherwise, returns False.

	The reparentToTearOffShell Trait Method
	  void reparentToTearOffShell(
	  Widget rowColumnWidget,
	  XEvent *event);

     Page 6					     (printed 7/20/06)

     XmQTmenuSystem(3X)	       UNIX System V	    XmQTmenuSystem(3X)

	  When a user tears off a tear-off menu, the rowColumnWidget
	  holding the menu needs to be reparented. In other words, the
	  rowColumnWidgetthat was a child of the MenuBar must now
	  become a child of the tear-off shell. In order to do this,
	  the child button widget calls the reparentToTearOffShell
	  trait method.

	  rowColumnWidget
		    Specifies the menu to reparent.

	  event	    Specifies a pointer to the event that caused the
		    tear off.

	The reparentToMenuShell Trait Method
	  void reparentToMenuShell(
	  Widget rowColumnWidget,
	  XEvent *event);

	  When a user collapses a tear-off shell, the rowColumnWidget
	  holding the menu needs to be reparented. That is, the menu
	  inside the tear-off shell must become a child of the
	  MenuBar. Therefore, when the user collapses a tear-off
	  shell, the child button widget (typically, a cascade button
	  widget) must call reparentToMenuShell.

	  rowColumnWidget
		    Specifies the menu to reparent.

	  event	    Specifies a pointer to the event causing the
		    tear-off shell to collapse.

	The arm Trait Method
	  void arm(
	  Widget rowColumnWidget);

	  A cascade button widget must call the arm trait method as
	  part of its Arm or ArmAndActivate method.  More precisely, a
	  cascade button widget must call arm whenever the user posts
	  a Pulldown method.

	  If rowColumnWidget is not already armed, then the arm trait
	  method makes current the calling widget and saves the focus
	  widget.  If rowColumnWidget is already armed, then the arm
	  trait method does nothing.

	  rowColumnWidget
		    Specifies the XmRowColumn widget to arm. The
		    XmRowColumn widget must have the XmNrowColumnType
		    resource set to XmMENU_BAR.

	The disarm Trait Method
	  void disarm(

     Page 7					     (printed 7/20/06)

     XmQTmenuSystem(3X)	       UNIX System V	    XmQTmenuSystem(3X)

	  Widget rowColumnWidget);

	  The disarm trait method undoes the changes caused by the arm
	  trait method.	 A cascade button widget must call disarm
	  whenever the user unposts a Pulldown menu.

	  The disarm trait method undoes the actions performed by the
	  arm trait method.  That is, if rowColumnWidget is armed,
	  then the disarm trait method makes current the active item
	  that had the focus before the menu was armed.

	  rowColumnWidget
		    Specifies the menu widget to disarm.  The
		    XmRowColumn widget must have the XmNrowColumnType
		    resource set to XmMENU_BAR.

	The tearOffArm Trait Method
	  void tearOffArm(
	  Widget rowColumnWidget);

	  Your child button widget should call the tearOffArm trait
	  method when both of the following are true:

	     o	If your child's parent was a TearOff Menu container
		and it has already been torn off

	     o	The user has selected your child widget as the initial
		selection

	  The tearOffArm trait method places the menu system into an
	  active state by setting up grabs. After doing this, the
	  tearOffArmtrait method itself calls the menuArm trait
	  method.  Upon completion of the menuArm trait method the
	  tearOffArmtrait method sets up modal grabs.

	  rowColumnWidget
		    Specifies the menu widget to arm.

	The entryCallback Trait Method
	  void entryCallback(
	  Widget rowColumnWidget,
	  Widget childButtonWidget,
	  XtPointer call_value);

	  A button widget that supports an activate callback must call
	  the entryCallback trait method. More specifically, a button
	  widget must call this trait method when the user activates
	  the button.  This trait method calls the entry callback of
	  rowColumnWidget.  The entry callback of the rowColumnWidget
	  is defined by the value of the XmNentryCallback resource.

	  rowColumnWidget

     Page 8					     (printed 7/20/06)

     XmQTmenuSystem(3X)	       UNIX System V	    XmQTmenuSystem(3X)

		    Specifies the menu widget.

	  childButtonWidget
		    Specifies the child menu widget that the user has
		    activated.

	  call_value
		    Specifies the client data to pass to the entry
		    callback.

	The updateHistory Trait Method
	  Boolean updateHistory(
	  Widget rowColumnWidget,
	  Widget childButtonWidget,
	  Boolean updateOnMemWidgetMatch);

	  We do not recommend calling this trait method.

	  The childButtonWidget should call this trait method from the
	  widget's initialize and set_values methods.  This trait
	  method updates the value of the XmNmenuHistory resource of
	  the rowColumnWidget.

	  rowColumnWidget
		    Specifies the RowColumn widget that is the parent
		    of your button widget.

	  childButtonWidget
		    Specifies the button widget calling this trait
		    method.

	  updateOnMemWidgetMatch
		    Specifies False.

	  This trait method returns True if childButtonWidget is in a
	  Pulldown or Option Menu. Otherwise, it returns False.

	The getLastSelectToplevel Trait Method
	  void getLastSelectTopLevel(
	  Widget rowColumnWidget);

	  We do not recommend calling this trait method.

	  Menu button widgets need to call this trait method
	  immediately prior to arming themselves. That is, a menu
	  button widget should call the getLastSelectTopLevel trait
	  method from its Arm or ArmAndActivate methods.

	  rowColumnWidget
		    Specifies the RowColumn widget that is the parent
		    of your button widget.

     Page 9					     (printed 7/20/06)

     XmQTmenuSystem(3X)	       UNIX System V	    XmQTmenuSystem(3X)

	The positionMenu Trait Method
	  void positionMenu(
	  Widget popupMenuPaneWidget,
	  XButtonPressedEvent *buttonevent);

	  You may need to call the positionMenu trait method from your
	  cascade button widget.  The positionMenu trait method
	  positions a Popup MenuPane by using the information in the
	  specified event.  The popupMenuPaneWidget uses the x_root
	  and y_rootvalues in the specified buttonevent to determine
	  the menu position.

	  Note that the positionMenu trait method works almost
	  identically to the XmMenuPosition. The only difference
	  between the two is that XmMenuPosition requires its first
	  argument to be an XmRowColumn widget, but positionMenu can
	  accept any menu manager.

	  popupMenuPaneWidget
		    Specifies the Popup menu to be positioned.
		    Typically, this will be an XmRowColumn widget.

	  buttonevent
		    Specifies a pointer to the button event that
		    caused the menu to pop up.

	The updateBindings Trait Method
	  void updateBindings(
	  Widget widget,
	  int mode);

	  Your button widget must call the updateBindings trait when
	  its accelerator or mnemonic changes.	Calling this trait
	  method informs the menu parent widget of any changes to
	  accelerators or mnemonics.

	  widget    Specifies a widget. Ordinarily, this will be a
		    menu child widget.

	  mode	    Specifies whether an accelerator or mnemonic has
		    been added, removed, or replaced. You should
		    specify one of the following constants:  XmADD,
		    XmDELETE, or XmREPLACE.

	The recordPostFromWidget Trait Method
	  void recordPostFromWidget(
	  Widget rowColumnWidget,
	  Widget cascadeButtonWidget,
	  Boolean attach);

	  We do not recommend writing your own cascade button widget,
	  but if you do, you will need to call the

     Page 10					     (printed 7/20/06)

     XmQTmenuSystem(3X)	       UNIX System V	    XmQTmenuSystem(3X)

	  recordPostFromWidget. This trait method signals that a
	  MenuPane has either been attached to or detached from a
	  cascade button.

	  rowColumnWidget
		    Specifies the RowColumn widget containing the
		    Popup Menu.

	  cascadeButtonWidget
		    Specifies a cascade button widget.

	  attach    This is a Boolean value. If True, the
		    cascadeButtonWidgetis signaling that a MenuPane
		    has been attached to a cascade button widget. If
		    False, the cascadeButtonWidget is signaling that a
		    MenuPane has been detached from a cascade button
		    widget.

	The popdownEveryone Trait Method
	  void popdownEveryone(
	  Widget menuShellWidget,
	  XEvent *event);

	  The popdownEveryone trait method pops down all the Popup
	  Menus associated with menuShellWidget, from bottom to top.

	  menuShellWidget
		    Specifies the menu shell widget.

	  event	    Specifies a pointer to the event causing the
		    popdown.

	The childFocus Trait Method
	  void childFocus(
	  Widget menuChildWidget);

	  The childFocus trait method gives menuChildWidget the
	  keyboard focus. This trait method performs other special
	  handling to ensure that traversal ignores the focus change.
	  This is needed so that keyboard actions (for example,
	  <osfSelect> or <osfHelp>) may be taken during the drag.

	  menuChildWidget
		    Specifies the menu child widget.

	The getPopupPosted Trait Method
	  Widget getPopupPosted(
	  Widget rowColumnWidget);

	  Each rowColumnWidget maintains one shell to encompass all of
	  its Popup Menus. Use the getPopupPosted trait method to get
	  the widget identifier of that shell.

     Page 11					     (printed 7/20/06)

     XmQTmenuSystem(3X)	       UNIX System V	    XmQTmenuSystem(3X)

	  menuChildWidget
		    Specifies the XmRowColumn widget managing your
		    button widget.

	  This trait method returns the widget identifier of the shell
	  managing the posted Popup Menu.

     RELATED
	  XmRowColumn(3), XmCascadeButton(3), XmPushButton(3),
	  XmDrawnButton(3), XmArrowButton(3), XmPushButtonGadget(3),
	  XmArrowButtonGadget(3) and XmMenuPosition(3).

     Page 12					     (printed 7/20/06)

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net