'\" t .\" Traits.sgm /main/10 1996/09/08 21:23:02 rws $ .de P! .fl \!!1 setgray .fl \\&.\" .fl \!!0 setgray .fl \" force out current output buffer \!!save /psv exch def currentpoint translate 0 0 moveto \!!/showpage{}def .fl \" prolog .sy sed -e 's/^/!/' \\$1\" bring in postscript file \!!psv restore . .de pF .ie \\*(f1 .ds f1 \\n(.f .el .ie \\*(f2 .ds f2 \\n(.f .el .ie \\*(f3 .ds f3 \\n(.f .el .ie \\*(f4 .ds f4 \\n(.f .el .tm ? font overflow .ft \\$1 .. .de fP .ie !\\*(f4 \{\ . ft \\*(f4 . ds f4\" ' br \} .el .ie !\\*(f3 \{\ . ft \\*(f3 . ds f3\" ' br \} .el .ie !\\*(f2 \{\ . ft \\*(f2 . ds f2\" ' br \} .el .ie !\\*(f1 \{\ . ft \\*(f1 . ds f1\" ' br \} .el .tm ? font underflow .. .ds f1\" .ds f2\" .ds f3\" .ds f4\" .ta 8n 16n 24n 32n 40n 48n 56n 64n 72n .TH "Traits" 5 .SH "NAME" \fBTraits\fP \(em Lists the traits used by the Motif Toolkit\&. "Traits" .SH "DESCRIPTION" .PP A trait is a characteristic of a widget\&. A widget holding a particular trait is announcing a particular ability to other widgets\&. The following table summarizes the standard Motif traits\&. .PP .TS tab() box; c s l| l. \fBPurpose of Each Trait\fP \fBTrait Name\fPT{ \fBA Widget Holding This Trait Can Do The Following:\fP T} __ \fBXmQTaccessTextual\fPDisplay one primary text parcel\&. __ \fBXmQTactivatable\fPT{ Become a command button in a dialog box\&. T} __ \fBXmQTcareParentVisual\fPT{ Borrow its parent\&'s visual information\&. T} __ \fBXmQTcontainer\fPManage container item children\&. __ \fBXmQTcontainerItem\fPT{ Become a child of a container widget\&. T} __ \fBXmQTdialogShellSavvy\fPBecome a child of a DialogShell\&. __ \fBXmQTjoinSide\fPT{ Attach itself to one side of a suitable parent\&. T} __ \fBXmQTmenuSavvy\fPBecome a menu child\&. __ \fBXmQTmenuSystem\fPManage a menu system\&. __ \fBXmQTnavigator\fPT{ Act as a navigator to a scrollable widget\&. T} __ \fBXmQTscrollFrame\fPT{ Handle one or more navigator widgets\&. T} __ \fBXmQTspecifyRenderTable\fPT{ Supply the names of its default render tables\&. T} __ \fBXmQTtakesDefault\fPT{ Change its appearance to show that it is the default button\&. T} __ \fBXmQTtransfer\fPT{ Transfer data to other widgets and/or receive data from other widgets T} __ .TE .PP Traits are not often used in Motif application programs\&. However, traits are very important to widget writers\&. For complete details on traits, see the \fIMotif Widget Writer\&'s Guide\fP\&. .PP The following table lists the names of all widgets and gadgets in the standard Motif widget set that hold a particular trait\&. For example, the following table shows that the \fBXmQTcontainerItem\fP trait is held by the \fBXmIconGadget\fR\&. As the table suggests, some traits are held by many of the standard Motif widgets\&. .PP .TS tab() box; c s l| l. T{ \fBTrait Installation in Standard Widget Set\fP T} \fBTrait Name\fPT{ \fBIs Installed on The Following Widgets:\fP T} __ \fBXmQTaccessTextual\fPT{ \fBXmLabel\fP and all its subclasses; \fBXmLabelGadget\fP and all its subclasses; \fBXmText; XmTextField\fP T} __ \fBXmQTactivatable\fPT{ \fBXmArrowButton; XmArrowButtonGadget; XmDrawnButton; XmPushButton; XmPushButtonGadget\fP T} __ \fBXmQTcareParentVisual\fPT{ All the subclasses of \fBXmGadget\fP (but not \fBXmGadget\fP itself); \fBXmPrimitive\fP and all its subclasses T} __ \fBXmQTcontainer\fP\fBXmContainer\fP __ \fBXmQTcontainerItem\fP\fBXmIconGadget\fR __ \fBXmQTdialogShellSavvy\fP\fBXmBulletinBoard\fP __ \fBXmQTjoinSide\fPNo widgets install this trait __ \fBXmQTmenuSavvy\fPT{ \fBXmLabel; XmDrawnButton; XmCascadeButton; XmPushButton; XmToggleButton; XmLabelGadget; XmCascadeButtonGadget; XmPushButtonGadget; XmToggleButtonGadget\fP T} __ \fBXmQTmenuSystem\fP\fBXmRowColumn\fP __ \fBXmQTnavigator\fP\fBXmScrollBar; XmSpinBox\fP __ \fBXmQTscrollFrame\fP\fBXmNotebook; XmScrolledWindow\fP __ \fBXmQTspecifyRenderTable\fPT{ \fBXmBulletinBoard\fP and all its subclasses; \fBXmMenuShell; XmVendorShell\fP T} __ \fBXmQTtakesDefault\fP\fBXmPushButton; XmPushButtonGadget\fP __ \fBXmQTtransfer\fPT{ \fBXmContainer; XmLabel\fP and all its subclasses; \fBXmLabelGadget\fP and all its subclasses; \fBXmList; XmScale; XmText; XmTextField\fP T} __ .TE .PP The following table lists the traits installed on each widget\&. For example, the following table indicates that the \fBXmArrowButton\fP widget holds both the \fBXmQTactivatable\fP and \fBXmQTcareParentVisual\fP traits\&. .TS tab() box; c s l| l. \fBTrait Use by Widget\fP \fBWidget Name\fP\fBInstalls These Traits\fP __ \fB=\fP __ \fBXmArrowButton\fPT{ \fBXmQTactivatable, XmQTcareParentVisual\fP T} __ \fBXmArrowButtonGadget\fPT{ \fBXmQTactivatable, XmQTcareParentVisual\fP T} __ \fBXmBulletinBoard\fPT{ \fBXmQTdialogShellSavvy, XmQTspecifyRenderTable\fP T} __ \fBXmCascadeButton\fPT{ \fBXmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer\fP T} __ \fBXmCascadeButtonGadget\fPT{ \fBXmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer XmComboBox\fP T} __ \fBXmCommand\fP\fBXmQTspecifyRenderTable\fP __ \fBXmContainer\fP\fBXmQTcontainer, XmQTtransfer\fP __ \fBXmDialogShell\fPNone __ \fBXmDisplay\fPNone __ \fBXmDragContext\fPNone __ \fBXmDragIcon\fPNone __ \fBXmDrawingArea\fPNone __ \fBXmDrawnButton\fPT{ \fBXmQTaccessTextual, XmQTactivatable, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer\fP T} __ \fBXmDropTransfer\fPNone __ \fBXmFileSelectionBox\fP\fBXmQTspecifyRenderTable\fP __ \fBXmForm\fP\fBXmQTspecifyRenderTable\fP __ \fBXmFrame\fPNone __ \fBXmGadget\fPNone __ \fBXmIconGadget\fRT{ \fBXmQTcareParentVisual, XmQTcontainerItem\fP T} __ \fBXmLabel\fPT{ \fBXmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer\fP T} __ \fBXmLabelGadget\fPT{ \fBXmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer\fP T} __ \fBXmList\fP\fBXmQTcareParentVisual, XmQTtransfer\fP __ \fBXmMainWindow\fP __ \fBXmManager\fP __ \fBXmMenuShell\fP\fBXmQTspecifyRenderTable\fP __ \fBXmMessageBox\fP\fBXmQTspecifyRenderTable\fP __ \fBXmNotebook\fP\fBXmQTscrollFrame\fP __ \fBXmPanedWindow\fP __ \fBXmPrimitive\fP\fBXmQTcareParentVisual\fP __ \fBXmPushButton\fPT{ \fBXmQTaccessTextual, XmQTactivatable, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtakesDefault, XmQTtransfer\fP T} __ \fBXmPushButtonGadget\fPT{ \fBXmQTaccessTextual, XmQTactivatable, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtakesDefault, XmQTtransfer\fP T} __ \fBXmRowColumn\fP\fBXmQTmenuSystem\fP __ \fBXmScale\fP\fBXmQTtransfer\fP __ \fBXmScreen\fP __ \fBXmScrollbar\fP\fBXmQTcareParentVisual, XmQTnavigator\fP __ \fBXmScrolledWindow\fP\fBXmQTscrollFrame\fP __ \fBXmSelectionBox\fP\fBXmQTspecifyRenderTable\fP __ \fBXmSeparator\fP\fBXmQTcareParentVisual\fP __ \fBXmSeparatorGadget\fP\fBXmQTcareParentVisual\fP __ \fBXmSpinBox\fP\fBXmQTnavigator\fP __ \fBXmText\fPT{ \fBXmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer\fP T} __ \fBXmTextField\fPT{ \fBXmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer\fP T} __ \fBXmToggleButton\fPT{ \fBXmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer\fP T} __ \fBXmToggleButtonGadget\fPT{ \fBXmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer\fP T} __ \fBVendorShell\fP\fBXmQTspecifyRenderTable\fP __ .TE .PP The following table summarizes how the standard Motif widgets access traits\&. There are two general ways for a widget to access the traits of another widget\&. .PP One way is for a widget to ask another widget if it holds a particular trait\&. For example, \fBXmBulletinBoard\fP asks each of its children widgets if they hold the \fBXmQTtakesDefault\fP trait\&. \fBXmBulletinBoard\fP calls none of the trait methods of \fBXmQTtakesDefault\fP\&. .PP Another kind of access is when one widget calls another widget\&'s trait method(s)\&. For example, \fBXmBulletinBoard\fP calls the \fBgetRenderTable\fP trait method of the \fBXmQTspecifyRenderTable\fP trait\&. .TS tab() box; c s s l| l| l. \fBTrait Access By Widget\fP \fBWidget\fP\fBAccesses These Traits:\fP\fBCalls These Trait Methods:\fP ___ \fBXmArrowButton\fPNoneNone ___ \fBXmArrowButtonGadget\fPNoneNone ___ \fBXmBulletinBoard\fP\fBXmQTtakesDefault\fPNone ___ \fBXmBulletinBoard\fP\fBXmQTspecifyRenderTable\fP\fBgetRenderTable\fP ___ \fBXmCascadeButton\fP\fBXmQTmenuSystem\fPMany ___ \fBXmCascadeButton\fP\fBXmQTspecifyRenderTable\fP\fBgetRenderTable\fP ___ \fBXmCascadeButtonGadget\fP\fBXmQTmenuSystem\fPMany ___ \fBXmCascadeButtonGadget\fP\fBXmQTspecifyRenderTable\fP\fBgetRenderTable\fP ___ \fBXmComboBox\fP\fBXmQTaccessTextual\fP\fBgetValue, setValue\fP ___ \fBXmCommand\fPNoneNone ___ \fBXmContainer\fP\fBXmQTcontainerItem\fP\fBgetValues, setValues\fP ___ \fBXmContainer\fP\fBXmQTscrollFrame\fP\fBgetInfo\fP ___ \fBXmDialogShell\fP\fBXmQTdialogShellSavvy\fP\fBcallMapUnmapCB\fP ___ \fBXmDisplay\fPNoneNone ___ \fBXmDragContext\fPNoneNone ___ \fBXmDragIcon\fPNoneNone ___ \fBXmDrawingArea\fPNoneNone ___ \fBXmDrawnButton\fP\fBXmQTmenuSystem\fPMany ___ \fBXmDrawnButton\fP\fBXmQTspecifyRenderTable\fP\fBgetRenderTable\fP ___ \fBXmDropTransfer\fPNoneNone ___ \fBXmFileSelectionBox\fP\fBXmQTactivatable\fPNone ___ \fBXmForm\fPNoneNone ___ \fBXmFrame\fPNoneNone ___ \fBXmGadget\fPNoneNone ___ \fBXmIconGadget\fR\fBXmQTcontainer\fP\fBgetValues\fP ___ \fBXmIconGadget\fR\fBXmQTspecifyRenderTable\fP\fBgetRenderTable\fP ___ \fBXmLabel\fP\fBXmQTmenuSystem\fP\fBvarious methods\fP ___ \fBXmLabel\fP\fBXmQTspecifyRenderTable\fP\fBgetRenderTable\fP ___ \fBXmLabelGadget\fP\fBXmQTmenuSystem\fP\fBvarious methods\fP ___ \fBXmLabelGadget\fP\fBXmQTspecifyRenderTable\fP\fBgetRenderTable\fP ___ \fBXmList\fP\fBXmQTnavigator\fP\fBgetValues\fP ___ \fBXmList\fP\fBXmQTscrollFrame\fP\fBgetInfo, init\fP ___ \fBXmList\fP\fBXmQTspecifyRenderTable\fP\fBgetRenderTable\fP ___ \fBXmMainWindow\fP\fBXmQTmenuSystem\fP\fBvarious methods\fP ___ \fBXmManager\fPNoneNone ___ \fBXmMenuShell\fP\fBXmQTmenuSystem\fP\fBvarious methods\fP ___ \fBXmMenuShell\fP\fBXmQTspecifyRenderTable\fP\fBgetRenderTable\fP ___ \fBXmMessageBox\fP\fBXmQTactivatable\fPNone ___ \fBXmNotebook\fP\fBXmQTscrollFrame\fP\fBinit, addNavigator, removeNavigator\fP ___ \fBXmNotebook\fP\fBXmQTnavigator\fP\fBgetValue\fP ___ \fBXmNotebook\fP\fBXmQTactivatable\fP\fBchangeCB\fP ___ \fBXmNotebook\fP\fBXmQTaccessTextual\fPNone ___ \fBXmPanedWindow\fPNoneNone ___ \fBXmPrimitive\fPNoneNone ___ \fBXmPushButton\fP\fBXmQTmenuSystem\fP\fBvarious methods\fP ___ \fBXmPushButton\fP\fBXmQTspecifyRenderTable\fP\fBgetRenderTable\fP ___ \fBXmPushButtonGadget\fP\fBXmQTmenuSystem\fP\fBvarious methods\fP ___ \fBXmPushButtonGadget\fP\fBXmQTspecifyRenderTable\fP\fBgetRenderTable\fP ___ \fBXmRowColumn\fP\fBXmQTmenuSavvy\fPT{ \fBgetAccelerator, getMnemonic, getActivateCBName\fP T} ___ \fBXmRowColumn\fP\fBXmQTmenuSystem\fP\fBvarious methods\fP ___ \fBXmScale\fP\fBXmQTspecifyRenderTable\fP\fBgetRenderTable\fP ___ \fBXmScreen\fPNoneNone ___ \fBXmScrollbar\fPNoneNone ___ \fBXmScrolledWindow\fP\fBXmQTnavigator\fP\fBgetValue\fP ___ \fBXmScrolledWindow\fP\fBXmQTscrollFrame\fP\fBinit, addNavigator\fP ___ \fBXmSelectionBox\fP\fBXmQTaccessTextual\fP\fBsetValue;\fP ___ \fBXmSelectionBox\fP\fBXmQTactivatable\fPNone ___ \fBXmSeparator\fPNoneNone ___ \fBXmSeparatorGadget\fPNoneNone ___ \fBXmSpinBox\fP\fBXmQTaccessTextual\fP\fBsetValue\fP ___ \fBXmText\fP\fBXmQTaccessTextual\fP\fBgetValue, setValue\fP ___ \fBXmText\fP\fBXmQTnavigator\fP\fBgetValue\fP ___ \fBXmText\fP\fBXmQTscrollFrame\fP\fBgetInfo, init\fP ___ \fBXmText\fP\fBXmQTspecifyRenderTable\fP\fBgetRenderTable\fP ___ \fBXmTextField\fP\fBXmQTspecifyRenderTable\fP\fBgetRenderTable\fP ___ \fBXmToggleButton\fP\fBXmQTmenuSystem\fP\fBvarious methods\fP ___ \fBXmToggleButton\fP\fBXmQTspecifyRenderTable\fP\fBgetRenderTable\fP ___ \fBXmToggleButtonGadget\fP\fBXmQTmenuSystem\fP\fBvarious methods\fP ___ \fBXmToggleButtonGadget\fP\fBXmQTspecifyRenderTable\fP\fBgetRenderTable\fP ___ \fBVendorShell\fP\fBXmQTspecifyRenderTable\fP\fBgetRenderTable\fP ___ .TE .SH "RELATED" .PP The following reference pages are documented in the \fIMotif Widget Writer\&'s Guide\fP: \fBXmeTraitSet\fP(3), \fBXmeTraitGet\fP(3), \fBXmQTaccessTextual\fP(3), \fBXmQTactivatable\fP(3), \fBXmQTcareParentVisual\fP(3), \fBXmQTcontainer\fP(3), \fBXmQTcontainerItem\fP(3), \fBXmQTdialogShellSavvy\fP(3), \fBXmQTjoinSide\fP(3), \fBXmQTmenuSavvy\fP(3), \fBXmQTmenuSystem\fP(3), \fBXmQTnavigator\fP(3), \fBXmQTscrollFrame\fP(3), \fBXmQTspecifyRenderTable\fP(3), and \fBXmQTtakesDefault\fP(3)\&. .\" created by instant / docbook-to-man, Sun 22 Dec 1996, 20:36