home *** CD-ROM | disk | FTP | other *** search
- # ----------------------------------------------------------------------
- # DEMO: scrolledcanvas in [incr Widgets]
- # ----------------------------------------------------------------------
- package require Iwidgets 4.0
-
- option add *textBackground seashell
- . configure -background white
-
- iwidgets::scrolledcanvas .canv -labeltext "Scrolledcanvas" \
- -vscrollmode dynamic -hscrollmode dynamic -autoresize yes
-
- pack .canv -expand yes -fill both -padx 4 -pady 4
- .canv xview moveto 0
- .canv yview moveto 0
-
-
- button .zoomin -text "Zoom In" -command {
- .canv scale all 0 0 2 2
- .canv configure -scrollregion [.canv bbox all]
- }
- pack .zoomin -side left -expand yes -padx 4 -pady 4
-
- button .zoomout -text "Zoom Out" -command {
- .canv scale all 0 0 0.5 0.5
- .canv xview moveto 0
- .canv yview moveto 0
- .canv configure -scrollregion [.canv bbox all]
- }
- pack .zoomout -side left -expand yes -padx 4 -pady 4
-
-
- bind [.canv component canvas] <ButtonPress-1> {add_rectangle %W %x %y}
- bind [.canv component canvas] <B1-Motion> {add_rectangle %W %x %y}
-
- proc add_rectangle {win x y} {
- set x [$win canvasx $x]
- set y [$win canvasy $y]
-
- $win create rectangle \
- [expr $x-4] [expr $y-4] \
- [expr $x+4] [expr $y+4] \
- -outline "" -fill red
-
- $win configure -scrollregion [$win bbox all]
- }
-