Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
XmMenuShell(3)		    Library Functions Manual		  XmMenuShell(3)

NAME
     XmMenuShell -- The MenuShell widget class

SYNOPSIS
     #include <Xm/MenuShell.h>

DESCRIPTION
     The  MenuShell  widget  is  a custom OverrideShell widget. An OverrideShell
     widget bypasses mwm when displaying itself. It is designed specifically  to
     contain Popup or Pulldown menu panes.

     Most  application writers never encounter this widget if they use the menu-
     system convenience functions, XmCreatePopupMenu or  XmCreatePulldown  Menu,
     to  create  a Popup or Pulldown menu pane.  The convenience functions auto-
     matically create a MenuShell widget as the parent of the  menu  pane.  How-
     ever, if the convenience functions are not used, the application programmer
     must  create  the required MenuShell. In this case, it is important to note
     that the parent of the MenuShell depends on the type of menu  system  being
     built.

	*  If	the  MenuShell	is  for  the  top-level  Popup	menu  pane,  the
	   MenuShell's parent must be the widget from which the Popup menu  pane
	   is popped up.

	*  If  the MenuShell is for a menu pane that is pulled down from a Popup
	   or another Pulldown menu pane, the MenuShell's  parent  must  be  the
	   Popup or Pulldown menu pane.

	*  If  the  MenuShell  is  for	a  menu  pane that is pulled down from a
	   MenuBar, the MenuShell's parent must be the MenuBar.

	*  If the MenuShell is for a Pulldown menu pane in  an	OptionMenu,  the
	   MenuShell's parent must be the OptionMenu's parent.

     Setting  XmNheight,  XmNwidth,  or XmNborderWidth for either a MenuShell or
     its child sets that resource to the same value in both the parent	and  the
     child.  An application should always specify these resources for the child,
     not the parent.

     For  the  managed	child  of  a  MenuShell,  regardless of the value of the
     shell's XmNallowShellResize, setting XmNx or XmNy	sets  the  corresponding
     resource of the parent but does not change the child's position relative to
     the  parent.   XtGetValues for the child's XmNx or XmNy yields the value of
     the corresponding resource in the parent.	The x and y-coordinates  of  the
     child's  upper  left outside corner relative to the parent's upper left in-
     side corner are both 0 (zero) minus the value of XmNborderWidth.

     MenuShell uses the  XmQTmenuSystem  trait	and  holds  the  XmQTspecifyRen-
     derTable trait.

   Classes
     MenuShell	inherits  behavior,  resources, and traits from Core, Composite,
     Shell, and OverrideShell.

     The class pointer is xmMenuShellWidgetClass.

     The class name is XmMenuShell.

   New Resources
     MenuShell overrides the XmNallowShellResize resource in Shell.  The follow-
     ing table defines a set of widget resources used by the programmer to spec-
     ify data. The programmer can also set the resource values for the inherited
     classes to set attributes for this widget. To reference a resource by  name
     or  by class in a .Xdefaults file, remove the XmN or XmC prefix and use the
     remaining letters. To specify one of the defined values for a resource in a
     .Xdefaults file, remove the Xm prefix and use the remaining letters (in ei-
     ther lowercase or uppercase, but include any  underscores	between  words).
     The codes in the access column indicate if the given resource can be set at
     creation  time (C), set by using XtSetValues (S), retrieved by using XtGet-
     Values (G), or is not applicable (N/A).

     +----------------------------------------------------------------------------------------+
     |			    |	      XmMenuShell Resource Set	   |		     |	      |
     | Name		    | Class		   | Type	   | Default	     | Access |
     +----------------------+----------------------+---------------+-----------------+--------+
     | XmNbuttonFontList    | XmCButtonFontList    | XmFontList    | dynamic	     | CSG    |
     +----------------------+----------------------+---------------+-----------------+--------+
     | XmNbuttonRenderTable | XmCButtonRenderTable | XmRenderTable | NULL	     | CSG    |
     +----------------------+----------------------+---------------+-----------------+--------+
     | XmNdefaultFontList   | XmCDefaultFontList   | XmFontList    | dynamic	     | CG     |
     +----------------------+----------------------+---------------+-----------------+--------+
     | XmNlabelFontList     | XmCLabelFontList	   | XmFontList    | dynamic	     | CSG    |
     +----------------------+----------------------+---------------+-----------------+--------+
     | XmNlabelRenderTable  | XmCLabelRenderTable  | XmRenderTable | NULL	     | CSG    |
     +----------------------+----------------------+---------------+-----------------+--------+
     | XmNlayoutDirection   | XmCLayoutDirection   | XmDirection   | XmLEFT_TO_RIGHT | CG     |
     +----------------------+----------------------+---------------+-----------------+--------+
     | XmNanimate	    | XmCAnimate	   | Boolean	   | False	     | CG     |
     +----------------------+----------------------+---------------+-----------------+--------+
     +----------------------+----------------------+---------------+-----------------+--------+

     XmNbuttonFontList
	       Specifies the font list used for button descendants. See the XmN-
	       buttonRenderTable resource.

     XmNbuttonRenderTable
	       Specifies the render table used for  MenuShell's  button  descen-
	       dants.	If this value is NULL at initialization and if the value
	       of XmNdefaultFontList is not NULL, XmNbuttonRenderTable	is  ini-
	       tialized to the value of XmNdefaultFontList. If the value of XmN-
	       defaultFontList	is  NULL, XmNbuttonRenderTable is initialized by
	       looking up the parent hierarchy of the  widget  for  an	ancestor
	       that holds the XmQTspecifyRenderTable trait.  If such an ancestor
	       is  found,  XmNbuttonRenderTable  is  initialized  to  the XmBUT-
	       TON_RENDER_TABLE value of the ancestor widget. If no such  ances-
	       tor  is found, the default is implementation dependent.	Refer to
	       XmRenderTable(3) for more information on the creation and  struc-
	       ture of a render table.

     XmNdefaultFontList
	       Specifies  a default font list for MenuShell's descendants.  This
	       resource is obsolete and exists for  compatibility  with  earlier
	       releases. It has been replaced by XmNbuttonFontList and XmNlabel-
	       FontList.

     XmNlabelFontList
	       Specifies  the font list used for label descendants. See the XmN-
	       labelRenderTable resource.

     XmNlabelRenderTable
	       Specifies the render table used for MenuShell's label descendants
	       (Labels and LabelGadgets). If this value is NULL  at  initializa-
	       tion  and  if the value of XmNdefaultFontList is not NULL, XmNla-
	       belRenderTable is initialized to the value of XmNdefaultFontList.
	       If the value of XmNdefaultFontList is NULL, the parent  hierarchy
	       of  the	widget	is searched for an ancestor that holds the XmQT-
	       specifyRenderTable trait.  If such an ancestor is  found,  XmNla-
	       belRenderTable  is  initialized to the XmLABEL_RENDER_TABLE value
	       of the ancestor widget. If no such ancestor is found, the default
	       is implementation dependent. Refer to XmRenderTable(3)  for  more
	       information on the creation and structure of a render table.

     XmNlayoutDirection
	       Specifies  the  direction  in which the subwidgets, children of a
	       widget, or other visual components are to be laid out. This  pol-
	       icy  will  apply as the default layout policy for all descendants
	       of this MenuShell.

     XmNanimateControls whether menus will post in an animated fashion.

   Inherited Resources
     MenuShell inherits behavior and resources from the  superclasses  described
     in  the following tables.	For a complete description of each resource, re-
     fer to the reference page for that superclass.  The programmer can set  the
     resource values for these inherited classes to set attributes for this wid-
     get.  To reference a resource by name or by class in a .Xdefaults file, re-
     move the XmN or XmC prefix and use the remaining letters. To specify one of
     the defined values for a resource in a .Xdefaults file, remove the Xm  pre-
     fix  and  use  the remaining letters (in either lowercase or uppercase, but
     include any underscores between words).  The codes in the access column in-
     dicate if the given resource can be set at creation time (C), set by  using
     XtSetValues  (S),	retrieved by using XtGetValues (G), or is not applicable
     (N/A).

     +------------------------------------------------------------------------------------------------------+
     |			       |		Shell Resource Set		  |		   |	    |
     | Name		       | Class			 | Type 		  | Default	   | Access |
     +-------------------------+-------------------------+------------------------+----------------+--------+
     | XmNallowShellResize     | XmCAllowShellResize	 | Boolean		  | True	   | G	    |
     +-------------------------+-------------------------+------------------------+----------------+--------+
     | XmNcreatePopupChildProc | XmCCreatePopupChildProc | XtCreatePopupChildProc | NULL	   | CSG    |
     +-------------------------+-------------------------+------------------------+----------------+--------+
     | XmNgeometry	       | XmCGeometry		 | String		  | NULL	   | CSG    |
     +-------------------------+-------------------------+------------------------+----------------+--------+
     | XmNoverrideRedirect     | XmCOverrideRedirect	 | Boolean		  | True	   | CSG    |
     +-------------------------+-------------------------+------------------------+----------------+--------+
     | XmNpopdownCallback      | XmCCallback		 | XtCallbackList	  | NULL	   | C	    |
     +-------------------------+-------------------------+------------------------+----------------+--------+
     | XmNpopupCallback        | XmCCallback		 | XtCallbackList	  | NULL	   | C	    |
     +-------------------------+-------------------------+------------------------+----------------+--------+
     | XmNsaveUnder	       | XmCSaveUnder		 | Boolean		  | True	   | CSG    |
     +-------------------------+-------------------------+------------------------+----------------+--------+
     | XmNvisual	       | XmCVisual		 | Visual *		  | CopyFromParent | CSG    |
     +-------------------------+-------------------------+------------------------+----------------+--------+
     +-------------------------+-------------------------+------------------------+----------------+--------+

     +------------------------------------------------------------------------+
     |			 |     Composite Resource Set	   |	     |	      |
     | Name		 | Class	     | Type	   | Default | Access |
     +-------------------+-------------------+-------------+---------+--------+
     | XmNchildren	 | XmCReadOnly	     | WidgetList  | NULL    | G      |
     +-------------------+-------------------+-------------+---------+--------+
     | XmNinsertPosition | XmCInsertPosition | XtOrderProc | NULL    | CSG    |
     +-------------------+-------------------+-------------+---------+--------+
     | XmNnumChildren	 | XmCReadOnly	     | Cardinal    | 0	     | G      |
     +-------------------+-------------------+-------------+---------+--------+
     +-------------------+-------------------+-------------+---------+--------+

     +----------------------------------------------------------------------------------------------------------------+
     |				     |		     Core Resource Set		      | 		     |	      |
     | Name			     | Class			     | Type	      | Default 	     | Access |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNaccelerators		     | XmCAccelerators		     | XtAccelerators | dynamic 	     | CSG    |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNancestorSensitive	     | XmCSensitive		     | Boolean	      | dynamic 	     | G      |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNbackground		     | XmCBackground		     | Pixel	      | dynamic 	     | CSG    |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNbackgroundPixmap	     | XmCPixmap		     | Pixmap	      | XmUNSPECIFIED_PIXMAP | CSG    |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNborderColor		     | XmCBorderColor		     | Pixel	      | XtDefaultForeground  | CSG    |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNborderPixmap		     | XmCPixmap		     | Pixmap	      | XmUNSPECIFIED_PIXMAP | CSG    |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNborderWidth		     | XmCBorderWidth		     | Dimension      | 0		     | CSG    |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNcolormap		     | XmCColormap		     | Colormap       | dynamic 	     | CG     |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNdepth 		     | XmCDepth 		     | int	      | dynamic 	     | CG     |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNdestroyCallback	     | XmCCallback		     | XtCallbackList | NULL		     | C      |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNheight		     | XmCHeight		     | Dimension      | dynamic 	     | CSG    |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNinitialResourcesPersistent | XmCInitialResourcesPersistent | Boolean	      | True		     | C      |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNmappedWhenManaged	     | XmCMappedWhenManaged	     | Boolean	      | True		     | CSG    |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNscreen		     | XmCScreen		     | Screen *       | dynamic 	     | CG     |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNsensitive		     | XmCSensitive		     | Boolean	      | True		     | CSG    |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNtranslations		     | XmCTranslations		     | XtTranslations | dynamic 	     | CSG    |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNwidth 		     | XmCWidth 		     | Dimension      | dynamic 	     | CSG    |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNx			     | XmCPosition		     | Position       | 0		     | CSG    |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     | XmNy			     | XmCPosition		     | Position       | 0		     | CSG    |
     +-------------------------------+-------------------------------+----------------+----------------------+--------+
     +-------------------------------+-------------------------------+----------------+----------------------+--------+

   Translations
     The XmMenuShell translations are described in the following list.

     The following key names are listed in the X standard key event  translation
     table  syntax.   This format is the one used by Motif to specify the widget
     actions corresponding to a given key.  A brief overview of  the  format  is
     provided  under VirtualBindings(3).  For a complete description of the for-
     mat, please refer to the X Toolkit Instrinsics Documentation.

     <BtnDown>:ClearTraversal()

     <BtnUp>:  MenuShellPopdownDone()

   Action Routines
     The XmMenuShell action routines are

     ClearTraversal():
	       Disables keyboard traversal for the menu, enables  mouse  traver-
	       sal, and unposts any menus posted by this menu.

     MenuShellPopdownDone():
	       Unposts	the  menu hierarchy and, when the shell's keyboard focus
	       policy is XmEXPLICIT, restores focus to the widget that	had  the
	       focus before the menu system was entered.

     MenuShellPopdownOne():
	       In  a top-level Pulldown MenuPane from a MenuBar, this action un-
	       posts  the  menu,  disarms  the	MenuBar  CascadeButton	and  the
	       MenuBar,  and,  when  the  shell's keyboard focus policy is XmEX-
	       PLICIT, restores keyboard focus to the widget that had the  focus
	       before  the  MenuBar  was  entered.  In other Pulldown MenuPanes,
	       this action unposts the menu.

	       In a Popup MenuPane, this action unposts the menu, and, when  the
	       shell's	keyboard  focus  policy is XmEXPLICIT, restores keyboard
	       focus to the widget from which the menu was posted.

   Virtual Bindings
     The bindings for virtual keys are vendor specific.  For  information  about
     bindings for virtual buttons and keys, see VirtualBindings(3).

RELATED
     Composite(3),  Core(3),  OverrideShell(3),  Shell(3), XmCreateMenuShell(3),
     XmCreatePopupMenu(3), XmCreatePulldownMenu(3), and XmRowColumn(3).

								  XmMenuShell(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=XmMenuShell&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help