71 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| # ----------------------------------------------------------------------
 | |
| #  DEMO: notebook in [incr Widgets]
 | |
| # ----------------------------------------------------------------------
 | |
| package require Iwidgets 4.0
 | |
| 
 | |
| option add *textBackground seashell
 | |
| option add *Scale.width 8
 | |
| . configure -background white
 | |
| 
 | |
| iwidgets::optionmenu .pages -labeltext "Page:" -command {
 | |
|     .nb view [.pages get]
 | |
| }
 | |
| pack .pages -padx 4 -pady 4
 | |
| .pages insert end "Personal Info" "Favorite Color" "Blank Page"
 | |
| 
 | |
| 
 | |
| iwidgets::notebook .nb -width 3i -height 2.6i
 | |
| pack .nb -padx 4 -pady 4
 | |
|  
 | |
| # Page #1
 | |
| # ----------------------------------------------------------------------
 | |
| set page [.nb 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 [.nb 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 [.nb 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
 | |
| 
 | |
| 
 | |
| .nb view "Personal Info"
 |