# ---------------------------------------------------------------------- # 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 # # INPUTS # = interpreter for target application # = pathname for target drag&drop window # = 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 "blt_drag&drop target $ddwin handle file" }