MacPythonについてのページ(よ)>
Python(MyApp) で Mac アプリケーションを作る|目次

第17回 アプレットへのドロップ


このページの目次

まえがき
MyAppはアプレットにドロップ可能?
MyAppアプレットをテキストファイルのドロップで起動可能に
まとめ


まえがき

前回、MyApp.pyをアプレットにビルドしましたが、できたアプレットはMyApp.rsrcも取り込んでいます。XXXX.pyというスクリプトをBuildAppletにドロップすると、XXXX.pyと同じフォルダ内にXXXX.rsrcがあればXXXX.rsrcを取り込んでアプレットを作りますが、XXXX.rsrcがなければBuildAppletのリソースを加えます。

前回までのように、XXXX.rsrcでアバウトウィンドウ、オリジナルのアイコン、'kind'情報を作ることができます。できたアプレットは『SpeakApp初期設定』ファイルのドロップで起動できますが、それ以外のファイルのドロップによる起動はできません。XXXX.rsrcなしに作成したBuildAppletで作ったアプレットのアイコンアプレットは、テキストファイルをアプレットにドロップして起動することができます。ここではMyApp.py、MyApp.rsrcで作ったアプレットをファイルのドロップ可能にする方法を書きます。

MyAppはアプレットにドロップ可能?

MyApp.pyをアプレットにビルドしてみます。

前回までのspeak13.sit.bin(約 30k)のものを使います。

「Speak13」フォルダの中のMyApp.pyを、MacPython付属の『BuildApplet』(または『BuildApplication』でも結果は同じです)にドロップして、アプレットにしてみます。すると、以下のような(カエル?ヘビ?)アイコンのアプレットが作られます。

MyApp.rsrcの中でクリエータを 'XXXX' にしていますので、他に 'XXXX' のクリエータのものがないことを確認してからビルドした方がいいです。ファインダのファイル検索で『「クリエータ」が「XXXX」の項目』を検索して、ないことを確認してください。
フォルダ内のMyAppアプレット

ここでできたMyAppアプレットは「SpeakApp初期設定」ファイルをダブルクリックしたり、「SpeakApp初期設定」ファイルをMyAppアプレットへドロップすることで起動できます。これはMyAppアプレットの'BNDL'、'FREF'リソースが設定されているからです。

しかし、XXXX.rsrcのようなリソースが同じフォルダにないXXXX.pyをBuildAppletにドロップしてアプレットを作ると、BuildAppletで作ったアプレットのアイコンのアイコンになります。

このアプレットにはテキストファイル、フォルダなどをドロップして起動することができます。これでできたアプレットには'BNDL'、'FREF'に「TEXT」「fold」が設定されているからです。

そこで、MyAppアプレットもテキストファイルのドロップで起動可能にしてみます。

MyAppアプレットをテキストファイルのドロップで起動可能に

MyApp.rsrcをResEditで開いて「BNDL」をダブルクリックして開きます。ID128の行をダブルクリックします。すると以下のウィンドウが開きます。

MyApp.rsrcのBNDL128

「Resource」メニューから「Create New File Type」を選びます。ウィンドウ内の最下行に新たに「????」のタイプが作られるので、「????」を「TEXT」にします。「FREF」のTEXTタイプは自動的に作られます。

TEXTタイプを作った

保存してResEditを終了します。これでもう一度MyApp.pyをBuildAppletにドロップしてアプレットを作ると、できたアプレットはテキストファイルのドロップで起動できます。

でも、MyApp.pyにはsys.argvを使ってドロップされたファイルに対する処理がありませんので、ドロップされたファイルに対する処理は何もしません。sys.argv[1:]なんかでドロップされたファイルに対する処理を書くといいかもしれません。

また、「TEXT」の代わりに「fold」を設定するとフォルダのドロップで起動できます。

わたしのページにあるLightOutPutWinはアプレットにすると、Pythonスクリプトのテキストファイルをドロップで起動し、そのファイルを実行してprintの結果を表示します。MyApp.py、MyApp.rsrc、MacPython IDEのPyConsole.pyを使っています。

XXXX.rsrcなしに作ったアプレットBuildAppletで作ったアプレットのアイコンをResEditで開いてみると、「Pyth」には「shlb」「PYC 」、アプレットの「Pyta」には「APPL」はもちろん、「TEXT」「fold」「****」が設定されています。

まとめ

以上の結果をまとめた speak14.sit.bin(約 30k)を作りました。

何か誤りやご質問、お気付きの点、ご意見やご不満などございましたら、メールで、もしくはMacPython BBS(よ)へ書き込んでいただければ幸いです。


<▲このページのTOPへ>
戻る
Python(MyApp) で Mac アプリケーションを作る|目次
MacPythonのページ(よ)トップへ

by ©Hioryuki Yoshimura, 2004.
Last modified at 2004/2/2