XmPrimitive(3X)

XmPrimitive --The Primitive widget class

As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.

NAME
     XmPrimitive --The Primitive widget class

SYNOPSIS
     #include <Xm/Xm.h>


VERSION
     This page documents version 1.2 of the Motif library.

DESCRIPTION
     Primitive  is a widget class used as a supporting superclass for other wid-
     get classes.  It handles border drawing and highlighting, traversal activa-
     tion and deactivation, and various callback lists needed by Primitive  wid-
     gets.

   Classes
     Primitive inherits behavior and resources from Core class.

     The class pointer is xmPrimitiveWidgetClass.

     The class name is XmPrimitive.

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

                                    XmPrimitive 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
XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False                  CSG
XmNhighlightPixmap      XmCHighlightPixmap      Pixmap             dynamic                CSG
XmNhighlightThickness   XmCHighlightThickness   Dimension          2                      CSG
XmNnavigationType       XmCNavigationType       XmNavigationType   XmNONE                 CSG
XmNshadowThickness      XmCShadowThickness      Dimension          2                      CSG
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  XmNtopShadowPixmap
               resource is unspecified.

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

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

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

     XmNhighlightOnEnter
               Specifies if the highlighting rectangle is drawn when the  cursor
               moves  into  the  widget.   If  the shell's focus policy is XmEX-
               PLICIT, this resource is ignored, and the widget  is  highlighted
               when  it has the focus.  If the shell's focus policy is XmPOINTER
               and if this resource is True, the highlighting rectangle is drawn
               when the the cursor moves into the widget.  If the shell's  focus
               policy is XmPOINTER and if this resource is False, the highlight-
               ing  rectangle  is  not  drawn when the the cursor moves into the
               widget.  The default is False.

     XmNhighlightPixmap
               Specifies the pixmap used to draw the highlighting rectangle.

     XmNhighlightThickness
               Specifies the thickness of the highlighting rectangle.

     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 size of the drawn border shadow.

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

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

     XmNtraversalOn
               Specifies if traversal is activated for this widget.  In Cascade-
               Button and CascadeButtonGadget, this resource is forced  to  TRUE
               unless the parent is an OptionMenu.

     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.  It 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
     Primitive inherits behavior and resources from  the  following  superclass.
     For a complete description of each resource, refer to the man page for that
     superclass.

                                              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 XmPrimitive translations are listed below.  These translations may  not
     directly correspond to a translation table.

     Note that for buttons in menus, altering translations in #override or #aug-
     ment mode is undefined.

     KUp:           PrimitiveTraverseUp()
     KDown:         PrimitiveTraverseDown()
     KLeft:         PrimitiveTraverseLeft()
     KRight:        PrimitiveTraverseRight()

     KBeginLine:    PrimitiveTraverseHome()

     KNextField:    PrimitiveNextTabGroup()
     KPrevField:    PrimitivePrevTabGroup()

     KActivate:     PrimitiveParentActivate()
     KCancel:       PrimitiveParentCancel()

     KHelp:         PrimitiveHelp()


   Action Routines
     The XmPrimitive action routines are described below:


     PrimitiveHelp():
               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.

     PrimitiveNextTabGroup():
               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.

     PrimitiveParentActivate():
               If the parent is a manager, passes the KActivate  event  received
               by the widget to the parent.

     PrimitiveParentCancel():
               If  the parent is a manager, Passes the KCancel event received by
               the widget to the parent.

     PrimitivePrevTabGroup():
               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.

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

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

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

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

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

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

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


   Additional Behavior
     This widget has the additional behavior described below:


     <FocusIn>:If  the  shell's  keyboard focus policy is XmEXPLICIT, highlights
               the widget and gives it the focus.

     <FocusOut>:
               If the shell's keyboard focus policy is XmEXPLICIT,  unhighlights
               the widget and removes 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
     Core(3X), XmChangeColor(3X), and XmScreen(3X).

                                                                 XmPrimitive(3X)