From 66c7a05ffae88f4ccbc81418b7d22f3ba19bc389 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Sun, 25 Nov 2012 05:08:24 +0000 Subject: first working sketches of new Drag-n-Drop behaviors with tkdnd svn path=/trunk/scripts/guiplugins/dropsuite-plugin/; revision=16580 --- text-onto-patch-plugin.tcl | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 text-onto-patch-plugin.tcl (limited to 'text-onto-patch-plugin.tcl') diff --git a/text-onto-patch-plugin.tcl b/text-onto-patch-plugin.tcl new file mode 100644 index 0000000..87df89b --- /dev/null +++ b/text-onto-patch-plugin.tcl @@ -0,0 +1,37 @@ +package require tkdnd + +namespace eval ::text_on_patch { + variable x 0 + variable y 0 +} + +#------------------------------------------------------------------------------# +# create an object using the dropped filename + +bind PatchWindow <> {+::text_on_patch::bind_to_dropped_text %W} + +proc ::text_on_patch::bind_to_dropped_text {mytoplevel} { + ::tkdnd::drop_target register $mytoplevel DND_Text + bind $mytoplevel <> {::text_on_patch::setxy %X %Y} + bind $mytoplevel <> {::text_on_patch::make_comments %W %D} + # TODO bind to DropEnter and DropLeave to make window visually show whether it will accept the drop or not +} + +proc ::text_on_patch::setxy {newx newy} { + variable x $newx + variable y $newy + return "copy" +} + +proc ::text_on_patch::make_comments {mytoplevel text} { + variable x + variable y + pdwindow::error "::text_on_patch::make_comments $mytoplevel text $x $y" + foreach line [split [regsub {\\\;} $text {}] "\n"] { + if {$line ne ""} { + pdsend "$mytoplevel text $x $y $line" + set y [expr $y + 20] + } + } + return "copy" +} -- cgit v1.2.1