'\" 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" "file formats" .SH "NAME" \fBTraits\fP \(em Lists the traits used by the Motif Toolkit\&. .iX "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