OSDN Git Service

mrcImageOpticalFlow & mrcImageLucasKanade & mrcImageHornSchunckの変更
[eos/base.git] / util / src / TclTk / blt2.5 / library / dd_protocols / dd-file.tcl
diff --git a/util/src/TclTk/blt2.5/library/dd_protocols/dd-file.tcl b/util/src/TclTk/blt2.5/library/dd_protocols/dd-file.tcl
new file mode 100644 (file)
index 0000000..d49c6f9
--- /dev/null
@@ -0,0 +1,53 @@
+# ----------------------------------------------------------------------
+#  PURPOSE:  drag&drop send routine for "file" data
+#
+#  Widgets that are to participate in drag&drop operations for
+#  "file" data should be registered as follows:
+#
+#      drag&drop .win source handler text dd_send_file
+#      drag&drop .win target handler text my_file_handler
+#
+#      proc my_file_handler {} {
+#          global DragDrop
+#
+#          set data $DragDrop(file)
+#            .
+#            .  do something with $data
+#            .
+#      }
+#
+#   AUTHOR:  Michael J. McLennan       Phone: (215)770-2842
+#            AT&T Bell Laboratories   E-mail: aluxpo!mmc@att.com
+#
+#     SCCS:  %W% (%G%)
+# ----------------------------------------------------------------------
+#            Copyright (c) 1993  AT&T  All Rights Reserved
+# ======================================================================
+
+# ----------------------------------------------------------------------
+# COMMAND: dd_send_file <interp> <ddwin> <data>
+#
+#   INPUTS
+#     <interp> = interpreter for target application
+#      <ddwin> = pathname for target drag&drop window
+#       <data> = data returned from -tokencmd
+#
+#   RETURNS
+#     ""
+#
+#   SIDE-EFFECTS
+#     Sends data to remote application DragDrop(file), and then
+#     invokes the "file" handler for the drag&drop target.
+# ----------------------------------------------------------------------
+proc dd_send_file {interp ddwin data} {
+       send $interp "
+               foreach file [list $data] {
+                       if {!\[file exists \$file\]} {
+                               error \"not a file: \$file\"
+                       }
+               }
+               global DragDrop
+               set DragDrop(file) [list $data]
+       "
+       send $interp "drag&drop target $ddwin handle file"
+}