1XmNotebook(library call)                              XmNotebook(library call)
2
3
4

NAME

6       XmNotebook — The Notebook widget class
7

SYNOPSIS

9       #include <Xm/Notebook.h>
10

DESCRIPTION

12       Notebook  is  a  manager widget that organizes its children into pages,
13       tabs, status areas, and page scrollers to simulate a real notebook.  It
14       stacks its page children so that all page children occupy the same area
15       like real book pages.  Notebook displays visuals  that  look  like  the
16       binding  of a book and the edges of other pages around the page that is
17       shown.  Tab children simulate notebook tabs. Major tabs divide Notebook
18       into  several sections, and minor tabs subdivide these sections. Status
19       area children provide additional information about pages such  as  page
20       numbers.  The  page scroller child allows the user to move from page to
21       page. Notebook also provides tab  scrollers  for  scrolling  major  and
22       minor tabs if it cannot display all tabs within its edges.
23
24       The application creates pages, tabs, status areas, and page scroller as
25       children of the Notebook widget. Notebook creates  tab  scrollers  when
26       the Notebook is created.
27
28       The  XmNnotebookChildType  constraint  resource  of Notebook determines
29       whether a child widget is a page, tab, status area, or  page  scroller.
30       Any  Motif  widget can be a page of the Notebook.  When the application
31       creates a child of the Notebook widget without setting the  child  type
32       constraint, the child becomes a page by default, unless it has the XmQ‐
33       Tactivatable, XmQTaccessTextual, or XmQTnavigator trait.  Children with
34       the  XmQTactivatable,  XmQTaccessTextual, or XmQTnavigator trait become
35       major tabs, status areas, and page scrollers, respectively.
36
37       Notebook uses the XmQTaccessTextual, XmQTactivatable, XmQTjoinSide, and
38       XmQTnavigator traits, and installs the XmQTscrollFrame trait.
39
40       The application attaches a tab to a page by creating a tab child of the
41       Notebook and setting the XmNpageNumber constraint to the page number of
42       the  targeted  page.  By  the  same method, a status area widget can be
43       attached to a page. The page scroller child,  on  the  other  hand,  is
44       associated  with  the  Notebook,  not  with a specific page. Therefore,
45       there is only one valid page scroller for each Notebook.
46
47   Pages
48       Only one child of type XmPAGE is  displayed  at  a  time  by  Notebook.
49       Other  page  children  are  hidden off-screen. When Notebook displays a
50       particular page, it positions the previously-displayed page  off-screen
51       and puts the new page in its place. The page is resized to fit into the
52       dimensions that Notebook has allocated to display pages.
53
54   Page Numbers
55       Notebook uses the XmNcurrentPageNumber,  XmNfirstPageNumber,  and  XmN‐
56       lastPageNumber  resources  to  determine the current page and available
57       page number range. Only those pages whose page numbers are  within  the
58       range can be displayed. Other pages cannot be displayed until the range
59       between XmNfirstPageNumber and XmNlastPageNumber is changed to  include
60       them or their page numbers are changed to a number within the range.
61
62       If  XmNfirstPageNumber  and XmNlastPageNumber are not set explicitly by
63       the application, they are set to 1 by default; Notebook sets XmNlastPa‐
64       geNumber  to the largest page number assigned by the application there‐
65       after by default. However, once XmNlastPageNumber is set by the  appli‐
66       cation,  Notebook  no  longer changes it even when a page with a higher
67       page number is managed.
68
69       The XmNpageNumber constraint resource is used for specifying  the  page
70       number of a page widget. It can be set to any integer. For tab and sta‐
71       tus area children, the resource is used for linking the child widget to
72       a  page.   For the page scroller child, the resource has no meaning and
73       is ignored by the Notebook.
74
75       When a page without a page number is managed, Notebook assigns  it  the
76       smallest  unallocated  page number that is not less than the first page
77       number and greater than the last allocated page number. When a tab or a
78       status  area without a page number is managed, the newly managed widget
79       is assigned the page number of the most recently managed  page,  unless
80       the  page already has the same type of child. If the page does have the
81       same type of child, Notebook assigns the newly managed  widget  a  page
82       number  one  greater than the most recently managed page; this new page
83       number is now occupied.  Notebook may generate a  default  page  number
84       greater  than XmNlastPageNumber, making those pages inaccessible to the
85       user.
86
87   Duplicate and Empty Pages
88       Since an application can create or change page numbers, it is  possible
89       to have duplicate page numbers and empty pages. When two pages with the
90       same page number are managed, only the more recently managed  page  can
91       be  displayed.  Inserting  a page with an existing page number does not
92       cause a warning. The old page widget cannot be displayed until the  new
93       page  widget  is  removed from the Notebook or until the page number of
94       the old page widget is changed to some other number.
95
96       An empty page is a page slot where no page  is  inserted.  Empty  pages
97       occur  when  a tab or status area is associated with a page number that
98       has no matching page widget.  Empty pages display  the  blank  Notebook
99       background  unless  the application provides visual information to this
100       empty area while processing XmNpageChangedCallback.
101
102   Notebook Visuals
103       Notebook draws lines around two sides of the top page to  simulate  the
104       edges  of  other  pages that are behind the top page.  The XmNbackPage‐
105       Placement and XmNorientation resources determine which two  sides  have
106       the  lines  drawn around them. By default, they are drawn on the bottom
107       and right sides of the top page. The application can set  resources  to
108       control  how  many  lines are drawn and how wide the area that they are
109       drawn in is. Applications can also choose from three styles of  binding
110       visual  that simulates the binding of a Notebook. Solid or spiral bind‐
111       ings can be drawn by Notebook, or the application can supply  a  pixmap
112       that is tiled into the binding.
113
114   Tabs
115       A  major or minor tab is a Motif widget with the XmQTactivatable trait.
116       If a widget without the trait is created for a tab, Notebook  does  not
117       provide the page activation callback.  As a result, even though the tab
118       is displayed, it cannot automatically move the associated page  to  the
119       top.
120
121       Major  tabs  divide the Notebook pages into sections. Minor tabs subdi‐
122       vide these sections.  Only minor tabs associated with the current  sec‐
123       tion  are  displayed,  where  a  section consists of the group of pages
124       between the current major tab and the next  major  tab,  including  the
125       current  major tab but not including the page containing the next major
126       tab.  The exception to this is when there is no preceding major tab, in
127       which  case  the  section  starts from the XmNfirstPageNumber value.  A
128       user in one major tab section does not see the minor tabs in other sec‐
129       tions.   However,  all tabs are used in computing the size of the Note‐
130       book.
131
132       Unlike regular notebook tabs, tabs in the Notebook are not attached  to
133       a  physical  page  (a widget). They are, instead, attached to a logical
134       page (a page number). Therefore, it is possible to have a tab  with  an
135       empty  page.  When  a page with a tab is removed from the Notebook, the
136       tab is not removed because  it  is  still  bound  to  a  logical  page.
137       Destroying  or unmanaging a page widget only erases the page and leaves
138       an empty page.  It does not tear the  page  out  of  the  Notebook.  To
139       remove the tab, the application must explicitly destroy or unmanage it.
140
141       Notebook  supports  the  XmQTjoinSide  trait.  A  widget  that  has the
142       XmQTjoinSide trait can be added to the Notebook as a Major or Minor tab
143       and  will  appear to be attached to its associated page with no margins
144       or shadows between them.
145
146   Status Areas
147       A status area is any widget that is used for describing the  associated
148       page.  For  example, the Label widget as a status area child can hold a
149       simple string or a pixmap that describes a page. A status  area  widget
150       is  also  attached  to  a  page by the page number constraint resource.
151       Therefore, it is possible to have multiple status area widgets for  one
152       page.   Only the most recently managed status area widget for that page
153       can be displayed. All others for that page are not unmanaged, but their
154       sizes  are  used  for  computing the size of the Notebook. If no status
155       area widget is provided, the Notebook displays its blank background  in
156       the  status area's reserved space. Notebook does not create any default
157       status area widget.
158
159   Page Scrollers
160       The page scroller of the Notebook is any widget  that  the  application
161       creates  for  scrolling  pages.  If the application does not create one
162       when the Notebook is realized, Notebook creates a SpinBox widget as the
163       default page scroller.  If the application creates a new page scroller,
164       the default page scroller is destroyed. If the application creates mul‐
165       tiple  page  scrollers,  only the most recently managed one can be dis‐
166       played and used. All others are unmanaged.
167
168       The default SpinBox page scroller grays out one of the arrow visuals if
169       the  current page is a boundary page.  If the current page is the first
170       page, the previous arrow of the SpinBox is grayed. If the current  page
171       is the last page, the next arrow of the SpinBox is grayed.
172
173   Tab Scrollers
174       Tab  scrollers are created by the Notebook for scrolling major tabs and
175       minor tabs. When Notebook is initialized, it creates four  ArrowButton‐
176       Gadgets  for  scrolling  to the next major tab, the previous major tab,
177       the next minor tab, and the previous minor tab.  The application cannot
178       replace  these tab scrollers.  The application can change all resources
179       of these widgets except the  position  and  the  arrow  direction.  Tab
180       scrollers  are  only visible and enabled when there is not enough space
181       to display all the major or minor tabs appropriate  to  the  page.  Tab
182       scrollers are also grayed out when scrolling is inappropriate. The fol‐
183       lowing lists the tab scrollers that are created:
184
185       ┌─────────────────────────────────────────────────────────────────────────────┐
186Child Wid│gets that XmNotebook Create│s                     
187Child                       Name                     Widget Class        
188       ├────────────────────────────┼──────────────────────────┼─────────────────────┤
189       │Page Scroller               │ PageScroller             │ XmSpinBox           │
190       ├────────────────────────────┼──────────────────────────┼─────────────────────┤
191       │Next Major Tab Scroller     │ MajorTabScrollerNext     │ XmArrowButtonGadget │
192       ├────────────────────────────┼──────────────────────────┼─────────────────────┤
193       │Previous Major Tab Scroller │ MajorTabScrollerPrevious │ XmArrowButtonGadget │
194       ├────────────────────────────┼──────────────────────────┼─────────────────────┤
195       │Next Minor Tab Scroller     │ MinorTabScrollerNext     │ XmArrowButtonGadget │
196       ├────────────────────────────┼──────────────────────────┼─────────────────────┤
197       │Previous Minor Tab Scroller │ MinorTabScrollerPrevious │ XmArrowButtonGadget │
198       ├────────────────────────────┼──────────────────────────┼─────────────────────┤
199       └────────────────────────────┴──────────────────────────┴─────────────────────┘
200       When the user selects the page scroller, a major tab, or a  minor  tab,
201       the  value of XmNcurrentPageNumber is changed to the selected page num‐
202       ber  and  XmNpageChangedCallback  is  invoked.  After  the  application
203       returns  from  the  callback, the Notebook displays the last page child
204       whose page number is equal to the current page number. It also displays
205       the  last  matched  status area child. All other pages and status areas
206       are automatically hidden. Major tabs and minor tabs that can  fit  into
207       the  Notebook's  edges  are displayed and positioned appropriately. All
208       other tabs are also hidden. The  application  can  also  cause  a  page
209       change  by calling XtSetValues on XmNcurrentPageNumber and then calling
210       XtCallCallbacks on XmNpageChangedCallback.
211
212   Orientation
213       The Notebook has eight different visual  configurations,  depending  on
214       the   value  of  XmNbackPagePlacement  and  XmNorientation.  These  two
215       resources determine the placement of back  pages,  the  binding,  major
216       tabs,  minor tabs, the status area, and the page scroller. The location
217       of the binding is determined by XmNorientation.  Major tabs are  always
218       placed  on  the  back page side opposite to the binding; Minor tabs are
219       placed on the back page display area that is visually connected to  the
220       binding.   Both  Major and Minor tabs are ordered so that the page num‐
221       bers they access increase as they get closer to the  corner  where  the
222       back  pages  meet.   The  status  area and the page scroller are always
223       located on the bottom of the  Notebook,  inside  the  frame.  The  page
224       scroller  is  always placed adjacent to a back page side. The following
225       table shows the possible configurations and the locations of each Note‐
226       book  component  within the configuration.  The default back page value
227       and the default orientation are based upon XmNlayoutDirection.
228
229       ┌─────────────────────────────────────────────────────────────────────────────┐
230       │                     │    Notebook Con│figurations  │               │         │
231XmNbackPagePlacement XmNorientation Major Tabs Status Area   Binding 
232       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
233       │                     │                │ Minor Tabs Page Scroller │         │
234       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
235       │XmBOTTOM_RIGHT       │ XmHORIZONTAL   │ RIGHT      │ BOTTOM LEFT   │ LEFT    │
236       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
237       │                     │                │ BOTTOM     │ BOTTOM RIGHT  │         │
238       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
239       │XmBOTTOM_RIGHT       │ XmVERTICAL     │ BOTTOM     │ BOTTOM LEFT   │ TOP     │
240       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
241       │                     │                │ RIGHT      │ BOTTOM RIGHT  │         │
242       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
243       │XmBOTTOM_LEFT        │ XmHORIZONTAL   │ LEFT       │ BOTTOM RIGHT  │ RIGHT   │
244       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
245       │                     │                │ BOTTOM     │ BOTTOM LEFT   │         │
246       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
247       │XmBOTTOM_LEFT        │ XmVERTICAL     │ BOTTOM     │ BOTTOM RIGHT  │ TOP     │
248       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
249       │                     │                │ LEFT       │ BOTTOM LEFT   │         │
250       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
251       │XmTOP_RIGHT          │ XmHORIZONTAL   │ RIGHT      │ BOTTOM LEFT   │ LEFT    │
252       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
253       │                     │                │ TOP        │ BOTTOM RIGHT  │         │
254       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
255       │XmTOP_RIGHT          │ XmVERTICAL     │ TOP        │ BOTTOM LEFT   │ BOTTOM  │
256       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
257       │                     │                │ RIGHT      │ BOTTOM RIGHT  │         │
258       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
259       │XmTOP_LEFT           │ XmHORIZONTAL   │ LEFT       │ BOTTOM RIGHT  │ RIGHT   │
260       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
261       │                     │                │ TOP        │ BOTTOM LEFT   │         │
262       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
263       │XmTOP_LEFT           │ XmVERTICAL     │ TOP        │ BOTTOM RIGHT  │ BOTTOM  │
264       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
265       │                     │                │ LEFT       │ BOTTOM LEFT   │         │
266       ├─────────────────────┼────────────────┼────────────┼───────────────┼─────────┤
267       └─────────────────────┴────────────────┴────────────┴───────────────┴─────────┘
268       There are three tab groups for tab group traversal inside the Notebook:
269       major  tabs,  minor  tabs,  and the page scroller.  The application can
270       also create additional types of tab groups  within  the  Notebook;  for
271       example,  each  page  added by the application is treated as a separate
272       tab group by the traversal actions.
273
274   Classes
275       Notebook inherits behavior, resources, and traits from Core, Composite,
276       Constraint, and XmManager classes.
277
278       The class pointer is xmNotebookWidgetClass.
279
280       The class name is XmNotebook.
281
282   New Resources
283       The  following table defines a set of widget resources used by the pro‐
284       grammer to specify data. The programmer can also set the resource  val‐
285       ues  for  the  inherited classes to set attributes for this widget.  To
286       reference a resource by name or by class in a .Xdefaults  file,  remove
287       the XmN or XmC prefix and use the remaining letters.  To specify one of
288       the defined values for a resource in a .Xdefaults file, remove  the  Xm
289       prefix and use the remaining letters (in either lowercase or uppercase,
290       but include any underscores between words). The  codes  in  the  access
291       column  indicate if the given resource can be set at creation time (C),
292       set by using XtSetValues (S), retrieved by using XtGetValues (G), or is
293       not applicable (N/A).
294
295       ┌─────────────────────────────────────────────────────────────────────────────────────────────────┐
296       │                        │           XmNotebook R│esource Set      │                      │        │
297Name                    Class                 Type           Default              Access 
298       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
299       │XmNbackPageBackground   │ XmCBackPageBackground │ Pixel          │ dynamic              │ CSG    │
300       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
301       │XmNbackPageForeground   │ XmCBackPageForeground │ Pixel          │ dynamic              │ CSG    │
302       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
303       │XmNbackPageNumber       │ XmCBackPageNumber     │ Cardinal       │ 2                    │ CSG    │
304       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
305       │XmNbackPagePlacement    │ XmCBackPagePlacement  │ unsigned char  │ dynamic              │ CSG    │
306       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
307       │XmNbackPageSize         │ XmCBackPageSize       │ Dimension      │ 8                    │ CSG    │
308       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
309       │XmNbindingPixmap        │ XmCBindingPixmap      │ Pixmap         │ XmUNSPECIFIED_PIXMAP │ CSG    │
310       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
311       │XmNbindingType          │ XmCBindingType        │ unsigned char  │ XmSPIRAL             │ CSG    │
312       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
313       │XmNbindingWidth         │ XmCBindingWidth       │ Dimension      │ 25                   │ CSG    │
314       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
315       │XmNcurrentPageNumber    │ XmCCurrentPageNumber  │ int            │ dynamic              │ CSG    │
316       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
317       │XmNfirstPageNumber      │ XmCFirstPageNumber    │ int            │ 1                    │ CSG    │
318       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
319       │XmNframeBackground      │ XmCFrameBackground    │ Pixel          │ dynamic              │ CSG    │
320       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
321       │XmNframeShadowThickness │ XmCShadowThickness    │ Dimension      │ 0                    │ CSG    │
322       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
323       │XmNinnerMarginHeight    │ XmCInnerMarginHeight  │ Dimension      │ 0                    │ CSG    │
324       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
325       │XmNinnerMarginWidth     │ XmCInnerMarginWidth   │ Dimension      │ 0                    │ CSG    │
326       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
327       │XmNlastPageNumber       │ XmCLastPageNumber     │ int            │ dynamic              │ CSG    │
328       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
329       │XmNminorTabSpacing      │ XmCMinorTabSpacing    │ Dimension      │ 3                    │ CSG    │
330       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
331       │XmNmajorTabSpacing      │ XmCMajorTabSpacing    │ Dimension      │ 3                    │ CSG    │
332       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
333       │XmNorientation          │ XmCOrientation        │ unsigned char  │ XmHORIZONTAL         │ CSG    │
334       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
335       │XmNpageChangedCallback  │ XmCCallback           │ XtCallbackList │ NULL                 │ C      │
336       ├────────────────────────┼───────────────────────┼────────────────┼──────────────────────┼────────┤
337       └────────────────────────┴───────────────────────┴────────────────┴──────────────────────┴────────┘
338       XmNbackPageBackground
339                 Specifies  the  background color for drawing back pages.  The
340                 default is a lower-intensity version of XmNframeBackground.
341
342       XmNbackPageForeground
343                 Specifies the forground color for  drawing  back  pages.  The
344                 default  is  taken  from the application's default foreground
345                 color.
346
347       XmNbackPageNumber
348                 Specifies the number of lines to draw  for  back  pages.  The
349                 minimum value is 1, and the maximum value is (XmNbackPageSize
350                 / 2).
351
352       XmNbackPagePlacement
353                 Specifies where to place the  back  pages.   The  default  is
354                 dependent  on  the  XmNlayoutDirection  resource of the Note‐
355                 book's instance parents.  It can have one  of  the  following
356                 values:
357
358                 XmBOTTOM_RIGHT
359                           Displays  back  pages  on the Notebook's bottom and
360                           right sides.
361
362                 XmBOTTOM_LEFT
363                           Displays back pages on the  Notebook's  bottom  and
364                           left sides.
365
366                 XmTOP_RIGHT
367                           Displays back pages on the Notebook's top and right
368                           sides.
369
370                 XmTOP_LEFT
371                           Displays back pages on the Notebook's top and  left
372                           sides.
373
374       XmNbackPageSize
375                 Specifies the thickness of the back page rendering.
376
377       XmNbindingPixmap
378                 Specifies  the  pixmap  or bitmap for stippling or tiling the
379                 binding when XmNbindingType  is  XmPIXMAP  or  XmPIXMAP_OVER‐
380                 LAP_ONLY.
381
382       XmNbindingType
383                 Specifies  the binding type. It can have one of the following
384                 values:
385
386                 XmNONE    Displays no binding.
387
388                 XmSOLID   Displays a solid binding in the foreground color of
389                           the  Notebook  within the binding area specified by
390                           XmNbindingWidth.
391
392                 XmSPIRAL  Displays a spiral binding in the  foreground  color
393                           of  the  Notebook within the area specified by XmN‐
394                           bindingWidth and within the  area  outside  of  the
395                           frame  equal  to  the area specified by XmNbinding‐
396                           Width.
397
398                 XmPIXMAP  Displays the binding  with  the  pixmap  or  bitmap
399                           specified by XmNbindingPixmap as a stipple or tile.
400                           It uses the foreground color of  the  Notebook  for
401                           stippling.  The  binding  width  is  decided by the
402                           larger value of XmNbindingWidth and  the  width  of
403                           the pixmap or bitmap.
404
405                 XmPIXMAP_OVERLAP_ONLY
406                           Displays  the  binding  with  the  pixmap or bitmap
407                           specified by XmNbindingPixmap as a stipple or tile.
408                           It  uses  the  foreground color of the Notebook for
409                           stippling. The binding is displayed only within the
410                           binding area specified by XmNbindingWidth.
411
412       XmNbindingWidth
413                 Specifies  the  width of the Notebook binding. If XmNbinding‐
414                 Type is XmPIXMAP and the width of  the  pixmap  specified  in
415                 XmNbindingPixmap  is  greater than XmNbindingWidth, then this
416                 resource is ignored and the width of the pixmap  is  used  as
417                 the width of the Notebook binding instead.
418
419       XmNcurrentPageNumber
420                 Specifies  the  page  number of the currently displayed page.
421                 Initially, it is set to XmNfirstPageNumber. If it is  set  to
422                 less  than  XmNfirstPageNumber, then it is set to XmNfirstPa‐
423                 geNumber.  If it is set to XmNlastPageNumber, then it is  set
424                 to XmNlastPageNumber.
425
426       XmNfirstPageNumber
427                 Specifies the page number for the first page of the Notebook.
428                 The Notebook does not scroll to any page numbers  below  this
429                 value.
430
431       XmNframeBackground
432                 Specifies  the  background  color  for drawing the Notebook's
433                 frame.
434
435       XmNframeShadowThickness
436                 Specifies the shadow thickness around the Notebook's frame.
437
438       XmNinnerMarginHeight
439                 Specifies the margin on the top and bottom sides of the page,
440                 status area, and page scroller widgets.
441
442       XmNinnerMarginWidth
443                 Specifies the margin on the left and right sides of the page,
444                 status area, and page scroller widgets.
445
446       XmNlastPageNumber
447                 Specifies the page number for the last page of the  Notebook.
448                 The  Notebook  does not scroll to any page numbers above this
449                 value.  The default page number is the largest page number of
450                 managed  page,  major  tab, or minor tab widgets.  If this is
451                 set to a value that  is  less  than  XmNfirstPageNumber,  the
452                 behavior of the Notebook is undefined.
453
454       XmNmajorTabSpacing
455                 Specifies  the  spacing distance between major tabs.  If XmN‐
456                 frameShadowThickness is greater than XmNmajorTabSpacing, then
457                 this resource is ignored and the size of XmNframeShadowThick‐
458                 ness is used as the spacing distance between major tabs.
459
460       XmNminorTabSpacing
461                 Specifies the spacing distance between minor  tabs.  If  XmN‐
462                 frameShadowThickness is greater than XmNminorTabSpacing, then
463                 this resource is ignored and the size of XmNframeShadowThick‐
464                 ness is used as the spacing distance between minor tabs.
465
466       XmNorientation
467                 Specifies the orientation of the Notebook. It can have one of
468                 the following values:
469
470                 XmHORIZONTAL
471                           Places the binding beside the pages, in the left or
472                           right side of the frame.
473
474                 XmVERTICAL
475                           Places the binding above or below the pages, in the
476                           top or the bottom of the frame.
477
478       XmNpageChangedCallback
479                 Specifies the list of callbacks to call whenever the  XmNcur‐
480                 rentPageNumber,  representing  the  current  page  number, is
481                 changed. This includes the point when the widget is  realized
482                 and  the  page number is initialized.  The callback structure
483                 is XmNotebookCallbackStruct.  The reason  is  XmCR_MAJOR_TAB,
484                 XmCR_MINOR_TAB,                 XmCR_PAGE_SCROLLER_INCREMENT,
485                 XmCR_PAGE_SCROLLER_DECREMENT, or  XmCR_NONE,  depending  upon
486                 what action caused the Notebook to display a new page.
487
488       ┌───────────────────────────────────────────────────────────────────────────────┐
489       │                     │XmNotebook Constraint │Resource Set    │         │        │
490Name                 Class                Type          Default Access 
491       ├─────────────────────┼──────────────────────┼───────────────┼─────────┼────────┤
492       │XmNnotebookChildType │ XmCNotebookChildType │ unsigned char │ dynamic │ CG     │
493       ├─────────────────────┼──────────────────────┼───────────────┼─────────┼────────┤
494       │XmNpageNumber        │ XmCPageNumber        │ int           │ dynamic │ CSG    │
495       ├─────────────────────┼──────────────────────┼───────────────┼─────────┼────────┤
496       │XmNresizable         │ XmCResizable         │ Boolean       │ True    │ CSG    │
497       ├─────────────────────┼──────────────────────┼───────────────┼─────────┼────────┤
498       └─────────────────────┴──────────────────────┴───────────────┴─────────┴────────┘
499       XmNnotebookChildType
500                 Specifies  the  child  type of the Notebook. It can be one of
501                 the following types:
502
503                 XmPAGE    The child is a page of the Notebook.  This  is  the
504                           default  when the child does not have the XmQTacti‐
505                           vatable, XmQTaccessTextual, or XmQTnavigator trait.
506
507                 XmMAJOR_TAB
508                           The child is a major tab. This is the default  when
509                           the child has the XmQTactivatable trait.
510
511                 XmMINOR_TAB
512                           The child is a minor tab.
513
514                 XmSTATUS_AREA
515                           The  child  is  a  status area. This is the default
516                           when the child has the XmQTaccessTextual trait  and
517                           does not have the XmQTactivatable trait.
518
519                 XmPAGE_SCROLLER
520                           The  child  is  the page scroller. The default page
521                           scroller is destroyed, if it exists. Any previously
522                           created  page  scrollers are unmanaged. This is the
523                           default when the child has the XmQTnavigator  trait
524                           and does have the XmQTactivatable trait or the XmQ‐
525                           TaccessTextual trait.
526
527       XmNpageNumber
528                 Specifies the page number associated with the widget.  If the
529                 widget is a page, the number specifies the page number of the
530                 widget.  If the widget is not a page,  the  number  specifies
531                 the  page  number of the associated page. If none is supplied
532                 by the application, Notebook generates the  smallest  unallo‐
533                 cated  page  number when the child is managed.  This resource
534                 is ignored for the page scroller.
535
536       XmNresizable
537                 Specifies whether this child can request a resize.
538
539   Inherited Resources
540       Notebook  inherits  behavior  and  resources  from   the   superclasses
541       described  in the following tables.  For a complete description of each
542       resource, refer to the reference page for that superclass.
543
544       ┌────────────────────────────────────────────────────────────────────────────────────────────────────┐
545       │                        │             XmManager │Resource Set        │                      │        │
546Name                    Class                 Type              Default              Access 
547       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
548       │XmNbottomShadowColor    │ XmCBottomShadowColor  │ Pixel             │ dynamic              │ CSG    │
549       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
550       │XmNbottomShadowPixmap   │ XmCBottomShadowPixmap │ Pixmap            │ XmUNSPECIFIED_PIXMAP │ CSG    │
551       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
552       │XmNforeground           │ XmCForeground         │ Pixel             │ dynamic              │ CSG    │
553       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
554       │XmNhelpCallback         │ XmCCallback           │ XtCallbackList    │ NULL                 │ C      │
555       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
556       │XmNhighlightColor       │ XmCHighlightColor     │ Pixel             │ dynamic              │ CSG    │
557       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
558       │XmNhighlightPixmap      │ XmCHighlightPixmap    │ Pixmap            │ dynamic              │ CSG    │
559       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
560       │XmNinitialFocus         │ XmCInitialFocus       │ Widget            │ NULL                 │ CSG    │
561       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
562       │XmNlayoutDirection      │ XmCLayoutDirection    │ XmDirection       │ dynamic              │ CG     │
563       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
564       │XmNnavigationType       │ XmCNavigationType     │ XmNavigationType  │ XmTAB_GROUP          │ CSG    │
565       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
566       │XmNpopupHandlerCallback │ XmCCallback           │ XtCallbackList    │ NULL                 │ C      │
567       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
568       │XmNshadowThickness      │ XmCShadowThickness    │ Dimension         │ 0                    │ CSG    │
569       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
570       │XmNstringDirection      │ XmCStringDirection    │ XmStringDirection │ dynamic              │ CG     │
571       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
572       │XmNtopShadowColor       │ XmCTopShadowColor     │ Pixel             │ dynamic              │ CSG    │
573       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
574       │XmNtopShadowPixmap      │ XmCTopShadowPixmap    │ Pixmap            │ dynamic              │ CSG    │
575       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
576       │XmNtraversalOn          │ XmCTraversalOn        │ Boolean           │ True                 │ CSG    │
577       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
578       │XmNunitType             │ XmCUnitType           │ unsigned char     │ dynamic              │ CSG    │
579       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
580       │XmNuserData             │ XmCUserData           │ XtPointer         │ NULL                 │ CSG    │
581       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
582       └────────────────────────┴───────────────────────┴───────────────────┴──────────────────────┴────────┘
583       ┌───────────────────────────────────────────────────────────────────────┐
584       │                  │     Composite Reso│urce Set      │         │        │
585Name              Class             Type        Default Access 
586       ├──────────────────┼───────────────────┼─────────────┼─────────┼────────┤
587       │XmNchildren       │ XmCReadOnly       │ WidgetList  │ NULL    │ G      │
588       ├──────────────────┼───────────────────┼─────────────┼─────────┼────────┤
589       │XmNinsertPosition │ XmCInsertPosition │ XtOrderProc │ NULL    │ CSG    │
590       ├──────────────────┼───────────────────┼─────────────┼─────────┼────────┤
591       │XmNnumChildren    │ XmCReadOnly       │ Cardinal    │ 0       │ G      │
592       ├──────────────────┼───────────────────┼─────────────┼─────────┼────────┤
593       └──────────────────┴───────────────────┴─────────────┴─────────┴────────┘
594       ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
595       │                              │               Core Resource Se│t                │                      │        │
596Name                          Class                         Type           Default              Access 
597       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
598       │XmNaccelerators               │ XmCAccelerators               │ XtAccelerators │ dynamic              │ CSG    │
599       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
600       │XmNancestorSensitive          │ XmCSensitive                  │ Boolean        │ dynamic              │ G      │
601       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
602       │XmNbackground                 │ XmCBackground                 │ Pixel          │ dynamic              │ CSG    │
603       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
604       │XmNbackgroundPixmap           │ XmCPixmap                     │ Pixmap         │ XmUNSPECIFIED_PIXMAP │ CSG    │
605       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
606       │XmNborderColor                │ XmCBorderColor                │ Pixel          │ XtDefaultForeground  │ CSG    │
607       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
608       │XmNborderPixmap               │ XmCPixmap                     │ Pixmap         │ XmUNSPECIFIED_PIXMAP │ CSG    │
609       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
610       │XmNborderWidth                │ XmCBorderWidth                │ Dimension      │ 0                    │ CSG    │
611       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
612       │XmNcolormap                   │ XmCColormap                   │ Colormap       │ dynamic              │ CG     │
613       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
614       │XmNdepth                      │ XmCDepth                      │ int            │ dynamic              │ CG     │
615       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
616       │XmNdestroyCallback            │ XmCCallback                   │ XtCallbackList │ NULL                 │ C      │
617       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
618       │XmNheight                     │ XmCHeight                     │ Dimension      │ dynamic              │ CSG    │
619       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
620       │XmNinitialResourcesPersistent │ XmCInitialResourcesPersistent │ Boolean        │ True                 │ C      │
621       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
622       │XmNmappedWhenManaged          │ XmCMappedWhenManaged          │ Boolean        │ True                 │ CSG    │
623       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
624       │XmNscreen                     │ XmCScreen                     │ Screen *       │ dynamic              │ CG     │
625       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
626       │XmNsensitive                  │ XmCSensitive                  │ Boolean        │ True                 │ CSG    │
627       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
628       │XmNtranslations               │ XmCTranslations               │ XtTranslations │ dynamic              │ CSG    │
629       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
630       │XmNwidth                      │ XmCWidth                      │ Dimension      │ dynamic              │ CSG    │
631       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
632       │XmNx                          │ XmCPosition                   │ Position       │ 0                    │ CSG    │
633       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
634       │XmNy                          │ XmCPosition                   │ Position       │ 0                    │ CSG    │
635       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
636       └──────────────────────────────┴───────────────────────────────┴────────────────┴──────────────────────┴────────┘
637   Callback
638       A pointer to the following structure is passed to  callbacks  for  XmN‐
639       pageChangedCallback.
640
641       typedef struct
642       {
643               int reason;
644               XEvent *event;
645               int page_number;
646               Widget page_widget;
647               int prev_page_number;
648               Widget prev_page_widget;
649       } XmNotebookCallbackStruct;
650
651       reason    Specifies the reason for the callback.
652
653       event     Points  to  the XEvent that triggered the callback. It can be
654                 NULL.
655
656       page_number
657                 Indicates the page number to be displayed.
658
659       page_widget
660                 Indicates the page widget that has the new page  number.   It
661                 is NULL if no page widget with the page number is found.
662
663       prev_page_number
664                 Indicates the page number of the currently displayed page. If
665                 the callback procedure is being called at widget  initializa‐
666                 tion,  this  page  number  will  be  returned  as  XmUNSPECI‐
667                 FIED_PAGE_NUMBER.
668
669       prev_page_widget
670                 Indicates the currently displayed page widget. If  the  call‐
671                 back procedure is being called at widget initialization, NULL
672                 will be returned.
673
674   Translations
675       Notebook inherits translations from Manager.
676
677   Accelerators
678       Notebook accelerators are added to all major tab and minor tab children
679       of XmNotebook.  Notebook accelerators are listed below.  These acceler‐
680       ators might not directly correspond to a translation table.
681
682       <osfBeginLine>:
683                 TraverseTab(Home)
684
685       <osfEndLine>:
686                 TraverseTab(End)
687
688       <osfLeft>:
689                 TraverseTab(Previous)
690
691       <osfRight>:
692                 TraverseTab(Next)
693
694       <osfUp>:  TraverseTab(Previous)
695
696       <osfDown>:
697                 TraverseTab(Next)
698
699   Action Routines
700       Notebook action routines are described below:
701
702       TraverseTab(Home|End|Next|Previous)
703                 Moves the focus on major or minor tabs.
704
705   Additional Behavior
706       The Notebook widget has the additional behavior described below:
707
708       <Tab>     Notebook intercepts tab group  traversal  when  traversal  is
709                 entering or leaving major or minor tabs. It does this to sup‐
710                 port major tabs and minor tabs as  two  separate  tab  groups
711                 when  they  are  actually  treated  as one by traversal. If a
712                 minor tab has keyboard focus and a  user  or  program  action
713                 specifies  XmTRAVERSE_PREV_TAB_GROUP,  keyboard focus will go
714                 to a major tab. If a major tab has keyboard focus and a  user
715                 or  program  action specifies XmTRAVERSE_NEXT_TAB_GROUP, key‐
716                 board focus will go to a minor tab.
717
718   Virtual Bindings
719       The bindings for virtual keys are  vendor  specific.   For  information
720       about bindings for virtual buttons and keys, see VirtualBindings(3).
721
723       Composite(3),   Constraint(3),   Core(3),  XmCreateNotebook(3),  XmMan‐
724       ager(3), XmNotebookGetPageInfo(3), XmVaCreateNotebook(3), and  XmVaCre‐
725       ateManagedNotebook(3).
726
727
728
729                                                      XmNotebook(library call)
Impressum