background disabledForeground foreground scrollCommand cursor font height width
See the options manual entry for details on the standard options.
Name: angle Class: Angle Command-Line Switch: -angle
Name: auto Class: Auto Command-Line Switch: -auto
Name: backdrop Class: Backdrop Command-Line Switch: -backdrop
Name: background Class: Background Command-Line Switch: -background
Name: bevelAmount Class: BevelAmount Command-Line Switch: -bevelamount
Name: borderWidth Class: BorderWidth Command-Line Switch: -borderwidth
Name: disabledForeground Class: DisabledForeground Command-Line Switch: -disabledforeground
Name: equalTabs Class: EqualTabs Command-Line Switch: -equaltabs
Name: foreground Class: Foreground Command-Line Switch: -foreground
Name: gap Class: Gap Command-Line Switch: -gap
Name: margin Class: Margin Command-Line Switch: -Bmargin
Name: padX Class: PadX Command-Line Switch: -padx
Name: padY Class: PadY Command-Line Switch: -pady
Name: raiseSelect Class: RaiseSelect Command-Line Switch: -raiseselect
Name: start Class: Start Command-Line Switch: -start
Name: state Class: State Command-Line Switch: -state
Name: tabBackground Class: TabBackground Command-Line Switch: -tabbackground
Name: tabBorders Class: TabBorders Command-Line Switch: -tabborders
Name: tabForeground Class: TabForeground Command-Line Switch: -tabforeground
Name: tabPos Class: TabPos Command-Line Switch: -tabpos
The tabnotebook command creates a new window (given by the pathName argument) and makes it into a tabnotebook widget. Additional options, described above may be specified on the command line or in the option database to configure aspects of the tabnotebook such as its colors, font, and text. The tabnotebook command returns its pathName argument. At the time this command is invoked, there must not exist a window named pathName, but pathName's parent must exist.
A tabnotebook is a widget that contains a set of tabbed pages. It displays one page from the set as the selected page. A Tab displays the label for the page to which it is attached and serves as a page selector. When a page's tab is selected, the page's contents are displayed in the page area. The selected tab has a three-dimensional effect to make it appear to float above the other tabs. The tabs are displayed as a group along either the left, top, right, or bottom edge. When first created a tabnotebook has no pages. Pages may be added or deleted using widget commands described below.
A special option may be provided to the tabnotebook. The -auto option specifies whether the tabnotebook will automatically handle the unpacking and packing of pages when pages are selected. A value of true signifies that the notebook will automatically manage it. This is the default value. A value of false signifies the notebook will not perform automatic switching of pages.
However, sometimes it is desirable to handle page changes in a different manner. By specifying the auto option as false, child site packing can be disabled and done differently. For example, all widgets might be packed into the first page's child site frame. Then when a new page is selected, the application can reconfigure the widgets and give the appearance that the page was flipped.
In both cases the command option for a page specifies a Tcl Command to execute when the page is selected. In the case of auto being true, it is between the unpacking of the previously selected page and the packing of the newly selected page.
Notebook pages can also be controlled with scroll bars or other widgets that obey the scrollcommand protocol. By giving a scrollbar a -command to call the tabnotebook's select method, the tabnotebook can be controlled with a scrollbar.
The notebook area is implemented with the notebook mega widget.
The Tab area is implemented with the tabset mega widget. See tabset(1). Tabs may be oriented along either the north, south, east, or west sides with the tabPos option. North and south tabs may appear as angled, square, or bevelled. West and east tabs may appear as square or bevelled. By changing tab gaps, tab angles, bevelling, orientations, colors, fonts, start locations, and margins; tabs may appear in a wide variety of styles. For example, it is possible to implement Microsoft-style tabs, Borland property tab styles, or Borland Delphi style tabs all with the same tabnotebook.
The tabnotebook command creates a new Tcl command whose name is pathName. This command may be used to invoke various operations on the widget. It has the following general form:
pathName option ?arg arg ...?option and the args determine the exact behavior of the command.
Many of the widget commands for a notebook take as one argument an indicator of which page of the notebook to operate on. These indicators are called indexes and may be specified in any of the following forms:
Generally all behavior of the internal components, tabset and notebook are controlled via the pageconfigure method. The following section documents these two components.
Name: tabset Class: Tabset
Name: notebook Class: Notebook
Following is an example that creates a tabnotebook with two pages.
# Create the tabnotebook widget and pack it. tabnotebook .tn -width 100 -height 100 pack .tn \ -anchor nw \ -fill both \ -expand yes \ -side left \ -padx 10 \ -pady 10# Add two pages to the tabnotebook, # labelled "Page One" and "Page Two" .tn add -label "Page One" .tn add -label "Page Two"
# Get the child site frames of these two pages. set page1CS [.tn childsite 0] set page2CS [.tn childsite "Page Two"]
# Create buttons on each page of the tabnotebook. button $page1CS.b -text "Button One" pack $page1CS.b button $page2CS.b -text "Button Two" pack $page2CS.b
# Select the first page of the tabnotebook. .tn select 0