XMFORM(3)
๐ธ XmForm(library call) ๐ธ
๐ NAME ๐
XmForm โ The Form widget class
โจ SYNOPSIS โจ
#include <Xm/Form.h>
๐ DESCRIPTION ๐
Okay bestie, so Form is a container widget with no input semantics of its own. Constraints get placed on the children of the Form to define attachments for each of the childโs four sides. These attachments can be to the Form, to another child widget or gadget, to a relative position within the Form, or to the initial position of the child. And these attachments? They determine the layout behavior of the Form when resizing occurs. Periodt.
The default value for XmNinitialFocus is the value of XmNdefaultButton.
Following are some important considerations in using a Form:
- Every child must have an attachment on either the left or the right. If initialization or
XtSetValuesleaves a widget without such an attachment, the result depends upon the value ofXmNrubberPositioning.- If
XmNrubberPositioningisFalse, the child is given anXmNleftAttachmentofXmATTACH_FORMand anXmNleftOffsetequal to its currentxvalue. - If
XmNrubberPositioningisTrue, the child is given anXmNleftAttachmentofXmATTACH_POSITIONand anXmNleftPositionproportional to the currentxvalue divided by the width of the Form. - In either case, if the child has not been previously given an
xvalue, itsxvalue is taken to be0(zero), which places the child at the left side of the Form.
- If
- If you want to create a child without any attachments, and then later (for example, after creating and managing it, but before realizing it) give it a right attachment through
XtSetValues, you must set itsXmNleftAttachmenttoXmATTACH_NONEat the same time. - The
XmNresizableresource controls only whether a geometry request by the child will be granted. It has no effect on whether the childโs size can be changed because of changes in geometry of the Form or of other children. - Every child has a preferred width, based on geometry requests it makes (whether they are granted or not).
- If a child has attachments on both the left and the right sides, its size is completely controlled by the Form. It can be shrunk below its preferred width or enlarged above it, if necessary, due to other constraints. In addition, the childโs geometry requests to change its own width may be refused.
- If a child has attachments on only its left or right side, it will always be at its preferred width (if resizable, otherwise at is current width). This may cause it to be clipped by the Form or by other children.
- If a childโs left (or right) attachment is set to
XmATTACH_SELF, its corresponding left (or right) offset is forced to0(zero). The attachment is then changed toXmATTACH_POSITION, with a position that corresponds to thexvalue of the childโs left (or right) edge. To fix the position of a side at a specificxvalue, useXmATTACH_FORMorXmATTACH_OPPOSITE_FORMwith thexvalue as the left (or right) offset. - Unmapping a child has no effect on the Form except that the child is not mapped.
- Unmanaging a child unmaps it. If no other child is attached to it, or if all children attached to it and all children recursively attached to them are also all unmanaged, all of those children are treated as if they did not exist in determining the size of the Form.
- When using
XtSetValuesto change theXmNxresource of a child, you must simultaneously set its left attachment to eitherXmATTACH_SELForXmATTACH_NONE. Otherwise, the request is not granted. IfXmNresizableisFalse, the request is granted only if the childโs size can remain the same. - A left (or right) attachment of
XmATTACH_WIDGET, whereXmNleftWidget(orXmNrightWidget) isNULL, acts like an attachment ofXmATTACH_FORM. - If an attachment is made to a widget that is not a child of the Form, but an ancestor of the widget is a child of the Form, the attachment is made to the ancestor.
All these considerations are true of top and bottom attachments as well, with top acting like left, bottom acting like right, y acting like x, and height acting like width.
๐ฆ Classes ๐ฆ
Form inherits behavior, resources, and traits from Core, Composite, Constraint, XmManager, and XmBulletinBoard.
The class pointer is xmFormWidgetClass.
The class name is XmForm.
๐ New Resources ๐
The following table defines a set of widget resources used by the programmer to specify data. The programmer can also set the resource values for the inherited classes to set attributes for this widget. To reference a resource by name or by class in a .Xdefaults file, remove the XmN or XmC prefix and use the remaining letters. To specify one of the defined values for a resource in a .Xdefaults file, remove the Xm prefix and use the remaining letters (in either lowercase or uppercase, but include any underscores between words). The codes in the access column indicate if the given resource can be set at creation time (C), set by using XtSetValues (S), retrieved by using XtGetValues (G), or is not applicable (N/A).
๐ซ XmForm Resource Set ๐ซ
XmNfractionBaseโ Class:XmCMaxValue, Type:int, Default:100, Access:CSG
Specifies the denominator used in calculating the relative position of a child widget using XmATTACH_POSITION constraints. The value must not be 0 (zero).
If the value of a childโs XmNleftAttachment (or XmNrightAttachment) is XmATTACH_POSITION, the position of the left (or right) side of the child is relative to the left side of the Form and is a fraction of the width of the Form. This fraction is the value of the childโs XmNleftPosition (or XmNrightPosition) resource divided by the value of the Formโs XmNfractionBase.
If the value of a childโs XmNtopAttachment (or XmNbottomAttachment) is XmATTACH_POSITION, the position of the top (or bottom) side of the child is relative to the top side of the Form and is a fraction of the height of the Form. This fraction is the value of the childโs XmNtopPosition (or XmNbottomPosition) resource divided by the value of the Formโs XmNfractionBase.
XmNhorizontalSpacingโ Class:XmCSpacing, Type:Dimension, Default:0, Access:CSG
Specifies the offset for right and left attachments. This resource is only used if no offset resource is specified (when attaching to a widget), or if no margin resource is specified (when attaching to the Form).
XmNrubberPositioningโ Class:XmCRubberPositioning, Type:Boolean, Default:False, Access:CSG
Indicates the default near (left) and top attachments for a child of the Form. (Note that whether this resource actually applies to the left or right side of the child and its attachment depends on the value of the XmNlayoutDirection.)
The default left attachment is applied whenever initialization or XtSetValues leaves the child without either a left or right attachment. The default top attachment is applied whenever initialization or XtSetValues leaves the child without either a top or bottom attachment.
If this Boolean resource is set to False, XmNleftAttachment and XmNtopAttachment default to XmATTACH_FORM, XmNleftOffset defaults to the current x value of the left side of the child, and XmNtopOffset defaults to the current y value of the child. The effect is to position the child according to its absolute distance from the left or top side of the Form.
If this resource is set to True, XmNleftAttachment and XmNtopAttachment default to XmATTACH_POSITION, XmNleftPosition defaults to a value proportional to the current x value of the left side of the child divided by the width of the Form, and XmNtopPosition defaults to a value proportional to the current y value of the child divided by the height of the Form. The effect is to position the child relative to the left or top side of the Form and in proportion to the width or height of the Form.
XmNverticalSpacingโ Class:XmCSpacing, Type:Dimension, Default:0, Access:CSG
Specifies the offset for top and bottom attachments. This resource is only used if no offset resource is specified (when attaching to a widget), or if no margin resource is specified (when attaching to the Form).
๐ธ XmForm Constraint Resource Set ๐ธ
okay bestie, so XmForm doesn't just vibe on its own โ it hands every single one of its children a whole lil' toolkit of constraint resources ๐ and this is the complete roster. Every one of these gets set on the kid, not on the Form, and they all share the same access code, so you already know: CSG, every time, no cap ๐
Here's the whole fam, name โ class โ type โ default โ access:
XmNbottomAttachmentโ classXmCAttachment, typeunsigned char, defaultXmATTACH_NONE, accessCSGXmNbottomOffsetโ classXmCOffset, typeint, default0, accessCSGXmNbottomPositionโ classXmCPosition, typeint, default0, accessCSGXmNbottomWidgetโ classXmCWidget, typeWidget, defaultNULL, accessCSGXmNleftAttachmentโ classXmCAttachment, typeunsigned char, defaultXmATTACH_NONE, accessCSGXmNleftOffsetโ classXmCOffset, typeint, default0, accessCSGXmNleftPositionโ classXmCPosition, typeint, default0, accessCSGXmNleftWidgetโ classXmCWidget, typeWidget, defaultNULL, accessCSGXmNresizableโ classXmCBoolean, typeBoolean, defaultTrue, accessCSGXmNrightAttachmentโ classXmCAttachment, typeunsigned char, defaultXmATTACH_NONE, accessCSGXmNrightOffsetโ classXmCOffset, typeint, default0, accessCSGXmNrightPositionโ classXmCPosition, typeint, default0, accessCSGXmNrightWidgetโ classXmCWidget, typeWidget, defaultNULL, accessCSGXmNtopAttachmentโ classXmCAttachment, typeunsigned char, defaultXmATTACH_NONE, accessCSGXmNtopOffsetโ classXmCOffset, typeint, default0, accessCSGXmNtopPositionโ classXmCPosition, typeint, default0, accessCSGXmNtopWidgetโ classXmCWidget, typeWidget, defaultNULL, accessCSG
now the tea on each one, one by one, no skips ๐ซโจ
XmNbottomAttachment ๐
this one says where the bottom side of the child is attached. it can be set to any of these:
XmATTACH_NONEโ do not attach the bottom side of the child. she's free, she's floating, she's unbothered ๐ฆXmATTACH_FORMโ attach the bottom side of the child to the bottom side of the Form.XmATTACH_OPPOSITE_FORMโ attach the bottom side of the child to the top side of the Form. and lowkey,XmNbottomOffsetcan be used to determine the visibility of the child ๐XmATTACH_WIDGETโ attach the bottom side of the child to the top side of the widget or gadget specified in theXmNbottomWidgetresource. but bestie, ifXmNbottomWidgetisNULL, thenXmATTACH_WIDGETgets replaced byXmATTACH_FORM, and the child is attached to the bottom side of the Form instead. the swap is automatic, she adapts ๐XmATTACH_OPPOSITE_WIDGETโ attach the bottom side of the child to the bottom side of the widget or gadget specified in theXmNbottomWidgetresource.XmATTACH_POSITIONโ attach the bottom side of the child to a position that is relative to the top side of the Form and in proportion to the height of the Form. this position is determined by theXmNbottomPositionandXmNfractionBaseresources.XmATTACH_SELFโ attach the bottom side of the child to a position that is proportional to the current y value of the bottom of the child divided by the height of the Form. this position is determined by theXmNbottomPositionandXmNfractionBaseresources. and also,XmNbottomPositiongets set to a value proportional to the current y value of the bottom of the child divided by the height of the Form. she's literally defining herself, main character energy ๐
XmNbottomOffset โจ
specifies the constant offset between the bottom side of the child and the object to which it's attached. that relationship she establishes? it stays. no matter what resizing operations happen, the bond does not break ๐ซถ
not me dropping a caveat: when this resource is explicitly set, the value of XmNverticalSpacing is ignored. like, completely. gone. periodt ๐
XmNbottomPosition ๐ธ
this resource is what determines the position of the bottom side of the child when the child's XmNbottomAttachment is set to XmATTACH_POSITION. in that case, the position of the bottom side of the child is relative to the top side of the Form and is a fraction of the height of the Form. and that fraction is the value of the child's XmNbottomPosition resource divided by the value of the Form's XmNfractionBase.
okay math check, bestie, follow along ๐งฎ if the child's XmNbottomPosition is 50, the Form's XmNfractionBase is 100, and the Form's height is 200, then the position of the bottom side of the child is 100. ate that up fr fr ๐ฅ
XmNbottomWidget ๐
specifies the widget or gadget to which the bottom side of the child is attached. this resource is used if the XmNbottomAttachment resource is set to either XmATTACH_WIDGET or XmATTACH_OPPOSITE_WIDGET.
also, a string-to-widget resource converter is automatically installed for use with this resource โจ with that converter, the widget that is to be the value of the resource must exist at the time the widget that has the resource is created. no showing up late to this one, she needs to be there already ๐
XmNleftAttachment ๐
specifies attachment of the near (left) side of the child. and quick note because this one trips people up: whether this resource actually applies to the left or right side of the child and its attachment depends on the value of the XmNlayoutDirection resource ๐
it can have the following values:
XmATTACH_NONEโ do not attach the left side of the child. And ifXmNrightAttachmentis alsoXmATTACH_NONE? Then this value is ignored and the child just gets a default left attachment. the Form said "fine, I'll do it myself" ๐XmATTACH_FORMโ attach the left side of the child to the left side of the Form. clean. simple. iconic.XmATTACH_OPPOSITE_FORMโ attach the left side of the child to the right side of the Form (yes bestie, opposite, that's literally the whole vibe โจ).XmNleftOffsetcan be used to determine the visibility of the child.XmATTACH_WIDGETโ attach the left side of the child to the right side of the widget or gadget specified in theXmNleftWidgetresource. And ifXmNleftWidgetisNULL? ThenXmATTACH_WIDGETis replaced byXmATTACH_FORM, and the child is attached to the left side of the Form. it really said "no widget? bet, Form it is" ๐ญXmATTACH_OPPOSITE_WIDGETโ attach the left side of the child to the left side of the widget or gadget specified in theXmNleftWidgetresource.XmATTACH_POSITIONโ attach the left side of the child to a position that is relative to the left side of the Form and in proportion to the width of the Form. This position is determined by theXmNleftPositionandXmNfractionBaseresources. ๐XmATTACH_SELFโ attach the left side of the child to a position that is proportional to the current x value of the left side of the child divided by the width of the Form. This position is determined by theXmNleftPositionandXmNfractionBaseresources.XmNleftPositionis set to a value proportional to the current x value of the left side of the child divided by the width of the Form. the way it just computes itself into place, main character energy fr fr ๐
๐ธ XmNleftOffset ๐ธ
Specifies the constant offset between the near (left) side of the child and the object to which it is attached. (Note that whether this resource actually applies to the left or right side of the child and its attachment depends on the value of the XmNlayoutDirection resource.) The relationship established remains, regardless of any resizing operations that occur. And when this resource is explicitly set, the value of XmNhorizontalSpacing is ignored. no cap, it gets ghosted ๐
๐ฆ XmNleftPosition ๐ฆ
This resource is used to determine the position of the near (left) side of the child when the child's XmNleftAttachment is set to XmATTACH_POSITION. (Note that whether this resource actually applies to the left or right side of the child and its attachment depends on the value of the XmNlayoutDirection resource.)
In this case, the position of the left side of the child is relative to the left side of the Form and is a fraction of the width of the Form. This fraction is the value of the child's XmNleftPosition resource divided by the value of the Form's XmNfractionBase. So like, for example โ if the child's XmNleftPosition is 50, the Form's XmNfractionBase is 100, and the Form's width is 200, the position of the left side of the child is 100. math ate that ๐
๐ XmNleftWidget ๐
Specifies the widget or gadget to which the near (left) side of the child is attached. (Note that whether this resource actually applies to the left or right side of the child and its attachment depends on the value of the XmNlayoutDirection resource.) The XmNleftWidget resource is used if the XmNleftAttachment resource is set to either XmATTACH_WIDGET or XmATTACH_OPPOSITE_WIDGET.
A string-to-widget resource converter is automatically installed for use with this resource. With this converter, the widget that is to be the value of the resource must exist at the time the widget that has the resource is created. โฐ order matters bestie, no time travel allowed
โญ XmNresizable โญ
This Boolean resource specifies whether or not a child's request for a new size is (conditionally) granted by the Form. If this resource is set to True the request is granted if possible. If this resource is set to False the request is always refused. always. the Form does not do negotiations ๐ค
If a child has both left and right attachments, its width is completely controlled by the Form, regardless of the value of the child's XmNresizable resource. If a child has a left or right attachment but not both, the child's XmNwidth is used in setting its width if the value of the child's XmNresizable resource is True. These conditions are also true for top and bottom attachments, with height acting like width. ๐ซถ
๐ XmNrightAttachment ๐
Specifies attachment of the far (right) side of the child. (Note that whether this resource actually applies to the left or right side of the child and its attachment depends on the value of the XmNlayoutDirection resource.) It can have the following values:
XmATTACH_NONEโ do not attach the right side of the child.XmATTACH_FORMโ attach the right side of the child to the right side of the Form.XmATTACH_OPPOSITE_FORMโ attach the right side of the child to the left side of the Form.XmNrightOffsetcan be used to determine the visibility of the child.XmATTACH_WIDGETโ attach the right side of the child to the left side of the widget or gadget specified in theXmNrightWidgetresource. IfXmNrightWidgetisNULL,XmATTACH_WIDGETis replaced byXmATTACH_FORM, and the child is attached to the right side of the Form.XmATTACH_OPPOSITE_WIDGETโ attach the right side of the child to the right side of the widget or gadget specified in theXmNrightWidgetresource.XmATTACH_POSITIONโ attach the right side of the child to a position that is relative to the left side of the Form and in proportion to the width of the Form. This position is determined by theXmNrightPositionandXmNfractionBaseresources.XmATTACH_SELFโ attach the right side of the child to a position that is proportional to the current x value of the right side of the child divided by the width of the Form. This position is determined by theXmNrightPositionandXmNfractionBaseresources.XmNrightPositionis set to a value proportional to the current x value of the right side of the child divided by the width of the Form.
๐ XmNrightOffset ๐
Specifies the constant offset between the far (right) side of the child and the object to which it is attached. (Note that whether this resource actually applies to the left or right side of the child and its attachment depends on the value of the XmNlayoutDirection resource.) The relationship established remains, regardless of any resizing operations that occur. When this resource is explicitly set, the value of XmNhorizontalSpacing is ignored. same energy as its left-side twin, lowkey obsessed with the symmetry ๐
๐ง XmNrightPosition ๐ง
This resource is used to determine the position of the far (right) side of the child when the child's XmNrightAttachment is set to XmATTACH_POSITION. (Note that whether this resource actually applies to the left or right side of the child and its attachment depends on the value of the XmNlayoutDirection resource.)
In this case the position of the right side of the child is relative to the left side of the Form and is a fraction of the width of the Form. This fraction is the value of the child's XmNrightPosition resource divided by the value of the Form's XmNfractionBase. For example, if the child's XmNrightPosition is 50, the Form's XmNfractionBase is 100, and the Form's width is 200, the position of the right side of the child is 100. ๐
๐ XmNrightWidget ๐
Specifies the widget or gadget to which the far (right) side of the child is attached. (Note that whether this resource actually applies to the left or right side of the child and its attachment depends on the value of the XmNlayoutDirection resource.) The XmNrightWidget resource is used if the XmNrightAttachment resource is set to either XmATTACH_WIDGET or XmATTACH_OPPOSITE_WIDGET.
A string-to-widget resource converter is automatically installed for use with this resource. With this converter, the widget that is to be the value of the resource must exist at the time the widget that has the resource is created. ๐ yes, same rule as XmNleftWidget, the converter does not wait around
๐ฅ XmNtopAttachment ๐ฅ
Specifies attachment of the top side of the child. It can have following values:
XmATTACH_NONEโ do not attach the top side of the child. If theXmNbottomAttachmentresource is alsoXmATTACH_NONE, this value is ignored and the child is given a default top attachment.XmATTACH_FORMโ attach the top side of the child to the top side of the Form.XmATTACH_OPPOSITE_FORMโ attach the top side of the child to the bottom side of the Form.XmNtopOffsetcan be used to determine the visibility of the child.XmATTACH_WIDGETโ attach the top side of the child to the bottom side of the widget or gadget specified in theXmNtopWidgetresource. IfXmNtopWidgetisNULL,XmATTACH_WIDGETis replaced byXmATTACH_FORMand the child is attached to the top side of the Form. โจXmATTACH_OPPOSITE_WIDGETโ sticks the top side of the child to the top side of the widget or gadget you named over in theXmNtopWidgetresource. top-to-top, matching energy, iconic ๐XmATTACH_POSITIONโ sticks the top side of the child to a position that's relative to the top side of the Form and in proportion to the height of the Form. which position tho? that's decided by theXmNtopPositionandXmNfractionBaseresources. math girlies rise ๐XmATTACH_SELFโ sticks the top side of the child to a position that's proportional to the child's currentyvalue divided by the height of the Form. again,XmNtopPositionandXmNfractionBaseare the ones calling the shots. and plot twist:XmNtopPositiongets set to a value proportional to the currentyvalue of the child divided by the height of the Form. so it writes back. main character behaviour, honestly ๐
XmNtopOffsetโ the constant offset between the top side of the child and the object it's attached to. the relationship you establish here stays no matter what resizing happens later โ it does not budge, periodt. and heads up bestie: when you set this resource explicitly, the value ofXmNverticalSpacingis just ignored. sorry to that resource ๐ญXmNtopPositionโ this one's here to figure out where the top side of the child goes when the child'sXmNtopAttachmentis set toXmATTACH_POSITION. in that case the top side of the child is positioned relative to the top side of the Form, as a fraction of the height of the Form. that fraction is the child'sXmNtopPositionvalue divided by the Form'sXmNfractionBasevalue. okay example time, stay with me:
so if the child's XmNtopPosition is 50, the Form's XmNfractionBase is 100, and the Form's height is 200 โ then the position of the top side of the child is 100. slay, the math math'd โจ
XmNtopWidgetโ names the widget or gadget that the top side of the child gets attached to. this resource only does anything whenXmNtopAttachmentis set to eitherXmATTACH_WIDGETorXmATTACH_OPPOSITE_WIDGET. iykyk ๐ฆ
a string-to-widget resource converter is automatically installed for use with this resource. and because of that converter: the widget that's gonna be the value of the resource must exist at the time the widget that has the resource is created. no time travel, no "i'll make it later" โ it has to already be there, fr fr ๐
๐ Inherited Resources ๐
Form doesn't do all of this alone, okay? it inherits behavior and resources from the superclasses described in the following tables. and for a complete description of each resource, you go check the reference page for that superclass. go give them their credit, they earned it ๐
okay bestie, the XmBulletinBoard resource set is giving full main character energy โ here's every single one, fr fr, no skipping. ๐
XmNallowOverlapโ classXmCAllowOverlap, typeBoolean, defaultTrue, accessCSGโจXmNautoUnmanageโ classXmCAutoUnmanage, typeBoolean, defaultTrue, accessCG๐ฆXmNbuttonFontListโ classXmCButtonFontList, typeXmFontList, defaultdynamic, accessCSG๐XmNbuttonRenderTableโ classXmCButtonRenderTable, typeXmRenderTable, defaultdynamic, accessCSG๐ธXmNcancelButtonโ classXmCWidget, typeWidget, defaultNULL, accessSG๐XmNdefaultButtonโ classXmCWidget, typeWidget, defaultNULL, accessSG๐ซถXmNdefaultPositionโ classXmCDefaultPosition, typeBoolean, defaultTrue, accessCSG๐XmNdialogStyleโ classXmCDialogStyle, typeunsigned char, defaultdynamic, accessCSG๐XmNdialogTitleโ classXmCDialogTitle, typeXmString, defaultNULL, accessCSG๐XmNfocusCallbackโ classXmCCallback, typeXtCallbackList, defaultNULL, accessC๐ฅXmNlabelFontListโ classXmCLabelFontList, typeXmFontList, defaultdynamic, accessCSG๐XmNlabelRenderTableโ classXmCLabelRenderTable, typeXmRenderTable, defaultdynamic, accessCSG๐ฆXmNmapCallbackโ classXmCCallback, typeXtCallbackList, defaultNULL, accessC๐บ๏ธXmNmarginHeightโ classXmCMarginHeight, typeDimension, default0, accessCSG๐XmNmarginWidthโ classXmCMarginWidth, typeDimension, default0, accessCSG๐XmNnoResizeโ classXmCNoResize, typeBoolean, defaultFalse, accessCSG๐ซXmNresizePolicyโ classXmCResizePolicy, typeunsigned char, defaultXmRESIZE_ANY, accessCSG๐XmNshadowTypeโ classXmCShadowType, typeunsigned char, defaultXmSHADOW_OUT, accessCSG๐XmNtextFontListโ classXmCTextFontList, typeXmFontList, defaultdynamic, accessCSG๐คXmNtextRenderTableโ classXmCTextRenderTable, typeXmRenderTable, defaultdynamic, accessCSG๐XmNtextTranslationsโ classXmCTranslations, typeXtTranslations, defaultNULL, accessC๐XmNunmapCallbackโ classXmCCallback, typeXtCallbackList, defaultNULL, accessC๐๏ธ
and that's the whole resource set, bestie โ but hold up, there's literally more manual page coming, so don't go anywhere. ๐
XmManager Resource Set ๐
okay bestie, weโre in the resource zone now and itโs giving very much โจiconicโจ. Hereโs the whole XmManager resource set โ every Name, Class, Type, Default, and Access value, no skipping, periodt. ๐ซถ
XmNbottomShadowColorโ Class:XmCBottomShadowColor; Type:Pixel; Default:dynamic; Access:CSGXmNbottomShadowPixmapโ Class:XmCBottomShadowPixmap; Type:Pixmap; Default:XmUNSPECIFIED_PIXMAP; Access:CSGXmNforegroundโ Class:XmCForeground; Type:Pixel; Default:dynamic; Access:CSGXmNhelpCallbackโ Class:XmCCallback; Type:XtCallbackList; Default:NULL; Access:CXmNhighlightColorโ Class:XmCHighlightColor; Type:Pixel; Default:dynamic; Access:CSGXmNhighlightPixmapโ Class:XmCHighlightPixmap; Type:Pixmap; Default:dynamic; Access:CSGXmNinitialFocusโ Class:XmCInitialFocus; Type:Widget; Default:dynamic; Access:CSGXmNlayoutDirectionโ Class:XmCLayoutDirection; Type:XmDirection; Default:dynamic; Access:CGXmNnavigationTypeโ Class:XmCNavigationType; Type:XmNavigationType; Default:XmTAB_GROUP; Access:CSGXmNpopupHandlerCallbackโ Class:XmCCallback; Type:XtCallbackList; Default:NULL; Access:CXmNshadowThicknessโ Class:XmCShadowThickness; Type:Dimension; Default:dynamic; Access:CSGXmNstringDirectionโ Class:XmCStringDirection; Type:XmStringDirection; Default:dynamic; Access:CGXmNtopShadowColorโ Class:XmCTopShadowColor; Type:Pixel; Default:dynamic; Access:CSGXmNtopShadowPixmapโ Class:XmCTopShadowPixmap; Type:Pixmap; Default:dynamic; Access:CSGXmNtraversalOnโ Class:XmCTraversalOn; Type:Boolean; Default:True; Access:CSGXmNunitTypeโ Class:XmCUnitType; Type:unsigned char; Default:dynamic; Access:CSGXmNuserDataโ Class:XmCUserData; Type:XtPointer; Default:NULL; Access:CSG
and now the Composite set, because the plot thickens ๐ฆ
Composite Resource Set ๐ฆ
XmNchildrenโ Class:XmCReadOnly; Type:WidgetList; Default:NULL; Access:GXmNinsertPositionโ Class:XmCInsertPosition; Type:XtOrderProc; Default:NULL; Access:CSGXmNnumChildrenโ Class:XmCReadOnly; Type:Cardinal; Default:0; Access:G
๐ Core Resource Set ๐
okay bestie, here comes the whole lineup ๐ every single resource, in order, no skips, no cuts โ class, type, default and access all accounted for. read it slow, it's giving encyclopedia but make it cute.
XmNacceleratorsโ classXmCAccelerators, typeXtAccelerators, defaultdynamic, accessN/AXmNancestorSensitiveโ classXmCSensitive, typeBoolean, defaultdynamic, accessGXmNbackgroundโ classXmCBackground, typePixel, defaultdynamic, accessCSGXmNbackgroundPixmapโ classXmCPixmap, typePixmap, defaultXmUNSPECIFIED_PIXMAP, accessCSGXmNborderColorโ classXmCBorderColor, typePixel, defaultXtDefaultForeground, accessCSGXmNborderPixmapโ classXmCPixmap, typePixmap, defaultXmUNSPECIFIED_PIXMAP, accessCSGXmNborderWidthโ classXmCBorderWidth, typeDimension, default0, accessCSGXmNcolormapโ classXmCColormap, typeColormap, defaultdynamic, accessCGXmNdepthโ classXmCDepth, typeint, defaultdynamic, accessCGXmNdestroyCallbackโ classXmCCallback, typeXtCallbackList, defaultNULL, accessCXmNheightโ classXmCHeight, typeDimension, defaultdynamic, accessCSGXmNinitialResourcesPersistentโ classXmCInitialResourcesPersistent, typeBoolean, defaultTrue, accessCXmNmappedWhenManagedโ classXmCMappedWhenManaged, typeBoolean, defaultTrue, accessCSGXmNscreenโ classXmCScreen, typeScreen *, defaultdynamic, accessCGXmNsensitiveโ classXmCSensitive, typeBoolean, defaultTrue, accessCSGXmNtranslationsโ classXmCTranslations, typeXtTranslations, defaultdynamic, accessCSGXmNwidthโ classXmCWidth, typeDimension, defaultdynamic, accessCSGXmNxโ classXmCPosition, typePosition, default0, accessCSGXmNyโ classXmCPosition, typePosition, default0, accessCSG
likeโฆ that's the whole set. nineteen icons, all accounted for, not one of them ghosted you ๐
โจ Translations โจ
short and sweet, no notes:
XmForm inherits translations from XmBulletinBoard.
that's it. that's the whole translation situation. it's giving "family recipe, handed down" ๐ซถ
๐ RELATED ๐
if you liked this page, the extended universe is right here โ go read these next, bestie:
Composite(3)Constraint(3)Core(3)XmBulletinBoard(3)XmCreateFormXmCreateFormDialog(3)XmManager(3)XmVaCreateFormXmVaCreateManagedForm
and that's a wrap on the whole page ๐ you made it to the end, which is genuinely iconic of you โจ this one's filed under XmForm(library call) โ the library-call corner of the man pages, your fave neighborhood fr fr. go build something gorgeous with it, and remember: every option we listed is a promise, so use them kindly. byeee ๐๐ฆ๐ธ
๐ฆ where this page comes from
- alpine 3.24: motif-doc 2.5.2-r0 ยท LGPL-2.1-or-later
- arch rolling: openmotif 2.3.8-4 ยท LGPL-2.1-or-later
- centos-stream 9: motif-devel 2.3.4-32.el9 ยท LGPLv2+
- centos-stream 9: motif-devel 2.3.4-32.el9 ยท LGPLv2+
- epel 10: motif-devel 2.3.8-2.el10_2 ยท LicenseRef-Callaway-LGPLv2+
- fedora 43: motif-devel 2.3.8-1.fc43 ยท LicenseRef-Callaway-LGPLv2+
- fedora 43: motif-devel 2.3.8-1.fc43 ยท LicenseRef-Callaway-LGPLv2+
- fedora 43: motif-devel 2.3.8-2.fc43 ยท LicenseRef-Callaway-LGPLv2+
- fedora 43: motif-devel 2.3.8-2.fc43 ยท LicenseRef-Callaway-LGPLv2+
- fedora 44: motif-devel 2.3.8-3.fc44 ยท LicenseRef-Callaway-LGPLv2+
- fedora 44: motif-devel 2.3.8-3.fc44 ยท LicenseRef-Callaway-LGPLv2+
- nixos 26.05: motif 2.3.8
- nixpkgs unstable: motif 2.3.8
- opensuse-leap 16.0: motif-devel 2.3.8-bp160.1.1 ยท LGPL-2.1-or-later
- opensuse-leap 16.0: motif-devel 2.3.8-bp160.1.1 ยท LGPL-2.1-or-later
- opensuse-leap 16.0: motif-devel 2.3.8-bp160.1.1 ยท LGPL-2.1-or-later
- opensuse-leap 16.0: motif-devel 2.3.8-bp160.1.1 ยท LGPL-2.1-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms