ページ

2008年1月5日土曜日

ドラッグ&ドロップのデータタイプ

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

NSPersistentDocumentを使いパッケージが作成できることが分かった。次にパッケージ内に画像ファイルを保存する。Safariなど他のソフトからドラッグ&ドロップされた画像ファイルを取り扱うことを考えているので、できれば元々の画像形式のままパッケージ内にファイルを格納したい。どういう形式で受け取って、どういう方法で保存するか。まずパッケージ格納へいく前にまずは他のソフトからドラッグ&ドロップで受け取れるデータ形式を調べることにする。

簡単な調査用プログラムを用意した。
DandD.zip



このソフトを使って Safariから画像をドラッグ&ドロップしてみた。
(MacOSX 10.5で確認)


Apple files promise pasteboard type
Apple PICT pasteboard type
Apple URL pasteboard type
Apple Web Archive pasteboard type
com.apple.flat-rtfd
com.apple.pasteboard.promised-file-content-type
com.apple.pasteboard.promised-file-url
com.apple.pict
com.apple.webarchive
CorePasteboardFlavorType 0x75726C20
CorePasteboardFlavorType 0x75726C6E
dyn.agu8y63n2nuuha5dbrf1ca2pxqry0wkduqf31k3pcr7u1e3basv61a3k
dyn.agu8y6y4usm1044pxqzb085xyqz1hk64uqm10c6xenv61a3k
dyn.agu8yc6durvwwa3xmrvw1gkdusm1044pxqyuha2pxsvw0e55bsmwca7d3sbwu
dyn.agu8yc6durvwwaznwmuuha2pxsvw0e55bsmwca7d3sbwu
dyn.agu8zs3pcnzme2641rf4guzdmsv0gn64uqm10c6xenv61a3k
NeXT plain ascii pasteboard type
NeXT RTFD pasteboard type
NeXT TIFF v4.0 pasteboard type
NSPromiseContentsPboardType
NSStringPboardType
public.tiff
public.url
public.url-name
public.utf8-plain-text
WebURLsWithTitlesPboardType


safari(3.0) は実に多くの形式を用意してくれる。

次に FireFox2.0。

Apple files promise pasteboard type
Apple PICT pasteboard type
Apple URL pasteboard type
AppleCoreDragItemBounds
com.apple.pasteboard.promised-file-url
com.apple.pict
com.apple.traditional-mac-plain-text
CorePasteboardFlavorType 0x4D4F5A6D
CorePasteboardFlavorType 0x4D5A0000
CorePasteboardFlavorType 0x4D5A0001
CorePasteboardFlavorType 0x4D5A0002
CorePasteboardFlavorType 0x4D5A0003
CorePasteboardFlavorType 0x4D5A0004
CorePasteboardFlavorType 0x4D5A0005
CorePasteboardFlavorType 0x54455854
CorePasteboardFlavorType 0x66737350
CorePasteboardFlavorType 0x70686673
CorePasteboardFlavorType 0x7374796C
CorePasteboardFlavorType 0x75726C20
CorePasteboardFlavorType 0x75726C64
CorePasteboardFlavorType 0x75747874
dyn.agk80q65xna
dyn.agk81a4dgsq
dyn.agk81g7d3ru
dyn.agk81n6xqqu
dyn.agk8y40w6aaau
dyn.agk8y40w6aaba
dyn.agk8y40w6aabu
dyn.agk8y40w6aaca
dyn.agk8y40w6aacu
dyn.agk8y40w6absaa
dyn.agk8y4x44ry
NeXT Rich Text Format v1.0 pasteboard type
NSPromiseContentsPboardType
NSStringPboardType
public.url
public.utf16-plain-text

よく分からない形式が多い。


次にFinderから画像ファイルを渡してみる。


Apple URL pasteboard type
AppleCoreDragItemBounds
CorePasteboardFlavorType 0x626E6368
CorePasteboardFlavorType 0x6675726C
CorePasteboardFlavorType 0x6F726769
CorePasteboardFlavorType 0x73646C74
CorePasteboardFlavorType 0xC4697475
CorePasteboardFlavorType 0xC46C6E6B
CorePasteboardFlavorType 0xC4706431
dyn.agk8086xhre
dyn.agk80e5xdra
dyn.agk81g3dqsu
dyn.agk86rexmsv4u
dyn.agk86rexqr3zu
dyn.agk86rexuqu2u
NSFilenamesPboardType
public.file-url