XmQTjoinSide(3X) UNIX System V XmQTjoinSide(3X)
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.
Page 1 (printed 7/20/06)
XmQTjoinSide(3X) UNIX System V XmQTjoinSide(3X)
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.
Page 2 (printed 7/20/06)
XmQTjoinSide(3X) UNIX System V XmQTjoinSide(3X)
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).
Page 3 (printed 7/20/06)