XmHierarchy(3)

NAME
XmHierarchy — The Hierarchy widget class

SYNOPSIS

#include <Xm/Hierarchy.h>

DESCRIPTION

The Hierarchy widget is not intended to be instantiated itself, but rather should be used as the base class for any widget that would like to present a hierarchy of information to the user that is different for the actual widget instance hierarchy of the application. This base class is currently used for two widgets in the OpenMotif widget set, Tree and Outline, giving those two widgets a very similar API.

Note: The Hierarchy widget assumes that it will be totally responsible for mapping and unmapping its children. Therefore no child of this widget should ever modify its mappedWhenManaged resource. If a child does modify this resource the behavior is undefined.

  Classes

Hierarchy inherits behaviour, resources, and traits from Core, Composite, Composite, Constraint, and XmManager classes.

The class pointer is xmHierarchyWidgetClass.

The class name is XmHierarchy.

  New Resources

XmHierarchy Resource Set
NameClassTypeDefaultAccess
_____
XmNautoCloseXmCAutoCloseBooleanTrueCSG
_____
XmNcloseFolderPixmapXmCPixmapPixmapXmUNSPECIFIED_PIXMAPCSG
_____
XmNhorizontalMarginXmCDimensionDimension2CSG
_____
XmNnodeStateCallbackXmCNodeStateCallbackXtCallbackListNULLC
_____
XmNopenFolderPixmapXmCPixmapPixmapXmUNSPECIFIED_PIXMAPCSG
_____
XmNrefigureModeXmCBooleanBooleanTrueCSG
_____
XmNverticalMarginXmCDimensionDimension2CSG
_____

XmNautoClose
    This resource determines if the hierarchy should automatically restore a parent node's children when the parent node is reopened. If autoClose is False, and the hierarchy is fully expanded when the root node is closed, then the entire hierarchy will be displayed as expanded when the root node is reopened. If autoClose is True, then the root node's children are closed when the root node is reopened.

XmNcloseFolderPixmap
    This resource defines a pixmap for the closed representation of the folder pixmap to be used throughout the tree. It can be a color pixmap or bitmap. If the user does not specify a pixmap the default bitmap will be used.

XmNhorizontalMargin

XmNverticalMargin
    The exact definition of these resources are left to the subclass of the hierarchy widget that does the geometry layout. They are intended to be used as the amount of space between the object and the edges of the window it is displayed in. They are included here for consistency.

XmNopenFolderPixmap
    This resource defines a pixmap for the open representation of the folder pixmap to be used throughout the tree . It can be a color pixmap or bitmap. If the user does not specify a pixmap the default opened folder bitmap.

XmNnodeStateCallback
    The list of callback routines called when a folder button is clicked. See "Callback Routine" for more details.

XmNrefigureMode
    This resource determines whether the Hierarchy should adjust the sizes of the children after a geometry or resize request, or simply ignore the request. This resource is very useful in improving the performance of an application that is making a large number of geometry changes all at once.
    XmHierarchy Constraint Resource Set
    NameClassTypeDefaultAccess
    _____
    XmNinsertBeforeXmCInsertbeforeWidgetNULLCSG
    _____
    XmNnodeStateXmCNodeStateXMHierarchyNodeStateXmOpenCSG
    _____
    XmNparentNodeXmCParentNodeWidgetNULLCSG
    _____

XmNinsertBefore
    Specifies another node that has the same parentNode. This node will then be placed immediately before that node in the hierarchy. If this value is NULL then the node will be inserted at the end of the list. This resource allows the hierarchy's children to be reordered.

XmNnodeState
    The state of this node. Acceptable values are: XmOpen, XmClosed, XmAlwaysOpen, and XmHidden. A type converter has been registered that can convert the following strings: "open", "close", "alwaysOpen", and "hidden".

XmNparentNode
    The hierarchy parent of this node. The parent node MUST be a widget sibling of the current node.

  Inherited Resources

Hierarchy 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
NameClassTypeDefaultAccess
_____
XmNbottomShadowColorXmCBottomShadowColorPixeldynamicCSG
_____
XmNbottomShadowPixmapXmCBottomShadowPixmapPixmapXmUNSPECIFIED_PIXMAPCSG
_____
XmNforegroundXmCForegroundPixeldynamicCSG
_____
XmNhelpCallbackXmCCallbackXtCallbackListNULLC
_____
XmNhighlightColorXmCHighlightColorPixeldynamicCSG
_____
XmNhighlightPixmapXmCHighlightPixmapPixmapdynamicCSG
_____
XmNinitialFocusXmCInitialFocusWidgetdynamicCSG
_____
XmNlayoutDirectionXmCLayoutDirectionXmDirectiondynamicCG
_____
XmNnavigationTypeXmCNavigationTypeXmNavigationTypeXmTAB_GROUPCSG
_____
XmNpopupHandlerCallbackXmCCallbackXtCallbackListNULLC
_____
XmNshadowThicknessXmCShadowThicknessDimensiondynamicCSG
_____
XmNstringDirectionXmCStringDirectionXmStringDirectiondynamicCG
_____
XmNtopShadowColorXmCTopShadowColorPixeldynamicCSG
_____
XmNtopShadowPixmapXmCTopShadowPixmapPixmapdynamicCSG
_____
XmNtraversalOnXmCTraversalOnBooleanTrueCSG
_____
XmNunitTypeXmCUnitTypeunsigned chardynamicCSG
_____
XmNuserDataXmCUserDataXtPointerNULLCSG
_____

Composite Resource Set
NameClassTypeDefaultAccess
_____
XmNchildrenXmCReadOnlyWidgetListNULLG
_____
XmNinsertPositionXmCInsertPositionXtOrderProcNULLCSG
_____
XmNnumChildrenXmCReadOnlyCardinal0G
_____

Core Resource Set
NameClassTypeDefaultAccess
_____
XmNacceleratorsXmCAcceleratorsXtAcceleratorsdynamicN/A
_____
XmNancestorSensitiveXmCSensitiveBooleandynamicG
_____
XmNbackgroundXmCBackgroundPixeldynamicCSG
_____
XmNbackgroundPixmapXmCPixmapPixmapXmUNSPECIFIED_PIXMAPCSG
_____
XmNborderColorXmCBorderColorPixelXtDefaultForegroundCSG
_____
XmNborderPixmapXmCPixmapPixmapXmUNSPECIFIED_PIXMAPCSG
_____
XmNborderWidthXmCBorderWidthDimension0CSG
_____
XmNcolormapXmCColormapColormapdynamicCG
_____
XmNdepthXmCDepthintdynamicCG
_____
XmNdestroyCallbackXmCCallbackXtCallbackListNULLC
_____
XmNheightXmCHeightDimensiondynamicCSG
_____
XmNinitialResourcesPersistentXmCInitialResourcesPersistentBooleanTrueC
_____
XmNmappedWhenManagedXmCMappedWhenManagedBooleanTrueCSG
_____
XmNscreenXmCScreenScreen *dynamicCG
_____
XmNsensitiveXmCSensitiveBooleanTrueCSG
_____
XmNtranslationsXmCTranslationsXtTranslationsdynamicCSG
_____
XmNwidthXmCWidthDimensiondynamicCSG
_____
XmNxXmCPositionPosition0CSG
_____
XmNyXmCPositionPosition0CSG
_____

  Callback Information

When a folder is clicked, the routines registered on the XmNnodeStateCallback list are passed a pointer to the following structure as client data:
typedef struct _XmHierarchyNodeStateData {
	Widget widget;
	XmHierarchyNodeState state;
} XmHierarchyNodeStateData;

widget
    the child node of Hierarchy being opened or closed.

state
    the current XmNnodeState (after the click) of the
    node. Legal values are XmOpen, XmClosed, XmAlwaysOpen,
    and XmHidden.

  Children
The hierarchy maintains IconButtons for each node in the hierarchy. Setting openFolderPixmap or closeFolderPixmap is done through XtSetValues. IconButtons may only be manipulated by the Hierarchy.

RELATED

Composite(3), Constraint(3), Core(3), XmCreateHierarchy(3), XmHierarchyGetChildNodes(3), XmHierarchyOpenAllAncestors(3), XmManager(3).