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
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
XmNtextTranslations
XmCTranslations
XtTranslations
NULL
C
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 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(X3mot)
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(X3mot)
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(X3mot)
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
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
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
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 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(X3mot).