[PD-cvs] pd/src desire.tk,1.1.2.488,1.1.2.489
chunlee
chunlee at users.sourceforge.net
Fri Sep 29 17:24:39 CEST 2006
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31804
Modified Files:
Tag: devel_0_39
desire.tk
Log Message:
more on array
Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.488
retrieving revision 1.1.2.489
diff -C2 -d -r1.1.2.488 -r1.1.2.489
*** desire.tk 29 Sep 2006 11:00:05 -0000 1.1.2.488
--- desire.tk 29 Sep 2006 15:24:35 -0000 1.1.2.489
***************
*** 1342,1346 ****
}
! if {$@mapped && !$@gop} {if {![winfo exists .$self.c]} {$self init_window}}
}
}
--- 1342,1348 ----
}
! if {$@mapped && !$@gop} {
! if {![winfo exists .$self.c]} {$self init_window}
! }
}
}
***************
*** 1356,1359 ****
--- 1358,1363 ----
}
+ def Canvas gop {} {return $@gop}
+
def Canvas get_dimen {} {
return [list $@canvasxs $@canvasys]
***************
*** 2154,2163 ****
if {!$@editmode & [$self focus] != $self & [$self focus] != ""} {[$self focus] motion $x $y $f $target}
mset {type id detail} $target
- # graphical array is different with iemgui in the way that there is no bounding box
- # a array consists of a bunch of horizontal bars over the canvas it belongs to
- # so as soon as the target does not return the Array anymore, nothing will get to its drawing
- # method. so i put a tk canvas behind all the bars, so that the target will always return
- # the Array id..
- if {$id != ""} {if {[$id class] == "Array"} {$id motion $x $y $f $target; return}}
switch $@action {
move {
--- 2158,2161 ----
***************
*** 2211,2214 ****
--- 2209,2215 ----
#set stack [lreverse [$c find overlapping [expr $cx-2] [expr $cy-2] [expr $cx+2] [expr $cy+2]]]
set stack [$c find overlapping [expr $cx-2] [expr $cy-2] [expr $cx+2] [expr $cy+2]]
+ #puts "stack:::: $stack"
+
+ #foreach tag $stack { puts "tags::: [$c gettags $tag]"}
foreach tag $stack {
set tags [$c gettags $tag]
***************
*** 2233,2237 ****
return [list "inlet" $id $val]
}
! return [list "object" $id]
}
#puts "skipped a $class"
--- 2234,2243 ----
return [list "inlet" $id $val]
}
! #if {$class != "Canvas"} { return [list "object" $id]}
! if {$class == "Canvas" && [$id gop]} {
! if {[llength $stack] == 1} { return [list "object" $id]}
! } else {
! return [list "object" $id]
! }
}
#puts "skipped a $class"
***************
*** 4558,4562 ****
foreach val $@data {
if {!$val} {set val 0.0}
! set y [expr (($val+abs($yfrom))/($yto-($yfrom)) * $pixheight) + $y_off]
set x1 [expr ($width * $i) + $x_off]
set x2 [expr $x1 + $width]
--- 4564,4568 ----
foreach val $@data {
if {!$val} {set val 0.0}
! set y [expr ($pixheight - (($val+abs($yfrom))/($yto-($yfrom)) * $pixheight)) + $y_off]
set x1 [expr ($width * $i) + $x_off]
set x2 [expr $x1 + $width]
***************
*** 4564,4568 ****
set c $@canvas
$@canvas item elem${i} line $line -fill [$@canvas look compfg] -width 2 \
! -tags "$@canvas ${c}elem${i}"
incr i
}
--- 4570,4574 ----
set c $@canvas
$@canvas item elem${i} line $line -fill [$@canvas look compfg] -width 2 \
! -tags "$self ${c}elem${i}"
incr i
}
***************
*** 4570,4586 ****
}
! def Array click {x y f target} {$@canvas focus= $self; set @draw 1}
! def Array unclick {x y f target} {$@canvas focus= ""; set @draw 0}
def Array motion {x y f target} {
if {!$@draw} return
! mset {c_width c_height} [$@canvas get_dimen]
! mset {xfrom yto xto yfrom pixwidth pixheight} [$@canvas get_mess]
! set width [expr $c_width / $@length]
! set i [format %d [expr int($x/$width)]]
! set x1 [expr $width * $i]
! set x2 [expr $x1 + $width]
! set line [list $x1 $y $x2 $y]
! set val [expr (($c_height-$y)/$c_height) * ($yto-($yfrom)) + ($yfrom)]
! pd .$self $i $val
}
def Array length= {val} {set @length $val}
--- 4576,4618 ----
}
! def Array click {x y f target} {
! if {[$@canvas mapped]} {
! $@canvas focus= $self
! } else {
! set canvas [$@canvas canvas]
! $canvas focus= $self
! }
! set @draw 1
! }
! def Array unclick {x y f target} {
! if {[$@canvas mapped]} {
! $@canvas focus= ""
! } else {
! set canvas [$@canvas canvas]
! $canvas focus= ""
! }
!
! set @draw 0
! }
def Array motion {x y f target} {
if {!$@draw} return
! if {[$@canvas mapped]} {
! mset {c_width c_height} [$@canvas get_dimen]
! mset {xfrom yto xto yfrom pixwidth pixheight} [$@canvas get_mess]
! set width [expr $c_width / $@length]
! set i [format %d [expr int($x/$width)]]
! set x1 [expr $width * $i]
! set x2 [expr $x1 + $width]
! set line [list $x1 $y $x2 $y]
! set val [expr (($c_height-$y)/$c_height) * ($yto-($yfrom)) + ($yfrom)]
! pd .$self $i $val
! } else {
! mset {xfrom yto xto yfrom pixwidth pixheight} [$@canvas get_mess]
! mset {x_off y_off} [$@canvas xy]
! set width [expr $pixwidth / $@length]
! set i [format %d [expr int(($x-$x_off)/$width)]]
! set val [expr (($pixheight-$y+$y_off)/$pixheight) * ($yto-($yfrom)) + ($yfrom)]
! pd .$self $i $val
! }
}
def Array length= {val} {set @length $val}
***************
*** 4592,4596 ****
lappend @data [lindex $data_list $i]
}
- puts " data set:::: $@data"
} else {
puts "error....."
--- 4624,4627 ----
More information about the Pd-cvs
mailing list