[PD-cvs] pd/src desire.tk,1.1.2.125,1.1.2.126
Mathieu Bouchard
matju at users.sourceforge.net
Wed Nov 23 17:48:53 CET 2005
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20576
Modified Files:
Tag: devel_0_39
desire.tk
Log Message:
added def canvas wires=
Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.125
retrieving revision 1.1.2.126
diff -C2 -d -r1.1.2.125 -r1.1.2.126
*** desire.tk 17 Nov 2005 18:52:43 -0000 1.1.2.125
--- desire.tk 23 Nov 2005 16:48:51 -0000 1.1.2.126
***************
*** 36,39 ****
--- 36,46 ----
}
+ proc lwithout {a b} {
+ set r {}
+ foreach x $b {set c($x) {}}
+ foreach x $a {if {![info exists c($x)]} {lappend r $x}}
+ return $r
+ }
+
#-----------------------------------------------------------------------------------#
# Observer pattern
***************
*** 888,899 ****
def* canvas ninlets= {n} {}
def* canvas noutlets= {n} {}
- #how can canvas_wires= know which list in $n is new?
- #i mean, new connection does not seem to be added to the end or the beginning
- #of $n, but ordered according the the wire_from order id
- def* canvas wires= {n} {}
- #so, maybe like this would work?
- def* canvas wires_new {whoout outno whoin inno} {
- wire_new $@children $whoout $outno $whoin $inno
- }
def canvas focus {} {return $@focus}
--- 895,898 ----
***************
*** 961,965 ****
def canvas new_menubar {editable} {
set name .$self
! global pd_opendir pd_tearoff OS cmdline canvasmenu _
set m $name.m
menu $m
--- 960,964 ----
def canvas new_menubar {editable} {
set name .$self
! global pd_opendir pd_tearoff OS cmdline canvasmenu
set m $name.m
menu $m
***************
*** 1320,1336 ****
#def* canvas del {i} {lset @children $i ""}
- proc lwithout {a b} {
- set r {}
- foreach x $b {set c($x) {}}
- foreach x $a {if {![info exists c($x)]} {lappend r $x}}
- return $r
- }
-
def* canvas children= {children} {
# think of the children!!!
! set born [lwithout $children $@children]; post %s "BORN: $born"
! set dead [lwithout $@children $children]; post %s "DEAD: $dead"
! foreach x $born {$x subscribe $self; $x changed; $x canvas= $self}
! foreach x $dead {$x unsubscribe $self; $x erase}
set @children $children
$self changed
--- 1319,1326 ----
#def* canvas del {i} {lset @children $i ""}
def* canvas children= {children} {
# think of the children!!!
! set born [lwithout $children $@children]; foreach x $born {$x subscribe $self; $x changed; $x canvas= $self}
! set dead [lwithout $@children $children]; foreach x $dead {$x unsubscribe $self; $x erase}
set @children $children
$self changed
***************
*** 1350,1353 ****
--- 1340,1364 ----
}
+ def* canvas wires= {wires2} {
+ set wires {}
+ set born [lwithout $wires $@wires]; foreach x $born {$x subscribe $self; $x changed; $x canvas= $self}
+ set dead [lwithout $@wires $wires]; foreach x $dead {$x unsubscribe $self; $x erase}
+ set @wires $wires
+ foreach x $wires2 {
+ if {[llength $x]==4} {
+ lappend wires [eval [concat [list wire_new $self] $x]]
+ } {
+ lappend wires $x
+ }
+ }
+ $self changed
+ }
+
+ def* canvas wires_new {whoout outno whoin inno} {
+ # post %s BOO
+ }
+
+ def* canvas wires {} {return $@wires}
+
def canvas delete_selection {} {
foreach obj $@selection {$obj erase}
More information about the Pd-cvs
mailing list