Initial minimal test program: print information on anything dropped onto Python

window.
This commit is contained in:
Jack Jansen 1999-06-21 16:19:43 +00:00
parent 58b2eacf6b
commit 1de2a92791
1 changed files with 43 additions and 0 deletions

43
Mac/Lib/test/dragtest.py Normal file
View File

@ -0,0 +1,43 @@
import Drag
import time
xxxx=1
def decode_hfs(data):
import struct, macfs
tp = data[0:4]
cr = data[4:8]
flags = struct.unpack("h", data[8:10])
fss = macfs.RawFSSpec(data[10:])
return tp, cr, flags, fss
def tracker(msg, dragref, window):
pass
def dropper(dragref, window):
global xxxx
n = dragref.CountDragItems()
print 'Drop %d items:'%n
for i in range(1, n+1):
refnum = dragref.GetDragItemReferenceNumber(i)
print '%d (ItemReference 0x%x)'%(i, refnum)
nf = dragref.CountDragItemFlavors(refnum)
print ' %d flavors:'%nf
for j in range(1, nf+1):
ftype = dragref.GetFlavorType(refnum, j)
fflags = dragref.GetFlavorFlags(refnum, ftype)
print ' "%4.4s" 0x%x'%(ftype, fflags)
if ftype == 'hfs ':
datasize = dragref.GetFlavorDataSize(refnum, ftype)
data = dragref.GetFlavorData(refnum, ftype, datasize, 0)
print ' datasize', `data`
xxxx = data
print ' ->', decode_hfs(data)
def main():
print "Drag things onto output window. Press command-. to quit."
Drag.InstallTrackingHandler(tracker)
Drag.InstallReceiveHandler(dropper)
while 1:
time.sleep(100)
main()