This commit was generated by cvs2svn to compensate for changes in r5121,
[chise/xemacs-chise.git.1] / lwlib / xlwtabs.h
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 */