1 from Carbon
import Drag
8 flags
= struct
.unpack("h", data
[8:10])
9 fss
= macfs
.RawFSSpec(data
[10:])
10 return tp
, cr
, flags
, fss
12 def tracker(msg
, dragref
, window
):
15 def dropper(dragref
, window
):
17 n
= dragref
.CountDragItems()
18 print 'Drop %d items:'%n
19 for i
in range(1, n
+1):
20 refnum
= dragref
.GetDragItemReferenceNumber(i
)
21 print '%d (ItemReference 0x%x)'%(i
, refnum
)
22 nf
= dragref
.CountDragItemFlavors(refnum
)
23 print ' %d flavors:'%nf
24 for j
in range(1, nf
+1):
25 ftype
= dragref
.GetFlavorType(refnum
, j
)
26 fflags
= dragref
.GetFlavorFlags(refnum
, ftype
)
27 print ' "%4.4s" 0x%x'%(ftype
, fflags
)
29 datasize
= dragref
.GetFlavorDataSize(refnum
, ftype
)
30 data
= dragref
.GetFlavorData(refnum
, ftype
, datasize
, 0)
31 print ' datasize', `data`
33 print ' ->', decode_hfs(data
)
37 print "Drag things onto output window. Press command-. to quit."
38 Drag
.InstallTrackingHandler(tracker
)
39 Drag
.InstallReceiveHandler(dropper
)