[ Previous |
Next |
Contents |
Glossary |
Home |
Search ]
Motif 2.1 Programmer's Reference
XmBulletinBoard
The BulletinBoard widget class
Format
#include <Xm/BulletinB.h>
DESCRIPTION
BulletinBoard is a composite widget that provides simple geometry
management for child 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, 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
XmQTdialogShellSavvy and XmQTspecifyRenderTable traits.
BulletinBoard inherits behavior, resources, and traits from the Core,
Composite, Constraint, and XmManager classes.
The class pointer is xmBulletinBoardWidgetClass.
The class name is XmBulletinBoard.
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 |
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 |
XmNallowOverlapControls the policy for overlapping child widgets. If this resource is
True, BulletinBoard allows geometry requests that result in overlapping
children.
XmNautoUnmanageControls 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.
XmNbuttonFontListSpecifies the font list used for button descendants. See the
XmNbuttonRenderTable resource.
XmNbuttonRenderTableSpecifies 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 dependent.
Refer to XmRenderTable
(3) for more information on the creation and
structure of a render table.
XmNcancelButtonSpecifies 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.
XmNdefaultButtonSpecifies 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. Controls the positioning of a DialogShell managing a BulletinBoard. If
the BulletinBoard is not being managed by a DialogShell, then this resource
has no effect. If XmNdefaultPosition 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.
XmNdialogStyleIndicates 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_MODALUsed for dialogs that must be responded to before any other interaction in
any application.
XmDIALOG_PRIMARY_APPLICATION_MODALUsed for dialogs that must be responded to before some other interactions
in ancestors of the widget.
XmDIALOG_APPLICATION_MODALUsed 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_MODALUsed for dialogs that must be responded to before some other interactions
in the same application.
XmDIALOG_MODELESSUsed 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_AREAUsed 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.
XmNdialogTitleSpecifies 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. The direction of the title is based on the
XmNlayoutDirection resource of the widget.
XmNfocusCallbackSpecifies 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.
XmNlabelFontListSpecifies the font list used for label descendants. See the
XmNlabelRenderTable resource.
XmNlabelRenderTableSpecifies 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 creation and
structure of a render table.
XmNmapCallbackSpecifies 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.
XmNmarginHeightSpecifies the minimum spacing in pixels between the top or bottom edge of
BulletinBoard and any child widget.
XmNmarginWidthSpecifies the minimum spacing in pixels between the left or right edge of
BulletinBoard and any child widget.
XmNnoResizeControls 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 provided by
VendorShell.
XmNresizePolicyControls the policy for resizing BulletinBoard widgets. Possible values
include
XmRESIZE_NONEFixed size
XmRESIZE_ANYShrink or grow as needed
XmRESIZE_GROWGrow only
XmNshadowTypeDescribes the shadow drawing style for BulletinBoard. This resource can
have the following values:
XmSHADOW_INDraws the BulletinBoard shadow so that it appears inset. This means that
the bottom shadow visuals and top shadow visuals are reversed.
XmSHADOW_OUTDraws the BulletinBoard shadow so that it appears outset.
XmSHADOW_ETCHED_INDraws the BulletinBoard shadow using a double line giving the effect of a
line etched into the window, similar to the Separator widget.
XmSHADOW_ETCHED_OUTDraws the BulletinBoard shadow using a double line giving the effect of a
line coming out of the window, similar to the Separator widget.
XmNtextFontListSpecifies the font list used for text descendants. See the
XmNtextRenderTable resource.
XmNtextRenderTableSpecifies 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 creation and structure
of a render table.
XmNtextTranslationsIt adds translations to any Text widget or Text widget subclass that is
added as a child of BulletinBoard.
XmNunmapCallbackSpecifies 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.
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 |
A pointer to the following structure is passed to each callback:
typedef struct
{
int
reason;
XEvent
* event;
} XmAnyCallbackStruct;
reasonIndicates why the callback was invoked
eventPoints to the XEvent that triggered the callback
XmBulletinBoard includes the translations from XmManager.
The XmBulletinBoard widget has the following additional behavior:
KeyosfCancel: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.
KeyosfActivate: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 KeyosfActivate is called before the
BulletinBoard actions associated with KeyosfActivate.
In a multiline Text widget, any KeyosfActivate event except KeyEnter calls
the Text action associated with KeyosfActivate, then the BulletinBoard actions
associated with KeyosfActivate. 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 XmEXPLICIT, the callbacks are called when the user
traverses to the widget.
Map:Calls the callbacks for XmNmapCallback.
Unmap:Calls the callbacks for XmNunmapCallback.
The bindings for virtual keys are vendor specific. For information
about bindings for virtual buttons and keys, see
VirtualBindings
(3).
RELATED
Composite
(3), Constraint
(3), Core
(3),
XmCreateBulletinBoard
(3),
XmCreateBulletinBoardDialog
(3), XmDialogShell
(3), and
XmManager
(3).
[ Previous |
Next |
Contents |
Glossary |
Home |
Search ]