Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

Composite(3X)

Constraint(3X)

Core(3X)

XmCreateBulletinBoard(3X)

XmCreateBulletinBoardDialog(3X)

XmDialogShell(3X)

XmManager(3X)

XmBulletinBoard(3X)  —  Subroutines

OSF/Motif

NAME

XmBulletinBoard − The BulletinBoard widget class

SYNOPSIS

#include <Xm/BulletinB.h>

DESCRIPTION

BulletinBoard is a composite widget that provides simple geometry management for children widgets.  It does not force positioning on its children, but can be set to reject geometry requests that result in overlapping 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, Constraint, 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 programmer to specify data.  The programmer can also set the resource values for the inherited classes to set attributes for this widget.  To reference a resource by name or by class in a .Xdefaults file, remove the XmN or XmC prefix and use the remaining letters.  To specify one of the defined values for a resource in a .Xdefaults file, remove the Xm prefix and use the remaining letters (in either lowercase or uppercase, but include any underscores between words).  The codes in the access column indicate if the given resource can be set at creation time (C), set by using XtSetValues (S), retrieved by using XtGetValues (G), or is not applicable (N/A). 

XmBulletinBoard Resource Set
Name Default Access
      Class       Type
XmNallowOverlap True CSG
      XmCAllowOverlap        Boolean
XmNautoUnmanage True CG
      XmCAutoUnmanage        Boolean
XmNbuttonFontList dynamic CSG
      XmCButtonFontList        XmFontList
XmNcancelButton NULL SG
      XmCWidget        Widget
XmNdefaultButton NULL SG
      XmCWidget        Widget
XmNdefaultPosition True CSG
      XmCDefaultPosition        Boolean
XmNdialogStyle dynamic CSG
      XmCDialogStyle        unsigned char
XmNdialogTitle NULL CSG
      XmCDialogTitle        XmString
XmNfocusCallback NULL C
      XmCCallback        XtCallbackList
XmNlabelFontList dynamic CSG
      XmCLabelFontList        XmFontList
XmNmapCallback NULL C
      XmCCallback        XtCallbackList
XmNmarginHeight 10 CSG
      XmCMarginHeight        Dimension
XmNmarginWidth 10 CSG
      XmCMarginWidth        Dimension
XmNnoResize False CSG
      XmCNoResize        Boolean
XmNresizePolicy XmRESIZE_ANY CSG
      XmCResizePolicy        unsigned char
XmNshadowType XmSHADOW_OUT CSG
      XmCShadowType        unsigned char
XmNtextFontList dynamic CSG
      XmCTextFontList        XmFontList
XmNtextTranslations NULL C
      XmCTranslations        XtTranslations
XmNunmapCallback NULL C
      XmCCallback        XtCallbackList

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 initialization and if the BulletinBoard’s parent is a DialogShell, BulletinBoard adds a callback to button children (PushButtons, PushButtonGadgets, and DrawnButtons) that unmanages the BulletinBoard when a button is activated. If this resource is False on initialization or if the BulletinBoard’s parent is not a DialogShell, 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 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, VendorShell, 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(3X) 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 BulletinBoard 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 positioned by its parent.  If True, and the parent of the BulletinBoard 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 automatically 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:

       •XmDIALOG_SYSTEM_MODAL—used for dialogs that must be responded to before any other interaction in any application

       •XmDIALOG_PRIMARY_APPLICATION_MODAL—used for dialogs that must be responded to before some other interactions in ancestors of the widget

       •XmDIALOG_APPLICATION_MODAL—used for dialogs that must be responded to before some other interactions in ancestors of the widget.  This value is the same as XmDIALOG_PRIMARY_APPLICATION_MODAL, and remains for compatibility. 

       •XmDIALOG_FULL_APPLICATION_MODAL—used for dialogs that must be responded to before some other interactions in the same application

       •XmDIALOG_MODELESS—used for dialogs that do not interrupt interaction of any application.  This is the default when the parent of the BulletinBoard is a DialogShell. 

       •XmDIALOG_WORK_AREA—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, BulletinBoard 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 COMPOUND_TEXT. 

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

XmNlabelFontList
Specifies the font list used for BulletinBoard’s label descendants (Labels and LabelGadgets).  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, 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(3X) 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 XmCR_MAP.  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 window manager frame around the BulletinBoard’s parent. If set to True, the mwm does not include resize controls in the window manager 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 provided 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:

       •XmRESIZE_NONE—fixed size

       •XmRESIZE_ANY—shrink or grow as needed

       •XmRESIZE_GROW—grow only

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

       •XmSHADOW_IN—draws the BulletinBoard shadow so that it appears inset.  This means that the bottom shadow visuals and top shadow visuals are reversed. 

       •XmSHADOW_OUT—draws the BulletinBoard shadow so that it appears outset

       •XmSHADOW_ETCHED_IN—draws the BulletinBoard shadow using a double line giving the effect of a line etched into the window, similar to the Separator widget

       •XmSHADOW_ETCHED_OUT—draws the BulletinBoard shadow using a double line giving the effect of a line coming out of the window, 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 implementation  dependent.  Refer to XmFontList(3X) 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 XmCR_UNMAP.  DialogShells are usually unmapped when the DialogShell is unmanaged. 

Inherited Resources

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

XmManager Resource Set
Name Default Access
      Class       Type
XmNbottomShadowColor dynamic CSG
      XmCBottomShadowColor        Pixel
XmNbottomShadowPixmap XmUNSPECIFIED_PIXMAP CSG
      XmCBottomShadowPixmap        Pixmap
XmNforeground dynamic CSG
      XmCForeground        Pixel
XmNhelpCallback NULL C
      XmCCallback        XtCallbackList
XmNhighlightColor dynamic CSG
      XmCHighlightColor        Pixel
XmNhighlightPixmap dynamic CSG
      XmCHighlightPixmap        Pixmap
XmNinitialFocus dynamic CSG
      XmCInitialFocus        Widget
XmNnavigationType XmTAB_GROUP CSG
      XmCNavigationType        XmNavigationType
XmNshadowThickness dynamic CSG
      XmCShadowThickness        Dimension
XmNstringDirection dynamic CG
      XmCStringDirection        XmStringDirection
XmNtopShadowColor dynamic CSG
      XmCTopShadowColor        Pixel
XmNtopShadowPixmap dynamic CSG
      XmCTopShadowPixmap        Pixmap
XmNtraversalOn True CSG
      XmCTraversalOn        Boolean
XmNunitType dynamic CSG
      XmCUnitType        unsigned char
XmNuserData NULL CSG
      XmCUserData        XtPointer
Composite Resource Set
Name Default Access
      Class       Type
XmNchildren NULL G
      XmCReadOnly        WidgetList
XmNinsertPosition NULL CSG
      XmCInsertPosition        XtOrderProc
XmNnumChildren 0 G
      XmCReadOnly        Cardinal
Core Resource Set
Name Default Access
      Class       Type
XmNaccelerators dynamic N/A
      XmCAccelerators        XtAccelerators
XmNancestorSensitive dynamic G
      XmCSensitive        Boolean
XmNbackground dynamic CSG
      XmCBackground        Pixel
XmNbackgroundPixmap XmUNSPECIFIED_PIXMAP CSG
      XmCPixmap        Pixmap
XmNborderColor XtDefaultForeground CSG
      XmCBorderColor        Pixel
XmNborderPixmap XmUNSPECIFIED_PIXMAP CSG
      XmCPixmap        Pixmap
XmNborderWidth 0 CSG
      XmCBorderWidth        Dimension
XmNcolormap dynamic CG
      XmCColormap        Colormap
XmNdepth dynamic CG
      XmCDepth        int
XmNdestroyCallback NULL C
      XmCCallback        XtCallbackList
XmNheight dynamic CSG
      XmCHeight        Dimension
XmNinitialResourcesPersistent True C
      XmCInitialResourcesPersistent        Boolean
XmNmappedWhenManaged True CSG
      XmCMappedWhenManaged        Boolean
XmNscreen dynamic CG
      XmCScreen        Screen ∗
XmNsensitive True CSG
      XmCSensitive        Boolean
XmNtranslations dynamic CSG
      XmCTranslations        XtTranslations
XmNwidth dynamic CSG
      XmCWidth        Dimension
XmNx 0 CSG
      XmCPosition        Position
XmNy 0 CSG
      XmCPosition        Position

Callback Information

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

typedef struct
{
intreason;
XEvent∗ event;
} XmAnyCallbackStruct;

reasonIndicates why the callback was invoked. 

eventPoints 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 sensitive. If no cancel button exists and if the parent of the BulletinBoard 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 associated with KActivate is called before the BulletinBoard actions associated with KActivate.  In a multi-line Text widget, any KActivate event except KEnter calls the Text action associated with KActivate, then the BulletinBoard actions associated with KActivate.  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(3X). 

RELATED INFORMATION

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

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