Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23596
Modified Files: Tag: devel_0_39 desire.tk Log Message: copy/paste mostly working, need more test.
Index: desire.tk =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v retrieving revision 1.1.2.222 retrieving revision 1.1.2.223 diff -C2 -d -r1.1.2.222 -r1.1.2.223 *** desire.tk 10 Jun 2006 19:13:50 -0000 1.1.2.222 --- desire.tk 11 Jun 2006 09:23:14 -0000 1.1.2.223 *************** *** 1418,1422 **** class_new TextBox {Box}
! def TextBox draw {} { # TEXT = the text label # text = the input text field --- 1418,1422 ---- class_new TextBox {Box}
! def* TextBox draw {} { # TEXT = the text label # text = the input text field *************** *** 1556,1560 **** }
! def ObjectBox draw {} { $self update_size set xs $@xs --- 1556,1560 ---- }
! def* ObjectBox draw {} { $self update_size set xs $@xs *************** *** 1695,1699 **** if {$canvas(copy)} { lappend @selection_wire $x; $x selected?= 1 ! if {$i == $born_num} {set canvas(copy) 0} } } --- 1695,1702 ---- if {$canvas(copy)} { lappend @selection_wire $x; $x selected?= 1 ! if {$i == $born_num} { ! set canvas(copy) 0 ! set canvas(orig_cpcanvas) $self ! } } } *************** *** 1986,1991 **** --- 1989,1996 ---- global canvas if {$@selection != ""} { + set canvas(orig_cpcanvas) $self set canvas(copy_obj) $@selection set canvas(copy_wire) $@selection_wire + set canvas(copy_times) 0 puts "objects to copy::: $canvas(copy_obj)" puts "wires to copy::: $canvas(copy_wire)" *************** *** 1995,2016 ****
def* Canvas paste {} { set windowx [winfo width .$self.c] set windowy [winfo height .$self.c] ! mset {x1off x2off } [lindex [.$self.c xview]] ! mset {y1off y2off } [lindex [.$self.c yview]] set offx [expr ($windowx * $x1off) / [expr $x2off - $x1off]] set offy [expr ($windowy * $y1off) / [expr $y2off - $y1off]] ! puts "window size:: $windowx $windowy" ! puts "canvas size:: [.$self.c cget -width] [.$self.c cget -height]" ! puts "canvas view:: [.$self.c xview] [.$self.c yview]" ! puts "canvas 0ff:: $offx $offy" ! global canvas _ ! set @selection "" set canvas(copied_obj) "" foreach item $canvas(copy_obj) { mset {x1 y1} [$item xy] ! puts "$item ::: $x1 $y1" ! if {$x1 < $offx | $x1 > [expr $offx+$windowx]} {set x1 [expr $x1 + $offx]} ! if {$y1 < $offx | $y1 > [expr $offx+$windowy]} {set y1 [expr $y1 + $offy]} if {$_($item:_class) == "Objectbox"} { set name $_($item:text) } else { --- 2000,2042 ----
def* Canvas paste {} { + global canvas _ + puts "***************************************" set windowx [winfo width .$self.c] set windowy [winfo height .$self.c] ! mset {x1off x2off } [.$self.c xview] ! mset {y1off y2off } [.$self.c yview] set offx [expr ($windowx * $x1off) / [expr $x2off - $x1off]] set offy [expr ($windowy * $y1off) / [expr $y2off - $y1off]] ! $self deselect_all set canvas(copied_obj) "" + if {$canvas(orig_cpcanvas) != $self} { set canvas(copy_times) 0 } else {incr canvas(copy_times)} + set notvisiblex 0 + set notvisibley 0 + set n 0 + foreach item $canvas(copy_obj) { mset {x1 y1} [$item xy] ! if {$x1 < $offx | $x1 > [expr $offx+$windowx]} {set notvisiblex 1} ! if {$y1 < $offx | $y1 > [expr $offx+$windowy]} {set notvisibley 1} ! if {$notvisiblex && $notvisibley} {incr n} ! } ! ! foreach item $canvas(copy_obj) { ! mset {x1 y1} [$item xy] ! if {$canvas(orig_cpcanvas) != $self} { ! if {$n == [llength $canvas(copy_obj)]} { ! set x1 [expr $x1 + $offx +($canvas(copy_times)*15)] ! set y1 [expr $y1 + $offy +($canvas(copy_times)*15)] ! } ! ! } else { ! if {$n == [llength $canvas(copy_obj)]} { ! set x1 [expr $x1 + $offx +($canvas(copy_times)*15)] ! set y1 [expr $y1 + $offy +($canvas(copy_times)*15)] ! } else { ! set x1 [expr $x1+($canvas(copy_times)*15)] ! set y1 [expr $y1+($canvas(copy_times)*15)] ! } ! } if {$_($item:_class) == "Objectbox"} { set name $_($item:text) } else { *************** *** 2039,2042 **** --- 2065,2070 ---- #$wire selected?= 0 } + #puts "selection:::::::: $_($canvas(current):selection)" + #set canvas(copy_obj) $_($canvas(current):selection) #clean up foreach obj $canvas(copy_obj) {set _($obj:duplicate) 0} *************** *** 2656,2661 **** set class [lindex $d $i] switch -- $class { ! #canvas {set class $class; set canvas(current) $x} ! canvas {set class $class} obj {set i 4; set class [lindex $d 4]} } --- 2684,2689 ---- set class [lindex $d $i] switch -- $class { ! canvas {set class $class; set canvas(current) $x} ! #canvas {set class $class} obj {set i 4; set class [lindex $d 4]} } *************** *** 2663,2669 **** if {![info exists _($x:_class)]} { # new object - if {[info exists classinfo($class)]} { set _($x:_class) [lindex $classinfo($class) 0] } { post BLEH --- 2691,2704 ---- if {![info exists _($x:_class)]} { # new object if {[info exists classinfo($class)]} { set _($x:_class) [lindex $classinfo($class) 0] + if {$_($x:_class) == "Canvas" && [llength $d] > 7} { + puts "------------- sub-patch -------------" + #set obj ${x}_obj + #puts "calling it $obj" + #ObjectBox new_as $obj + #set _($obj:text) [lindex $d 5] + #$obj draw + } } { post BLEH *************** *** 2710,2714 **** lappend _($canvas(current):selection) $x lappend canvas(copied_obj) $x ! if {[llength $canvas(copy_obj)] == [llength $canvas(copied_obj)]} {$canvas(current) paste_wires} } } --- 2745,2751 ---- lappend _($canvas(current):selection) $x lappend canvas(copied_obj) $x ! if {[llength $canvas(copy_obj)] == [llength $canvas(copied_obj)]} { ! $canvas(current) paste_wires ! } } } *************** *** 2873,2877 **** #class_new BlueBox {Box Labeled}
! def BlueBox draw {} { global look super --- 2910,2914 ---- #class_new BlueBox {Box Labeled}
! def* BlueBox draw {} { global look super