File indexing completed on 2025-01-18 10:15:27
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025 #ifndef _XmPanedP_h
0026 #define _XmPanedP_h
0027
0028 #if defined(VMS) || defined(__VMS)
0029 #include <X11/apienvset.h>
0030 #endif
0031
0032 #include <Xm/ManagerP.h>
0033 #include <Xm/Paned.h>
0034
0035 #ifdef __cplusplus
0036 extern "C" {
0037 #endif
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047 typedef struct _XmPanedClassPart {
0048 XtPointer extension;
0049 } XmPanedClassPart;
0050
0051
0052 typedef struct _XmPanedClassRec {
0053 CoreClassPart core_class;
0054 CompositeClassPart composite_class;
0055 ConstraintClassPart constraint_class;
0056 XmManagerClassPart manager_class;
0057 XmPanedClassPart paned_class;
0058 } XmPanedClassRec;
0059
0060 extern XmPanedClassRec xmPanedClassRec;
0061
0062
0063 typedef struct _XmPanedConstraintsPart {
0064
0065 Dimension min;
0066 Dimension max;
0067 Boolean allow_resize;
0068 Boolean show_sash;
0069
0070 Boolean skip_adjust;
0071
0072 int position;
0073
0074 Dimension preferred_size;
0075
0076 Boolean resize_to_pref;
0077
0078
0079 Boolean is_a_pane;
0080
0081
0082
0083 Position delta;
0084 Position olddelta;
0085 Dimension wp_size;
0086 Dimension wp_off_size;
0087 int size;
0088 Widget sash;
0089 Widget separator;
0090
0091 Boolean prefs_inited;
0092 } XmPanedConstraintsPart, *Pane;
0093
0094 typedef struct _XmPanedConstraintsRec {
0095 XmManagerConstraintPart manager;
0096 XmPanedConstraintsPart paned;
0097 } XmPanedConstraintsRec, *XmPanedConstraints;
0098
0099
0100
0101
0102
0103 typedef XmPanedConstraintsPart XmPanedConstraintPart;
0104
0105
0106
0107
0108
0109 typedef struct _PaneStack {
0110 struct _PaneStack * next;
0111 Pane pane;
0112 int start_size;
0113
0114 } PaneStack;
0115
0116 #define NO_ADJUST ((char) 0)
0117 #define BEGAN_ADJUST ((char) 1)
0118
0119
0120 typedef struct {
0121
0122 Position sash_indent;
0123 Boolean refiguremode;
0124
0125 XtTranslations sash_translations;
0126 Dimension internal_bw;
0127 unsigned char orientation;
0128
0129 Cursor cursor;
0130
0131
0132 Boolean separator_on;
0133 Dimension margin_width;
0134
0135 Dimension margin_height;
0136
0137
0138
0139 Dimension sash_width;
0140 Dimension sash_height;
0141 Dimension sash_shadow_thickness;
0142
0143
0144 Boolean recursively_called;
0145 Boolean resize_children_to_pref;
0146
0147
0148 short increment_count;
0149 char repane_status;
0150 Position start_loc;
0151 GC flipgc;
0152
0153 short num_panes;
0154 short num_slots;
0155
0156 PaneStack * stack;
0157 WidgetList managed_children;
0158
0159 Boolean allow_unused_space;
0160
0161
0162
0163 } XmPanedPart;
0164
0165
0166
0167
0168
0169
0170
0171 typedef struct _XmPanedRec {
0172 CorePart core;
0173 CompositePart composite;
0174 ConstraintPart constraint;
0175 XmManagerPart manager;
0176 XmPanedPart paned;
0177 } XmPanedRec;
0178
0179
0180
0181
0182
0183
0184 void _XmFromPanedPixels(Widget, int, XtArgVal *);
0185 XmImportOperator _XmToPanedPixels(Widget, int, XtArgVal *);
0186
0187
0188
0189
0190
0191
0192
0193
0194
0195
0196
0197 #define XmPaned_sash_indent(w) (((XmPanedWidget)(w))->paned.sash_indent)
0198 #define XmPaned_refiguremode(w) (((XmPanedWidget)(w))->paned.refiguremode)
0199 #define XmPaned_sash_translations(w) (((XmPanedWidget)(w))->paned.sash_translations)
0200 #define XmPaned_internal_bw(w) (((XmPanedWidget)(w))->paned.internal_bw)
0201 #define XmPaned_orientation(w) (((XmPanedWidget)(w))->paned.orientation)
0202 #define XmPaned_cursor(w) (((XmPanedWidget)(w))->paned.cursor)
0203 #define XmPaned_separator_on(w) (((XmPanedWidget)(w))->paned.separator_on)
0204 #define XmPaned_margin_width(w) (((XmPanedWidget)(w))->paned.margin_width)
0205 #define XmPaned_margin_height(w) (((XmPanedWidget)(w))->paned.margin_height)
0206 #define XmPaned_sash_width(w) (((XmPanedWidget)(w))->paned.sash_width)
0207 #define XmPaned_sash_height(w) (((XmPanedWidget)(w))->paned.sash_height)
0208 #define XmPaned_sash_shadow_thickness(w) (((XmPanedWidget)(w))->paned.sash_shadow_thickness)
0209 #define XmPaned_recursively_called(w) (((XmPanedWidget)(w))->paned.recursively_called)
0210 #define XmPaned_resize_children_to_pref(w) (((XmPanedWidget)(w))->paned.resize_children_to_pref)
0211 #define XmPaned_increment_count(w) (((XmPanedWidget)(w))->paned.increment_count)
0212 #define XmPaned_repane_status(w) (((XmPanedWidget)(w))->paned.repane_status)
0213 #define XmPaned_start_loc(w) (((XmPanedWidget)(w))->paned.start_loc)
0214 #define XmPaned_flipgc(w) (((XmPanedWidget)(w))->paned.flipgc)
0215 #define XmPaned_num_panes(w) (((XmPanedWidget)(w))->paned.num_panes)
0216 #define XmPaned_num_slots(w) (((XmPanedWidget)(w))->paned.num_slots)
0217 #define XmPaned_stack(w) (((XmPanedWidget)(w))->paned.stack)
0218 #define XmPaned_managed_children(w) (((XmPanedWidget)(w))->paned.managed_children)
0219 #define XmPaned_allow_unused_space(w) (((XmPanedWidget)(w))->paned.allow_unused_space)
0220
0221 #define XmPanedC_min(w) (((XmPanedConstraintsRec*)(w)->core.constraints)->paned.min)
0222 #define XmPanedC_max(w) (((XmPanedConstraintsRec*)(w)->core.constraints)->paned.max)
0223 #define XmPanedC_allow_resize(w) (((XmPanedConstraintsRec*)(w)->core.constraints)->paned.allow_resize)
0224 #define XmPanedC_show_sash(w) (((XmPanedConstraintsRec*)(w)->core.constraints)->paned.show_sash)
0225 #define XmPanedC_skip_adjust(w) (((XmPanedConstraintsRec*)(w)->core.constraints)->paned.skip_adjust)
0226 #define XmPanedC_position(w) (((XmPanedConstraintsRec*)(w)->core.constraints)->paned.position)
0227 #define XmPanedC_preferred_size(w) (((XmPanedConstraintsRec*)(w)->core.constraints)->paned.preferred_size)
0228 #define XmPanedC_resize_to_pref(w) (((XmPanedConstraintsRec*)(w)->core.constraints)->paned.resize_to_pref)
0229 #define XmPanedC_is_a_pane(w) (((XmPanedConstraintsRec*)(w)->core.constraints)->paned.is_a_pane)
0230 #define XmPanedC_delta(w) (((XmPanedConstraintsRec*)(w)->core.constraints)->paned.delta)
0231 #define XmPanedC_olddelta(w) (((XmPanedConstraintsRec*)(w)->core.constraints)->paned.olddelta)
0232 #define XmPanedC_wp_size(w) (((XmPanedConstraintsRec*)(w)->core.constraints)->paned.wp_size)
0233 #define XmPanedC_wp_off_size(w) (((XmPanedConstraintsRec*)(w)->core.constraints)->paned.wp_off_size)
0234 #define XmPanedC_size(w) (((XmPanedConstraintsRec*)(w)->core.constraints)->paned.size)
0235 #define XmPanedC_sash(w) (((XmPanedConstraintsRec*)(w)->core.constraints)->paned.sash)
0236 #define XmPanedC_separator(w) (((XmPanedConstraintsRec*)(w)->core.constraints)->paned.separator)
0237 #define XmPanedC_prefs_inited(w) (((XmPanedConstraintsRec*)(w)->core.constraints)->paned.prefs_inited)
0238
0239 #define ForceSashOff(pane) ((pane)->min == (pane)->max)
0240 #define PaneConsRec(w) ((XmPanedConstraints)(w)->core.constraints)
0241 #define PaneInfo(w) (&(((XmPanedConstraintsRec*)((w)->core.constraints))->paned))
0242 #define HasSash(w) (XmPanedC_sash(w) != NULL)
0243 #define HasSep(w) (XmPanedC_separator(w) != NULL)
0244
0245 #define PaneIndex(w) (XmPanedC_position(w))
0246 #define IsVert(w) (XmPaned_orientation(w) == XmVERTICAL)
0247
0248 #define IsLastPane(pw, childP) ((XmPaned_managed_children((pw)) + \
0249 XmPaned_num_panes((pw)) - 1) == childP)
0250
0251 #define ForAllPaned(pw, childP) \
0252 for ( ((childP) = (XmPaned_managed_children((pw)))) ; \
0253 ((childP) < ((XmPaned_managed_children((pw))) \
0254 + (XmPaned_num_panes((pw))))) ; \
0255 (childP)++ )
0256
0257 #define NthPane(pw, paneIndex) (XmPaned_managed_children((pw)) + (paneIndex))
0258
0259 #ifdef _cplusplus
0260 }
0261 #endif
0262
0263 #if defined(VMS) || defined(__VMS)
0264 #include <X11/apienvrst.h>
0265 #endif
0266
0267 #endif
0268