


                                                              XmRowColumn(3X)



   NAME
     XXmmRRoowwCCoolluummnn-The RowColumn widget class

   SYNOPSIS
     ##iinncclluuddee <<XXmm//RRoowwCCoolluummnn..hh>>

   DESCRIPTION
     The RowColumn widget is a general purpose RowColumn manager capable of
     containing any widget type as a child.  In general, it requires no spe-
     cial knowledge about how its children function and provides nothing
     beyond support for several different layout styles.  However, it can be
     configured as a menu, in which case, it expects only certain children,
     and it configures to a particular layout.  The menus supported are:
     MenuBar, Pulldown or Popup MenuPanes, and OptionMenu.

     The type of layout performed is controlled by how the application has
     set the various layout resources.  It can be configured to lay out its
     children in either rows or columns.  In addition, the application can
     specify how the children are laid out, as follows:

       ++oo  the children are packed tightly together into either rows or
          columns

       ++oo  each child is placed in an identically sized box (producing a sym-
          metrical look)

       ++oo  a specific layout (the current _x and _y positions of the children
          control their location)

     In addition, the application has control over both the spacing that
     occurs between each row and column and the margin spacing present
     between the edges of the RowColumn widget and any children that are
     placed against it.

     In a MenuBar, Pulldown MenuPane, or Popup MenuPane the default for the
     XXmmNNsshhaaddoowwTThhiicckknneessss resource is 2.  In an OptionMenu or a WorkArea (such
     as a RadioBox or CheckBox) this resource is not applicable and its use
     is undefined.  If an application wishes to place a 3-D shadow around an
     OptionMenu or WorkArea, it can create the RowColumn as a child of a
     Frame widget.

     In a MenuBar, Pulldown MenuPane, or Popup MenuPane the XXmmNNnnaavviiggaattiioonnTTyyppee
     resource is not applicable and its use is undefined.  In a WorkArea the
     default for XXmmNNnnaavviiggaattiioonnTTyyppee is XXmmTTAABB__GGRROOUUPP.  In an OptionMenu the
     default for XXmmNNnnaavviiggaattiioonnTTyyppee is XXmmNNOONNEE.

     In a MenuBar, Pulldown MenuPane, or Popup MenuPane the XXmmNNttrraavveerrssaallOOnn
     resource is not applicable and its use is undefined.  In an OptionMenu
     or WorkArea the default for XXmmNNttrraavveerrssaallOOnn is True.

     If the parent of the RowColumn is a MenuShell, the XXmmNNmmaappppeeddWWhheennMMaannaaggeedd
     resource is forced to False when the widget is realized.



   1-575






   XmRowColumn(3X)


     The user can specify resources in a resource file for the automatically
     created widgets and gadgets of an OptionMenu.  The following list iden-
     tifies the names of these widgets (or gadgets) and the associated
     OptionMenu areas.

       ++oo

       ++oo  Option Menu Label Gadget-"OptionLabel"

       ++oo  Option Menu Cascade Button-"OptionButton"

     Tear-off Menus

     Pulldown and Popup MenuPanes support tear-off menus, which enable the
     user to retain a MenuPane on the display to facilitate subsequent menu
     selections.  A MenuPane that can be torn-off is identified by a tear-off
     button that spans the width of the MenuPane and displays a dashed line.
     A torn-off MenuPane contains a window manager system menu icon and a
     title bar.  The window title displays the label of the cascade button
     that initiated the action when the label type is XXmmSSTTRRIINNGG.  If the label
     contains a pixmap the window title is empty.  A tear-off menu from a
     Popup MenuPane also displays an empty title.

     The user can tear-off a MenuPane using the mouse or keyboard.  Clicking
     BBSSeelleecctt or pressing KKAAccttiivvaattee (or KKSSeelleecctt) on the tear-off button, tears
     off the MenuPane at the current position.  Pressing BBDDrraagg on the tear-
     off button tears off the MenuPane, and allows the user to drag the
     torn-off menu to a new position designated by releasing the mouse but-
     ton.  Tearing off a MenuPane unposts the current active menu.  Only one
     tear-off copy for each MenuPane is allowed.  Subsequent tear-off actions
     of a torn MenuPane unpost the existing copy first.

     The name of the tear-off button of a torn-off menu pane is "TearOffCon-
     trol".  The name can be used to set resources in a resource file.  An
     application can also obtain the tear-off button itself using XXmmGGeett--
     TTeeaarrOOffffCCoonnttrrooll and then set resource values by calling XXttSSeettVVaalluueess.

     The tear-off button has Separator-like behavior.  Its appearance can be
     specified using the following tear-off button resources: XXmmNNbbaacckkggrroouunndd,
     XXmmNNbbaacckkggrroouunnddPPiixxmmaapp,XXmmNNbboottttoommSShhaaddoowwCCoolloorr, XXmmNNffoorreeggrroouunndd, XXmmNNhheeiigghhtt,
     XXmmNNmmaarrggiinn, XXmmNNsseeppaarraattoorrTTyyppee, XXmmNNsshhaaddoowwTThhiicckknneessss, and XXmmNNttooppSShhaaddoowwCCoolloorr.
     Refer to the XXmmSSeeppaarraattoorr man page for a complete description of each of
     these resources.

     RowColumn resources that affect tear-off menu behavior are XXmmNNtteeaarrOOffffMMoo--
     ddeell, XXmmNNtteeaarrOOffffMMeennuuAAccttiivvaatteeCCaallllbbaacckk, and XXmmNNtteeaarrOOffffMMeennuuDDeeaaccttiivvaatteeCCaallll--
     bbaacckk.

     By default, menus do not tear off; tear off functionality may be enabled
     by setting the XXmmNNtteeaarrOOffffMMooddeell resource to XXmmTTEEAARR__OOFFFF__EENNAABBLLEEDD.  There is
     no resource converter pre-registered for XXmmNNtteeaarrOOffffMMooddeell.  To allow
     tear-off functionality to be enabled through the resource database call
     the function XXmmRReeppTTyyppeeIInnssttaallllTTeeaarrOOffffMMooddeellCCoonnvveerrtteerr.



   1-576






                                                              XmRowColumn(3X)


     Tear-off menu focus policy follows standard window manager policy.  It
     is recommended that the following mmwwmm resources are set to True: ssttaarr--
     ttuuppKKeeyyFFooccuuss and aauuttooKKeeyyFFooccuuss.

     Classes

     RowColumn inherits behavior and resources from CCoorree, CCoommppoossiittee, CCoonn--
     ssttrraaiinntt, and XXmmMMaannaaggeerr classes.

     The class pointer is xxmmRRoowwCCoolluummnnWWiiddggeettCCllaassss.

     The class name is XXmmRRoowwCCoolluummnn.

     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
     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 XXmmNN or XXmmCC prefix and use the remaining letters.  To specify one of
     the defined values for a resource in a .Xdefaults file, remove the XXmm
     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 XXttSSeettVVaalluueess (S), retrieved by using XXttGGeettVVaalluueess (G), or is
     not applicable (N/A).
                                            XXmmRRoowwCCoolluummnn RReessoouurrccee SSeett
   NNaammee                               CCllaassss                  TTyyppee             DDeeffaauulltt                  AAcccceessss
   __________________________________________________________________________________________________________
   XmNadjustLast                      XmCAdjustLast          Boolean          True                     CSG
   XmNadjustMargin                    XmCAdjustMargin        Boolean          True                     CSG
   XmNentryAlignment                  XmCAlignment           unsigned char    XmALIGNMENT_BEGINNING    CSG
   XmNentryBorder                     XmCEntryBorder         Dimension        0                        CSG
   XmNentryCallback                   XmCCallback            XtCallbackList   NULL                     C
   XmNentryClass                      XmCEntryClass          WidgetClass      dynamic                  CSG
   XmNentryVerticalAlignment          XmCVerticalAlignment   unsigned char    XmALIGNMENT_CENTER       CSG
   XmNisAligned                       XmCIsAligned           Boolean          True                     CSG
   XmNisHomogeneous                   XmCIsHomogeneous       Boolean          dynamic                  CG
   XmNlabelString                     XmCXmString            XmString         NULL                     C
   XmNmapCallback                     XmCCallback            XtCallbackList   NULL                     C
   XmNmarginHeight                    XmCMarginHeight        Dimension        dynamic                  CSG
   XmNmarginWidth                     XmCMarginWidth         Dimension        dynamic                  CSG
   XmNmenuAccelerator                 XmCAccelerators        String           dynamic                  CSG
   XmNmenuHelpWidget                  XmCMenuWidget          Widget           NULL                     CSG
   XmNmenuHistory                     XmCMenuWidget          Widget           NULL                     CSG
   XmNmenuPost                        XmCMenuPost            String           NULL                     CSG
   XmNmnemonic                        XmCMnemonic            KeySym           NULL                     CSG
   XmNmnemonicCharSet                 XmCMnemonicCharSet     String           XmFONTLIST_DEFAULT_TAG   CSG
   XmNnumColumns                      XmCNumColumns          short            1                        CSG
   XmNorientation                     XmCOrientation         unsigned char    dynamic                  CSG
   XmNpacking                         XmCPacking             unsigned char    dynamic                  CSG
   XmNpopupEnabled                    XmCPopupEnabled        Boolean          True                     CSG
   XmNradioAlwaysOne                  XmCRadioAlwaysOne      Boolean          True                     CSG
   XmNradioBehavior                   XmCRadioBehavior       Boolean          False                    CSG


   1-577






   XmRowColumn(3X)


   XmNresizeHeight                    XmCResizeHeight        Boolean          True                     CSG
   XmNresizeWidth                     XmCResizeWidth         Boolean          True                     CSG
   XmNrowColumnType                   XmCRowColumnType       unsigned char    XmWORK_AREA              CG
   XmNspacing                         XmCSpacing             Dimension        dynamic                  CSG
   XmNsubMenuId                       XmCMenuWidget          Widget           NULL                     CSG
   XmNtearOffMenuActivateCallback     XmCCallback            XtCallbackList   NULL                     C
   XmNtearOffMenuDeactivateCallback   XmCCallback            XtCallbackList   NULL                     C
   XmNtearOffModel                    XmCTearOffModel        unsigned char    XmTEAR_OFF_DISABLED      CSG
   XmNunmapCallback                   XmCCallback            XtCallbackList   NULL                     C
   XmNwhichButton                     XmCWhichButton         unsigned int     dynamic                  CSG

     XXmmNNaaddjjuussttLLaasstt
               Extends the last row of children to the bottom edge of
               RowColumn (when XXmmNNoorriieennttaattiioonn is XXmmHHOORRIIZZOONNTTAALL) or extends the
               last column to the right edge of RowColumn (when XXmmNNoorriieennttaa--
               ttiioonn is XXmmVVEERRTTIICCAALL).  This feature is disabled by setting
               XXmmNNaaddjjuussttLLaasstt to False.

     XXmmNNaaddjjuussttMMaarrggiinn
               Specifies whether the inner minor margins of all items con-
               tained within the RowColumn widget are forced to the same
               value.  The inner minor margin corresponds to the XXmmNNmmaarrggiinn--
               LLeefftt, XXmmNNmmaarrggiinnRRiigghhtt, XXmmNNmmaarrggiinnTToopp, and XXmmNNmmaarrggiinnBBoottttoomm
               resources supported by XXmmLLaabbeell and XXmmLLaabbeellGGaaddggeett.
               A horizontal orientation causes XXmmNNmmaarrggiinnTToopp and XXmmNNmmaarrggiinnBBoott--
               ttoomm for all items in a particular row to be forced to the same
               value; the value is the largest margin specified for one of
               the Label items.
               A vertical orientation causes XXmmNNmmaarrggiinnLLeefftt and XXmmNNmmaarrggiinnRRiigghhtt
               for all items in a particular column to be forced to the same
               value; the value is the largest margin specified for one of
               the Label items.
               This keeps all text within each row or column lined up with
               all other text in its row or column.  If the XXmmNNrroowwCCoolluummnnTTyyppee
               is either XXmmMMEENNUU__PPOOPPUUPP or XXmmMMEENNUU__PPUULLLLDDOOWWNN and this resource is
               True, only button children have their margins adjusted.

     XXmmNNeennttrryyAAlliiggnnmmeenntt
               Specifies the alignment type for children that are subclasses
               of XXmmLLaabbeell or XXmmLLaabbeellGGaaddggeett when XXmmNNiissAAlliiggnneedd is enabled.  The
               following are textual alignment types:
               XXmmAALLIIGGNNMMEENNTT__BBEEGGIINNNNIINNGG-the default
               XXmmAALLIIGGNNMMEENNTT__CCEENNTTEERR
               XXmmAALLIIGGNNMMEENNTT__EENNDD
               See the description of XXmmNNaalliiggnnmmeenntt in the XXmmLLaabbeell((33XX)) man
               page for an explanation of these actions.

     XXmmNNeennttrryyBBoorrddeerr
               Imposes a uniform border width upon all RowColumn's children.
               The default value is 0, which disables the feature.

     XXmmNNeennttrryyCCaallllbbaacckk
               Disables the XXmmNNaaccttiivvaatteeCCaallllbbaacckk and XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk
               callbacks for all CascadeButton, DrawnButton, PushButton, and


   1-578






                                                              XmRowColumn(3X)


               ToggleButton widgets and gadgets contained within the
               RowColumn widget.  If the application supplies this resource,
               the XXmmNNaaccttiivvaatteeCCaallllbbaacckk and XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk callbacks
               are then revectored to the XXmmNNeennttrryyCCaallllbbaacckk callbacks.  This
               allows an application to supply a single callback routine for
               handling all items contained in a RowColumn widget.  The call-
               back reason is XXmmCCRR__AACCTTIIVVAATTEE.  If the application does not
               supply this resource, the XXmmNNaaccttiivvaatteeCCaallllbbaacckk and
               XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk callbacks for each item in the
               RowColumn widget work as normal.
               The application must supply this resource when this widget is
               created.  Changing this resource using the XXttSSeettVVaalluueess is not
               supported.

     XXmmNNeennttrryyCCllaassss
               Specifies the only widget class that can be added to the
               RowColumn widget; this resource is meaningful only when the
               XXmmNNiissHHoommooggeenneeoouuss resource is set to True.  Both widget and
               gadget variants of the specified class may be added to the
               widget.
               When XXmmCCrreeaatteeRRaaddiiooBBooxx is called or when XXmmNNrroowwCCoolluummnnTTyyppee is
               set to XXmmWWOORRKK__AARREEAA and XXmmNNrraaddiiooBBeehhaavviioorr is True, the default
               value of XXmmNNeennttrryyCCllaassss is xxmmTToogggglleeBBuuttttoonnGGaaddggeettCCllaassss.  When
               XXmmNNrroowwCCoolluummnnTTyyppee is set to XXmmMMEENNUU__BBAARR, the value of XXmmNNeenn--
               ttrryyCCllaassss is forced to xxmmCCaassccaaddeeBBuuttttoonnWWiiddggeettCCllaassss.

     XXmmNNeennttrryyVVeerrttiiccaallAAlliiggnnmmeenntt
               Specifies the type of vertical alignment for children that are
               subclasses of XXmmLLaabbeell, XXmmLLaabbeellGGaaddggeett,, aanndd XXmmTTeexxtt.  This
               resource is invalid if XXmmNNoorriieennttaattiioonn is XXmmVVEERRTTIICCAALL and
               XXmmNNppaacckkiinngg is XXmmPPAACCKK__TTIIGGHHTT because this layout preserves vari-
               able heights among the children.  The vertical alignment types
               include:

                 ++oo  XXmmAALLIIGGNNMMEENNTT__BBAASSEELLIINNEE__BBOOTTTTOOMM-causes the bottom baseline of
                    all children in a row to be aligned.  This resource is
                    applicable only when all children in a row contain tex-
                    tual data.

                 ++oo  XXmmAALLIIGGNNMMEENNTT__BBAASSEELLIINNEE__TTOOPP-causes the top baseline of all
                    children in a row to be aligned.  This resource is appli-
                    cable only when all children in a row contain textual
                    data.

                 ++oo  XXmmAALLIIGGNNMMEENNTT__CCOONNTTEENNTTSS__BBOOTTTTOOMM-causes the bottom of the con-
                    tents (text or pixmap) of all children in a row to be
                    aligned.

                 ++oo  XXmmAALLIIGGNNMMEENNTT__CCEENNTTEERR-causes the center of all children in a
                    row to be aligned.

                 ++oo  XXmmAALLIIGGNNMMEENNTT__CCOONNTTEENNTTSS__TTOOPP-causes the top of the contents
                    (text or pixmap) of all children in a row to be aligned.



   1-579






   XmRowColumn(3X)


     XXmmNNiissAAlliiggnneedd
               Specifies text alignment for each item within the RowColumn
               widget; this applies only to items that are subclasses of
               XXmmLLaabbeell or XXmmLLaabbeellGGaaddggeett.  However, if the item is a Label
               widget or gadget and its parent is either a Popup MenuPane or
               a Pulldown MenuPane, alignment is not performed; the Label is
               treated as the title within the MenuPane, and the alignment
               set by the application is not overridden.  XXmmNNeennttrryyAAlliiggnnmmeenntt
               controls the type of textual alignment.

     XXmmNNiissHHoommooggeenneeoouuss
               Indicates whether the RowColumn widget should enforce exact
               homogeneity among the items it contains; if True, only the
               widgets that are of the class indicated by XXmmNNeennttrryyCCllaassss are
               allowed as children of the RowColumn widget.  This is most
               often used when creating a MenuBar.  Attempting to insert a
               child that is not a member of the specified class generates a
               warning message.
               In a MenuBar the value of XXmmNNiissHHoommooggeenneeoouuss is forced to True.
               In an OptionMenu the value is forced to False.  When
               XXmmCCrreeaatteeRRaaddiiooBBooxx is called the default value is True.  Other-
               wise, the default value is False.

     XXmmNNllaabbeellSSttrriinngg
               Points to a text string, which displays the label to one side
               of the selection area when XXmmNNrroowwCCoolluummnnTTyyppee is set to
               XXmmMMEENNUU__OOPPTTIIOONN.  This resource is not meaningful for all other
               RowColumn types.  If the application wishes to change the
               label after creation, it must get the LabelGadget ID (XXmmOOpp--
               ttiioonnLLaabbeellGGaaddggeett) and call XXttSSeettVVaalluueess on the LabelGadget
               directly.  The default value is no label.

     XXmmNNmmaappCCaallllbbaacckk
               Specifies a widget-specific callback function that is invoked
               when the window associated with the RowColumn widget is about
               to be mapped.  The callback reason is XXmmCCRR__MMAAPP.

     XXmmNNmmaarrggiinnHHeeiigghhtt
               Specifies the amount of blank space between the top edge of
               the RowColumn widget and the first item in each column, and
               the bottom edge of the RowColumn widget and the last item in
               each column.  The default value is 0 for Pulldown and Popup
               MenuPanes, and 3 pixels for other RowColumn types.

     XXmmNNmmaarrggiinnWWiiddtthh
               Specifies the amount of blank space between the left edge of
               the RowColumn widget and the first item in each row, and the
               right edge of the RowColumn widget and the last item in each
               row.  The default value is 0 for Pulldown and Popup MenuPanes,
               and 3 pixels for other RowColumn types.

     XXmmNNmmeennuuAAcccceelleerraattoorr
               This resource is useful only when the RowColumn widget has
               been configured to operate as a Popup MenuPane or a MenuBar.


   1-580






                                                              XmRowColumn(3X)


               The format of this resource is similar to the left side
               specification of a translation string, with the limitation
               that it must specify a key event.  For a Popup MenuPane, when
               the accelerator is typed by the user, the Popup MenuPane is
               posted.  For a MenuBar, when the accelerator is typed by the
               user, the first item in the MenuBar is highlighted, and
               traversal is enabled in the MenuBar.  The default for a Popup
               MenuPane is KKMMeennuu.  The default for a MenuBar is KKMMeennuuBBaarr.
               The accelerator can be disabled by setting the XXmmNNppooppuuppEEnnaabblleedd
               resource to False.

     XXmmNNmmeennuuHHeellppWWiiddggeett
               Specifies the widget ID for the CascadeButton, which is
               treated as the Help widget if XXmmNNrroowwCCoolluummnnTTyyppee is set to
               XXmmMMEENNUU__BBAARR.  The MenuBar always places the Help widget at the
               bottom right corner (in a lef to right environment) of the
               MenuBar.  If the RowColumn widget is any type other than
               XXmmMMEENNUU__BBAARR, this resource is not meaningful.

     XXmmNNmmeennuuHHiissttoorryy
               Specifies the widget ID of the last menu entry to be
               activated.  It is also useful for specifying the current
               selection for an OptionMenu.  If XXmmNNrroowwCCoolluummnnTTyyppee is set to
               XXmmMMEENNUU__OOPPTTIIOONN, the specified menu item is positioned under the
               cursor when the menu is displayed.
               If the RowColumn widget has the XXmmNNrraaddiiooBBeehhaavviioorr resource set
               to True, the widget field associated with this resource con-
               tains the widget ID of the last ToggleButton or ToggleBut-
               tonGadget to change from unselected to selected.  The default
               value is the widget ID of the first child in the widget.

     XXmmNNmmeennuuPPoosstt
               Specifies an X event description indicating a button event
               that posts a menu system.  The default for XXmmMMEENNUU__PPOOPPUUPP is
               BBMMeennuu PPrreessss.  The default for XXmmMMEENNUU__OOPPTTIIOONN, XXmmMMEENNUU__BBAARR, and
               XXmmWWOORRKK__AARREEAA is BBSSeelleecctt PPrreessss.  The XXmmNNmmeennuuPPoosstt resource for
               pulldowns should be consistent with that of top-level parent
               menu (although the event type is ignored).  Setting this
               resource to BBDDrraagg PPrreessss will conflict with drag and drop
               operations, which use BBDDrraagg PPrreessss as a default button binding.

     XXmmNNmmnneemmoonniicc
               This resource is useful only when XXmmNNrroowwCCoolluummnnTTyyppee is set to
               XXmmMMEENNUU__OOPPTTIIOONN.  Specifies a keysym for a key that, when
               pressed by the user along with the MMAAlltt modifier, posts the
               associated Pulldown MenuPane.  The first character in the
               OptionMenu label string that exactly matches the mnemonic in
               the character set specified in XXmmNNmmnneemmoonniiccCChhaarrSSeett is under-
               lined.  The user can post the menu by pressing either the
               shifted or the unshifted mnemonic key.  The default is no
               mnemonic.

     XXmmNNmmnneemmoonniiccCChhaarrSSeett
               Specifies the character set of the mnemonic for an OptionMenu.


   1-581






   XmRowColumn(3X)


               The default is XXmmFFOONNTTLLIISSTT__DDEEFFAAUULLTT__TTAAGG.  If the RowColumn
               widget is any type other than XXmmMMEENNUU__OOPPTTIIOONN, this resource is
               not meaningful.

     XXmmNNnnuummCCoolluummnnss
               Specifies the number of minor dimension extensions that are
               made to accommodate the entries; this attribute is meaningful
               only when XXmmNNppaacckkiinngg is set to XXmmPPAACCKK__CCOOLLUUMMNN.
               For vertically oriented RowColumn widgets, this attribute
               indicates how many columns are built; the number of entries
               per column is adjusted to maintain this number of columns, if
               possible.
               For horizontally oriented RowColumn widgets, this attribute
               indicates how many rows are built.
               The default value is 1.  In an OptionMenu the value is forced
               to 1.  The value must be greater than 0.

     XXmmNNoorriieennttaattiioonn
               Determines whether RowColumn layouts are row-major or column-
               major.  In a column-major layout, the children of the
               RowColumn are laid out in columns top to bottom within the
               widget.  In a row-major layout the children of the RowColumn
               are laid out in rows.  XXmmVVEERRTTIICCAALL resource value selects a
               column-major layout.  XXmmHHOORRIIZZOONNTTAALL resource value selects a
               row-major layout.
               When creating a MenuBar or an OptionMenu, the default is
               XXmmHHOORRIIZZOONNTTAALL.  Otherwise, the default value is XXmmVVEERRTTIICCAALL.
               The results of specifying a value of XXmmVVEERRTTIICCAALL for a MenuBar
               are undefined.

     XXmmNNppaacckkiinngg
               Specifies how to pack the items contained within a RowColumn
               widget.  This can be set to XXmmPPAACCKK__TTIIGGHHTT,, XXmmPPAACCKK__CCOOLLUUMMNN or
               XXmmPPAACCKK__NNOONNEE.  When a RowColumn widget packs the items it con-
               tains, it determines its major dimension using the value of
               the XXmmNNoorriieennttaattiioonn resource.
               XXmmPPAACCKK__TTIIGGHHTT indicates that given the current major dimension
               (for example, vertical if XXmmNNoorriieennttaattiioonn is XXmmVVEERRTTIICCAALL),
               entries are placed one after the other until the RowColumn
               widget must wrap.  RowColumn wraps when there is no room left
               for a complete child in that dimension.  Wrapping occurs by
               beginning a new row or column in the next available space.
               Wrapping continues, as often as necessary, until all of the
               children are laid out.  In the vertical dimension (columns),
               boxes are set to the same width; in the horizontal dimension
               (rows), boxes are set to the same depth.  Each entry's posi-
               tion in the major dimension is left unaltered (for example,
               XXmmNNyy is left unchanged when XXmmNNoorriieennttaattiioonn is XXmmVVEERRTTIICCAALL); its
               position in the minor dimension is set to the same value as
               the greatest entry in that particular row or column.  The
               position in the minor dimension of any particular row or
               column is independent of all other rows or columns.
               XXmmPPAACCKK__CCOOLLUUMMNN indicates that all entries are placed in identi-
               cally sized boxes.  The box is based on the largest height and


   1-582






                                                              XmRowColumn(3X)


               width values of all the children widgets.  The value of the
               XXmmNNnnuummCCoolluummnnss resource determines how many boxes are placed in
               the major dimension, before extending in the minor dimension.
               XXmmPPAACCKK__NNOONNEE indicates that no packing is performed.  The x and
               y attributes of each entry are left alone, and the RowColumn
               widget attempts to become large enough to enclose all entries.
               When XXmmCCrreeaatteeRRaaddiiooBBooxx is called or when XXmmNNrroowwCCoolluummnnTTyyppee is
               set to XXmmWWOORRKK__AARREEAA and XXmmNNrraaddiiooBBeehhaavviioorr is True, the default
               value of XXmmNNppaacckkiinngg is XXmmPPAACCKK__CCOOLLUUMMNN.  In an OptionMenu the
               value is initialized to XXmmPPAACCKK__TTIIGGHHTT.  Otherwise, the value
               defaults to XXmmPPAACCKK__TTIIGGHHTT.

     XXmmNNppooppuuppEEnnaabblleedd
               Allows the menu system to enable keyboard input (accelerators
               and mnemonics) defined for the Popup MenuPane and any of its
               submenus.  The Popup MenuPane needs to be informed whenever
               its accessibility to the user changes because posting of the
               Popup MenuPane is controlled by the application.  The default
               value of this resource is True (keyboard input-accelerators
               and mnemonics-defined for the Popup MenuPane and any of its
               submenus is enabled).

     XXmmNNrraaddiiooAAllwwaayyssOOnnee
               If True, forces the active ToggleButton or ToggleButtonGadget
               to be automatically selected after having been unselected (if
               no other toggle was activated).  If False, the active toggle
               may be unselected.  The default value is True.  This resource
               is important only when XXmmNNrraaddiiooBBeehhaavviioorr is True.
               The application can always add and subtract toggles from
               RowColumn regardless of the selected/unselected state of the
               toggle.  The application can also manage and unmanage toggle
               children of RowColumn at any time regardless of state.  There-
               fore, the application can sometimes create a RowColumn that
               has XXmmNNrraaddiiooAAllwwaayyssOOnnee set to True and none of the toggle chil-
               dren selected.  The result is undefined if the value of this
               resource is True and the application sets more than one Tog-
               gleButton at a time.

     XXmmNNrraaddiiooBBeehhaavviioorr
               Specifies a Boolean value that when True, indicates that the
               RowColumn widget should enforce a RadioBox-type behavior on
               all of its children that are ToggleButtons or ToggleBut-
               tonGadgets.
               When the value of this resource is True, XXmmNNiinnddiiccaattoorrTTyyppee
               defaults to XXmmOONNEE__OOFF__MMAANNYY for ToggleButton and ToggleBut-
               tonGadget children.










   1-583






   XmRowColumn(3X)


               RadioBox behavior dictates that when one toggle is selected
               and the user selects another toggle, the first toggle is
               unselected automatically.  The RowColumn usually does not
               enforce this behavior if the application, rather than the
               user, changes the state of a toggle.  The RowColumn does
               enforce this behavior if a toggle child is selected using
               XXmmTToogggglleeBBuuttttoonnSSeettSSttaattee or XXmmTToogggglleeBBuuttttoonnGGaaddggeettSSeettSSttaattee with a
               _n_o_t_i_f_y argument of True.
               When XXmmCCrreeaatteeRRaaddiiooBBooxx is called the default value of XXmmNNrraa--
               ddiiooBBeehhaavviioorr is True.  Otherwise, the default value is False.

     XXmmNNrreessiizzeeHHeeiigghhtt
               Requests a new height if necessary, when set to True.  When
               set to False, the widget does not request a new height regard-
               less of any changes to the widget or its children.

     XXmmNNrreessiizzeeWWiiddtthh
               Requests a new width if necessary, when set to True.  When set
               to False, the widget does not request a new width regardless
               of any changes to the widget or its children.

     XXmmNNrroowwCCoolluummnnTTyyppee
               Specifies the type of RowColumn widget to be created.  It is a
               non-standard resource that cannot be changed after it is set.
               If an application uses any of the convenience routines, except
               XXmmCCrreeaatteeRRoowwCCoolluummnn, this resource is automatically forced to
               the appropriate value by the convenience routine.  If an
               application uses the Xt Intrinsics API to create its RowColumn
               widgets, it must specify this resource itself.  The set of
               possible settings for this resource are:
               XXmmWWOORRKK__AARREEAA-the default
               XXmmMMEENNUU__BBAARR
               XXmmMMEENNUU__PPUULLLLDDOOWWNN
               XXmmMMEENNUU__PPOOPPUUPP
               XXmmMMEENNUU__OOPPTTIIOONN
               This resource cannot be changed after the RowColumn widget is
               created.  Any changes attempted through XXttSSeettVVaalluueess are
               ignored.
               The value of this resource is used to determine the value of a
               number of other resources.  The descriptions of RowColumn
               resources explain this when it is the case.  The resource
               XXmmNNnnaavviiggaattiioonnTTyyppee, inherited from XXmmMMaannaaggeerr, is changed to
               XXmmNNOONNEE if XXmmNNrroowwCCoolluummnnTTyyppee is XXmmMMEENNUU__OOPPTTIIOONN.

     XXmmNNssppaacciinngg
               Specifies the horizontal and vertical spacing between items
               contained within the RowColumn widget.  The default value is 3
               pixels for XXmmOOPPTTIIOONN__MMEENNUU and XXmmWWOORRKK__AARREEAA and 0 for other
               RowColumn types.

     XXmmNNssuubbMMeennuuIIdd
               Specifies the widget ID for the Pulldown MenuPane to be asso-
               ciated with an OptionMenu.  This resource is useful only when
               XXmmNNrroowwCCoolluummnnTTyyppee is set to XXmmMMEENNUU__OOPPTTIIOONN.  The default value


   1-584






                                                              XmRowColumn(3X)


               is NULL.

     XXmmNNtteeaarrOOffffMMeennuuAAccttiivvaatteeCCaallllbbaacckk
               Specifies the callback list that notifies the application when
               the tear-off MenuPane is about to be activated.  It precedes
               the tear-off's map callback.
               Use this resource when your application has shared MenuPanes
               and when the torn-off menu can have two or more parents that
               can have opposing sensitivity states for the same menu item.
               This resource enables the application to track whether a menu
               item is sensitive or insensitive and to set the state to the
               original parent's menu item state when the torn-off menu is
               reposted. The application can use XXmmGGeettPPoosstteeddFFrroommWWiiddggeett to
               determine from which parent the menu was torn.  The callback
               reason is XXmmCCRR__TTEEAARR__OOFFFF__AACCTTIIVVAATTEE.  The default is NULL.

     XXmmNNtteeaarrOOffffMMeennuuDDeeaaccttiivvaatteeCCaallllbbaacckk
               Specifies the callback list that notifies the application when
               the tear-off MenuPane is about to be deactivated.  It follows
               the tear-off's unmap callback.
               Use this resource when your application has shared MenuPanes
               and when the torn-off menu can have two or more parents that
               can have opposing sensitivity states for the same menu item.
               This resource enables the application to track whether a menu
               item is sensitive or insensitive and to set the state to the
               original parent's menu item state when the torn-off menu is
               reposted. The application can use XXmmGGeettPPoosstteeddFFrroommWWiiddggeett to
               determine from which parent the menu was torn.  The callback
               reason is XXmmCCRR__TTEEAARR__OOFFFF__DDEEAACCTTIIVVAATTEE.  The default is NULL.

     XXmmNNtteeaarrOOffffMMooddeell
               Indicates whether tear-off functionality is enabled or dis-
               abled when XXmmNNrroowwCCoolluummnnTTyyppee is set to XXmmMMEENNUU__PPUULLLLDDOOWWNN or
               XXmmMMEENNUU__PPOOPPUUPP.  The values are: XXmmTTEEAARR__OOFFFF__EENNAABBLLEEDD or
               XXmmTTEEAARR__OOFFFF__DDIISSAABBLLEEDD (default value).  This resource is invalid
               for type XXmmMMEENNUU__OOPPTTIIOONN; however, it does affect any pulldown
               submenus within an OptionMenu.  The function XXmmRReeppTTyyppeeIInn--
               ssttaallllTTeeaarrOOffffMMooddeellCCoonnvveerrtteerr installs a resource converter for
               this resource.

     XXmmNNuunnmmaappCCaallllbbaacckk
               Specifies a list of callbacks that is called after the window
               associated with the RowColumn widget has been unmapped.  The
               callback reason is XXmmCCRR__UUNNMMAAPP.  The default value is NULL.

     XXmmNNwwhhiicchhBBuuttttoonn
               This resource is obsolete; it has been replaced by XXmmNNmmeennuuPPoosstt
               and is present for compatibility with older releases of
               1/Motif.

                       XXmmRRoowwCCoolluummnn CCoonnssttrraaiinntt RReessoouurrccee SSeett
      NNaammee               CCllaassss              TTyyppee    DDeeffaauulltt           AAcccceessss
      ______________________________________________________________________
      XmNpositionIndex   XmCPositionIndex   short   XmLAST_POSITION   CSG


   1-585






   XmRowColumn(3X)



     XXmmNNppoossiittiioonnIInnddeexx
               Specifies the position of the widget in its parent's list of
               children (the value of the XXmmNNcchhiillddrreenn resource).  The value
               is an integer that is no less than zero and no greater than
               the number of children in the list at the time the value is
               specified.  A value of zero means that the child is placed at
               the beginning of the list.  The value can also be  specified
               as XXmmLLAASSTT__PPOOSSIITTIIOONN (the default), which means that the child
               is placed at the end of the list.  Any other value is ignored.
               XXttGGeettVVaalluueess returns the position of the widget in its parent's
               child list at the time of the call to XXttGGeettVVaalluueess.
               When a widget is inserted into its parent's child list, the
               positions of any existing children that are greater than or
               equal to the specified widget's XXmmNNppoossiittiioonnIInnddeexx are increased
               by one.  The effect of a call to XXttSSeettVVaalluueess for XXmmNNppoossii--
               ttiioonnIInnddeexx is to remove the specified widget from its parent's
               child list, decrease by one the positions of any existing
               children that are greater than the specified widget's former
               position in the list, and then insert the specified widget
               into its parent's child list as described in the preceding
               sentence.
                                  SSiimmppllee MMeennuu CCrreeaattiioonn RReessoouurrccee SSeett
   NNaammee                        CCllaassss                       TTyyppee                   DDeeffaauulltt   AAcccceessss
   _______________________________________________________________________________________________
   XmNbuttonAccelerators       XmCButtonAccelerators       StringTable            NULL      C
   XmNbuttonAcceleratorText    XmCButtonAcceleratorText    XmStringTable          NULL      C
   XmNbuttonCount              XmCButtonCount              int                    0         C
   XmNbuttonMnemonicCharSets   XmCButtonMnemonicCharSets   XmStringCharSetTable   NULL      C
   XmNbuttonMnemonics          XmCButtonMnemonics          XmKeySymTable          NULL      C
   XmNbuttons                  XmCButtons                  XmStringTable          NULL      C
   XmNbuttonSet                XmCButtonSet                int                    -1        C
   XmNbuttonType               XmCButtonType               XmButtonTypeTable      NULL      C
   XmNoptionLabel              XmCOptionLabel              XmString               NULL      C
   XmNoptionMnemonic           XmCOptionMnemonic           KeySym                 NULL      C
   XmNpostFromButton           XmCPostFromButton           int                    -1        C
   XmNsimpleCallback           XmCCallback                 XtCallbackProc         NULL      C

     XXmmNNbbuuttttoonnAAcccceelleerraattoorrss
               This resource is for use with the simple menu creation rou-
               tines.  It specifies a list of accelerators for the buttons
               created.  The list contains one element for each button,
               separator, and title created.

     XXmmNNbbuuttttoonnAAcccceelleerraattoorrTTeexxtt
               This resource is for use with the simple menu creation rou-
               tines.  It specifies a list of compound strings to display for
               the accelerators for the buttons created.  The list contains
               one element for each button, separator, and title created.

     XXmmNNbbuuttttoonnCCoouunntt
               This resource is for use with the simple menu creation rou-
               tines.  It specifies the total number of menu buttons, separa-
               tors, and titles to create.  The value must not be negative.


   1-586






                                                              XmRowColumn(3X)



     XXmmNNbbuuttttoonnMMnneemmoonniiccCChhaarrSSeettss
               This resource is for use with the simple menu creation rou-
               tines.  It specifies a list of character sets with which but-
               ton mnemonics are to be displayed.  The list contains one ele-
               ment for each button, separator, and title created.  The
               default is determined dynamically depending on the locale of
               the widget.

     XXmmNNbbuuttttoonnMMnneemmoonniiccss
               This resource is for use with the simple menu creation rou-
               tines.  It specifies a list of mnemonics for the buttons
               created.  The list contains one element for each button,
               separator, and title created.

     XXmmNNbbuuttttoonnss
               This resource is for use with the simple menu creation rou-
               tines.  It specifies a list of compound strings to use as
               labels for the buttons created.  The list contains one element
               for each button, separator, and title created.

     XXmmNNbbuuttttoonnSSeett
               This resource is for use with the simple menu creation rou-
               tines.  It specifies which button of a RadioBox or OptionMenu
               Pulldown submenu is initially set.  The value is an integer _n
               indicating the _nth ToggleButtonGadget specified for a RadioBox
               or the _nth PushButtonGadget specified for an OptionMenu Pull-
               down submenu.  The first button specified is number 0.  The
               value must not be negative.

     XXmmNNbbuuttttoonnTTyyppee
               This resource is for use with the simple menu creation rou-
               tines.  It specifies a list of button types associated with
               the buttons to be created.  The list contains one element for
               each button, separator, and title created.  If this resource
               is not specified, each button in a MenuBar is a CascadeBut-
               tonGadget, each button in a RadioBox or CheckBox is a Tog-
               gleButtonGadget, and each button in any other type of
               RowColumn widget is a PushButtonGadget.  Each button type is
               of type XXmmBBuuttttoonnTTyyppee, an enumeration with the following possi-
               ble values:
               XXmmCCAASSCCAADDEEBBUUTTTTOONN-Specifies a CascadeButtonGadget for a MenuBar,
               Popup MenuPane, or Pulldown MenuPane.
               XXmmCCHHEECCKKBBUUTTTTOONN-Specifies a ToggleButtonGadget for a CheckBox,
               Popup MenuPane, or Pulldown MenuPane.
               XXmmDDOOUUBBLLEE__SSEEPPAARRAATTOORR-Specifies a SeparatorGadget for a Popup
               MenuPane, Pulldown MenuPane, or OptionMenu Pulldown submenu.
               The separator type is XXmmDDOOUUBBLLEE__LLIINNEE.
               XXmmPPUUSSHHBBUUTTTTOONN-Specifies a PushButtonGadget for a Popup Menu-
               Pane, Pulldown MenuPane, or OptionMenu Pulldown submenu.
               XXmmRRAADDIIOOBBUUTTTTOONN-Specifies a ToggleButtonGadget for a RadioBox,
               Popup MenuPane, or Pulldown MenuPane.
               XXmmSSEEPPAARRAATTOORR-Specifies a SeparatorGadget for a Popup MenuPane,
               Pulldown MenuPane, or OptionMenu Pulldown submenu.


   1-587






   XmRowColumn(3X)


               XXmmTTIITTLLEE-Specifies a LabelGadget used as a title for a Popup
               MenuPane or Pulldown MenuPane.

     XXmmNNooppttiioonnLLaabbeell
               This resource is for use with the simple menu creation rou-
               tines.  It specifies a compound string for the label string to
               be used on the left side of an OptionMenu.

     XXmmNNooppttiioonnMMnneemmoonniicc
               This resource is for use with the simple menu creation rou-
               tines.  It specifies a keysym for a key that, when pressed by
               the user along with the MMAAlltt modifier, posts the associated
               Pulldown MenuPane for an OptionMenu.

     XXmmNNppoossttFFrroommBBuuttttoonn
               This resource is for use with the simple menu creation rou-
               tines.  For a Pulldown MenuPane, it specifies the button in
               the parent to which the submenu is attached.  The menu is then
               posted from this button.  The value is an integer _n indicating
               the _nth CascadeButton or CascadeButtonGadget specified for the
               parent of the Pulldown MenuPane.  The first button specified
               is number 0.  The value must not be negative.

     XXmmNNssiimmpplleeCCaallllbbaacckk
               This resource is for use with the simple menu creation rou-
               tines.  It specifies a callback procedure to be called when a
               button is activated or when its value changes.  This callback
               function is added to each button after creation.  For a Cas-
               cadeButtonGadget or a PushButtonGadget, the callback is added
               as the button's XXmmNNaaccttiivvaatteeCCaallllbbaacckk, and it is called when the
               button is activated.  For a ToggleButtonGadget, the callback
               is added as the button's XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk, and it is
               called when the button's value changes.  The button number is
               passed in the _c_l_i_e_n_t__d_a_t_a field.

     Inherited Resources

     RowColumn inherits behavior and resources from the following named
     superclasses.  For a complete description of each resource, refer to the
     man page for that superclass.
                                        XXmmMMaannaaggeerr RReessoouurrccee SSeett
   NNaammee                    CCllaassss                   TTyyppee                DDeeffaauulltt                AAcccceessss
   _________________________________________________________________________________________________
   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    dynamic                CSG
   XmNshadowThickness      XmCShadowThickness      Dimension           dynamic                CSG
   XmNstringDirection      XmCStringDirection      XmStringDirection   dynamic                CG
   XmNtopShadowColor       XmCTopShadowColor       Pixel               dynamic                CSG


   1-588






                                                              XmRowColumn(3X)


   XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap              dynamic                CSG
   XmNtraversalOn          XmCTraversalOn          Boolean             dynamic                CSG
   XmNunitType             XmCUnitType             unsigned char       dynamic                CSG
   XmNuserData             XmCUserData             XtPointer           NULL                   CSG
                                CCoommppoossiittee RReessoouurrccee SSeett
   NNaammee                CCllaassss               TTyyppee          DDeeffaauulltt             AAcccceessss
   ________________________________________________________________________________
   XmNchildren         XmCReadOnly         WidgetList    NULL                G
   XmNinsertPosition   XmCInsertPosition   XtOrderProc   default procedure   CSG
   XmNnumChildren      XmCReadOnly         Cardinal      0                   G
                                                 CCoorree RReessoouurrccee SSeett
   NNaammee                            CCllaassss                           TTyyppee             DDeeffaauulltt                AAcccceessss
   ______________________________________________________________________________________________________________
   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:
     ttyyppeeddeeff ssttrruucctt
     {{
       iinntt      _r_e_a_s_o_n;;
       XXEEvveenntt   * _e_v_e_n_t;;
       WWiiddggeett   _w_i_d_g_e_t;;
       cchhaarr     * _d_a_t_a;;
       cchhaarr     * _c_a_l_l_b_a_c_k_s_t_r_u_c_t;;
     }} XXmmRRoowwCCoolluummnnCCaallllbbaacckkSSttrruucctt;;

     _r_e_a_s_o_n    Indicates why the callback was invoked

     _e_v_e_n_t     Points to the XXEEvveenntt that triggered the callback

     The following fields apply only when the callback reason is
     XXmmCCRR__AACCTTIIVVAATTEE; for all other callback reasons, these fields are set to
     NULL.  The XXmmCCRR__AACCTTIIVVAATTEE callback reason is generated only when the
     application has supplied an entry callback, which overrides any activa-
     tion callbacks registered with the individual RowColumn items.


   1-589






   XmRowColumn(3X)



     _w_i_d_g_e_t    Is set to the widget ID of the RowColumn item that has been
               activated

     _d_a_t_a      Contains the client-data value supplied by the application
               when the RowColumn item's activation callback was registered

     _c_a_l_l_b_a_c_k_s_t_r_u_c_t
               Points to the callback structure generated by the RowColumn
               item's activation callback

     Translations

     XmRowColumn translations depend on the value of the XXmmNNrroowwCCoolluummnnTTyyppee
     resource.

     If XXmmNNrroowwCCoolluummnnTTyyppee is set to XXmmWWOORRKK__AARREEAA, XmRowColumn inherits transla-
     tions from XmManager.

     If XXmmNNrroowwCCoolluummnnTTyyppee is set to XXmmMMEENNUU__OOPPTTIIOONN, XmRowColumn inherits
     traversal, KActivate, and KCancel translations from XmManager and has
     the additional translations listed below.  These translations may not
     directly correspond to a translation table.
     BBSSeelleecctt PPrreessss:: MMeennuuBBttnnDDoowwnn(())
     BBSSeelleecctt RReelleeaassee::MMeennuuBBttnnUUpp(())
     KKSSeelleecctt::       MMaannaaggeerrGGaaddggeettSSeelleecctt(())
     KKHHeellpp::         HHeellpp(())

     The translations for XmRowColumn if XXmmNNrroowwCCoolluummnnTTyyppee is set to
     XXmmMMEENNUU__BBAARR XXmmMMEENNUU__PPUULLLLDDOOWWNN, or XXmmMMEENNUU__PPOOPPUUPP are listed below.  In a
     Popup menu system, BBMMeennuu also performs the BBSSeelleecctt actions.  These
     translations may not directly correspond to a translation table.
     BBSSeelleecctt PPrreessss:: MMeennuuBBttnnDDoowwnn(())
     BBSSeelleecctt RReelleeaassee::MMeennuuBBttnnUUpp(())
     KKAAccttiivvaattee::     MMaannaaggeerrGGaaddggeettSSeelleecctt(())
     KKSSeelleecctt::       MMaannaaggeerrGGaaddggeettSSeelleecctt(())
     MMAAnnyy KKCCaanncceell::  MMeennuuGGaaddggeettEEssccaappee(())
     KKHHeellpp::         HHeellpp(())
     KKLLeefftt::         MMeennuuGGaaddggeettTTrraavveerrsseeLLeefftt(())
     KKRRiigghhtt::        MMeennuuGGaaddggeettTTrraavveerrsseeRRiigghhtt(())
     KKUUpp::           MMeennuuGGaaddggeettTTrraavveerrsseeUUpp(())
     KKDDoowwnn::         MMeennuuGGaaddggeettTTrraavveerrsseeDDoowwnn(())

     Action Routines

     The XmRowColumn action routines are described below:

     HHeellpp(()):   Calls the callbacks for XXmmNNhheellppCCaallllbbaacckk 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.

     MMaannaaggeerrGGaaddggeettSSeelleecctt(()):
               When a gadget child of the menu has the focus, invokes the
               gadget child's behavior associated with KKSSeelleecctt.  This


   1-590






                                                              XmRowColumn(3X)


               generally has the effect of unposting the menu hierarchy and
               arming and activating the gadget, except that for a Cascade-
               ButtonGadget with a submenu, it posts the submenu.

     MMeennuuBBttnnDDoowwnn(()):
               When a gadget child of the menu has the focus, invokes the
               gadget child's behavior associated with BBSSeelleecctt PPrreessss.  This
               generally has the effect of unposting any menus posted by the
               parent menu, enabling mouse traversal in the menu, and arming
               the gadget.  For a CascadeButtonGadget with a submenu, it also
               posts the associated submenu.

     MMeennuuBBttnnUUpp(()):
               When a gadget child of the menu has the focus, invokes the
               gadget child's behavior associated with BBSSeelleecctt RReelleeaassee.  This
               generally has the effect of unposting the menu hierarchy and
               activating the gadget, except that for a CascadeButtonGadget
               with a submenu, it posts the submenu and enables keyboard
               traversal in the menu.

     MMeennuuGGaaddggeettEEssccaappee(()):
               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 XXmmEEXXPPLLIICCIITT, 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 XXmmEEXXPPLLIICCIITT, restores keyboard
               focus to the widget from which the menu was posted.  In a
               TearOff MenuPane that has no submenus posted, dismisses the
               menu; otherwise, if one or more submenus are posted, unposts
               the last menu pane.

     MMeennuuGGaaddggeettTTrraavveerrsseeDDoowwnn(()):
               If the current menu item has a submenu and is in a MenuBar,
               then this action posts the submenu, disarms the current menu
               item, and arms the submenu's first traversable menu item.  If
               the current menu item is in a MenuPane, then this action
               disarms the current menu item and arms the item below it.
               This action wraps within the MenuPane.  When the current menu
               item is at the MenuPane's bottom edge, then this action wraps
               to the topmost menu item in the column to the right, if one
               exists.  When the current menu item is at the bottom, right-
               most corner of the MenuPane, then this action wraps to the
               tear-off control, if present, or to the top, leftmost menu
               item.

     MMeennuuGGaaddggeettTTrraavveerrsseeLLeefftt(()):
               When the current menu item is in a MenuBar, then this action
               disarms the current item and arms the MenuBar item to the
               left.  This action wraps within the MenuBar.  In MenuPanes, if
               the current menu item is not at the left edge of a MenuPane,
               this action disarms the current item and arms the item to its
               left.  If the current menu item is at the left edge of a


   1-591






   XmRowColumn(3X)


               submenu attached to a MenuBar item, then this action unposts
               the submenu and traverses to the MenuBar item to the left,
               wrapping if necessary.  If that MenuBar item has a submenu, it
               posts the submenu and arms the first traversable item in the
               submenu.  If the current menu item is at the left edge of a
               submenu not directly attached to a MenuBar item, then this
               action unposts the current submenu only.  In Popup or Torn-off
               MenuPanes, when the current menu item is at the left edge,
               this  action wraps within the MenuPane.  If the current menu
               item is at the left edge of the MenuPane and not in the top
               row, this action wraps to the rightmost menu item in the row
               above.  If the current menu item is in the upper, leftmost
               corner, this action wraps to the tear-off control, if present,
               or else it wraps to the bottom, rightmost menu item in the
               MenuPane.

     MMeennuuGGaaddggeettTTrraavveerrsseeRRiigghhtt(()):
               If the current menu item is in a MenuBar, then this action
               disarms the current item and arms the MenuBar item to the
               right.  This action wraps within the MenuBar.  In MenuPanes,
               if the current menu item is a CascadeButton, then this action
               posts its associated submenu.  If the current menu item is not
               a CascadeButton and is not at the right edge of a MenuPane,
               this action disarms the current item and arms the item to its
               right, wrapping if necessary.  If the current menu item is not
               a CascadeButton and is at the right edge of a submenu that is
               a descendent of a MenuBar, then this action unposts all sub-
               menus and traverses to the MenuBar item to the right.  If that
               MenuBar item has a submenu, it posts the submenu and arms the
               submenu's first traversable item.  In Popup or Torn-off menus,
               if the current menu item is not a CascadeButton and is at the
               right edge of a row (except the bottom row), this action wraps
               to the leftmost menu item in the row below.  If the current
               menu item is not a CascadeButton and is in the bottom, right-
               most corner of a Popup or Pulldown MenuPane, this action wraps
               to the tear-off control, if present, or else it wraps to the
               top, leftmost menu item of the MenuPane.

     MMeennuuGGaaddggeettTTrraavveerrsseeUUpp(()):
               When the current menu item is in a MenuPane, then this action
               disarms the current menu item and arms the item above it.
               This action wraps within the MenuPane.  When the current menu
               item is at the MenuPane's top edge, then this action wraps to
               the bottommost menu item in the column to the left, if one
               exists.  When the current menu item is at the top, leftmost
               corner of the MenuPane, then this action wraps to the tear-off
               control, if present, or to the bottom, rightmost menu item.

     Related Behavior

     The following menu functions are available.

     KKMMeennuuBBaarr: In any non-popup descendant of a MenuBar's parent, excluding
               the MenuBar itself, this action enables keyboard traversal and


   1-592






                                                              XmRowColumn(3X)


               moves keyboard focus to the first item in the MenuBar. In the
               MenuBar or any menu cascaded from it, this action unposts the
               menu hierarchy and, when the shell's keyboard focus policy is
               XXmmEEXXPPLLIICCIITT, restores focus to the widget that had the focus
               when the menu system was entered.

     KKMMeennuu:    Pops up the menu associated with the control that has the key-
               board focus.  Enables keyboard traversal in the menu.  In the
               Popup menu system or any menu cascaded from it, this action
               unposts the menu hierarchy and, when the shell's keyboard
               focus policy is XXmmEEXXPPLLIICCIITT, restores focus to the widget that
               had the focus when the menu system was entered.

     Virtual Bindings

     The bindings for virtual keys are vendor specific.  For information
     about bindings for virtual buttons and keys, see VViirrttuuaallBBiinnddiinnggss((33XX)).

   RELATED INFORMATION
     CCoommppoossiittee((33XX)), CCoonnssttrraaiinntt((33XX)), CCoorree((33XX)), XXmmCCrreeaatteeMMeennuuBBaarr((33XX)),
     XXmmCCrreeaatteeOOppttiioonnMMeennuu((33XX)), XXmmCCrreeaatteePPooppuuppMMeennuu((33XX)), XXmmCCrreeaatteePPuullllddoowwnnMMeennuu((33XX)),
     XXmmCCrreeaatteeRRaaddiiooBBooxx((33XX)), XXmmCCrreeaatteeRRoowwCCoolluummnn((33XX)), XXmmCCrreeaatteeSSiimmpplleeCChheecckkBBooxx((33XX)),
     XXmmCCrreeaatteeSSiimmpplleeMMeennuuBBaarr((33XX)), XXmmCCrreeaatteeSSiimmpplleeOOppttiioonnMMeennuu((33XX)),
     XXmmCCrreeaatteeSSiimmpplleePPooppuuppMMeennuu((33XX)), XXmmCCrreeaatteeSSiimmpplleePPuullllddoowwnnMMeennuu((33XX)),
     XXmmCCrreeaatteeSSiimmpplleeRRaaddiiooBBooxx((33XX)), XXmmCCrreeaatteeWWoorrkkAArreeaa((33XX)), XXmmGGeettMMeennuuCCuurrssoorr((33XX)),
     XXmmGGeettPPoosstteeddFFrroommWWiiddggeett((33XX)), XXmmGGeettTTeeaarrOOffffCCoonnttrrooll, XXmmLLaabbeell((33XX)),
     XXmmMMaannaaggeerr((33XX)), XXmmMMeennuuPPoossiittiioonn((33XX)), XXmmOOppttiioonnBBuuttttoonnGGaaddggeett((33XX)),
     XXmmOOppttiioonnLLaabbeellGGaaddggeett((33XX)), XXmmRReeppTTyyppeeIInnssttaallllTTeeaarrOOffffMMooddeellCCoonnvveerrtteerr,
     XXmmSSeettMMeennuuCCuurrssoorr((33XX)), XXmmUUppddaatteeDDiissppllaayy((33XX)), XXmmVVaaCCrreeaatteeSSiimmpplleeCChheecckkBBooxx((33XX)),
     XXmmVVaaCCrreeaatteeSSiimmpplleeMMeennuuBBaarr((33XX)), XXmmVVaaCCrreeaatteeSSiimmpplleeOOppttiioonnMMeennuu((33XX)),
     XXmmVVaaCCrreeaatteeSSiimmpplleePPooppuuppMMeennuu((33XX)), XXmmVVaaCCrreeaatteeSSiimmpplleePPuullllddoowwnnMMeennuu((33XX)), and
     XXmmVVaaCCrreeaatteeSSiimmpplleeRRaaddiiooBBooxx((33XX)).
























   1-593






   XmScale(3X)



   NAME
     XXmmSSccaallee-The Scale widget class

   SYNOPSIS
     ##iinncclluuddee <<XXmm//SSccaallee..hh>>

   DESCRIPTION
     Scale is used by an application to indicate a value from within a range
     of values, and it allows the user to input or modify a value from the
     same range.

     A Scale has an elongated rectangular region similar to a ScrollBar.  A
     slider inside this region indicates the current value along the Scale.
     The user can also modify the Scale's value by moving the slider within
     the rectangular region of the Scale.  A Scale can also include a label
     set located outside the Scale region.  These can indicate the relative
     value at various positions along the scale.

     A Scale can be either input/output or output only.  An input/output
     Scale's value can be set by the application and also modified by the
     user with the slider.  An output-only Scale is used strictly as an indi-
     cator of the current value of something and cannot be modified interac-
     tively by the user.  The CCoorree resource XXmmNNsseennssiittiivvee specifies whether
     the user can interactively modify the Scale's value.

     The user can specify resources in a resource file for the automatically
     created gadget that contains the title of the Scale widget.  The name of
     the gadget is "Title".

     Classes

     Scale inherits behavior and resources from CCoorree, CCoommppoossiittee, CCoonnssttrraaiinntt,
     and XXmmMMaannaaggeerr classes.

     The class pointer is xxmmSSccaalleeWWiiddggeettCCllaassss.

     The class name is XXmmSSccaallee.

     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
     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 XXmmNN or XXmmCC prefix and use the remaining letters.  To specify one of
     the defined values for a resource in a .Xdefaults file, remove the XXmm
     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 XXttSSeettVVaalluueess (S), retrieved by using XXttGGeettVVaalluueess (G), or is
     not applicable (N/A).
                                    XXmmSSccaallee RReessoouurrccee SSeett
   NNaammee                      CCllaassss                    TTyyppee             DDeeffaauulltt      AAcccceessss


   1-594






                                                                  XmScale(3X)


   _______________________________________________________________________________________
   XmNdecimalPoints          XmCDecimalPoints         short            0            CSG
   XmNdragCallback           XmCCallback              XtCallbackList   NULL         C
   XmNfontList               XmCFontList              XmFontList       dynamic      CSG
   XmNhighlightOnEnter       XmCHighlightOnEnter      Boolean          False        CSG
   XmNhighlightThickness     XmCHighlightThickness    Dimension        2            CSG
   XmNmaximum                XmCMaximum               int              100          CSG
   XmNminimum                XmCMinimum               int              0            CSG
   XmNorientation            XmCOrientation           unsigned char    XmVERTICAL   CSG
   XmNprocessingDirection    XmCProcessingDirection   unsigned char    dynamic      CSG
   XmNscaleHeight            XmCScaleHeight           Dimension        0            CSG
   XmNscaleMultiple          XmCScaleMultiple         int              dynamic      CSG
   XmNscaleWidth             XmCScaleWidth            Dimension        0            CSG
   XmNshowValue              XmCShowValue             Boolean          False        CSG
   XmNtitleString            XmCTitleString           XmString         NULL         CSG
   XmNvalue                  XmCValue                 int              dynamic      CSG
   XmNvalueChangedCallback   XmCCallback              XtCallbackList   NULL         C

     XXmmNNddeecciimmaallPPooiinnttss
               Specifies the number of decimal points to shift the slider
               value when displaying it.  For example, a slider value of
               2,350 and an XXmmddeecciimmaallPPooiinnttss value of 2 results in a display
               value of 23.50.  The value must not be negative.

     XXmmNNddrraaggCCaallllbbaacckk
               Specifies the list of callbacks that is called when the slider
               position changes as the slider is being dragged.  The reason
               sent by the callback is XXmmCCRR__DDRRAAGG.

     XXmmNNffoonnttLLiisstt
               Specifies the font list to use for the title text string
               specified by XXmmNNttiittlleeSSttrriinngg, and the label displayed when
               XXmmNNsshhoowwVVaalluuee is True.  If this value is NULL at initializa-
               tion, the font list is initialized by looking up the parent
               hierarchy of the widget for an ancestor that is a subclass of
               the XmBulletinBoard, VendorShell, or XmMenuShell widget class.
               If such an ancestor is found, the font list is initialized to
               the XXmmNNllaabbeellFFoonnttLLiisstt of the ancestor widget.  If no such
               ancestor is found, the default is implementation dependent.
               Refer to XXmmFFoonnttLLiisstt((33XX)) for more information on the creation
               and structure of a font list.

     XXmmNNhhiigghhlliigghhttOOnnEEnntteerr
               Specifies whether the highlighting rectangle is drawn when the
               cursor moves into the widget.  If the shell's focus policy is
               XXmmEEXXPPLLIICCIITT, this resource is ignored, and the widget is
               highlighted when it has the focus.  If the shell's focus pol-









   1-595






   XmScale(3X)


               icy is XXmmPPOOIINNTTEERR and if this resource is True, the highlight-
               ing rectangle is drawn when the the cursor moves into the
               widget.  If the shell's focus policy is XXmmPPOOIINNTTEERR and if this
               resource is False, the highlighting rectangle is not drawn
               when the the cursor moves into the widget.  The default is
               False.

     XXmmNNhhiigghhlliigghhttTThhiicckknneessss
               Specifies the size of the slider's border drawing rectangle
               used for enter window and traversal highlight drawing.

     XXmmNNmmaaxxiimmuumm
               Specifies the slider's maximum value.  XXmmNNmmaaxxiimmuumm must be
               greater than XXmmNNmmiinniimmuumm.

     XXmmNNmmiinniimmuumm
               Specifies the slider's minimum value.  XXmmNNmmaaxxiimmuumm must be
               greater than XXmmNNmmiinniimmuumm.

     XXmmNNoorriieennttaattiioonn
               Displays Scale vertically or horizontally.  This resource can
               have values of XXmmVVEERRTTIICCAALL aanndd XXmmHHOORRIIZZOONNTTAALL.

     XXmmNNpprroocceessssiinnggDDiirreeccttiioonn
               Specifies whether the value for XXmmNNmmaaxxiimmuumm is on the right or
               left side of XXmmNNmmiinniimmuumm for horizontal Scales or above or
               below XXmmNNmmiinniimmuumm for vertical Scales.  This resource can have
               values of XXmmMMAAXX__OONN__TTOOPP,, XXmmMMAAXX__OONN__BBOOTTTTOOMM,,XXmmMMAAXX__OONN__LLEEFFTT, and
               XXmmMMAAXX__OONN__RRIIGGHHTT.  If the XmScale is oriented vertically, the
               default value is XXmmMMAAXX__OONN__TTOOPP.  If the XmScale is oriented
               horizontally, the default value may depend on the value of the
               XXmmNNssttrriinnggDDiirreeccttiioonn resource.

     XXmmNNssccaalleeHHeeiigghhtt
               Specifies the height of the slider area.  The value should be
               in the specified unit type (the default is pixels).  If no
               value is specified a default height is computed.

     XXmmNNssccaalleeMMuullttiippllee
               Specifies the amount to move the slider when the user takes an
               action that moves the slider by a multiple increment.  The
               default is (XXmmNNmmaaxxiimmuumm - XXmmNNmmiinniimmuumm) divided by 10, with a
               minimum of 1.

     XXmmNNssccaalleeWWiiddtthh
               Specifies the width of the slider area.  The value should be
               in the specified unit type (the default is pixels).  If no
               value is specified a default width is computed.

     XXmmNNsshhoowwVVaalluuee
               Specifies whether a label for the current slider value should
               be displayed next to the slider.  If the value is True, the
               current slider value is displayed.



   1-596






                                                                  XmScale(3X)


     XXmmNNttiittlleeSSttrriinngg
               Specifies the title text string to appear in the Scale widget
               window.

     XXmmNNvvaalluuee  Specifies the slider's current position along the scale,
               between XXmmNNmmiinniimmuumm and XXmmNNmmaaxxiimmuumm.  The value is constrained
               to be within these inclusive bounds.  The initial value of
               this resource is the larger of 0 and XXmmNNmmiinniimmuumm.

     XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk
               Specifies the list of callbacks that is called when the value
               of the slider has changed.  The reason sent by the callback is
               XXmmCCRR__VVAALLUUEE__CCHHAANNGGEEDD.

     Inherited Resources

     Scale inherits behavior and resources from the following superclasses.
     For a complete description of each resource, refer to the man page for
     that superclass.
                                        XXmmMMaannaaggeerr RReessoouurrccee SSeett
   NNaammee                    CCllaassss                   TTyyppee                DDeeffaauulltt                AAcccceessss
   _________________________________________________________________________________________________
   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           2                      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
                              CCoommppoossiittee RReessoouurrccee SSeett
      NNaammee                CCllaassss               TTyyppee          DDeeffaauulltt   AAcccceessss
      ______________________________________________________________________
      XmNchildren         XmCReadOnly         WidgetList    NULL      G
      XmNinsertPosition   XmCInsertPosition   XtOrderProc   NULL      CSG
      XmNnumChildren      XmCReadOnly         Cardinal      0         G
                                                 CCoorree RReessoouurrccee SSeett
   NNaammee                            CCllaassss                           TTyyppee             DDeeffaauulltt                AAcccceessss
   ______________________________________________________________________________________________________________
   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


   1-597






   XmScale(3X)


   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:
     ttyyppeeddeeff ssttrruucctt
     {{
       iinntt      _r_e_a_s_o_n;;
       XXEEvveenntt   * _e_v_e_n_t;;
       iinntt      _v_a_l_u_e;;
     }} XXmmSSccaalleeCCaallllbbaacckkSSttrruucctt;;

     _r_e_a_s_o_n Indicates why the callback was invoked

     _e_v_e_n_t  Points to the XXEEvveenntt that triggered the callback

     _v_a_l_u_e  Is the new slider value

     Behavior

     XmScale behavior is described below:

     BBSSeelleecctt PPrreessss or BBDDrraagg PPrreessss:
               (in region between an end of the Scale and the slider): Moves
               the slider by one multiple increment in the direction of the
               end of the Scale and calls the XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk call-
               backs.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT or
               XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the right or bottom incre-
               ments the Scale value, and movement toward the left or top
               decrements the Scale value.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is
               XXmmMMAAXX__OONN__LLEEFFTT or XXmmMMAAXX__OONN__TTOOPP, movement toward the right or
               bottom decrements the Scale value, and movement toward the
               left or top increments the Scale value.  If the button is held
               down longer than a delay period, the slider is moved again by
               the same increment and the same callbacks are called.  (in
               slider):  Activates the interactive dragging of the slider.

     BBSSeelleecctt MMoottiioonn or BBDDrraagg MMoottiioonn:
               If the button press occurs within the slider, the subsequent
               motion events move the slider to the position of the pointer
               and call the callbacks for XXmmNNddrraaggCCaallllbbaacckk.

     BBSSeelleecctt RReelleeaassee or BBDDrraagg RReelleeaassee:
               If the button press occurs within the slider and the slider


   1-598






                                                                  XmScale(3X)


               position is changed, the callbacks for XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk
               are called.

     MMCCttrrll BBSSeelleecctt PPrreessss:
               ((iinn rreeggiioonn bbeettwweeeenn aann eenndd ooff tthhee SSccaallee aanndd tthhee sslliiddeerr)): Moves
               the slider to that end of the Scale and calls the
               XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk callbacks.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn
               is XXmmMMAAXX__OONN__RRIIGGHHTT or XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the
               right or bottom increments the Scale value, and movement
               toward the left or top decrements the Scale value.  If XXmmNNpprroo--
               cceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT or XXmmMMAAXX__OONN__TTOOPP, movement
               toward the right or bottom decrements the Scale value, and
               movement toward the left or top increments the Scale value.

     KKUUpp:      For vertical Scales, moves the slider up one increment and
               calls the XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk callbacks.  If XXmmNNpprroocceess--
               ssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__TTOOPP, movement toward the top incre-
               ments the Scale value.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is
               XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the top decrements the Scale
               value.

     KKDDoowwnn:    For vertical Scales, moves the slider down one increment and
               calls the XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk callbacks.  If XXmmNNpprroocceess--
               ssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the bottom
               increments the Scale value.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is
               XXmmMMAAXX__OONN__TTOOPP, movement toward the bottom decrements the Scale
               value.

     KKLLeefftt:    For horizontal Scales, moves the slider one increment to the
               left and calls the XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk callbacks.  If
               XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT, movement toward the
               left increments the Scale value.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is
               XXmmMMAAXX__OONN__RRIIGGHHTT, movement toward the left decrements the Scale
               value.

     KKRRiigghhtt:   For horizontal Scales, moves the slider one increment to the
               right and calls the XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk callbacks.  If
               XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT, movement toward the
               right increments the Scale value.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn
               is XXmmMMAAXX__OONN__LLEEFFTT, movement toward the right decrements the
               Scale value.

     MMCCttrrll KKUUpp or KKPPaaggeeUUpp:
               For vertical Scales, moves the slider up one multiple incre-
               ment and calls the XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk callbacks.  If
               XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__TTOOPP, movement toward the
               top increments the Scale value.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is
               XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the top decrements the Scale
               value.

     MMCCttrrll KKDDoowwnn or KKPPaaggeeDDoowwnn:
               For vertical Scales, moves the slider down one multiple incre-
               ment and calls the XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk callbacks.  If
               XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the


   1-599






   XmScale(3X)


               bottom increments the Scale value.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn
               is XXmmMMAAXX__OONN__TTOOPP, movement toward the bottom decrements the
               Scale value.

     MMCCttrrll KKLLeefftt or KKPPaaggeeLLeefftt:
               For horizontal Scales, moves the slider one multiple increment
               to the left and calls the XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk callbacks.
               If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT, movement toward
               the left increments the Scale value.  If XXmmNNpprroocceessssiinnggDDiirreecc--
               ttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT, movement toward the left decrements
               the Scale value.

     MMCCttrrll KKRRiigghhtt or KKPPaaggeeRRiigghhtt:
               For horizontal Scales, moves the slider one multiple increment
               to the right and calls the XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk callbacks.
               If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT, movement toward
               the right increments the Scale value.  If XXmmNNpprroocceessssiinnggDDiirreecc--
               ttiioonn is XXmmMMAAXX__OONN__LLEEFFTT, movement toward the right decrements
               the Scale value.

     KKBBeeggiinnLLiinnee or KKBBeeggiinnDDaattaa:
               Moves the slider to the minimum value and calls the
               XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk callbacks.

     KKEEnnddLLiinnee or KKEEnnddDDaattaa:
               Moves the slider to the maximum value and calls the
               XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk callbacks.

     KKNNeexxttFFiieelldd:
               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.

     KKPPrreevvFFiieelldd:
               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.

     KKHHeellpp:    Calls the callbacks for XXmmNNhheellppCCaallllbbaacckk 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.

     Virtual Bindings

     The bindings for virtual keys are vendor specific.  For information
     about bindings for virtual buttons and keys, see VViirrttuuaallBBiinnddiinnggss((33XX)).

   RELATED INFORMATION
     CCoommppoossiittee((33XX)), CCoonnssttrraaiinntt((33XX)), CCoorree((33XX)), XXmmCCrreeaatteeSSccaallee((33XX)),
     XXmmMMaannaaggeerr((33XX)), XXmmSSccaalleeGGeettVVaalluuee((33XX)), and XXmmSSccaalleeSSeettVVaalluuee((33XX)).






   1-600






                                                          XmScaleGetValue(3X)



   NAME
     XXmmSSccaalleeGGeettVVaalluuee-A Scale function that returns the current slider posi-
     tion

   SYNOPSIS
     ##iinncclluuddee <<XXmm//SSccaallee..hh>>
     vvooiidd XXmmSSccaalleeGGeettVVaalluuee ((_w_i_d_g_e_t, _v_a_l_u_e__r_e_t_u_r_n))
          WWiiddggeett    _w_i_d_g_e_t;;
          iinntt       * _v_a_l_u_e__r_e_t_u_r_n;;

   DESCRIPTION
     XXmmSSccaalleeGGeettVVaalluuee returns the current slider position value displayed in
     the scale.

     _w_i_d_g_e_t    Specifies the Scale widget ID

     _v_a_l_u_e__r_e_t_u_r_n
               Returns the current slider position value

     For a complete definition of Scale and its associated resources, see
     XXmmSSccaallee((33XX)).

   RELATED INFORMATION
     XXmmSSccaallee((33XX)).































   1-601






   XmScaleSetValue(3X)



   NAME
     XXmmSSccaalleeSSeettVVaalluuee-A Scale function that sets a slider value

   SYNOPSIS
     ##iinncclluuddee <<XXmm//SSccaallee..hh>>
     vvooiidd XXmmSSccaalleeSSeettVVaalluuee ((_w_i_d_g_e_t, _v_a_l_u_e))
          WWiiddggeett    _w_i_d_g_e_t;;
          iinntt       _v_a_l_u_e;;

   DESCRIPTION
     XXmmSSccaalleeSSeettVVaalluuee sets the slider _v_a_l_u_e within the Scale widget.

     _w_i_d_g_e_t    Specifies the Scale widget ID.

     _v_a_l_u_e     Specifies the slider position along the scale.  This sets the
               XXmmNNvvaalluuee resource.

     For a complete definition of Scale and its associated resources, see
     XXmmSSccaallee((33XX)).

   RELATED INFORMATION
     XXmmSSccaallee((33XX)).

































   1-602






                                                                 XmScreen(3X)



   NAME
     XXmmSSccrreeeenn-The Screen widget class

   SYNOPSIS
     ##iinncclluuddee <<XXmm//SSccrreeeenn..hh>>

   DESCRIPTION
     The XmScreen object is used by Motif widgets to store information that
     is specific to a screen.  It also allows the toolkit to store certain
     information on widget hierarchies that would otherwise be unavailable.
     Each client has one XmScreen object for each screen that it accesses.

     An XmScreen object is automatically created when the application creates
     the first shell on a screen (usually accomplished by a call to XXttAAppppIInnii--
     ttiiaalliizzee or XXttAAppppCCrreeaatteeSShheellll).  It is not necessary to create an XmScreen
     object by any other means.  An application can use the function
     XXmmGGeettXXmmSSccrreeeenn to obtain the widget ID of the XmScreen object for a given
     screen.

     An application cannot supply initial values for XmScreen resources as
     arguments to a call to any function that creates widgets.  The applica-
     tion or user can supply initial values in a resource file.  After creat-
     ing the first shell on the screen, the application can use XXmmGGeettXXmmSSccrreeeenn
     to obtain the widget ID of the XmScreen object and then call XXttSSeettVVaalluueess
     to set the XmScreen resources.

     Classes

     Screen inherits behavior and resources from CCoorree.

     The class pointer is xxmmSSccrreeeennCCllaassss.

     The class name is XXmmSSccrreeeenn.

     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
     values for the inherited classes to set attributes for this widget.  To
     reference a resource by name or by class in an ..XXddeeffaauullttss file, remove
     the XXmmNN or XXmmCC prefix and use the remaining letters.  To specify one of
     the defined values for a resource in an ..XXddeeffaauullttss file, remove the XXmm
     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 XXttSSeettVVaalluueess (S), retrieved by using XXttGGeettVVaalluueess (G), or is
     not applicable (N/A).
                                            XXmmSSccrreeeenn RReessoouurrccee SSeett
   NNaammee                          CCllaassss                         TTyyppee            DDeeffaauulltt               AAcccceessss
   ________________________________________________________________________________________________________
   XmNdarkThreshold              XmCDarkThreshold              int             dynamic               C
   XmNdefaultCopyCursorIcon      XmCDefaultCopyCursorIcon      Widget          NULL                  CSG
   XmNdefaultInvalidCursorIcon   XmCDefaultInvalidCursorIcon   Widget          NULL                  CSG


   1-603






   XmScreen(3X)


   XmNdefaultLinkCursorIcon      XmCDefaultLinkCursorIcon      Widget          NULL                  CSG
   XmNdefaultMoveCursorIcon      XmCDefaultMoveCursorIcon      Widget          NULL                  CSG
   XmNdefaultNoneCursorIcon      XmCDefaultNoneCursorIcon      Widget          NULL                  CSG
   XmNdefaultSourceCursorIcon    XmCDefaultSourceCursorIcon    Widget          NULL                  CSG
   XmNdefaultValidCursorIcon     XmCDefaultValidCursorIcon     Widget          NULL                  CSG
   XmNfont                       XmCFont                       XFontStruct *   NULL                  CSG
   XmNforegroundThreshold        XmCForegroundThreshold        int             dynamic               C
   XmNhorizontalFontUnit         XmCHorizontalFontUnit         int             dynamic               CSG
   XmNlightThreshold             XmCLightThreshold             int             dynamic               C
   XmNmenuCursor                 XmCCursor                     String          arrow                 C
   XmNmoveOpaque                 XmCMoveOpaque                 Boolean         False                 CSG
   XmNunpostBehavior             XmCUnpostBehavior             unsigned char   XmUNPOST_AND_REPLAY   CSG
   XmNverticalFontUnit           XmCVerticalFontUnit           int             dynamic               CSG

     XXmmNNddaarrkkTThhrreesshhoolldd
               An integer between 0 and 100, inclusive, that specifies a
               level of perceived brightness for a color.  If the perceived
               brightness of the background color is below this level, Motif
               treats the background as "dark" when computing default shadow
               and select colors.  If this resource is specified for a par-
               ticular screen, it applies to widgets created on that screen;
               otherwise it applies to widgets created on all screens.  The
               default value is implementation specific.

     XXmmNNddeeffaauullttCCooppyyCCuurrssoorrIIccoonn
               Specifies the DragIcon used during a drag operation when the
               operation is a copy and no other pixmap is specified by the
               application.  If NULL, a system default icon is used.

     XXmmNNddeeffaauullttIInnvvaalliiddCCuurrssoorrIIccoonn
               Specifies the DragIcon used to indicate that the cursor is
               over an invalid drop site during a drag operation when no
               other pixmap symbol is specified by the application.  If NULL,
               a system default icon is used.

     XXmmNNddeeffaauullttLLiinnkkCCuurrssoorrIIccoonn
               Specifies the DragIcon used during a drag operation when the
               operation  is a link and no other pixmap is specified by the
               application.  If NULL, a system default icon is used.

     XXmmNNddeeffaauullttMMoovveeCCuurrssoorrIIccoonn
               Specifies the DragIcon used during a drag operation when the
               operation  is a move and no other pixmap is specified by the
               application.  If NULL, a system default icon is used.

     XXmmNNddeeffaauullttNNoonneeCCuurrssoorrIIccoonn
               Specifies the DragIcon used to indicate that the cursor is not
               over a drop site during a drag operation when no other pixmap
               is specified by the application.  If NULL, a system default
               icon is used.

     XXmmNNddeeffaauullttSSoouurrcceeCCuurrssoorrIIccoonn
               Specifies the depth-1 pixmap used as a cursor when an XXmmNNssoouurr--
               cceeCCuurrssoorrIIccoonn is not provided by the DragContext, or it is not


   1-604






                                                                 XmScreen(3X)


               usable.  If NULL, a system default icon is used.

     XXmmNNddeeffaauullttVVaalliiddCCuurrssoorrIIccoonn
               Specifies the DragIcon used to indicate that the cursor is
               over a valid drop site during a drag operation when no other
               pixmap is specified by the application.  If NULL, a system
               default icon is used.

     XXmmNNffoonntt   Specifies a font for use in computing values for XXmmNNhhoorriizzoonn--
               ttaallFFoonnttUUnniitt and XXmmNNvveerrttiiccaallFFoonnttUUnniitt.  When an application is
               initialized, this resource can be supplied in a resource file
               or through the standard command line options --ffnn, --ffoonntt, and
               --xxrrmm.

     XXmmNNffoorreeggrroouunnddTThhrreesshhoolldd
               An integer between 0 and 100, inclusive, that specifies a
               level of perceived brightness for a color.  If the perceived
               brightness of the background color is equal to or below this
               level, Motif treats the background as "dark" when computing
               the default foreground and highlight colors.  If the perceived
               brightness of the background color is above this level, Motif
               treats the background as "light" when computing the default
               foreground and highlight colors.  When the background is
               "dark", the default foreground and highlight is white; when
               the background is "light", the default foreground and
               highlight is black.  If this resource is specified for a par-
               ticular screen, it applies to widgets created on that screen;
               otherwise, it applies to widgets created on all screens.  The
               default value is implementation specific.

     XXmmNNhhoorriizzoonnttaallFFoonnttUUnniitt
               Specifies the horizontal component of the font units used by
               XXmmCCoonnvveerrttUUnniittss, and is used to interpret the values of
               geometry resources when the XXmmNNsshheellllUUnniittTTyyppee resource of Ven-
               dorShell or the XXmmNNuunniittTTyyppee resource of Gadget, Manager, or
               Primitive has the value XXmm110000TTHH__FFOONNTT__UUNNIITTSS.  If no initial
               value is supplied for this resource, the default is computed
               from the font specified in XXmmNNffoonntt.  If no initial value is
               supplied for this resource or for XXmmNNffoonntt, the default is 10.
               If a call to XXttSSeettVVaalluueess specifies a value for XXmmNNhhoorriizzoonnttaall--
               FFoonnttUUnniitt, this resource is set to that value.  If a call to
               XXttSSeettVVaalluueess specifies a value for XXmmNNffoonntt but not for XXmmNNhhoorr--
               iizzoonnttaallFFoonnttUUnniitt, this resource is set to a value computed from
               the new XXmmNNffoonntt.
               A horizontal font unit is derived from a font as follows:

                 ++oo  If the font has an AAVVEERRAAGGEE__WWIIDDTTHH property, the horizontal
                    font unit is the AAVVEERRAAGGEE__WWIIDDTTHH property divided by 10.

                 ++oo  If the font has no AAVVEERRAAGGEE__WWIIDDTTHH property but has a
                    QQUUAADD__WWIIDDTTHH property, the horizontal font unit is the
                    QQUUAADD__WWIIDDTTHH property.

                 ++oo  If the font has no AAVVEERRAAGGEE__WWIIDDTTHH or QQUUAADD__WWIIDDTTHH property,


   1-605






   XmScreen(3X)


                    the horizontal font unit is the sum of the font
                    structure's _m_i_n__b_o_u_n_d_s._w_i_d_t_h and _m_a_x__b_o_u_n_d_s._w_i_d_t_h divided
                    by 2.3.

     XXmmNNlliigghhttTThhrreesshhoolldd
               An integer between 0 and 100, inclusive, that specifies a
               level of perceived brightness for a color.  If the perceived
               brightness of the background color is above this level, Motif
               treats the background as "light" when computing default shadow
               and select colors.  If this resource is specified for a par-
               ticular screen, it applies to widgets created on that screen;
               otherwise, it applies to widgets created on all screens.  The
               default value is implementation specific.

     XXmmNNmmeennuuCCuurrssoorr
               Sets a variable that controls the cursor used whenever this
               application posts a menu.  This resource can be specified only
               once at application startup time, either by placing it within
               a defaults file or by using the --xxrrmm command line argument.
               For example
               mmyyPPrroogg --xxrrmm ""**mmeennuuCCuurrssoorr:: aarrrrooww""
               The menu cursor can also be selected in the program through
               the function XXmmSSeettMMeennuuCCuurrssoorr.  The following is a list of
               acceptable cursor names.  If the application does not specify
               a cursor or if an invalid name is supplied, the default cursor
               (an arrow pointing up and to the right) is used.
         XX__ccuurrssoorr              ddoottbbooxx         mmaann                 ssiizziinngg
         aarrrrooww                 ddoouubbllee__aarrrrooww   mmiiddddlleebbuuttttoonn        ssppiiddeerr
         bbaasseedd__aarrrrooww__ddoowwnn      ddrraafftt__llaarrggee    mmoouussee               sspprraayyccaann
         bbaasseedd__aarrrrooww__uupp        ddrraafftt__ssmmaallll    ppeenncciill              ssttaarr
         bbooaatt                  ddrraappeedd__bbooxx     ppiirraattee              ttaarrggeett
         bbooggoossiittyy              eexxcchhaannggee       pplluuss                ttccrroossss
         bboottttoomm__lleefftt__ccoorrnneerr    fflleeuurr          qquueessttiioonn__aarrrrooww      ttoopp__lleefftt__aarrrrooww
         bboottttoomm__rriigghhtt__ccoorrnneerr   ggoobbbblleerr        rriigghhtt__ppttrr           ttoopp__lleefftt__ccoorrnneerr
         bboottttoomm__ssiiddee           gguummbbyy          rriigghhtt__ssiiddee          ttoopp__rriigghhtt__ccoorrnneerr
         bboottttoomm__tteeee            hhaanndd11          rriigghhtt__tteeee           ttoopp__ssiiddee
         bbooxx__ssppiirraall            hhaanndd22          rriigghhttbbuuttttoonn         ttoopp__tteeee
         cceenntteerr__ppttrr            hheeaarrtt          rrttll__llooggoo            ttrreekk
         cciirrccllee                iiccoonn           ssaaiillbbooaatt            uull__aannggllee
         cclloocckk                 iirroonn__ccrroossss     ssbb__ddoowwnn__aarrrrooww       uummbbrreellllaa
         ccooffffeeee__mmuugg            lleefftt__ppttrr       ssbb__hh__ddoouubbllee__aarrrrooww   uurr__aannggllee
         ccrroossss                 lleefftt__ssiiddee      ssbb__lleefftt__aarrrrooww       wwaattcchh
         ccrroossss__rreevveerrssee         lleefftt__tteeee       ssbb__rriigghhtt__aarrrrooww      xxtteerrmm
         ccrroosssshhaaiirr             lleeffttbbuuttttoonn     ssbb__uupp__aarrrrooww
         ddiiaammoonndd__ccrroossss         llll__aannggllee       ssbb__vv__ddoouubbllee__aarrrrooww
         ddoott                   llrr__aannggllee       sshhuuttttllee

     XXmmNNmmoovveeOOppaaqquuee
               Specifies whether an interactive operation that moves a win-
               dow, such as tearing off and dragging a tear-off menu or mov-
               ing a window in MWM, displays an outline of the window or a
               representation of the window itself during the move.  If the
               value is True, the operation displays a representation of the
               window during the move.  If the value is False, the operation


   1-606






                                                                 XmScreen(3X)


               displays an outline of the window.

     XXmmNNuunnppoossttBBeehhaavviioorr
               Specifies the behavior of an active menu posted in traversal
               mode when a subsequent menu button selection is made outside
               the posted menu.  When the value is XXmmUUNNPPOOSSTT__AANNDD__RREEPPLLAAYY, the
               resource unposts the menu hierarchy and causes the server to
               replay the event to the window in which the pointer is
               located.  When the value is XXmmUUNNPPOOSSTT, the resource unposts the
               hierarchy without replaying the event.

     XXmmNNvveerrttiiccaallFFoonnttUUnniitt
               Specifies the vertical component of the font units used by
               XXmmCCoonnvveerrttUUnniittss and used to interpret the values of geometry
               resources when the XXmmNNsshheellllUUnniittTTyyppee resource of VendorShell or
               the XXmmNNuunniittTTyyppee resource of Gadget, Manager, or Primitive has
               the value XXmm110000TTHH__FFOONNTT__UUNNIITTSS.  If no initial value is supplied
               for this resource, the default is computed from the font
               specified in XXmmNNffoonntt.  If no initial value is supplied for
               this resource or for XXmmNNffoonntt, the default is 10.
               If a call to XXttSSeettVVaalluueess specifies a value for XXmmNNvveerrttiiccaallFFoonn--
               ttUUnniitt, this resource is set to that value.  If a call to
               XXttSSeettVVaalluueess specifies a value for XXmmNNffoonntt but not for XXmmNNvveerr--
               ttiiccaallFFoonnttUUnniitt, this resource is set to a value computed from
               the new XXmmNNffoonntt.
               A vertical font unit is derived from a font as follows:

                 ++oo  If the font has a PPIIXXEELL__SSIIZZEE property, the vertical font
                    unit is the PPIIXXEELL__SSIIZZEE property divided by 1.8.

                 ++oo  If the font has no PPIIXXEELL__SSIIZZEE property but has PPOOIINNTT__SSIIZZEE
                    and RREESSOOLLUUTTIIOONN__YY properties, the vertical font unit is
                    the product of the PPOOIINNTT__SSIIZZEE and RREESSOOLLUUTTIIOONN__YY properties
                    divided by 1400.

                 ++oo  If the font has no PPIIXXEELL__SSIIZZEE, PPOOIINNTT__SSIIZZEE, or
                    RREESSOOLLUUTTIIOONN__YY properties, the vertical font unit is the
                    sum of the font structure's _m_a_x__b_o_u_n_d_s._a_s_c_e_n_t and
                    _m_a_x__b_o_u_n_d_s._d_e_s_c_e_n_t divided by 2.2.

     Inherited Resources

     All of the superclass resources inherited by XmScreen are designated N/A
     (not applicable).

   RELATED INFORMATION
     CCoorree((33XX)), XXmmDDiissppllaayy((33XX)), and XXmmGGeettXXmmSSccrreeeenn((33XX)).









   1-607






   XmScrollBar(3X)



   NAME
     XXmmSSccrroollllBBaarr-The ScrollBar widget class

   SYNOPSIS
     ##iinncclluuddee <<XXmm//SSccrroollllBBaarr..hh>>

   DESCRIPTION
     The ScrollBar widget allows the user to view data that is too large to
     be displayed all at once.  ScrollBars are usually located inside a
     ScrolledWindow and adjacent to the widget that contains the data to be
     viewed.  When the user interacts with the ScrollBar, the data within the
     other widget scrolls.

     A ScrollBar consists of two arrows placed at each end of a rectangle.
     The rectangle is called the scroll region.  A smaller rectangle, called
     the slider, is placed within the scroll region.  The data is scrolled by
     clicking either arrow, selecting on the scroll region, or dragging the
     slider.  When an arrow is selected, the slider within the scroll region
     is moved in the direction of the arrow by an amount supplied by the
     application.  If the mouse button is held down, the slider continues to
     move at a constant rate.

     The ratio of the slider size to the scroll region size typically
     corresponds to the relationship between the size of the visible data and
     the total size of the data.  For example, if 10 percent of the data is
     visible, the slider typically occupies 10 percent of the scroll region.
     This provides the user with a visual clue to the size of the invisible
     data.

     Classes

     ScrollBar inherits behavior and resources from the CCoorree and XXmmPPrriimmiittiivvee
     classes.

     The class pointer is xxmmSSccrroollllBBaarrWWiiddggeettCCllaassss.

     The class name is XXmmSSccrroollllBBaarr.

     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
     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 XXmmNN or XXmmCC prefix and use the remaining letters.  To specify one of
     the defined values for a resource in a .Xdefaults file, remove the XXmm
     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 XXttSSeettVVaalluueess (S), retrieved by using XXttGGeettVVaalluueess (G), or is
     not applicable (N/A).
                                   XXmmSSccrroollllBBaarr RReessoouurrccee SSeett
   NNaammee                       CCllaassss                    TTyyppee             DDeeffaauulltt      AAcccceessss


   1-608






                                                              XmScrollBar(3X)


   ________________________________________________________________________________________
   XmNdecrementCallback       XmCCallback              XtCallbackList   NULL         C
   XmNdragCallback            XmCCallback              XtCallbackList   NULL         C
   XmNincrement               XmCIncrement             int              1            CSG
   XmNincrementCallback       XmCCallback              XtCallbackList   NULL         C
   XmNinitialDelay            XmCInitialDelay          int              250 ms       CSG
   XmNmaximum                 XmCMaximum               int              dynamic      CSG
   XmNminimum                 XmCMinimum               int              0            CSG
   XmNorientation             XmCOrientation           unsigned char    XmVERTICAL   CSG
   XmNpageDecrementCallback   XmCCallback              XtCallbackList   NULL         C
   XmNpageIncrement           XmCPageIncrement         int              10           CSG
   XmNpageIncrementCallback   XmCCallback              XtCallbackList   NULL         C
   XmNprocessingDirection     XmCProcessingDirection   unsigned char    dynamic      CSG
   XmNrepeatDelay             XmCRepeatDelay           int              50 ms        CSG
   XmNshowArrows              XmCShowArrows            Boolean          True         CSG
   XmNsliderSize              XmCSliderSize            int              dynamic      CSG
   XmNtoBottomCallback        XmCCallback              XtCallbackList   NULL         C
   XmNtoTopCallback           XmCCallback              XtCallbackList   NULL         C
   XmNtroughColor             XmCTroughColor           Pixel            dynamic      CSG
   XmNvalue                   XmCValue                 int              dynamic      CSG
   XmNvalueChangedCallback    XmCCallback              XtCallbackList   NULL         C

     XXmmNNddeeccrreemmeennttCCaallllbbaacckk
               Specifies the list of callbacks that is called when the user
               takes an action that moves the ScrollBar by one increment and
               the value decreases.  The reason passed to the callback is
               XXmmCCRR__DDEECCRREEMMEENNTT.

     XXmmNNddrraaggCCaallllbbaacckk
               Specifies the list of callbacks that is called on each incre-
               mental change of position when the slider is being dragged.
               The reason sent by the callback is XXmmCCRR__DDRRAAGG.

     XXmmNNiinnccrreemmeenntt
               Specifies the amount by which the value increases or decreases
               when the user takes an action that moves the slider by one
               increment.  The actual change in value is the lesser of XXmmNNiinn--
               ccrreemmeenntt and (previous XXmmNNvvaalluuee - XXmmNNmmiinniimmuumm) when the slider
               moves to the end of the ScrollBar with the minimum value, and
               the lesser ofXXmmNNiinnccrreemmeenntt and (XXmmNNmmaaxxiimmuumm- XXmmNNsslliiddeerrSSiizzee -
               previous XXmmNNvvaalluuee) when the slider moves to the end of the
               ScrollBar with the maximum value.  The value of this resource
               must be greater than 0.

     XXmmNNiinnccrreemmeennttCCaallllbbaacckk
               Specifies the list of callbacks that is called when the user
               takes an action that moves the ScrollBar by one increment and
               the value increases.  The reason passed to the callback is
               XXmmCCRR__IINNCCRREEMMEENNTT.

     XXmmNNiinniittiiaallDDeellaayy
               Specifies the amount of time in milliseconds to wait before
               starting continuous slider movement while a button is pressed
               in an arrow or the scroll region.  The value of this resource


   1-609






   XmScrollBar(3X)


               must be greater than 0.

     XXmmNNmmaaxxiimmuumm
               Specifies the slider's maximum value.  ScrollBars contained
               within ScrolledWindows have a maximum equal to the size of
               ScrollBar (that is, the height if it is vertical, or the width
               if it is horizontal).  XXmmNNmmaaxxiimmuumm must be greater than
               XXmmNNmmiinniimmuumm.

     XXmmNNmmiinniimmuumm
               Specifies the slider's minimum value.  XXmmNNmmaaxxiimmuumm must be
               greater than XXmmNNmmiinniimmuumm.

     XXmmNNoorriieennttaattiioonn
               Specifies whether the ScrollBar is displayed vertically or
               horizontally.  This resource can have values of XXmmVVEERRTTIICCAALL and
               XXmmHHOORRIIZZOONNTTAALL.

     XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk
               Specifies the list of callbacks that is called when the user
               takes an action that moves the ScrollBar by one page increment
               and the value decreases.  The reason passed to the callback is
               XXmmCCRR__PPAAGGEE__DDEECCRREEMMEENNTT.

     XXmmNNppaaggeeIInnccrreemmeenntt
               Specifies the amount by which the value increases or decreases
               when the user takes an action that moves the slider by one
               page increment.  The actual change in value is the lesser of
               XXmmNNppaaggeeIInnccrreemmeenntt and (previous XXmmNNvvaalluuee - XXmmNNmmiinniimmuumm) when the
               slider moves to the end of the ScrollBar with the minimum
               value, and the lesser of XXmmNNppaaggeeIInnccrreemmeenntt and (XXmmNNmmaaxxiimmuumm-
               XXmmNNsslliiddeerrSSiizzee - previous XXmmNNvvaalluuee) when the slider moves to
               the end of the ScrollBar with the maximum value.  The value of
               this resource must be greater than 0.

     XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk
               Specifies the list of callbacks that is called when the user
               takes an action that moves the ScrollBar by one page increment
               and the value increases.  The reason passed to the callback is
               XXmmCCRR__PPAAGGEE__IINNCCRREEMMEENNTT.

     XXmmNNpprroocceessssiinnggDDiirreeccttiioonn
               Specifies whether the value for XXmmNNmmaaxxiimmuumm should be on the
               right or left side of XXmmNNmmiinniimmuumm for horizontal ScrollBars or
               above or below XXmmNNmmiinniimmuumm for vertical ScrollBars.  This
               resource can have values of XXmmMMAAXX__OONN__TTOOPP,,
               XXmmMMAAXX__OONN__BBOOTTTTOOMM,,XXmmMMAAXX__OONN__LLEEFFTT, and XXmmMMAAXX__OONN__RRIIGGHHTT.  If the
               XmScrollBar is oriented vertically, the default value is
               XXmmMMAAXX__OONN__BBOOTTTTOOMM.  If the XmScrollBar is oriented horizontally,
               the default value may depend on the value of the XXmmNNssttrriinngg--
               DDiirreeccttiioonn resource.

     XXmmNNrreeppeeaattDDeellaayy
               Specifies the amount of time in milliseconds to wait between


   1-610






                                                              XmScrollBar(3X)


               subsequent slider movements after the XXmmNNiinniittiiaallDDeellaayy has been
               processed.  The value of this resource must be greater than 0.

     XXmmNNsshhoowwAArrrroowwss
               Specifies whether the arrows are displayed.

     XXmmNNsslliiddeerrSSiizzee
               Specifies the length of the slider between the values of 1 and
               (XXmmNNmmaaxxiimmuumm - XXmmNNmmiinniimmuumm).  The value is constrained to be
               within these inclusive bounds.  The default value is (XXmmNNmmaaxx--
               iimmuumm - XXmmNNmmiinniimmuumm) divided by 10, with a minimum of 1.

     XXmmNNttooBBoottttoommCCaallllbbaacckk
               Specifies the list of callbacks that is called when the user
               takes an action that moves the slider to the end of the
               ScrollBar with the maximum value.  The reason passed to the
               callback is XXmmCCRR__TTOO__BBOOTTTTOOMM.

     XXmmNNttooTTooppCCaallllbbaacckk
               Specifies the list of callbacks that is called when the user
               takes an action that moves the slider to the end of the
               ScrollBar with the minimum value.  The reason passed to the
               callback is XXmmCCRR__TTOO__TTOOPP.

     XXmmNNttrroouugghhCCoolloorr
               Specifies the color of the slider trough.

     XXmmNNvvaalluuee  Specifies the slider's position, between XXmmNNmmiinniimmuumm and
               (XXmmNNmmaaxxiimmuumm - XXmmNNsslliiddeerrSSiizzee).  The value is constrained to be
               within these inclusive bounds.  The initial value of this
               resource is the larger of 0 and XXmmNNmmiinniimmuumm.

     XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk
               Specifies the list of callbacks that is called when the slider
               is released after being dragged.  These callbacks are also
               called in place of XXmmNNiinnccrreemmeennttCCaallllbbaacckk, XXmmNNddeeccrreemmeennttCCaallllbbaacckk,
               XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk, XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk, XXmmNNttooTToopp--
               CCaallllbbaacckk, or XXmmNNttooBBoottttoommCCaallllbbaacckk when one of these callback
               lists would normally be called but the value of the
               corresponding resource is NULL.  The reason passed to the
               callback is XXmmCCRR__VVAALLUUEE__CCHHAANNGGEEDD.

     Inherited Resources

     ScrollBar inherits behavior and resources from the following superc-
     lasses.  For a complete description of each resource, refer to the man
     page for that superclass.
                                       XXmmPPrriimmiittiivvee RReessoouurrccee SSeett
   NNaammee                    CCllaassss                   TTyyppee               DDeeffaauulltt                AAcccceessss
   ________________________________________________________________________________________________
   XmNbottomShadowColor    XmCBottomShadowColor    Pixel              dynamic                CSG
   XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap             XmUNSPECIFIED_PIXMAP   CSG
   XmNforeground           XmCForeground           Pixel              dynamic                CSG
   XmNhelpCallback         XmCCallback             XtCallbackList     NULL                   C


   1-611






   XmScrollBar(3X)


   XmNhighlightColor       XmCHighlightColor       Pixel              dynamic                CSG
   XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False                  CSG
   XmNhighlightPixmap      XmCHighlightPixmap      Pixmap             dynamic                CSG
   XmNhighlightThickness   XmCHighlightThickness   Dimension          dynamic                CSG
   XmNnavigationType       XmCNavigationType       XmNavigationType   XmSTICKY_TAB_GROUP     CSG
   XmNshadowThickness      XmCShadowThickness      Dimension          2                      CSG
   XmNtopShadowColor       XmCTopShadowColor       Pixel              dynamic                CSG
   XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap             dynamic                CSG
   XmNtraversalOn          XmCTraversalOn          Boolean            dynamic                CSG
   XmNunitType             XmCUnitType             unsigned char      dynamic                CSG
   XmNuserData             XmCUserData             XtPointer          NULL                   CSG
                                                 CCoorree RReessoouurrccee SSeett
   NNaammee                            CCllaassss                           TTyyppee             DDeeffaauulltt                AAcccceessss
   ______________________________________________________________________________________________________________
   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:
     ttyyppeeddeeff ssttrruucctt
     {{
       iinntt      _r_e_a_s_o_n;;
       XXEEvveenntt   * _e_v_e_n_t;;
       iinntt      _v_a_l_u_e;;
       iinntt      _p_i_x_e_l;;
     }} XXmmSSccrroollllBBaarrCCaallllbbaacckkSSttrruucctt;;

     _r_e_a_s_o_n Indicates why the callback was invoked.

     _e_v_e_n_t  Points to the XXEEvveenntt that triggered the callback.

     _v_a_l_u_e  Contains the new slider location value.

     _p_i_x_e_l  Is used only for XXmmNNttooTTooppCCaallllbbaacckk and XXmmNNttooBBoottttoommCCaallllbbaacckk.  For
            horizontal ScrollBars, it contains the _x coordinate of where the
            mouse button selection occurred.  For vertical ScrollBars, it


   1-612






                                                              XmScrollBar(3X)


            contains the _y coordinate.

     Translations

     XmScrollBar includes translations from Primitive.  The XmScrollBar
     translations are listed below.  These translations may not directly
     correspond to a translation table.
     BBSSeelleecctt PPrreessss:: SSeelleecctt(())
     BBSSeelleecctt RReelleeaassee::RReelleeaassee(())
     BBSSeelleecctt PPrreessss MMoovveedd::MMoovveedd(())
     BBDDrraagg PPrreessss::   SSeelleecctt(())
     BBDDrraagg RReelleeaassee:: RReelleeaassee(())
     BBDDrraagg PPrreessss MMoovveedd::MMoovveedd(())
     MMCCttrrll BBSSeelleecctt PPrreessss::TTooppOOrrBBoottttoomm(())
     MMCCttrrll BBSSeelleecctt RReelleeaassee::RReelleeaassee(())
     KKUUpp::           IInnccrreemmeennttUUppOOrrLLeefftt((00))
     MMCCttrrll KKUUpp::     PPaaggeeUUppOOrrLLeefftt((00))
     KKDDoowwnn::         IInnccrreemmeennttDDoowwnnOOrrRRiigghhtt((00))
     MMCCttrrll KKDDoowwnn::   PPaaggeeDDoowwnnOOrrRRiigghhtt((00))
     KKLLeefftt::         IInnccrreemmeennttUUppOOrrLLeefftt((11))
     MMCCttrrll KKLLeefftt::   PPaaggeeUUppOOrrLLeefftt((11))
     KKRRiigghhtt::        IInnccrreemmeennttDDoowwnnOOrrRRiigghhtt((11))
     MMCCttrrll KKRRiigghhtt::  PPaaggeeDDoowwnnOOrrRRiigghhtt((11))
     KKPPaaggeeUUpp::       PPaaggeeUUppOOrrLLeefftt((00))
     KKPPaaggeeDDoowwnn::     PPaaggeeDDoowwnnOOrrRRiigghhtt((00))
     KKPPaaggeeLLeefftt::     PPaaggeeUUppOOrrLLeefftt((11))
     KKPPaaggeeRRiigghhtt::    PPaaggeeDDoowwnnOOrrRRiigghhtt((11))
     KKBBeeggiinnLLiinnee::    TTooppOOrrBBoottttoomm(())
     KKEEnnddLLiinnee::      TTooppOOrrBBoottttoomm(())
     KKBBeeggiinnDDaattaa::    TTooppOOrrBBoottttoomm(())
     KKEEnnddDDaattaa::      TTooppOOrrBBoottttoomm(())
     KKNNeexxttFFiieelldd::    PPrriimmiittiivveeNNeexxttTTaabbGGrroouupp(())
     KKPPrreevvFFiieelldd::    PPrriimmiittiivveePPrreevvTTaabbGGrroouupp(())
     KKAAccttiivvaattee::     PPrriimmiittiivveePPaarreennttAAccttiivvaattee(())
     KKCCaanncceell::       CCaanncceellDDrraagg(())
     KKHHeellpp::         PPrriimmiittiivveeHHeellpp(())

     Action Routines

     The ScrollBar action routines are described below:

     CCaanncceellDDrraagg(()):
               If the key press occurs during scrolling, cancels the scroll
               and returns the slider to its previous location in the
               scrollbar, otherwise, and if the parent is a manager, it
               passes the event to the parent.

     IInnccrreemmeennttDDoowwnnOOrrRRiigghhtt((00||11)):
               With an argument of 0, moves the slider down by one increment.
               With an argument of 1, moves the slider right by one incre-
               ment.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT or
               XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the right or bottom calls the
               callbacks for XXmmNNiinnccrreemmeennttCCaallllbbaacckk.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn
               is XXmmMMAAXX__OONN__LLEEFFTT or XXmmMMAAXX__OONN__TTOOPP, movement toward the right or


   1-613






   XmScrollBar(3X)


               bottom calls the callbacks for XXmmNNddeeccrreemmeennttCCaallllbbaacckk.  The
               XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called if the XXmmNNiinnccrreemmeennttCCaallllbbaacckk
               or XXmmNNddeeccrreemmeennttCCaallllbbaacckk is NULL.

     IInnccrreemmeennttUUppOOrrLLeefftt((00||11)):
               With an argument of 0, moves the slider up by one increment.
               With an argument of 1, moves the slider left by one increment.
               If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT or
               XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement to the left or top calls the call-
               backs for XXmmNNddeeccrreemmeennttCCaallllbbaacckk.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is
               XXmmMMAAXX__OONN__LLEEFFTT or XXmmMMAAXX__OONN__TTOOPP, movement to the left or top
               calls the callbacks for XXmmNNiinnccrreemmeennttCCaallllbbaacckk.  The
               XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called if the XXmmNNiinnccrreemmeennttCCaallllbbaacckk
               or XXmmNNddeeccrreemmeennttCCaallllbbaacckk is NULL.

     MMoovveedd(()):  If the button press occurs within the slider, the subsequent
               motion events move the slider to the position of the pointer
               and call the callbacks for XXmmNNddrraaggCCaallllbbaacckk.

     PPaaggeeDDoowwnnOOrrRRiigghhtt((00||11)):
               With an argument of 0, moves the slider down by one page
               increment.  With an argument of 1, moves the slider right by
               one page increment.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is
               XXmmMMAAXX__OONN__RRIIGGHHTT or XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the right
               or bottom calls the callbacks for XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk.
               If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT or XXmmMMAAXX__OONN__TTOOPP,
               movement toward the right or bottom calls the callbacks for
               XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk.  The XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is
               called if the XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk or XXmmNNppaaggeeDDeeccrreemmeenntt--
               CCaallllbbaacckk is NULL.

     PPaaggeeUUppOOrrLLeefftt((00||11)):
               With an argument of 0, moves the slider up by one page incre-
               ment.  With an argument of 1, moves the slider left by one
               page increment.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT
               or XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement to the left or top calls the
               callbacks for XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk.  If XXmmNNpprroocceessssiinngg--
               DDiirreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT or XXmmMMAAXX__OONN__TTOOPP, movement to the
               left or top calls the callbacks for XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk.
               The XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called if the XXmmNNppaaggeeIInnccrreemmeenntt--
               CCaallllbbaacckk or XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk is NULL.

     PPrriimmiittiivveeHHeellpp(()):
               Calls the callbacks for XXmmNNhheellppCCaallllbbaacckk 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.

     PPrriimmiittiivveeNNeexxttTTaabbGGrroouupp(()):
               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.

     PPrriimmiittiivveePPaarreennttAAccttiivvaattee(()):
               If the parent is a manager, passes the event to the parent.


   1-614






                                                              XmScrollBar(3X)



     PPrriimmiittiivveePPrreevvTTaabbGGrroouupp(()):
               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.

     RReelleeaassee(()):
               If the button press occurs within the slider and the slider
               position is changed, the callbacks for XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk
               are called.

     SSeelleecctt(()): ((iinn aarrrrooww)):  Moves the slider by one increment in the direc-
               tion of the arrow.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is
               XXmmMMAAXX__OONN__RRIIGGHHTT or XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the right
               or bottom calls the callbacks for XXmmNNiinnccrreemmeennttCCaallllbbaacckk, and
               movement to the left or top calls the callbacks for XXmmNNddeeccrree--
               mmeennttCCaallllbbaacckk.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT or
               XXmmMMAAXX__OONN__TTOOPP, movement toward the right or bottom calls the
               callbacks for XXmmNNddeeccrreemmeennttCCaallllbbaacckk, and movement to the left
               or top calls the callbacks for XXmmNNiinnccrreemmeennttCCaallllbbaacckk.  The
               XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called if the XXmmNNiinnccrreemmeennttCCaallllbbaacckk
               or XXmmNNddeeccrreemmeennttCCaallllbbaacckk is NULL.  ((iinn ssccrroollll rreeggiioonn bbeettwweeeenn aann
               aarrrrooww aanndd tthhee sslliiddeerr)):  Moves the slider by one page increment
               in the direction of the arrow.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is
               XXmmMMAAXX__OONN__RRIIGGHHTT or XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the right
               or bottom calls the callbacks for XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk,
               and movement to the left or top calls the callbacks for
               XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is
               XXmmMMAAXX__OONN__LLEEFFTT or XXmmMMAAXX__OONN__TTOOPP, movement toward the right or
               bottom calls the callbacks for XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk, and
               movement to the left or top calls the callbacks for XXmmNNppaaggeeIInn--
               ccrreemmeennttCCaallllbbaacckk.  The XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called if the
               XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk or XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk is NULL.
               ((iinn sslliiddeerr)):  Activates the interactive dragging of the
               slider.  If the button is held down in either the arrows or
               the scroll region longer than the XXmmNNiinniittiiaallDDeellaayy resource,
               the slider is moved again by the same increment and the same
               callbacks are called.  After the initial delay has been used,
               the time delay changes to the time defined by the resource
               XXmmNNrreeppeeaattDDeellaayy.

     TTooppOOrrBBoottttoomm(()):
               MMCCttrrll BBSSeelleecctt PPrreessss in an arrow or in the scroll region
               between an arrow and the slider moves the slider as far as
               possible in the direction of the arrow.  If XXmmNNpprroocceessssiinngg--
               DDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT or XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement
               toward the right or bottom calls the callbacks for XXmmNNttooBBoott--
               ttoommCCaallllbbaacckk, and movement to the left or top calls the call-
               backs for XXmmNNttooTTooppCCaallllbbaacckk.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is
               XXmmMMAAXX__OONN__LLEEFFTT or XXmmMMAAXX__OONN__TTOOPP, movement toward the right or
               bottom calls the callbacks for XXmmNNttooTTooppCCaallllbbaacckk, and movement
               to the left or top calls the callbacks for XXmmNNttooBBoottttoommCCaallll--
               bbaacckk.  The XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called if the XXmmNNttooTToopp--
               CCaallllbbaacckk or XXmmNNttooBBoottttoommCCaallllbbaacckk is NULL.  Pressing KKBBeeggiinnLLiinnee


   1-615






   XmScrollBar(3X)


               or KKBBeeggiinnDDaattaa moves the slider to the minimum value and
               invokes the XXmmNNttooTTooppCCaallllbbaacckk.  Pressing KKEEnnddLLiinnee or KKEEnnddDDaattaa
               moves the slider to the maximum value and invokes the XXmmNNttoo--
               BBoottttoommCCaallllbbaacckk.

     Virtual Bindings

     The bindings for virtual keys are vendor specific.  For information
     about bindings for virtual buttons and keys, see VViirrttuuaallBBiinnddiinnggss((33XX)).

   RELATED INFORMATION
     CCoorree((33XX)), XXmmCCrreeaatteeSSccrroollllBBaarr((33XX)), XXmmPPrriimmiittiivvee((33XX)),
     XXmmSSccrroollllBBaarrGGeettVVaalluueess((33XX)), and XXmmSSccrroollllBBaarrSSeettVVaalluueess((33XX)).











































   1-616






                                                     XmScrollBarGetValues(3X)



   NAME
     XXmmSSccrroollllBBaarrGGeettVVaalluueess-A ScrollBar function that returns the ScrollBar's
     increment values

   SYNOPSIS
     ##iinncclluuddee <<XXmm//SSccrroollllBBaarr..hh>>
     vvooiidd XXmmSSccrroollllBBaarrGGeettVVaalluueess ((_w_i_d_g_e_t, _v_a_l_u_e__r_e_t_u_r_n,
               _s_l_i_d_e_r__s_i_z_e__r_e_t_u_r_n, _i_n_c_r_e_m_e_n_t__r_e_t_u_r_n, _p_a_g_e__i_n_c_r_e_m_e_n_t__r_e_t_u_r_n))
          WWiiddggeett      _w_i_d_g_e_t;;
          iinntt         * _v_a_l_u_e__r_e_t_u_r_n;;
          iinntt         * _s_l_i_d_e_r__s_i_z_e__r_e_t_u_r_n;;
          iinntt         * _i_n_c_r_e_m_e_n_t__r_e_t_u_r_n;;
          iinntt         * _p_a_g_e__i_n_c_r_e_m_e_n_t__r_e_t_u_r_n;;

   DESCRIPTION
     XXmmSSccrroollllBBaarrGGeettVVaalluueess returns the the ScrollBar's increment values.  The
     scroll region is overlaid with a slider bar that is adjusted in size and
     position using the main ScrollBar or set slider function attributes.

     _w_i_d_g_e_t           Specifies the ScrollBar widget ID.

     _v_a_l_u_e__r_e_t_u_r_n     Returns the ScrollBar's slider position between the
                      XXmmNNmmiinniimmuumm and XXmmNNmmaaxxiimmuumm resources.

     _s_l_i_d_e_r__s_i_z_e__r_e_t_u_r_n
                      Returns the size of the slider as a value between zero
                      and the absolute value of XXmmNNmmaaxxiimmuumm minus XXmmNNmmiinniimmuumm.
                      The size of the slider varies, depending on how much of
                      the slider scroll area it represents.

     _i_n_c_r_e_m_e_n_t__r_e_t_u_r_n Returns the amount of increment and decrement.

     _p_a_g_e__i_n_c_r_e_m_e_n_t__r_e_t_u_r_n
                      Returns the amount of page increment and decrement.

     For a complete definition of ScrollBar and its associated resources, see
     XXmmSSccrroollllBBaarr((33XX)).

   RETURN VALUE
     Returns the ScrollBar's increment values.

   RELATED INFORMATION
     XXmmSSccrroollllBBaarr((33XX)).












   1-617






   XmScrollBarSetValues(3X)



   NAME
     XXmmSSccrroollllBBaarrSSeettVVaalluueess-A ScrollBar function that changes ScrollBar's
     increment values and the slider's size and position

   SYNOPSIS
     ##iinncclluuddee <<XXmm//SSccrroollllBBaarr..hh>>
     vvooiidd XXmmSSccrroollllBBaarrSSeettVVaalluueess ((_w_i_d_g_e_t, _v_a_l_u_e,
               _s_l_i_d_e_r__s_i_z_e, _i_n_c_r_e_m_e_n_t, _p_a_g_e__i_n_c_r_e_m_e_n_t, _n_o_t_i_f_y))
          WWiiddggeett    _w_i_d_g_e_t;;
          iinntt       _v_a_l_u_e;;
          iinntt       _s_l_i_d_e_r__s_i_z_e;;
          iinntt       _i_n_c_r_e_m_e_n_t;;
          iinntt       _p_a_g_e__i_n_c_r_e_m_e_n_t;;
          BBoooolleeaann   _n_o_t_i_f_y;;

   DESCRIPTION
     XXmmSSeettSSccrroollllBBaarrVVaalluueess changes the ScrollBar's increment values and the
     slider's size and position.  The scroll region is overlaid with a slider
     bar that is adjusted in size and position using the main ScrollBar or
     set slider function attributes.

     _w_i_d_g_e_t      Specifies the ScrollBar widget ID.

     _v_a_l_u_e       Specifies the ScrollBar's slider position between XXmmNNmmiinniimmuumm
                 and XXmmNNmmaaxxiimmuumm.  The resource name associated with this
                 argument is XXmmNNvvaalluuee.

     _s_l_i_d_e_r__s_i_z_e Specifies the size of the slider as a value between zero and
                 the absolute value of XXmmNNmmaaxxiimmuumm minus XXmmNNmmiinniimmuumm.  The size
                 of the slider varies, depending on how much of the slider
                 scroll area it represents.  This sets the XXmmNNsslliiddeerrSSiizzee
                 resource associated with ScrollBar.

     _i_n_c_r_e_m_e_n_t   Specifies the amount of button increment and decrement.  If
                 this argument is not zero, the ScrollBar widget automati-
                 cally adjusts the slider when an increment or decrement
                 action occurs.  This sets the XXmmNNiinnccrreemmeenntt resource associ-
                 ated with ScrollBar.

     _p_a_g_e__i_n_c_r_e_m_e_n_t
                 Specifies the amount of page increment and decrement.  If
                 this argument is not zero, the ScrollBar widget automati-
                 cally adjusts the slider when an increment or decrement
                 action occurs.  This sets the XXmmNNppaaggeeIInnccrreemmeenntt resource
                 associated with ScrollBar.

     _n_o_t_i_f_y      Specifies a Boolean value that when True, indicates a change
                 in the ScrollBar value and also specifies that the ScrollBar
                 widget automatically activates the XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk
                 with the recent change.  If False, specifies any change that
                 has occurred in the ScrollBar's value, but XXmmNNvvaalluueeCChhaannggeedd--
                 CCaallllbbaacckk is not activated.



   1-618






                                                     XmScrollBarSetValues(3X)


     For a complete definition of ScrollBar and its associated resources, see
     XXmmSSccrroollllBBaarr((33XX)).

   RELATED INFORMATION
     XXmmSSccrroollllBBaarr((33XX)).



















































   1-619



 u
