この章では、命名規則およびその他のガイドラインなど、共通デスクトップ環境アプリケーションの開発に固有の情報を示します。アプリケーションへ組み込んでデスクトップとの統合を促進するデスクトップ機能を決定するためのガイドラインである、統合のレベルを概説します。また、共通デスクトップ環境アプリケーションの開発を容易にするツールであるアプリケーション・ビルダの概要も説明します。
ユーザは共通デスクトップ環境のシェル・コマンド行から、任意の X11 ベースのアプリケーションを実行できます。ただしアプリケーションをデスクトップへ統合する場合は、従わなければならないガイドラインがあります。アプリケーションの設計または既存アプリケーションの移植において最大限の適応性を与えるために、共通デスクトップ環境は 3 つの統合レベルを定義しています。
基本的な統合方法
アプリケーションをデスクトップから起動できます。基本的な統合を行うときはアプリケーションのコードを変更する必要はありません。詳細は、第 5 章「基本的なアプリケーションの統合方法」を参照してください。
推奨する統合方法
アプリケーションとデスクトップとの一貫性のレベルを向上できます。詳細は、第 6 章「推奨する統合方法」を参照してください。
オプションの統合方法
特殊な作業を実行するためにデスクトップが提供するサービスが利用できます。詳細は、第 7 章「オプションの統合方法」を参照してください。
統合の全レベルの詳細は、『Solaris 共通デスクトップ環境 プログラマーズ・ガイド』を参照してください。基本的な統合については『Solaris 共通デスクトップ環境 上級ユーザ及びシステム管理者ガイド』でも説明しています。
共通デスクトップ環境は、X および Motif で使用されているのと同様の命名規則を使用します。デスクトップ・クライアント、デスクトップ・ライブラリ、その他のデスクトップ・コンポーネントは、外部から見ることができる名前に共通の dt、Dt、DT などの接頭辞を共有します。個人用のデスクトップ構造、関数、定義 (開発者が使用するのではなく、共通デスクトップ環境コードに入っている) には、_dt、_Dt、_DT という接頭辞が付いています。表 3-1 では、デスクトップの命名規則をリストします。
表 3-1 デスクトップ命名規則
名前 |
接頭辞 |
例 |
---|---|---|
デスクトップ・クライアントおよびユーティリティ |
dt |
dthelpview |
リソース名およびクラス |
Dt |
DtNhelpType, DtCHelpType |
ライブラリ名 |
Dt |
libDtHelp |
ヘッダ・ファイル |
Dt |
#include <Dt/Help.h> |
公開している関数名 |
Dt |
DtCreateHelpDialog |
公開しているデータ構造名 |
Dt |
DtHelpDialogCallbackStruct |
定数名 |
Dt |
DtHELP_NEW_WINDOW |
環境変数 |
DT |
DTHELPSEARCHPATH |
公開していないデスクトップ・シンボル (構造、関数、定義) |
_dt, _Dt, _DT |
_DtHelpFunction, _DtHELP_DEFINE |
表 3-2 では、上記の命名規則の例外をリストします。
表 3-2 デスクトップ命名規則の例外
名前 |
接頭辞 |
例 |
---|---|---|
Xm |
XmCreateLabel |
|
dtksh 簡易関数 |
Dtksh |
DtkshAddButtons |
tt (関数用) Tt (typedef用) TT (定数用) |
tt_open Tt_message TT_NOTICE |
|
X, Xt |
XOpenDisplay, XtCreateWidget |
アプリケーションのコードで新しいシンボルを定義するときは、接頭辞 dt、Dt、DT、_dt、_Dt、_DT、Xm、tt、Tt、TT、X、Xt を使用しないでください。使用した場合は、共通デスクトップ環境、ToolTalk、X11R5、Motif コードにすでに定義されているものか、定義される予定のものと重複する可能性があります。
マニュアル・ページまたは共通デスクトップ環境マニュアル・セットで、共通デスクトップ環境インタフェースについて言及されている場合、特に断り書きがなければそのインタフェースは公開されていると見なすことができます。インタフェースに対応するヘッダ・ファイルがあるという事実だけでは、そのインタフェースが公開されているものであるとは言いきれません。マニュアルまたはその他のドキュメントに記載されていないインタフェースは共通デスクトップ環境に対して内部専用であり、予告なしに変更されることがあります。
/usr/dt/man/man4 ディレクトリにあるマニュアル・ページに、アクションやデータ型などに使用するデスクトップ・データベースの形式があります。
データベースの詳細は、『Solaris 共通デスクトップ環境 プログラマーズ・ガイド』を参照してください。
アプリケーションが任意の libDtSvc API (アクション、データ型作成、ドラッグ&ドロップ、セッション・マネージャ、ワークスペース・マネージャのための) を使用している場合、DtInitialize() または DtAppInitialize() を呼び出して、まず libDtSvc ライブラリを初期化しなければなりません。詳細は、DtInitialize(3) または DtAppInitialize(3) のマニュアル・ページを参照してください。
アプリケーション・ビルダ (AppBuilder) は、デスクトップのアプリケーション・プログラム・インタフェース (API) を呼び出すためにコードを書かなくても、共通デスクトップ環境アプリケーションのグラフィカル・ユーザ・インタフェース (GUI) を簡単に作成できるようにするツールです。このツールは Motif ツールキットを単純なオブジェクト・パレットとオブジェクト属性シートに要約します。AppBuilder を使用して、単純な GUI ベース・プログラムから複雑で統合されたシステムまであらゆる範囲のアプリケーションを構築できます。ユーザ・インタフェース言語 (UIL) ファイルのインポートおよびエクスポートをサポートし、他の Motif ベース・ツールおよびプロダクトの中にアプリケーションを移植できるようにします。
AppBuilder は、次のような場合に使用するのに適しています。
Motif プログラマのエキスパートではない
共通デスクトップ環境 Motif ウィジェットに精通していない
(ドラッグ&ドロップ、ToolTalk メッセージ、セッション、ヘルプ、国際化対応などの) デスクトップ・サービスに精通していない
アプリケーション・ユーザ・インタフェースを早く構築し、簡単に変更できるようにしたい
1 つのアプリケーションを他の人と共同で構築している
実際に上記のいずれかに該当しない場合でも、アプリケーションを開発する上で AppBuilder の使用が適切であり役に立つと思われることはよくあります。
AppBuilder を使用すると、次のようなことが実行できます。
共通デスクトップ環境 Motif ツールキットのオブジェクトの部品を集めて構成することで、ユーザ・インタフェースをアプリケーション用にレイアウトする
オブジェクト間の接続を定義し、アプリケーション GUI 動作を作成して、接続をテストできるテスト・モードを使用する
デスクトップ・サービス機能の一部をアプリケーションへ追加する
AppBuilder を使用してあらかじめ作成したアプリケーションを編集する
自動的に生成されたコードを手動で生成したコードにマージする
C 言語ソースコードと関連するプロジェクト・ファイル (メッセージ・カタログなど) をアプリケーション用に生成する
AppBuilder からアプリケーションをコンパイルおよび起動できます。AppBuilder を終了して再起動しなくても、共通環境から構築、実行、デバッグのサイクルを実行できます。
アプリケーションビルダはよい教材になります。Sun Microsystems Advanced Developer Tools から、全機能 Motif GUI ビルダである XDesigner を購入することができます。
AppBuilder のプログラム例は /usr/dt/examples/dtbuilder にあります。このプログラムの詳細は、README ファイルを参照してください。
アプリケーション・ビルダの詳細は、適切なマニュアル・ページ、AppBuilder のヘルプ・ボリューム、および『アプリケーション・ビルダ・ユーザーズ・ガイド』を参照してください。