398
|
1 /* Tabs Widget for XEmacs.
|
|
2 Copyright (C) 1999 Edward A. Falk
|
|
3
|
|
4 This file is part of XEmacs.
|
|
5
|
|
6 XEmacs 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 2, or (at your option) any
|
|
9 later version.
|
|
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
|
|
17 along with XEmacs; see the file COPYING. If not, write to
|
|
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
19 Boston, MA 02111-1307, USA. */
|
|
20
|
|
21 /*
|
|
22 * This widget manages one or more child widgets, exactly one of which is
|
|
23 * visible. Above the child widgets is a graphic that looks like index
|
|
24 * tabs from file folders. Each tab corresponds to one of the child widgets.
|
|
25 * By clicking on a tab, the user can bring the corresponding widget to
|
|
26 * the top of the stack.
|
|
27 */
|
|
28
|
|
29
|
|
30 #ifndef _Tabs_h
|
|
31 #define _Tabs_h
|
|
32
|
|
33 #include <X11/Constraint.h>
|
|
34
|
|
35
|
|
36 /***********************************************************************
|
|
37 *
|
|
38 * Tabs Widget (subclass of CompositeClass)
|
|
39 *
|
|
40 ***********************************************************************/
|
|
41
|
|
42 /* Parameters:
|
|
43
|
|
44 Name Class RepType Default Value
|
|
45 ---- ----- ------- -------------
|
|
46 font Font XFontStruct* XtDefaultFont
|
|
47 internalWidth Width Dimension 4 *1
|
|
48 internalHeight Height Dimension 2 *1
|
|
49 topWidget TopWidget Widget *2
|
|
50 callback Callback XtCallbackList NULL *3
|
|
51 popdownCallback Callback XtCallbackList NULL *4
|
|
52 selectInsensitive SelectInsensitive Boolean True *5
|
|
53 beNiceToColormap BeNiceToColormap Boolean False *6
|
|
54 topShadowContrast TopShadowContrast int 20
|
|
55 bottomShadowContrast BottomShadowContrast int 40
|
|
56 insensitiveContrast InsensitiveContrast int 33 *7
|
|
57
|
|
58 background Background Pixel XtDefaultBackground
|
|
59 border BorderColor Pixel XtDefaultForeground
|
|
60 borderWidth BorderWidth Dimension 1
|
|
61 destroyCallback Callback Pointer NULL
|
|
62 hSpace HSpace Dimension 4
|
|
63 height Height Dimension 0
|
|
64 mappedWhenManaged MappedWhenManaged Boolean True
|
|
65 orientation Orientation XtOrientation vertical
|
|
66 vSpace VSpace Dimension 4
|
|
67 width Width Dimension 0
|
|
68 x Position Position 0
|
|
69 y Position Position 0
|
|
70
|
|
71 Notes:
|
|
72
|
|
73 1 internalWidth, internalHeight specify the margins around the text
|
|
74 in the tabs.
|
|
75 2 topWidget identifies the widget which is currently visible.
|
|
76 3 callbacks are called whenever the user selects a tab. Call_data is
|
|
77 the new top widget.
|
|
78 4 popdownCallbacks are called whenever the user selects a tab. Call_data is
|
|
79 the old (no longer visible) top widget. Note that popdownCallbacks
|
|
80 are called before callbacks.
|
|
81 5 SelectInsensitive determines whether or not insensitive children may
|
|
82 be selected anyway.
|
|
83 6 BeNiceToColormap causes the Tabs widget to use fewer colors.
|
|
84 7 InsensitiveContrast sets the contrast used for labels of insensitive widgets.
|
|
85
|
|
86 */
|
|
87
|
|
88 /* Constraint parameters:
|
|
89 Name Class RepType Default Value
|
|
90 ---- ----- ------- -------------
|
|
91 tabLabel Label String widget name
|
|
92 tabLeftBitmap LeftBitmap Pixmap None
|
|
93 tabForeground Foreground Pixel XtDefaultForeground
|
|
94 resizable Resizable Boolean False
|
|
95 */
|
|
96
|
|
97 /* New fields */
|
|
98
|
|
99 #ifndef XtNtabLabel
|
|
100 #define XtNtabLabel "tabLabel"
|
|
101 #define XtNtabForeground "tabForeground"
|
|
102 #endif
|
|
103
|
|
104 #ifndef XtNtabLeftBitmap
|
|
105 #define XtNtabLeftBitmap "tabLeftBitmap"
|
|
106 #endif
|
|
107
|
|
108 #ifndef XtCLeftBitmap
|
|
109 #define XtCLeftBitmap "LeftBitmap"
|
|
110 #endif
|
|
111
|
|
112 #ifndef XtCResizable
|
|
113 #define XtCResizable "Resizable"
|
|
114 #endif
|
|
115
|
|
116 #ifndef XtNselectInsensitive
|
|
117 #define XtNselectInsensitive "selectInsensitive"
|
|
118 #define XtCSelectInsensitive "SelectInsensitive"
|
|
119 #endif
|
|
120
|
|
121 #ifndef XtNnlabels
|
|
122 #define XtNnlabels "nlabels"
|
|
123 #define XtCNLabels "NLabels"
|
|
124 #endif
|
|
125 #ifndef XtNlabels
|
|
126 #define XtNlabels "labels"
|
|
127 #define XtCLabels "Labels"
|
|
128 #endif
|
|
129
|
|
130 #ifndef XtNtopWidget
|
|
131 #define XtNtopWidget "topWidget"
|
|
132 #define XtCTopWidget "TopWidget"
|
|
133 #endif
|
|
134
|
|
135 #ifndef XtNhSpace
|
|
136 #define XtNhSpace "hSpace"
|
|
137 #define XtCHSpace "HSpace"
|
|
138 #define XtNvSpace "vSpace"
|
|
139 #define XtCVSpace "VSpace"
|
|
140 #endif
|
|
141
|
|
142 #ifndef XtNresizable
|
|
143 #define XtNresizable "resizable"
|
|
144 #endif
|
|
145
|
|
146 #ifndef XtNinsensitiveContrast
|
|
147 #define XtNinsensitiveContrast "insensitiveContrast"
|
|
148 #define XtCInsensitiveContrast "InsensitiveContrast"
|
|
149 #endif
|
|
150
|
|
151 #ifndef XtNshadowWidth
|
|
152 #define XtNshadowWidth "shadowWidth"
|
|
153 #define XtCShadowWidth "ShadowWidth"
|
|
154 #define XtNtopShadowPixel "topShadowPixel"
|
|
155 #define XtCTopShadowPixel "TopShadowPixel"
|
|
156 #define XtNbottomShadowPixel "bottomShadowPixel"
|
|
157 #define XtCBottomShadowPixel "BottomShadowPixel"
|
|
158 #define XtNtopShadowContrast "topShadowContrast"
|
|
159 #define XtCTopShadowContrast "TopShadowContrast"
|
|
160 #define XtNbottomShadowContrast "bottomShadowContrast"
|
|
161 #define XtCBottomShadowContrast "BottomShadowContrast"
|
|
162 #endif
|
|
163
|
|
164 #ifndef XtNtopShadowPixmap
|
|
165 #define XtNtopShadowPixmap "topShadowPixmap"
|
|
166 #define XtCTopShadowPixmap "TopShadowPixmap"
|
|
167 #define XtNbottomShadowPixmap "bottomShadowPixmap"
|
|
168 #define XtCBottomShadowPixmap "BottomShadowPixmap"
|
|
169 #endif
|
|
170
|
|
171 #ifndef XtNbeNiceToColormap
|
|
172 #define XtNbeNiceToColormap "beNiceToColormap"
|
|
173 #define XtCBeNiceToColormap "BeNiceToColormap"
|
|
174 #define XtNbeNiceToColourmap "beNiceToColormap"
|
|
175 #define XtCBeNiceToColourmap "BeNiceToColormap"
|
|
176 #endif
|
|
177
|
|
178 /* Class record constants */
|
|
179
|
|
180 extern WidgetClass tabsWidgetClass;
|
|
181
|
|
182 typedef struct _TabsClassRec *TabsWidgetClass;
|
|
183 typedef struct _TabsRec *TabsWidget;
|
|
184
|
|
185 _XFUNCPROTOBEGIN
|
|
186
|
|
187 extern void
|
|
188 XawTabsSetTop(
|
|
189 #if NeedFunctionPrototypes
|
|
190 Widget w,
|
|
191 Bool callCallbacks
|
|
192 #endif
|
|
193 ) ;
|
|
194
|
|
195 extern void
|
|
196 XawTabsSetHighlight(
|
|
197 #if NeedFunctionPrototypes
|
|
198 Widget tabs,
|
|
199 Widget w
|
|
200 #endif
|
|
201 ) ;
|
|
202
|
|
203 _XFUNCPROTOEND
|
|
204
|
|
205 #endif /* _Tabs_h */
|