SYNOPSIS

#include <Xm/IconBox.h>

DESCRIPTION

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.

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

XmIconBox inherits translations from XmManager.

RELATED

Composite(3), Constraint(3), Core(3), XmCreateIconBox(3), XmIconBoxIsCellEmpty(3), XmManager(3), XmVaCreateIconBox(3), and XmVaCreateManagedIconBox(3).

COPYRIGHT

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