Traits(file formats) Traits(file formats)

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