XmManager(3X)

XmManager - The Manager widget class

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.19.

     NAME
          XmManager - The Manager widget class

     SYNOPSIS
          #include <Xm/Xm.h>

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

        Classes
          Manager inherits behavior and resources from Core,
          Composite, and Constraint 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 programmer 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 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).

                                          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
               XmNbottomShadowPixmap 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 widget must meet these conditions:

          o    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, Primitive, 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 traversable children)
               that acts as a primitive.

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

          o    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
               ancestor's XmNkeyboardFocusPolicy is XmEXPLICIT.  It is
               used to determine which widget receives focus in these
               situations:

          o    When the manager is the child of a shell and the shell
               hierarchy receives focus for the first time

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

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

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

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

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

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

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

          o    XmSTICKY_TAB_GROUP indicates that the widget is a tab
               group, even if another widget in the hierarchy has an
               XmNnavigationType of XmEXCLUSIVE_TAB_GROUP.

          o    XmEXCLUSIVE_TAB_GROUP indicates that the widget is a
               tab group and that widgets in the hierarchy whose
               XmNnavigationType is XmTAB_GROUP are not tab groups.

               When a parent widget has an XmNnavigationType of
               XmEXCLUSIVE_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 hierarchy proceeds to widgets in the order in which
               their XmNnavigationType resources were specified as
               XmEXCLUSIVE_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.
               XmBulletinBoard 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_DIRECTION_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 resource 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 defines 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:

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

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

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

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

          o    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 XmScreen resources XmNhorizontalFontUnit
               and XmNverticalFontUnit.

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

                             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.
          Some of these translations may be affected by the
          XmDisplay's enableMultiKeyBindings resource: see
          XmDisplay(3X).  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 XmNexportTargets 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():
               This action depends on the value of the XmDisplay
               resource enableButtonTab.

               When enableButtonTab is False (the default), this
               action traverses to the first item in the next tab
               group.  If the current tab group is the last entry in
               the tab group list, it wraps to the beginning of the
               tab group list.

               When enableButtonTab is True, this action will move to
               the next item within the current tab group unless it is
               the last item in the tab group.  When the item is the
               last in the group, the action traverses to the first
               item in the next tab group.  The enableButtonTab
               behavior applies only to XmPushButton, XmArrow, and
               XmDrawnButton.

          ManagerGadgetPrevTabGroup():
               This action depends on the value of the XmDisplay
               resource enableButtonTab.

               When enableButtonTab is False (the default), this
               action 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.

               When enableButtonTab is True, this action will move to
               the previous item within the current tab group unless
               it is the first item in the tab group.  When the item
               is the first in the group, the action traverses to the
               first item in the previous tab group.  The
               enableButtonTab behavior applies only to XmPushButton,
               XmArrow, and XmDrawnButton.

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

          ManagerGadgetTraverseDown():
               Traverses to the next item below the current gadget in
               the current 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 current 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),
          XmDisplay(3X), XmGadget(3X), and XmScreen(3X).