summaryrefslogtreecommitdiffstats
path: root/library/demos/ttknote.tcl
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2007-10-22 14:21:04 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2007-10-22 14:21:04 (GMT)
commitdfdf99ed53285ece3a7ca2ca269a205b4c3b69e2 (patch)
tree7ef16e41ec928fc20b1bdd0789ce7a846ccddd40 /library/demos/ttknote.tcl
parentda9f8e86e69b0f5266067190d85b3c6bdf4fd7fa (diff)
downloadtk-dfdf99ed53285ece3a7ca2ca269a205b4c3b69e2.zip
tk-dfdf99ed53285ece3a7ca2ca269a205b4c3b69e2.tar.gz
tk-dfdf99ed53285ece3a7ca2ca269a205b4c3b69e2.tar.bz2
More widget demos!
Diffstat (limited to 'library/demos/ttknote.tcl')
-rw-r--r--library/demos/ttknote.tcl56
1 files changed, 56 insertions, 0 deletions
diff --git a/library/demos/ttknote.tcl b/library/demos/ttknote.tcl
new file mode 100644
index 0000000..9f10ed7
--- /dev/null
+++ b/library/demos/ttknote.tcl
@@ -0,0 +1,56 @@
+# ttknote.tcl --
+#
+# This demonstration script creates a toplevel window containing a Ttk
+# notebook widget.
+#
+# RCS: @(#) $Id: ttknote.tcl,v 1.1 2007/10/22 14:21:16 dkf Exp $
+
+if {![info exists widgetDemo]} {
+ error "This script should be run from the \"widget\" demo."
+}
+
+package require Tk
+package require Ttk
+
+set w .ttknote
+catch {destroy $w}
+toplevel $w
+wm title $w "Ttk Notebook Widget"
+wm iconname $w "ttknote"
+positionWindow $w
+
+## See Code / Dismiss
+pack [addSeeDismiss $w.seeDismiss $w] -side bottom -fill x
+
+## Make the notebook and set up Ctrl+Tab traversal
+ttk::notebook $w.note
+pack $w.note -fill both -expand 1 -padx 2 -pady 3
+ttk::notebook::enableTraversal $w.note
+
+## Popuplate the first pane
+ttk::frame $w.note.msg
+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."
+ttk::button $w.note.msg.b -text "Neat!" -underline 0 -command {
+ set neat "Yeah, I know..."
+ after 500 {set neat {}}
+}
+bind $w <Alt-n> "focus $w.note.msg.b; $w.note.msg.b invoke"
+ttk::label $w.note.msg.l -textvariable neat
+$w.note add $w.note.msg -text "Description" -underline 0 -padding 2
+grid $w.note.msg.m - -sticky new
+grid $w.note.msg.b $w.note.msg.l
+grid rowconfigure $w.note.msg 1 -weight 1
+grid columnconfigure $w.note.msg {0 1} -weight 1 -uniform 1
+
+## Populate the second pane. Note that the content doesn't really matter
+ttk::frame $w.note.disabled
+$w.note add $w.note.disabled -text "Disabled" -state disabled
+
+## Popuplate the third pane
+ttk::frame $w.note.editor
+$w.note add $w.note.editor -text "Text Editor" -underline 0
+text $w.note.editor.t -width 40 -height 10 -wrap char \
+ -yscroll "$w.note.editor.s set"
+scrollbar $w.note.editor.s -orient vertical -command "$w.note.editor.t yview"
+pack $w.note.editor.s -side right -fill y -padx {0 2} -pady 2
+pack $w.note.editor.t -fill both -expand 1 -pady 2 -padx {2 0}