manpagez: man pages & more
man XmMenuShell(3)
Home | html | info | man
XmMenuShell(library call)                            XmMenuShell(library call)




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

          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
                 descendants.   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
                 default  is  implementation  dependent.   Refer   to   XmRen-
       derTable(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 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
                 descendants of this MenuShell.


       XmNanimate
                 Controls 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, 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),
       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 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
                 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
                 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(library call)

openMotif 2.3.1 - Generated Mon Dec 1 19:50:58 CST 2008
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.