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

第16回 ファイルのタイプとクリエータ


このページの目次

まえがき
アイコン
    アプレットのアイコン
    書類の種類
    書類のアイコンも作る
おまけ:書類の種類 'kind' -MPWを使う
まとめ


まえがき

もう書けるようなことはないのですが、Mac独自のこととして、クリエータとか、ファイルタイプ、アイコンなどについて書いておきます。

アイコン

アプレットのアイコン

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

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

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

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

BuildAppletでアプレットを作ると、BuildAppletで作ったアプレットのアイコンのアイコンになります。MyApp.pyをビルドして先程のアイコンになったのは、ビルドしたPythonファイル『XXXX.py』(ここでは『MyApp.py』)と同じフォルダ内に『XXXX.rsrc』(ここでは『MyApp.rsrc』)があるからです。この場合、BuildAppletは、XXXX.rsrcをアプレットに取り込むからです。XXXX.rsrcがない場合は、BuildAppletのリソースを加えるので、アイコンもBuildAppletで作ったアプレットのアイコンになります。

変なヘビのアイコンはMyApp.rsrcにわたしが加えていたものです。Pythonのアプレット/アプリケーション用にアイコンを作る方法については、「MyApp.pyでMacアプリを作るPart2」に書いてあります。

書類の種類

ここで作っているアプリケーションに関わる書類は『SpeakApp初期設定』だけでした。この書類はファイルタイプとして 'pref' としていました。クリエータは特に指定していないので 'R*ch' になっています。ResEditで『SpeakApp初期設定』を開いて、Fileメニューの『Get Info for SpeakApp初期設定』を選ぶと、以下のようにタイプTypeとクリエータCreatorが表示されます。

SpeakApp初期設定をResEditで開く

また、Speak12フォルダをリスト表示にすると、『SpeakApp初期設定』は『書類』としか表示されていません。

Speak12フォルダをリスト表示

これを『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の行をダブルクリックすると、以下のようになっています。

BNDLリソース

speakwin.pyを訂正して保存し、MyApp.pyをBuildAppletにドロップしてアプレットを作り直します。できたMyAppアプレットを起動して、話すリストに何か加えるか削除して、Saveボタン押して『SpeakApp初期設定』を保存してみてください。speakwin.pyの変更が働いて、『SpeakApp初期設定』の種類が以下のように『MyApp書類』になります。

『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の行をダブルクリックすると、以下のようになっています。

BNDLリソース

ここで『Resouce』メニューから『Create New File Type』を選びます。すると以下のようになります。

Create New File Typeを選んだところ

新しくできた行の『????』をクリックすると編集可能になりますので、『pREF』にします。 続いて『Finder Icons』の欄をダブルクリックします。以下のようなダイアログが表示されますので、『New』ボタンを押します。

Create New Icon ダイアログ

BNDLの『Icon Family』のウィンドウが開くので、「icl8」を選んで、適当に何か書いてください。わたしは『MyApp初期設定』ファイルをファインダの「情報を見る」で開いて、そのアイコンをコピー/ペーストして描き加えました。

icl8に描いたもの

icl8を他の「ICN#」「icl4」「ics8」「Mask」にドラッグすると自動的にアイコンが作られます。

icl8を他へドラッグ

MyApp.rsrcを保存してResEditを終了します。もう一度、MyApp.pyをBuildAppletにドロップしてアプレット作ります。できたMyAppアプレットを起動して、話すリストに何か加えるか削除して、Saveボタン押して『SpeakApp初期設定』を保存してみてください。speakwin.pyの変更が働いて、『SpeakApp初期設定』のアイコンが以下のようになります。

SpeakApp初期設定の新しいアイコン

おまけ:書類の種類 'kind' -MPWを使う

以下の内容は今までのように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 初期設定」になります。

ファインダの書類:SpeakApp初期設定

まとめ

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

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


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

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