Version 3 of Spiffy caution edged window

Updated 2005-07-13 19:02:11 by escargo

Zarutian 13. july 2005:

 #IS: mætti gera: 7 hluta tölustafi í rauðum útlínum
 #EN: migth do: 7 segmented numbers in red outlines
 #EN: to move the window about drag an edge.

 image create photo cautionEdge
 set a #000000
 set b #FFFF00
 cautionEdge put [list \
 [list $a $a $a $b $b $b $a $a $a $b $b $b ] \
 [list $b $a $a $a $b $b $b $a $a $a $b $b ] \
 [list $b $b $a $a $a $b $b $b $a $a $a $b ] \
 [list $b $b $b $a $a $a $b $b $b $a $a $a ] \
 [list $a $b $b $b $a $a $a $b $b $b $a $a ] \
 [list $a $a $b $b $b $a $a $a $b $b $b $a ] \
 [list $a $a $a $b $b $b $a $a $a $b $b $b ] \
 [list $b $a $a $a $b $b $b $a $a $a $b $b ] \
 [list $b $b $a $a $a $b $b $b $a $a $a $b ] \
 [list $b $b $b $a $a $a $b $b $b $a $a $a ] \
 [list $a $b $b $b $a $a $a $b $b $b $a $a ] \
 [list $a $a $b $b $b $a $a $a $b $b $b $a ] \
 ]

 canvas .can -width [expr 26 * 12] -height [expr 19 * 12]
 .can configure -highlightthickness 0
 wm overrideredirect . 1
 pack .can

 proc range {start end {delta 1}} {
   set res [list]
   for {set i $start} { $i <= $end } { incr i $delta } { lappend res $i }
   set res
 }

 foreach x [range 0 25] {
  .can create image [expr $x * 12] 0 -image cautionEdge -anchor nw \
   -tags [list cautionEdge cautionEdge[set x]x0 ]
 }

 foreach x [range 0 25] {
  .can create image [expr $x * 12] 216 -image cautionEdge -anchor nw \
   -tags [list cautionEdge cautionEdge[set x]x18 ]
 }

 foreach y [range 1 17] {
   .can create image 0 [expr $y * 12] -image cautionEdge -anchor nw \
   -tags [list cautionEdge cautionEdge0x[set y] ]
 }

 foreach y [range 1 17] {
   .can create image 300 [expr $y * 12] -image cautionEdge -anchor nw \
   -tags [list cautionEdge cautionEdge25x[set y] ]
 }

 set draggin 0
 .can bind cautionEdge <ButtonPress-1> { set draggin [list 1 %X %Y] }
 .can bind cautionEdge <Motion> {
   if {[lindex $draggin 0]} {
     set tmp [split [wm geometry .] "+"]
     set oldx [lindex $draggin 1]    
     set oldy [lindex $draggin 2]
     set x [expr [lindex $tmp 1] - ($oldx - %X) ]
     set y [expr [lindex $tmp 2] - ($oldy - %Y) ]
     wm geometry . "312x228+[set x]+[set y]"
     set draggin [list 1 %X %Y]
   }
 }
 .can bind cautionEdge <ButtonRelease-1> { set draggin 0 }

 .can configure -background LightYellow

escargo 13 Jul 2005 - Just so you can quit it...

 bind all <Key-q> { exit }

Category Example | Category GUI