'\"!  tbl | tbl | mmdoc
'\"macro stdmacro
.if n .pH g3w.olBuletinbrd @(#)olBuletinbrd	40.3 of 1/8/90
.ig
Revised:  gjh 2/15/89
Revised:  gjh 2/6/89
Revised:  Joy Asay 2/14/89
Revised:  lmh 10/16,17,18/89
format -dshemp -rs1 -man6 BulletinBoard
THIS IS THE SECOND VERSION
..
.SO BP.HEADER \" This header enables use of .BP macro for PostScript graphics
.ds cW BULLETINBOARD
.ds rW BulletinBoard
.ds nW BulletinBo
.ds wW bulletinBoard
.ds bW \fB\*(rW\fP
.ds iW \fI\*(rW\fP
.ds oS \*(cW
.nr oN 0
.nr X
.if \nX=0 .ds x} ""BULLETINBOARD WIDGET" 3W "\&"
.if \nX=1 .ds x} ""BULLETINBOARD WIDGET" 3W
.if \nX=2 .ds x} ""BULLETINBOARD WIDGET" "" "\&"
.if \nX=3 .ds x} ""BULLETINBOARD "" "" "\&"
.TH \*(x}
.SH "WIDGET CLASS NAME"
\*(bW
.SH "SYNOPSIS"
.nf
\s-1\f(CW#include <Intrinsic.h>
#include <StringDefs.h>
#include <OpenLook.h>
#include <\*(nW.h>\f1\s+1\f1
.fi
.P
.nf
\s-1\f(CWwidget = XtCreateWidget(\f2name\f(CW, \*(wWWidgetClass, ...);\f1\s+1
.fi
.SH "DESCRIPTION"
.sp
\f3Simple Composite Widget\f1
.P
The \*(bW widget is a composite widget that enforces no
ordering on its children.
It is up to the application to specify the x- and y-coordinates
of each child inserted;
otherwise, it will be placed in the upper left corner of the
\*(bW widget.
.sp 0.5
\f3No Children\f1
.P
The \*(bW can be mapped with no children.
It displays an empty space,
possibly surrounded by a border.
.sp 0.5
\f3Keyboard Traversal\f1
.P
Users can traverse among \f3Text\f1 and \f3TextField\f1
widgets within any ancestor \f3ControlArea, BulletinBoard\f1, or
\f3Form\f1 widget using the NEXTFIELD and PREVFIELD keys:  
.IP "\(em" 5
NEXTFIELD
moves the caret to the next traversable \f3Text\f1 or \f3TextField\f1
widget in the managing ancestor widget.
When the caret is in the last traversable
field, NEXTFIELD moves the caret to the first traversable field.
.IP "\(em" 
PREVFIELD moves the caret to the previous traversable
field in the managing ancestor widget.
When the caret is in the first traversable
field, PREVFIELD moves the caret to the last traversable field.
.P
The default key mappings for NEXTFIELD and PREVFIELD are
TAB and SHIFT-TAB, respectively.  A user may change these
defaults through the appropriate Workspace Properties
window.
.bp
\f3\*(rW Coloration\f1
.P
Figure 1 illustrates the resources that affect the coloration
of the \*(bW widget.
.br
.ne3.5i
.BP PSART/ps.bullbd1
.P
.ce
\f3Figure 1.\f1  Bulletin Board Coloration
.bp
.SH "RESOURCES"
.ds cO
.TS H
allbox;
cB s s s s.
\*(bW Resource Set\\\\*(cO
.T&
lBp-2 lBp-2 lBp-2 lBp-2 lBp-2.
Name	Class	Type	Default	Access
_
.TH
.ds cO " (cont'd)
.T&
lp-2 lp-2 lp-2 lp-2 lp-2.
XtNancestorSensitive	XtCSenstitive	Boolean	TRUE	G*
XtNbackground	XtCBackground	Pixel	White	SGI\(dg
XtNbackgroundPixmap	XtCPixmap	Pixmap	(none)	SGI\(dg
XtNborderColor	XtCBorderColor	Pixel	Black	SGI\(dg
XtNborderPixmap	XtCPixmap	Pixmap	(none)	SGI\(dg
XtNborderWidth	XtCBorderWidth	Dimension	0	SGI
XtNdepth	XtCDepth	int	(parent's)	GI
XtNdestroyCallback	XtCCallback	XtCallbackList	NULL	SI
XtNheight	XtCHeight	Dimension	(calculated)	SGI
XtNlayout	XtCLayout	OlDefine	OL_MINIMIZE	SGI
XtNmappedWhenManaged	XtCMappedWhenManaged	Boolean	TRUE	SGI
.XX TRAVERSAL XtNnextTop	XtCCallback	XtCallbackList	NULL	SI
XtNsensitive	XtCSensitive	Boolean	TRUE	GI*
XtNtraversalManager	XtCTraversalManager	Boolean	FALSE	SGI
XtNuserData	XtCUserData	XtPointer	NULL	SGI
.XX TRANSPARENT XtNtransparent	XtCTransparent	Boolean	FALSE	SGI
XtNwidth	XtCWidth	Dimension	(calculated)	SGI
XtNx	XtCPosition	Position	0	SGI
XtNy	XtCPosition	Position	0	SGI
.TE
.sp
\f3XtNlayout\f1
.PP
Range of Values:
.br
.in +5
.nf
\f(CWOL_MINIMIZE/"minimize"
OL_MAXIMIZE/"maximize"
OL_IGNORE/"ignore"\f1
.in -5
.fi
.PP
This resource identifies the layout policy the \*(bW widget is
to follow:
.IP \f(CWOL_MINIMIZE\f1 8
The \*(bW widget will always be just large enough to contain
all its children,
regardless of any provided width and height values.
Thus the \*(bW widget will grow and shrink depending on the
size needs of its children.
.IP \f(CWOL_IGNORE\f1 8
The \*(bW widget will honor its own width and height;
it will not grow or shrink in response to the addition,
deletion, or altering of its children.
.IP \f(CWOL_MAXIMIZE\f1 8
The \*(bW widget will ask for additional space when it needs it
for new or altered children,
but will not give up extra space.
.P
\f3XtNtraversalManager\f1
.sp .5
This resource controls whether this widget manages traversal
for its descendants.
.XX TRAVERSAL .so SOURCEFILES/Widgets/common/XtN/nextTop
.XX TRANSPARENT .so SOURCEFILES/Widgets/common/XtN/transparent/composite
.XX TRAVERSAL .dH "CONSTRAINT RESOURCES"
.XX TRAVERSAL Each child widget attached to the \*(bW composite widget is
.XX TRAVERSAL constrained by the following resources.
.XX TRAVERSAL In essence,
.XX TRAVERSAL these resources become resources for each child widget,
.XX TRAVERSAL that can be set and read just like any other resources defined
.XX TRAVERSAL for the child.
.XX TRAVERSAL .ds cO
.XX TRAVERSAL .TS H
.XX TRAVERSAL allbox;
.XX TRAVERSAL cB s s s s.
.XX TRAVERSAL \*(bW Constraint Resource Set\\\\*(cO
.XX TRAVERSAL .T&
.XX TRAVERSAL lBp-2 lBp-2 lBp-2 lBp-2 lBp-2.
.XX TRAVERSAL Name	Class	Type	Default	Access
.XX TRAVERSAL _
.XX TRAVERSAL .TH
.XX TRAVERSAL .ds cO " (cont'd)
.XX TRAVERSAL .T&
.XX TRAVERSAL lp-2 lp-2 lp-2 lp-2 lp-2.
.XX TRAVERSAL XtNfocusRefName	XtCFocusRefName	String	NULL	SGI
.XX TRAVERSAL XtNfocusRefWidget	XtCFocusRefWidget	Widget	(bulletin board))	SGI
.XX TRAVERSAL .TE
.XX TRAVERSAL .so SOURCEFILES/Widgets/common/XtN/focusRefName
.XX TRAVERSAL .so SOURCEFILES/Widgets/common/XtN/focusRefWidget
.XX TRAVERSAL .dH "TRAVERSAL"
.XX TRAVERSAL \f3Moving Input Focus by Mnemonic\f1
.XX TRAVERSAL The \*(bW widget responds to a key that matches the mnemonic
.XX TRAVERSAL .P
.XX TRAVERSAL Tf one of its child widgets by moving the input focus to that
.XX TRAVERSAL child.
.XX TRAVERSAL Any other keys cause the system to beep.
.XX TRAVERSAL .P
.XX TRAVERSAL \f3Moving Input Focus by Child Request\f1
.XX TRAVERSAL .P
.XX TRAVERSAL The \*(bW widget expects the following requests from its child
.XX TRAVERSAL widgets:
.XX TRAVERSAL .IP "move input focus to peer widget" 8
.XX TRAVERSAL moves the input focus in the direction and distance requested.
.XX TRAVERSAL See
.XX TRAVERSAL \f3TRAVERSAL\f1
.XX TRAVERSAL for details on determining directional relationships among
.XX TRAVERSAL child widgets.
.XX TRAVERSAL .IP "move input focus to next category" 8
.XX TRAVERSAL moves the input focus to the next or previous child widget,
.XX TRAVERSAL as requested.
.XX TRAVERSAL The order for passing input focus is identified via the
.XX TRAVERSAL \f(CWXtNfocusRefWidget\f1
.XX TRAVERSAL or
.XX TRAVERSAL \f(CWXtNfocusRefName\f1
.XX TRAVERSAL resources or the
.XX TRAVERSAL \f(CWXtNnextTop\f1
.XX TRAVERSAL callback.
