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}