Mercurial > hg > xemacs-beta
annotate lwlib/xlwtabsP.h @ 5920:0f2338afbabf cygwin
Minimum necessary to get started:
sufficient to compile OK, run -nw, but not with window
author | Henry Thompson <ht@markup.co.uk> |
---|---|
date | Mon, 21 Apr 2014 11:42:50 +0100 |
parents | 308d34e9f07d |
children |
rev | line source |
---|---|
424 | 1 /* Tabs Widget for XEmacs. |
2 Copyright (C) 1999 Edward A. Falk | |
3 | |
4 This file is part of XEmacs. | |
5 | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4916
diff
changeset
|
6 XEmacs is free software: you can redistribute it and/or modify it |
424 | 7 under the terms of the GNU General Public License as published by the |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4916
diff
changeset
|
8 Free Software Foundation, either version 3 of the License, or (at your |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4916
diff
changeset
|
9 option) any later version. |
424 | 10 |
11 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4916
diff
changeset
|
17 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */ |
424 | 18 |
434 | 19 /* Synched up with: TabsP.h 1.8 */ |
424 | 20 |
21 /* | |
22 * TabsP.h - Private definitions for Index Tabs widget | |
23 */ | |
24 | |
25 #ifndef _TabsP_h | |
26 #define _TabsP_h | |
27 | |
28 /*********************************************************************** | |
29 * | |
30 * Tabs Widget Private Data | |
31 * | |
32 ***********************************************************************/ | |
33 | |
34 #include <X11/IntrinsicP.h> | |
35 | |
36 #ifdef NEED_MOTIF | |
37 #include <Xm/XmP.h> | |
38 #include <Xm/ManagerP.h> | |
39 #endif | |
40 | |
41 #include "xlwtabs.h" | |
4916
a6c778975d7d
split USE_XFT into HAVE_XFT/USE_XFT
Ben Wing <ben@xemacs.org>
parents:
3685
diff
changeset
|
42 #ifdef HAVE_XFT_TABS |
3094 | 43 #include <X11/Xft/Xft.h> |
44 #endif | |
424 | 45 |
46 /* New fields for the Tabs widget class record */ | |
47 typedef struct {XtPointer extension;} TabsClassPart; | |
48 | |
49 /* Full class record declaration */ | |
50 typedef struct _TabsClassRec { | |
51 CoreClassPart core_class; | |
52 CompositeClassPart composite_class; | |
53 ConstraintClassPart constraint_class; | |
54 #ifdef NEED_MOTIF | |
55 XmManagerClassPart manager_class; | |
56 #endif | |
57 TabsClassPart tabs_class; | |
58 } TabsClassRec; | |
59 | |
60 extern TabsClassRec tabsClassRec; | |
61 | |
62 | |
63 | |
64 /**************************************************************** | |
65 * | |
66 * instance record declaration | |
67 * | |
68 ****************************************************************/ | |
69 | |
70 /* New fields for the Tabs widget record */ | |
71 typedef struct { | |
72 /* resources */ | |
73 XFontStruct *font ; | |
4916
a6c778975d7d
split USE_XFT into HAVE_XFT/USE_XFT
Ben Wing <ben@xemacs.org>
parents:
3685
diff
changeset
|
74 #ifdef HAVE_XFT_TABS |
3397 | 75 XftFont *renderFont; |
76 String fcFontName; | |
3685 | 77 String xftFontName; |
3094 | 78 #endif |
424 | 79 Dimension internalHeight, internalWidth ; |
80 Widget topWidget ; | |
81 XtCallbackList callbacks ; | |
82 XtCallbackList popdownCallbacks ; | |
83 Boolean selectInsensitive ; | |
84 Boolean be_nice_to_cmap ; | |
85 int top_shadow_contrast ; | |
86 int bot_shadow_contrast ; | |
87 int insensitive_contrast ; | |
88 | |
89 /* private state */ | |
90 Widget hilight ; | |
91 GC foregroundGC ; | |
92 GC backgroundGC ; | |
93 GC greyGC ; | |
94 GC topGC ; | |
95 GC botGC ; | |
96 Dimension tab_height ; /* height of tabs (all the same) */ | |
97 /* Note: includes top shadow only */ | |
98 Dimension tab_total ; /* total height of all tabs */ | |
99 Dimension child_width, child_height; /* child size, including borders */ | |
100 Dimension max_cw, max_ch ; /* max child preferred size */ | |
101 Cardinal numRows ; | |
446 | 102 Cardinal realRows; /* XEmacs addition */ |
424 | 103 XtGeometryMask last_query_mode; |
104 Boolean needs_layout ; | |
105 Pixmap grey50 ; /* TODO: cache this elsewhere */ | |
106 } TabsPart; | |
107 | |
108 | |
109 typedef struct _TabsRec { | |
110 CorePart core; | |
111 CompositePart composite; | |
112 ConstraintPart constraint; | |
113 #ifdef NEED_MOTIF | |
114 XmManagerPart manager; | |
115 #endif | |
116 TabsPart tabs; | |
117 } TabsRec; | |
118 | |
119 | |
120 | |
121 | |
122 /**************************************************************** | |
123 * | |
3397 | 124 * Constraint record declaration |
424 | 125 * |
126 ****************************************************************/ | |
127 | |
128 typedef struct _TabsConstraintsPart { | |
129 /* resources */ | |
130 String label ; | |
131 Pixmap left_bitmap ; | |
132 Pixel foreground ; | |
133 Boolean resizable ; | |
134 | |
135 /* private state */ | |
136 Pixel grey ; | |
137 Boolean greyAlloc ; | |
446 | 138 Boolean visible; /* XEmacs change */ |
424 | 139 Dimension width ; /* tab width */ |
140 Position x,y ; /* tab base position */ | |
141 short row ; /* tab row */ | |
142 Position l_x, l_y ; /* label position */ | |
143 Position lbm_x, lbm_y ; /* bitmap position */ | |
144 unsigned int lbm_width, lbm_height, lbm_depth ; | |
145 } TabsConstraintsPart ; | |
146 | |
147 typedef struct _TabsConstraintsRec { | |
148 #ifdef NEED_MOTIF | |
149 XmManagerConstraintPart manager; | |
150 #endif | |
151 TabsConstraintsPart tabs ; | |
152 } TabsConstraintsRec, *TabsConstraints ; | |
153 | |
154 | |
155 #endif /* _TabsP_h */ |