OSDN Git Service

mrcImageOpticalFlow & mrcImageLucasKanade & mrcImageHornSchunckの変更
[eos/base.git] / util / src / TclTk / blt2.5 / demos / tabset4.tcl
diff --git a/util/src/TclTk/blt2.5/demos/tabset4.tcl b/util/src/TclTk/blt2.5/demos/tabset4.tcl
new file mode 100755 (executable)
index 0000000..419d43e
--- /dev/null
@@ -0,0 +1,109 @@
+#!../src/bltwish
+
+package require BLT
+# --------------------------------------------------------------------------
+# Starting with Tcl 8.x, the BLT commands are stored in their own 
+# namespace called "blt".  The idea is to prevent name clashes with
+# Tcl commands and variables from other packages, such as a "table"
+# command in two different packages.  
+#
+# You can access the BLT commands in a couple of ways.  You can prefix
+# all the BLT commands with the namespace qualifier "blt::"
+#  
+#    blt::graph .g
+#    blt::table . .g -resize both
+# 
+# or you can import all the command into the global namespace.
+#
+#    namespace import blt::*
+#    graph .g
+#    table . .g -resize both
+#
+# --------------------------------------------------------------------------
+if { $tcl_version >= 8.0 } {
+    namespace import blt::*
+    namespace import -force blt::tile::*
+}
+source scripts/demo.tcl
+#bltdebug 100
+
+source scripts/stipples.tcl
+
+tabset .t \
+    -samewidth yes \
+    -side left \
+    -textside bottom \
+    -textside top \
+    -bg red \
+    -tiers 1 \
+    -scrollincrement 10 \
+    -scrollcommand { .s set } \
+    -rotate 0 \
+    -selectcommand {  MakePhoto %W %n } 
+
+
+scrollbar .s -command { .t view } -orient horizontal
+option clear
+option add *Tabset.Tab.font -*-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*
+
+set files [glob ./images/*.gif]
+set files [lsort $files]
+#set vertFilter sinc
+#set horzFilter sinc
+set vertFilter none
+set horzFilter none
+
+
+proc ResizePhoto { src dest maxSize } {
+    set maxSize [winfo fpixels . $maxSize]
+    set w [image width $src]
+    set h [image height $src]
+    set sw [expr double($maxSize) / $w]
+    set sh [expr double($maxSize) / $h]
+    set s [expr min($sw, $sh)]
+    set w [expr round($s * $w)]
+    set h [expr round($s * $h)]
+    $dest configure -width $w -height $h
+    
+    global horzFilter vertFilter
+    winop image resample $src $dest $horzFilter $vertFilter
+}
+
+image create photo src
+image create photo dest
+
+label .t.label -image dest -bg purple
+
+proc MakePhoto { w name } {
+    set file ./images/$name.gif
+    src configure -file $file
+
+    set width [$w tab pagewidth]
+    set height [$w tab pageheight]
+    if { $width < $height } {
+       ResizePhoto src dest $width
+    } else {
+       ResizePhoto src dest $height
+    }
+    .t tab dockall
+    .t tab configure $name -window .t.label -padx 4m -pady 4m -fill both
+}
+
+table . \
+    .t 0,0 -fill both \
+    .s 1,0 -fill x 
+
+table configure . r1 -resize none
+focus .t
+
+foreach f $files {
+    src configure -file $f
+    set f [file tail [file root $f]]
+    set thumb [image create photo]
+    ResizePhoto src $thumb 0.5i
+    .t insert end $f -image $thumb -fill both
+}
+
+.t focus 0
+.t invoke 0