Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2748
Modified Files:
Tag: devel_0_39
desire.tk
Log Message:
more wire fixes, conclusion: there has to be a better way to delete
wires....
Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.148
retrieving revision 1.1.2.149
diff -C2 -d -r1.1.2.148 -r1.1.2.149
*** desire.tk 8 Apr 2006 16:00:55 -0000 1.1.2.148
--- desire.tk 10 Apr 2006 22:23:06 -0000 1.1.2.149
***************
*** 1469,1473 ****
def canvas delete_selection {} {
! foreach obj $@selection {$obj erase}
# before obj is deleted, it will be selected, therefore
# $@obj_in_edit != {}, so don't forget to set it to {}.
--- 1469,1505 ----
def canvas delete_selection {} {
! global _
! set c .$self.c
! foreach obj $@selection {
! puts "wire to erase: $_($obj:wires)"
! foreach wire $_($obj:wires) {
! set find [lsearch $@wires_pair $wire]
! if { $find != -1} {
! ## remove the selected wire from the @wire_pair...
! set @wires_pair [lreplace $@wires_pair $find $find]
! set @wires_pair [lreplace $@wires_pair [expr $find - 1] [expr $find - 1]]
! }
!
! ## removes the wire from the $_($obj1:wires)
! set obj1 $_($wire:obj1)
! set find [lsearch $_($obj1:wires) $wire]
! if { $find != -1} {
! set _($obj1:wires) [lreplace $_($obj1:wires) $find $find]
! }
! ## removes the wire from the $_($obj2:wires)
! set obj2 $_($wire:obj2)
! set find [lsearch $_($obj2:wires) $wire]
! if { $find != -1} {
! set _($obj2:wires) [lreplace $_($obj2:wires) $find $find]
! }
!
! ## i don't know why wires are taged as 00000000WIRE...
! ## not sure why $x erase don't work, look later...
! $c delete ${wire}WIRE
! }
!
! $obj erase
!
! }
# before obj is deleted, it will be selected, therefore
# $@obj_in_edit != {}, so don't forget to set it to {}.
***************
*** 1477,1480 ****
--- 1509,1543 ----
}
+ def canvas delete_wire {} {
+ global _
+
+ set find [lsearch $@wires_pair $x]
+ if { $find != -1} {
+ #remove the selected wire from the @wire_pair...
+ set @wires_pair [lreplace $@wires_pair $find $find]
+ set @wires_pair [lreplace $@wires_pair [expr $find - 1] [expr $find - 1]]
+ }
+
+ # removes the wire from the $_($obj1:wires)
+ set obj1 $_($x:obj1)
+ set find [lsearch $_($obj1:wires) $x]
+ if { $find != -1} {
+ set _($obj1:wires) [lreplace $_($obj1:wires) $find $find]
+ }
+ # removes the wire from the $_($obj2:wires)
+ set obj2 $_($x:obj2)
+ set find [lsearch $_($obj2:wires) $x]
+ if { $find != -1} {
+ set _($obj2:wires) [lreplace $_($obj2:wires) $find $find]
+ }
+
+ # i don't know why wires are taged as 00000000WIRE...
+ # not sure why $x erase don't work, look later...
+ $c delete ${x}WIRE
+
+ }
+
+
+
proc distance {point1 point2} {
set off [l- $point1 $point2]
***************
*** 1882,1886 ****
def canvas key {x y key iso shift} {
! global OS
set c .$self.c
$self hide_tooltip
--- 1945,1949 ----
def canvas key {x y key iso shift} {
! global OS _
set c .$self.c
$self hide_tooltip
***************
*** 1903,1916 ****
if {[llength $@selection_wire] > 0} {
puts "delete this $self :: $@selection_wire"
! #puts "wires: $@wires_pair"
foreach x $@selection_wire {
! set find [lsearch $@wires_pair $x]
if { $find != -1} {
! #remove the selected wire from the @wire_pair...
set @wires_pair [lreplace $@wires_pair $find $find]
set @wires_pair [lreplace $@wires_pair [expr $find - 1] [expr $find - 1]]
}
# i don't know why wires are taged as 00000000WIRE...
$c delete ${x}WIRE
}
--- 1966,1995 ----
if {[llength $@selection_wire] > 0} {
puts "delete this $self :: $@selection_wire"
! puts "wires: $@wires_pair"
foreach x $@selection_wire {
!
! set find [lsearch $@wires_pair $x]
if { $find != -1} {
! # remove the selected wire from the @wire_pair...
set @wires_pair [lreplace $@wires_pair $find $find]
set @wires_pair [lreplace $@wires_pair [expr $find - 1] [expr $find - 1]]
}
+
+ # removes the wire from the $_($obj1:wires)
+ set obj1 $_($x:obj1)
+ set find [lsearch $_($obj1:wires) $x]
+ if { $find != -1} {
+ set _($obj1:wires) [lreplace $_($obj1:wires) $find $find]
+ }
+ # removes the wire from the $_($obj2:wires)
+ set obj2 $_($x:obj2)
+ set find [lsearch $_($obj2:wires) $x]
+ if { $find != -1} {
+ set _($obj2:wires) [lreplace $_($obj2:wires) $find $find]
+ }
+
# i don't know why wires are taged as 00000000WIRE...
+ # not sure why $x erase don't work, look later...
$c delete ${x}WIRE
}
***************
*** 2088,2091 ****
--- 2167,2183 ----
}
+ #def wire delete {} {
+ # set find [lsearch $_($@obj1:wires) $x]
+ # if { $find != -1} {
+ # set _($obj1:wires) [lreplace $_($obj1:wires) $find $find]
+ # }
+ # # removes the wire from the $_($obj2:wires)
+ # set obj2 $_($x:obj2)
+ # set find [lsearch $_($obj2:wires) $x]
+ # if { $find != -1} {
+ # set _($obj2:wires) [lreplace $_($obj2:wires) $find $find]
+ # }
+ #}
+
#-----------------------------------------------------------------------------------#
############ colouring