XmBulletinBoard(library call) XmBulletinBoard(library call)
NAMEXmBulletinBoard — The BulletinBoard widget class
SYNOPSIS
#include <Xm/BulletinB.h>
DESCRIPTION
BulletinBoard is a composite widget that provides simple geometry man‐
agement for child widgets. It does not force positioning on its chil‐
dren, but can be set to reject geometry requests that result in over‐
lapping 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, and so on) 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.
BulletinBoard uses the XmQTtakesDefault trait, and holds the XmQTdi‐
alogShellSavvy and XmQTspecifyRenderTable traits.
Classes
BulletinBoard inherits behavior, resources, and traits from the 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 pro‐
grammer to specify data. The programmer can also set the resource val‐
ues 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 │ Class │ Type │ Default │ Access │
├─────────────────────┼──────────────────────┼────────────────┼──────────────┼────────┤
│XmNallowOverlap │ XmCAllowOverlap │ Boolean │ True │ CSG │
├─────────────────────┼──────────────────────┼────────────────┼──────────────┼────────┤
│XmNautoUnmanage │ XmCAutoUnmanage │ Boolean │ True │ CG │
├─────────────────────┼──────────────────────┼────────────────┼──────────────┼────────┤
│XmNbuttonFontList │ XmCButtonFontList │ XmFontList │ dynamic │ CSG │
├─────────────────────┼──────────────────────┼────────────────┼──────────────┼────────┤
│XmNbuttonRenderTable │ XmCButtonRenderTable │ XmRenderTable │ 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 │
├─────────────────────┼──────────────────────┼────────────────┼──────────────┼────────┤
│XmNlabelRenderTable │ XmCLabelRenderTable │ XmRenderTable │ 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 │
├─────────────────────┼──────────────────────┼────────────────┼──────────────┼────────┤
│XmNtextRenderTable │ XmCTextRenderTable │ XmRenderTable │ dynamic │ CSG │
├─────────────────────┼──────────────────────┼────────────────┼──────────────┼────────┤
│XmNtextTranslations │ XmCTranslations │ XtTranslations │ NULL │ C │
├─────────────────────┼──────────────────────┼────────────────┼──────────────┼────────┤
│XmNunmapCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
├─────────────────────┼──────────────────────┼────────────────┼──────────────┼────────┤
└─────────────────────┴──────────────────────┴────────────────┴──────────────┴────────┘
XmNallowOverlap
Controls the policy for overlapping child widgets. If this
resource is True, BulletinBoard allows geometry requests that
result in overlapping children.
XmNautoUnmanage
Controls whether or not BulletinBoard is automatically unman‐
aged 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 Bullet‐
inBoard'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 button descendants. See the
XmNbuttonRenderTable resource.
XmNbuttonRenderTable
Specifies the render table used for BulletinBoard's button
descendants. If this value is NULL at initialization, the
parent hierarchy of the widget is searched for an ancestor
that holds the XmQTspecifyRenderTable trait. If such an
ancestor is found, the render table is initialized to the
XmBUTTON_RENDER_TABLE value of the ancestor widget. If no
such ancestor is found, the default is implementation depen‐
dent. Refer to XmRenderTable(3) for more information on the
creation and structure of a render table.
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 Bullet‐
inBoard 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.
Controls the positioning of a DialogShell managing a Bullet‐
inBoard. If the BulletinBoard is not being managed by a
DialogShell, then this resource has no effect. If XmNdefault‐
Position is True, the DialogShell will center itself at the
center of its own parent. For example, if the parent of the
DialogShell is an ApplicationShell, then the center of the
DialogShell will be at the same coordinates as the center of
the ApplicationShell. If the DialogShell becomes unmapped
(but stays managed) and then remapped, this resource has no
influence on the DialogShell's position. If this resource is
False, the DialogShell does not automatically center itself.
XmNdialogStyle
Indicates the dialog style associated with the BulletinBoard.
If the parent of the BulletinBoard is a DialogShell, the par‐
ent'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_APPLICA‐
TION_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.
Posting a modal dialog in response to a button down or key
down event (via translation actions or callbacks) can cause
the corresponding button up or key up event to be lost. For
example, posting a modal dialog from an XmNincrementCallback
of XmScrollBar will cause the loss of the button up event,
causing the XmScrollBar to auto-increment indefinitely.
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 con‐
tains 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. The direction
of the title is based on the XmNlayoutDirection resource of
the widget.
XmNfocusCallback
Specifies the list of callbacks that is called when the Bul‐
letinBoard widget or one of its descendants accepts the input
focus. The callback reason is XmCR_FOCUS.
XmNlabelFontList
Specifies the font list used for label descendants. See the
XmNlabelRenderTable resource.
XmNlabelRenderTable
Specifies the render table used for BulletinBoard's label
descendants. If this value is NULL at initialization, the
parent hierarchy of the widget is searched for an ancestor
that holds the XmQTspecifyRenderTable trait. If such an
ancestor is found, the render table is initialized to the
XmLABEL_RENDER_TABLE value of the ancestor widget. If no such
ancestor is found, the default is implementation dependent.
Refer to XmRenderTable(3) for more information on the cre‐
ation and structure of a render table.
XmNmapCallback
Specifies the list of callbacks that is called only when the
parent of the BulletinBoard is a DialogShell. In this 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
this resource is set to True, 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 this resource is 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 pro‐
vided by VendorShell.
XmNresizePolicy
Controls the policy for resizing BulletinBoard widgets. Pos‐
sible values include
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 win‐
dow, similar to the Separator widget.
XmNtextFontList
Specifies the font list used for text descendants. See the
XmNtextRenderTable resource.
XmNtextRenderTable
Specifies the render table used for BulletinBoard's text
descendants. If this value is NULL at initialization, the
parent hierarchy of the widget is searched for an ancestor
that holds the XmQTspecifyRenderTable trait. If such an
ancestor is found, the render table is initialized to the
XmTEXT_RENDER_TABLE value of the ancestor widget. If no such
ancestor is found, the default is implementation dependent.
Refer to XmRenderTable(3) for more information on the cre‐
ation and structure of a render table.
XmNtextTranslations
It adds translations to any Text widget or Text widget sub‐
class 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 this 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 superclasses
described in the following tables. For a complete description of each
resource, refer to the reference page for that superclass.
┌────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ │ XmManager Resource Set │ │ │
│Name │ Class │ Type │ Default │ Access │
├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
│XmNbottomShadowColor │ XmCBottomShadowColor │ Pixel │ dynamic │ CSG │
├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
│XmNbottomShadowPixmap │ XmCBottomShadowPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
│XmNforeground │ XmCForeground │ Pixel │ dynamic │ CSG │
├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
│XmNhelpCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
│XmNhighlightColor │ XmCHighlightColor │ Pixel │ dynamic │ CSG │
├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
│XmNhighlightPixmap │ XmCHighlightPixmap │ Pixmap │ dynamic │ CSG │
├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
│XmNinitialFocus │ XmCInitialFocus │ Widget │ dynamic │ CSG │
├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
│XmNlayoutDirection │ XmCLayoutDirection │ XmDirection │ dynamic │ CG │
├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
│XmNnavigationType │ XmCNavigationType │ XmNavigationType │ XmTAB_GROUP │ CSG │
├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
│XmNpopupHandlerCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
│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 │
├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
│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 │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNancestorSensitive │ XmCSensitive │ Boolean │ dynamic │ G │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNbackground │ XmCBackground │ Pixel │ dynamic │ CSG │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNbackgroundPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNborderColor │ XmCBorderColor │ Pixel │ XtDefaultForeground │ CSG │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNborderPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNborderWidth │ XmCBorderWidth │ Dimension │ 0 │ CSG │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNcolormap │ XmCColormap │ Colormap │ dynamic │ CG │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNdepth │ XmCDepth │ int │ dynamic │ CG │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNdestroyCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNheight │ XmCHeight │ Dimension │ dynamic │ CSG │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNinitialResourcesPersistent │ XmCInitialResourcesPersistent │ Boolean │ True │ C │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNmappedWhenManaged │ XmCMappedWhenManaged │ Boolean │ True │ CSG │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNscreen │ XmCScreen │ Screen * │ dynamic │ CG │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNsensitive │ XmCSensitive │ Boolean │ True │ CSG │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNtranslations │ XmCTranslations │ XtTranslations │ dynamic │ CSG │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNwidth │ XmCWidth │ Dimension │ dynamic │ CSG │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNx │ XmCPosition │ Position │ 0 │ CSG │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
│XmNy │ XmCPosition │ Position │ 0 │ CSG │
├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
└──────────────────────────────┴───────────────────────────────┴────────────────┴──────────────────────┴────────┘
Callback Information
A pointer to the following structure is passed to each callback:
typedef struct
{
int reason;
XEvent * event;
} XmAnyCallbackStruct;
reason Indicates why the callback was invoked
event Points to the XEvent that triggered the callback
Translations
XmBulletinBoard includes the translations from XmManager.
Additional Behavior
The XmBulletinBoard widget has the following additional behavior:
<Key><osfCancel>:
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 par‐
ent.
<Key><osfActivate>:
Calls the activate callbacks for the button with the keyboard
focus. If no button has the keyboard focus, calls the acti‐
vate 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 <Key><osfActivate> is called before
the BulletinBoard actions associated with <Key><osfActivate>.
In a multiline Text widget, any <Key><osfActivate> event
except <Key><Enter> calls the Text action associated with
<Key><osfActivate>, then the BulletinBoard actions associated
with <Key><osfActivate>. 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, the callbacks are called when the
pointer enters the window. When the focus policy is XmEX‐
PLICIT, the callbacks are called 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(3).
RELATEDComposite(3), Constraint(3), Core(3), XmCreateBulletinBoard(3), XmCre‐
ateBulletinBoardDialog(3), XmDialogShell(3), and XmManager(3).
XmBulletinBoard(library call)