Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmBulletB(Xm) — OpenDesktop Software Development System 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought


 XmBulletinBoard(Xm)            6 January 1993            XmBulletinBoard(Xm)


 Name

    XmBulletinBoard - the BulletinBoard widget class

 Syntax


    #include <Xm/BulletinB.h>


 Description

    BulletinBoard is a composite widget that provides simple geometry manage-
    ment for children widgets.  It does not force positioning on its chil-
    dren, but can be set to reject geometry requests that result in overlap-
    ping children.  BulletinBoard is the base widget for most dialog widgets
    and is also used as a general container widget.

    Modal and modeless dialogs are implemented as collections of widgets that
    include a DialogShell, a BulletinBoard (or subclass) child of the shell,
    and various dialog components (buttons, labels, etc.) that are children
    of BulletinBoard.  BulletinBoard defines callbacks useful for dialogs
    (focus, map, unmap), which are available for application use.  If its
    parent is a DialogShell, BulletinBoard passes title and input mode (based
    on dialog style) information to the parent, which is responsible for
    appropriate communication with the window manager.

    The default value for XmNinitialFocus is the value of XmNdefaultButton.

    Classes

    BulletinBoard inherits behavior and resources from Core, Composite, Con-
    straint, and XmManager classes.

    The class pointer is xmBulletinBoardWidgetClass.

    The class name is XmBulletinBoard.

    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 refer-
    ence a resource by name or by class in a .Xdefaults file, remove the
    ``XmN'' or ``XmC'' prefix and use the remaining letters.  To specify one
    of the defined values for a resource in a .Xdefaults file, remove the
    ``Xm'' prefix and use the remaining letters (in either lowercase or
    uppercase, but include any underscores between words).  The codes in the
    access column indicate if the given resource can be set at creation time
    (C), set by using XtSetValues (S), retrieved by using XtGetValues (G), or
    is not applicable (N/A).

 XmBulletinBoard resource set

 ____________________________________________________________________________
 Name                Class               Type            Default       Access
 ____________________________________________________________________________
 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       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
 XmNtext-            XmCTranslations     XtTranslations  NULL          C
 Translations
 XmNunmapCallback    XmCCallback         XtCallbackList  NULL          C


    XmNallowOverlap
            Controls the policy for overlapping children widgets.  If True,
            BulletinBoard allows geometry requests that result in overlapping
            children.

    XmNautoUnmanage
            Controls whether or not BulletinBoard is automatically unmanaged
            after a button is activated.  If this resource is True on ini-
            tialization and if the BulletinBoard's parent is a DialogShell,
            BulletinBoard adds a callback to button children (PushButtons,
            PushButtonGadgets, and DrawnButtons) that unmanages the Bulletin-
            Board when a button is activated.  If this resource is False on
            initialization or if the BulletinBoard's parent is not a Dialog-
            Shell, the BulletinBoard is not automatically unmanaged.  For
            BulletinBoard subclasses with Apply or Help buttons, activating
            those buttons does not automatically unmanage the BulletinBoard.

    XmNbuttonFontList
            Specifies the font list used for BulletinBoard's button descen-
            dants.  If this value is NULL at initialization, the font list is
            initialized by looking up the parent hierarchy of the widget for
            an ancestor that is a subclass of the XmBulletinBoard, Vendor-
            Shell, or XmMenuShell widget class.  If such an ancestor is
            found, the font list is initialized to the XmNbuttonFontList of
            the ancestor widget.  If no such ancestor is found, the default
            is implementation dependent.  Refer to XmFontList(Xm) for more
            information on the creation and structure of a font list.

    XmNcancelButton
            Specifies the widget ID of the Cancel button.  BulletinBoard's
            subclasses, which define a Cancel button, set this resource.
            BulletinBoard does not directly provide any behavior for that
            button.

    XmNdefaultButton
            Specifies the widget ID of the default button.  Some Bulletin-
            Board subclasses, which define a default button, set this
            resource.  BulletinBoard defines translations and installs
            accelerators that activate that button when KActivate is pressed
            and the keyboard focus is not in another button.

    XmNdefaultPosition
            Controls whether or not the BulletinBoard is automatically posi-
            tioned by its parent.  If True, and the parent of the Bulletin-
            Board is a DialogShell, the BulletinBoard is centered within or
            around the parent of the DialogShell when the BulletinBoard is
            mapped and managed.  If False, the BulletinBoard is not automati-
            cally positioned.

    XmNdialogStyle
            Indicates the dialog style associated with the BulletinBoard.  If
            the parent of the BulletinBoard is a DialogShell, the parent's
            XmNmwmInputMode is set according to the value of this resource.
            This resource can be set only if the BulletinBoard is unmanaged.
            Possible values for this resource include the following:

            +  XmDIALOGSYSTEMMODAL -- used for dialogs that must be
               responded to before any other interaction in any application

            +  XmDIALOGPRIMARYAPPLICATIONMODAL -- used for dialogs that
               must be responded to before some other interactions in ances-
               tors of the widget

            +  XmDIALOGAPPLICATIONMODAL -- used for dialogs that must be
               responded to before some other interactions in ancestors of
               the widget.  This value is the same as
               XmDIALOGPRIMARYAPPLICATIONMODAL, and remains for compati-
               bility.

            +  XmDIALOGFULLAPPLICATIONMODAL -- used for dialogs that must
               be responded to before some other interactions in the same
               application

            +  XmDIALOGMODELESS -- used for dialogs that do not interrupt
               interaction of any application.  This is the default when the
               parent of the BulletinBoard is a DialogShell.

            +  XmDIALOGWORKAREA -- used for BulletinBoard widgets whose
               parents are not DialogShells.  XmNdialogStyle is forced to
               have this value when the parent of the BulletinBoard is not a
               DialogShell.

    XmNdialogTitle
            Specifies the dialog title. If this resource is not NULL, and the
            parent of the BulletinBoard is a subclass of WMShell, Bulletin-
            Board sets the XmNtitle and XmNtitleEncoding of its parent.  If
            the only character set in XmNdialogTitle is ISO8859-1, XmNtitle
            is set to the string of the title, and XmNtitleEncoding is set to
            STRING.  If XmNdialogTitle contains character sets other than
            ISO8859-1, XmNtitle is set to the string of the title converted
            to a compound text string, and XmNtitleEncoding is set to
            COMPOUNDTEXT.

    XmNfocusCallback
            Specifies the list of callbacks that is called when the
            BulletinBoard widget or one of its descendants accepts the input
            focus.  The callback reason is XmCRFOCUS.

    XmNlabelFontList
            Specifies the font list used for BulletinBoard's label descen-
            dants (Labels and LabelGadgets).  If this value is NULL at ini-
            tialization, the font list is initialized by looking up the
            parent hierarchy of the widget for an ancestor that is a subclass
            of the XmBulletinBoard, VendorShell, or XmMenuShell widget class.
            If such an ancestor is found, the font list is initialized to the
            XmNlabelFontList of the ancestor widget.  If no such ancestor is
            found, the default is implementation dependent.  Refer to
            XmFontList(Xm) for more information on the creation and structure
            of a font list.

    XmNmapCallback
            Specifies the list of callbacks that is called only when the
            parent of the BulletinBoard is a DialogShell; in which case, this
            callback list is invoked when the BulletinBoard widget is mapped.
            The callback reason is XmCRMAP.  DialogShells are usually mapped
            when the DialogShell is managed.

    XmNmarginHeight
            Specifies the minimum spacing in pixels between the top or bottom
            edge of BulletinBoard and any child widget.

    XmNmarginWidth
            Specifies the minimum spacing in pixels between the left or right
            edge of BulletinBoard and any child widget.

    XmNnoResize
            Controls whether or not resize controls are included in the win-
            dow manager frame around the BulletinBoard's parent.  If set to
            True, the mwm does not include resize controls in the window man-
            ager frame containing the parent of the BulletinBoard if the
            parent is a subclass of VendorShell.  If set to False, the window
            manager frame does include resize controls.  Other controls pro-
            vided by mwm can be included or excluded through the mwm
            resources provided by VendorShell.

    XmNresizePolicy
            Controls the policy for resizing BulletinBoard widgets.  Possible
            values include the following:

            +  XmRESIZENONE -- fixed size

            +  XmRESIZEANY -- shrink or grow as needed

            +  XmRESIZEGROW -- grow only

    XmNshadowType
            Describes the shadow drawing style for BulletinBoard.  This
            resource can have the following values:

            +  XmSHADOWIN -- draws the BulletinBoard shadow so that it
               appears inset.  This means that the bottom shadow visuals and
               top shadow visuals are reversed.

            +  XmSHADOWOUT -- draws the BulletinBoard shadow so that it
               appears outset

            +  XmSHADOWETCHEDIN -- draws the BulletinBoard shadow using a
               double line giving the effect of a line etched into the win-
               dow, similar to the Separator widget

            +  XmSHADOWETCHEDOUT -- draws the BulletinBoard shadow using a
               double line giving the effect of a line coming out of the win-
               dow, similar to the Separator widget

    XmNtextFontList
            Specifies the font list used for BulletinBoard's Text and List
            descendants.  If this value is NULL at initialization, the font
            list is initialized by looking up the parent hierarchy of the
            widget for an ancestor that is a subclass of the XmBulletinBoard
            or VendorShell widget class.  If such an ancestor is found, the
            font list is initialized to the XmNtextFontList of the ancestor
            widget.  If no such ancestor is found, the default is implementa-
            tion  dependent.  Refer to XmFontList(Xm) for more information on
            the creation and structure of a font list.

    XmNtextTranslations
            Adds translations to any Text widget or Text widget subclass that
            is added as a child of BulletinBoard.

    XmNunmapCallback
            Specifies the list of callbacks that is called only when the
            parent of the BulletinBoard is a DialogShell.  In that case, this
            callback list is invoked when the BulletinBoard widget is
            unmapped.  The callback reason is XmCRUNMAP.  DialogShells are
            usually unmapped when the DialogShell is unmanaged.

    Inherited resources

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

 XmManager resource set

 ____________________________________________________________________________
 Name              Class              Type             Default         Access
 ____________________________________________________________________________
 XmNbottomShadow-  XmCBottomShadow-   Pixel            dynamic         CSG
 Color             Color
 XmNbottomShadow-  XmCBottomShadow-   Pixmap           XmUNSPECIFIED_- CSG
 Pixmap            Pixmap                              PIXMAP
 XmNforeground     XmCForeground      Pixel            dynamic         CSG
 XmNhelpCallback   XmCCallback        XtCallbackList   NULL            C
 XmNhighlightColor XmCHighlightColor  Pixel            dynamic         CSG
 XmNhighlightPixmapXmCHighlightPixmap Pixmap           dynamic         CSG
 XmNinitialFocus   XmCInitialFocus    Widget           dynamic         CSG
 XmNnavigationType XmCNavigationType  XmNavigationType XmTAB_GROUP     CSG
 XmNshadowThicknessXmCShadowThickness Dimension        dynamic         CSG
 XmNstringDirectionXmCStringDirection XmStringDirectiondynamic         CG
 XmNtopShadowColor XmCTopShadowColor  Pixel            dynamic         CSG
 XmNtopShadowPixmapXmCTopShadowPixmap Pixmap           dynamic         CSG
 XmNtraversalOn    XmCTraversalOn     Boolean          True            CSG
 XmNunitType       XmCUnitType        unsigned char    dynamic         CSG
 XmNuserData       XmCUserData        XtPointer        NULL            CSG


 Composite resource set

 ____________________________________________________________________________
 Name                 Class                Type           Default      Access
 ____________________________________________________________________________
 XmNchildren          XmCReadOnly          WidgetList     NULL         G
 XmNinsertPosition    XmCInsertPosition    XtOrderProc    NULL         CSG
 XmNnumChildren       XmCReadOnly          Cardinal       0            G


 Core resource set

 ____________________________________________________________________________
 Name                Class               Type           Default        Access
 ____________________________________________________________________________
 XmNaccelerators     XmCAccelerators     XtAccelerators dynamic        N/A
 XmNancestor-        XmCSensitive        Boolean        dynamic        G
 Sensitive
 XmNbackground       XmCBackground       Pixel          dynamic        CSG
 XmNbackground-      XmCPixmap           Pixmap         XmUNSPECIFIED_-CSG
 Pixmap                                                 PIXMAP
 XmNborderColor      XmCBorderColor      Pixel          XtDefaultFore- CSG
                                                        ground
 XmNborderPixmap     XmCPixmap           Pixmap         XmUNSPECIFIED_-CSG
                                                        PIXMAP
 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
 XmNinitialResources-XmCInitialResources-Boolean        True           C
 Persistent          Persistent
 XmNmappedWhen-      XmCMappedWhen-      Boolean        True           CSG
 Managed             Managed
 XmNscreen           XmCScreen           Screen *       dynamic        CG
 XmNsensitive        XmCSensitive        Boolean        True           CSG
 XmNtranslations     XmCTranslations     XtTranslations dynamic        CSG
 XmNwidth            XmCWidth            Dimension      dynamic        CSG
 XmNx                XmCPosition         Position       0              CSG
 XmNy                XmCPosition         Position       0              CSG


    Callback information

    A pointer to the following structure is passed to each callback:

       typedef struct
       {
           int reason;
           XEvent      * event;
       } XmAnyCallbackStruct;


    reason  Indicates why the callback was invoked.

    event   Points to the XEvent that triggered the callback.

    Translations

    XmBulletinBoard includes the translations from XmManager.

    Additional behavior

    The XmBulletinBoard widget has the additional behavior described below:

    MAny KCancel:
            Calls the activate callbacks for the cancel button if it is sen-
            sitive.  If no cancel button exists and if the parent of the Bul-
            letinBoard is a manager, passes the event to the parent.

    KActivate:
            Calls the activate callbacks for the button with the keyboard
            focus.  If no button has the keyboard focus, calls the activate
            callbacks for the default button if it is sensitive.  In a List
            widget or single-line Text widget, the List or Text action asso-
            ciated with KActivate is called before the BulletinBoard actions
            associated with KActivate.  In a multi-line Text widget, any KAc-
            tivate event except KEnter calls the Text action associated with
            KActivate, then the BulletinBoard actions associated with KAc-
            tivate.  If no button has the focus, no default button exists,
            and the parent of the BulletinBoard is a manager, passes the
            event to the parent.

    <FocusIn>:
            Calls the callbacks for XmNfocusCallback.  When the focus policy
            is XmPOINTER, this happens when the pointer enters the window.
            When the focus policy is XmEXPLICIT, this happens when the user
            traverses to the widget.

    <Map>:  Calls the callbacks for XmNmapCallback.

    <Unmap>:
            Calls the callbacks for XmNunmapCallback.

    Virtual bindings

    The bindings for virtual keys are vendor specific.  For information about
    bindings for virtual buttons and keys, see VirtualBindings(Xm).

 See also

    Composite(Xm), Constraint(Xm), Core(Xm),
    XmCreateBulletinBoard(Xm),
    XmCreateBulletinBoardDialog(Xm),
    XmDialogShell(Xm) and XmManager(Xm).


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