DOKK / manpages / debian 12 / libmotif-dev / Traits.5.en
Traits(5) File Formats Manual Traits(5)

Traits — Lists the traits used by the Motif Toolkit. "Traits"

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


XmMainWindow


XmManager


XmMenuShell XmQTspecifyRenderTable


XmMessageBox XmQTspecifyRenderTable


XmNotebook XmQTscrollFrame


XmPanedWindow


XmPrimitive XmQTcareParentVisual


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


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


XmRowColumn XmQTmenuSystem


XmScale XmQTtransfer


XmScreen


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