---
name: "XmButtonBox"
section: "3"
platform: "linux"
package: "openmotif"
version: "2.3.8-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XmButtonBox"
---

# XmButtonBox(3)

The Button Box class

## NAME

**XmButtonBox** — The Button Box class

## SYNOPSIS

```
#include <Xm/ButtonBox.h>
```

## DESCRIPTION

The Button Box widget manages children (usually buttons) in a single row or single  column layout.

The Button Box maintains equal spacing between its children at all times and attempts  to adjust its height and width as necessary so that all children will fit. If this is not  possible, due to parent or application programmer constraints, the Button Box will resize  its children as necessary to fit within the available space.

Note: in what follows, major direction refers to the direction of orientation, and minor  direction refers to the perpendicular direction.

### Classes

Button Box inherits behavior, resources, and traits from **Core**, **Composite**, **Constraint**, and **XmManager**.

The class pointer is **xmButtonBoxWidgetClass**.

The class name is **XmButtonBox**.

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

| | | | | | |
| --- | --- | --- | --- | --- | --- |
| **XmButtonBox Resource Set** |
| **Name** | **Class** | **Type** | **Default** | **Access** |
|  |  |  |  |  |  |
| XmNequalSize | XmCEqualSize | Boolean | False | CSG |
|  |  |  |  |  |  |
| XmNfillOption | XmCFillOption | unsigned char | XmFillNone | CSG |
|  |  |  |  |  |  |
| XmNmarginHeight | XmCMargin | VerticalDimension | 0 | CSG |
|  |  |  |  |  |  |
| XmNmarginWidth | XmCMargin | HorizontalDimension | 0 | CSG |
|  |  |  |  |  |  |
| XmNorientation | XmCOrientation | unsigned char | XmHORIZONTAL | CSG |
|  |  |  |  |  |  |
| XmNdefaultButton | XmCWidget | Widget | NULL | SG |
|  |  |  |  |  |  |

- **XmNequalSize**

  Specifies whether the children are to be maintained with equal sized heights and  widths. The chosen height and width for the children is found by asking each  child for its preferred size and taking the largest value in each direction.

- **XmNfillOption**

  Specifies how to use any extra space left over once all children have been sized  according to either their preference or equalSize. There are four options:

  - **XmFillNone**

    No automatic filling is performed. Center the children in the minor direction and place the children with equal padding between them in the major direction.

  - **XmFillMinor**

    Place the children with equal padding between them in  the major direction, but force all the children to take on  the Button Box minor dimension as their minor  direction.

  - **XmFillMajor**

    Center the children in the minor direction, but expand  all the children in their major direction so that there is  no padding between them. Expand the children such  that their relative sizes remain constant.

  - **XmFillAll**

    This option combines the placement actions and sizing  actions of XmFillMinor and XmFillMajor.

  -

    Regardless of the fill mode, the ButtonBox widget will always leave the specified  margin between its edge and the nearest child. A new String to fillOption  resource converter has been registered to convert the following strings to fill  options: "none", "major", "minor", "all." This resource can therefore be set in an  application defaults file.

- **XmNmarginHeight**

  - **XmNmarginWidth**

  Specifies the number of pixels to use as a margin around the entire group of  children. The marginHeight value applies to both the top and bottom margins,  while the marginWidth applies to the left and right margins.

- **XmNorientation**

  Specifies whether children are to be placed in a row or a column. The orientation  may be either XmHORIZONTAL or XmVERTICAL. If the orientation is  XmHORIZONTAL, the children are placed in a row with the major dimension  being width and the minor dimension being height. If the value is  XmVERTICAL, the children are placed in a column with the major dimension  being height and the minor dimension being width. The default value is  XmHORIZONTAL.

### Inherited Resources

Button Box inherits behavior and resources from the superclasses described in the following tables. For a complete description of each resource, refer to the reference page for that superclass.

| | | | | | |
| --- | --- | --- | --- | --- | --- |
| **XmManager Resource Set** |
| **Name** | **Class** | **Type** | **Default** | **Access** |
|  |  |  |  |  |  |
| XmNbottomShadowColor | XmCBottomShadowColor | Pixel | dynamic | CSG |
|  |  |  |  |  |  |
| XmNbottomShadowPixmap | XmCBottomShadowPixmap | Pixmap | XmUNSPECIFIED\_PIXMAP | CSG |
|  |  |  |  |  |  |
| XmNforeground | XmCForeground | Pixel | dynamic | CSG |
|  |  |  |  |  |  |
| XmNhelpCallback | XmCCallback | XtCallbackList | NULL | C |
|  |  |  |  |  |  |
| XmNhighlightColor | XmCHighlightColor | Pixel | dynamic | CSG |
|  |  |  |  |  |  |
| XmNhighlightPixmap | XmCHighlightPixmap | Pixmap | dynamic | CSG |
|  |  |  |  |  |  |
| XmNinitialFocus | XmCInitialFocus | Widget | dynamic | CSG |
|  |  |  |  |  |  |
| XmNlayoutDirection | XmCLayoutDirection | XmDirection | dynamic | CG |
|  |  |  |  |  |  |
| XmNnavigationType | XmCNavigationType | XmNavigationType | XmTAB\_GROUP | CSG |
|  |  |  |  |  |  |
| XmNpopupHandlerCallback | XmCCallback | XtCallbackList | NULL | C |
|  |  |  |  |  |  |
| XmNshadowThickness | XmCShadowThickness | Dimension | dynamic | CSG |
|  |  |  |  |  |  |
| XmNstringDirection | XmCStringDirection | XmStringDirection | dynamic | CG |
|  |  |  |  |  |  |
| XmNtopShadowColor | XmCTopShadowColor | Pixel | dynamic | CSG |
|  |  |  |  |  |  |
| XmNtopShadowPixmap | XmCTopShadowPixmap | Pixmap | dynamic | CSG |
|  |  |  |  |  |  |
| XmNtraversalOn | XmCTraversalOn | Boolean | True | CSG |
|  |  |  |  |  |  |
| XmNunitType | XmCUnitType | unsigned char | dynamic | CSG |
|  |  |  |  |  |  |
| XmNuserData | XmCUserData | XtPointer | NULL | CSG |
|  |  |  |  |  |  |

| | | | | | |
| --- | --- | --- | --- | --- | --- |
| **Composite Resource Set** |
| **Name** | **Class** | **Type** | **Default** | **Access** |
|  |  |  |  |  |  |
| XmNchildren | XmCReadOnly | WidgetList | NULL | G |
|  |  |  |  |  |  |
| XmNinsertPosition | XmCInsertPosition | XtOrderProc | NULL | CSG |
|  |  |  |  |  |  |
| XmNnumChildren | XmCReadOnly | Cardinal | 0 | G |
|  |  |  |  |  |  |

| | | | | | |
| --- | --- | --- | --- | --- | --- |
| **Core Resource Set** |
| **Name** | **Class** | **Type** | **Default** | **Access** |
|  |  |  |  |  |  |
| XmNaccelerators | XmCAccelerators | XtAccelerators | dynamic | N/A |
|  |  |  |  |  |  |
| XmNancestorSensitive | XmCSensitive | Boolean | dynamic | G |
|  |  |  |  |  |  |
| XmNbackground | XmCBackground | Pixel | dynamic | CSG |
|  |  |  |  |  |  |
| XmNbackgroundPixmap | XmCPixmap | Pixmap | XmUNSPECIFIED\_PIXMAP | CSG |
|  |  |  |  |  |  |
| XmNborderColor | XmCBorderColor | Pixel | XtDefaultForeground | CSG |
|  |  |  |  |  |  |
| XmNborderPixmap | XmCPixmap | Pixmap | XmUNSPECIFIED\_PIXMAP | CSG |
|  |  |  |  |  |  |
| XmNborderWidth | XmCBorderWidth | Dimension | 0 | CSG |
|  |  |  |  |  |  |
| XmNcolormap | XmCColormap | Colormap | dynamic | CG |
|  |  |  |  |  |  |
| XmNdepth | XmCDepth | int | dynamic | CG |
|  |  |  |  |  |  |
| XmNdestroyCallback | XmCCallback | XtCallbackList | NULL | C |
|  |  |  |  |  |  |
| XmNheight | XmCHeight | Dimension | dynamic | CSG |
|  |  |  |  |  |  |
| XmNinitialResourcesPersistent | XmCInitialResourcesPersistent | Boolean | True | C |
|  |  |  |  |  |  |
| XmNmappedWhenManaged | XmCMappedWhenManaged | Boolean | True | CSG |
|  |  |  |  |  |  |
| XmNscreen | XmCScreen | Screen \* | dynamic | CG |
|  |  |  |  |  |  |
| XmNsensitive | XmCSensitive | Boolean | True | CSG |
|  |  |  |  |  |  |
| XmNtranslations | XmCTranslations | XtTranslations | dynamic | CSG |
|  |  |  |  |  |  |
| XmNwidth | XmCWidth | Dimension | dynamic | CSG |
|  |  |  |  |  |  |
| XmNx | XmCPosition | Position | 0 | CSG |
|  |  |  |  |  |  |
| XmNy | XmCPosition | Position | 0 | CSG |
|  |  |  |  |  |  |

### Translations

XmButtonBox inherits translations from XmManager.

## RELATED

[**Composite**(3)](/Composite/3.md), [**Constraint**(3)](/Constraint/3.md), [**Core**(3)](/Core/3.md), [**XmCreateButtonBox**(3)](/XmCreateButtonBox/3.md), [**XmManager**(3)](/XmManager/3.md), [**XmVaCreateButtonBox**(3)](/XmVaCreateButtonBox/3.md), [**XmVaCreateManagedButtonBox**(3)](/XmVaCreateManagedButtonBox/3.md).

## COPYRIGHT

Copyright (c) 1992 by Integrated Computer Solutions, Inc.
