1 /* Tabs Widget for SXEmacs.
2 Copyright (C) 1999 Edward A. Falk
4 This file is part of SXEmacs.
6 SXEmacs is free software: you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published by the
8 Free Software Foundation, either version 3 of the License, or (at your
9 option) any later version.
11 SXEmacs is distributed in the hope that it will be
12 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19 /* Synched up with: TabsP.h 1.8 */
22 * TabsP.h - Private definitions for Index Tabs widget
28 /***********************************************************************
30 * Tabs Widget Private Data
32 ***********************************************************************/
34 #include <X11/IntrinsicP.h>
38 #include <Xm/ManagerP.h>
43 /* New fields for the Tabs widget class record */
48 /* Full class record declaration */
49 typedef struct _TabsClassRec {
50 CoreClassPart core_class;
51 CompositeClassPart composite_class;
52 ConstraintClassPart constraint_class;
54 XmManagerClassPart manager_class;
56 TabsClassPart tabs_class;
59 extern TabsClassRec tabsClassRec;
61 /****************************************************************
63 * instance record declaration
65 ****************************************************************/
67 /* New fields for the Tabs widget record */
71 Dimension internalHeight, internalWidth;
73 XtCallbackList callbacks;
74 XtCallbackList popdownCallbacks;
75 Boolean selectInsensitive;
76 Boolean be_nice_to_cmap;
77 int top_shadow_contrast;
78 int bot_shadow_contrast;
79 int insensitive_contrast;
88 Dimension tab_height; /* height of tabs (all the same) */
89 /* Note: includes top shadow only */
90 Dimension tab_total; /* total height of all tabs */
91 Dimension child_width, child_height; /* child size, including borders */
92 Dimension max_cw, max_ch; /* max child preferred size */
94 Cardinal realRows; /* XEmacs addition */
95 XtGeometryMask last_query_mode;
97 Pixmap grey50; /* TODO: cache this elsewhere */
100 typedef struct _TabsRec {
102 CompositePart composite;
103 ConstraintPart constraint;
105 XmManagerPart manager;
110 /****************************************************************
112 * constraint record declaration
114 ****************************************************************/
116 typedef struct _TabsConstraintsPart {
126 Boolean visible; /* XEmacs change */
127 Dimension width; /* tab width */
128 Position x, y; /* tab base position */
129 short row; /* tab row */
130 Position l_x, l_y; /* label position */
131 Position lbm_x, lbm_y; /* bitmap position */
132 unsigned int lbm_width, lbm_height, lbm_depth;
133 } TabsConstraintsPart;
135 typedef struct _TabsConstraintsRec {
137 XmManagerConstraintPart manager;
139 TabsConstraintsPart tabs;
140 } TabsConstraintsRec, *TabsConstraints;
142 #endif /* _TabsP_h */