Xft support under OpenMotif 2.3.3 - I've been using this for quite a while on
[nedit.git] / Microline / man / XmLFolder.3x
blob364d5a56156e9c1adbc3379d5b3bdaa2526a23b4
1 .\" ***** BEGIN LICENSE BLOCK *****
2 .\" Version: MPL 1.1/GPL 2.0/LGPL 2.1
3 .\"
4 .\" The contents of this file are subject to the Mozilla Public License Version
5 .\" 1.1 (the "License"); you may not use this file except in compliance with
6 .\" the License. You may obtain a copy of the License at
7 .\" http://www.mozilla.org/MPL/
8 .\"
9 .\" Software distributed under the License is distributed on an "AS IS" basis,
10 .\" WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11 .\" for the specific language governing rights and limitations under the
12 .\" License.
13 .\"
14 .\" The Original Code is the Microline Widget Library, originally made available under the NPL by Neuron Data <http://www.neurondata.com>.
15 .\"
16 .\" The Initial Developer of the Original Code is
17 .\" Netscape Communications Corporation.
18 .\" Portions created by the Initial Developer are Copyright (C) 1998
19 .\" the Initial Developer. All Rights Reserved.
20 .\"
21 .\" Contributor(s):
22 .\"
23 .\" Alternatively, the contents of this file may be used under the terms of
24 .\" either the GNU General Public License Version 2 or later (the "GPL"), or
25 .\" the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
26 .\" in which case the provisions of the GPL or the LGPL are applicable instead
27 .\" of those above. If you wish to allow use of your version of this file only
28 .\" under the terms of either the GPL or the LGPL, and not to allow others to
29 .\" use your version of this file under the terms of the MPL, indicate your
30 .\" decision by deleting the provisions above and replace them with the notice
31 .\" and other provisions required by the GPL or the LGPL. If you do not delete
32 .\" the provisions above, a recipient may use your version of this file under
33 .\" the terms of any one of the MPL, the GPL or the LGPL.
34 .\"
35 .\" In addition, as a special exception to the GNU GPL, the copyright holders
36 .\" give permission to link the code of this program with the Motif and Open
37 .\" Motif libraries (or with modified versions of these that use the same
38 .\" license), and distribute linked combinations including the two. You
39 .\" must obey the GNU General Public License in all respects for all of
40 .\" the code used other than linking with Motif/Open Motif. If you modify
41 .\" this file, you may extend this exception to your version of the file,
42 .\" but you are not obligated to do so. If you do not wish to do so,
43 .\" delete this exception statement from your version.
44 .\"
45 .\" ***** END LICENSE BLOCK *****
46 .TH XmLFolder 3X "R1" "XML1" "XML"
47 .SH NAME
48 XmLFolder
49 .SH SYNOPSIS
50 #include <XmL/Folder.h>
51 .LP
52 .SH DESCRIPTION
53 Provides a Folder containing tabs along the top, bottom, left or
54 right and an area managed by the tabs in the center.  Each tab
55 consists of a Primitive widget surrounded by tab decorations including
56 an optional pixmap.  Any non-Primitive widget children of the Folder
57 are placed in the center area.  The widgets contained in the tabs
58 can be assigned a non-Primitive widget to display/manage when the
59 tab widget is selected.
60 .SS Class Information
61 Folder inherits from XmManager, Constraint, Composite and Core. Its
62 class pointer is xmlFolderWidgetClass.  Its class name is XmLFolder.
63 .SS New Resources
65 .nf
66 .ft B
67 Name                     Class
68  Type                     Default              Access
69 .ft P
70 XmNactiveTab             XmCActiveTab
71  int                      -1                   G
72 XmNautoSelect            XmCAutoSelect
73  Boolean                  True                 CSG
74 XmNblankBackground       XmCBlankBackground
75  Pixel                    dynamic              CSG
76 XmNblankBackgroundPixmap XmCBlankBackgroundPixmap
77  Pixmap                   dynamic              CSG
78 XmNcornerDimension       XmCCornerDimension
79  Dimension                2                    CSG
80 XmNcornerStyle           XmCCornerStyle
81  unsigned char            XmCORNER_ARC         CSG
82 XmNdebugLevel            XmCDebugLevel
83  int                      0                    CSG
84 XmNfontList              XmCFontList
85  XmFontList               dynamic              CSG
86 XmNhighlightThickness    XmCHighlightThickness
87  Dimension                2                    CSG
88 XmNinactiveBackground    XmCInactiveBackground
89  Pixel                    dynamic              CSG
90 XmNinactiveForeground    XmCInactiveForeground
91  Pixel                    dynamic              CSG
92 XmNmarginHeight          XmCMarginHeight
93  Dimension                0                    CSG
94 XmNmarginWidth           XmCMarginWidth
95  Dimension                0                    CSG
96 XmNpixmapMargin          XmCPixmapMargin
97  Dimension                2                    CSG
98 XmNresizePolicy          XmCFolderResizePolicy
99  XmRFolderResizePolicy    XmRESIZE_STATIC      CSG
100 XmNrotateWhenLeftRight   XmCRotateWhenLeftRight
101  Boolean                  True                 CSG
102 XmNspacing               XmCSpacing
103  Dimension                0                    CSG
104 XmNtabBarHeight          XmCTabBarHeight
105  Dimension                dynamic              G
106 XmNtabCount              XmCTabCount
107  int                      0                    G
108 XmNtabPlacement          XmCTabPlacement
109  unsigned char            XmFOLDER_TOP         CSG
110 XmNtabsPerRow            XmCTabsPerRow
111  int                      0                    CSG
112 XmNtabTranslations       XmCTranslations
113  XtTranslations           [focus translations] CG
114 XmNtabWidgetList         XmCReadOnly
115  WidgetList               dynamic              G
117 .IP XmNactiveTab
118 The position of the currently active tab. The first tab on the
119 left has a position of 0. If no tab is active, this value equals -1.
120 .IP XmNautoSelect
121 If True (the default), the Folder will activate its first tab
122 when it is realized.  No callback is generated by this action.
123 If False, no initial tab will be activated.
124 .IP XmNblankBackground
125 The color of the area between tabs, around tabs, and between
126 tabs and the edge of the Folder.
127 .IP XmNblankBackgroundPixmap
128 The pixmap to display as a background (tiled) in the blank background
129 area.  See XmNblankBackground.
130 .IP XmNcornerDimension
131 If XmNcornerStyle is XmCORNER_LINE, this value is used to determine
132 the length of the lines that clip the corners of the tabs. The
133 greater this value is, the longer the corner lines will be. If 
134 XmNcornerStyle is XmCORNER_ARC, this value is used to determine
135 the sizes of the arcs in the corners of the tabs. If XmNcornerStyle
136 is XmCORNER_NONE, this resource has no effect.
137 .IP XmNcornerStyle
138 Defines the type of corners on the individual tabs. Possible values:
141      XmCORNER_NONE     /* no corners */
142      XmCORNER_LINE     /* corners are beveled */
143      XmCORNER_ARC      /* corners are round */
145 .IP XmNdebugLevel
146 If set to a value greater than 0, debugging messages will be
147 printed to stderr.  When set to 0 (the default) only error
148 messages will be generated.
149 .IP XmNfontList
150 The default font list for tabs created with the XmLFolderAddTab()
151 functions.  Changing this value does not affect existing widgets.
152 If this value is NULL, a font list is obtained from the nearest
153 parent that is a subclass of BulletinBoard, MenuShell, or VendorShell.
154 .IP XmNhighlightThickness
155 The thickness of the highlight drawn around the Primitive widget
156 contained in the active tab. When a Primitive widget is added to
157 the Folder, its highlightThickness is set to 0. The Folder is 
158 responsible for drawing the highlight in the active tab.
159 This is necessary because if the Primitive widget were allowed
160 to draw the highlight, it would erase the highlight with
161 an incorrect color. 
162 .IP XmNinactiveBackground
163 The background color of inactive tabs. This value is initially set
164 to the background color of the Folder widget.
165 .IP XmNinactiveForeground
166 The foreground color of inactive tabs. This value is initially
167 set to the foreground color of the Folder widget.
168 .IP XmNmarginHeight
169 If tab placement is on the top or bottom, this value is the margin
170 between tab widgets and the top of tabs, and between tab widgets
171 and the bottom of tabs.  If tab placement is on the left or right,
172 this value is the margin between tab widgets and the left of tabs,
173 and between tab widgets and the right of tabs.
174 .IP XmNmarginWidth
175 If tab placement is on the top or bottom, this value is the margin
176 between tab widgets and the left of tabs, and between tab widgets
177 and the right of tabs.  If tab placement is on the left
178 or right, this value is the margin between tab widgets and the top of
179 tabs and between tab widgets and bottoms of tabs.
180 .IP XmNpixmapMargin
181 The margin between the tab widget and any pixmap to its left.
182 .IP XmNresizePolicy
183 This policy determines when the Folder should perform a request
184 for a new size from its parent.
185 A policy of XmRESIZE_STATIC (the default) will cause the Folder
186 to initially request a size which includes the preferred size of
187 its children and then reject any subsequent resize requests from
188 its non-tab widget children.  A policy of XmRESIZE_DYNAMIC will
189 cause the Folder to resize itself to include the preferred size
190 of any of its children whenever its children change size.  A
191 policy of XmRESIZE_NONE will cause the Folder to never generate
192 a resize request and also will cause it not to perform geometry
193 management on its non-tab widget children.  Possible values:
196      XmRESIZE_NONE    /* no resize requests and no
197                          placement or geometry management
198                          of non-tab children */
199      XmRESIZE_STATIC  /* initially layout to include
200                          preferred size of children */
201      XmRESIZE_DYNAMIC /* dynamically resize as children
202                          request new size */
204 .IP XmNrotateWhenLeftRight
205 If True, XmDrawnButton based tabs (including tabs created with the
206 XmLFolderAddTab() functions) will display their text vertically
207 instead of horizontally if they are placed on the left or right
208 of the Folder.  This occurs when the Folder's XmNtabPlacement
209 resource is XmFOLDER_LEFT or XmFOLDER_RIGHT.  Tabs on the
210 left would have their text drawn up and tabs on the right
211 would have their text drawn down.  If False, tabs are left
212 oriented horizontally regardless of their placement.
213 .IP XmNspacing
214 The amount of space between tabs.
215 .IP XmNtabBarHeight
216 The height, in pixels, of the tab bar. If tab placement is on
217 the left or right, this value is the width of the tab bar.
218 This value may not be set and is only valid after the Folder
219 has been managed and has performed its layout.
220 .IP XmNtabCount
221 The number of tabs displayed. 
222 .IP XmNtabPlacement
223 Where to place the tabs. Possible values:
226      XmFOLDER_TOP     /* top left to right */
227      XmFOLDER_BOTTOM  /* bottom left to right */
228      XmFOLDER_LEFT    /* left top to bottom */
229      XmFOLDER_RIGHT   /* right top to bottom */
231 .IP XmNtabsPerRow
232 If set to 0 (the default), the Folder will place tabs in a
233 single row one after another during layout.  If non-zero,
234 this value specifies the number of rows of tabs to appear
235 in the Folder and the Folder will pad each row to the width
236 of the Folder by proportionally sizing the tabs based on
237 their contents and the width of the row.
238 .IP XmNtabTranslations
239 The translation table used to augment the translations of
240 Primitive widgets added to the Folder. The Folder overrides
241 the FocusIn and FocusOut translations of its Primitive widget
242 children allowing it to draw and erase tab highlights.
243 .IP XmNtabWidgetList
244 The list of widgets contained inside the tabs. These widgets
245 are subclasses of XmPrimitive. 
246 .SS Constraint Resources
247 Folder defines the following constraint resources.
250 .ft B
251 Name                     Class
252  Type                     Default               Access
253 .ft P
254 XmNtabFreePixmaps        XmCTabFreePixmap
255  Boolean                  False                 CSG
256 XmNtabInactivePixmap     XmCTabInactivePixmap
257  Pixmap                   XmUNSPECIFIED_PIXMAP  CSG
258 XmNtabManagedName        XmCTabManagedName
259  String                   NULL                  CSG
260 XmNtabManagedWidget      XmCTabManagedWidget
261  Widget                   NULL                  CSG
262 XmNtabPixmap             XmCTabPixmap
263  Pixmap                   XmUNSPECIFIED_PIXMAP  CSG
265 .IP XmNtabFreePixmaps
266 If True, the Folder will call XFreePixmap on the XmNtabPixmap and
267 XmNtabInactivePixmap pixmaps when this widget is destroyed.
268 This value is set to True for tabs created by the
269 XmLFolderAddBitmapTab() functions.
270 .IP XmNtabInactivePixmap
271 The pixmap to appear in the left of the tab when the tab is inactive.
272 .IP XmNtabManagedName
273 By setting a managed name on a tab widget and setting the same
274 managed name on a Manager widget, you specify that the tab
275 manages the Manager widget.  You can also specify that a tab
276 manages a specific Manager widget by setting the managed name
277 on the tab widget to the name (XtName) of the Manager widget.
278 If a tab widget has a managed name, the XmNtabManagedWidget
279 resource of the tab widget is ignored.
280 .IP XmNtabManagedWidget
281 Specifies a widget to be managed when this widget is activated.
282 When this widget is deactivated, its managed widget will be
283 unmanaged. This resource allows Manager widgets contained in the 
284 center of the Folder to be attached to tabs, so when a user
285 selects a tab its attached Manager widget will be displayed on
286 the screen.
287 .IP XmNtabPixmap
288 The pixmap to appear in the left of the tab when the tab is active.
289 .SS Callback Resources
290 Folder defines the following callback resources.
293 .ft B
294 Callback               Reason
295 .ft P
296 XmNactivateCallback    XmCR_ACTIVATE
298 .SS Callback Structure
299 Each callback function is passed a pointer to the structure shown below.
302    typedef struct            
303      {
304      int reason;         /* callback reason */
305      XEvent *event;      /* event callback or NULL */
306      int pos;            /* position of tab to act */
307      int allowActivate;  /* allow/disallow act (1/0) */
308      } XmLFolderCallbackStruct;    
311 pos will be set to the position of the tab (with 0 as the first tab
312 on the left) to activate for XmNactivateCallback callbacks.
313 If allowActivate is set to 0 by the callback function, the tab will not 
314 be activated and the attempt to activate the given tab will be rejected. 
315 .SS Inherited Resources
316 Folder inherits the resources shown below.
319 .ft B
320 Resource              From        Resource                  From
321 .ft P
322 XmNaccelerators       Core        XmNinitialResourcePersist Core
323 XmNancestorSensitive  Core        XmNinsertPosition         Composite
324 XmNbackground         Core        XmNmappedWhenManaged      Core
325 XmNbackgroundPixmap   Core        XmNnavagationType         Manager
326 XmNborderColor        Core        XmNnumChildren            Composite
327 XmNborderPixmap       Core        XmNscreen                 Core
328 XmNborderWidth        Core        XmNsensitive              Core
329 XmNbottomShadowColor  Manager     XmNshadowThicknses        Manager
330 XmNbottomShadowPixmap Manager     XmNstringDirection        Manager
331 XmNchildren           Composite   XmNtopShadowColor         Manager
332 XmNcolormap           Core        XmNtopShadowPixmap        Manager
333 XmNdepth              Core        XmNtranslations           Core
334 XmNdestroyCallback    Core        XmNtraversalOn            Manager
335 XmNforeground         Manager     XmNunitType               Manager
336 XmNheight             Core        XmNuserData               Manager
337 XmNhelpCallback       Manager     XmNwidth                  Core
338 XmNhighlightColor     Manager     XmNx                      Core
339 XmNhighlightPixmap    Manager     XmNy                      Core
342 .SS Folder Translations
343 Folder defines the translations shown below.
346 .ft B
347 Event            Action
348 .ft P
349 BSelect Press    XmLFolderActivate()
351 .SS Folder Primitive Translations
352 Folder overrides the translations shown below for all of
353 its Primitive widget children.
356 .ft B
357 Event       Action
358 .ft P
359 FocusIn     PrimitiveFocusIn() XmLFolderPrimFocusIn()
360 FocusOut    PrimtiveFocusOut() XmLFolderPrimFocusOut()
362 .SS Action Routines
363 Folder defines the actions shown below.
364 .IP XmLFolderActivate()
365 Activates the tab at the location of the event passed to the action routine.
366 .IP XmLFolderPrimFocusIn()
367 Draws a highlight around the given widget.
368 .IP XmLFolderPrimFocusOut()
369 Erases the highlight around the given widget.
370 .SH "SEE ALSO"
371 XmLCreateFolder(3X) XmLFolderAddBitmapTab(3X) XmLFolderAddBitmapTabForm(3X)
372 XmLFolderAddTab(3X) XmLFolderAddTabForm(3X) XmLFolderSetActiveTab(3X)