まえがき
アイコン
アプレットのアイコン
書類の種類
書類のアイコンも作る
おまけ:書類の種類 'kind' -MPWを使う
まとめ
もう書けるようなことはないのですが、Mac独自のこととして、クリエータとか、ファイルタイプ、アイコンなどについて書いておきます。
MyApp.pyをアプレットにビルドしてみます。
前回までのspeak12.sit.bin(約 30k)のものを使います。
Speak12フォルダの中のMyApp.pyを、MacPython付属の『BuildApplet』(または『BuildApplication』でも結果は同じです)にドロップして、アプレットにしてみます。すると、以下のような(カエル?ヘビ?)アイコンのアプレットが作られます。
MyApp.rsrcの中でクリエータを 'XXXX' にしていますので、他に 'XXXX' のクリエータのものがないことを確認してからビルドした方がいいです。ファインダのファイル検索で『「クリエータ」が「XXXX」の項目』を検索して、ないことを確認してください。
BuildAppletでアプレットを作ると、のアイコンになります。MyApp.pyをビルドして先程のアイコンになったのは、ビルドしたPythonファイル『XXXX.py』(ここでは『MyApp.py』)と同じフォルダ内に『XXXX.rsrc』(ここでは『MyApp.rsrc』)があるからです。この場合、BuildAppletは、XXXX.rsrcをアプレットに取り込むからです。XXXX.rsrcがない場合は、BuildAppletのリソースを加えるので、アイコンもになります。
変なヘビのアイコンはMyApp.rsrcにわたしが加えていたものです。Pythonのアプレット/アプリケーション用にアイコンを作る方法については、「MyApp.pyでMacアプリを作るPart2」に書いてあります。
ここで作っているアプリケーションに関わる書類は『SpeakApp初期設定』だけでした。この書類はファイルタイプとして 'pref' としていました。クリエータは特に指定していないので 'R*ch' になっています。ResEditで『SpeakApp初期設定』を開いて、Fileメニューの『Get Info for SpeakApp初期設定』を選ぶと、以下のようにタイプTypeとクリエータCreatorが表示されます。
また、Speak12フォルダをリスト表示にすると、『SpeakApp初期設定』は『書類』としか表示されていません。
これを『SpeakApp書類』みたいにしてみます。
それには、『SpeakApp初期設定』のクリエータを設定します。Pythonのスクリプトの中でクリエータを設定します。
speakwin.py 変更前:69 ---------------------------------------------- f.SetCreatorType(cr, 'pref') ---------------------------------------------- 変更後:69 ---------------------------------------------- f.SetCreatorType('XXXX', 'pref') ----------------------------------------------
クリエータを 'XXXX' にしました。実は、MyApp.rsrcの 'BNDL' の中でシグネチャSignature 'XXXX' についてのAPPLのアイコンを先程のヘビにしてあるからです。MyApp.rsrcをResEditで開いて、BNDLをダブルクリック、さらにIDが128の行をダブルクリックすると、以下のようになっています。
speakwin.pyを訂正して保存し、MyApp.pyをBuildAppletにドロップしてアプレットを作り直します。できたMyAppアプレットを起動して、話すリストに何か加えるか削除して、Saveボタン押して『SpeakApp初期設定』を保存してみてください。speakwin.pyの変更が働いて、『SpeakApp初期設定』の種類が以下のように『MyApp書類』になります。
『SpeakApp初期設定』のアイコンも自分で作ってみます。
ファイルタイプ 'pref' はMacOSがアイコン情報を持っているらしいです。ですので、speakwin.pyを書き直してファイルタイプを設定します。
speakwin.py 変更前:69 ---------------------------------------------- f.SetCreatorType('XXXX', 'pref') ---------------------------------------------- 変更後:69 ---------------------------------------------- f.SetCreatorType('XXXX', 'pREF') ----------------------------------------------
'pREF' にしてみました。
MyApp.rsrcをResEditで開いて、BNDLをダブルクリック、さらにIDが128の行をダブルクリックすると、以下のようになっています。
ここで『Resouce』メニューから『Create New File Type』を選びます。すると以下のようになります。
新しくできた行の『????』をクリックすると編集可能になりますので、『pREF』にします。 続いて『Finder Icons』の欄をダブルクリックします。以下のようなダイアログが表示されますので、『New』ボタンを押します。
BNDLの『Icon Family』のウィンドウが開くので、「icl8」を選んで、適当に何か書いてください。わたしは『MyApp初期設定』ファイルをファインダの「情報を見る」で開いて、そのアイコンをコピー/ペーストして描き加えました。
icl8を他の「ICN#」「icl4」「ics8」「Mask」にドラッグすると自動的にアイコンが作られます。
MyApp.rsrcを保存してResEditを終了します。もう一度、MyApp.pyをBuildAppletにドロップしてアプレット作ります。できたMyAppアプレットを起動して、話すリストに何か加えるか削除して、Saveボタン押して『SpeakApp初期設定』を保存してみてください。speakwin.pyの変更が働いて、『SpeakApp初期設定』のアイコンが以下のようになります。
以下の内容は今までのようにMacPythonとResEditだけではできないです(たぶん)。無料でできるのでMPW(Macintosh Programmer's Workshop)での方法しかわたしは知りません。AppleのMac OS 8 and 9 Developer Documentationの『More Macintosh Toolbox』に説明があります。以下ではMPWを使ってリソースを作ります。
先程のフォルダをリスト表示して、表示オプションに「種類」を加えておくと以下のようになっていて「SpeakApp初期設定」ファイルは種類が「MyApp 書類」となっています。
よくあるアプリケーションでは「〜初期設定」とか「〜ツール」みたいに独自の種類を表示しています。このように、ファイル「SpeakApp初期設定」の種類を「MyApp 初期設定」にしてみます。
しかし、これはわたしには少し難しくて、説明もできないので手順だけ簡単に書きます。
MPWの書類として以下のものを作り、MyApp.pyと同じフォルダに保存します。
kind.r ---------------------------------------------- type 'kind' { literal longint; integer; integer = 0; integer = $$CountOf(myArray); wide array myArray { literal longint; pstring; align word; }; }; resource 'kind' (1000) { 'XXXX', 14, { 'pREF', "SpeakApp 初期設定", } }; ----------------------------------------------
DirectoryをMyApp.pyのあるフォルダに設定し、以下のコマンドをMPWのShellにタイプして実行します。
rez kind.r -o MyApp.rsrc -a
または、同じ内容のファイルを「add_kind」みたいな名前でMyApp.pyのあるフォルダに保存して「add_kind」で実行します。
これでMyApp.rsrcに 'kind' リソースが加えられますので、MyApp.pyをBuildAppletにドロップしてアプレットを作ります。今までのMyAppの情報が残っているらしいので、「デスクトップの再構築」をします。
すると、以下のように「SpeakApp初期設定」ファイルの種類が「SepeakApp 初期設定」になります。
以上の結果をまとめた speak13.sit.bin(約 30k)を作りました。
何か誤りやご質問、お気付きの点、ご意見やご不満などございましたら、メールで、もしくはMacPython BBS(よ)へ書き込んでいただければ幸いです。