Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3981
Modified Files: Tag: desiredata desire.tk Log Message: fix object insert/chain
Index: desire.tk =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v retrieving revision 1.1.2.600.2.119 retrieving revision 1.1.2.600.2.120 diff -C2 -d -r1.1.2.600.2.119 -r1.1.2.600.2.120 *** desire.tk 19 Dec 2006 21:50:52 -0000 1.1.2.600.2.119 --- desire.tk 19 Dec 2006 21:59:13 -0000 1.1.2.600.2.120 *************** *** 1871,1896 **** }
- def Canvas new_object_insert {canvas obj} { - # if {[lsearch $@children $obj] < 0} { - # set future($self) [list $self new_object_insert $self $obj]; return - # } - set wire [$self selection_wire] - mset {obj1 outlet obj2 inlet} [$wire report] - $self disconnect [$wire connects] - set obj1_idx [$self children_idx $obj1] - set obj2_idx [$self children_idx $obj2] - set obj3_idx [$self children_idx $obj] - $self connect [list $obj1_idx $outlet $obj3_idx 0] - $self connect [list $obj3_idx 0 $obj2_idx $inlet] - $self action= none - # if {[$@canvas action] == "chain_obj"} { - # set obj1_idx [$@canvas children_idx [lindex [$@canvas selection] 0]] - # set obj2_idx [$@canvas children_idx $self] - # $@canvas connect [list $obj1_idx 0 $obj2_idx 0] - # $@canvas deselect_all - # $@canvas action= none - # after 100 $@canvas selection2= $obj2_idx - # } - }
def Canvas insertxy {} {return [list $@insert_x $@insert_y]} --- 1871,1874 ---- *************** *** 1931,1939 **** }
def Canvas chain_object {} { if {[llength $@selection] == 1} { mset {x1 y1 x2 y2} [$@selection bbox] # this should use callback... ! netsend [list .$self obj $x1 [expr $y2 + 10]] set @action chain_obj } else { --- 1909,1930 ---- }
+ def Canvas new_object_insert_wire {obj} { + set wire [$self selection_wire] + $wire selected?= 0 + mset {obj1 outlet obj2 inlet} [$wire report] + $self disconnect [$wire connects] + set obj1_idx [$self children_idx $obj1] + set obj2_idx [$self children_idx $obj2] + set obj3_idx [$self children_idx $obj] + $self connect [list $obj1_idx $outlet $obj3_idx 0] + $self connect [list $obj3_idx 0 $obj2_idx $inlet] + $self action= none + } + def Canvas chain_object {} { if {[llength $@selection] == 1} { mset {x1 y1 x2 y2} [$@selection bbox] # this should use callback... ! netsend [list .$self obj $x1 [expr $y2 + 10]] [list $self new_object_edit] set @action chain_obj } else { *************** *** 1941,1944 **** --- 1932,1943 ---- } } + def Canvas new_object_chain_wire {obj} { + set obj1_idx [$self children_idx [lindex [$self selection] 0]] + $self deselect_all + set obj2_idx [$self children_idx $obj] + $self connect [list $obj1_idx 0 $obj2_idx 0] + $self action= none + $self selection= $obj + }
def Canvas Object {} {$self new_object obj} *************** *** 2266,2274 **** foreach o $@selection {$o selected?= 1} } - def Canvas selection2= {idx} { - foreach o $@selection {$o selected?= 0} - set @selection [lindex $@children $idx] - foreach o $@selection {$o selected?= 1} - } def Canvas selection+= {objs} { foreach o $objs {switch $_($o:_class) {Wire {error "selection error"}}} --- 2265,2268 ---- *************** *** 2329,2357 **** $@canvas selection-= [list $self] switch [$@canvas action] { ! insert {set goto [list $@canvas new_object_insert $@canvas]} ! chain_obj {set goto [list $@canvas new_object_insert]} default {set goto [list $@canvas new_object_callback]} } netsend [list .$@canvas text_setto $self $l] $goto - # netsend [list .$@canvas text_setto $self $l] [list $@canvas new_object_callback] - # if {[$@canvas action] == "insert"} { - # set wire [$@canvas selection_wire] - # mset {obj1 outlet obj2 inlet} [$wire report] - # $@canvas disconnect [$wire connects] - # set obj1_idx [$@canvas children_idx $obj1] - # set obj2_idx [$@canvas children_idx $obj2] - # set obj3_idx [$@canvas children_idx $self] - # $@canvas connect [list $obj1_idx $outlet $obj3_idx 0] - # $@canvas connect [list $obj3_idx 0 $obj2_idx $inlet] - # $@canvas action= none - # } - # if {[$@canvas action] == "chain_obj"} { - # set obj1_idx [$@canvas children_idx [lindex [$@canvas selection] 0]] - # set obj2_idx [$@canvas children_idx $self] - # $@canvas connect [list $obj1_idx 0 $obj2_idx 0] - # $@canvas deselect_all - # $@canvas action= none - # after 100 $@canvas selection2= $obj2_idx - # } }
--- 2323,2331 ---- $@canvas selection-= [list $self] switch [$@canvas action] { ! insert {set goto [list $@canvas new_object_insert_wire]} ! chain_obj {set goto [list $@canvas new_object_chain_wire]} default {set goto [list $@canvas new_object_callback]} } netsend [list .$@canvas text_setto $self $l] $goto }
*************** *** 2647,2651 **** if {$type == "wire"} { mset {obj1 outlet obj2 inlet} [$id report] ! $self disconnect [$wire connects] set obj1_idx [$self children_idx $obj1] set obj2_idx [$self children_idx $obj2] --- 2621,2625 ---- if {$type == "wire"} { mset {obj1 outlet obj2 inlet} [$id report] ! $self disconnect [$id connects] set obj1_idx [$self children_idx $obj1] set obj2_idx [$self children_idx $obj2]