/ lib / tcltk / tk8.6 / demos / ttknote.tcl
ttknote.tcl
 1  # ttknote.tcl --
 2  #
 3  # This demonstration script creates a toplevel window containing a Ttk
 4  # notebook widget.
 5  
 6  if {![info exists widgetDemo]} {
 7      error "This script should be run from the \"widget\" demo."
 8  }
 9  
10  package require Tk
11  
12  set w .ttknote
13  catch {destroy $w}
14  toplevel $w
15  wm title $w "Ttk Notebook Widget"
16  wm iconname $w "ttknote"
17  positionWindow $w
18  
19  ## See Code / Dismiss
20  pack [addSeeDismiss $w.seeDismiss $w] -side bottom -fill x
21  
22  ttk::frame $w.f
23  pack $w.f -fill both -expand 1
24  set w $w.f
25  
26  ## Make the notebook and set up Ctrl+Tab traversal
27  ttk::notebook $w.note
28  pack $w.note -fill both -expand 1 -padx 2 -pady 3
29  ttk::notebook::enableTraversal $w.note
30  
31  ## Popuplate the first pane
32  ttk::frame $w.note.msg
33  ttk::label $w.note.msg.m -font $font -wraplength 4i -justify left -anchor n -text "Ttk is the new Tk themed widget set. One of the widgets it includes is the notebook widget, which provides a set of tabs that allow the selection of a group of panels, each with distinct content. They are a feature of many modern user interfaces. Not only can the tabs be selected with the mouse, but they can also be switched between using Ctrl+Tab when the notebook page heading itself is selected. Note that the second tab is disabled, and cannot be selected."
34  ttk::button $w.note.msg.b -text "Neat!" -underline 0 -command {
35      set neat "Yeah, I know..."
36      after 500 {set neat {}}
37  }
38  bind $w <Alt-n> "focus $w.note.msg.b; $w.note.msg.b invoke"
39  ttk::label $w.note.msg.l -textvariable neat
40  $w.note add $w.note.msg -text "Description" -underline 0 -padding 2
41  grid $w.note.msg.m - -sticky new -pady 2
42  grid $w.note.msg.b $w.note.msg.l -pady {2 4}
43  grid rowconfigure $w.note.msg 1 -weight 1
44  grid columnconfigure $w.note.msg {0 1} -weight 1 -uniform 1
45  
46  ## Populate the second pane. Note that the content doesn't really matter
47  ttk::frame $w.note.disabled
48  $w.note add $w.note.disabled -text "Disabled" -state disabled
49  
50  ## Popuplate the third pane
51  ttk::frame $w.note.editor
52  $w.note add $w.note.editor -text "Text Editor" -underline 0
53  text $w.note.editor.t -width 40 -height 10 -wrap char \
54  	-yscroll "$w.note.editor.s set"
55  ttk::scrollbar $w.note.editor.s -orient vertical -command "$w.note.editor.t yview"
56  pack $w.note.editor.s -side right -fill y -padx {0 2} -pady 2
57  pack $w.note.editor.t -fill both -expand 1 -pady 2 -padx {2 0}