You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.2 KiB
Plaintext
73 lines
2.2 KiB
Plaintext
# ----------------------------------------------------------------------
|
|
# DEMO: tabnotebook in [incr Widgets]
|
|
# ----------------------------------------------------------------------
|
|
package require Iwidgets 4.0
|
|
|
|
option add *textBackground seashell
|
|
option add *Tabnotebook.backdrop DimGray
|
|
option add *Scale.width 8
|
|
. configure -background white
|
|
|
|
iwidgets::tabnotebook .tnb -width 5i -height 3i
|
|
pack .tnb -padx 4 -pady 4
|
|
|
|
# Page #1
|
|
# ----------------------------------------------------------------------
|
|
set page [.tnb add -label "Personal Info"]
|
|
|
|
iwidgets::entryfield $page.name -labeltext "Name:" -labelpos nw
|
|
pack $page.name
|
|
iwidgets::entryfield $page.addr -labeltext "Address:" -labelpos nw
|
|
pack $page.addr
|
|
iwidgets::entryfield $page.addr2 -labeltext "City, State:" -labelpos nw
|
|
pack $page.addr2
|
|
iwidgets::entryfield $page.email -labeltext "E-mail:" -labelpos nw
|
|
pack $page.email
|
|
|
|
|
|
# Page #2
|
|
# ----------------------------------------------------------------------
|
|
set page [.tnb add -label "Favorite Color"]
|
|
|
|
frame $page.sample -width 20 -height 20 \
|
|
-borderwidth 2 -relief raised
|
|
pack $page.sample -fill both -pady 4
|
|
scale $page.r -label "Red" -orient horizontal \
|
|
-from 0 -to 255 -command "set_color $page"
|
|
pack $page.r -fill x
|
|
scale $page.g -label "Green" -orient horizontal \
|
|
-from 0 -to 255 -command "set_color $page"
|
|
pack $page.g -fill x
|
|
scale $page.b -label "Blue" -orient horizontal \
|
|
-from 0 -to 255 -command "set_color $page"
|
|
pack $page.b -fill x
|
|
|
|
proc set_color {page {val 0}} {
|
|
set r [$page.r get]
|
|
set g [$page.g get]
|
|
set b [$page.b get]
|
|
set color [format "#%.2x%.2x%.2x" $r $g $b]
|
|
$page.sample configure -background $color
|
|
}
|
|
set_color $page
|
|
|
|
|
|
# Page #3
|
|
# ----------------------------------------------------------------------
|
|
set page [.tnb add -label "Blank Page"]
|
|
|
|
label $page.title -text "(put your widgets here)" \
|
|
-background black -foreground white \
|
|
-width 25 -height 3
|
|
pack $page.title -expand yes -fill both
|
|
|
|
|
|
iwidgets::optionmenu .orient -labeltext "Tabs:" -command {
|
|
.tnb configure -tabpos [.orient get]
|
|
}
|
|
pack .orient -padx 4 -pady 4
|
|
.orient insert end n s e w
|
|
|
|
.tnb view "Personal Info"
|
|
.tnb configure -tabpos [.orient get]
|