# ttkpane.tcl -- # # This demonstration script creates a Ttk pane with some content. if {![info exists widgetDemo]} { error "This script should be run from the \"widget\" demo." } package require Tk package require Ttk set w .ttkpane catch {destroy $w} toplevel $w wm title $w "Themed Nested Panes" wm iconname $w "ttkpane" positionWindow $w ttk::label $w.msg -font $font -wraplength 4i -justify left -text "This demonstration shows off a nested set of themed paned windows. Their sizes can be changed by grabbing the area between each contained pane and dragging the divider." pack $w.msg [ttk::separator $w.msgSep] -side top -fill x ## See Code / Dismiss pack [addSeeDismiss $w.seeDismiss $w] -side bottom -fill x ttk::frame $w.f pack $w.f -fill both -expand 1 set w $w.f ttk::panedwindow $w.outer -orient horizontal $w.outer add [ttk::panedwindow $w.outer.inLeft -orient vertical] $w.outer add [ttk::panedwindow $w.outer.inRight -orient vertical] $w.outer.inLeft add [ttk::labelframe $w.outer.inLeft.top -text Button] $w.outer.inLeft add [ttk::labelframe $w.outer.inLeft.bot -text Clocks] $w.outer.inRight add [ttk::labelframe $w.outer.inRight.top -text Progress] $w.outer.inRight add [ttk::labelframe $w.outer.inRight.bot -text Text] if {[tk windowingsystem] eq "aqua"} { foreach i [list inLeft.top inLeft.bot inRight.top inRight.bot] { $w.outer.$i configure -padding 3 } } # Fill the button pane ttk::button $w.outer.inLeft.top.b -text "Press Me" -command { tk_messageBox -type ok -icon info -message "Ouch!" -detail "That hurt..." \ -parent .ttkpane -title "Button Pressed" } pack $w.outer.inLeft.top.b -padx 2 -pady 5 # Fill the clocks pane set i 0 proc every {delay script} { uplevel #0 $script after $delay [list every $delay $script] } set zones { :Europe/Berlin :America/Argentina/Buenos_Aires :Africa/Johannesburg :Europe/London :America/Los_Angeles :Europe/Moscow :America/New_York :Asia/Singapore :Australia/Sydney :Asia/Tokyo } # Force a pre-load of all the timezones needed; otherwise can end up # poor-looking synch problems! foreach zone $zones {clock format 0 -timezone $zone} foreach zone $zones { set city [string map {_ " "} [regexp -inline {[^/]+$} $zone]] if {$i} { pack [ttk::separator $w.outer.inLeft.bot.s$i] -fill x } ttk::label $w.outer.inLeft.bot.l$i -text $city -anchor w ttk::label $w.outer.inLeft.bot.t$i -textvariable time($zone) -anchor w pack $w.outer.inLeft.bot.l$i $w.outer.inLeft.bot.t$i -fill x every 1000 "set time($zone) \[clock format \[clock seconds\] -timezone $zone -format %T\]" incr i } # Fill the progress pane ttk::progressbar $w.outer.inRight.top.progress -mode indeterminate pack $w.outer.inRight.top.progress -fill both -expand 1 $w.outer.inRight.top.progress start # Fill the text pane if {[tk windowingsystem] ne "aqua"} { # The trick with the ttk::frame makes the text widget look like it fits with # the current Ttk theme despite not being a themed widget itself. It is done # by styling the frame like an entry, turning off the border in the text # widget, and putting the text widget in the frame with enough space to allow # the surrounding border to show through (2 pixels seems to be enough). ttk::frame $w.outer.inRight.bot.f -style TEntry text $w.txt -wrap word -yscroll "$w.sb set" -width 30 -borderwidth 0 pack $w.txt -fill both -expand 1 -in $w.outer.inRight.bot.f -pady 2 -padx 2 ttk::scrollbar $w.sb -orient vertical -command "$w.txt yview" pack $w.sb -side right -fill y -in $w.outer.inRight.bot pack $w.outer.inRight.bot.f -fill both -expand 1 pack $w.outer -fill both -expand 1 } else { text $w.txt -wrap word -yscroll "$w.sb set" -width 30 -borderwidth 0 scrollbar $w.sb -orient vertical -command "$w.txt yview" pack $w.sb -side right -fill y -in $w.outer.inRight.bot pack $w.txt -fill both -expand 1 -in $w.outer.inRight.bot pack $w.outer -fill both -expand 1 -padx 10 -pady {6 10} }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
images | Folder | 0755 |
|
|
README | File | 2.03 KB | 0644 |
|
anilabel.tcl | File | 6.51 KB | 0644 |
|
aniwave.tcl | File | 3.41 KB | 0644 |
|
arrow.tcl | File | 7.8 KB | 0644 |
|
bind.tcl | File | 2.87 KB | 0644 |
|
bitmap.tcl | File | 1.38 KB | 0644 |
|
browse | File | 1.72 KB | 0755 |
|
button.tcl | File | 1.47 KB | 0644 |
|
check.tcl | File | 2.22 KB | 0644 |
|
clrpick.tcl | File | 1.4 KB | 0644 |
|
colors.tcl | File | 4.88 KB | 0644 |
|
combo.tcl | File | 1.94 KB | 0644 |
|
cscroll.tcl | File | 3.31 KB | 0644 |
|
ctext.tcl | File | 4.76 KB | 0644 |
|
dialog1.tcl | File | 660 B | 0644 |
|
dialog2.tcl | File | 613 B | 0644 |
|
en.msg | File | 3.8 KB | 0644 |
|
entry1.tcl | File | 1.35 KB | 0644 |
|
entry2.tcl | File | 2.06 KB | 0644 |
|
entry3.tcl | File | 5.95 KB | 0644 |
|
filebox.tcl | File | 2.2 KB | 0644 |
|
floor.tcl | File | 77.24 KB | 0644 |
|
form.tcl | File | 1.02 KB | 0644 |
|
goldberg.tcl | File | 55.23 KB | 0644 |
|
hello | File | 512 B | 0755 |
|
hscale.tcl | File | 1.46 KB | 0644 |
|
icon.tcl | File | 2.01 KB | 0644 |
|
image1.tcl | File | 1002 B | 0644 |
|
image2.tcl | File | 3.28 KB | 0644 |
|
items.tcl | File | 9.5 KB | 0644 |
|
ixset | File | 7.91 KB | 0755 |
|
knightstour.tcl | File | 8.38 KB | 0644 |
|
label.tcl | File | 1.29 KB | 0644 |
|
labelframe.tcl | File | 1.8 KB | 0644 |
|
license.terms | File | 2.16 KB | 0644 |
|
mclist.tcl | File | 3.89 KB | 0644 |
|
menu.tcl | File | 6.57 KB | 0644 |
|
menubu.tcl | File | 4.37 KB | 0644 |
|
msgbox.tcl | File | 1.98 KB | 0644 |
|
nl.msg | File | 6.61 KB | 0644 |
|
paned1.tcl | File | 1.08 KB | 0644 |
|
paned2.tcl | File | 2.18 KB | 0644 |
|
pendulum.tcl | File | 7.46 KB | 0644 |
|
plot.tcl | File | 2.69 KB | 0644 |
|
puzzle.tcl | File | 2.54 KB | 0644 |
|
radio.tcl | File | 2.69 KB | 0644 |
|
rmt | File | 5.22 KB | 0755 |
|
rolodex | File | 8.11 KB | 0755 |
|
ruler.tcl | File | 5.09 KB | 0644 |
|
sayings.tcl | File | 2.21 KB | 0644 |
|
search.tcl | File | 4.29 KB | 0644 |
|
spin.tcl | File | 1.78 KB | 0644 |
|
states.tcl | File | 1.63 KB | 0644 |
|
style.tcl | File | 6.78 KB | 0644 |
|
tclIndex | File | 4.25 KB | 0644 |
|
tcolor | File | 10.99 KB | 0755 |
|
text.tcl | File | 3.34 KB | 0644 |
|
textpeer.tcl | File | 2.13 KB | 0644 |
|
timer | File | 1.09 KB | 0755 |
|
toolbar.tcl | File | 3.19 KB | 0644 |
|
tree.tcl | File | 3.29 KB | 0644 |
|
ttkbut.tcl | File | 3.34 KB | 0644 |
|
ttkmenu.tcl | File | 2.35 KB | 0644 |
|
ttknote.tcl | File | 2.41 KB | 0644 |
|
ttkpane.tcl | File | 3.95 KB | 0644 |
|
ttkprogress.tcl | File | 1.52 KB | 0644 |
|
ttkscale.tcl | File | 1.39 KB | 0644 |
|
twind.tcl | File | 10.57 KB | 0644 |
|
unicodeout.tcl | File | 3.45 KB | 0644 |
|
vscale.tcl | File | 1.44 KB | 0644 |
|
widget | File | 22.83 KB | 0755 |
|