[ Previous | Next | Contents | Glossary | Home | Search ]
Motif 2.1 Files Reference


Lists the traits used by the Motif Toolkit.


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:
XmQTaccessTextual Display one primary text parcel.
XmQTactivatable Become a command button in a dialog box.
XmQTcareParentVisual Borrow its parent's visual information.
XmQTcontainer Manage container item children.
XmQTcontainerItem Become a child of a container widget.
XmQTdialogShellSavvy Become a child of a DialogShell.
XmQTjoinSide Attach itself to one side of a suitable parent.
XmQTmenuSavvy Become a menu child.
XmQTmenuSystem Manage 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
XmQTcontainer XmContainer
XmQTcontainerItem XmIconGadget
XmQTdialogShellSavvy XmBulletinBoard
XmQTjoinSide No widgets install this trait
XmQTmenuSavvy XmLabel; XmDrawnButton; XmCascadeButton; XmPushButton; XmToggleButton; XmLabelGadget; XmCascadeButtonGadget; XmPushButtonGadget; XmToggleButtonGadget
XmQTmenuSystem XmRowColumn
XmQTnavigator XmScrollBar; XmSpinBox
XmQTscrollFrame XmNotebook; XmScrolledWindow
XmQTspecifyRenderTable XmBulletinBoard and all its subclasses; XmMenuShell; XmVendorShell
XmQTtakesDefault XmPushButton; 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 Name Installs These Traits
XmArrowButton XmQTactivatable, XmQTcareParentVisual
XmArrowButtonGadget XmQTactivatable, XmQTcareParentVisual
XmBulletinBoard XmQTdialogShellSavvy, XmQTspecifyRenderTable
XmCascadeButton XmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer
XmCascadeButtonGadget XmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer XmComboBox
XmCommand XmQTspecifyRenderTable
XmContainer XmQTcontainer, XmQTtransfer
XmDialogShell None
XmDisplay None
XmDragContext None
XmDragIcon None
XmDrawingArea None
XmDrawnButton XmQTaccessTextual, XmQTactivatable, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer
XmDropTransfer None
XmFileSelectionBox XmQTspecifyRenderTable
XmForm XmQTspecifyRenderTable
XmFrame None
XmGadget None
XmIconGadget XmQTcareParentVisual, XmQTcontainerItem
XmLabel XmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer
XmLabelGadget XmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer
XmList XmQTcareParentVisual, XmQTtransfer
XmMenuShell XmQTspecifyRenderTable
XmMessageBox XmQTspecifyRenderTable
XmNotebook XmQTscrollFrame
XmPrimitive XmQTcareParentVisual
XmPushButton XmQTaccessTextual, XmQTactivatable, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtakesDefault, XmQTtransfer
XmPushButtonGadget XmQTaccessTextual, XmQTactivatable, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtakesDefault, XmQTtransfer
XmRowColumn XmQTmenuSystem
XmScale XmQTtransfer
XmScrollbar XmQTcareParentVisual, XmQTnavigator
XmScrolledWindow XmQTscrollFrame
XmSelectionBox XmQTspecifyRenderTable
XmSeparator XmQTcareParentVisual
XmSeparatorGadget XmQTcareParentVisual
XmSpinBox XmQTnavigator
XmText XmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer
XmTextField XmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer
XmToggleButton XmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer
XmToggleButtonGadget XmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer
VendorShell XmQTspecifyRenderTable

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
Widget Accesses These Traits: Calls These Trait Methods:
XmArrowButton None None
XmArrowButtonGadget None None
XmBulletinBoard XmQTtakesDefault None
XmBulletinBoard XmQTspecifyRenderTable getRenderTable
XmCascadeButton XmQTmenuSystem Many
XmCascadeButton XmQTspecifyRenderTable getRenderTable
XmCascadeButtonGadget XmQTmenuSystem Many
XmCascadeButtonGadget XmQTspecifyRenderTable getRenderTable
XmComboBox XmQTaccessTextual getValue, setValue
XmCommand None None
XmContainer XmQTcontainerItem getValues, setValues
XmContainer XmQTscrollFrame getInfo
XmDialogShell XmQTdialogShellSavvy callMapUnmapCB
XmDisplay None None
XmDragContext None None
XmDragIcon None None
XmDrawingArea None None
XmDrawnButton XmQTmenuSystem Many
XmDrawnButton XmQTspecifyRenderTable getRenderTable
XmDropTransfer None None
XmFileSelectionBox XmQTactivatable None
XmForm None None
XmFrame None None
XmGadget None None
XmIconGadget XmQTcontainer getValues
XmIconGadget XmQTspecifyRenderTable getRenderTable
XmLabel XmQTmenuSystem various methods
XmLabel XmQTspecifyRenderTable getRenderTable
XmLabelGadget XmQTmenuSystem various methods
XmLabelGadget XmQTspecifyRenderTable getRenderTable
XmList XmQTnavigator getValues
XmList XmQTscrollFrame getInfo, init
XmList XmQTspecifyRenderTable getRenderTable
XmMainWindow XmQTmenuSystem various methods
XmManager None None
XmMenuShell XmQTmenuSystem various methods
XmMenuShell XmQTspecifyRenderTable getRenderTable
XmMessageBox XmQTactivatable None
XmNotebook XmQTscrollFrame init, addNavigator, removeNavigator
XmNotebook XmQTnavigator getValue
XmNotebook XmQTactivatable changeCB
XmNotebook XmQTaccessTextual None
XmPanedWindow None None
XmPrimitive None None
XmPushButton XmQTmenuSystem various methods
XmPushButton XmQTspecifyRenderTable getRenderTable
XmPushButtonGadget XmQTmenuSystem various methods
XmPushButtonGadget XmQTspecifyRenderTable getRenderTable
XmRowColumn XmQTmenuSavvy getAccelerator, getMnemonic, getActivateCBName
XmRowColumn XmQTmenuSystem various methods
XmScale XmQTspecifyRenderTable getRenderTable
XmScreen None None
XmScrollbar None None
XmScrolledWindow XmQTnavigator getValue
XmScrolledWindow XmQTscrollFrame init, addNavigator
XmSelectionBox XmQTaccessTextual setValue;
XmSelectionBox XmQTactivatable None
XmSeparator None None
XmSeparatorGadget None None
XmSpinBox XmQTaccessTextual setValue
XmText XmQTaccessTextual getValue, setValue
XmText XmQTnavigator getValue
XmText XmQTscrollFrame getInfo, init
XmText XmQTspecifyRenderTable getRenderTable
XmTextField XmQTspecifyRenderTable getRenderTable
XmToggleButton XmQTmenuSystem various methods
XmToggleButton XmQTspecifyRenderTable getRenderTable
XmToggleButtonGadget XmQTmenuSystem various methods
XmToggleButtonGadget XmQTspecifyRenderTable getRenderTable
VendorShell XmQTspecifyRenderTable getRenderTable


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).

[ Previous | Next | Contents | Glossary | Home | Search ]