Palm OS Programmer’s Companion Volume I/4-17 - project-enigma

Palm OS Programmer’s Companion Volume I/4-17

>> Site top >> Misc >> In my palm >> Palm開発ドキュメントの和訳 >> Palm OS Programmer’s Companion Volume I >> Palm OS Programmer’s Companion Volume I/4-17

最終更新日付:2014/01/01 00:00:00

← 16 節に戻る ↑4 章トップへ 18 節に進む →

4-17 アプリケーションランチャ

 

アプリケーションランチャは、多くのアプリケーションを起動するための画面です。入力エリア上のアプリケーションアイコンをタップすることでランチャに移動できます。それからアプリケーションのアイコンをタップすることで、任意のアプリケーションを起動します。

アプリケーションランチャに統合するため、アプリケーションは以下のセクションで説明するようにアプリケーションアイコンとバージョン文字列を提供する必要があります。場合によっては、デフォルトのアプリケーションカテゴリを指定する必要もあるかもしれません。

 

ランチャにおけるアイコン

Palm ハンドヘルドにインストールされたアプリケーション( タイプが 'appl' のリソースデータベース ) は、アプリケーションランチャに自動的に表示されます。ランチャが表示するのは、アプリケーションアイコンとアプリケーション名です。

アプリケーションは2つのアイコンを用意する必要があります。

NOTE

Palm OS 3.5 以降の SDK で提供される Constructor プログラムでは、アプリケーションアイコンファミリを作成することができます。アプリケーションアイコンファミリが利用できる場合、App Icon リソースやマルチビットアイコンリソースを使用する必要はありません。

アプリケーション名は2通りの方法で定義できます。

訳注

「2通り」と書いてあるにも関わらず、リストは3項目列挙されていますが、これは原著のままです。

 

アプリケーションのバージョン文字列

ランチャはそれぞれのアプリケーションのバージョン文字列を 'tver' リソースの ID 1000 から取得して表示します。この短い文字列(通常 3 〜 7 文字)は情報ダイアログに表示されます。

バージョン文字列は以下のような書式になっている必要があります。

major.minor.[stage.change]

ここで major はメジャーバージョン番号、minor はマイナーバージョン番号、stage は開発ステージ( a はアルファ版、b はベータ版、d は開発者向けリリース )、change はビルド番号をそれぞれ意味します。最終リリースでは stage と change は除去します。

 

デフォルトのアプリケーションカテゴリ

Palm OS 3.5 より、ランチャはアプリケーションをカテゴリに分類します。アプリケーションのカテゴリは、prc ファイル内の 'taic' リソース( シンボル名は defaultCategoryRscType )の ID 1000 で指定できます。Palm OS 3.5 より、ランチャはアプリケーションを指定されたカテゴリにインストールします。Constructor では、メインウィンドウのデフォルトカテゴリフィールドに値を指定することで 'taic' リソースを指定できます。

ほとんどのアプリケーションでは 'taic' リソースを指定すべきではありません。デフォルトでは、ランチャはアプリケーションを"Unfiled"カテゴリにインストールします。ユーザーはそのアプリケーションをどのカテゴリに入れるかを各自で選択します。

以下の条件を満たす場合のみ、'taic' リソースを指定するようにして下さい。

訳注

vertical market の適切な訳語がわかりませんでした。

表 4.19 ランチャの定義済カテゴリ

カテゴリ 説明
Games 全てのゲーム
Main 予定表やアドレス帳など、日常的に使用されるアプリケーション
System Applications that control how the system behaves,such as the Preferences,HotSync,and Security.
Utilities Applications that help the user with system management.
Unfiled デフォルトのカテゴリ

デフォルトのアプリケーションカテゴリを、Microsoft Windows のスタートメニューカテゴリのように使ってはいけません。Palm ハンドヘルドでは、カテゴリは Unfiled を含めて 16 カテゴリに制限されています。それぞれのアプリケーションが独自のカテゴリを定義したら、すぐにこの制限を越えてしまうことは明らかです。デフォルトカテゴリを指定するのは、ユーザーにとって明白な利点がある場合のみにして下さい。

 

プログラムからのランチャのオープン

プログラムからランチャをオープンする必要が生じるような状況は稀ですが、システムはそのための API を提供しています。アプリケーションからランチャをアクティブにするには、リスト 4.11 に示すように launchChr を設定した keyDownEvent をキューに追加することです。

WARNING!

ランチャアプリケーションを起動するのに SysUIAppSwitch や SysAppLaunch 関数を使用しないで下さい。

リスト 4.11 ランチャのオープン

EventType newEvent;

MemSet(&newEvent, sizeof(newEvent), 0);
newEvent.eType = keyDownEvent;
newEvent.data.keyDown.chr = launchChr;
newEvent.data.keyDown.modifiers = commandKeyMask;
EvtAddEventToQueue (&newEvent);

 

このテクニックによって、アプリケーションアイコンをタップした時に実行されるものが実行されることに注目して下さい。プログラムから他のアプリケーションを起動する方法の詳細については、「2 アプリケーションの開始と終了」の "プログラムからのアプリケーション起動"を参照して下さい。

訳注

上の段落の最初の文、かなり自信がありません。原文は、Note that this technique will run whatever is run whenever you tap on the Applications icon. です。おそらく、ランチャ置き換えアプリにも対応できる、と言うことを言いたいのではないかと解釈しました。

NOTE

バージョン 3.0 よりも前の Palm OS では、ランチャをポップアップとして実装していました。この古いポップアップランチャのための API である SysAppLauncherDialog 関数は、互換性のためにまだ Palm OS 上に存在しています。しかし、更新されておらず、ほとんどの場合は使用するべきではありません。

 

 

 

← 16 節に戻る ↑4 章トップへ 18 節に進む →

 

 


Copyright(C) 2005-2017 project-enigma.
Generated by CL-PREFAB.