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




NAME

       XmCascadeButton -- The CascadeButton widget class


SYNOPSIS

       #include <Xm/CascadeB.h>


DESCRIPTION

       CascadeButton links two menu panes or a MenuBar to a menu pane.

       It  is  used  in menu systems and must have a RowColumn parent with its
       XmNrowColumnType  resource   set   to   XmMENU_BAR,   XmMENU_POPUP   or
       XmMENU_PULLDOWN.

       It is the only widget that can have a Pulldown menu pane attached to it
       as a submenu. The submenu is displayed when this  widget  is  activated
       within  a  MenuBar,  a  PopupMenu,  or  a PulldownMenu. Its visuals can
       include a label or pixmap and a cascading indicator when  it  is  in  a
       Popup or Pulldown menu pane; or it can include only a label or a pixmap
       when it is in a MenuBar.  The  positioning  of  the  PulldownMenu  with
       respect to the CascadeButton depends on the XmNlayoutDirection resource
       of the MenuShell.

       The default behavior associated with a  CascadeButton  depends  on  the
       type  of menu system in which it resides.  By default, BSelect controls
       the behavior of the CascadeButton.  In  addition,  BMenu  controls  the
       behavior of the CascadeButton if it resides in a PopupMenu system.  The
       actual mouse button used is determined by its RowColumn parent.   BMenu
       also performs the BSelect actions in all types of menu systems.

       A  CascadeButton's  visuals differ from most other button gadgets. When
       the button becomes armed, its visuals change from a 2-D to a 3-D  look,
       and it displays the submenu that has been attached to it. If no submenu
       is attached, it simply changes its visuals.

       When a CascadeButton within a Pulldown or Popup menu pane is  armed  as
       the  result  of  the  user moving the mouse pointer into the widget, it
       does not immediately display its submenu. Instead,  it  waits  a  short
       amount  of  time  to see if the arming was temporary (that is, the user
       was simply passing through the widget),  or  whether  the  user  really
       wanted  the  submenu posted. This time delay is configurable using XmN-
       mappingDelay.

       CascadeButton provides a single mechanism  for  activating  the  widget
       from  the  keyboard.  This  mechanism  is  referred  to  as  a keyboard
       mnemonic.  If a mnemonic has been specified for the  widget,  the  user
       may  activate the CascadeButton by simply typing the mnemonic while the
       CascadeButton is visible.  If the CascadeButton is in a MenuBar and the
       MenuBar does not have the focus, the MAlt modifier must be pressed with
       the mnemonic.  Mnemonics are typically used to  interact  with  a  menu
       using the keyboard interface.

       If the Cascadebutton is in a Pulldown or Popup menu pane and there is a
       submenu attached, the XmNmarginBottom,  XmNmarginLeft,  XmNmarginRight,
       and XmNmarginTop resources may enlarge to accommodate XmNcascadePixmap.
       XmNmarginWidth defaults to 6 if this resource is in a  MenuBar;  other-
       wise, it takes Label's default, which is 2.

       CascadeButton   uses   the  XmQTmenuSystem  and  XmQTspecifyRenderTable
       traits.

   Classes
       CascadeButton inherits  behavior,  resources,  and  traits  from  Core,
       XmPrimitive, and XmLabel classes.

       The class pointer is xmCascadeButtonWidgetClass.

       The class name is XmCascadeButton.

   New Resources
       The  following table defines a set of widget resources used by the pro-
       grammer to specify data. The programmer can also set the resource  val-
       ues  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 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).


       +---------------------------------------------------------------------------+
       |                     | XmCascadeButton Resource Set     |         |        |
       |Name                 | Class           | Type           | Default | Access |
       +---------------------+-----------------+----------------+---------+--------+
       |XmNactivateCallback  | XmCCallback     | XtCallbackList | NULL    | C      |
       +---------------------+-----------------+----------------+---------+--------+
       |XmNcascadePixmap     | XmCPixmap       | Pixmap         | dynamic | CSG    |
       +---------------------+-----------------+----------------+---------+--------+
       |XmNcascadingCallback | XmCCallback     | XtCallbackList | NULL    | C      |
       +---------------------+-----------------+----------------+---------+--------+
       |XmNmappingDelay      | XmCMappingDelay | int            | 180 ms  | CSG    |
       +---------------------+-----------------+----------------+---------+--------+
       |XmNsubMenuId         | XmCMenuWidget   | Widget         | NULL    | CSG    |
       +---------------------+-----------------+----------------+---------+--------+
       +---------------------+-----------------+----------------+---------+--------+
       XmNactivateCallback
                 Specifies  the list of callbacks that is called when the user
                 activates the CascadeButton widget and there  is  no  submenu
                 attached to pop up. The activation occurs when a mouse button
                 is released or when the mnemonic associated with  the  widget
                 is typed. The specific mouse button depends on information in
                 the RowColumn parent. The reason  sent  by  the  callback  is
                 XmCR_ACTIVATE.

       XmNcascadePixmap
                 Specifies the cascade pixmap displayed on one end of the wid-
                 get when a CascadeButton is used within a Popup  or  Pulldown
                 menu  pane  and  a  submenu  is  attached.   The  Label class
                 resources XmNmarginBottom, XmNmarginLeft, XmNmarginRight, and
                 XmNmarginTop  may be modified to ensure that room is left for
                 the cascade pixmap.  The default cascade pixmap is  an  arrow
                 pointing  to  the  side  of  the  menu where the submenu will
                 appear.  The positioning of the cascade pixmap to either  the
                 left  of right of the widget, and the direction of the arrow,
                 depend on the XmNlayoutDirection resource of the MenuShell.

       XmNcascadingCallback
                 Specifies the list of callbacks that is called just prior  to
                 the mapping of the submenu associated with CascadeButton. The
                 reason sent by the callback is XmCR_CASCADING.

       XmNmappingDelay
                 Specifies the amount of time, in milliseconds, between when a
                 CascadeButton  becomes  armed  and  when it maps its submenu.
                 This delay is used only when the widget is within a Popup  or
                 Pulldown menu pane.  The value must not be negative.

       XmNsubMenuId
                 Specifies  the  widget  ID  for  the Pulldown menu pane to be
                 associated with this CascadeButton. The specified  menu  pane
                 is  displayed  when the CascadeButton becomes armed. The menu
                 pane must have been created with  the  appropriate  parentage
                 depending  on  the type of menu used. See XmCreateMenuBar(3),
                 XmCreatePulldownMenu(3), and  XmCreatePopupMenu(3)  for  more
                 information on the menu systems.

   Inherited Resources
       CascadeButton  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.


       +------------------------------------------------------------------------------------------------------------+
       |                          |                XmLabel Resource Set           |                        |        |
       |Name                      | Class                     | Type              | Default                | Access |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNaccelerator            | XmCAccelerator            | String            | NULL                   | N/A    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNacceleratorText        | XmCAcceleratorText        | XmString          | NULL                   | N/A    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNalignment              | XmCAlignment              | unsigned char     | dynamic                | CSG    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNfontList               | XmCFontList               | XmFontList        | dynamic                | CSG    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNlabelInsensitivePixmap | XmCLabelInsensitivePixmap | Pixmap            | XmUNSPECIFIED_PIXMAP   | CSG    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNlabelPixmap            | XmCLabelPixmap            | Pixmap            | XmUNSPECIFIED_PIXMAP   | CSG    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNlabelString            | XmCXmString               | XmString          | dynamic                | CSG    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNlabelType              | XmCLabelType              | unsigned char     | XmSTRING               | CSG    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNmarginBottom           | XmCMarginBottom           | Dimension         | dynamic                | CSG    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNmarginHeight           | XmCMarginHeight           | Dimension         | 2                      | CSG    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNmarginLeft             | XmCMarginLeft             | Dimension         | 0                      | CSG    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNmarginRight            | XmCMarginRight            | Dimension         | dynamic                | CSG    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNmarginTop              | XmCMarginTop              | Dimension         | dynamic                | CSG    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNmarginWidth            | XmCMarginWidth            | Dimension         | dynamic                | CSG    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNmnemonic               | XmCMnemonic               | KeySym            | NULL                   | CSG    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNmnemonicCharSet        | XmCMnemonicCharSet        | String            | XmFONTLIST_DEFAULT_TAG | CSG    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNrecomputeSize          | XmCRecomputeSize          | Boolean           | True                   | CSG    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNrenderTable            | XmCRenderTable            | XmRenderTable     | dynamic                | CSG    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       |XmNstringDirection        | XmCStringDirection        | XmStringDirection | dynamic                | CSG    |
       +--------------------------+---------------------------+-------------------+------------------------+--------+
       +--------------------------+---------------------------+-------------------+------------------------+--------+

       +---------------------------------------------------------------------------------------------------+
       |                        |            XmPrimitive|Resource Set      |                      |        |
       |Name                    | Class                 | Type             | Default              | Access |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNbottomShadowColor    | XmCBottomShadowColor  | Pixel            | dynamic              | CSG    |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNbottomShadowPixmap   | XmCBottomShadowPixmap | Pixmap           | XmUNSPECIFIED_PIXMAP | CSG    |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNconvertCallback      | XmCCallback           | XtCallbackList   | NULL                 | C      |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNforeground           | XmCForeground         | Pixel            | dynamic              | CSG    |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNhelpCallback         | XmCCallback           | XtCallbackList   | NULL                 | C      |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNhighlightColor       | XmCHighlightColor     | Pixel            | dynamic              | CSG    |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNhighlightOnEnter     | XmCHighlightOnEnter   | Boolean          | False                | CSG    |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNhighlightPixmap      | XmCHighlightPixmap    | Pixmap           | dynamic              | CSG    |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNhighlightThickness   | XmCHighlightThickness | Dimension        | 0                    | CSG    |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNlayoutDirection      | XmCLayoutDirection    | XmDirection      | dynamic              | CG     |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNnavigationType       | XmCNavigationType     | XmNavigationType | XmNONE               | CSG    |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNpopupHandlerCallback | XmCCallback           | XtCallbackList   | NULL                 | C      |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNshadowThickness      | XmCShadowThickness    | Dimension        | 2                    | CSG    |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNtopShadowColor       | XmCTopShadowColor     | Pixel            | dynamic              | CSG    |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNtopShadowPixmap      | XmCTopShadowPixmap    | Pixmap           | dynamic              | CSG    |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNtraversalOn          | XmCTraversalOn        | Boolean          | dynamic              | G      |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNunitType             | XmCUnitType           | unsigned char    | dynamic              | CSG    |
       +------------------------+-----------------------+------------------+----------------------+--------+
       |XmNuserData             | XmCUserData           | XtPointer        | NULL                 | CSG    |
       +------------------------+-----------------------+------------------+----------------------+--------+
       +------------------------+-----------------------+------------------+----------------------+--------+

       +---------------------------------------------------------------------------------------------------------------+
       |                              |               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    |
       +------------------------------+-------------------------------+----------------+----------------------+--------+
       +------------------------------+-------------------------------+----------------+----------------------+--------+
   Callback Information
       A pointer to the following structure is passed to each callback:

       typedef struct
       {
               int reason;
               XEvent * event;
       } XmAnyCallbackStruct;

       reason    Indicates why the callback was invoked

       event     Points  to  the XEvent that triggered the callback or is NULL
                 if this callback was not triggered due to an XEvent

   Translations
       XmCascadeButton includes translations from XmPrimitive.   XmCascadeBut-
       ton includes the menu traversal translations from XmLabel.

       Note  that altering translations in #override or #augment mode is unde-
       fined.

       The following list describes the translations for a CascadeButton in  a
       MenuBar.   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  format,  please  refer to the X Toolkit
       Instrinsics Documentation.

       <EnterWindow>Normal:
                 MenuBarEnter()

       <LeaveWindow>Normal:
                 MenuBarLeave()

       <Btn2Down>:
                 ProcessDrag()

       c<BtnDown>:
                 MenuButtonTakeFocusUp()

       c<BtnUp>: MenuButtonTakeFocusUp()

       ~c<BtnDown>:
                 MenuBarSelect()

       ~c<BtnUp>:
                 DoSelect()

       :<Key><osfSelect>:
                 KeySelect()

       :<Key><osfActivate>:
                 KeySelect()

       :<Key><osfHelp>:
                 Help()

       :<Key><osfCancel>:
                 CleanupMenuBar()

       ~s<Key>Return:
                 KeySelect()

       ~s<Key>space:
                 KeySelect()

       The following list describes the translations for a CascadeButton in  a
       PullDown  or  Popup MenuPane.  In a Popup menu system, <Btn3> also per-
       forms the <Btn1> actions.

       <EnterWindow>:
                 DelayedArm()

       <LeaveWindow>:
                 CheckDisarm()

       <Btn2Down>:
                 ProcessDrag()

       c<BtnDown>:
                 MenuButtonTakeFocus()

       c<BtnUp>: MenuButtonTakeFocusUp()

       ~c<BtnDown>:
                 StartDrag()

       ~c<BtnUp>:
                 DoSelect()

       :<Key><osfSelect>:
                 KeySelect()

       :<Key><osfActivate>:
                 KeySelect()

       :<Key><osfHelp>:
                 Help()

       :<Key><osfCancel>:
                 CleanupMenuBar()

       ~s<Key>Return:
                 KeySelect()

       ~s<Key>space:
                 KeySelect()

   Action Routines
       The XmCascadeButton action routines are

       CleanupMenuBar():
                 In a MenuBar, disarms the CascadeButton  and  the  menu  and,
                 when   the  shell's  keyboard  focus  policy  is  XmEXPLICIT,
                 restores keyboard focus to the  widget  that  had  the  focus
                 before the menu was entered.

                 In  a  toplevel Pulldown MenuPane from a MenuBar, unposts the
                 menu, disarms the MenuBar CascadeButton and the MenuBar, and,
                 when   the  shell's  keyboard  focus  policy  is  XmEXPLICIT,
                 restores keyboard focus to the  widget  that  had  the  focus
                 before the MenuBar was entered.  In other Pulldown MenuPanes,
                 unposts the menu.

                 In a Popup MenuPane, 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.

       DoSelect():
                 Calls the callbacks in XmNcascadingCallback, posts  the  sub-
                 menu  attached to the CascadeButton and enables keyboard tra-
                 versal within the menu.  If the CascadeButton does not have a
                 submenu attached, this action calls the callbacks in XmNacti-
                 vateCallback, activates the CascadeButton,  and  unposts  all
                 posted menus in the cascade.

       Help():   Unposts all menus in the menu hierarchy and, when the shell's
                 keyboard focus policy is XmEXPLICIT, restores keyboard  focus
                 to  the  widget that had the focus before the menu system was
                 entered.  Calls the  callbacks  for  XmNhelpCallback  if  any
                 exist.   If there are no help callbacks for this widget, this
                 action calls the help callbacks for the nearest ancestor that
                 has them.

       KeySelect():
                 Calls  the  callbacks  in XmNcascadingCallback, and posts the
                 submenu attached to the CascadeButton if  keyboard  traversal
                 is enabled in the menu.  If the CascadeButton does not have a
                 submenu attached, this action calls the callbacks in XmNacti-
                 vateCallback,  activates  the  CascadeButton, and unposts all
                 posted menus in the cascade.

       MenuBarSelect():
                 Unposts any menus posted by the parent menu.  Arms  both  the
                 CascadeButton  and the MenuBar, posts the associated submenu,
                 and enables mouse traversal.  If the menu is already  active,
                 this  event  disables  keyboard  traversal  for  the menu and
                 returns the menu to mouse traversal mode.

       StartDrag():
                 Arms the CascadeButton, posts  the  associated  submenu,  and
                 enables mouse traversal.  If the menu is already active, this
                 event disables keyboard traversal for the  menu  and  returns
                 the menu to mouse traversal mode.

   Additional Behavior
       Posting  a submenu calls the XmNcascadingCallback callbacks.  This wid-
       get has the following additional behavior:

       <EnterWindow>:
                 If keyboard traversal is enabled, does  nothing.   Otherwise,
                 in  a MenuBar that is armed, unposts any MenuPanes associated
                 with another MenuBar entry, arms the CascadeButton, and posts
                 the associated submenu.  In other menus, arms the CascadeBut-
                 ton and posts the associated submenu after the  delay  speci-
                 fied by XmNmappingDelay.

       <LeaveWindow>:
                 If keyboard traversal is enabled does nothing.  Otherwise, in
                 a MenuBar that is armed, disarms  the  CascadeButton  if  the
                 submenu  associated  with  the CascadeButton is not currently
                 posted or if there is no submenu associated with the Cascade-
                 Button.

                 In  other  menus, if the pointer moves anywhere except into a
                 submenu associated with the CascadeButton, the  CascadeButton
                 is disarmed and its submenu is unposted.

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


RELATED

       Core(3), XmCascadeButtonHighlight(3), XmCreateCascadeButton(3),  XmCre-
       ateMenuBar(3),   XmCreatePulldownMenu(3),  XmCreatePopupMenu(3),  XmLa-
       bel(3),  XmPrimitive(3),  XmRowColumn(3),   XmVaCreateCascadeButton(3),
       XmVaCreateManagedCascadeButton(3).



                                                 XmCascadeButton(library call)

openMotif 2.3.1 - Generated Sat Nov 29 08:23:29 CST 2008
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.