COMPOSITE(3)
π NAME π
Composite β the Composite widget class. Bestie, this is from the Composite(library call) section of the manual, and we're doing it in two parts, so buckle up π
β¨ SYNOPSIS β¨
#include <Xm/Xm.h>
πΈ DESCRIPTION πΈ
okay so. Composite widgets are the containers of the widget world π they're built to hold other widgets, and they can have an arbitrary number of children β like, as many as you want, no cap. Their responsibilities (and these get implemented either directly by the widget class or indirectly by Intrinsics functions, iykyk) include:
- Overall management of children from creation all the way to destruction. the whole life cycle, we're there for it π«Ά
- Destruction of descendants when the composite widget is destroyed. if the parent goes down, the whole bloodline goes down π
- Physical arrangement (aka geometry management) of a displayable subset of managed children. making it look cute = the job β¨
- Mapping and unmapping of a subset of the managed children.
Instances of composite widgets need to specify the order in which their children are kept. like, for example, an application may want a set of command buttons in some logical order grouped by function β and it may want buttons that represent filenames to be kept in alphabetical order. organization is self-care, periodt π
π¦ Classes π¦
Composite inherits behavior and resources from Core.
- The class pointer is
compositeWidgetClass. - The class name is
Composite.
π 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).
Here's the Composite Resource Set, laid out all pretty for you π
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
XmNchildrenβ a read-only list of the children of the widget. just a list. look, don't touch πXmNinsertPositionβ points to theXtOrderProcfunction described below.XmNnumChildrenβ a read-only resource specifying the length of the list of children inXmNchildren. it's the headcount fr fr π’
The following procedure pointer in a composite widget instance is of type XtOrderProc:
Cardinal (* XtOrderProc) (Widget w);
wβ Specifies the widget.
Composite widgets that allow clients to order their children (usually homogeneous boxes) can call their widget instance's XmNinsertPosition procedure from the class's insert_child procedure to determine where a new child should go in its children array. So like, a client of a composite class can apply different sorting criteria to widget instances of the class, passing in a different XmNinsertPosition procedure when it creates each composite widget instance. custom vibes per instance, we love to see it π
The return value of the XmNinsertPosition procedure indicates how many children should go before the widget. A value of 0 (zero) indicates that the widget should go before all other children; returning the value of XmNumChildren indicates that it should go after all other children. By default, unless a subclass or an application provides an XmNinsertPosition procedure, each child is inserted at the end of the XmNchildren list. The XmNinsertPosition procedure can be overridden by a specific composite widget's resource list or by the argument list provided when the composite widget is created.
π Inherited Resources π
Composite inherits behavior and resources from the superclass described in the following table. For a complete description of each resource, refer to the reference page for that superclass.
part 2 is coming bestie, don't go anywhere π«Άβ¨
okay bestie, here's the Core Resource Set in all its glory π this is the full roster β every resource comes with its Name, Class, Type, Default and Access, and I am not skipping a single one of them. not one. periodt. π
XmNacceleratorsβ ClassXmCAcceleratorsΒ· TypeXtAcceleratorsΒ· DefaultdynamicΒ· AccessCSGXmNancestorSensitiveβ ClassXmCSensitiveΒ· TypeBooleanΒ· DefaultdynamicΒ· AccessGXmNbackgroundβ ClassXmCBackgroundΒ· TypePixelΒ· DefaultdynamicΒ· AccessCSGXmNbackgroundPixmapβ ClassXmCPixmapΒ· TypePixmapΒ· DefaultXmUNSPECIFIED_PIXMAPΒ· AccessCSGXmNborderColorβ ClassXmCBorderColorΒ· TypePixelΒ· DefaultXtDefaultForegroundΒ· AccessCSGXmNborderPixmapβ ClassXmCPixmapΒ· TypePixmapΒ· DefaultXmUNSPECIFIED_PIXMAPΒ· AccessCSGXmNborderWidthβ ClassXmCBorderWidthΒ· TypeDimensionΒ· Default1Β· 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
π¦ Translations π¦
There are no translations for Composite. likeβ¦ none. zero. the void. XmNtranslations is sitting there with nothing to translate, and honestly? iconic of it. π
π RELATED π
and that's a wrap on the Core Resource Set bestie π that was the Composite(library call) man page, straight from the library-call section of the manual β read it, love it, go make some widgets. slay. πβ¨
π¦ 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