File indexing completed on 2025-01-18 10:15:29
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 #ifndef _XmTabStackP_h_
0025 #define _XmTabStackP_h_
0026
0027 #include <Xm/XmP.h>
0028 #include <Xm/ManagerP.h>
0029 #include <Xm/BulletinBP.h>
0030 #include <Xm/ExtP.h>
0031 #include <Xm/TabBox.h>
0032 #include <Xm/TabList.h>
0033 #include <Xm/TabStack.h>
0034
0035 #ifdef __cplusplus
0036 extern "C" {
0037 #endif
0038
0039 typedef struct _XmTabStackClassPart {
0040 String drag_translations;
0041 XtPointer extension;
0042 } XmTabStackClassPart;
0043
0044
0045 typedef struct _XmTabStackClassRec {
0046 CoreClassPart core_class;
0047 CompositeClassPart composite_class;
0048 ConstraintClassPart constraint_class;
0049 XmManagerClassPart manager_class;
0050 XmBulletinBoardClassPart bulletin_board_class;
0051 XmTabStackClassPart tab_stack_class;
0052 } XmTabStackClassRec;
0053 externalref XmTabStackClassRec xmTabStackClassRec;
0054
0055 typedef struct _XmTabStackPart {
0056
0057
0058 XtCallbackList tab_select_callback;
0059
0060
0061 XmFontList font_list;
0062 XmTabStyle tab_style;
0063 XmTabMode tab_mode;
0064 XmTabSide tab_side;
0065 XmTabOrientation tab_orientation;
0066
0067 XmString tear_off_label;
0068
0069 Boolean allow_tear_offs;
0070 Boolean uniform_tab_size;
0071 Boolean use_image_cache;
0072 Boolean stacked_effect;
0073 Boolean tab_auto_select;
0074
0075 Dimension tab_margin_width;
0076 Dimension tab_margin_height;
0077 Dimension tab_label_spacing;
0078 Dimension tab_offset;
0079 Dimension highlight_thickness;
0080
0081 Pixel select_color;
0082 Pixel select_pixmap;
0083
0084 int tab_corner_percent;
0085
0086 Widget tab_box;
0087
0088
0089
0090 XmTabbedStackList _tab_list;
0091
0092 XRectangle _size;
0093
0094 Widget _active_child;
0095 GC _gc;
0096
0097 Boolean _inited;
0098 Boolean _set_tab_list;
0099
0100 Widget _menu;
0101 Widget _tear_off_button;
0102
0103
0104 Pixmap _source_pixmap;
0105 Pixmap _source_mask;
0106 Pixmap _invalid_pixmap;
0107 Pixmap _invalid_mask;
0108 Widget _source_icon;
0109 Widget _invalid_icon;
0110
0111 Widget _selected_tab;
0112 Boolean _selected_notify;
0113
0114 Boolean do_notify;
0115
0116 Boolean check_set_render_table;
0117
0118 } XmTabStackPart;
0119
0120 #define XmTabStack_tab_select_callback(w) (((XmTabStackWidget)(w))->tab_stack.tab_select_callback)
0121 #define XmTabStack_font_list(w) (((XmTabStackWidget)(w))->tab_stack.font_list)
0122 #define XmTabStack_tab_style(w) (((XmTabStackWidget)(w))->tab_stack.tab_style)
0123 #define XmTabStack_tab_mode(w) (((XmTabStackWidget)(w))->tab_stack.tab_mode)
0124 #define XmTabStack_tab_side(w) (((XmTabStackWidget)(w))->tab_stack.tab_side)
0125 #define XmTabStack_tab_orientation(w) (((XmTabStackWidget)(w))->tab_stack.tab_orientation)
0126 #define XmTabStack_tear_off_label(w) (((XmTabStackWidget)(w))->tab_stack.tear_off_label)
0127 #define XmTabStack_allow_tear_offs(w) (((XmTabStackWidget)(w))->tab_stack.allow_tear_offs)
0128 #define XmTabStack_uniform_tab_size(w) (((XmTabStackWidget)(w))->tab_stack.uniform_tab_size)
0129 #define XmTabStack_use_image_cache(w) (((XmTabStackWidget)(w))->tab_stack.use_image_cache)
0130 #define XmTabStack_stacked_effect(w) (((XmTabStackWidget)(w))->tab_stack.stacked_effect)
0131 #define XmTabStack_tab_auto_select(w) (((XmTabStackWidget)(w))->tab_stack.tab_auto_select)
0132 #define XmTabStack_tab_margin_width(w) (((XmTabStackWidget)(w))->tab_stack.tab_margin_width)
0133 #define XmTabStack_tab_margin_height(w) (((XmTabStackWidget)(w))->tab_stack.tab_margin_height)
0134 #define XmTabStack_tab_label_spacing(w) (((XmTabStackWidget)(w))->tab_stack.tab_label_spacing)
0135 #define XmTabStack_tab_offset(w) (((XmTabStackWidget)(w))->tab_stack.tab_offset)
0136 #define XmTabStack_highlight_thickness(w) (((XmTabStackWidget)(w))->tab_stack.highlight_thickness)
0137 #define XmTabStack_select_color(w) (((XmTabStackWidget)(w))->tab_stack.select_color)
0138 #define XmTabStack_select_pixmap(w) (((XmTabStackWidget)(w))->tab_stack.select_pixmap)
0139 #define XmTabStack_tab_corner_percent(w) (((XmTabStackWidget)(w))->tab_stack.tab_corner_percent)
0140 #define XmTabStack_tab_box(w) (((XmTabStackWidget)(w))->tab_stack.tab_box)
0141 #define XmTabStack__tab_list(w) (((XmTabStackWidget)(w))->tab_stack._tab_list)
0142 #define XmTabStack__size(w) (((XmTabStackWidget)(w))->tab_stack._size)
0143 #define XmTabStack__active_child(w) (((XmTabStackWidget)(w))->tab_stack._active_child)
0144 #define XmTabStack__gc(w) (((XmTabStackWidget)(w))->tab_stack._gc)
0145 #define XmTabStack__inited(w) (((XmTabStackWidget)(w))->tab_stack._inited)
0146 #define XmTabStack__set_tab_list(w) (((XmTabStackWidget)(w))->tab_stack._set_tab_list)
0147 #define XmTabStack__menu(w) (((XmTabStackWidget)(w))->tab_stack._menu)
0148 #define XmTabStack__tear_off_button(w) (((XmTabStackWidget)(w))->tab_stack._tear_off_button)
0149 #define XmTabStack__source_pixmap(w) (((XmTabStackWidget)(w))->tab_stack._source_pixmap)
0150 #define XmTabStack__source_mask(w) (((XmTabStackWidget)(w))->tab_stack._source_mask)
0151 #define XmTabStack__invalid_pixmap(w) (((XmTabStackWidget)(w))->tab_stack._invalid_pixmap)
0152 #define XmTabStack__invalid_mask(w) (((XmTabStackWidget)(w))->tab_stack._invalid_mask)
0153 #define XmTabStack__source_icon(w) (((XmTabStackWidget)(w))->tab_stack._source_icon)
0154 #define XmTabStack__invalid_icon(w) (((XmTabStackWidget)(w))->tab_stack._invalid_icon)
0155 #define XmTabStack__selected_tab(w) (((XmTabStackWidget)(w))->tab_stack._selected_tab)
0156 #define XmTabStack__selected_notify(w) (((XmTabStackWidget)(w))->tab_stack._selected_notify)
0157 #define XmTabStack_do_notify(w) (((XmTabStackWidget)(w))->tab_stack.do_notify)
0158
0159 typedef struct _XmTabStackRec {
0160 CorePart core;
0161 CompositePart composite;
0162 ConstraintPart constraint;
0163 XmManagerPart manager;
0164 XmBulletinBoardPart bulletin_board;
0165 XmTabStackPart tab_stack;
0166 } XmTabStackRec;
0167
0168 typedef struct _XmTabStackConstraintPart {
0169 XmString tab_label_string;
0170 XmStringDirection tab_string_direction;
0171 unsigned char tab_alignment;
0172 Pixmap tab_label_pixmap;
0173 XmPixmapPlacement tab_pixmap_placement;
0174 Pixel tab_foreground;
0175 Pixel tab_background;
0176 Pixmap tab_background_pixmap;
0177 Boolean free_tab_pixmap;
0178
0179 Boolean tear_off_enabled;
0180
0181
0182 int index;
0183 Dimension width;
0184 Dimension height;
0185 } XmTabStackConstraintPart;
0186
0187 #define XmTabStackC_tab_label_string(w) \
0188 (((XmTabStackConstraintPtr)((w)->core.constraints))->tab_stack.tab_label_string)
0189 #define XmTabStackC_tab_string_direction(w) \
0190 (((XmTabStackConstraintPtr)((w)->core.constraints))->tab_stack.tab_string_direction)
0191 #define XmTabStackC_tab_alignment(w) \
0192 (((XmTabStackConstraintPtr)((w)->core.constraints))->tab_stack.tab_alignment)
0193 #define XmTabStackC_tab_label_pixmap(w) \
0194 (((XmTabStackConstraintPtr)((w)->core.constraints))->tab_stack.tab_label_pixmap)
0195 #define XmTabStackC_tab_pixmap_placement(w) \
0196 (((XmTabStackConstraintPtr)((w)->core.constraints))->tab_stack.tab_pixmap_placement)
0197 #define XmTabStackC_tab_foreground(w) \
0198 (((XmTabStackConstraintPtr)((w)->core.constraints))->tab_stack.tab_foreground)
0199 #define XmTabStackC_tab_background(w) \
0200 (((XmTabStackConstraintPtr)((w)->core.constraints))->tab_stack.tab_background)
0201 #define XmTabStackC_tab_background_pixmap(w) \
0202 (((XmTabStackConstraintPtr)((w)->core.constraints))->tab_stack.tab_background_pixmap)
0203 #define XmTabStackC_free_tab_pixmap(w) \
0204 (((XmTabStackConstraintPtr)((w)->core.constraints))->tab_stack.free_tab_pixmap)
0205 #define XmTabStackC_tear_off_enabled(w) \
0206 (((XmTabStackConstraintPtr)((w)->core.constraints))->tab_stack.tear_off_enabled)
0207 #define XmTabStackC_index(w) \
0208 (((XmTabStackConstraintPtr)((w)->core.constraints))->tab_stack.index)
0209 #define XmTabStackC_width(w) \
0210 (((XmTabStackConstraintPtr)((w)->core.constraints))->tab_stack.width)
0211 #define XmTabStackC_height(w) \
0212 (((XmTabStackConstraintPtr)((w)->core.constraints))->tab_stack.height)
0213
0214 typedef struct _XmTabStackConstraintRec {
0215 XmManagerConstraintPart manager;
0216 XmTabStackConstraintPart tab_stack;
0217 } XmTabStackConstraintRec, * XmTabStackConstraintPtr;
0218
0219 #define XmNillegalUniformTabSizeMsg \
0220 "XmNuniformTabSize must be true if XmNtabMode is XmTABS_STACKED or\n\
0221 XmTABS_STACKED_STATIC."
0222
0223 #define XmTabStackIndex (XmBulletinBoardIndex + 1)
0224
0225 #ifdef __cplusplus
0226 }
0227 #endif
0228
0229
0230 #endif