Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv903
Modified Files:
Tag: desiredata
desire.tk
Log Message:
new feature: mouse click/drag copy
Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.600.2.263
retrieving revision 1.1.2.600.2.264
diff -C2 -d -r1.1.2.600.2.263 -r1.1.2.600.2.264
*** desire.tk 1 Aug 2007 19:56:20 -0000 1.1.2.600.2.263
--- desire.tk 2 Aug 2007 01:45:39 -0000 1.1.2.600.2.264
***************
*** 1994,1998 ****
if {$@keynav} {$self update_Active $obj}
}
! def Canvas new_object_select {obj} {$self selection+= $obj}
def Canvas new_wire_select {wire} {$self selection_wire+= $wire}
def Canvas new_object_edit {obj} {
--- 1994,2002 ----
if {$@keynav} {$self update_Active $obj}
}
! def Canvas new_object_copyselect {obj} {
! $self selection+= $obj
! #set @action "move"
! #$self click_on_object $obj 0
! }
def Canvas new_wire_select {wire} {$self selection_wire+= $wire}
def Canvas new_object_edit {obj} {
***************
*** 2815,2818 ****
--- 2819,2823 ----
chain_obj {}
imove {$self motion_imove $oldpos $x $y; return}
+ mouse_copy {$self motion_move $oldpos $x $y; return}
none {}
default {$@action motion $x $y $f $target}
***************
*** 3504,3508 ****
default {
if {$in} {set goto ""} else {
! netsend [$self paste_coords $mess $offset] [list $self new_object_select]
}
}
--- 3509,3514 ----
default {
if {$in} {set goto ""} else {
! netsend [$self paste_coords $mess $offset] \
! [list $self new_object_copyselect]
}
}
***************
*** 3540,3552 ****
def Canvas duplicate {} {
global clipboard
set backup $clipboard
set clipboard [Clipboard2 new]
$self copy
! $self do_paste 15
$clipboard delete
set clipboard $backup
}
def Canvas select_all {} {
foreach o $@children {$o selected?= 1}
--- 3546,3567 ----
def Canvas duplicate {} {
+ $self do_duplicate 15
+ }
+
+
+ def Canvas do_duplicate {offset} {
global clipboard
set backup $clipboard
set clipboard [Clipboard2 new]
$self copy
! $self do_paste $offset
$clipboard delete
set clipboard $backup
}
+ def Canvas mouse_copy {} {
+ $self do_duplicate 0
+ }
+
def Canvas select_all {} {
foreach o $@children {$o selected?= 1}
***************
*** 4023,4026 ****
--- 4038,4045 ----
if {!$@editmode} {$self click_runmode $id $x $y $f $target; return}
set in_selection [expr [lsearch $@selection $id]>=0]
+ switch $@action {
+ mouse_copy {$self move_selection}
+
+ }
switch $type {
outlet {}
***************
*** 4072,4075 ****
--- 4091,4095 ----
switch [expr $f&255] {
0 {
+ if {[$self action] == "mouse_copy"} {$self action= "none"; return}
# if $id is the content of GOP
if {[$id canvas] != $self} {
***************
*** 4077,4083 ****
} else {set obj $id}
if {[lsearch $@selection $obj] < 0 || [llength $@selection] == 0} {
! $self deselect_all
! $self selection+= $obj
! set @action edit
} else {set @action edit}
}
--- 4097,4103 ----
} else {set obj $id}
if {[lsearch $@selection $obj] < 0 || [llength $@selection] == 0} {
! $self deselect_all
! $self selection+= $obj
! set @action edit
} else {set @action edit}
}
***************
*** 4093,4097 ****
$self deselect_all
$self selection+= $id
! $self auto_wire
}
}
--- 4113,4130 ----
$self deselect_all
$self selection+= $id
! $self remove_obj_from_path
! }
! 3 {
! if {[$id canvas] != $self} {
! set obj [$id get_parent_gop $self]
! } else {set obj $id}
! if {![llength $@selection]} {$self selection+= $obj}
! if {[lsearch $@selection $obj] >= 0} {
! $self action= "mouse_copy"
! } else {
! $self deselect_all
! $self selection+= $obj
! $self action= "mouse_copy"
! }
}
}
***************
*** 4140,4143 ****
--- 4173,4177 ----
chain_obj {}
imove {}
+ mouse_copy {}
default {$@action unclick $x $y $f $target}
}
***************
*** 4172,4175 ****
--- 4206,4210 ----
insert {}
chain_obj {}
+ mouse_copy {$self mouse_copy}
imove {$self unclick_move}
default {$@action unclick $x $y $f $target}
***************
*** 4181,4184 ****
--- 4216,4224 ----
def Canvas unclick_move {} {
+ $self move_selection
+ set @action none
+ }
+
+ def Canvas move_selection {} {
foreach obj $@selection {
if {![[$obj class] <= Box]} {
***************
*** 4187,4196 ****
}
mset {x1 y1} [$obj xy]
! $obj position= [$obj backupxy]
$obj moveto $x1 $y1
if {[$obj edit?]} {focus [[$obj canvas] widget].${obj}text}
}
set objs $@selection
- set @action none
}
--- 4227,4238 ----
}
mset {x1 y1} [$obj xy]
! switch $@action {
! mouse_copy {}
! default {$obj position= [$obj backupxy]}
! }
$obj moveto $x1 $y1
if {[$obj edit?]} {focus [[$obj canvas] widget].${obj}text}
}
set objs $@selection
}