次は選択範囲をコピー&ペーストできるようにする。どんなデータ型をペーストボードへ入れるべきか?他のアプリを調べてみよう。他のアプリでコピーした内容を表示する簡単なアプリを作ってみた。
ソース:PasteType.zip
コードはこれだけ。ペーストボード内のデータ型一覧をテキストビューへ表示する。
AppController.m
-(IBAction)paste:(id)sender
{
NSPasteboard *pb = [NSPasteboard generalPasteboard];
[_text insertText:[[pb types] description]];
[_text insertText:@"\n"];
}
まずはプレビューから。
プレビュー
(
"public.tiff",
"NeXT TIFF v4.0 pasteboard type",
"dyn.agu8yww4xqz0gn25yrf106wpsq31u",
IKSelectionInfo,
"com.apple.pict",
"Apple PICT pasteboard type"
)
TIFF と PICT、それに珍しいものとして IKSelectionInfo というのがある。ImageKit に関係するものだろうか。
次にエクセル。PICTを除きオリジナルのものが多いようだ。
Excel
(
"dyn.agk8yky4mk6",a
"CorePasteboardFlavorType 0x44534947",
"dyn.agk8y4znwk2",
"CorePasteboardFlavorType 0x4D555246",
"dyn.agk8yny4unq",
"CorePasteboardFlavorType 0x45535053",
"com.apple.pict",
"Apple PICT pasteboard type",
"dyn.agk8y8vwxkq",
"CorePasteboardFlavorType 0x4F465343"
)
サファリは画像だけでなく URLや文字列もペーストボードに入れている。画像だけ見るとやはり TIFFとPICT。
Safari
(
"public.tiff",
"NeXT TIFF v4.0 pasteboard type",
"dyn.agu8zs3pcnzme2641rf4guzdmsv0gn64uqm10c6xenv61a3k",
WebURLsWithTitlesPboardType,
"dyn.agu8yc6durvwwaznwmuuha2pxsvw0e55bsmwca7d3sbwu",
"Apple URL pasteboard type",
"public.url",
"CorePasteboardFlavorType 0x75726C20",
"public.url-name",
"CorePasteboardFlavorType 0x75726C6E",
"public.utf8-plain-text",
NSStringPboardType,
"com.apple.flat-rtfd",
"NeXT RTFD pasteboard type",
"dyn.agu8y63n2nuuha5dbrf1ca2pxqry0wkduqf31k3pcr7u1e3basv61a3k",
"NeXT plain ascii pasteboard type",
"com.apple.pict",
"Apple PICT pasteboard type"
)
FireFoxは PICTだけ。
Firefox
(
"com.apple.pict",
"Apple PICT pasteboard type",
"dyn.agk8y4x44ry",
"CorePasteboardFlavorType 0x4D4F5A6D"
)
グラブも TIFFとPICT。
グラブ
(
"public.tiff",
"NeXT TIFF v4.0 pasteboard type",
"com.apple.pict",
"Apple PICT pasteboard type"
)
- - - - -
概ね TIFFとPICTを用意すればよさそうだ。次回以降、選択範囲のコピーを実装していく。