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

FreeBSD Manual Pages

  
 
  

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	 XmCreatePull-
       down  Menu,  to	create a Popup or Pulldown menu	pane.  The convenience
       functions automatically create a	MenuShell widget as the	parent of  the
       menu  pane. However, if the convenience functions are not used, the ap-
       plication 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.

	  o  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.

	  o  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.

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

	  o  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  correspond-
       ing  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 inside 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, Compos-
       ite, Shell, and OverrideShell.

       The class pointer is xmMenuShellWidgetClass.

       The class name is XmMenuShell.

   New Resources
       MenuShell overrides the XmNallowShellResize  resource  in  Shell.   The
       following  table	defines	a set of widget	resources used by the program-
       mer to specify data. The	programmer can also set	 the  resource	values
       for  the	inherited classes to set attributes for	this widget. To	refer-
       ence 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  pre-
       fix  and	 use  the remaining letters (in	either 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	XtGetValues (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
		 XmNbuttonRenderTable resource.

       XmNbuttonRenderTable
		 Specifies the render table used for  MenuShell's  button  de-
		 scendants.   If  this	value is NULL at initialization	and if
		 the value of XmNdefaultFontList is  not  NULL,	 XmNbuttonRen-
		 derTable  is  initialized to the value	of XmNdefaultFontList.
		 If the	value of  XmNdefaultFontList  is  NULL,	 XmNbuttonRen-
		 derTable is initialized by looking up the parent hierarchy of
		 the widget for	an ancestor  that  holds  the  XmQTspecifyRen-
		 derTable  trait.  If such an ancestor is found, XmNbuttonRen-
		 derTable is initialized to the	XmBUTTON_RENDER_TABLE value of
		 the  ancestor	widget.	 If no such ancestor is	found, the de-
		 fault is implementation dependent.  Refer to XmRenderTable(3)
		 for  more information on the creation and structure of	a ren-
		 der 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 XmNlabelFontList.

       XmNlabelFontList
		 Specifies  the	 font list used	for label descendants. See the
		 XmNlabelRenderTable resource.

       XmNlabelRenderTable
		 Specifies the render table used for MenuShell's label descen-
		 dants	(Labels	 and  LabelGadgets).  If this value is NULL at
		 initialization	and if the value of XmNdefaultFontList is  not
		 NULL, XmNlabelRenderTable is initialized to the value of XmN-
		 defaultFontList. If the value of XmNdefaultFontList is	 NULL,
		 the  parent hierarchy of the widget is	searched for an	ances-
		 tor that holds	the XmQTspecifyRenderTable trait.  If such  an
		 ancestor  is found, XmNlabelRenderTable 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  cre-
		 ation 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
		 policy	 will  apply  as the default layout policy for all de-
		 scendants of this MenuShell.

       XmNanimate
		 Controls whether menus	will post in an	animated fashion.

   Inherited Resources
       MenuShell inherits behavior and resources  from	the  superclasses  de-
       scribed	in  the	 following tables.  For	a complete description of each
       resource, refer to the reference	page for that  superclass.   The  pro-
       grammer	can set	the resource values for	these 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 remain-
       ing 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
       either 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),  re-
       trieved 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 SetName			      |	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 transla-
       tion 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  descrip-
       tion  of	the format, please refer to the	X Toolkit Instrinsics Documen-
       tation.

       <BtnDown>:
		 ClearTraversal()

       <BtnUp>:	 MenuShellPopdownDone()

   Action Routines
       The XmMenuShell action routines are

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

       MenuShellPopdownDone():
		 Unposts the menu hierarchy and, when the shell's keyboard fo-
		 cus 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
		 unposts 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),   XmCreate-
       MenuShell(3), XmCreatePopupMenu(3), XmCreatePulldownMenu(3), and	XmRow-
       Column(3).

								XmMenuShell(3)

NAME | SYNOPSIS | DESCRIPTION | RELATED

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

home | help