1# ttknote.tcl -- 2# 3# This demonstration script creates a toplevel window containing a Ttk 4# notebook widget. 5# 6# RCS: @(#) $Id$ 7 8if {![info exists widgetDemo]} { 9 error "This script should be run from the \"widget\" demo." 10} 11 12package require Tk 13package require Ttk 14 15set w .ttknote 16catch {destroy $w} 17toplevel $w 18wm title $w "Ttk Notebook Widget" 19wm iconname $w "ttknote" 20positionWindow $w 21 22## See Code / Dismiss 23pack [addSeeDismiss $w.seeDismiss $w] -side bottom -fill x 24 25ttk::frame $w.f 26pack $w.f -fill both -expand 1 27set w $w.f 28 29## Make the notebook and set up Ctrl+Tab traversal 30ttk::notebook $w.note 31pack $w.note -fill both -expand 1 -padx 2 -pady 3 32ttk::notebook::enableTraversal $w.note 33 34## Popuplate the first pane 35ttk::frame $w.note.msg 36ttk::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." 37ttk::button $w.note.msg.b -text "Neat!" -underline 0 -command { 38 set neat "Yeah, I know..." 39 after 500 {set neat {}} 40} 41bind $w <Alt-n> "focus $w.note.msg.b; $w.note.msg.b invoke" 42ttk::label $w.note.msg.l -textvariable neat 43$w.note add $w.note.msg -text "Description" -underline 0 -padding 2 44grid $w.note.msg.m - -sticky new -pady 2 45grid $w.note.msg.b $w.note.msg.l -pady {2 4} 46grid rowconfigure $w.note.msg 1 -weight 1 47grid columnconfigure $w.note.msg {0 1} -weight 1 -uniform 1 48 49## Populate the second pane. Note that the content doesn't really matter 50ttk::frame $w.note.disabled 51$w.note add $w.note.disabled -text "Disabled" -state disabled 52 53## Popuplate the third pane 54ttk::frame $w.note.editor 55$w.note add $w.note.editor -text "Text Editor" -underline 0 56text $w.note.editor.t -width 40 -height 10 -wrap char \ 57 -yscroll "$w.note.editor.s set" 58if {[tk windowingsystem] ne "aqua"} { 59 ttk::scrollbar $w.note.editor.s -orient vertical -command "$w.note.editor.t yview" 60} else { 61 scrollbar $w.note.editor.s -orient vertical -command "$w.note.editor.t yview" 62} 63pack $w.note.editor.s -side right -fill y -padx {0 2} -pady 2 64pack $w.note.editor.t -fill both -expand 1 -pady 2 -padx {2 0} 65