awips2/nativeLib/rary.empty.motif/include/Xm/ContainerP.h
2017-04-21 18:33:55 -06:00

267 lines
14 KiB
C

/**
*
* $Header: /cvsroot/lesstif/lesstif/include/Motif-2.1/Xm/ContainerP.h,v 1.1 2004/08/28 19:23:24 dannybackx Exp $
*
* Copyright © 1999, 2000, 2001 LessTif Development Team
*
* This file is part of the GNU LessTif Library.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
**/
#ifndef _XM_CONTAINERP_H
#define _XM_CONTAINERP_H
#include <Xm/Container.h>
#include <Xm/ManagerP.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct _XmCwidNodeRec {
struct _XmCwidNodeRec *next_ptr, *prev_ptr,
*child_ptr, *parent_ptr;
Widget widget_ptr;
} XmCwidNodeRec, *CwidNode;
typedef struct _XmContainerXfrActionRec {
Widget wid;
XEvent *event;
String *params;
Cardinal *num_params;
Atom operation;
} XmContainerXfrActionRec, *ContainerXfrAction;
/* Define the container instance part */
typedef struct {
WidgetList selected_items;
Widget icon_header, anchor_cwid, druggee, size_ob,
drag_context;
CwidNode first_node, last_node;
Cardinal *detail_order, *detail_heading;
XSegment *outline_segs;
XtCallbackList convert_cb, default_action_cb, destination_cb,
outline_cb, selection_cb;
XmTabList detail_tablist;
XmFontList render_table;
Pixel select_color;
Pixmap collapsed_state_pixmap, expanded_state_pixmap;
GC normalGC, marqueeGC;
Time last_click_time;
Region cells_region;
ContainerXfrAction transfer_action;
XtIntervalId transfer_timer_id;
XPoint anchor_point, marquee_start, marquee_end,
marquee_smallest, marquee_largest, dropspot;
unsigned long dynamic_resource;
int max_depth, outline_seg_count, *cells, cell_count,
next_free_cell, current_width_in_cells,
current_height_in_cells, drag_offset_x, drag_offset_y;
unsigned int selected_item_count;
Cardinal detail_heading_count, saved_detail_heading_count,
detail_order_count;
Dimension first_col_width, real_first_col_width,
large_cell_height, large_cell_width, small_cell_height,
small_cell_width, real_large_cellh, real_large_cellw,
real_small_cellh, real_small_cellw, margin_h,
margin_w, outline_indent, ob_width, ob_height,
prev_width, ideal_width, ideal_height;
Boolean first_change_managed, extending_mode, marquee_mode,
self, toggle_pressed, extend_pressed, ob_pressed,
cancel_pressed, kaddmode, no_auto_sel_changes,
started_in_anchor, marquee_drawn, have_primary,
selecting, large_cell_dim_fixed, small_cell_dim_fixed;
unsigned char automatic, entry_viewtype, include_model, layout_type,
ob_policy, outline_sep_style, spatial_style,
primary_ownership, resize_model, selection_policy,
selection_technique, snap_model, create_cwid_type,
selection_state;
} XmContainerPart;
/* define the full instance record */
typedef struct _XmContainerRec {
CorePart core;
CompositePart composite;
ConstraintPart constraint;
XmManagerPart manager;
XmContainerPart container;
} XmContainerRec;
/* Define class part structure */
typedef struct {
XtPointer extension;
} XmContainerClassPart;
/* Define the full class record */
typedef struct _XmContainerClassRec {
CoreClassPart core_class;
CompositeClassPart composite_class;
ConstraintClassPart constraint_class;
XmManagerClassPart manager_class;
XmContainerClassPart container_class;
} XmContainerClassRec;
/* Define the Constraint Resources */
typedef struct _XmContainerConstraintPart {
Widget entry_parent; /* XmNentryParent */
Widget related_cwid;
CwidNode node_ptr;
int position_index; /* XmNpositionIndex */
int depth;
int cell_idx;
Boolean visible_in_outline;
Position user_x;
Position user_y;
unsigned char outline_state; /* XmNoutlineState */
unsigned char selection_visual;
unsigned char selection_state;
unsigned char cwid_type;
} XmContainerConstraintPart, *XmContainerContraint;
typedef struct _XmContainerConstraintRec {
XmManagerConstraintPart manager;
XmContainerConstraintPart container;
} XmContainerConstraintRec, *XmContainerConstraintPtr;
XMLIBEXPORT extern XmContainerClassRec xmContainerClassRec;
#define ContainerMarginHeight(w) (((XmContainerRec *)(w))->container.margin_h)
#define ContainerMarginWidth(w) (((XmContainerRec *)(w))->container.margin_w)
#define ContainerEntryViewType(w) (((XmContainerRec *)(w))->container.entry_viewtype)
#define ContainerLayoutType(w) (((XmContainerRec *)(w))->container.layout_type)
#define ContainerSelectedItems(w) (((XmContainerRec *)(w))->container.selected_items)
#define ContainerIconHeader(w) (((XmContainerRec *)(w))->container.icon_header)
#define ContainerAnchorCWid(w) (((XmContainerRec *)(w))->container.anchor_cwid)
#define ContainerDruggee(w) (((XmContainerRec *)(w))->container.druggee)
#define ContainerSizeOb(w) (((XmContainerRec *)(w))->container.size_ob)
#define ContainerDragContext(w) (((XmContainerRec *)(w))->container.drag_context)
#define ContainerFirstNode(w) (((XmContainerRec *)(w))->container.first_node)
#define ContainerLastNode(w) (((XmContainerRec *)(w))->container.last_node)
#define ContainerDetailOrder(w) (((XmContainerRec *)(w))->container.detail_order)
#define ContainerDetailHeading(w) (((XmContainerRec *)(w))->container.detail_heading)
#define ContainerConvertCallback(w) (((XmContainerRec *)(w))->container.convert_cb)
#define ContainerDefaultActionCallback(w) (((XmContainerRec *)(w))->container.default_action_cb)
#define ContainerDestinationCallback(w) (((XmContainerRec *)(w))->container.destination_cb)
#define ContainerDetailTablist(w) (((XmContainerRec *)(w))->container.detail_tablist)
#define ContainerRenderTable(w) (((XmContainerRec *)(w))->container.render_table)
#define ContainerSelectColor(w) (((XmContainerRec *)(w))->container.select_color)
#define ContainerCollapsedStatePixmap(w) (((XmContainerRec *)(w))->container.collapsed_state_pixmap)
#define ContainerExpandedStatePixmap(w) (((XmContainerRec *)(w))->container.expanded_state_pixmap)
#define ContainerNormalGC(w) (((XmContainerRec *)(w))->container.normalGC)
#define ContainerMarqueeGC(w) (((XmContainerRec *)(w))->container.marqueeGC)
#define ContainerLastClickTime(w) (((XmContainerRec *)(w))->container.last_click_time)
#define ContainerCellsRegion(w) (((XmContainerRec *)(w))->container.cells_region)
#define ContainerTransferAction(w) (((XmContainerRec *)(w))->container.transfer_action)
#define ContainerTransferTimerId(w) (((XmContainerRec *)(w))->container.transfer_timer_id)
#define ContainerAnchorPoint(w) (((XmContainerRec *)(w))->container.anchor_point)
#define ContainerMarqueeStart(w) (((XmContainerRec *)(w))->container.marquee_start)
#define ContainerMarqueeEnd(w) (((XmContainerRec *)(w))->container.marquee_end)
#define ContainerMarqueeSmallest(w) (((XmContainerRec *)(w))->container.marquee_smallest)
#define ContainerMarqueeLargest(w) (((XmContainerRec *)(w))->container.marquee_largest)
#define ContainerDropSpot(w) (((XmContainerRec *)(w))->container.dropspot)
#define ContainerDynamicResource(w) (((XmContainerRec *)(w))->container.dynamic_resource)
#define ContainerMaxDepth(w) (((XmContainerRec *)(w))->container.max_depth)
#define ContainerOutlineSegs(w) (((XmContainerRec *)(w))->container.outline_segs)
#define ContainerOutlineSegCount(w) (((XmContainerRec *)(w))->container.outline_seg_count)
#define ContainerCells(w) (((XmContainerRec *)(w))->container.cells)
#define ContainerCellCount(w) (((XmContainerRec *)(w))->container.cell_count)
#define ContainerNextFreeCell(w) (((XmContainerRec *)(w))->container.next_free_cell)
#define ContainerCurrentWidthInCell(w) (((XmContainerRec *)(w))->container.current_width_in_cells)
#define ContainerCurrentHeightInCell(w) (((XmContainerRec *)(w))->container.current_height_in_cells)
#define ContainerDragOffsetX(w) (((XmContainerRec *)(w))->container.drag_offset_x)
#define ContainerDragOffsetY(w) (((XmContainerRec *)(w))->container.drag_offset_y)
#define ContainerSelectedItemCount(w) (((XmContainerRec *)(w))->container.selected_item_count)
#define ContainerDetailHeadingCount(w) (((XmContainerRec *)(w))->container.detail_heading_count)
#define ContainerSavedDetailHeadingCount(w) (((XmContainerRec *)(w))->container.saved_detail_heading_count)
#define ContainerDetailOrderCount(w) (((XmContainerRec *)(w))->container.detail_order_count)
#define ContainerFirstColWidth(w) (((XmContainerRec *)(w))->container.first_col_width)
#define ContainerRealFirstColWidth(w) (((XmContainerRec *)(w))->container.real_first_col_width)
#define ContainerLargeCellHeight(w) (((XmContainerRec *)(w))->container.large_cell_height)
#define ContainerLargeCellWidth(w) (((XmContainerRec *)(w))->container.large_cell_width)
#define ContainerSmallCellHeight(w) (((XmContainerRec *)(w))->container.small_cell_height)
#define ContainerSmallCellWidth(w) (((XmContainerRec *)(w))->container.small_cell_width)
#define ContainerRealLargeCellHeight(w) (((XmContainerRec *)(w))->container.real_large_cellh)
#define ContainerRealLargeCellWidth(w) (((XmContainerRec *)(w))->container.real_large_cellw)
#define ContainerRealSmallCellHeight(w) (((XmContainerRec *)(w))->container.real_small_cellh)
#define ContainerRealSmallCellWidth(w) (((XmContainerRec *)(w))->container.real_small_cellw)
#define ContainerOutlineIndent(w) (((XmContainerRec *)(w))->container.outline_indent)
#define ContainerObWidth(w) (((XmContainerRec *)(w))->container.ob_width)
#define ContainerObHeight(w) (((XmContainerRec *)(w))->container.ob_height)
#define ContainerPreviousWidth(w) (((XmContainerRec *)(w))->container.prev_width)
#define ContainerIdealWidth(w) (((XmContainerRec *)(w))->container.ideal_width)
#define ContainerIdealHeight(w) (((XmContainerRec *)(w))->container.ideal_height)
#define ContainerFirstChangeManaged(w) (((XmContainerRec *)(w))->container.first_change_managed)
#define ContainerExtendingMode(w) (((XmContainerRec *)(w))->container.extending_mode)
#define ContainerMarqueeMode(w) (((XmContainerRec *)(w))->container.marquee_mode)
#define ContainerSelf(w) (((XmContainerRec *)(w))->container.self)
#define ContainerTogglePressed(w) (((XmContainerRec *)(w))->container.toggle_pressed)
#define ContainerExtendPressed(w) (((XmContainerRec *)(w))->container.extend_pressed)
#define ContainerObPressed(w) (((XmContainerRec *)(w))->container.ob_pressed)
#define ContainerCancelPressed(w) (((XmContainerRec *)(w))->container.cancel_pressed)
#define ContainerKeyAddMode(w) (((XmContainerRec *)(w))->container.kaddmode)
#define ContainerNoAutoSelectChanges(w) (((XmContainerRec *)(w))->container.no_auto_sel_changes)
#define ContainerStartedInAnchor(w) (((XmContainerRec *)(w))->container.started_in_anchor)
#define ContainerMarqueeDrawn(w) (((XmContainerRec *)(w))->container.marquee_drawn)
#define ContainerHavePrimary(w) (((XmContainerRec *)(w))->container.have_primary)
#define ContainerSelecting(w) (((XmContainerRec *)(w))->container.selecting)
#define ContainerLargeCellDimFixed(w) (((XmContainerRec *)(w))->container.large_cell_dim_fixed)
#define ContainerSmallCellDimFixed(w) (((XmContainerRec *)(w))->container.small_cell_dim_fixed)
#define ContainerAutomaticSelection(w) (((XmContainerRec *)(w))->container.automatic)
#define ContainerIncludeModel(w) (((XmContainerRec *)(w))->container.include_model)
#define ContainerObPolicy(w) (((XmContainerRec *)(w))->container.ob_policy)
#define ContainerOutlineSeparatorStyle(w) (((XmContainerRec *)(w))->container.outline_sep_style)
#define ContainerSpatialStyle(w) (((XmContainerRec *)(w))->container.spatial_style)
#define ContainerPrimaryOwnership(w) (((XmContainerRec *)(w))->container.primary_ownership)
#define ContainerSpatialResizeModel(w) (((XmContainerRec *)(w))->container.resize_model)
#define ContainerSelectionPolicy(w) (((XmContainerRec *)(w))->container.selection_policy)
#define ContainerSelectionTechnique(w) (((XmContainerRec *)(w))->container.selection_technique)
#define ContainerSnapModel(w) (((XmContainerRec *)(w))->container.snap_model)
#define ContainerCreateCWidthType(w) (((XmContainerRec *)(w))->container.create_cwid_type)
#define ContainerSelectionState(w) (((XmContainerRec *)(w))->container.selection_state)
#define ContainerSelectionCallback(w) (((XmContainerRec *)(w))->container.selection_cb)
#define CC_PositionIndex(cw) \
(((XmContainerConstraintRec *)(CoreConstraints(cw)))->container.position_index)
#define CC_EntryParent(cw) \
(((XmContainerConstraintRec *)(CoreConstraints(cw)))->container.entry_parent)
#define CC_OutlineState(cw) \
(((XmContainerConstraintRec *)(CoreConstraints(cw)))->container.outline_state)
#define CC_UserX(cw) \
(((XmContainerConstraintRec *)(CoreConstraints(cw)))->container.user_x)
#define CC_UserY(cw) \
(((XmContainerConstraintRec *)(CoreConstraints(cw)))->container.user_y)
#define CC_Related(cw) \
(((XmContainerConstraintRec *)(CoreConstraints(cw)))->container.related_cwid)
#define CC_Node(cw) \
(((XmContainerConstraintRec *)(CoreConstraints(cw)))->container.node_ptr)
#define CC_CWidType(cw) \
(((XmContainerConstraintRec *)(CoreConstraints(cw)))->container.cwid_type)
#define CC_Next(cw) (CC_Node(cw)->next_ptr)
#define CC_Prev(cw) (CC_Node(cw)->prev_ptr)
#define CC_Child(cw) (CC_Node(cw)->child_ptr)
#define CC_Parent(cw) (CC_Node(cw)->parent_ptr)
#define CC_Widget(cw) (CC_Node(cw)->widget_ptr)
#ifdef __cplusplus
}
#endif
#endif /* _XM_CONTAINERP_H */