Traits(5) Lists the traits used by the Motif Toolkit.

DESCRIPTION

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.

Purpose of Each Trait
Trait Name A Widget Holding This Trait Can Do The Following:


XmQTaccessTextualDisplay one primary text parcel.


XmQTactivatable Become a command button in a dialog box.


XmQTcareParentVisual Borrow its parent's visual information.


XmQTcontainerManage container item children.


XmQTcontainerItem Become a child of a container widget.


XmQTdialogShellSavvyBecome a child of a DialogShell.


XmQTjoinSide Attach itself to one side of a suitable parent.


XmQTmenuSavvyBecome a menu child.


XmQTmenuSystemManage a menu system.


XmQTnavigator Act as a navigator to a scrollable widget.


XmQTscrollFrame Handle one or more navigator widgets.


XmQTspecifyRenderTable Supply the names of its default render tables.


XmQTtakesDefault Change its appearance to show that it is the default button.


XmQTtransfer Transfer data to other widgets and/or receive data from other widgets


Traits are not often used in Motif application programs. However, traits are very important to widget writers. For complete details on traits, see the Motif Widget Writer's Guide.

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 XmQTcontainerItem trait is held by the XmIconGadget. As the table suggests, some traits are held by many of the standard Motif widgets.

Trait Installation in Standard Widget Set
Trait Name Is Installed on The Following Widgets:


XmQTaccessTextual XmLabel and all its subclasses; XmLabelGadget and all its subclasses; XmText; XmTextField


XmQTactivatable XmArrowButton; XmArrowButtonGadget; XmDrawnButton; XmPushButton; XmPushButtonGadget


XmQTcareParentVisual All the subclasses of XmGadget (but not XmGadget itself); XmPrimitive and all its subclasses


XmQTcontainerXmContainer


XmQTcontainerItemXmIconGadget


XmQTdialogShellSavvyXmBulletinBoard


XmQTjoinSideNo widgets install this trait


XmQTmenuSavvy XmLabel; XmDrawnButton; XmCascadeButton; XmPushButton; XmToggleButton; XmLabelGadget; XmCascadeButtonGadget; XmPushButtonGadget; XmToggleButtonGadget


XmQTmenuSystemXmRowColumn


XmQTnavigatorXmScrollBar; XmSpinBox


XmQTscrollFrameXmNotebook; XmScrolledWindow


XmQTspecifyRenderTable XmBulletinBoard and all its subclasses; XmMenuShell; XmVendorShell


XmQTtakesDefaultXmPushButton; XmPushButtonGadget


XmQTtransfer XmContainer; XmLabel and all its subclasses; XmLabelGadget and all its subclasses; XmList; XmScale; XmText; XmTextField


The following table lists the traits installed on each widget. For example, the following table indicates that the XmArrowButton widget holds both the XmQTactivatable and XmQTcareParentVisual traits.

Trait Use by
Widget
Widget NameInstalls These Traits


=


XmArrowButton XmQTactivatable, XmQTcareParentVisual


XmArrowButtonGadget XmQTactivatable, XmQTcareParentVisual


XmBulletinBoard XmQTdialogShellSavvy, XmQTspecifyRenderTable


XmCascadeButton XmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer


XmCascadeButtonGadget XmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer XmComboBox


XmCommandXmQTspecifyRenderTable


XmContainerXmQTcontainer, XmQTtransfer


XmDialogShellNone


XmDisplayNone


XmDragContextNone


XmDragIconNone


XmDrawingAreaNone


XmDrawnButton XmQTaccessTextual, XmQTactivatable, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer


XmDropTransferNone


XmFileSelectionBoxXmQTspecifyRenderTable


XmFormXmQTspecifyRenderTable


XmFrameNone


XmGadgetNone


XmIconGadget XmQTcareParentVisual, XmQTcontainerItem


XmLabel XmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer


XmLabelGadget XmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer


XmListXmQTcareParentVisual, XmQTtransfer


XmMainWindow


XmManager


XmMenuShellXmQTspecifyRenderTable


XmMessageBoxXmQTspecifyRenderTable


XmNotebookXmQTscrollFrame


XmPanedWindow


XmPrimitiveXmQTcareParentVisual


XmPushButton XmQTaccessTextual, XmQTactivatable, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtakesDefault, XmQTtransfer


XmPushButtonGadget XmQTaccessTextual, XmQTactivatable, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtakesDefault, XmQTtransfer


XmRowColumnXmQTmenuSystem


XmScaleXmQTtransfer


XmScreen


XmScrollbarXmQTcareParentVisual, XmQTnavigator


XmScrolledWindowXmQTscrollFrame


XmSelectionBoxXmQTspecifyRenderTable


XmSeparatorXmQTcareParentVisual


XmSeparatorGadgetXmQTcareParentVisual


XmSpinBoxXmQTnavigator


XmText XmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer


XmTextField XmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer


XmToggleButton XmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer


XmToggleButtonGadget XmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer


VendorShellXmQTspecifyRenderTable


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.

One way is for a widget to ask another widget if it holds a particular trait. For example, XmBulletinBoard asks each of its children widgets if they hold the XmQTtakesDefault trait. XmBulletinBoard calls none of the trait methods of XmQTtakesDefault.

Another kind of access is when one widget calls another widget's trait method(s). For example, XmBulletinBoard calls the getRenderTable trait method of the XmQTspecifyRenderTable trait.

Trait Access By
Widget
WidgetAccesses These Traits:Calls These Trait Methods:



XmArrowButtonNoneNone



XmArrowButtonGadgetNoneNone



XmBulletinBoardXmQTtakesDefaultNone



XmBulletinBoardXmQTspecifyRenderTablegetRenderTable



XmCascadeButtonXmQTmenuSystemMany



XmCascadeButtonXmQTspecifyRenderTablegetRenderTable



XmCascadeButtonGadgetXmQTmenuSystemMany



XmCascadeButtonGadgetXmQTspecifyRenderTablegetRenderTable



XmComboBoxXmQTaccessTextualgetValue, setValue



XmCommandNoneNone



XmContainerXmQTcontainerItemgetValues, setValues



XmContainerXmQTscrollFramegetInfo



XmDialogShellXmQTdialogShellSavvycallMapUnmapCB



XmDisplayNoneNone



XmDragContextNoneNone



XmDragIconNoneNone



XmDrawingAreaNoneNone



XmDrawnButtonXmQTmenuSystemMany



XmDrawnButtonXmQTspecifyRenderTablegetRenderTable



XmDropTransferNoneNone



XmFileSelectionBoxXmQTactivatableNone



XmFormNoneNone



XmFrameNoneNone



XmGadgetNoneNone



XmIconGadgetXmQTcontainergetValues



XmIconGadgetXmQTspecifyRenderTablegetRenderTable



XmLabelXmQTmenuSystemvarious methods



XmLabelXmQTspecifyRenderTablegetRenderTable



XmLabelGadgetXmQTmenuSystemvarious methods



XmLabelGadgetXmQTspecifyRenderTablegetRenderTable



XmListXmQTnavigatorgetValues



XmListXmQTscrollFramegetInfo, init



XmListXmQTspecifyRenderTablegetRenderTable



XmMainWindowXmQTmenuSystemvarious methods



XmManagerNoneNone



XmMenuShellXmQTmenuSystemvarious methods



XmMenuShellXmQTspecifyRenderTablegetRenderTable



XmMessageBoxXmQTactivatableNone



XmNotebookXmQTscrollFrameinit, addNavigator, removeNavigator



XmNotebookXmQTnavigatorgetValue



XmNotebookXmQTactivatablechangeCB



XmNotebookXmQTaccessTextualNone



XmPanedWindowNoneNone



XmPrimitiveNoneNone



XmPushButtonXmQTmenuSystemvarious methods



XmPushButtonXmQTspecifyRenderTablegetRenderTable



XmPushButtonGadgetXmQTmenuSystemvarious methods



XmPushButtonGadgetXmQTspecifyRenderTablegetRenderTable



XmRowColumnXmQTmenuSavvy getAccelerator, getMnemonic, getActivateCBName



XmRowColumnXmQTmenuSystemvarious methods



XmScaleXmQTspecifyRenderTablegetRenderTable



XmScreenNoneNone



XmScrollbarNoneNone



XmScrolledWindowXmQTnavigatorgetValue



XmScrolledWindowXmQTscrollFrameinit, addNavigator



XmSelectionBoxXmQTaccessTextualsetValue;



XmSelectionBoxXmQTactivatableNone



XmSeparatorNoneNone



XmSeparatorGadgetNoneNone



XmSpinBoxXmQTaccessTextualsetValue



XmTextXmQTaccessTextualgetValue, setValue



XmTextXmQTnavigatorgetValue



XmTextXmQTscrollFramegetInfo, init



XmTextXmQTspecifyRenderTablegetRenderTable



XmTextFieldXmQTspecifyRenderTablegetRenderTable



XmToggleButtonXmQTmenuSystemvarious methods



XmToggleButtonXmQTspecifyRenderTablegetRenderTable



XmToggleButtonGadgetXmQTmenuSystemvarious methods



XmToggleButtonGadgetXmQTspecifyRenderTablegetRenderTable



VendorShellXmQTspecifyRenderTablegetRenderTable



RELATED

The following reference pages are documented in the Motif Widget Writer's Guide: XmeTraitSet(3), XmeTraitGet(3), XmQTaccessTextual(3), XmQTactivatable(3), XmQTcareParentVisual(3), XmQTcontainer(3), XmQTcontainerItem(3), XmQTdialogShellSavvy(3), XmQTjoinSide(3), XmQTmenuSavvy(3), XmQTmenuSystem(3), XmQTnavigator(3), XmQTscrollFrame(3), XmQTspecifyRenderTable(3), and XmQTtakesDefault(3).