


                                                     XmDeactivateProtocol(3X)



   NAME
     XXmmDDeeaaccttiivvaatteePPrroottooccooll-A VendorShell function that deactivates a protocol
     without removing it

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     ##iinncclluuddee <<XXmm//PPrroottooccoollss..hh>>
     vvooiidd XXmmDDeeaaccttiivvaatteePPrroottooccooll ((_s_h_e_l_l, _p_r_o_p_e_r_t_y, _p_r_o_t_o_c_o_l))
          WWiiddggeett    _s_h_e_l_l;;
          AAttoomm      _p_r_o_p_e_r_t_y;;
          AAttoomm      _p_r_o_t_o_c_o_l;;
     vvooiidd XXmmDDeeaaccttiivvaatteeWWMMPPrroottooccooll ((_s_h_e_l_l, _p_r_o_t_o_c_o_l))
          WWiiddggeett    _s_h_e_l_l;;
          AAttoomm      _p_r_o_t_o_c_o_l;;

   DESCRIPTION
     XXmmDDeeaaccttiivvaatteePPrroottooccooll deactivates a protocol without removing it.  It
     updates the handlers and the _p_r_o_p_e_r_t_y, if the _s_h_e_l_l is realized.  It is
     sometimes useful to allow a protocol's state information (callback
     lists, etc.) to persist, even though the client may choose to tem-
     porarily resign from the interaction.  The main use of this capability
     is to gray/ungray ff..sseenndd__mmssgg entries in the Mwm system menu.  This is
     supported by allowing a _p_r_o_t_o_c_o_l to be in one of two states:  active or
     inactive.  If the _p_r_o_t_o_c_o_l is active and the _s_h_e_l_l is realized, the _p_r_o_-
     _p_e_r_t_y contains the _p_r_o_t_o_c_o_l AAttoomm.  If the _p_r_o_t_o_c_o_l is inactive, the AAttoomm
     is not present in the _p_r_o_p_e_r_t_y.

     XXmmDDeeaaccttiivvaatteeWWMMPPrroottooccooll is a convenience interface.  It calls XXmmDDeeaaccttiivvaa--
     tteePPrroottooccooll with the property value set to the atom returned by interning
     WWMM__PPRROOTTOOCCOOLLSS.

     _s_h_e_l_l  Specifies the widget with which the protocol property is associ-
            ated

     _p_r_o_p_e_r_t_y
            Specifies the protocol property

     _p_r_o_t_o_c_o_l
            Specifies the protocol atom (or an int type cast to Atom)

     For a complete definition of VendorShell and its associated resources,
     see VVeennddoorrSShheellll((33XX)).

   RELATED INFORMATION
     mmwwmm((11XX)), VVeennddoorrSShheellll((33XX)), XXmmDDeeaaccttiivvaatteeWWMMPPrroottooccooll((33XX)), and
     XXmmIInntteerrnnAAttoomm((33XX)).






   2-245






   XmDeactivateWMProtocol(3X)



   NAME
     XXmmDDeeaaccttiivvaatteeWWMMPPrroottooccooll-A VendorShell convenience interface that deac-
     tivates a protocol without removing it

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     ##iinncclluuddee <<XXmm//PPrroottooccoollss..hh>>
     vvooiidd XXmmDDeeaaccttiivvaatteeWWMMPPrroottooccooll ((_s_h_e_l_l, _p_r_o_t_o_c_o_l))
          WWiiddggeett    _s_h_e_l_l;;
          AAttoomm      _p_r_o_t_o_c_o_l;;

   DESCRIPTION
     XXmmDDeeaaccttiivvaatteeWWMMPPrroottooccooll is a convenience interface.  It calls XXmmDDeeaaccttiivvaa--
     tteePPrroottooccooll with the property value set to the atom returned by interning
     WWMM__PPRROOTTOOCCOOLLSS.

     _s_h_e_l_l  Specifies the widget with which the protocol property is associ-
            ated

     _p_r_o_t_o_c_o_l
            Specifies the protocol atom (or an int type cast to Atom)

     For a complete definition of VendorShell and its associated resources,
     see VVeennddoorrSShheellll((33XX)).

   RELATED INFORMATION
     VVeennddoorrSShheellll((33XX)), XXmmDDeeaaccttiivvaatteePPrroottooccooll((33XX)), and XXmmIInntteerrnnAAttoomm((33XX)).

























   2-246






                                                          XmDestroyPixmap(3X)



   NAME
     XXmmDDeessttrrooyyPPiixxmmaapp-A pixmap caching function that removes a pixmap from the
     pixmap cache

   AES SUPPORT LEVEL
     Full-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     BBoooolleeaann XXmmDDeessttrrooyyPPiixxmmaapp ((_s_c_r_e_e_n, _p_i_x_m_a_p))
          SSccrreeeenn    * _s_c_r_e_e_n;;
          PPiixxmmaapp    _p_i_x_m_a_p;;

   DESCRIPTION
     XXmmDDeessttrrooyyPPiixxmmaapp removes pixmaps that are no longer used.  Pixmaps are
     completely freed only when there is no further reference to them.

     _s_c_r_e_e_n Specifies the display screen for which the pixmap was requested

     _p_i_x_m_a_p Specifies the pixmap to be destroyed

   RETURN VALUE
     Returns True when successful; returns False if there is no matching
     screen and pixmap in the pixmap cache.

   RELATED INFORMATION
     XXmmIInnssttaallllIImmaaggee((33XX)), XXmmUUnniinnssttaallllIImmaaggee((33XX)), and XXmmGGeettPPiixxmmaapp((33XX)).




























   2-247






   XmDialogShell(3X)



   NAME
     XXmmDDiiaallooggSShheellll-The DialogShell widget class

   AES SUPPORT LEVEL
     Full-use

   HISTORY/DIRECTION
     The description of the geometry management of shells and their children
     has been changed (for Trial-use).

   SYNOPSIS
     ##iinncclluuddee <<XXmm//DDiiaallooggSS..hh>>

   DESCRIPTION
     Modal and modeless dialogs use DialogShell as the Shell parent.  Dialog-
     Shell widgets cannot be iconified.  Instead, all secondary DialogShell
     widgets associated with an ApplicationShell widget are iconified and
     de-iconified as a group with the primary widget.

     The client indirectly manipulates DialogShell via the convenience inter-
     faces during creation, and it can directly manipulate its
     BulletinBoard-derived child.  Much of the functionality of DialogShell
     assumes that its child is a BulletinBoard subclass, although it can
     potentially stand alone.

     Setting XXmmNNhheeiigghhtt, XXmmNNwwiiddtthh, or XXmmNNbboorrddeerrWWiiddtthh for either a DialogShell
     or its managed child usually sets that resource to the same value in
     both the parent and the child.  When an off-the-spot input method
     exists, the height and width of the shell may be greater than those of
     the managed child in order to accommodate the input method.  In this
     case setting XXmmNNhheeiigghhtt or XXmmNNwwiiddtthh for the shell does not necessarily
     set that resource to the same value in the managed child, and setting
     XXmmNNhheeiigghhtt or XXmmNNwwiiddtthh for the child does not necessarily set that
     resource to the same value in the shell.

     For the managed child of a DialogShell, regardless of the value of the
     shell's XXmmNNaalllloowwSShheellllRReessiizzee, setting XXmmNNxx or XXmmNNyy sets the corresponding
     resource of the parent but does not change the child's position relative
     to the parent.  XXttGGeettVVaalluueess for the child's XXmmNNxx or XXmmNNyy yields the
     value of the corresponding resource in the parent.  The _x and _y coordi-
     nates of the child's upper left outside corner relative to the parent's
     upper left inside corner are both zero minus the value of XXmmNNbboorr--
     ddeerrWWiiddtthh.

     Note that the _I_n_t_e_r-_C_l_i_e_n_t _C_o_m_m_u_n_i_c_a_t_i_o_n _C_o_n_v_e_n_t_i_o_n_s _M_a_n_u_a_l allows a
     window manager to change or control the border width of a reparented
     top-level window.

     Classes

     DialogShell inherits behavior and resources from CCoorree, CCoommppoossiittee, SShheellll,
     WWMMSShheellll, VVeennddoorrSShheellll, and TTrraannssiieennttSShheellll classes.



   2-248






                                                            XmDialogShell(3X)


     The class pointer is xxmmDDiiaallooggSShheellllWWiiddggeettCCllaassss.

     The class name is XXmmDDiiaallooggSShheellll.

     New Resources

     DialogShell defines no new resources but overrides the XXmmNNddeelleetteeRReessppoonnssee
     resource in the VVeennddoorrSShheellll class.

     Inherited Resources

     DialogShell inherits behavior and resources from the following superc-
     lasses.  For a complete description of each resource, refer to the man
     page for that superclass.

     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).
                           TTrraannssiieennttSShheellll 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
          _____________________________________________________________
          XmNtransientFor   XmCTransientFor   Widget   NULL      CSG
                                 VVeennddoorrSShheellll 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
   _____________________________________________________________________________________
   XmNbuttonFontList        XmCButtonFontList        XmFontList      dynamic      CSG
   XmNdefaultFontList       XmCDefaultFontList       XmFontList      dynamic      CG
   XmNdeleteResponse        XmCDeleteResponse        unsigned char   XmUNMAP      CSG
   XmNkeyboardFocusPolicy   XmCKeyboardFocusPolicy   unsigned char   XmEXPLICIT   CSG
   XmNlabelFontList         XmCLabelFontList         XmFontList      dynamic      CSG
   XmNmwmDecorations        XmCMwmDecorations        int             -1           CSG
   XmNmwmFunctions          XmCMwmFunctions          int             -1           CSG
   XmNmwmInputMode          XmCMwmInputMode          int             -1           CSG
   XmNmwmMenu               XmCMwmMenu               String          NULL         CSG
   XmNtextFontList          XmCTextFontList          XmFontList      dynamic      CSG
                                WWMMSShheellll 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
   ______________________________________________________________________________
   XmNbaseHeight      XmCBaseHeight      int       XtUnspecifiedShellInt   CSG
   XmNbaseWidth       XmCBaseWidth       int       XtUnspecifiedShellInt   CSG
   XmNheightInc       XmCHeightInc       int       XtUnspecifiedShellInt   CSG
   XmNiconMask        XmCIconMask        Pixmap    NULL                    CSG
   XmNiconPixmap      XmCIconPixmap      Pixmap    NULL                    CSG
   XmNiconWindow      XmCIconWindow      Window    NULL                    CSG
   XmNiconX           XmCIconX           int       -1                      CSG
   XmNiconY           XmCIconY           int       -1                      CSG


   2-249






   XmDialogShell(3X)


   XmNinitialState    XmCInitialState    int       NormalState             CSG
   XmNinput           XmCInput           Boolean   True                    CSG
   XmNmaxAspectX      XmCMaxAspectX      int       XtUnspecifiedShellInt   CSG
   XmNmaxAspectY      XmCMaxAspectY      int       XtUnspecifiedShellInt   CSG
   XmNmaxHeight       XmCMaxHeight       int       XtUnspecifiedShellInt   CSG
   XmNmaxWidth        XmCMaxWidth        int       XtUnspecifiedShellInt   CSG
   XmNminAspectX      XmCMinAspectX      int       XtUnspecifiedShellInt   CSG
   XmNminAspectY      XmCMinAspectY      int       XtUnspecifiedShellInt   CSG
   XmNminHeight       XmCMinHeight       int       XtUnspecifiedShellInt   CSG
   XmNminWidth        XmCMinWidth        int       XtUnspecifiedShellInt   CSG
   XmNtitle           XmCTitle           String    dynamic                 CSG
   XmNtitleEncoding   XmCTitleEncoding   Atom      dynamic                 CSG
   XmNtransient       XmCTransient       Boolean   True                    CSG
   XmNwaitForWm       XmCWaitForWm       Boolean   True                    CSG
   XmNwidthInc        XmCWidthInc        int       XtUnspecifiedShellInt   CSG
   XmNwindowGroup     XmCWindowGroup     Window    dynamic                 CSG
   XmNwinGravity      XmCWinGravity      int       dynamic                 CSG
   XmNwmTimeout       XmCWmTimeout       int       5000 ms                 CSG
                                            SShheellll 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
   ____________________________________________________________________________________________________
   XmNallowShellResize       XmCAllowShellResize       Boolean                  False            CG
   XmNcreatePopupChildProc   XmCCreatePopupChildProc   XtCreatePopupChildProc   NULL             CSG
   XmNgeometry               XmCGeometry               String                   NULL             CSG
   XmNoverrideRedirect       XmCOverrideRedirect       Boolean                  False            CSG
   XmNpopdownCallback        XmCCallback               XtCallbackList           NULL             C
   XmNpopupCallback          XmCCallback               XtCallbackList           NULL             C
   XmNsaveUnder              XmCSaveUnder              Boolean                  True             CSG
   XmNvisual                 XmCVisual                 Visual *                 CopyFromParent   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        1                      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


   2-250






                                                            XmDialogShell(3X)


   XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
   XmNx                            XmCPosition                     Position         0                      CSG
   XmNy                            XmCPosition                     Position         0                      CSG

   RELATED INFORMATION
     CCoommppoossiittee((33XX)), CCoorree((33XX)), SShheellll((33XX)), TTrraannssiieennttSShheellll((33XX)), WWMMSShheellll((33XX)),
     VVeennddoorrSShheellll((33XX)), and XXmmCCrreeaatteeDDiiaallooggSShheellll((33XX)).

















































   2-251






   XmDrawingArea(3X)



   NAME
     XXmmDDrraawwiinnggAArreeaa-The DrawingArea widget class

   AES SUPPORT LEVEL
     Full-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//DDrraawwiinnggAA..hh>>

   DESCRIPTION
     DrawingArea is an empty widget that is easily adaptable to a variety of
     purposes.  It does no drawing and defines no behavior except for invok-
     ing callbacks.  Callbacks notify the application when graphics need to
     be drawn (exposure events or widget resize) and when the widget receives
     input from the keyboard or mouse.

     Applications are responsible for defining appearance and behavior as
     needed in response to DrawingArea callbacks.

     DrawingArea is also a composite widget and subclass of XXmmMMaannaaggeerr that
     supports minimal geometry management for multiple widget or gadget chil-
     dren.

     Classes

     DrawingArea inherits behavior and resources from the 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mDDrraawwiinnggAArreeaaWWiiddggeettCCllaassss.

     The class name is XXmmDDrraawwiinnggAArreeaa.

     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mDDrraawwiinnggAArreeaa 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
   ____________________________________________________________________________
   XmNexposeCallback   XmCCallback       XtCallbackList   NULL           C
   XmNinputCallback    XmCCallback       XtCallbackList   NULL           C
   XmNmarginHeight     XmCMarginHeight   Dimension        10             CSG
   XmNmarginWidth      XmCMarginWidth    Dimension        10             CSG
   XmNresizeCallback   XmCCallback       XtCallbackList   NULL           C


   2-252






                                                            XmDrawingArea(3X)


   XmNresizePolicy     XmCResizePolicy   unsigned char    XmRESIZE_ANY   CSG

     XXmmNNeexxppoosseeCCaallllbbaacckk
               Specifies the list of callbacks that is called when
               DrawingArea receives an exposure event.  The callback reason
               is XXmmCCRR__EEXXPPOOSSEE.  The callback structure also includes the
               exposure event.

     XXmmNNiinnppuuttCCaallllbbaacckk
               Specifies the list of callbacks that is called when the
               DrawingArea receives a keyboard or mouse event (key or button,
               up or down).  The callback reason is XXmmCCRR__IINNPPUUTT.  The callback
               structure also includes the input event.

     XXmmNNmmaarrggiinnHHeeiigghhtt
               Specifies the minimum spacing in pixels between the top or
               bottom edge of DrawingArea and any child widget.

     XXmmNNmmaarrggiinnWWiiddtthh
               Specifies the minimum spacing in pixels between the left or
               right edge of DrawingArea and any child widget.

     XXmmNNrreessiizzeeCCaallllbbaacckk
               Specifies the list of callbacks that is called when the
               DrawingArea is resized.  The callback reason is XXmmCCRR__RREESSIIZZEE.

     XXmmNNrreessiizzeePPoolliiccyy
               Controls the policy for resizing DrawingArea widgets.  Possi-
               ble values include XXmmRREESSIIZZEE__NNOONNEE (fixed size), XXmmRREESSIIZZEE__AANNYY
               (shrink or grow as needed), and XXmmRREESSIIZZEE__GGRROOWW (grow only).

     Inherited Resources

     DrawingArea 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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
   XmNnavigationType       XmCNavigationType       XmNavigationType    XmTAB_GROUP            CSG
   XmNshadowThickness      XmCShadowThickness      Dimension           0                      CSG
   XmNstringDirection      XmCStringDirection      XmStringDirection   dynamic                CG
   XmNtopShadowColor       XmCTopShadowColor       Pixel               dynamic                CSG
   XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap              dynamic                CSG
   XmNtraversalOn          XmCTraversalOn          Boolean             True                   CSG
   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


   2-253






   XmDrawingArea(3X)


      ______________________________________________________________________
      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
   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innddooww   _w_i_n_d_o_w;;
     }} XXmmDDrraawwiinnggAArreeaaC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.  This is NULL
            for the XXmmNNrreessiizzeeCCaallllbbaacckk.

     _w_i_n_d_o_w Is set to the widget window

     Action Routines

     The XmDrawingArea action routines are described below:

     DDrraawwiinnggAArreeaaIInnppuutt(()):
               Unless the event takes place in a gadget, calls the callbacks
               for XXmmNNiinnppuuttCCaallllbbaacckk.

     MMaannaaggeerrGGaaddggeettKKeeyyIInnppuutt(()):
               Causes the current gadget to process a keyboard event.


   2-254






                                                            XmDrawingArea(3X)



   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eDDrraawwiinnggAArreeaa((33XX)), and
     XXmmMMaannaaggeerr((33XX)).




















































   2-255






   XmDrawnButton(3X)



   NAME
     XXmmDDrraawwnnBBuuttttoonn-The DrawnButton widget class

   AES SUPPORT LEVEL
     Full-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//DDrraawwnnBB..hh>>

   DESCRIPTION
     The DrawnButton widget consists of an empty widget window surrounded by
     a shadow border.  It provides the application developer with a graphics
     area that can have PushButton input semantics.

     Callback types are defined for widget exposure and widget resize to
     allow the application to redraw or reposition its graphics.  If the
     DrawnButton widget has a highlight and shadow thickness, the application
     should not draw in that area.  To avoid drawing in the highlight and
     shadow area, create the graphics context with a clipping rectangle for
     drawing in the widget.  The clipping rectangle should take into account
     the size of the widget's highlight thickness and shadow.

     Classes

     DrawnButton inherits behavior and resources from CCoorree, XXmmPPrriimmiittiivvee, and
     XXmmLLaabbeell Classes.

     The class pointer is xxmmDDrraawwnnBBuuttttoonnWWiiddggeettCCllaassss.

     The class name is XXmmDDrraawwnnBBuuttttoon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mDDrraawwnnBBuutttto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
   __________________________________________________________________________________________
   XmNactivateCallback    XmCCallback            XtCallbackList   NULL                 C
   XmNarmCallback         XmCCallback            XtCallbackList   NULL                 C
   XmNdisarmCallback      XmCCallback            XtCallbackList   NULL                 C
   XmNexposeCallback      XmCCallback            XtCallbackList   NULL                 C
   XmNmultiClick          XmCMultiClick          unsigned char    dynamic              CSG
   XmNpushButtonEnabled   XmCPushButtonEnabled   Boolean          False                CSG


   2-256






                                                            XmDrawnButton(3X)


   XmNresizeCallback      XmCCallback            XtCallbackList   NULL                 C
   XmNshadowType          XmCShadowType          unsigned char    XmSHADOW_ETCHED_IN   CSG

     XXmmNNaaccttiivvaatteeCCaallllbbaacckk
               Specifies the list of callbacks that is called when the widget
               becomes selected.  The reason sent by the callback is
               XXmmCCRR__AACCTTIIVVAATTEE.

     XXmmNNaarrmmCCaallllbbaacckk
               Specifies the list of callbacks that is called when the widget
               becomes armed.  The reason sent by the callback is XXmmCCRR__AARRMM.

     XXmmNNddiissaarrmmCCaallllbbaacckk
               Specifies the list of callbacks that is called when the widget
               becomes disarmed.  The reason sent by the callback is
               XXmmCCRR__DDIISSAARRMM.

     XXmmNNeexxppoosseeCCaallllbbaacckk
               Specifies the list of callbacks that is called when the widget
               receives an exposure event.  The reason sent by the callback
               is XXmmCCRR__EEXXPPOOSSEE.

     XXmmNNmmuullttiiCClliicckk
               If a button click is followed by another button click within
               the time span specified by the display's multi-click time, and
               this resource is set to XXmmMMUULLTTIICCLLIICCKK__DDIISSCCAARRDD, do not process
               the second click.  If this resource is set to
               XXmmMMUULLTTIICCLLIICCKK__KKEEEEPP, process the event and increment _c_l_i_c_k__c_o_u_n_t
               in the callback structure.  When the button is not in a menu,
               the default value is XXmmMMUULLTTIICCLLIICCKK__KKEEEEPP.

     XXmmNNppuusshhBBuuttttoonnEEnnaabblleedd
               Enables or disables the three-dimensional shadow drawing as in
               PushButton.

     XXmmNNrreessiizzeeCCaallllbbaacckk
               Specifies the list of callbacks that is called when the widget
               receives a resize event.  The reason sent by the callback is
               XXmmCCRR__RREESSIIZZEE.  The event returned for this callback is NULL.

     XXmmNNsshhaaddoowwTTyyppee
               Describes the drawing style for the DrawnButton.  This
               resource can have the following values:

                 ++oo  XXmmSSHHAADDOOWW__IINN-draws the DrawnButton so that the shadow
                    appears inset.  This means that the bottom shadow visuals
                    and top shadow visuals are reversed.

                 ++oo  XXmmSSHHAADDOOWW__OOUUTT-draws the DrawnButton so that the shadow
                    appears outset.






   2-257






   XmDrawnButton(3X)



                 ++oo  XXmmSSHHAADDOOWW__EETTCCHHEEDD__IINN-draws the DrawnButton using a double
                    line.  This gives the effect of a line etched into the
                    window.  The thickness of the double line is equal to the
                    value of XXmmNNsshhaaddoowwTThhiicckknneessss.

                 ++oo  XXmmSSHHAADDOOWW__EETTCCHHEEDD__OOUUTT-draws the DrawnButton using a double
                    line.  This gives the effect of a line coming out of the
                    window.  The thickness of the double line is equal to the
                    value of XXmmNNsshhaaddoowwTThhiicckknneessss.

     Inherited Resources

     DrawnButton 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mLLaabbeell 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
   ___________________________________________________________________________________________________________
   XmNaccelerator              XmCAccelerator              String              NULL                     N/A
   XmNacceleratorText          XmCAcceleratorText          XmString            NULL                     N/A
   XmNalignment                XmCAlignment                unsigned char       dynamic                  CSG
   XmNfontList                 XmCFontList                 XmFontList          dynamic                  CSG
   XmNlabelInsensitivePixmap   XmCLabelInsensitivePixmap   Pixmap              XmUNSPECIFIED_PIXMAP     CSG
   XmNlabelPixmap              XmCLabelPixmap              Pixmap              XmUNSPECIFIED_PIXMAP     CSG
   XmNlabelString              XmCXmString                 XmString            "\0"                     CSG
   XmNlabelType                XmCLabelType                unsigned char       XmSTRING                 CSG
   XmNmarginBottom             XmCMarginBottom             Dimension           0                        CSG
   XmNmarginHeight             XmCMarginHeight             Dimension           2                        CSG
   XmNmarginLeft               XmCMarginLeft               Dimension           0                        CSG
   XmNmarginRight              XmCMarginRight              Dimension           0                        CSG
   XmNmarginTop                XmCMarginTop                Dimension           0                        CSG
   XmNmarginWidth              XmCMarginWidth              Dimension           2                        CSG
   XmNmnemonic                 XmCMnemonic                 KeySym              NULL                     N/A
   XmNmnemonicCharSet          XmCMnemonicCharSet          String              XmFONTLIST_DEFAULT_TAG   N/A
   XmNrecomputeSize            XmCRecomputeSize            Boolean             True                     CSG
   XmNstringDirection          XmCStringDirection          XmStringDirection   dynamic                  CSG
                                       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
   XmNhighlightColor       XmCHighlightColor       Pixel              dynamic                CSG
   XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False                  CSG
   XmNhighlightPixmap      XmCHighlightPixmap      Pixmap             dynamic                CSG
   XmNhighlightThickness   XmCHighlightThickness   Dimension          2                      CSG
   XmNnavigationType       XmCNavigationType       XmNavigationType   XmNONE                 CSG
   XmNshadowThickness      XmCShadowThickness      Dimension          2                      CSG
   XmNtopShadowColor       XmCTopShadowColor       Pixel              dynamic                CSG
   XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap             dynamic                CSG
   XmNtraversalOn          XmCTraversalOn          Boolean            True                   CSG
   XmNuserData             XmCUserData             XtPointer          NULL                   CSG


   2-258






                                                            XmDrawnButton(3X)


                                                 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innddooww   _w_i_n_d_o_w;;
       iinntt      _c_l_i_c_k__c_o_u_n_t;;
     }} XXmmDDrraawwnnBBuuttttoon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.  This is  NULL
            for XXmmNNrreessiizzeeCCaallllbbaacckk.

     _w_i_n_d_o_w Is set to the window ID in which the event occurred.
















   2-259






   XmDrawnButton(3X)



     _c_l_i_c_k__c_o_u_n_t
            Contains the number of clicks in the last multiclick sequence if
            the XXmmNNmmuullttiiCClliicckk resource is set to XXmmMMUULLTTIICCLLIICCKK__KKEEEEPP, otherwise
            it contains 11.  The activate callback is invoked for each click
            if XXmmNNmmuullttiiCClliicckk is set to XXmmMMUULLTTIICCLLIICCKK__KKEEEEPP.

     Action Routines

     The XmDrawnButton action routines are described below:

     AAccttiivvaattee(()):
               If XXmmNNppuusshhBBuuttttoonnEEnnaabblleedd is True, redraws the shadow in the
               unselected state; otherwise, redraws the shadow according to
               XXmmNNsshhaaddoowwTTyyppee.  If the pointer is within the DrawnButton,
               calls the XXmmNNaaccttiivvaatteeCCaallllbbaacckk callbacks.

     AArrmm(()):    If XXmmNNppuusshhBBuuttttoonnEEnnaabblleedd is True, redraws the shadow in the
               selected state; otherwise, redraws the shadow according to
               XXmmNNsshhaaddoowwTTyyppee.  Calls the callbacks for XXmmNNaarrmmCCaallllbbaacckk.

     AArrmmAAnnddAAccttiivvaattee(()):
               If XXmmNNppuusshhBBuuttttoonnEEnnaabblleedd is True, redraws the shadow in the
               selected state; otherwise, redraws the shadow according to
               XXmmNNsshhaaddoowwTTyyppee.  Calls the callbacks for XXmmNNaarrmmCCaallllbbaacckk.
               Arranges for the following to happen, either immediately or at
               a later time: If XXmmNNppuusshhBBuuttttoonnEEnnaabblleedd is True, the shadow is
               redrawn in the unselected state; otherwise, the shadow is
               redrawn according to XXmmNNsshhaaddoowwTTyyppee.  The callbacks for XXmmNNaacc--
               ttiivvaatteeCCaallllbbaacckk and XXmmNNddiissaarrmmCCaallllbbaacckk are called.

     DDiissaarrmm(()): Marks the DrawnButton as unselected and calls the callbacks
               for XXmmNNddiissaarrmmCCaallllbbaacckk.

     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MuullttiiAAccttiivvaattee(()):
               If XXmmNNmmuullttiiCClliicckk is XXmmMMUULLTTIICCLLIICCKK__DDIISSCCAARRDD, this action does
               nothing.  If XXmmNNmmuullttiiCClliicckk is XXmmMMUULLTTIICCLLIICCKK__KKEEEEPP, this action
               does the following: Increments _c_l_i_c_k__c_o_u_n_t in the callback
               structure.  If XXmmNNppuusshhBBuuttttoonnEEnnaabblleedd is True, redraws the sha-
               dow in the unselected state; otherwise, redraws the shadow
               according to XXmmNNsshhaaddoowwTTyyppee.  If the pointer is within the
               DrawnButton,  calls the XXmmNNaaccttiivvaatteeCCaallllbbaacckk callbacks.  Calls
               the callbacks for XXmmNNddiissaarrmmCCaallllbbaacckk.









   2-260






                                                            XmDrawnButton(3X)



     MMuullttiiAArrmm(()):
               If XXmmNNmmuullttiiCClliicckk is XXmmMMUULLTTIICCLLIICCKK__DDIISSCCAARRDD, this action does
               nothing.  If XXmmNNmmuullttiiCClliicckk is XXmmMMUULLTTIICCLLIICCKK__KKEEEEPP, this action
               does the following: If XXmmNNppuusshhBBuuttttoonnEEnnaabblleedd is True, redraws
               the shadow in the selected state; otherwise, redraws the sha-
               dow according to XXmmNNsshhaaddoowwTTyyppee.  Calls the callbacks for
               XXmmNNaarrmmCCaallllbbaacckk.

   RELATED INFORMATION
     CCoorree((33XX)), XXmmCCrreeaatteeDDrraawwnnBBuuttttoonn, XXmmLLaabbeell((33XX)), XXmmPPrriimmiittiivvee((33XX)), XXmmPPuusshhBBuutt--
     ttoonn, and XXmmSSeeppaarraattoorr((33XX)).












































   2-261






   XmFileSelectionBox(3X)



   NAME
     XXmmFFiilleeSSeelleeccttiioonnBBooxx-The FileSelectionBox widget class

   AES SUPPORT LEVEL
     Full-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//FFiilleeSSBB..hh>>

   DESCRIPTION
     FileSelectionBox traverses through directories, views the files and sub-
     directories in them, and then selects files.

     A FileSelectionBox has five main areas:

       ++oo  A text input field for displaying and editing a directory mask used
          to select the files to be displayed

       ++oo  A scrollable list of filenames

       ++oo  A scrollable list of subdirectories

       ++oo  A text input field for displaying and editing a filename

       ++oo  A group of PushButtons, labeled OOKK, FFiilltteerr, CCaanncceell, and HHeellpp

     Additional children may be added to the FileSelectionBox after creation.
     The list of filenames, the list of subdirectories, or both can be
     removed from the FileSelectionBox after creation by unmanaging the
     appropriate widgets and their labels.  The list and label widgets are
     obtained by calling the function XXmmFFiilleeSSeelleeccttiioonnBBooxxGGeettCChhiilldd.  To remove
     either the directory list or the file list, unmanage the parent of the
     appropriate list widget and unmanage the corresponding label.

     The directory mask is a string specifying the base directory to be exam-
     ined and a search pattern.  Ordinarily, the directory list displays the
     subdirectories of the base directory, as well as the base directory
     itself and its parent directory.  The file list ordinarily displays all
     files and/or subdirectories in the base directory that match the search
     pattern.

     A procedure specified by the XXmmNNqquuaalliiffyySSeeaarrcchhDDaattaaPPrroocc resource extracts
     the base directory and search pattern from the directory mask.  If the
     directory specification is empty, the current working directory is used.
     If the search pattern is empty, a pattern that matches all files is
     used.

     An application can supply its own XXmmNNqquuaalliiffyySSeeaarrcchhDDaattaaPPrroocc as well as
     its own procedures to search for subdirectories and files.  The default
     XXmmNNqquuaalliiffyySSeeaarrcchhDDaattaaPPrroocc works as follows: The directory mask is a path-
     name that can contain zero or more _w_i_l_d_c_a_r_d characters in its directory
     portion, its file portion, or both.  The directory components of the
     directory mask up to, but not including, the first component with a


   2-262






                                                       XmFileSelectionBox(3X)


     wildcard character specify the directory to be searched, relative to the
     current working directory.  The remaining components specify the search
     pattern.  If the directory mask is empty or if its first component con-
     tains a wildcard character, the current working directory is searched.
     If no component of the directory mask contains a wildcard character, the
     entire directory mask is the directory specification, and all files in
     that directory are matched.

     The user can select a new directory to examine by scrolling through the
     list of directories and selecting the desired directory or by editing
     the directory mask.  Selecting a new directory from the directory list
     does not change the search pattern.  A user can select a new search pat-
     tern by editing the directory mask.  Double clicking or pressing KKAAcc--
     ttiivvaattee on a directory in the directory list initiates a search for files
     and subdirectories in the new directory, using the current search pat-
     tern.

     The user can select a file by scrolling through the list of filenames
     and selecting the desired file or by entering the filename directly into
     the text edit area.  Selecting a file from the list causes that filename
     to appear in the file selection text edit area.

     The user may select a new file as many times as desired.  The applica-
     tion is not notified until the user takes one of these actions:

       ++oo  Selects the OOKK PushButton

       ++oo  Presses KKAAccttiivvaattee while the selection text edit area has the key-
          board focus.

       ++oo  Double clicks or presses KKAAccttiivvaattee on an item in the file list

     FileSelectionBox initiates a directory and file search when any of the
     following occurs:

       ++oo  The FileSelectionBox is initialized

       ++oo  The function XXttSSeettVVaalluueess is used to change XXmmNNddiirrMMaasskk, XXmmNNddiirreecc--
          ttoorryy, XXmmNNppaatttteerrnn, or XXmmNNffiilleeTTyyppeeMMaasskk

       ++oo  The user activates the FFiilltteerr PushButton

       ++oo  The user double clicks or presses KKAAccttiivvaattee on an item in the
          directory list

       ++oo  The application calls XXmmFFiilleeSSeelleeccttiioonnDDooSSeeaarrcchh

       ++oo  The user presses KKAAccttiivvaattee while the directory mask text edit area
          has the keyboard focus

     When a file search is initiated, the FileSelectionBox takes the follow-
     ing actions:

       ++oo  Constructs an XXmmFFiilleeSSeelleeccttiioonnBBooxxCCaallllbbaacckkSSttrruucctt structure with


   2-263






   XmFileSelectionBox(3X)


          values appropriate for the action that initiated the search

       ++oo  Calls the XXmmNNqquuaalliiffyySSeeaarrcchhDDaattaaPPrroocc with the callback structure as
          the data input argument

       ++oo  Sets XXmmNNddiirreeccttoorryyVVaalliidd and XXmmNNlliissttUUppddaatteedd to False

       ++oo  Calls the XXmmNNddiirrSSeeaarrcchhPPrroocc with the qualified data returned by the
          XXmmNNqquuaalliiffyySSeeaarrcchhDDaattaaPPrroocc

     If XXmmNNddiirreeccttoorryyVVaalliidd is True, the FileSelectionBox takes these addi-
     tional actions:

       ++oo  Sets XXmmNNlliissttUUppddaatteedd to False

       ++oo  Calls the XXmmNNffiilleeSSeeaarrcchhPPrroocc with the qualified data returned by the
          XXmmNNqquuaalliiffyySSeeaarrcchhDDaattaaPPrroocc (and possibly modified by the XXmmNNddiirrSSeeaarr--
          cchhPPrroocc)

       ++oo  If XXmmNNlliissttUUppddaatteedd is True and the file list is empty, displays the
          XXmmNNnnooMMaattcchhSSttrriinngg in the file list and clears the selection text and
          XXmmNNddiirrSSppeecc

       ++oo  If XXmmNNlliissttUUppddaatteedd is True and the file list is not empty, sets the
          selection text and XXmmNNddiirrSSppeecc to the qualified _d_i_r returned by the
          XXmmNNqquuaalliiffyySSeeaarrcchhDDaattaaPPrroocc (and possibly modified by the XXmmNNddiirrSSeeaarr--
          cchhPPrroocc)

       ++oo  Sets the directory mask text and XXmmNNddiirrMMaasskk to the qualified _m_a_s_k
          returned by the XXmmNNqquuaalliiffyySSeeaarrcchhDDaattaaPPrroocc (and possibly modified by
          the XXmmNNddiirrSSeeaarrcchhPPrroocc)

       ++oo  Sets XXmmNNddiirreeccttoorryy to the qualified _d_i_r returned by the XXmmNNqquuaall--
          iiffyySSeeaarrcchhDDaattaaPPrroocc (and possibly modified by the XXmmNNddiirrSSeeaarrcchhPPrroocc)

       ++oo  Sets XXmmNNppaatttteerrnn to the qualified _p_a_t_t_e_r_n returned by the XXmmNNqquuaall--
          iiffyySSeeaarrcchhDDaattaaPPrroocc (and possibly modified by the XXmmNNddiirrSSeeaarrcchhPPrroocc)

     Classes

     FileSelectionBox 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, XXmmMMaannaaggeerr, XXmmBBuulllleettiinnBBooaarrdd, and XXmmSSeelleeccttiioonnBBooxx.

     The class pointer is xxmmFFiilleeSSeelleeccttiioonnBBooxxWWiiddggeettCCllaassss.

     The class name is XXmmFFiilleeSSeelleeccttiioonnBBooxx.

     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


   2-264






                                                       XmFileSelectionBox(3X)


     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mFFiilleeSSeelleeccttiioonnBBooxx 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
   ________________________________________________________________________________________________
   XmNdirectory               XmCDirectory               XmString        dynamic             CSG
   XmNdirectoryValid          XmCDirectoryValid          Boolean         dynamic             SG
   XmNdirListItems            XmCDirListItems            XmStringTable   dynamic             SG
   XmNdirListItemCount        XmCDirListItemCount        int             dynamic             SG
   XmNdirListLabelString      XmCDirListLabelString      XmString        dynamic             CSG
   XmNdirMask                 XmCDirMask                 XmString        dynamic             CSG
   XmNdirSearchProc           XmCDirSearchProc           XmSearchProc    default procedure   CSG
   XmNdirSpec                 XmCDirSpec                 XmString        dynamic             CSG
   XmNfileListItems           XmCItems                   XmStringTable   dynamic             SG
   XmNfileListItemCount       XmCItemCount               int             dynamic             SG
   XmNfileListLabelString     XmCFileListLabelString     XmString        dynamic             CSG
   XmNfileSearchProc          XmCFileSearchProc          XmSearchProc    default procedure   CSG
   XmNfileTypeMask            XmCFileTypeMask            unsigned char   XmFILE_REGULAR      CSG
   XmNfilterLabelString       XmCFilterLabelString       XmString        dynamic             CSG
   XmNlistUpdated             XmCListUpdated             Boolean         dynamic             SG
   XmNnoMatchString           XmCNoMatchString           XmString        " [    ] "          CSG
   XmNpattern                 XmCPattern                 XmString        dynamic             CSG
   XmNqualifySearchDataProc   XmCQualifySearchDataProc   XmQualifyProc   default procedure   CSG

     XXmmNNddiirreeccttoorryy
               Specifies the base directory used in combination with XXmmNNppaatt--
               tteerrnn in determining the files and directories to be displayed.
               The default value is determined by the XXmmNNqquuaalliiffyySSeeaarrcchhDDaa--
               ttaaPPrroocc and depends on the initial values of XXmmNNddiirrMMaasskk,
               XXmmNNddiirreeccttoorryy, and XXmmNNppaatttteerrnn.  If the default is NULL or
               empty, the current working directory is used.

     XXmmNNddiirreeccttoorryyVVaalliidd
               Specifies an attribute that is set only by the directory
               search procedure.  The value is set to True if the directory
               passed to the directory search procedure can actually be
               searched.  If this value is False the file search procedure is
               not called, and XXmmNNddiirrMMaasskk, XXmmNNddiirreeccttoorryy, and XXmmNNppaatttteerrnn are
               not changed.

     XXmmNNddiirrLLiissttIItteemmss
               Specifies the items in the directory list.

     XXmmNNddiirrLLiissttIItteemmCCoouunntt
               Specifies the number of items in the directory list.  The
               value must not be negative.

     XXmmNNddiirrLLiissttLLaabbeellSSttrriinngg
               Specifies the label string of the directory list.  The default
               for this resource depends on the locale.  In the C locale the


   2-265






   XmFileSelectionBox(3X)


               default is "Directories".

     XXmmNNddiirrMMaasskk
               Specifies the directory mask used in determining the files and
               directories to be displayed.  The default value is determined
               by the XXmmNNqquuaalliiffyySSeeaarrcchhDDaattaaPPrroocc and depends on the initial
               values of XXmmNNddiirrMMaasskk, XXmmNNddiirreeccttoorryy, and XXmmNNppaatttteerrnn.

     XXmmNNddiirrSSeeaarrcchhPPrroocc
               Specifies a directory search procedure to replace the default
               directory-search procedure.  FileSelectionBox's default
               directory-search procedure fulfills the needs of most applica-
               tions.  Because it is impossible to cover the requirements of
               all applications, you can replace the default search pro-
               cedure.
               The directory search procedure is called with two arguments:
               the FileSelectionBox widget and a pointer to an XXmmFFiilleeSSeelleecc--
               ttiioonnBBooxxCCaallllbbaacckkSSttrruucctt structure.  The callback structure is
               generated by the XXmmNNqquuaalliiffyySSeeaarrcchhDDaattaaPPrroocc and contains all
               information required to conduct a directory search, including
               the directory mask and a qualified base directory and search
               pattern.  Once called, it is up to the search routine to gen-
               erate a new list of directories and update the FileSelection-
               Box widget by using XXttSSeettVVaalluueess.
               The search procedure must set XXmmNNddiirreeccttoorryyVVaalliidd and XXmmNNlliissttUUpp--
               ddaatteedd.  If it generates a new list of directories, it must
               also set XXmmNNddiirrLLiissttIItteemmss and XXmmNNddiirrLLiissttIItteemmCCoouunntt.
               If the search procedure cannot search the specified directory,
               it must warn the user and set XXmmNNddiirreeccttoorryyVVaalliidd and XXmmNNlliissttUUpp--
               ddaatteedd to False, unless it prompts and subsequently obtains a
               valid directory.  If the directory is valid but is the same as
               the current XXmmNNddiirreeccttoorryy, the search procedure must set
               XXmmNNddiirreeccttoorryyVVaalliidd to True, but it may elect not to generate a
               new list of directories.  In this case is must set XXmmNNlliissttUUpp--
               ddaatteedd to False.
               If the search procedure generates a new list of directories,
               it must set XXmmNNddiirrLLiissttIItteemmss to the new list of directories and
               XXmmNNddiirrLLiissttIItteemmCCoouunntt to the number of items in the list.  If
               there are no directories, it sets XXmmNNddiirrLLiissttIItteemmss to NULL and
               XXmmNNddiirrLLiissttIItteemmCCoouunntt to 0.  In either case it must set
               XXmmNNddiirreeccttoorryyVVaalliidd and XXmmNNlliissttUUppddaatteedd to True.
               The search procedure ordinarily should not change the callback
               struct.  But if the original directory is not valid, the
               search procedure may obtain a new directory from the user.  In
               this case it should set the _d_i_r member of the callback struct
               to the new directory, call the XXmmNNqquuaalliiffyySSeeaarrcchhDDaattaaPPrroocc with
               the callback struct as the input argument, and copy the quali-
               fied data returned by the XXmmNNqquuaalliiffyySSeeaarrcchhDDaattaaPPrroocc into the
               callback struct.

     XXmmNNddiirrSSppeecc
               Specifies the full file path specification.  This is the
               XXmmNNtteexxttSSttrriinngg resource in SelectionBox, renamed for FileSelec-
               tionBox.  The default value is determined by the


   2-266






                                                       XmFileSelectionBox(3X)


               FileSelectionBox after conducting the initial directory and
               file search.

     XXmmNNffiilleeLLiissttIItteemmss
               Specifies the items in the file list.  This is the XXmmNNlliiss--
               ttIItteemmss resource in SelectionBox, renamed for FileSelectionBox.

     XXmmNNffiilleeLLiissttIItteemmCCoouunntt
               Specifies the number of items in the file list.  This is the
               XXmmNNlliissttIItteemmCCoouunntt resource in SelectionBox, renamed for
               FileSelectionBox.  The value must not be negative.

     XXmmNNffiilleeLLiissttLLaabbeellSSttrriinngg
               Specifies the label string of the file list.  This is the
               XXmmNNlliissttLLaabbeellSSttrriinngg resource in SelectionBox, renamed for
               FileSelectionBox.  The default for this resource depends on
               the locale.  In the C locale the default is "Files".

     XXmmNNffiilleeSSeeaarrcchhPPrroocc
               Specifies a file search procedure to replace the default
               file-search procedure.  FileSelectionBox's default file-search
               procedure fulfills the needs of most applications.  Because it
               is impossible to cover the requirements of all applications,
               you can replace the default search procedure.
               The file search procedure is called with two arguments: the
               FileSelectionBox widget and a pointer to an XXmmFFiilleeSSeelleeccttiioonn--
               BBooxxCCaallllbbaacckkSSttrruucctt structure.  The callback structure is gen-
               erated by the XXmmNNqquuaalliiffyySSeeaarrcchhDDaattaaPPrroocc (and possibly modified
               by the XXmmNNddiirrSSeeaarrcchhPPrroocc).  It contains all information
               required to conduct a file search, including the directory
               mask and a qualified base directory and search pattern.  Once
               called, it is up to the search routine to generate a new list
               of files and update the FileSelectionBox widget by using
               XXttSSeettVVaalluueess.
               The search procedure must set XXmmNNlliissttUUppddaatteedd.  If it generates
               a new list of files, it must also set XXmmNNffiilleeLLiissttIItteemmss and
               XXmmNNffiilleeLLiissttIItteemmCCoouunntt.
               The search procedure is recommended always to generate a new
               list of files.  If the _m_a_s_k member of the callback struct is
               the same as the _m_a_s_k member of the callback struct in the
               preceding call to the search procedure, the procedure may
               elect not to generate a new list of files.  In this case it
               must set XXmmNNlliissttUUppddaatteedd to False.
               If the search procedure generates a new list of files, it must
               set XXmmNNffiilleeLLiissttIItteemmss to the new list of files and XXmmNNffiilleeLLiiss--
               ttIItteemmCCoouunntt to the number of items in the list.  If there are
               no files, it sets XXmmNNffiilleeLLiissttIItteemmss to NULL and XXmmNNffiilleeLLiiss--
               ttIItteemmCCoouunntt to 0.  In either case it must set XXmmNNlliissttUUppddaatteedd to
               True.
               In constructing the list of files, the search procedure should
               include only files of the types specified by the widget's
               XXmmNNffiilleeTTyyppeeMMaasskk.
               Setting XXmmNNddiirrSSppeecc is optional, but recommended.  Set this
               attribute to the full file specification of the directory


   2-267






   XmFileSelectionBox(3X)


               searched.  The directory specification is displayed below the
               directory and file lists.

     XXmmNNffiilleeTTyyppeeMMaasskk
               Specifies the type of files listed in the file list.  Follow-
               ing are the possible values:

                 ++oo  XXmmFFIILLEE__RREEGGUULLAARR restricts the file list to contain only
                    regular files.

                 ++oo  XXmmFFIILLEE__DDIIRREECCTTOORRYY restricts the file list to contain only
                    directories.

                 ++oo  XXmmFFIILLEE__AANNYY__TTYYPPEE allows the list to contain all file types
                    including directories.

     XXmmNNffiilltteerrLLaabbeellSSttrriinngg
               Specifies the label string for the text entry field for the
               directory mask.  The default for this resource depends on the
               locale.  In the C locale the default is "Filter".

     XXmmNNlliissttUUppddaatteedd
               Specifies an attribute that is set only by the directory and
               file search procedures.  Set to True if the search procedure
               updated the directory or file list.

     XXmmNNnnooMMaattcchhSSttrriinngg
               Specifies a string to be displayed in the file list if the
               list of files is empty.

     XXmmNNppaatttteerrnn
               Specifies the search pattern used in combination with
               XXmmNNddiirreeccttoorryy in determining the files and directories to be
               displayed.  The default value is determined by the XXmmNNqquuaall--
               iiffyySSeeaarrcchhDDaattaaPPrroocc and depends on the initial values of XXmmNNddiirr--
               MMaasskk, XXmmNNddiirreeccttoorryy, and XXmmNNppaatttteerrnn.  If the default is NULL or
               empty, a pattern that matches all files is used.

     XXmmNNqquuaalliiffyySSeeaarrcchhDDaattaaPPrroocc
               Specifies a search data qualification procedure to replace the
               default data qualification procedure.  FileSelectionBox's
               default data qualification procedure fulfills the needs of
               most applications.  Because it is impossible to cover the
               requirements of all applications, you can replace the default
               procedure.
               The data qualification procedure is called to generate a qual-
               ified directory mask, base directory, and search pattern for
               use by the directory and file search procedures.  It is called
               with three arguments: the FileSelectionBox widget and pointers
               to two XXmmFFiilleeSSeelleeccttiioonnBBooxxCCaallllbbaacckkSSttrruucctt structures.  The first
               callback struct contains the input data.  The second callback
               struct contains the output data, to be filled in by the data
               qualification procedure.



   2-268






                                                       XmFileSelectionBox(3X)


               If the input _d_i_r and _p_a_t_t_e_r_n members are not NULL, the pro-
               cedure must copy them to the corresponding members of the out-
               put callback struct.
               If the input _d_i_r is NULL, the procedure constructs the output
               _d_i_r as follows: If the input _m_a_s_k member is NULL, the pro-
               cedure uses the widget's XXmmNNddiirreeccttoorryy as the output _d_i_r; oth-
               erwise, it extracts the output _d_i_r from the input _m_a_s_k.  If
               the resulting output _d_i_r is empty, the procedure uses the
               current working directory instead.
               If the input _p_a_t_t_e_r_n is NULL, the procedure constructs the
               output _p_a_t_t_e_r_n as follows: If the input _m_a_s_k member is NULL,
               the procedure uses the widget's XXmmNNppaatttteerrnn as the output _p_a_t_-
               _t_e_r_n; otherwise, it extracts the output _p_a_t_t_e_r_n from the input
               _m_a_s_k.  If the resulting output _p_a_t_t_e_r_n is empty, the procedure
               uses a pattern that matches all files instead.
               The data qualification procedure constructs the output _m_a_s_k
               from the output _d_i_r and _p_a_t_t_e_r_n.  The procedure must ensure
               that the output _d_i_r, _p_a_t_t_e_r_n, and _m_a_s_k are fully qualified.
               If the input _v_a_l_u_e member is not NULL, the procedure must copy
               it to the output _v_a_l_u_e member; otherwise, the procedure must
               copy the widget's XXmmNNddiirrSSppeecc to the output _v_a_l_u_e.
               The data qualification procedure must calculate the lengths of
               the output _v_a_l_u_e, _m_a_s_k, _d_i_r, and _p_a_t_t_e_r_n members and must fill
               in the corresponding length members of the output callback
               struct.
               The data qualification procedure must copy the input _r_e_a_s_o_n
               and _e_v_e_n_t members to the corresponding output members.

     The values of the XXmmNNddiirrSSeeaarrcchhPPrroocc and XXmmNNffiilleeSSeeaarrcchhPPrroocc are procedure
     pointers of type XXmmSSeeaarrcchhPPrroocc, defined as follows:
     vvooiidd ((** XXmmSSeeaarrcchhPPrroocc)) ((_w, _s_e_a_r_c_h__d_a_t_a))
          WWiiddggeett _w;;
          XXttPPooiinntteerr_s_e_a_r_c_h__d_a_t_a;;

     _w         The FileSelectionBox widget

     _s_e_a_r_c_h__d_a_t_a
               Pointer to an XXmmFFiilleeSSeelleeccttiioonnBBooxxCCaallllbbaacckkSSttrruucctt containing
               information for conducting a search



     The value of the XXmmNNqquuaalliiffyySSeeaarrcchhDDaattaaPPrroocc resource is a procedure
     pointer of type XXmmQQuuaalliiffyyPPrroocc, defined as follows:
     vvooiidd ((** XXmmQQuuaalliiffyyPPrroocc)) ((_w, _i_n_p_u_t__d_a_t_a, _o_u_t_p_u_t__d_a_t_a))
          WWiiddggeett _w;;
          XXttPPooiinntteerr_i_n_p_u_t__d_a_t_a;;
          XXttPPooiinntteerr_o_u_t_p_u_t__d_a_t_a;;

     _w         The FileSelectionBox widget

     _i_n_p_u_t__d_a_t_a
               Pointer to an XXmmFFiilleeSSeelleeccttiioonnBBooxxCCaallllbbaacckkSSttrruucctt containing
               input data to be qualified


   2-269






   XmFileSelectionBox(3X)



     _o_u_t_p_u_t__d_a_t_a
               Pointer to an XXmmFFiilleeSSeelleeccttiioonnBBooxxCCaallllbbaacckkSSttrruucctt containing out-
               put data to be filled in by the qualification procedure

     Inherited Resources

     FileSelectionBox 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mSSeelleeccttiioonnBBooxx 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
   ______________________________________________________________________________________________________
   XmNapplyCallback          XmCCallback               XtCallbackList   NULL                       C
   XmNapplyLabelString       XmCApplyLabelString       XmString         dynamic                    CSG
   XmNcancelCallback         XmCCallback               XtCallbackList   NULL                       C
   XmNcancelLabelString      XmCCancelLabelString      XmString         dynamic                    CSG
   XmNdialogType             XmCDialogType             unsigned char    XmDIALOG_FILE_SELECTION    G
   XmNhelpLabelString        XmCHelpLabelString        XmString         dynamic                    CSG
   XmNlistItemCount          XmCItemCount              int              dynamic                    CSG
   XmNlistItems              XmCItems                  XmStringTable    dynamic                    CSG
   XmNlistLabelString        XmCListLabelString        XmString         dynamic                    CSG
   XmNlistVisibleItemCount   XmCVisibleItemCount       int              dynamic                    CSG
   XmNminimizeButtons        XmCMinimizeButtons        Boolean          False                      CSG
   XmNmustMatch              XmCMustMatch              Boolean          False                      CSG
   XmNnoMatchCallback        XmCCallback               XtCallbackList   NULL                       C
   XmNokCallback             XmCCallback               XtCallbackList   NULL                       C
   XmNokLabelString          XmCOkLabelString          XmString         dynamic                    CSG
   XmNselectionLabelString   XmCSelectionLabelString   XmString         dynamic                    CSG
   XmNtextAccelerators       XmCTextAccelerators       XtAccelerators   default                    C
   XmNtextColumns            XmCColumns                short            dynamic                    CSG
   XmNtextString             XmCTextString             XmString         dynamic                    CSG
                              XXmmBBuulllleettiinnBBooaarrdd 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
   __________________________________________________________________________________
   XmNallowOverlap       XmCAllowOverlap      Boolean          True            CSG
   XmNautoUnmanage       XmCAutoUnmanage      Boolean          False           CG
   XmNbuttonFontList     XmCButtonFontList    XmFontList       dynamic         CSG
   XmNcancelButton       XmCWidget            Widget           Cancel button   SG
   XmNdefaultButton      XmCWidget            Widget           OK button       SG
   XmNdefaultPosition    XmCDefaultPosition   Boolean          True            CSG
   XmNdialogStyle        XmCDialogStyle       unsigned char    dynamic         CSG
   XmNdialogTitle        XmCDialogTitle       XmString         NULL            CSG
   XmNfocusCallback      XmCCallback          XtCallbackList   NULL            C
   XmNlabelFontList      XmCLabelFontList     XmFontList       dynamic         CSG
   XmNmapCallback        XmCCallback          XtCallbackList   NULL            C
   XmNmarginHeight       XmCMarginHeight      Dimension        10              CSG
   XmNmarginWidth        XmCMarginWidth       Dimension        10              CSG
   XmNnoResize           XmCNoResize          Boolean          False           CSG
   XmNresizePolicy       XmCResizePolicy      unsigned char    XmRESIZE_ANY    CSG
   XmNshadowType         XmCShadowType        unsigned char    XmSHADOW_OUT    CSG
   XmNtextFontList       XmCTextFontList      XmFontList       dynamic         CSG
   XmNtextTranslations   XmCTranslations      XtTranslations   NULL            C
   XmNunmapCallback      XmCCallback          XtCallbackList   NULL            C


   2-270






                                                       XmFileSelectionBox(3X)


                                        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
   XmNnavigationType       XmCNavigationType       XmNavigationType    XmTAB_GROUP            CSG
   XmNshadowThickness      XmCShadowThickness      Dimension           dynamic                CSG
   XmNstringDirection      XmCStringDirection      XmStringDirection   dynamic                CG
   XmNtopShadowColor       XmCTopShadowColor       Pixel               dynamic                CSG
   XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap              dynamic                CSG
   XmNtraversalOn          XmCTraversalOn          Boolean             True                   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                N/A
   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;;
       XXmmSSttrriinngg _v_a_l_u_e;;
       iinntt      _l_e_n_g_t_h;;


   2-271






   XmFileSelectionBox(3X)


       XXmmSSttrriinngg _m_a_s_k;;
       iinntt      _m_a_s_k__l_e_n_g_t_h;;
       XXmmSSttrriinngg _d_i_r;;
       iinntt      _d_i_r__l_e_n_g_t_h;;
       XXmmSSttrriinngg _p_a_t_t_e_r_n;;
       iinntt      _p_a_t_t_e_r_n__l_e_n_g_t_h;;
     }} XXmmFFiilleeSSeelleeccttiioonnBBooxxC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     Specifies the current value of XXmmNNddiirrSSppeecc

     _l_e_n_g_t_h    Specifies the number of bytes in _v_a_l_u_e

     _m_a_s_k      Specifies the current value of XXmmNNddiirrMMaasskk

     _m_a_s_k__l_e_n_g_t_h
               Specifies the number of bytes in _m_a_s_k

     _d_i_r       Specifies the current base directory

     _d_i_r__l_e_n_g_t_h
               Specifies the number of bytes in _d_i_r

     _p_a_t_t_e_r_n   Specifies the current search pattern

     _p_a_t_t_e_r_n__l_e_n_g_t_h
               Specifies the number of bytes in _p_a_t_t_e_r_n

     Action Routines

     The XmFileSelectionBox action routines are described below:

     SSeelleeccttiioonnBBooxxUUppOOrrDDoowwnn((00||11||22||33)):
               If neither the selection text nor the directory mask (filter)



















   2-272






                                                       XmFileSelectionBox(3X)


               text has the focus, this action does nothing.  If the selec-
               tion text has the focus, the term _l_i_s_t in the following
               description refers to the file list, and the term _t_e_x_t refers
               to the selection text.  If the directory mask text has the
               focus, _l_i_s_t refers to the directory list, and _t_e_x_t refers to
               the directory mask text.  When called with a 0 argument,
               selects the previous item in the list and replaces the text
               with that item.  When called with a 1 argument, selects the
               next item in the list and replaces the text with that item.
               When called with a 2 argument, selects the first item in the
               list and replaces the text with that item.  When called with a
               3 argument, selects the last item in the list and replaces the
               text with that item.

     SSeelleeccttiioonnBBooxxRReessttoorree(()):
               If neither the selection text nor the directory mask (filter)
               text has the focus, this action does nothing.  If the selec-
               tion text has the focus, replaces the selection text with the
               selected item in the file list.  If no item in the file list
               is selected, clears the selection text.  If the directory mask
               text has the focus, replaces the directory mask text with a
               new directory mask constructed from the XXmmNNddiirreeccttoorryy and
               XXmmNNppaatttteerrnn resources.

   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mBBuulllleettiinnBBooaarrdd((33XX)),
     XXmmCCrreeaatteeFFiilleeSSeelleeccttiioonnBBooxx((33XX)), XXmmCCrreeaatteeFFiilleeSSeelleeccttiioonnDDiiaalloogg((33XX)),
     XXmmFFiilleeSSeelleeccttiioonnBBooxxGGeettCChhiilldd((33XX)), XXmmFFiilleeSSeelleeccttiioonnDDooSSeeaarrcchh((33XX)),
     XXmmMMaannaaggeerr((33XX)), and XXmmSSeelleeccttiioonnBBooxx((33XX)).



























   2-273






   XmFileSelectionBoxGetChild(3X)



   NAME
     XXmmFFiilleeSSeelleeccttiioonnBBooxxGGeettCChhiilldd-A FileSelectionBox function used to access a
     component

   AES SUPPORT LEVEL
     Full-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//FFiilleeSSBB..hh>>
     WWiiddggeett XXmmFFiilleeSSeelleeccttiioonnBBooxxGGeettCChhiilldd ((_w_i_d_g_e_t, _c_h_i_l_d))
          WWiiddggeett    _w_i_d_g_e_t;;
          uunnssiiggnneedd cchhaarr_c_h_i_l_d;;

   DESCRIPTION
     XXmmFFiilleeSSeelleeccttiioonnBBooxxGGeettCChhiilldd is used to access a component within a
     FileSelectionBox.  The parameters given to the function are the
     FileSelectionBox widget and a value indicating which component to
     access.

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

     _c_h_i_l_d  Specifies a component within the FileSelectionBox.  The following
            are legal values for this parameter:

              ++oo  XXmmDDIIAALLOOGG__AAPPPPLLYY__BBUUTTTTOONN

              ++oo  XXmmDDIIAALLOOGG__CCAANNCCEELL__BBUUTTTTOONN

              ++oo  XXmmDDIIAALLOOGG__DDEEFFAAUULLTT__BBUUTTTTOONN

              ++oo  XXmmDDIIAALLOOGG__DDIIRR__LLIISSTT

              ++oo  XXmmDDIIAALLOOGG__DDIIRR__LLIISSTT__LLAABBEELL

              ++oo  XXmmDDIIAALLOOGG__FFIILLTTEERR__LLAABBEELL

              ++oo  XXmmDDIIAALLOOGG__FFIILLTTEERR__TTEEXXTT

              ++oo  XXmmDDIIAALLOOGG__HHEELLPP__BBUUTTTTOONN

              ++oo  XXmmDDIIAALLOOGG__LLIISSTT

              ++oo  XXmmDDIIAALLOOGG__LLIISSTT__LLAABBEELL

              ++oo  XXmmDDIIAALLOOGG__OOKK__BBUUTTTTOONN

              ++oo  XXmmDDIIAALLOOGG__SSEELLEECCTTIIOONN__LLAABBEELL

              ++oo  XXmmDDIIAALLOOGG__SSEEPPAARRAATTOORR

              ++oo  XXmmDDIIAALLOOGG__TTEEXXTT

              ++oo  XXmmDDIIAALLOOGG__WWOORRKK__AARREEAA


   2-274






                                               XmFileSelectionBoxGetChild(3X)



     For a complete definition of FileSelectionBox and its associated
     resources, see XXmmFFiilleeSSeelleeccttiioonnBBooxx((33XX)).

   RETURN VALUE
     Returns the widget ID of the specified FileSelectionBox component.  An
     application should not assume that the returned widget will be of any
     particular class.

   RELATED INFORMATION
     XXmmFFiilleeSSeelleeccttiioonnBBooxx((33XX)).













































   2-275






   XmFileSelectionDoSearch(3X)



   NAME
     XXmmFFiilleeSSeelleeccttiioonnDDooSSeeaarrcchh-A FileSelectionBox function that initiates a
     directory search

   AES SUPPORT LEVEL
     Full-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//FFiilleeSSBB..hh>>
     vvooiidd XXmmFFiilleeSSeelleeccttiioonnDDooSSeeaarrcchh ((_w_i_d_g_e_t, _d_i_r_m_a_s_k))
          WWiiddggeett    _w_i_d_g_e_t;;
          XXmmSSttrriinngg  _d_i_r_m_a_s_k;;

   DESCRIPTION
     XXmmFFiilleeSSeelleeccttiioonnDDooSSeeaarrcchh initiates a directory and file search in a
     FileSelectionBox widget.  For a description of the actions that the
     FileSelectionBox takes when doing a search, see XXmmFFiilleeSSeelleeccttiioonnBBooxx((33XX)).

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

     _d_i_r_m_a_s_kSpecifies the directory mask used in determining the directories
            and files displayed in the FileSelectionBox lists.  This value is
            used as the _m_a_s_k member of the input data XXmmFFiilleeSSeelleeccttiioonnBBooxx--
            CCaallllbbaacckkSSttrruucctt structure passed to the FileSelectionBox's
            XXmmNNqquuaalliiffyySSeeaarrcchhDDaattaaPPrroocc.  The _d_i_r and _p_a_t_t_e_r_n members of that
            structure are NULL.

     For a complete definition of FileSelectionBox and its associated
     resources, see XXmmFFiilleeSSeelleeccttiioonnBBooxx((33XX)).

   RELATED INFORMATION
     XXmmFFiilleeSSeelleeccttiioonnBBooxx((33XX)).























   2-276






                                                               XmFontList(3X)



   NAME
     XXmmFFoonnttLLiisstt-Data type for a font list

   AES SUPPORT LEVEL
     Full-use

   HISTORY/DIRECTION
     Font lists have been enhanced in revision C to contain font sets as well
     as fonts (for Trial-use).

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>

   DESCRIPTION
     XXmmFFoonnttLLiisstt is the data type for a font list.  A font list consists of
     font list entries, each of which contains a font or a font set (a group
     of fonts) and is identified with a tag.  The font list entry tag is
     optional; if NULL, the tag is set to XXmmFFOONNTTLLIISSTT__DDEEFFAAUULLTT__TTAAGG.

     When a compound string is displayed, the font list element tag of the
     compound string segment is matched with a font list entry tag in the
     font list and the matching font list entry is used to display the com-
     pound string.  A font list entry is chosen as follows:

       ++oo  The first font list entry whose tag matches the tag of the compound
          string segment is used.

       ++oo  If no match has been found, the first entry in the font list is
          used.

     The font list interface consists of the routines listed under "Related
     Information."

     Font lists are specified in resource files using the following syntax:

     _r_e_s_o_u_r_c_e__s_p_e_c::  _f_o_n_t__e_n_t_r_y [ , _f_o_n_t__e_n_t_r_y ]+

     The resource value string consists of one or more font list entries
     separated by commas.  Each _f_o_n_t__e_n_t_r_y identifies a font or font set, and
     an optional font list entry tag.  A tag specified for a single font fol-
     lows the font name and is separated by == ; otherwise, in a font set the
     tag is separated by a colon.  The colon is required whether a tag is
     specified or not.  A font entry uses the following syntax to specify a
     single font:

              _f_o_n_t__n_a_m_e [ '=' _t_a_g ]

     For example, this entry specifies a 10 point Times Italic font without a
     font list entry tag.

     *fontList:  -Adobe-Times-Medium-I-Normal--10*




   2-277






   XmFontList(3X)


     A font entry containing a font set is similar except a semicolon
     separates multiple font names and the specification ends with a colon
     followed by an optional tag.

               _f_o_n_t__n_a_m_e [ ';' _f_o_n_t__n_a_m_e ]+ ':' [ _t_a_g ]

     A _f_o_n_t__n_a_m_e is an X Logical Font Description (XLFD) string and _t_a_g is
     any set of characters from ISO646IRV except space, comma, colon, equal
     sign and semicolon.  An example of a font set entry is given below.  It
     consists of three fonts (except for charsets), and an explicit font list
     entry tag.

     *fontList : -Adobe-Courier-Bold-R-Normal--25-180-100-100-M-150;\
     -JIS-Fixed-Medium-R-Normal--26-180-100-100-C-240;\
     -JIS-Fixed-Medium-R-Normal--26-180-100-100-C-120:MY_TAG

   RELATED INFORMATION
     XXmmFFoonnttLLiissttAAdddd((33XX)), XXmmFFoonnttLLiissttAAppppeennddEEnnttrryy((33XX)), XXmmFFoonnttLLiissttCCooppyy((33XX)),
     XXmmFFoonnttLLiissttCCrreeaattee((33XX)), XXmmFFoonnttLLiissttEEnnttrryyCCrreeaattee((33XX)),
     XXmmFFoonnttLLiissttEEnnttrryyFFrreeee((33XX)), XXmmFFoonnttLLiissttEEnnttrryyGGeettFFoonntt((33XX)),
     XXmmFFoonnttLLiissttEEnnttrryyGGeettTTaagg((33XX)), XXmmFFoonnttLLiissttEEnnttrryyLLooaadd((33XX)), XXmmFFoonnttLLiissttFFrreeee((33XX)),
     XXmmFFoonnttLLiissttFFrreeeeFFoonnttCCoonntteexxtt((33XX)), XXmmFFoonnttLLiissttIInniittFFoonnttCCoonntteexxtt((33XX)),
     XXmmFFoonnttLLiissttNNeexxttEEnnttrryy((33XX)), XXmmFFoonnttLLiissttRReemmoovveeEEnnttrryy((33XX)), and XXmmSSttrriinngg((33XX)).

































   2-278






                                                            XmFontListAdd(3X)



   NAME
     XXmmFFoonnttLLiissttAAdddd-A font list function that creates a new font list

   AES SUPPORT LEVEL
     Trial-use

   HISTORY/DIRECTION
     XXmmFFoonnttLLiissttAAdddd is scheduled for removal in revision D.

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     XXmmFFoonnttLLiisstt XXmmFFoonnttLLiissttAAdddd ((_o_l_d_l_i_s_t, _f_o_n_t, _c_h_a_r_s_e_t))
          XXmmFFoonnttLLiisstt  _o_l_d_l_i_s_t;;
          XXFFoonnttSSttrruucctt *_f_o_n_t;;
          XXmmSSttrriinnggCChhaarrSSeett_c_h_a_r_s_e_t;;

   DESCRIPTION
     XXmmFFoonnttLLiissttAAdddd creates a new font list consisting of the contents of the
     _o_l_d_l_i_s_t and the new font-list element being added.  This function deal-
     locates the _o_l_d_l_i_s_t after extracting the required information; there-
     fore, do not reference _o_l_d_l_i_s_t thereafter.

     NNoottee:: This function is obsolete and exists for compatibility with previ-
     ous releases.  It has been replaced by XXmmFFoonnttLLiissttAAppppeennddEEnnttrryy.

     _o_l_d_l_i_s_tSpecifies a pointer to the font list to which an entry will be
            added.

     _f_o_n_t   Specifies a pointer to a font structure for which the new font
            list is generated.  This is the structure returned by the XLib
            XXLLooaaddQQuueerryyFFoonntt function.

     _c_h_a_r_s_e_tSpecifies the character set identifier for the font.

   RETURN VALUE
     Returns NULL if _o_l_d_l_i_s_t is NULL; returns _o_l_d_l_i_s_t if _f_o_n_t or _c_h_a_r_s_e_t is
     NULL; otherwise, returns a new font list.

   RELATED INFORMATION
     XXmmFFoonnttLLiisstt((33XX)) and XXmmFFoonnttLLiissttAAppppeennddEEnnttrryy((33XX)).















   2-279






   XmFontListAppendEntry(3X)



   NAME
     XXmmFFoonnttLLiissttAAppppeennddEEnnttrryy-A font list function that appends an entry to a
     font list

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     XXmmFFoonnttLLiisstt XXmmFFoonnttLLiissttAAppppeennddEEnnttrryy ((_o_l_d_l_i_s_t, _e_n_t_r_y))
          XXmmFFoonnttLLiisstt  _o_l_d_l_i_s_t;;
          XXmmFFoonnttLLiissttEEnnttrryy_e_n_t_r_y;;

   DESCRIPTION
     XXmmFFoonnttLLiissttAAppppeennddEEnnttrryy creates a new font list that contains the contents
     of _o_l_d_l_i_s_t.  This function copies the contents of the font list entry
     being added into this new font list.  If _o_l_d_l_i_s_t is NULL, XXmmFFoonnttLLiissttAApp--
     ppeennddEEnnttrryy creates a new font list containing only the single entry
     specified.

     This function deallocates the original font list after extracting the
     required information.  The caller must free the font list entry by using
     XXmmFFoonnttLLiissttEEnnttrryyFFrreeee.

     _o_l_d_l_i_s_tSpecifies the font list to be added to

     _e_n_t_r_y  Specifies the font list entry to be added

   RETURN VALUE
     If _e_n_t_r_y is NULL, returns _o_l_d_l_i_s_t; otherwise, returns a new font list.

   RELATED INFORMATION
     XXmmFFoonnttLLiisstt((33XX)), XXmmFFoonnttLLiissttEEnnttrryyCCrreeaattee((33XX)), XXmmFFoonnttLLiissttEEnnttrryyFFrreeee((33XX)),
     XXmmFFoonnttLLiissttEEnnttrryyLLooaadd((33XX)), XXmmFFoonnttLLiissttFFrreeee((33XX)), and
     XXmmFFoonnttLLiissttRReemmoovveeEEnnttrryy((33XX))..




















   2-280






                                                           XmFontListCopy(3X)



   NAME
     XXmmFFoonnttLLiissttCCooppyy-A font list function that copies a font list

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     XXmmFFoonnttLLiisstt XXmmFFoonnttLLiissttCCooppyy ((_f_o_n_t_l_i_s_t))
          XXmmFFoonnttLLiisstt  _f_o_n_t_l_i_s_t;;

   DESCRIPTION
     XXmmFFoonnttLLiissttCCooppyy creates a new font list consisting of the contents of the
     _f_o_n_t_l_i_s_t argument.

     _f_o_n_t_l_i_s_t
            Specifies a font list to be copied

   RETURN VALUE
     Returns NULL if _f_o_n_t_l_i_s_t is NULL; otherwise, returns a new font list.

   RELATED INFORMATION
     XXmmFFoonnttLLiisstt((33XX)) and XXmmFFoonnttLLiissttFFrreeee((33XX))..
































   2-281






   XmFontListCreate(3X)



   NAME
     XXmmFFoonnttLLiissttCCrreeaattee-A font list function that creates a font list

   AES SUPPORT LEVEL
     Trial-use

   HISTORY/DIRECTION
     XXmmFFoonnttLLiissttCCrreeaattee is scheduled for removal in revision D.

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     XXmmFFoonnttLLiisstt XXmmFFoonnttLLiissttCCrreeaattee ((_f_o_n_t, _c_h_a_r_s_e_t))
          XXFFoonnttSSttrruucctt * _f_o_n_t;;
          XXmmSSttrriinnggCChhaarrSSeett_c_h_a_r_s_e_t;;

   DESCRIPTION
     XXmmFFoonnttLLiissttCCrreeaattee creates a new font list with a single element specified
     by the provided font and character set.  It also allocates the space for
     the font list.

     NNoottee:: This function is obsolete and exists for compatibility with previ-
     ous releases.  It is replaced by XXmmFFoonnttLLiissttAAppppeennddEEnnttrryy.

     _f_o_n_t   Specifies a pointer to a font structure for which the new font
            list is generated.  This is the structure returned by the XLib
            XXLLooaaddQQuueerryyFFoonntt function.

     _c_h_a_r_s_e_tSpecifies the character set identifier for the font.

   RETURN VALUE
     Returns NULL if _f_o_n_t or _c_h_a_r_s_e_t is NULL; otherwise, returns a new font
     list.

   RELATED INFORMATION
     XXmmFFoonnttLLiisstt((33XX)) and XXmmFFoonnttLLiissttAAppppeennddEEnnttrryy((33XX)).




















   2-282






                                                    XmFontListEntryCreate(3X)



   NAME
     XXmmFFoonnttLLiissttEEnnttrryyCCrreeaattee-A font list function that creates a font list
     entry

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     XXmmFFoonnttLLiissttEEnnttrryy XXmmFFoonnttLLiissttEEnnttrryyCCrreeaattee ((_t_a_g, _t_y_p_e, _f_o_n_t))
          cchhaarr      **_t_a_g;;
          XXmmFFoonnttTTyyppee_t_y_p_e;;
          XXttPPooiinntteerr _f_o_n_t;;

   DESCRIPTION
     XXmmFFoonnttLLiissttEEnnttrryyCCrreeaattee creates a font list entry that contains either a
     font or font set and is identified by a tag.

     _t_a_g    Specifies a NULL terminated string for the tag of the font list
            entry.  The tag may be specified as XXmmFFOONNTTLLIISSTT__DDEEFFAAUULLTT__TTAAGG, which
            is used to identify the default font list element in a font list.

     _t_y_p_e   Specifies whether the _f_o_n_t argument is a font structure or a font
            set.  Valid values are XXmmFFOONNTT__IISS__FFOONNTT and XXmmFFOONNTT__IISS__FFOONNTTSSEETT.

     _f_o_n_t   Specifies either an XXFFoonnttSSeett returned by XXCCrreeaatteeFFoonnttSSeett or a
            pointer to an XXFFoonnttSSttrruucctt returned by XXLLooaaddQQuueerryyFFoonntt.

     The toolkit does not copy the X Font structure specified by the _f_o_n_t
     argument.  Therefore, an application programmer must not free
     XXFFoonnttSSttrruucctt or XXFFoonnttSSeett until all font lists and/or font entries that
     reference it have been freed.

   RETURN VALUE
     Returns a font list entry.

   RELATED INFORMATION
     XXmmFFoonnttLLiisstt((33XX)), XXmmFFoonnttLLiissttAAppppeennddEEnnttrryy((33XX)), XXmmFFoonnttLLiissttEEnnttrryyFFrreeee((33XX)),
     XXmmFFoonnttLLiissttEEnnttrryyGGeettFFoonntt((33XX)), XXmmFFoonnttLLiissttEEnnttrryyGGeettTTaagg((33XX)),
     XXmmFFoonnttLLiissttEEnnttrryyLLooaadd((33XX)), and XXmmFFoonnttLLiissttRReemmoovveeEEnnttrryy((33XX)).















   2-283






   XmFontListEntryFree(3X)



   NAME
     XXmmFFoonnttLLiissttEEnnttrryyFFrreeee-A font list function that recovers memory used by a
     font list entry

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     vvooiidd XXmmFFoonnttLLiissttEEnnttrryyFFrreeee ((_e_n_t_r_y))
          XXmmFFoonnttLLiissttEEnnttrryy**_e_n_t_r_y;;

   DESCRIPTION
     XXmmFFoonnttLLiissttEEnnttrryyFFrreeee recovers memory used by a font list entry.  This
     routine does not free the XXFFoonnttSSeett or XXFFoonnttSSttrruucctt associated with the
     font list entry.

     _e_n_t_r_y  Specifies the font list entry to be freed

   RELATED INFORMATION
     XXmmFFoonnttLLiisstt((33XX)), XXmmFFoonnttLLiissttAAppppeennddEEnnttrryy((33XX)), XXmmFFoonnttLLiissttEEnnttrryyCCrreeaattee((33XX)),
     XXmmFFoonnttLLiissttEEnnttrryyLLooaadd((33XX)), XXmmFFoonnttLLiissttNNeexxttEEnnttrryy((33XX)), and
     XXmmFFoonnttLLiissttRReemmoovveeEEnnttrryy((33XX)).
































   2-284






                                                   XmFontListEntryGetFont(3X)



   NAME
     XXmmFFoonnttLLiissttEEnnttrryyGGeettFFoonntt-A font list function that retrieves font informa-
     tion from a font list entry

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     XXttPPooiinntteerr XXmmFFoonnttLLiissttEEnnttrryyGGeettFFoonntt ((_e_n_t_r_y, _t_y_p_e__r_e_t_u_r_n))
          XXmmFFoonnttLLiissttEEnnttrryy_e_n_t_r_y;;
          XXmmFFoonnttTTyyppee  **_t_y_p_e__r_e_t_u_r_n;;

   DESCRIPTION
     XXmmFFoonnttLLiissttEEnnttrryyGGeettFFoonntt retrieves font information for a specified font
     list entry.  If the font list entry contains a font, _t_y_p_e__r_e_t_u_r_n returns
     XXmmFFOONNTT__IISS__FFOONNTT and the function returns a pointer to an XXFFoonnttSSttrruucctt.  If
     the font list entry contains a font set, _t_y_p_e__r_e_t_u_r_n returns
     XXmmFFOONNTT__IISS__FFOONNTTSSEETT and the function returns the XXFFoonnttSSeett.

     _e_n_t_r_y  Specifies the font list entry.

     _t_y_p_e__r_e_t_u_r_n
            Specifies a pointer to the type of the font element for the
            current entry.  Valid values are XXmmFFOONNTT__IISS__FFOONNTT and
            XXmmFFOONNTT__IISS__FFOONNTTSSEETT.

     The returned XXFFoonnttSSeett or XXFFoonnttSSttrruucctt is not a copy of the toolkit data
     and must not be freed.

   RETURN VALUE
     Returns an XXFFoonnttSSeett or a pointer to an XXFFoonnttSSttrruucctt structure.

   RELATED INFORMATION
     XXmmFFoonnttLLiisstt((33XX)), XXmmFFoonnttLLiissttEEnnttrryyCCrreeaattee((33XX)), XXmmFFoonnttLLiissttEEnnttrryyGGeettTTaagg((33XX))
     XXmmFFoonnttLLiissttEEnnttrryyLLooaadd((33XX)), and XXmmFFoonnttLLiissttNNeexxttEEnnttrryy((33XX)).



















   2-285






   XmFontListEntryGetTag(3X)



   NAME
     XXmmFFoonnttLLiissttEEnnttrryyGGeettTTaagg-A font list function that retrieves the tag of a
     font list entry

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     cchhaarr** XXmmFFoonnttLLiissttEEnnttrryyGGeettTTaagg ((_e_n_t_r_y))
          XXmmFFoonnttLLiissttEEnnttrryy_e_n_t_r_y;;

   DESCRIPTION
     XXmmFFoonnttLLiissttEEnnttrryyGGeettTTaagg retrieves a copy of the tag of the specified font
     list entry.  This routine allocates memory for the tag string that must
     be freed by the application.

     _e_n_t_r_y  Specifies the font list entry

   RETURN VALUE
     Returns the tag for the font list entry.

   RELATED INFORMATION
     XXmmFFoonnttLLiisstt((33XX)), XXmmFFoonnttLLiissttEEnnttrryyCCrreeaattee((33XX)), XXmmFFoonnttLLiissttEEnnttrryyGGeettFFoonntt((33XX)),
     XXmmFFoonnttLLiissttEEnnttrryyLLooaadd((33XX)), and XXmmFFoonnttLLiissttNNeexxttEEnnttrryy((33XX)).






























   2-286






                                                      XmFontListEntryLoad(3X)



   NAME
     XXmmFFoonnttLLiissttEEnnttrryyLLooaadd-A font list function that loads a font or creates a
     font set and creates an accompanying font list entry

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     XXmmFFoonnttLLiissttEEnnttrryy XXmmFFoonnttLLiissttEEnnttrryyLLooaadd ((_d_i_s_p_l_a_y, _f_o_n_t__n_a_m_e, _t_y_p_e, _t_a_g))
          DDiissppllaayy   **_d_i_s_p_l_a_y;;
          cchhaarr      **_f_o_n_t__n_a_m_e;;
          XXmmFFoonnttTTyyppee_t_y_p_e;;
          cchhaarr      **_t_a_g;;

   DESCRIPTION
     XXmmFFoonnttLLiissttEEnnttrryyLLooaadd loads a font or creates a font set based on the
     value of the _t_y_p_e argument.  It creates and returns a font list entry
     that contains the font or font set and the specified tag.

     If the value of _t_y_p_e is XXmmFFOONNTT__IISS__FFOONNTT, the function uses the
     XXttCCvvttSSttrriinnggTTooFFoonnttSSttrruucctt routine to convert the value of _f_o_n_t__n_a_m_e to a
     font struct.  If the value of _t_y_p_e is XXmmFFOONNTT__IISS__FFOONNTTSSEETT, the function
     uses the XXttCCvvttSSttrriinnggTTooFFoonnttSSeett converter to create a font set in the
     current locale.  XXmmFFoonnttLLiissttEEnnttrryyLLooaadd creates a font list entry that con-
     tains the font or font set derived from the converter.  For more infor-
     mation about XXttCCvvttSSttrriinnggTTooFFoonnttSSttrruucctt and XXttCCvvttSSttrriinnggTTooFFoonnttSSeett, see _X
     _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s-_C _L_a_n_g_u_a_g_e _I_n_t_e_r_f_a_c_e.

     _d_i_s_p_l_a_ySpecifies the display where the font list will be used.

     _f_o_n_t__n_a_m_e
            Specifies an X Logical Font Description (XLFD) string, which is
            interpreted either as a font name or as a base font name list. A
            base font name list is a comma-separated and NULL-terminated
            string.

     _t_y_p_e   Specifies whether the _f_o_n_t__n_a_m_e argument refers to a font name or
            to a base font name list.  Valid values are XXmmFFOONNTT__IISS__FFOONNTT and
            XXmmFFOONNTT__IISS__FFOONNTTSSEETT.

     _t_a_g    Specifies the tag of the font list entry to be created.  The tag
            may be specified as XXmmFFOONNTTLLIISSTT__DDEEFFAAUULLTT__TTAAGG.
            XXmmFFOONNTTLLIISSTT__DDEEFFAAUULLTT__TTAAGG is used to identify the default font list
            element in a font list when specified as part of a resource.

   RETURN VALUE
     If the specified font is not found, or the specified font set can not be
     created, returns NULL; otherwise, returns a font list entry.






   2-287






   XmFontListEntryLoad(3X)


   RELATED INFORMATION
     XXmmFFoonnttLLiisstt((33XX)), XXmmFFoonnttLLiissttAAppppeennddEEnnttrryy((33XX)), XXmmFFoonnttLLiissttEEnnttrryyCCrreeaattee((33XX)),
     XXmmFFoonnttLLiissttEEnnttrryyFFrreeee((33XX)), XXmmFFoonnttLLiissttEEnnttrryyGGeettFFoonntt((33XX)),
     XXmmFFoonnttLLiissttEEnnttrryyGGeettTTaagg((33XX)), and XXmmFFoonnttLLiissttRReemmoovveeEEnnttrryy((33XX)).




















































   2-288






                                                           XmFontListFree(3X)



   NAME
     XXmmFFoonnttLLiissttFFrreeee-A font list function that recovers memory used by a font
     list

   AES SUPPORT LEVEL
     Full-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     vvooiidd XXmmFFoonnttLLiissttFFrreeee ((_l_i_s_t))
          XXmmFFoonnttLLiisstt_l_i_s_t;;

   DESCRIPTION
     XXmmFFoonnttLLiissttFFrreeee recovers memory used by a font list.  This routine does
     not free the XFontSet or XFontStruct associated with the specified font
     list.

     _l_i_s_t   Specifies the font list to be freed

   RELATED INFORMATION
     XXmmFFoonnttLLiisstt((33XX)), XXmmFFoonnttLLiissttAAppppeennddEEnnttrryy((33XX)), XXmmFFoonnttLLiissttCCooppyy((33XX)), and
     XXmmFFoonnttLLiissttRReemmoovveeEEnnttrryy((33XX)).

































   2-289






   XmFontListFreeFontContext(3X)



   NAME
     XXmmFFoonnttLLiissttFFrreeeeFFoonnttCCoonntteexxtt-A font list function that instructs the
     toolkit that the font list context is no longer needed

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     vvooiidd XXmmFFoonnttLLiissttFFrreeeeFFoonnttCCoonntteexxtt ((_c_o_n_t_e_x_t))
          XXmmFFoonnttCCoonntteexxtt_c_o_n_t_e_x_t;;

   DESCRIPTION
     XXmmFFoonnttLLiissttFFrreeeeFFoonnttCCoonntteexxtt instructs the toolkit that the context is no
     longer needed and will not be used without reinitialization.

     _c_o_n_t_e_x_tSpecifies the font list context structure that was allocated by
            the XXmmFFoonnttLLiissttIInniittFFoonnttCCoonntteexxtt function

   RELATED INFORMATION
     XXmmFFoonnttLLiissttIInniittFFoonnttCCoonntteexxtt((33XX)) and XXmmFFoonnttLLiissttNNeexxttEEnnttrryy((33XX)).


































   2-290






                                                XmFontListInitFontContext(3X)



   NAME
     XXmmFFoonnttLLiissttIInniittFFoonnttCCoonntteexxtt-A font list function that allows applications
     to access the entries in a font list

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     BBoooolleeaann XXmmFFoonnttLLiissttIInniittFFoonnttCCoonntteexxtt ((_c_o_n_t_e_x_t, _f_o_n_t_l_i_s_t))
          XXmmFFoonnttCCoonntteexxtt*_c_o_n_t_e_x_t;;
          XXmmFFoonnttLLiisstt  _f_o_n_t_l_i_s_t;;

   DESCRIPTION
     XXmmFFoonnttLLiissttIInniittFFoonnttCCoonntteexxtt establishes a context to allow applications to
     access the contents of a font list.  This context is used when reading
     the font list entry tag, font, or font set associated with each entry in
     the font list.  A Boolean status is returned to indicate whether or not
     the font list is valid.

     _c_o_n_t_e_x_tSpecifies a pointer to the allocated context

     _f_o_n_t_l_i_s_t
            Specifies the font list

   RETURN VALUE
     Returns True if the context was allocated; otherwise, returns False.

   RELATED INFORMATION
     XXmmFFoonnttLLiisstt((33XX)), XXmmFFoonnttLLiissttFFrreeeeFFoonnttCCoonntteexxtt((33XX)), and
     XXmmFFoonnttLLiissttNNeexxttEEnnttrryy((33XX)).
























   2-291






   XmFontListNextEntry(3X)



   NAME
     XXmmFFoonnttLLiissttNNeexxttEEnnttrryy-A font list function that returns the next entry in
     a font list

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     XXmmFFoonnttLLiissttEEnnttrryy XXmmFFoonnttLLiissttNNeexxttEEnnttrryy ((_c_o_n_t_e_x_t))
          XXmmFFoonnttCCoonntteexxtt_c_o_n_t_e_x_t;;

   DESCRIPTION
     XXmmFFoonnttLLiissttNNeexxttEEnnttrryy returns the next entry in the font list.  The appli-
     cation uses the XXmmFFoonnttLLiissttIInniittFFoonnttCCoonntteexxtt routine to create a font list
     context.  The first call to XXmmFFoonnttLLiissttNNeexxttEEnnttrryy sets the context to the
     first entry in the font list.  The application then calls XXmmFFoonnttLLiissttNNeexx--
     ttEEnnttrryy repeatedly with the same context.  Each succeeding call accesses
     the next entry of the font list.  When finished, the application calls
     XXmmFFoonnttLLiissttFFrreeeeFFoonnttCCoonntteexxtt to free the allocated font list context.

     _c_o_n_t_e_x_tSpecifies the font list context

   RETURN VALUE
     Returns NULL if the context does not refer to a valid entry or if it is
     at the end of the font list; otherwise, it returns a font list entry.

   RELATED INFORMATION
     XXmmFFoonnttLLiisstt((33XX)), XXmmFFoonnttLLiissttEEnnttrryyFFrreeee((33XX)), XXmmFFoonnttLLiissttEEnnttrryyGGeettFFoonntt((33XX)),
     XXmmFFoonnttLLiissttEEnnttrryyGGeettTTaagg((33XX)), XXmmFFoonnttLLiissttFFrreeeeFFoonnttCCoonntteexxtt((33XX)), and
     XXmmFFoonnttLLiissttIInniittFFoonnttCCoonntteexxtt((33XX)).
























   2-292






                                                    XmFontListRemoveEntry(3X)



   NAME
     XXmmFFoonnttLLiissttRReemmoovveeEEnnttrryy-A font list function that removes a font list
     entry from a font list

   AES SUPPORT LEVEL
     Trial-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//XXmm..hh>>
     XXmmFFoonnttLLiisstt XXmmFFoonnttLLiissttRReemmoovveeEEnnttrryy ((_o_l_d_l_i_s_t, _e_n_t_r_y))
          XXmmFFoonnttLLiisstt  _o_l_d_l_i_s_t;;
          XXmmFFoonnttLLiissttEEnnttrryy_e_n_t_r_y;;

   DESCRIPTION
     XXmmFFoonnttLLiissttRReemmoovveeEEnnttrryy creates a new font list that contains the contents
     of _o_l_d_l_i_s_t minus those entries specified in _e_n_t_r_y.  The routine removes
     any entries from _o_l_d_l_i_s_t that match the components (tag, type font/font
     set) of the specified entry.  The function deallocates the original font
     list after extracting the required information.  The caller uses
     XXmmFFoonnttLLiissttEEnnttrryyFFrreeee to recover memory allocated for the specified entry.
     This routine does not free the XXFFoonnttSSeett or XXFFoonnttSSttrruucctt associated with
     the font list entry that is removed.

     _o_l_d_l_i_s_tSpecifies the font list

     _e_n_t_r_y  Specifies the font list entry to be removed

   RETURN VALUE
     If _o_l_d_l_i_s_t is NULL, the function returns NULL.  If _e_n_t_r_y is NULL or no
     entries are removed,  the  function returns _o_l_d_l_i_s_t.  Otherwise, it
     returns a new font list.

   RELATED INFORMATION
     XXmmFFoonnttLLiisstt((33XX)), XXmmFFoonnttLLiissttAAppppeennddEEnnttrryy((33XX)), XXmmFFoonnttLLiissttEEnnttrryyCCrreeaattee((33XX)),
     XXmmFFoonnttLLiissttEEnnttrryyFFrreeee((33XX)), XXmmFFoonnttLLiissttEEnnttrryyLLooaadd((33XX)), and
     XXmmFFoonnttLLiissttFFrreeee((33XX)).



















   2-293






   XmForm(3X)



   NAME
     XXmmFFoorrmm-The Form widget class

   AES SUPPORT LEVEL
     Full-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//FFoorrmm..hh>>

   DESCRIPTION
     Form is a container widget with no input semantics of its own.  Con-
     straints are placed on children of the Form to define attachments for
     each of the child's four sides.  These attachments can be to the Form,
     to another child widget or gadget, to a relative position within the
     Form, or to the initial position of the child.  The attachments deter-
     mine the layout behavior of the Form when resizing occurs.  Following
     are some important considerations in using a Form:

       ++oo  Every child must have an attachment on either the left or the
          right.  If initialization or XXttSSeettVVaalluueess leaves a widget without
          such an attachment, the result depends upon the value of XXmmNNrruubbbbeerr--
          PPoossiittiioonniinngg.
          If XXmmNNrruubbbbeerrPPoossiittiioonniinngg is False, the child is given an XXmmNNlleeffttAAtt--
          ttaacchhmmeenntt of XXmmAATTTTAACCHH__FFOORRMM and an XXmmNNlleeffttOOffffsseett equal to its current
          _x value.
          If XXmmNNrruubbbbeerrPPoossiittiioonniinngg is True, the child is given an XXmmNNlleeffttAAtt--
          ttaacchhmmeenntt of XXmmAATTTTAACCHH__PPOOSSIITTIIOONN and an XXmmNNlleeffttPPoossiittiioonn proportional
          to the current _x value divided by the width of the Form.
          In either case, if the child has not been previously given an _x
          value, its _x value is taken to be 0, which places the child at the
          left side of the Form.

       ++oo  If you want to create a child without any attachments, and then
          later (e.g., after creating and managing it, but before realizing
          it) give it a right attachment via XXttSSeettVVaalluueess, you must set its
          XXmmNNlleeffttAAttttaacchhmmeenntt to XXmmAATTTTAACCHH__NNOONNEE at the same time.

       ++oo  The XXmmNNrreessiizzaabbllee resource controls only whether a geometry request
          by the child will be granted.  It has no effect on whether the
          child's size can be changed because of changes in geometry of the
          Form or of other children.

       ++oo  Every child has a preferred width, based on geometry requests it
          makes (whether they are granted or not).

       ++oo  If a child has attachments on both the left and the right sides,
          its size is completely controlled by the Form.  It can be shrunk
          below its preferred width or enlarged above it, if necessary, due
          to other constraints.  In addition, the child's geometry requests
          to change its own width may be refused.

       ++oo  If a child has attachments on only its left or right side, it will
          always be at its preferred width (if resizable, otherwise at is


   2-294






                                                                   XmForm(3X)


          current width).  This may cause it to be clipped by the Form or by
          other children.

       ++oo  If a child's left (or right) attachment is set to XXmmAATTTTAACCHH__SSEELLFF,
          its corresponding left (or right) offset is forced to 0.  The
          attachment is then changed to XXmmAATTTTAACCHH__PPOOSSIITTIIOONN, with a position
          that corresponds to _x value of the child's left (or right) edge.
          To fix the position of a side at a specific _x value use
          XXmmAATTTTAACCHH__FFOORRMM or XXmmAATTTTAACCHH__OOPPPPOOSSIITTEE__FFOORRMM with the _x value as the
          left (or right) offset.

       ++oo  Unmapping a child has no effect on the Form except that the child
          is not mapped.

       ++oo  Unmanaging a child unmaps it.  If no other child is attached to it,
          or if all children attached to it and all children recursively
          attached to them are also all unmanaged, all of those children are
          treated as if they did not exist in determining the size of the
          Form.

       ++oo  When using XXttSSeettVVaalluueess to change the XXmmNNxx resource of a child, you
          must simultaneously set its left attachment to either XXmmAATTTTAACCHH__SSEELLFF
          or XXmmAATTTTAACCHH__NNOONNEE.  Otherwise, the request is not granted.  If
          XXmmNNrreessiizzaabbllee is False, the request is granted only if the child's
          size can remain the same.

       ++oo  A left (or right) attachment of XXmmAATTTTAACCHH__WWIIDDGGEETT, where
          XXmmNNlleeffttWWiiddggeett (or XXmmNNrriigghhttWWiiddggeett) is NULL, acts like an attachment
          of XXmmAATTTTAACCHH__FFOORRMM.

       ++oo  If an attachment is made to a widget that is not a child of the
          Form, but an ancestor of the widget is a child of the Form, the
          attachment is made to the ancestor.

     All these considerations are true of top and bottom attachments as well,
     with top acting like left, bottom acting like right, _y acting like _x,
     and height acting like width.



















   2-295






   XmForm(3X)



     Classes

     Form 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,
     XXmmMMaannaaggeerr, and XXmmBBuulllleettiinnBBooaarrdd classes.

     The class pointer is xxmmFFoorrmmWWiiddggeettCCllaassss.

     The class name is XXmmFFoorrmm.

     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mFFoorrmm 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
    __________________________________________________________________________
    XmNfractionBase        XmCMaxValue            int         100       CSG
    XmNhorizontalSpacing   XmCSpacing             Dimension   0         CSG
    XmNrubberPositioning   XmCRubberPositioning   Boolean     False     CSG
    XmNverticalSpacing     XmCSpacing             Dimension   0         CSG

     XXmmNNffrraaccttiioonnBBaassee
               Specifies the denominator used in calculating the relative
               position of a child widget using XXmmAATTTTAACCHH__PPOOSSIITTIIOONN con-
               straints.  The value must not be 0.
               If the value of a child's XXmmNNlleeffttAAttttaacchhmmeenntt (or XXmmNNrriigghhttAAtt--
               ttaacchhmmeenntt) is XXmmAATTTTAACCHH__PPOOSSIITTIIOONN, the position of the left (or
               right) side of the child is relative to the left side of the
               Form and is a fraction of the width of the Form.  This frac-
               tion is the value of the child's XXmmNNlleeffttPPoossiittiioonn (or XXmmNNrriigghhtt--
               PPoossiittiioonn) resource divided by the value of the Form's XXmmNNffrraacc--
               ttiioonnBBaassee.
               If the value of a child's XXmmNNttooppAAttttaacchhmmeenntt (or XXmmNNbboottttoommAAtt--
               ttaacchhmmeenntt) is XXmmAATTTTAACCHH__PPOOSSIITTIIOONN, the position of the top (or
               bottom) side of the child is relative to the top side of the
               Form and is a fraction of the height of the Form.  This frac-
               tion is the value of the child's XXmmNNttooppPPoossiittiioonn (or XXmmNNbboottttoomm--
               PPoossiittiioonn) resource divided by the value of the Form's XXmmNNffrraacc--
               ttiioonnBBaassee.

     XXmmNNhhoorriizzoonnttaallSSppaacciinngg
               Specifies the offset for right and left attachments.  This
               resource is only used if no offset resource is specified (when
               attaching to a widget), or if no margin resource is specified


   2-296






                                                                   XmForm(3X)


               (when attaching to the Form).

     XXmmNNrruubbbbeerrPPoossiittiioonniinngg
               Indicates the default near (left) and top attachments for a
               child of the Form.  (NNoottee::  Whether this resource actually
               applies to the left or right side of the child and its attach-
               ment 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.)
               The default left attachment is applied whenever initialization
               or XXttSSeettVVaalluueess leaves the child without either a left or right
               attachment.  The default top attachment is applied whenever
               initialization or XXttSSeettVVaalluueess leaves the child without either
               a top or bottom attachment.  If this Boolean resource is set
               to False, XXmmNNlleeffttAAttttaacchhmmeenntt and XXmmNNttooppAAttttaacchhmmeenntt default to
               XXmmAATTTTAACCHH__FFOORRMM, XXmmNNlleeffttOOffffsseett defaults to the current _x value
               of the left side of the child, and XXmmNNttooppOOffffsseett defaults to
               the current _y value of the child.  The effect is to position
               the child according to its absolute distance from the left or
               top side of the Form.
               If this resource is set to True, XXmmNNlleeffttAAttttaacchhmmeenntt and XXmmNNttoo--
               ppAAttttaacchhmmeenntt default to XXmmAATTTTAACCHH__PPOOSSIITTIIOONN, XXmmNNlleeffttPPoossiittiioonn
               defaults to a value proportional to the current _x value of the
               left side of the child divided by the width of the Form, and
               XXmmNNttooppPPoossiittiioonn defaults to a value proportional to the current
               _y value of the child divided by the height of the Form.  The
               effect is to position the child relative to the left or top
               side of the Form and in proportion to the width or height of
               the Form.

     XXmmNNvveerrttiiccaallSSppaacciinngg
               Specifies the offset for top and bottom attachments.  This
               resource is only used if no offset resource is specified (when
               attaching to a widget), or if no margin resource is specified
               (when attaching to the Form).
                               XXmmFFoorrmm 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
        ____________________________________________________________________________
        XmNbottomAttachment   XmCAttachment   unsigned char   XmATTACH_NONE   CSG
        XmNbottomOffset       XmCOffset       int             0               CSG
        XmNbottomPosition     XmCAttachment   int             0               CSG
        XmNbottomWidget       XmCWidget       Widget          NULL            CSG
        XmNleftAttachment     XmCAttachment   unsigned char   XmATTACH_NONE   CSG
        XmNleftOffset         XmCOffset       int             0               CSG
        XmNleftPosition       XmCAttachment   int             0               CSG
        XmNleftWidget         XmCWidget       Widget          NULL            CSG
        XmNresizable          XmCBoolean      Boolean         True            CSG
        XmNrightAttachment    XmCAttachment   unsigned char   XmATTACH_NONE   CSG
        XmNrightOffset        XmCOffset       int             0               CSG
        XmNrightPosition      XmCAttachment   int             0               CSG
        XmNrightWidget        XmCWidget       Widget          NULL            CSG
        XmNtopAttachment      XmCAttachment   unsigned char   XmATTACH_NONE   CSG
        XmNtopOffset          XmCOffset       int             0               CSG
        XmNtopPosition        XmCAttachment   int             0               CSG
        XmNtopWidget          XmCWidget       Widget          NULL            CSG


   2-297






   XmForm(3X)



     XXmmNNbboottttoommAAttttaacchhmmeenntt
               Specifies attachment of the bottom side of the child.  It can
               have the following values:

                 ++oo  XXmmAATTTTAACCHH__NNOONNEE-Do not attach the bottom side of the child.

                 ++oo  XXmmAATTTTAACCHH__FFOORRMM-Attach the bottom side of the child to the
                    bottom side of the Form.

                 ++oo  XXmmAATTTTAACCHH__OOPPPPOOSSIITTEE__FFOORRMM-Attach the bottom side of the
                    child to the top side of the Form.  XXmmNNbboottttoommOOffffsseett can
                    be used to determine the visibility of the child.

                 ++oo  XXmmAATTTTAACCHH__WWIIDDGGEETT-Attach the bottom side of the child to
                    the top side of the widget or gadget specified in the
                    XXmmNNbboottttoommWWiiddggeett resource.  If XXmmNNbboottttoommWWiiddggeett is NULL,
                    XXmmAATTTTAACCHH__WWIIDDGGEETT is replaced by XXmmAATTTTAACCHH__FFOORRMM, and the
                    child is attached to the bottom side of the Form.

                 ++oo  XXmmAATTTTAACCHH__OOPPPPOOSSIITTEE__WWIIDDGGEETT-Attach the bottom side of the
                    child to the bottom side of the widget or gadget speci-
                    fied in the XXmmNNbboottttoommWWiiddggeett resource.

                 ++oo  XXmmAATTTTAACCHH__PPOOSSIITTIIOONN-Attach the bottom side of the child to
                    a position that is relative to the top side of the Form
                    and in proportion to the height of the Form.  This posi-
                    tion is determined by the XXmmNNbboottttoommPPoossiittiioonn and XXmmNNffrraacc--
                    ttiioonnBBaassee resources.

                 ++oo  XXmmAATTTTAACCHH__SSEELLFF-Attach the bottom side of the child to a
                    position that is proportional to the current _y value of
                    the bottom of the child divided by the height of the
                    Form.  This position is determined by the XXmmNNbboottttoommPPoossii--
                    ttiioonn and XXmmNNffrraaccttiioonnBBaassee resources.  XXmmNNbboottttoommPPoossiittiioonn is
                    set to a value proportional to the current _y value of the
                    bottom of the child divided by the height of the Form.

     XXmmNNbboottttoommOOffffsseett
               Specifies the constant offset between the bottom side of the
               child and the object to which it is attached.  The effect of a
               nonzero value for this resource is undefined if XXmmNNbboottttoommAAtt--
               ttaacchhmmeenntt is set to XXmmAATTTTAACCHH__PPOOSSIITTIIOONN.  The relationship esta-
               blished remains, regardless of any resizing operations that
               occur.  When this resource is explicitly set, the value of
               XXmmNNvveerrttiiccaallSSppaacciinngg is ignored.

     XXmmNNbboottttoommPPoossiittiioonn
               This resource is used to determine the position of the bottom
               side of the child when the child's XXmmNNbboottttoommAAttttaacchhmmeenntt is set
               to XXmmAATTTTAACCHH__PPOOSSIITTIIOONN.  In this case the position of the bottom
               side of the child is relative to the top side of the Form and
               is a fraction of the height of the Form.  This fraction is the
               value of the child's XXmmNNbboottttoommPPoossiittiioonn resource divided by the


   2-298






                                                                   XmForm(3X)


               value of the Form's XXmmNNffrraaccttiioonnBBaassee.  For example, if the
               child's XXmmNNbboottttoommPPoossiittiioonn is 50, the Form's XXmmNNffrraaccttiioonnBBaassee is
               100, and the Form's height is 200, the position of the bottom
               side of the child is 100.

     XXmmNNbboottttoommWWiiddggeett
               Specifies the widget or gadget to which the bottom side of the
               child is attached.  This resource is used if XXmmNNbboottttoommAAttttaacchh--
               mmeenntt is set to either XXmmAATTTTAACCHH__WWIIDDGGEETT or
               XXmmAATTTTAACCHH__OOPPPPOOSSIITTEE__WWIIDDGGEETT.

     XXmmNNlleeffttAAttttaacchhmmeenntt
               Specifies attachment of the near (left) side of the child.
               (NNoottee::  Whether this resource actually applies to the left or
               right side of the child and its attachment 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.)  It can have the
               following values:

                 ++oo  XXmmAATTTTAACCHH__NNOONNEE-Do not attach the left side of the child.
                    If XXmmNNrriigghhttAAttttaacchhmmeenntt is also XXmmAATTTTAACCHH__NNOONNEE, this value
                    is ignored and the child is given a default left attach-
                    ment.

                 ++oo  XXmmAATTTTAACCHH__FFOORRMM-Attach the left side of the child to the
                    left side of the Form.

                 ++oo  XXmmAATTTTAACCHH__OOPPPPOOSSIITTEE__FFOORRMM-Attach the left side of the child
                    to the right side of the Form.  XXmmNNlleeffttOOffffsseett can be used
                    to determine the visibility of the child.

                 ++oo  XXmmAATTTTAACCHH__WWIIDDGGEETT-Attach the left side of the child to the
                    right side of the widget or gadget specified in the
                    XXmmNNlleeffttWWiiddggeett resource.  If XXmmNNlleeffttWWiiddggeett is NULL,
                    XXmmAATTTTAACCHH__WWIIDDGGEETT is replaced by XXmmAATTTTAACCHH__FFOORRMM, and the
                    child is attached to the left side of the Form.

                 ++oo  XXmmAATTTTAACCHH__OOPPPPOOSSIITTEE__WWIIDDGGEETT-Attach the left side of the
                    child to the left side of the widget or gadget specified
                    in the XXmmNNlleeffttWWiiddggeett resource.

















   2-299






   XmForm(3X)



                 ++oo  XXmmAATTTTAACCHH__PPOOSSIITTIIOONN-Attach the left side of the child to a
                    position that is relative to the left side of the Form
                    and in proportion to the width of the Form.  This posi-
                    tion is determined by the XXmmNNlleeffttPPoossiittiioonn and XXmmNNffrraacc--
                    ttiioonnBBaassee resources.

                 ++oo  XXmmAATTTTAACCHH__SSEELLFF-Attach the left side of the child to a
                    position that is proportional to the current _x value of
                    the left side of the child divided by the width of the
                    Form.  This position is determined by the XXmmNNlleeffttPPoossiittiioonn
                    and XXmmNNffrraaccttiioonnBBaassee resources.  XXmmNNlleeffttPPoossiittiioonn is set to
                    a value proportional to the current _x value of the left
                    side of the child divided by the width of the Form.

     XXmmNNlleeffttOOffffsseett
               Specifies the constant offset between the near (left) side of
               the child and the object to which it is attached.  (NNoottee::
               Whether this resource actually applies to the left or right
               side of the child and its attachment 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.)  The effect of a nonzero
               value for this resource is undefined if XXmmNNlleeffttAAttttaacchhmmeenntt is
               set to XXmmAATTTTAACCHH__PPOOSSIITTIIOONN.  The relationship established
               remains, regardless of any resizing operations that occur.
               When this resource is explicitly set, the value of XXmmNNhhoorriizzoonn--
               ttaallSSppaacciinngg is ignored.

     XXmmNNlleeffttPPoossiittiioonn
               This resource is used to determine the position of the near
               (left) side of the child when the child's XXmmNNlleeffttAAttttaacchhmmeenntt is
               set to XXmmAATTTTAACCHH__PPOOSSIITTIIOONN.  (NNoottee::  Whether this resource actu-
               ally applies to the left or right side of the child and its
               attachment 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.)
               In this case the position of the left side of the child is
               relative to the left side of the Form and is a fraction of the
               width of the Form.  This fraction is the value of the child's
               XXmmNNlleeffttPPoossiittiioonn resource divided by the value of the Form's
               XXmmNNffrraaccttiioonnBBaassee.  For example, if the child's XXmmNNlleeffttPPoossiittiioonn
               is 50, the Form's XXmmNNffrraaccttiioonnBBaassee is 100, and the Form's width
               is 200, the position of the left side of the child is 100.















   2-300






                                                                   XmForm(3X)



     XXmmNNlleeffttWWiiddggeett
               Specifies the widget or gadget to which the near (left) side
               of the child is attached.  (NNoottee::  Whether this resource actu-
               ally applies to the left or right side of the child and its
               attachment 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.)  This resource is used if XXmmNNlleeffttAAttttaacchhmmeenntt is set
               to either XXmmAATTTTAACCHH__WWIIDDGGEETT or XXmmAATTTTAACCHH__OOPPPPOOSSIITTEE__WWIIDDGGEETT.

     XXmmNNrreessiizzaabbllee
               This Boolean resource specifies whether or not a child's
               request for a new size is (conditionally) granted by the Form.
               If this resource is set to True the request is granted if pos-
               sible.  If this resource is set to False the request is always
               refused.
               If a child has both left and right attachments, its width is
               completely controlled by the Form, regardless of the value of
               the child's XXmmNNrreessiizzaabbllee resource.  If a child has a left or
               right attachment but not both, the child's XXmmNNwwiiddtthh is used in
               setting its width if the value of the child's XXmmNNrreessiizzaabbllee
               resource is True.  These conditions are also true for top and
               bottom attachments, with height acting like width.

     XXmmNNrriigghhttAAttttaacchhmmeenntt
               Specifies attachment of the far (right) side of the child.
               (NNoottee::  Whether this resource actually applies to the left or
               right side of the child and its attachment 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.)  It can have the
               following values:

                 ++oo  XXmmAATTTTAACCHH__NNOONNEE-Do not attach the right side of the child.

                 ++oo  XXmmAATTTTAACCHH__FFOORRMM-Attach the right side of the child to the
                    right side of the Form.

                 ++oo  XXmmAATTTTAACCHH__OOPPPPOOSSIITTEE__FFOORRMM-Attach the right side of the child
                    to the left side of the Form.  XXmmNNrriigghhttOOffffsseett can be used
                    to determine the visibility of the child.


















   2-301






   XmForm(3X)



                 ++oo  XXmmAATTTTAACCHH__WWIIDDGGEETT-Attach the right side of the child to the
                    left side of the widget or gadget specified in the
                    XXmmNNrriigghhttWWiiddggeett resource.  If XXmmNNrriigghhttWWiiddggeett is NULL,
                    XXmmAATTTTAACCHH__WWIIDDGGEETT is replaced by XXmmAATTTTAACCHH__FFOORRMM, and the
                    child is attached to the right side of the Form.

                 ++oo  XXmmAATTTTAACCHH__OOPPPPOOSSIITTEE__WWIIDDGGEETT-Attach the right side of the
                    child to the right side of the widget or gadget specified
                    in the XXmmNNrriigghhttWWiiddggeett resource.

                 ++oo  XXmmAATTTTAACCHH__PPOOSSIITTIIOONN-Attach the right side of the child to a
                    position that is relative to the left side of the Form
                    and in proportion to the width of the Form.  This posi-
                    tion is determined by the XXmmNNrriigghhttPPoossiittiioonn and XXmmNNffrraacc--
                    ttiioonnBBaassee resources.

                 ++oo  XXmmAATTTTAACCHH__SSEELLFF-Attach the right side of the child to a
                    position that is proportional to the current _x value of
                    the right side of the child divided by the width of the
                    Form.  This position is determined by the XXmmNNrriigghhttPPoossii--
                    ttiioonn and XXmmNNffrraaccttiioonnBBaassee resources.  XXmmNNrriigghhttPPoossiittiioonn is
                    set to a value proportional to the current _x value of the
                    right side of the child divided by the width of the Form.

     XXmmNNrriigghhttOOffffsseett
               Specifies the constant offset between the far (right) side of
               the child and the object to which it is attached.  (NNoottee::
               Whether this resource actually applies to the left or right
               side of the child and its attachment 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.)  The effect of a nonzero
               value for this resource is undefined if XXmmNNrriigghhttAAttttaacchhmmeenntt is
               set to XXmmAATTTTAACCHH__PPOOSSIITTIIOONN.  The relationship established
               remains, regardless of any resizing operations that occur.
               When this resource is explicitly set, the value of XXmmNNhhoorriizzoonn--
               ttaallSSppaacciinngg is ignored.

     XXmmNNrriigghhttPPoossiittiioonn
               This resource is used to determine the position of the far
               (right) side of the child when the child's XXmmNNrriigghhttAAttttaacchhmmeenntt
               is set to XXmmAATTTTAACCHH__PPOOSSIITTIIOONN.  (NNoottee::  Whether this resource
               actually applies to the left or right side of the child and
               its attachment may depend on the value of the XXmmNNssttrriinnggDDiirreecc--
               ttiioonn resource.)
               In this case the position of the right side of the child is
               relative to the left side of the Form and is a fraction of the
               width of the Form.  This fraction is the value of the child's
               XXmmNNrriigghhttPPoossiittiioonn resource divided by the value of the Form's
               XXmmNNffrraaccttiioonnBBaassee.  For example, if the child's XXmmNNrriigghhttPPoossiittiioonn
               is 50, the Form's XXmmNNffrraaccttiioonnBBaassee is 100, and the Form's width
               is 200, the position of the right side of the child is 100.

     XXmmNNrriigghhttWWiiddggeett
               Specifies the widget or gadget to which the far (right) side


   2-302






                                                                   XmForm(3X)


               of the child is attached.  (NNoottee::  Whether this resource actu-
               ally applies to the left or right side of the child and its
               attachment 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.)  This resource is used if XXmmNNrriigghhttAAttttaacchhmmeenntt is set
               to either XXmmAATTTTAACCHH__WWIIDDGGEETT or XXmmAATTTTAACCHH__OOPPPPOOSSIITTEE__WWIIDDGGEETT.

     XXmmNNttooppAAttttaacchhmmeenntt
               Specifies attachment of the top side of the child.  It can
               have following values:

                 ++oo  XXmmAATTTTAACCHH__NNOONNEE-Do not attach the top side of the child.
                    If XXmmNNbboottttoommAAttttaacchhmmeenntt is also XXmmAATTTTAACCHH__NNOONNEE, this value
                    is ignored and the child is given a default top attach-
                    ment.

                 ++oo  XXmmAATTTTAACCHH__FFOORRMM-Attach the top side of the child to the top
                    side of the Form.

                 ++oo  XXmmAATTTTAACCHH__OOPPPPOOSSIITTEE__FFOORRMM-Attach the top side of the child
                    to the bottom side of the Form.  XXmmNNttooppOOffffsseett can be used
                    to determine the visibility of the child.

                 ++oo  XXmmAATTTTAACCHH__WWIIDDGGEETT-Attach the top side of the child to the
                    bottom side of the widget or gadget specified in the
                    XXmmNNttooppWWiiddggeett resource.  If XXmmNNttooppWWiiddggeett is NULL,
                    XXmmAATTTTAACCHH__WWIIDDGGEETT is replaced by XXmmAATTTTAACCHH__FFOORRMM, and the
                    child is attached to the top side of the Form.

                 ++oo  XXmmAATTTTAACCHH__OOPPPPOOSSIITTEE__WWIIDDGGEETT-Attach the top side of the child
                    to the top side of the widget or gadget specified in the
                    XXmmNNttooppWWiiddggeett resource.

                 ++oo  XXmmAATTTTAACCHH__PPOOSSIITTIIOONN-Attach the top side of the child to a
                    position that is relative to the top side of the Form and
                    in proportion to the height of the Form.  This position
                    is determined by the XXmmNNttooppPPoossiittiioonn and XXmmNNffrraaccttiioonnBBaassee
                    resources.

                 ++oo  XXmmAATTTTAACCHH__SSEELLFF-Attach the top side of the child to a posi-
                    tion that is proportional to the current _y value of the
                    child divided by the height of the Form.  This position
                    is determined by the XXmmNNttooppPPoossiittiioonn and XXmmNNffrraaccttiioonnBBaassee
                    resources.  XXmmNNttooppPPoossiittiioonn is set to a value proportional
                    to the current _y value of the child divided by the height
                    of the Form.











   2-303






   XmForm(3X)



     XXmmNNttooppOOffffsseett
               Specifies the constant offset between the top side of the
               child and the object to which it is attached.  The effect of a
               nonzero value for this resource is undefined if XXmmNNttooppAAttttaacchh--
               mmeenntt is set to XXmmAATTTTAACCHH__PPOOSSIITTIIOONN.  The relationship esta-
               blished remains, regardless of any resizing operations that
               occur.  When this resource is explicitly set, the value of
               XXmmNNvveerrttiiccaallSSppaacciinngg is ignored.

     XXmmNNttooppPPoossiittiioonn
               This resource is used to determine the position of the top
               side of the child when the child's XXmmNNttooppAAttttaacchhmmeenntt is set to
               XXmmAATTTTAACCHH__PPOOSSIITTIIOONN.  In this case the position of the top side
               of the child is relative to the top side of the Form and is a
               fraction of the height of the Form.  This fraction is the
               value of the child's XXmmNNttooppPPoossiittiioonn resource divided by the
               value of the Form's XXmmNNffrraaccttiioonnBBaassee.  For example, if the
               child's XXmmNNttooppPPoossiittiioonn is 50, the Form's XXmmNNffrraaccttiioonnBBaassee is
               100, and the Form's height is 200, the position of the top
               side of the child is 100.

     XXmmNNttooppWWiiddggeett
               Specifies the widget or gadget to which the top side of the
               child is attached.  This resource is used if XXmmNNttooppAAttttaacchhmmeenntt
               is set to either XXmmAATTTTAACCHH__WWIIDDGGEETT or XXmmAATTTTAACCHH__OOPPPPOOSSIITTEE__WWIIDDGGEETT.

     Inherited Resources

     Form 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mBBuulllleettiinnBBooaarrdd 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
   _________________________________________________________________________________
   XmNallowOverlap       XmCAllowOverlap      Boolean          True           CSG
   XmNautoUnmanage       XmCAutoUnmanage      Boolean          True           CG
   XmNbuttonFontList     XmCButtonFontList    XmFontList       dynamic        CSG
   XmNcancelButton       XmCWidget            Widget           NULL           SG
   XmNdefaultButton      XmCWidget            Widget           NULL           SG
   XmNdefaultPosition    XmCDefaultPosition   Boolean          True           CSG
   XmNdialogStyle        XmCDialogStyle       unsigned char    dynamic        CSG
   XmNdialogTitle        XmCDialogTitle       XmString         NULL           CSG
   XmNfocusCallback      XmCCallback          XtCallbackList   NULL           C
   XmNlabelFontList      XmCLabelFontList     XmFontList       dynamic        CSG
   XmNmapCallback        XmCCallback          XtCallbackList   NULL           C
   XmNmarginHeight       XmCMarginHeight      Dimension        0              CSG
   XmNmarginWidth        XmCMarginWidth       Dimension        0              CSG
   XmNnoResize           XmCNoResize          Boolean          False          CSG
   XmNresizePolicy       XmCResizePolicy      unsigned char    XmRESIZE_ANY   CSG
   XmNshadowType         XmCShadowType        unsigned char    XmSHADOW_OUT   CSG
   XmNtextFontList       XmCTextFontList      XmFontList       dynamic        CSG
   XmNtextTranslations   XmCTranslations      XtTranslations   NULL           C
   XmNunmapCallback      XmCCallback          XtCallbackList   NULL           C


   2-304






                                                                   XmForm(3X)


                                        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
   XmNnavigationType       XmCNavigationType       XmNavigationType    XmTAB_GROUP            CSG
   XmNshadowThickness      XmCShadowThickness      Dimension           dynamic                CSG
   XmNstringDirection      XmCStringDirection      XmStringDirection   dynamic                CG
   XmNtopShadowColor       XmCTopShadowColor       Pixel               dynamic                CSG
   XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap              dynamic                CSG
   XmNtraversalOn          XmCTraversalOn          Boolean             True                   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                N/A
   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

   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mBBuulllleettiinnBBooaarrdd((33XX)),
     XXmmCCrreeaatteeFFoorrmm, XXmmCCrreeaatteeFFoorrmmDDiiaalloogg((33XX)), and XXmmMMaannaaggeerr((33XX)).








   2-305






   XmFrame(3X)



   NAME
     XXmmFFrraammee-The Frame widget class

   AES SUPPORT LEVEL
     Full-use

   SYNOPSIS
     ##iinncclluuddee <<XXmm//FFrraammee..hh>>

   DESCRIPTION
     Frame is a very simple manager used to enclose a single child in a
     border drawn by Frame.  It uses the Manager class resources for border
     drawing and performs geometry management so that its size always matches
     its child's outer size plus the Frame's margins and shadow thickness.

     Frame is most often used to enclose other managers when the application
     developer desires the manager to have the same border appearance as the
     primitive widgets.  Frame can also be used to enclose primitive widgets
     that do not support the same type of border drawing.  This gives visual
     consistency when you develop applications using diverse widget sets.

     If the Frame's parent is a Shell widget, XXmmNNsshhaaddoowwTTyyppee defaults to
     XXmmSSHHAADDOOWW__OOUUTT, and Manager's resource XXmmNNsshhaaddoowwTThhiicckknneessss defaults to 1.
     If the Frame's parent is not a Shell widget, XXmmNNsshhaaddoowwTTyyppee defaults to
     XXmmSSHHAADDOOWW__EETTCCHHEEDD__IINN, and Manager's resource XXmmNNsshhaaddoowwTThhiicckknneessss defaults
     to 2.

     Classes

     Frame inherits behavior and resources from the 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mFFrraammeeWWiiddggeettCCllaassss.

     The class name is XXmmFFrraamme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mFFrraamme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
       ____________________________________________________________________
       XmNmarginWidth    XmCMarginWidth    Dimension       0         CSG


   2-306






                                                                  XmFrame(3X)


       XmNmarginHeight   XmCMarginHeight   Dimension       0         CSG
       XmNshadowType     XmCShadowType     unsigned char   dynamic   CSG

     XXmmNNmmaarrggiinnWWiiddtthh
               Specifies the padding space on the left and right sides
               between Frame's child and Frame's shadow drawing.

     XXmmNNmmaarrggiinnHHeeiigghhtt
               Specifies the padding space on the top and bottom sides
               between Frame's child and Frame's shadow drawing.

     XXmmNNsshhaaddoowwTTyyppee
               Describes the drawing style for Frame.  This resource can have
               the following values:

                 ++oo  XXmmSSHHAADDOOWW__IINN-draws Frame so that it appears inset.  This
                    means that the bottom shadow visuals and top shadow visu-
                    als are reversed.

                 ++oo  XXmmSSHHAADDOOWW__OOUUTT-draws Frame so that it appears outset.  This
                    is the default if Frame's parent is a Shell widget.

                 ++oo  XXmmSSHHAADDOOWW__EETTCCHHEEDD__IINN-draws Frame using a double line giving
                    the effect of a line etched into the window.  The thick-
                    ness of the double line is equal to the value of XXmmNNsshhaa--
                    ddoowwTThhiicckknneessss.  This is the default when Frame's parent is
                    not a Shell widget.

                 ++oo  XXmmSSHHAADDOOWW__EETTCCHHEEDD__OOUUTT-draws Frame using a double line giv-
                    ing the effect of a line coming out of the window.  The
                    thickness of the double line is equal to the value of
                    XXmmNNsshhaaddoowwTThhiicckknneessss.

     Inherited Resources

     Frame 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
   XmNnavigationType       XmCNavigationType       XmNavigationType    XmTAB_GROUP            CSG
   XmNshadowThickness      XmCShadowThickness      Dimension           dynamic                CSG
   XmNstringDirection      XmCStringDirection      XmStringDirection   dynamic                CG
   XmNtopShadowColor       XmCTopShadowColor       Pixel               dynamic                CSG
   XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap              dynamic                CSG
   XmNtraversalOn          XmCTraversalOn          Boolean             True                   CSG
   XmNuserData             XmCUserData             XtPointer           NULL                   CSG


   2-307






   XmFrame(3X)


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

   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eFFrraammee((33XX)), and
     XXmmMMaannaaggeerr((33XX)).
























   2-308



 l
