Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmManager(3X) — DG/UX 5.4.2A

Media Vault

Software Library

Restoration Projects

Artifacts Sought



     XmManager(3X)             UNIX System V             XmManager(3X)



     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







     1                                                (printed 6/8/92)





     XmManager(3X)             UNIX System V             XmManager(3X)



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

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

          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:


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

                      ⊕  The widget must not be a descendant of a tab



     2                                                (printed 6/8/92)





     XmManager(3X)             UNIX System V             XmManager(3X)



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


                      ⊕  When the manager is the child of a shell and
                         the shell hierarchy 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



     3                                                (printed 6/8/92)





     XmManager(3X)             UNIX System V             XmManager(3X)



                         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.


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

                      ⊕  XmTABGROUP indicates that the widget is a
                         tab group, unless another widget in the
                         hierarchy has an XmNnavigationType of
                         XmEXCLUSIVETABGROUP.

                      ⊕  XmSTICKYTABGROUP indicates that the widget
                         is a tab group, even if another widget in the
                         hierarchy has an XmNnavigationType of
                         XmEXCLUSIVETABGROUP.

                      ⊕  XmEXCLUSIVETABGROUP indicates that the
                         widget is a tab group and that widgets in the
                         hierarchy whose XmNnavigationType is
                         XmTABGROUP are not tab groups.

                         When a parent widget has an XmNnavigationType
                         of XmEXCLUSIVETABGROUP, 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 XmEXCLUSIVETABGROUP,
                         traversal of tab groups in the hierarchy
                         proceeds to widgets in the order in which
                         their XmNnavigationType resources were
                         specified as XmEXCLUSIVETABGROUP or
                         XmSTICKYTABGROUP, whether by creating the
                         widgets with that value, by calling



     4                                                (printed 6/8/92)





     XmManager(3X)             UNIX System V             XmManager(3X)



                         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 XmSTRINGDIRECTIONLTOR and
                    XmSTRINGDIRECTIONRTOL.  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 XmSTRINGDIRECTIONLTOR.

          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:


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







     5                                                (printed 6/8/92)





     XmManager(3X)             UNIX System V             XmManager(3X)



                      ⊕  Xm100THMILLIMETERS-all values provided to
                         the widget are treated as 1/100 millimeter.

                      ⊕  Xm1000THINCHES-all values provided to the
                         widget are treated as 1/1000 inch.

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

                      ⊕  Xm100THFONTUNITS-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






     6                                                (printed 6/8/92)





     XmManager(3X)             UNIX System V             XmManager(3X)



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

          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.



     7                                                (printed 6/8/92)





     XmManager(3X)             UNIX System V             XmManager(3X)



          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 XmNexportTargets resource
                    is set to "COMPOUND_TEXT" for a label type of
                    XmSTRING; otherwise, "PIXMAP" if the label type is



     8                                                (printed 6/8/92)





     XmManager(3X)             UNIX System V             XmManager(3X)



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




     9                                                (printed 6/8/92)





     XmManager(3X)             UNIX System V             XmManager(3X)



          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),
          XmGadget(3X), and XmScreen(3X).



     10                                               (printed 6/8/92)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026