The Icon Box widget lays out its children on a grid with each child forced
to be the same size and with the location of each child specified as an X
and Y location on the grid.
The size of the Icon Box, its children, and the number of cells displayed
are calculated as described below. The general idea is that all children
are always be shown and should be given their desired size whenever possible.
The user may add or delete cells by resizing this window using the window
manager widget.
The preferred size is calculated by using the maximum desired child height
or width and making sure that these are no smaller than the minimum sizes.
This size is multiplied by the number of cells along the axis and properly
padded to come up with a preferred size. The number of cells is the maximum
of the largest cellX or cellY value and the minimum number of horizontal or
vertical cells.
If the Icon box is forced larger than its preferred size more cells are
added at the bottom-right of the widget while the children all remain at
their preferred sizes.
If the Icon box is forced smaller than its preferred size each cell is
forced to be smaller in order to allow all children to fit within the
Icon Box. All children will be forced to the same smaller size.
Classes
Icon Box inherits behavior, resources, and traits from Core,
Composite, Constraint, and
XmManager.
The class pointer is xmIconBoxWidgetClass.
The class name is XmIconBox.
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).
XmIconBox Resource Set
Name
Class
Type
Default
Access
XmNhorizontalMargin
XmCMargin
Dimension
4
CSG
XmNminimumHorizontalCells
XmCDefaultCells
int
8
CSG
XmNminimumVerticalCells
XmCDefaultCells
int
4
CSG
XmNminimumCellHeight
XmCMinimumCellSize
Dimension
10
CSG
XmNminimumCellWidth
XmCMinimumCellSize
Dimension
20
CSG
XmNverticalMargin
XmCMargin
Dimension
4
CSG
XmNhorizontalMargin
XmNverticalMargin
The amount of space between each cell and its neighbor or the edge of the Icon
Box.
XmNminimumHorizontalCells
XmNminimumVerticalCells
The minimum number of cells to display in the horizontal and vertical directions.
This number of cells will always be displayed.
XmNminimumCellWidth
XmNminimumCellHeight
The smallest size the cells are allowed to be in the direction specified.
Constraint Resources
XmIconBox Constraint Resource Set
Name
Class
Type
Default
Access
XmNcellX
XmCCellX
Short
XmIconBoxAnyCell
CSG
XmNcellY
XmCCellY
Short
XmIconBoxAnyCell
CSG
XmNcellX
XmNcellY
The location of this cell in cell space. These coordinates may be any positive
integer. They determine where this widget will be placed relative to its neighbors.
Having two children at the same cell X and cell Y location will result in undefined
behavior. To place a cell at any empty cell, set cell X and cell Y to the value
XmIconBoxAnyCell.
Inherited Resources
Icon 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.