XmQTjoinSide(3X)
XmQTjoinSide - A child widget holding this trait can be attached to one side of a suitable parent widget
As shipped in IRIX 6.5.30. Added in IRIX 6.5.5.
NAME XmQTjoinSide - A child widget holding this trait can be attached to one side of a suitable parent widget SYNOPSIS #include <Xm/JoinSideT.h> typedef struct { int version; XmJoinSideSetValueProc setValue; XmJoinSideGetValueProc getValue; } XmJoinSideTraitRec, *XmJoinSideTrait; void (*XmJoinSideSetValueProc)( Widget, unsigned char, Dimension, unsigned char (*XmJoinSideGetValueProc)( Widget, Dimension); VERSION This page documents Motif 2.1. DESCRIPTION A child widget holding the XmQTjoinSide trait knows how to affix itself to one side of its parent (assuming that the parent supports this trait). For example, the demonstration widget ExmTabButton can affix itself to one side of the XmNotebook widget. The affixed widget resembles a handle coming out of one side of the parent. The join side is the side of the child widget that is joined to the parent. For example, if the join side of the child is the left side, then the left side of the child is affixed to the right side of the parent. The join thickness is the shadow thickness of the parent. For example, if the parent has a shadow thickness of 4 pixels, then the join thickness must be 4 pixels. The child is responsible for providing visuals that make it appear that the child is attached or "growing out of" the parent. To do this, the child and parent must share a common join thickness on the join side. In other words, the child is responsible for drawing a visual "handle" that is as thick as the parent's shadow. The parent is responsible for telling the child what the join thickness is. The parent does this by calling the child's setValue trait method. Although not required, the child may also want to clear part of the join side. The ExmTabButton demonstration widget does this to enhance the illusion that the child is affixed to its parent. Child widgets holding this trait must provide the setValuetrait method and should also provide the getValue trait method. Currently, no standard Motif widgets hold this trait, and only the XmNotebook widget examines its children for this trait. The setValue Trait Method void setValue( Widget childWidget, unsigned char join_side, Dimension join_thickness); The setValue trait method is responsible for assigning the visual characteristics for the side of the child widget that gets joined to its parent. childWidget Specifies the child widget that is to be joined to its parent. join_side Specifies the side of the child widget that is to be joined to the parent. The join_side must be one of the following: XmNONE, XmLEFT, XmRIGHT, XmTOP, or XmBOTTOM. Specifying XmNONE means that the manager will not provide an open side. In other words, XmNONE should make the childWidgetbehave like a widget that does not hold the XmQTjoinSide trait. join_thickness Specifies the thickness (in pixels) of the shadow on the join side. A thickness of 0 means that the manager and child will not be joined. The getValue Trait Method unsigned char getValue( Widget childWidget, Dimension *join_thickness); The getValue trait method is responsible for returning the visual characteristics for the side of the child widget that gets joined to its parent. childWidget Specifies the child widget that is to be joined to its parent. join_thickness Returns the thickness (in pixels) of the shadow on the join side. This method must return a constant symbolizing the join side. The returned value must be one of the following: XmLEFT, XmRIGHT, XmTOP, XmBOTTOM, or XmNONE. RELATED ExmTabButton(3) and XmNotebook(3).