/usr/lib/blt2.4/dd_protocols/dd-file.tcl is in blt 2.4z-7ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 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"
}
|