Traits - Man Page

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 NameA Widget Holding This Trait Can Do The Following:


XmQTaccessTextualDisplay one primary text parcel.


XmQTactivatableBecome a command button in a dialog box.


XmQTcareParentVisualBorrow its parent's visual information.


XmQTcontainerManage container item children.


XmQTcontainerItemBecome a child of a container widget.


XmQTdialogShellSavvyBecome a child of a DialogShell.


XmQTjoinSideAttach itself to one side of a suitable parent.


XmQTmenuSavvyBecome a menu child.


XmQTmenuSystemManage a menu system.


XmQTnavigatorAct as a navigator to a scrollable widget.


XmQTscrollFrameHandle one or more navigator widgets.


XmQTspecifyRenderTableSupply the names of its default render tables.


XmQTtakesDefaultChange its appearance to show that it is the default button.


XmQTtransferTransfer 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 NameIs Installed on The Following Widgets:


XmQTaccessTextualXmLabel and all its subclasses; XmLabelGadget and all its subclasses; XmText; XmTextField


XmQTactivatableXmArrowButton; XmArrowButtonGadget; XmDrawnButton; XmPushButton; XmPushButtonGadget


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


XmQTcontainerXmContainer


XmQTcontainerItemXmIconGadget


XmQTdialogShellSavvyXmBulletinBoard


XmQTjoinSideNo widgets install this trait


XmQTmenuSavvyXmLabel; XmDrawnButton; XmCascadeButton; XmPushButton; XmToggleButton; XmLabelGadget; XmCascadeButtonGadget; XmPushButtonGadget; XmToggleButtonGadget


XmQTmenuSystemXmRowColumn


XmQTnavigatorXmScrollBar; XmSpinBox


XmQTscrollFrameXmNotebook; XmScrolledWindow


XmQTspecifyRenderTableXmBulletinBoard and all its subclasses; XmMenuShell; XmVendorShell


XmQTtakesDefaultXmPushButton; XmPushButtonGadget


XmQTtransferXmContainer; 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


=


XmArrowButtonXmQTactivatable, XmQTcareParentVisual


XmArrowButtonGadgetXmQTactivatable, XmQTcareParentVisual


XmBulletinBoardXmQTdialogShellSavvy, XmQTspecifyRenderTable


XmCascadeButtonXmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer


XmCascadeButtonGadgetXmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer XmComboBox


XmCommandXmQTspecifyRenderTable


XmContainerXmQTcontainer, XmQTtransfer


XmDialogShellNone


XmDisplayNone


XmDragContextNone


XmDragIconNone


XmDrawingAreaNone


XmDrawnButtonXmQTaccessTextual, XmQTactivatable, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer


XmDropTransferNone


XmFileSelectionBoxXmQTspecifyRenderTable


XmFormXmQTspecifyRenderTable


XmFrameNone


XmGadgetNone


XmIconGadgetXmQTcareParentVisual, XmQTcontainerItem


XmLabelXmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer


XmLabelGadgetXmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer


XmListXmQTcareParentVisual, XmQTtransfer


XmMainWindow


XmManager


XmMenuShellXmQTspecifyRenderTable


XmMessageBoxXmQTspecifyRenderTable


XmNotebookXmQTscrollFrame


XmPanedWindow


XmPrimitiveXmQTcareParentVisual


XmPushButtonXmQTaccessTextual, XmQTactivatable, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtakesDefault, XmQTtransfer


XmPushButtonGadgetXmQTaccessTextual, XmQTactivatable, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtakesDefault, XmQTtransfer


XmRowColumnXmQTmenuSystem


XmScaleXmQTtransfer


XmScreen


XmScrollbarXmQTcareParentVisual, XmQTnavigator


XmScrolledWindowXmQTscrollFrame


XmSelectionBoxXmQTspecifyRenderTable


XmSeparatorXmQTcareParentVisual


XmSeparatorGadgetXmQTcareParentVisual


XmSpinBoxXmQTnavigator


XmTextXmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer


XmTextFieldXmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer


XmToggleButtonXmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer


XmToggleButtonGadgetXmQTaccessTextual, 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



XmRowColumnXmQTmenuSavvygetAccelerator, 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