[PD-cvs] pd/src desire.tk,1.1.2.600.2.145,1.1.2.600.2.146
chunlee
chunlee at users.sourceforge.net
Sun Dec 31 01:35:30 CET 2006
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5012
Modified Files:
Tag: desiredata
desire.tk
Log Message:
simple subpatcherize
Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.600.2.145
retrieving revision 1.1.2.600.2.146
diff -C2 -d -r1.1.2.600.2.145 -r1.1.2.600.2.146
*** desire.tk 28 Dec 2006 15:46:24 -0000 1.1.2.600.2.145
--- desire.tk 31 Dec 2006 00:35:26 -0000 1.1.2.600.2.146
***************
*** 295,306 ****
#-----------------------------------------------------------------------------------#
#used during subpatcherize
! set subpatcherize(cut) 0
! set subpatcherize(insert) 0
set subpatcherize(paste) 0
- set subpatcherize(parent) 0
- set subpatcherize(sub) 0
- set subpatcherize(count) 0
- set subpatcherize(x) 0
- set subpatcherize(y) 0
#-----------------------------------------------------------------------------------#
# adapted from matju's MetaRuby (UndoQueue.rb)
--- 295,300 ----
#-----------------------------------------------------------------------------------#
#used during subpatcherize
! set subpatcherize(edit) 0
set subpatcherize(paste) 0
#-----------------------------------------------------------------------------------#
# adapted from matju's MetaRuby (UndoQueue.rb)
***************
*** 389,393 ****
set rbackup @redo_q; set @redo_q {}
set err [catch {uplevel 2 $code}]
! if {$err} {set err $errorInfo}
set atom $@undo_q
set @undo_q $ubackup
--- 383,387 ----
set rbackup @redo_q; set @redo_q {}
set err [catch {uplevel 2 $code}]
! if {$err} {set err $errorInfo; puts "errorinfo :::: $errorInfo"}
set atom $@undo_q
set @undo_q $ubackup
***************
*** 1297,1301 ****
class_new Canvas {Menuable ObjectBox}
!
def Canvas close {} {
if {$@subpatch} {
--- 1291,1295 ----
class_new Canvas {Menuable ObjectBox}
!
def Canvas close {} {
if {$@subpatch} {
***************
*** 2394,2401 ****
def Canvas havewindow= {flag} {
set was [winfo exists .$self]
if {$flag && $was && [$self gop]} {$self redraw}
if {$flag && $was} {$self raise}
! if {$flag && !$was} {$self init_window} ;#???
if {!$flag && $was} {$self delete_window} ;#???
}
--- 2388,2404 ----
def Canvas havewindow= {flag} {
+ global subpatcherize
set was [winfo exists .$self]
if {$flag && $was && [$self gop]} {$self redraw}
if {$flag && $was} {$self raise}
! if {$flag && !$was} {
! if {!$subpatcherize(paste) && !$subpatcherize(edit)} {
! $self init_window
! } else {
! if {$subpatcherize(paste)} {set subpatherize(paste) 0}
! if {$subpatcherize(edit)} {set subpatherize(edit) 0}
! }
!
! } ;#???
if {!$flag && $was} {$self delete_window} ;#???
}
***************
*** 2484,2499 ****
def Canvas delete_selection {} {
if {![llength $@selection] && ![llength $@selection_wire]} {return}
foreach obj $@selection {
! foreach wire $_($obj:wires2) {
! set find [lsearch $@wires $wire]
! if {$find != -1} {$self disconnect [$wire connects]}
! $wire delete
! }
! $self del [$self index $obj]
}
foreach x $@selection_wire {
! set find [lsearch $@wires $x]
! if {$find != -1} {$self disconnect [$x connects]}
! $x delete
}
# don't use $self selection= here, otherwise it might call changed on deleted stuff..
--- 2487,2510 ----
def Canvas delete_selection {} {
if {![llength $@selection] && ![llength $@selection_wire]} {return}
+ set del_wire {}
foreach obj $@selection {
! foreach wire $_($obj:wires2) {
! set find [lsearch $@wires $wire]
! set find2 [lsearch $del_wire $wire]
! if {$find != -1 && $find2 < 0} {
! $self disconnect [$wire connects]
! lappend del_wire $wire
! $wire delete
! }
! }
! $self del [$self index $obj]
}
foreach x $@selection_wire {
! set find [lsearch $@wires $x]
! set find2 [lsearch $del_wire $x]
! if {$find != -1 && $find2 < 0} {
! $self disconnect [$x connects]
! $x delete
! }
}
# don't use $self selection= here, otherwise it might call changed on deleted stuff..
***************
*** 2991,2995 ****
def Canvas visible_rect {} {
- global subpatcherize
set c [$self widget]
set height [winfo height $c]
--- 3002,3005 ----
***************
*** 3069,3077 ****
def Canvas do_paste {offset} {
- global paste subpatcherize
set in 0
$self deselect_all
netsend [list .$self "push"]
- set paste(state) $self
foreach mess [pd_mess_split [$::clipboard value]] {
set type [lindex $mess 1]
--- 3079,3085 ----
***************
*** 3278,3284 ****
}
def Canvas subpatcherize {} {
- global subpatcherize
- set subpatcherize(sub) 0
if {![llength $@selection]} {return}
set x 0; set y 0
--- 3286,3291 ----
}
+ def Canvas new_object_subpatcherize {subpatch} {$subpatch subpatcherize_paste}
def Canvas subpatcherize {} {
if {![llength $@selection]} {return}
set x 0; set y 0
***************
*** 3288,3297 ****
set y [expr $y + $y1]
}
! set subpatcherize(x) [expr $x / [llength $@selection]]
! set subpatcherize(y) [expr $y / [llength $@selection]]
! set subpatcherize(cut) 1
! set subpatcherize(parent) $self
! incr subpatcherize(count)
$self cut
}
--- 3295,3316 ----
set y [expr $y + $y1]
}
! set x [expr $x / [llength $@selection]]
! set y [expr $y / [llength $@selection]]
$self cut
+ netsend [list .$self "push"]
+ netsend [list #N canvas 0 0 450 300 sub 0] [list $self new_object_subpatcherize]
+ netsend [list #X restore $x $y pd sub]
+ netsend [list .$self "pop"]
+ }
+ def Canvas subpatcherize_paste {} {
+ global subpatcherize
+ set subpatcherize(paste) 1
+ set in 0
+ $self deselect_all
+ netsend [list .$self "push"]
+ foreach mess [pd_mess_split [$::clipboard value]] {netsend $mess}
+ netsend [list #X pop 1]
+ set subpatcherize(edit) 1
+ $self edit
}
***************
*** 4537,4545 ****
#A 0 0;
- #state is 0 when not pasting, its the canvas id if it is
- set paste(state) 0
- #set paste(count) 0
- #set paste(count2) 0
-
proc change {self canvas e {ninlets 0} {noutlets 0}} {
foreach mess [pd_mess_split $e] {change_2 $self $mess}
--- 4556,4559 ----
More information about the Pd-cvs
mailing list