Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XmNotebook(3)		   Library Functions Manual		 XmNotebook(3)

NAME
       XmNotebook -- The Notebook widget class

SYNOPSIS
       #include	<Xm/Notebook.h>

DESCRIPTION
       Notebook	 is  a	manager	widget that organizes its children into	pages,
       tabs, status areas, and page scrollers to simulate a real notebook.  It
       stacks its page children	so that	all page children occupy the same area
       like  real  book	 pages.	  Notebook displays visuals that look like the
       binding of a book and the edges of other	pages around the page that  is
       shown.  Tab children simulate notebook tabs. Major tabs divide Notebook
       into  several sections, and minor tabs subdivide	these sections.	Status
       area children provide additional	information about pages	such  as  page
       numbers.	 The  page scroller child allows the user to move from page to
       page. Notebook also provides tab	scrollers for scrolling	major and  mi-
       nor tabs	if it cannot display all tabs within its edges.

       The application creates pages, tabs, status areas, and page scroller as
       children	 of  the  Notebook widget. Notebook creates tab	scrollers when
       the Notebook is created.

       The XmNnotebookChildType	constraint  resource  of  Notebook  determines
       whether	a  child widget	is a page, tab,	status area, or	page scroller.
       Any Motif widget	can be a page of the Notebook.	When  the  application
       creates	a  child of the	Notebook widget	without	setting	the child type
       constraint, the child becomes a page by default,	unless it has the XmQ-
       Tactivatable, XmQTaccessTextual,	or XmQTnavigator trait.	 Children with
       the XmQTactivatable, XmQTaccessTextual, or XmQTnavigator	 trait	become
       major tabs, status areas, and page scrollers, respectively.

       Notebook	uses the XmQTaccessTextual, XmQTactivatable, XmQTjoinSide, and
       XmQTnavigator traits, and installs the XmQTscrollFrame trait.

       The application attaches	a tab to a page	by creating a tab child	of the
       Notebook	and setting the	XmNpageNumber constraint to the	page number of
       the  targeted page. By the same method, a status	area widget can	be at-
       tached to a page. The page scroller child, on the other hand, is	 asso-
       ciated with the Notebook, not with a specific page. Therefore, there is
       only one	valid page scroller for	each Notebook.

   Pages
       Only  one  child	 of  type  XmPAGE  is displayed	at a time by Notebook.
       Other page children are hidden off-screen.  When	 Notebook  displays  a
       particular  page, it positions the previously-displayed page off-screen
       and puts	the new	page in	its place. The page is resized to fit into the
       dimensions that Notebook	has allocated to display pages.

   Page	Numbers
       Notebook	uses the XmNcurrentPageNumber,	XmNfirstPageNumber,  and  XmN-
       lastPageNumber  resources  to  determine	the current page and available
       page number range. Only those pages whose page numbers are  within  the
       range can be displayed. Other pages cannot be displayed until the range
       between	XmNfirstPageNumber and XmNlastPageNumber is changed to include
       them or their page numbers are changed to a number within the range.

       If XmNfirstPageNumber and XmNlastPageNumber are not set	explicitly  by
       the application,	they are set to	1 by default; Notebook sets XmNlastPa-
       geNumber	 to the	largest	page number assigned by	the application	there-
       after by	default. However, once XmNlastPageNumber is set	by the	appli-
       cation,	Notebook  no  longer changes it	even when a page with a	higher
       page number is managed.

       The XmNpageNumber constraint resource is	used for specifying  the  page
       number of a page	widget.	It can be set to any integer. For tab and sta-
       tus area	children, the resource is used for linking the child widget to
       a  page.	  For the page scroller	child, the resource has	no meaning and
       is ignored by the Notebook.

       When a page without a page number is managed, Notebook assigns  it  the
       smallest	 unallocated  page number that is not less than	the first page
       number and greater than the last	allocated page number. When a tab or a
       status area without a page number is managed, the newly managed	widget
       is  assigned  the page number of	the most recently managed page,	unless
       the page	already	has the	same type of child. If the page	does have  the
       same  type  of  child, Notebook assigns the newly managed widget	a page
       number one greater than the most	recently managed page; this  new  page
       number  is  now	occupied.  Notebook may	generate a default page	number
       greater than XmNlastPageNumber, making those pages inaccessible to  the
       user.

   Duplicate and Empty Pages
       Since  an application can create	or change page numbers,	it is possible
       to have duplicate page numbers and empty	pages. When two	pages with the
       same page number	are managed, only the more recently managed  page  can
       be  displayed.  Inserting  a page with an existing page number does not
       cause a warning.	The old	page widget cannot be displayed	until the  new
       page  widget  is	 removed from the Notebook or until the	page number of
       the old page widget is changed to some other number.

       An empty	page is	a page slot where no page is inserted. Empty pages oc-
       cur when	a tab or status	area is	associated with	a page number that has
       no matching page	widget.	 Empty pages display the blank Notebook	 back-
       ground unless the application provides visual information to this empty
       area while processing XmNpageChangedCallback.

   Notebook Visuals
       Notebook	 draws	lines around two sides of the top page to simulate the
       edges of	other pages that are behind the	top  page.   The  XmNbackPage-
       Placement  and  XmNorientation resources	determine which	two sides have
       the lines drawn around them. By default,	they are drawn on  the	bottom
       and  right  sides of the	top page. The application can set resources to
       control how many	lines are drawn	and how	wide the area  that  they  are
       drawn  in is. Applications can also choose from three styles of binding
       visual that simulates the binding of a Notebook.	Solid or spiral	 bind-
       ings  can  be drawn by Notebook,	or the application can supply a	pixmap
       that is tiled into the binding.

   Tabs
       A major or minor	tab is a Motif widget with the XmQTactivatable	trait.
       If  a  widget without the trait is created for a	tab, Notebook does not
       provide the page	activation callback.  As a result, even	though the tab
       is displayed, it	cannot automatically move the associated page  to  the
       top.

       Major  tabs  divide the Notebook	pages into sections. Minor tabs	subdi-
       vide these sections.  Only minor	tabs associated	with the current  sec-
       tion  are displayed, where a section consists of	the group of pages be-
       tween the current major tab and the next	major tab, including the  cur-
       rent  major  tab	 but  not including the	page containing	the next major
       tab.  The exception to this is when there is no preceding major tab, in
       which case the section starts from  the	XmNfirstPageNumber  value.   A
       user in one major tab section does not see the minor tabs in other sec-
       tions.	However,  all tabs are used in computing the size of the Note-
       book.

       Unlike regular notebook tabs, tabs in the Notebook are not attached  to
       a  physical  page  (a widget). They are,	instead, attached to a logical
       page (a page number). Therefore,	it is possible to have a tab  with  an
       empty  page.  When  a page with a tab is	removed	from the Notebook, the
       tab is not removed because it is	still bound to a  logical  page.   De-
       stroying	or unmanaging a	page widget only erases	the page and leaves an
       empty  page.   It does not tear the page	out of the Notebook. To	remove
       the tab,	the application	must explicitly	destroy	or unmanage it.

       Notebook	supports  the  XmQTjoinSide  trait.  A	widget	that  has  the
       XmQTjoinSide trait can be added to the Notebook as a Major or Minor tab
       and  will  appear to be attached	to its associated page with no margins
       or shadows between them.

   Status Areas
       A status	area is	any widget that	is used	for describing the  associated
       page.  For  example, the	Label widget as	a status area child can	hold a
       simple string or	a pixmap that describes	a page.	A status  area	widget
       is  also	 attached  to  a  page by the page number constraint resource.
       Therefore, it is	possible to have multiple status area widgets for  one
       page.   Only the	most recently managed status area widget for that page
       can be displayed. All others for	that page are not unmanaged, but their
       sizes are used for computing the	size of	the  Notebook.	If  no	status
       area  widget is provided, the Notebook displays its blank background in
       the status area's reserved space. Notebook does not create any  default
       status area widget.

   Page	Scrollers
       The  page  scroller  of the Notebook is any widget that the application
       creates for scrolling pages. If the application	does  not  create  one
       when the	Notebook is realized, Notebook creates a SpinBox widget	as the
       default page scroller.  If the application creates a new	page scroller,
       the default page	scroller is destroyed. If the application creates mul-
       tiple  page  scrollers,	only the most recently managed one can be dis-
       played and used.	All others are unmanaged.

       The default SpinBox page	scroller grays out one of the arrow visuals if
       the current page	is a boundary page.  If	the current page is the	 first
       page,  the previous arrow of the	SpinBox	is grayed. If the current page
       is the last page, the next arrow	of the SpinBox is grayed.

   Tab Scrollers
       Tab scrollers are created by the	Notebook for scrolling major tabs  and
       minor  tabs. When Notebook is initialized, it creates four ArrowButton-
       Gadgets for scrolling to	the next major tab, the	 previous  major  tab,
       the next	minor tab, and the previous minor tab.	The application	cannot
       replace	these tab scrollers.  The application can change all resources
       of these	widgets	except the  position  and  the	arrow  direction.  Tab
       scrollers  are  only visible and	enabled	when there is not enough space
       to display all the major	or minor tabs appropriate  to  the  page.  Tab
       scrollers are also grayed out when scrolling is inappropriate. The fol-
       lowing lists the	tab scrollers that are created:
       +------------------------------------------------------------------------------+
       |		    Child Widgets that XmNotebook Creates		      |
       | Child			     | Name			| Widget Class	      |
       +-----------------------------+--------------------------+---------------------+
       | Page Scroller		     | PageScroller		| XmSpinBox	      |
       +-----------------------------+--------------------------+---------------------+
       | Next Major Tab	Scroller     | MajorTabScrollerNext	| XmArrowButtonGadget |
       +-----------------------------+--------------------------+---------------------+
       | Previous Major	Tab Scroller | MajorTabScrollerPrevious	| XmArrowButtonGadget |
       +-----------------------------+--------------------------+---------------------+
       | Next Minor Tab	Scroller     | MinorTabScrollerNext	| XmArrowButtonGadget |
       +-----------------------------+--------------------------+---------------------+
       | Previous Minor	Tab Scroller | MinorTabScrollerPrevious	| XmArrowButtonGadget |
       +-----------------------------+--------------------------+---------------------+
       +-----------------------------+--------------------------+---------------------+

       When  the  user selects the page	scroller, a major tab, or a minor tab,
       the value of XmNcurrentPageNumber is changed to the selected page  num-
       ber  and	 XmNpageChangedCallback	 is invoked. After the application re-
       turns from the callback,	the Notebook  displays	the  last  page	 child
       whose page number is equal to the current page number. It also displays
       the  last  matched  status area child. All other	pages and status areas
       are automatically hidden. Major tabs and	minor tabs that	can  fit  into
       the  Notebook's	edges  are displayed and positioned appropriately. All
       other tabs are also hidden. The	application  can  also	cause  a  page
       change  by calling XtSetValues on XmNcurrentPageNumber and then calling
       XtCallCallbacks on XmNpageChangedCallback.

   Orientation
       The Notebook has	eight different	visual	configurations,	 depending  on
       the  value  of  XmNbackPagePlacement  and XmNorientation. These two re-
       sources determine the placement of back pages, the binding, major tabs,
       minor tabs, the status area, and	the page scroller. The location	of the
       binding is determined by	XmNorientation.	 Major tabs are	always	placed
       on the back page	side opposite to the binding; Minor tabs are placed on
       the  back  page display area that is visually connected to the binding.
       Both Major and Minor tabs are ordered so	that the page numbers they ac-
       cess increase as	they get closer	to the corner  where  the  back	 pages
       meet.   The status area and the page scroller are always	located	on the
       bottom of the Notebook, inside the frame. The page scroller  is	always
       placed adjacent to a back page side. The	following table	shows the pos-
       sible  configurations  and  the	locations  of  each Notebook component
       within the configuration.  The default back page	value and the  default
       orientation are based upon XmNlayoutDirection.
       +------------------------------------------------------------------------------+
       |		      |	   Notebook Configurations  |		    |	      |
       | XmNbackPagePlacement |	XmNorientation | Major Tabs | Status Area   | Binding |
       +----------------------+----------------+------------+---------------+---------+
       |		      |		       | Minor Tabs | Page Scroller |	      |
       +----------------------+----------------+------------+---------------+---------+
       | XmBOTTOM_RIGHT	      |	XmHORIZONTAL   | RIGHT	    | BOTTOM LEFT   | LEFT    |
       +----------------------+----------------+------------+---------------+---------+
       |		      |		       | BOTTOM	    | BOTTOM RIGHT  |	      |
       +----------------------+----------------+------------+---------------+---------+
       | XmBOTTOM_RIGHT	      |	XmVERTICAL     | BOTTOM	    | BOTTOM LEFT   | TOP     |
       +----------------------+----------------+------------+---------------+---------+
       |		      |		       | RIGHT	    | BOTTOM RIGHT  |	      |
       +----------------------+----------------+------------+---------------+---------+
       | XmBOTTOM_LEFT	      |	XmHORIZONTAL   | LEFT	    | BOTTOM RIGHT  | RIGHT   |
       +----------------------+----------------+------------+---------------+---------+
       |		      |		       | BOTTOM	    | BOTTOM LEFT   |	      |
       +----------------------+----------------+------------+---------------+---------+
       | XmBOTTOM_LEFT	      |	XmVERTICAL     | BOTTOM	    | BOTTOM RIGHT  | TOP     |
       +----------------------+----------------+------------+---------------+---------+
       |		      |		       | LEFT	    | BOTTOM LEFT   |	      |
       +----------------------+----------------+------------+---------------+---------+
       | XmTOP_RIGHT	      |	XmHORIZONTAL   | RIGHT	    | BOTTOM LEFT   | LEFT    |
       +----------------------+----------------+------------+---------------+---------+
       |		      |		       | TOP	    | BOTTOM RIGHT  |	      |
       +----------------------+----------------+------------+---------------+---------+
       | XmTOP_RIGHT	      |	XmVERTICAL     | TOP	    | BOTTOM LEFT   | BOTTOM  |
       +----------------------+----------------+------------+---------------+---------+
       |		      |		       | RIGHT	    | BOTTOM RIGHT  |	      |
       +----------------------+----------------+------------+---------------+---------+
       | XmTOP_LEFT	      |	XmHORIZONTAL   | LEFT	    | BOTTOM RIGHT  | RIGHT   |
       +----------------------+----------------+------------+---------------+---------+
       |		      |		       | TOP	    | BOTTOM LEFT   |	      |
       +----------------------+----------------+------------+---------------+---------+
       | XmTOP_LEFT	      |	XmVERTICAL     | TOP	    | BOTTOM RIGHT  | BOTTOM  |
       +----------------------+----------------+------------+---------------+---------+
       |		      |		       | LEFT	    | BOTTOM LEFT   |	      |
       +----------------------+----------------+------------+---------------+---------+
       +----------------------+----------------+------------+---------------+---------+

       There are three tab groups for tab group	traversal inside the Notebook:
       major  tabs,  minor  tabs,  and the page	scroller.  The application can
       also create additional types of tab groups within the Notebook; for ex-
       ample, each page	added by the application is treated as a separate  tab
       group by	the traversal actions.

   Classes
       Notebook	inherits behavior, resources, and traits from Core, Composite,
       Constraint, and XmManager classes.

       The class pointer is xmNotebookWidgetClass.

       The class name is XmNotebook.

   New Resources
       The  following table defines a set of widget resources used by the pro-
       grammer to specify data.	The programmer can also	set the	resource  val-
       ues  for	 the  inherited	classes	to set attributes for this widget.  To
       reference a resource by name or by class	in a .Xdefaults	 file,	remove
       the XmN or XmC prefix and use the remaining letters.  To	specify	one of
       the  defined  values for	a resource in a	.Xdefaults file, remove	the Xm
       prefix and use the remaining letters (in	either lowercase or uppercase,
       but include any underscores between words). The	codes  in  the	access
       column  indicate	if the given resource can be set at creation time (C),
       set by using XtSetValues	(S), retrieved by using	XtGetValues (G), or is
       not applicable (N/A).

       +--------------------------------------------------------------------------------------------------+
       |			 |	     XmNotebook	Resource Set	  |			 |	  |
       | Name			 | Class		 | Type		  | Default		 | Access |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNbackPageBackground	 | XmCBackPageBackground | Pixel	  | dynamic		 | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNbackPageForeground	 | XmCBackPageForeground | Pixel	  | dynamic		 | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNbackPageNumber	 | XmCBackPageNumber	 | Cardinal	  | 2			 | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNbackPagePlacement	 | XmCBackPagePlacement	 | unsigned char  | dynamic		 | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNbackPageSize	 | XmCBackPageSize	 | Dimension	  | 8			 | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNbindingPixmap	 | XmCBindingPixmap	 | Pixmap	  | XmUNSPECIFIED_PIXMAP | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNbindingType		 | XmCBindingType	 | unsigned char  | XmSPIRAL		 | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNbindingWidth	 | XmCBindingWidth	 | Dimension	  | 25			 | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNcurrentPageNumber	 | XmCCurrentPageNumber	 | int		  | dynamic		 | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNfirstPageNumber	 | XmCFirstPageNumber	 | int		  | 1			 | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNframeBackground	 | XmCFrameBackground	 | Pixel	  | dynamic		 | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNframeShadowThickness | XmCShadowThickness	 | Dimension	  | 0			 | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNinnerMarginHeight	 | XmCInnerMarginHeight	 | Dimension	  | 0			 | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNinnerMarginWidth	 | XmCInnerMarginWidth	 | Dimension	  | 0			 | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNlastPageNumber	 | XmCLastPageNumber	 | int		  | dynamic		 | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNminorTabSpacing	 | XmCMinorTabSpacing	 | Dimension	  | 3			 | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNmajorTabSpacing	 | XmCMajorTabSpacing	 | Dimension	  | 3			 | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNorientation		 | XmCOrientation	 | unsigned char  | XmHORIZONTAL	 | CSG	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       | XmNpageChangedCallback	 | XmCCallback		 | XtCallbackList | NULL		 | C	  |
       +-------------------------+-----------------------+----------------+----------------------+--------+
       +-------------------------+-----------------------+----------------+----------------------+--------+

       XmNbackPageBackground
		 Specifies the background color	for drawing back  pages.   The
		 default is a lower-intensity version of XmNframeBackground.

       XmNbackPageForeground
		 Specifies the forground color for drawing back	pages. The de-
		 fault	is  taken  from	 the  application's default foreground
		 color.

       XmNbackPageNumber
		 Specifies the number of lines to draw	for  back  pages.  The
		 minimum value is 1, and the maximum value is (XmNbackPageSize
		 / 2).

       XmNbackPagePlacement
		 Specifies  where to place the back pages.  The	default	is de-
		 pendent on the	XmNlayoutDirection resource of the  Notebook's
		 instance parents.  It can have	one of the following values:

		 XmBOTTOM_RIGHT
			   Displays  back  pages  on the Notebook's bottom and
			   right sides.

		 XmBOTTOM_LEFT
			   Displays back pages on the  Notebook's  bottom  and
			   left	sides.

		 XmTOP_RIGHT
			   Displays back pages on the Notebook's top and right
			   sides.

		 XmTOP_LEFT
			   Displays  back pages	on the Notebook's top and left
			   sides.

       XmNbackPageSize
		 Specifies the thickness of the	back page rendering.

       XmNbindingPixmap
		 Specifies the pixmap or bitmap	for stippling  or  tiling  the
		 binding  when	XmNbindingType	is  XmPIXMAP or	XmPIXMAP_OVER-
		 LAP_ONLY.

       XmNbindingType
		 Specifies the binding type. It	can have one of	the  following
		 values:

		 XmNONE	   Displays no binding.

		 XmSOLID   Displays a solid binding in the foreground color of
			   the	Notebook  within the binding area specified by
			   XmNbindingWidth.

		 XmSPIRAL  Displays a spiral binding in	the  foreground	 color
			   of  the  Notebook within the	area specified by XmN-
			   bindingWidth	and within the	area  outside  of  the
			   frame  equal	 to  the area specified	by XmNbinding-
			   Width.

		 XmPIXMAP  Displays the	binding	 with  the  pixmap  or	bitmap
			   specified by	XmNbindingPixmap as a stipple or tile.
			   It  uses  the  foreground color of the Notebook for
			   stippling. The binding  width  is  decided  by  the
			   larger  value  of  XmNbindingWidth and the width of
			   the pixmap or bitmap.

		 XmPIXMAP_OVERLAP_ONLY
			   Displays the	binding	 with  the  pixmap  or	bitmap
			   specified by	XmNbindingPixmap as a stipple or tile.
			   It  uses  the  foreground color of the Notebook for
			   stippling. The binding is displayed only within the
			   binding area	specified by XmNbindingWidth.

       XmNbindingWidth
		 Specifies the width of	the Notebook binding.  If  XmNbinding-
		 Type  is  XmPIXMAP  and  the width of the pixmap specified in
		 XmNbindingPixmap is greater than XmNbindingWidth,  then  this
		 resource  is  ignored	and the	width of the pixmap is used as
		 the width of the Notebook binding instead.

       XmNcurrentPageNumber
		 Specifies the page number of the  currently  displayed	 page.
		 Initially,  it	 is set	to XmNfirstPageNumber. If it is	set to
		 less than XmNfirstPageNumber, then it is set  to  XmNfirstPa-
		 geNumber.   If	it is set to XmNlastPageNumber,	then it	is set
		 to XmNlastPageNumber.

       XmNfirstPageNumber
		 Specifies the page number for the first page of the Notebook.
		 The Notebook does not scroll to any page numbers  below  this
		 value.

       XmNframeBackground
		 Specifies  the	 background  color  for	drawing	the Notebook's
		 frame.

       XmNframeShadowThickness
		 Specifies the shadow thickness	around the Notebook's frame.

       XmNinnerMarginHeight
		 Specifies the margin on the top and bottom sides of the page,
		 status	area, and page scroller	widgets.

       XmNinnerMarginWidth
		 Specifies the margin on the left and right sides of the page,
		 status	area, and page scroller	widgets.

       XmNlastPageNumber
		 Specifies the page number for the last	page of	the  Notebook.
		 The  Notebook	does not scroll	to any page numbers above this
		 value.	 The default page number is the	largest	page number of
		 managed page, major tab, or minor tab widgets.	  If  this  is
		 set  to a value that is less than XmNfirstPageNumber, the be-
		 havior	of the Notebook	is undefined.

       XmNmajorTabSpacing
		 Specifies the spacing distance	between	major tabs.   If  XmN-
		 frameShadowThickness is greater than XmNmajorTabSpacing, then
		 this resource is ignored and the size of XmNframeShadowThick-
		 ness is used as the spacing distance between major tabs.

       XmNminorTabSpacing
		 Specifies  the	 spacing  distance between minor tabs. If XmN-
		 frameShadowThickness is greater than XmNminorTabSpacing, then
		 this resource is ignored and the size of XmNframeShadowThick-
		 ness is used as the spacing distance between minor tabs.

       XmNorientation
		 Specifies the orientation of the Notebook. It can have	one of
		 the following values:

		 XmHORIZONTAL
			   Places the binding beside the pages,	in the left or
			   right side of the frame.

		 XmVERTICAL
			   Places the binding above or below the pages,	in the
			   top or the bottom of	the frame.

       XmNpageChangedCallback
		 Specifies the list of callbacks to call whenever the  XmNcur-
		 rentPageNumber,  representing	the  current  page  number, is
		 changed. This includes	the point when the widget is  realized
		 and  the  page	number is initialized.	The callback structure
		 is XmNotebookCallbackStruct.  The reason  is  XmCR_MAJOR_TAB,
		 XmCR_MINOR_TAB,		 XmCR_PAGE_SCROLLER_INCREMENT,
		 XmCR_PAGE_SCROLLER_DECREMENT, or  XmCR_NONE,  depending  upon
		 what action caused the	Notebook to display a new page.

       +--------------------------------------------------------------------------------+
       |		      |XmNotebook Constraint Resource Set    |	       |	|
       | Name		      |	Class		     | Type	     | Default | Access	|
       +----------------------+----------------------+---------------+---------+--------+
       | XmNnotebookChildType |	XmCNotebookChildType | unsigned	char | dynamic | CG	|
       +----------------------+----------------------+---------------+---------+--------+
       | XmNpageNumber	      |	XmCPageNumber	     | int	     | dynamic | CSG	|
       +----------------------+----------------------+---------------+---------+--------+
       | XmNresizable	      |	XmCResizable	     | Boolean	     | True    | CSG	|
       +----------------------+----------------------+---------------+---------+--------+
       +----------------------+----------------------+---------------+---------+--------+

       XmNnotebookChildType
		 Specifies  the	 child	type of	the Notebook. It can be	one of
		 the following types:

		 XmPAGE	   The child is	a page of the Notebook.	 This  is  the
			   default  when the child does	not have the XmQTacti-
			   vatable, XmQTaccessTextual, or XmQTnavigator	trait.

		 XmMAJOR_TAB
			   The child is	a major	tab. This is the default  when
			   the child has the XmQTactivatable trait.

		 XmMINOR_TAB
			   The child is	a minor	tab.

		 XmSTATUS_AREA
			   The	child  is  a  status area. This	is the default
			   when	the child has the XmQTaccessTextual trait  and
			   does	not have the XmQTactivatable trait.

		 XmPAGE_SCROLLER
			   The	child  is  the page scroller. The default page
			   scroller is destroyed, if it	exists.	Any previously
			   created page	scrollers are unmanaged. This  is  the
			   default  when the child has the XmQTnavigator trait
			   and does have the XmQTactivatable trait or the XmQ-
			   TaccessTextual trait.

       XmNpageNumber
		 Specifies the page number associated with the widget.	If the
		 widget	is a page, the number specifies	the page number	of the
		 widget.  If the widget	is not a page,	the  number  specifies
		 the  page  number of the associated page. If none is supplied
		 by the	application, Notebook generates	the  smallest  unallo-
		 cated	page  number when the child is managed.	 This resource
		 is ignored for	the page scroller.

       XmNresizable
		 Specifies whether this	child can request a resize.

   Inherited Resources
       Notebook	inherits behavior and  resources  from	the  superclasses  de-
       scribed	in  the	 following tables.  For	a complete description of each
       resource, refer to the reference	page for that superclass.
       +-----------------------------------------------------------------------------------------------------+
       |			 |	       XmManager Resource Set	     |			    |	     |
       | Name			 | Class		 | Type		     | Default		    | Access |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       | XmNbottomShadowColor	 | XmCBottomShadowColor	 | Pixel	     | dynamic		    | CSG    |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       | XmNbottomShadowPixmap	 | XmCBottomShadowPixmap | Pixmap	     | XmUNSPECIFIED_PIXMAP | CSG    |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       | XmNforeground		 | XmCForeground	 | Pixel	     | dynamic		    | CSG    |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       | XmNhelpCallback	 | XmCCallback		 | XtCallbackList    | NULL		    | C	     |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       | XmNhighlightColor	 | XmCHighlightColor	 | Pixel	     | dynamic		    | CSG    |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       | XmNhighlightPixmap	 | XmCHighlightPixmap	 | Pixmap	     | dynamic		    | CSG    |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       | XmNinitialFocus	 | XmCInitialFocus	 | Widget	     | NULL		    | CSG    |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       | XmNlayoutDirection	 | XmCLayoutDirection	 | XmDirection	     | dynamic		    | CG     |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       | XmNnavigationType	 | XmCNavigationType	 | XmNavigationType  | XmTAB_GROUP	    | CSG    |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       | XmNpopupHandlerCallback | XmCCallback		 | XtCallbackList    | NULL		    | C	     |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       | XmNshadowThickness	 | XmCShadowThickness	 | Dimension	     | 0		    | CSG    |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       | XmNstringDirection	 | XmCStringDirection	 | XmStringDirection | dynamic		    | CG     |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       | XmNtopShadowColor	 | XmCTopShadowColor	 | Pixel	     | dynamic		    | CSG    |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       | XmNtopShadowPixmap	 | XmCTopShadowPixmap	 | Pixmap	     | dynamic		    | CSG    |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       | XmNtraversalOn		 | XmCTraversalOn	 | Boolean	     | True		    | CSG    |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       | XmNunitType		 | XmCUnitType		 | unsigned char     | dynamic		    | CSG    |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       | XmNuserData		 | XmCUserData		 | XtPointer	     | NULL		    | CSG    |
       +-------------------------+-----------------------+-------------------+----------------------+--------+
       +-------------------------+-----------------------+-------------------+----------------------+--------+

       +------------------------------------------------------------------------+
       |		   |	 Composite Resource Set	     |	       |	|
       | Name		   | Class	       | Type	     | Default | Access	|
       +-------------------+-------------------+-------------+---------+--------+
       | XmNchildren	   | XmCReadOnly       | WidgetList  | NULL    | G	|
       +-------------------+-------------------+-------------+---------+--------+
       | XmNinsertPosition | XmCInsertPosition | XtOrderProc | NULL    | CSG	|
       +-------------------+-------------------+-------------+---------+--------+
       | XmNnumChildren	   | XmCReadOnly       | Cardinal    | 0       | G	|
       +-------------------+-------------------+-------------+---------+--------+
       +-------------------+-------------------+-------------+---------+--------+

       +----------------------------------------------------------------------------------------------------------------+
       |			       |	       Core Resource Set		|		       |	|
       | Name			       | Class			       | Type		| Default	       | Access	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNaccelerators	       | XmCAccelerators	       | XtAccelerators	| dynamic	       | CSG	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNancestorSensitive	       | XmCSensitive		       | Boolean	| dynamic	       | G	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNbackground		       | XmCBackground		       | Pixel		| dynamic	       | CSG	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNbackgroundPixmap	       | XmCPixmap		       | Pixmap		| XmUNSPECIFIED_PIXMAP | CSG	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNborderColor		       | XmCBorderColor		       | Pixel		| XtDefaultForeground  | CSG	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNborderPixmap	       | XmCPixmap		       | Pixmap		| XmUNSPECIFIED_PIXMAP | CSG	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNborderWidth		       | XmCBorderWidth		       | Dimension	| 0		       | CSG	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNcolormap		       | XmCColormap		       | Colormap	| dynamic	       | CG	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNdepth		       | XmCDepth		       | int		| dynamic	       | CG	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNdestroyCallback	       | XmCCallback		       | XtCallbackList	| NULL		       | C	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNheight		       | XmCHeight		       | Dimension	| dynamic	       | CSG	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNinitialResourcesPersistent | XmCInitialResourcesPersistent | Boolean	| True		       | C	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNmappedWhenManaged	       | XmCMappedWhenManaged	       | Boolean	| True		       | CSG	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNscreen		       | XmCScreen		       | Screen	*	| dynamic	       | CG	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNsensitive		       | XmCSensitive		       | Boolean	| True		       | CSG	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNtranslations	       | XmCTranslations	       | XtTranslations	| dynamic	       | CSG	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNwidth		       | XmCWidth		       | Dimension	| dynamic	       | CSG	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNx			       | XmCPosition		       | Position	| 0		       | CSG	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       | XmNy			       | XmCPosition		       | Position	| 0		       | CSG	|
       +-------------------------------+-------------------------------+----------------+----------------------+--------+
       +-------------------------------+-------------------------------+----------------+----------------------+--------+

   Callback
       A pointer to the	following structure is passed to  callbacks  for  XmN-
       pageChangedCallback.

       typedef struct
       {
	       int reason;
	       XEvent *event;
	       int page_number;
	       Widget page_widget;
	       int prev_page_number;
	       Widget prev_page_widget;
       } XmNotebookCallbackStruct;

       reason	 Specifies the reason for the callback.

       event	 Points	 to  the XEvent	that triggered the callback. It	can be
		 NULL.

       page_number
		 Indicates the page number to be displayed.

       page_widget
		 Indicates the page widget that	has the	new page  number.   It
		 is NULL if no page widget with	the page number	is found.

       prev_page_number
		 Indicates the page number of the currently displayed page. If
		 the  callback procedure is being called at widget initializa-
		 tion,	this  page  number  will  be  returned	as  XmUNSPECI-
		 FIED_PAGE_NUMBER.

       prev_page_widget
		 Indicates  the	 currently displayed page widget. If the call-
		 back procedure	is being called	at widget initialization, NULL
		 will be returned.

   Translations
       Notebook	inherits translations from Manager.

   Accelerators
       Notebook	accelerators are added to all major tab	and minor tab children
       of XmNotebook.  Notebook	accelerators are listed	below.	These acceler-
       ators might not directly	correspond to a	translation table.

       <osfBeginLine>:
		 TraverseTab(Home)

       <osfEndLine>:
		 TraverseTab(End)

       <osfLeft>:
		 TraverseTab(Previous)

       <osfRight>:
		 TraverseTab(Next)

       <osfUp>:	 TraverseTab(Previous)

       <osfDown>:
		 TraverseTab(Next)

   Action Routines
       Notebook	action routines	are described below:

       TraverseTab(Home|End|Next|Previous)
		 Moves the focus on major or minor tabs.

   Additional Behavior
       The Notebook widget has the additional behavior described below:

       <Tab>	 Notebook intercepts tab group traversal when traversal	is en-
		 tering	or leaving major or minor tabs.	It does	this  to  sup-
		 port  major  tabs  and	 minor tabs as two separate tab	groups
		 when they are actually	treated	as one by traversal. If	a  mi-
		 nor tab has keyboard focus and	a user or program action spec-
		 ifies	XmTRAVERSE_PREV_TAB_GROUP, keyboard focus will go to a
		 major tab. If a major tab has keyboard	focus and  a  user  or
		 program  action specifies XmTRAVERSE_NEXT_TAB_GROUP, keyboard
		 focus will go to a minor tab.

   Virtual Bindings
       The bindings for	virtual	keys are  vendor  specific.   For  information
       about bindings for virtual buttons and keys, see	VirtualBindings(3).

RELATED
       Composite(3),   Constraint(3),	Core(3),  XmCreateNotebook(3),	XmMan-
       ager(3),	XmNotebookGetPageInfo(3), XmVaCreateNotebook(3), and  XmVaCre-
       ateManagedNotebook(3).

								 XmNotebook(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=XmNotebook&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help