XmManager(3X)

XmManager --The Manager widget class

As shipped in IRIX 6.5.15. Unchanged since IRIX 6.5.

NAME
     XmManager --The Manager widget class

SYNOPSIS
     #include <Xm/Xm.h>


VERSION
     This page documents version 1.2 of the Motif library.

DESCRIPTION
     Manager  is a widget class used as a supporting superclass for other widget
     classes.  It supports the visual resources, graphics contexts, and  traver-
     sal resources necessary for the graphics and traversal mechanisms.

   Classes
     Manager  inherits  behavior  and  resources  from Core, Composite, and Con-
     straint classes.

     The class pointer is xmManagerWidgetClass.

     The class name is XmManager.

   New Resources
     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  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  re-
     maining  letters  (in either lowercase or uppercase, but include any under-
     scores 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).

                                     XmManager Resource Set
Name                    Class                   Type                Default                Access
--------------------------------------------------------------------------------------------------
XmNbottomShadowColor    XmCBottomShadowColor    Pixel               dynamic                CSG
XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap              XmUNSPECIFIED_PIXMAP   CSG
XmNforeground           XmCForeground           Pixel               dynamic                CSG
XmNhelpCallback         XmCCallback             XtCallbackList      NULL                   C
XmNhighlightColor       XmCHighlightColor       Pixel               dynamic                CSG
XmNhighlightPixmap      XmCHighlightPixmap      Pixmap              dynamic                CSG
XmNinitialFocus         XmCInitialFocus         Widget              NULL                   CSG
XmNnavigationType       XmCNavigationType       XmNavigationType    XmTAB_GROUP            CSG
XmNshadowThickness      XmCShadowThickness      Dimension           0                      CSG
XmNstringDirection      XmCStringDirection      XmStringDirection   dynamic                CG
XmNtopShadowColor       XmCTopShadowColor       Pixel               dynamic                CSG
XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap              dynamic                CSG
XmNtraversalOn          XmCTraversalOn          Boolean             True                   CSG
XmNunitType             XmCUnitType             unsigned char       dynamic                CSG
XmNuserData             XmCUserData             XtPointer           NULL                   CSG


     XmNbottomShadowColor
               Specifies the color to use to draw the bottom and right sides  of
               the  border  shadow.   This color is used if the XmNbottomShadow-
               Pixmap resource is NULL.

     XmNbottomShadowPixmap
               Specifies the pixmap to use to draw the bottom and right sides of
               the border shadow.

     XmNforeground
               Specifies the foreground drawing color used by manager widgets.

     XmNhelpCallback
               Specifies the list of callbacks that are called when the help key
               sequence is  pressed.   The  reason  sent  by  this  callback  is
               XmCR_HELP.

     XmNhighlightColor
               Specifies the color of the highlighting rectangle.  This color is
               used if the highlight pixmap resource is XmUNSPECIFIED_PIXMAP.

     XmNhighlightPixmap
               Specifies the pixmap used to draw the highlighting rectangle.

     XmNinitialFocus
               Specifies the ID of a widget descendant of the manager.  The wid-
               get must meet these conditions:


                 *  The  widget  must  be  either a tab group or a non-tab-group
                    widget that can receive keyboard focus.  For the  definition
                    of  a  tab group, see the description of the Manager, Primi-
                    tive, and Gadget XmNnavigationType resources.  In general  a
                    widget  can receive keyboard focus when it is a primitive, a
                    gadget, or a manager (such as a DrawingArea with no travers-
                    able children) that acts as a primitive.

                 *  The widget must not be a descendant of a tab group  that  is
                    itself  a  descendant  of  the manager.  That is, the widget
                    cannot be contained within a tab group that is nested inside
                    the manager.

                 *  The widget and its ancestors must have a value of  True  for
                    their XmNtraversalOn resources.


                 If  the  widget does not meet these conditions, XmNinitialFocus
                 is treated as if the value were NULL.

                 This resource is meaningful only when the nearest shell  ances-
                 tor's  XmNkeyboardFocusPolicy is XmEXPLICIT.  It is used to de-
                 termine which widget receives focus in these situations:


                 *  When the manager is the child of a shell and the shell hier-
                    archy receives focus for the first time

                 *  When focus is inside the shell hierarchy, the manager  is  a
                    composite  tab  group, and the user traverses to the manager
                    via the keyboard


                 Focus is then determined as follows:


                 *  If XmNinitialFocus is a  traversable  non-tab-group  widget,
                    that widget receives focus.

                 *  If  XmNinitialFocus  is  a  traversable  tab group, that tab
                    group receives focus.  If that tab group is a composite with
                    descendant tab groups or traversable non-tab-group  widgets,
                    these  procedures  are used recursively to assign focus to a
                    descendant of that tab group.

                 *  If XmNinitialFocus is NULL, the first  traversable  non-tab-
                    group widget that is not contained within a nested tab group
                    receives focus.

                 *  If  XmNinitialFocus is NULL and no traversable non-tab-group
                    widget exists, the first traversable tab group that  is  not
                    contained within a nested tab group receives focus.  If that
                    tab  group is a composite with descendant tab groups or tra-
                    versable non-tab-group widgets, these  procedures  are  used
                    recursively  to  assign  focus  to  a descendant of that tab
                    group.


                 If a shell hierarchy regains focus after losing it,  focus  re-
                 turns  to the widget that had the focus at the time it left the
                 hierarchy.

                 The use of XmNinitialFocus is undefined if  the  manager  is  a
                 MenuBar, PulldownMenu, PopupMenu, or OptionMenu.

     XmNnavigationType
               Determines whether the widget is a tab group.


                 *  XmNONE indicates that the widget is not a tab group.

                 *  XmTAB_GROUP indicates that the widget is a tab group, unless
                    another  widget in the hierarchy has an XmNnavigationType of
                    XmEXCLUSIVE_TAB_GROUP.

                 *  XmSTICKY_TAB_GROUP indicates that the widget is a tab group,
                    even if another widget in the hierarchy  has  an  XmNnaviga-
                    tionType of XmEXCLUSIVE_TAB_GROUP.

                 *  XmEXCLUSIVE_TAB_GROUP  indicates  that  the  widget is a tab
                    group and that widgets in the hierarchy whose XmNnavigation-
                    Type is XmTAB_GROUP are not tab groups.

                    When a parent widget has an  XmNnavigationType  of  XmEXCLU-
                    SIVE_TAB_GROUP,  traversal  of  non-tab-group widgets within
                    the group is based on the order of those  widgets  in  their
                    parent's XmNchildren list.

                    When  any  widget in a hierarchy has an XmNnavigationType of
                    XmEXCLUSIVE_TAB_GROUP, traversal of tab groups in the  hier-
                    archy  proceeds  to widgets in the order in which their XmN-
                    navigationType  resources   were   specified   as   XmEXCLU-
                    SIVE_TAB_GROUP  or  XmSTICKY_TAB_GROUP,  whether by creating
                    the widgets with that value, by calling XtSetValues,  or  by
                    calling XmAddTabGroup.


     XmNshadowThickness
               Specifies  the  thickness  of the drawn border shadow.  XmBullet-
               inBoard and its descendants set this value dynamically.   If  the
               widget  is  a top level window, this value is set to 1.  If it is
               not a top level window, this value is set to 0.

     XmNstringDirection
               Specifies the initial direction to draw strings.  The values  are
               XmSTRING_DIRECTION_L_TO_R   and  XmSTRING_DIRECTION_R_TO_L.   The
               value of this resource is determined at creation  time.   If  the
               widget's  parent  is  a manager, this value is inherited from the
               widget's  parent,  otherwise  it  is   set   to   XmSTRING_DIREC-
               TION_L_TO_R.

     XmNtopShadowColor
               Specifies  the color to use to draw the top and left sides of the
               border shadow.  This color is used if the XmNtopShadowPixmap  re-
               source is NULL.

     XmNtopShadowPixmap
               Specifies the pixmap to use to draw the top and left sides of the
               border shadow.

     XmNtraversalOn
               Specifies whether traversal is activated for this widget.

     XmNunitType
               Provides  the  basic support for resolution independence.  It de-
               fines the type of units a widget uses with sizing and positioning
               resources.  If the widget's parent is a subclass of XmManager and
               if the XmNunitType resource is not explicitly set, it defaults to
               the unit type of the parent widget.  If the  widget's  parent  is
               not a subclass of XmManager, the resource has a default unit type
               of XmPIXELS.

               XmNunitType can have the following values:


                 *  XmPIXELS-all  values  provided  to the widget are treated as
                    normal pixel values.

                 *  Xm100TH_MILLIMETERS-all values provided to  the  widget  are
                    treated as 1/100 millimeter.

                 *  Xm1000TH_INCHES-all   values  provided  to  the  widget  are
                    treated as 1/1000 inch.

                 *  Xm100TH_POINTS-all values provided to the widget are treated
                    as 1/100 point.  A point is a unit used in  text  processing
                    applications and is defined as 1/72 inch.

                 *  Xm100TH_FONT_UNITS-all  values  provided  to  the widget are
                    treated as 1/100 of a font unit.  A font unit has horizontal
                    and vertical components.  These are the values  of  the  Xm-
                    Screen resources XmNhorizontalFontUnit and XmNverticalFontU-
                    nit.


     XmNuserData
               Allows  the  application to attach any necessary specific data to
               the widget.  This is an internally unused resource.


   Dynamic Color Defaults
     The foreground, background, top shadow, bottom shadow, and highlight  color
     resources  are  dynamically  defaulted.  If no color data is specified, the
     colors are automatically generated.  On a single-plane system, a black  and
     white  color  scheme  is  generated.  Otherwise, four colors are generated,
     which display the correct shading for the 3-D visuals.  If  the  background
     is  the only color specified for a widget, the top shadow and bottom shadow
     colors are generated to give the 3-D appearance.  Foreground and  highlight
     colors  are  generated  to  provide sufficient contrast with the background
     color.

     Colors are generated only at creation.  Resetting  the  background  through
     XtSetValues  does  not  regenerate  the other colors.  XmChangeColor can be
     used to recalculate all associated colors based on a new background color.

   Inherited Resources
     Manager inherits the following resources from the named superclasses.   For
     a complete description of each resource, refer to the man page for that su-
     perclass.

                               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

   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.  For this callback, reason
            is set to XmCR_HELP.

     event  Points to the XEvent that triggered the callback.


   Translations
     The following set of translations are used by  Manager  widgets  that  have
     Gadget  children.   Since  Gadgets cannot have translations associated with
     them, it is the responsibility of  the  Manager  widget  to  intercept  the
     events  of  interest  and  pass them to any Gadget child with focus.  These
     events are ignored if no Gadget child has the  focus.   These  translations
     may not directly correspond to a translation table.

     BAny Motion:   ManagerGadgetButtonMotion()
     BSelect Press: ManagerGadgetArm()
     BSelect Click: ManagerGadgetActivate()
     BSelect Release:ManagerGadgetActivate()
     BSelect Press 2+:ManagerGadgetMultiArm()
     BSelect Release 2+:ManagerGadgetMultiActivate()
     BDrag Press:   ManagerGadgetDrag()

     KSelect:       ManagerGadgetSelect()
     KActivate:     ManagerParentActivate()

     KCancel:       ManagerParentCancel()

     KPrevField:    ManagerGadgetPrevTabGroup()
     KNextField:    ManagerGadgetNextTabGroup()

     KUp:           ManagerGadgetTraverseUp()
     KDown:         ManagerGadgetTraverseDown()
     KLeft:         ManagerGadgetTraverseLeft()
     KRight:        ManagerGadgetTraverseRight()

     KBeginLine:    ManagerGadgetTraverseHome()

     KHelp:         ManagerGadgetHelp()

     KAny:          ManagerGadgetKeyInput()


   Action Routines
     The XmManager action routines are described below:


     ManagerGadgetActivate():
               Causes the current gadget to be activated.

     ManagerGadgetArm():
               Causes the current gadget to be armed.

     ManagerGadgetButtonMotion():
               Causes the current gadget to process a mouse motion event.

     ManagerGadgetDrag():
               Drags  the  contents  of  a  gadget label, identified by pressing
               BDrag.  This action creates a DragContext object whose XmNexport-
               Targets resource is set to "COMPOUND_TEXT" for a  label  type  of
               XmSTRING;  otherwise,  "PIXMAP"  if  the  label type is XmPIXMAP.
               This action is undefined for gadgets used in a menu system.

     ManagerGadgetHelp():
               Calls the callbacks for the current gadget's  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.

     ManagerGadgetKeyInput():
               Causes the current gadget to process a keyboard event.

     ManagerGadgetMultiActivate():
               Causes the current gadget to process a multiple mouse click.

     ManagerGadgetMultiArm():
               Causes the current gadget to  process  a  multiple  mouse  button
               press.

     ManagerGadgetNextTabGroup():
               Traverses  to  the first item in the next tab group.  If the cur-
               rent tab group is the last entry in the tab group list, it  wraps
               to the beginning of the tab group list.

     ManagerGadgetPrevTabGroup():
               Traverses  to  the  first item in the previous tab group.  If the
               beginning of the tab group list is reached, it wraps to  the  end
               of the tab group list.

     ManagerGadgetSelect():
               Causes the current gadget to be armed and activated.

     ManagerGadgetTraverseDown():
               Traverses  to  the next item below the current gadget in the cur-
               rent tab group, wrapping if necessary.

     ManagerGadgetTraverseHome():
               Traverses to the first widget or gadget in the current tab group.

     ManagerGadgetTraverseLeft():
               Traverses to the next item to the left of the current  gadget  in
               the current tab group, wrapping if necessary.

     ManagerGadgetTraverseNext():
               Traverses  to the next item in the current tab group, wrapping if
               necessary.

     ManagerGadgetTraversePrev():
               Traverses to the previous item in the current tab group, wrapping
               if necessary.

     ManagerGadgetTraverseRight():
               Traverses to the next item to the right of the current gadget  in
               the current tab group, wrapping if necessary.

     ManagerGadgetTraverseUp():
               Traverses  to  the next item above the current gadget in the cur-
               rent tab group, wrapping if necessary.

     ManagerParentActivate():
               If the parent is a manager, passes the KActivate  event  received
               by the current widget/gadget to its parent.

     ManagerParentCancel():
               If  the parent is a manager, passes the KCancel event received by
               the current widget/gadget to its parent.


   Additional Behavior
     This widget has the additional behavior described below:


     <FocusIn>:If the shell's keyboard focus policy is XmEXPLICIT and the  event
               occurs  in  a  gadget, causes the gadget to be highlighted and to
               take the focus.

     <FocusOut>:
               If the shell's keyboard focus policy is XmEXPLICIT and the  event
               occurs  in a gadget, causes the gadget to be unhighlighted and to
               lose the focus.


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

RELATED INFORMATION
     Composite(3X), Constraint(3X), Core(3X), XmChangeColor(3X), XmGadget(3X),
     and XmScreen(3X).

                                                                   XmManager(3X)