この節では、Solaris Motif の拡張機能として Solaris CDE アプリケーションの開発に使用できるウィジェットについて説明します。
Solaris Motif のコントロールウィジェットは、OPEN LOOK アプリケーションを Solaris CDE デスクトップに簡単に移植できるよう、Solaris Motif 内でも同等の機能を提供しています。これらのウィジェットは、Solaris Motif の一部とは見なされず Solaris Motif の拡張機能と見なされます。libDtWidget ライブラリには、すべての CDE アプリケーションで共通の機能を提供するために使用されるウィジェットと関数が入っています。次のウィジェットが提供されます。
表 3-1 CDE のコントロールウィジェット
ウィジェット名 |
説明 |
---|---|
数値を増減させたり、テキスト文字列のリストをブラウズして選択するための追加のコントロールを持つ TextField ウィジェット。読み専用にできます。DtSpinBox の機能は、OPEN LOOK の数値テキストフィールドに似ています。 |
|
TextField ウィジェットと、TextField ウィジェットに有効な選択肢を提供するポップアップリストウィジェットの組み合わせ。読み専用にできます。 |
|
メニューバーの外側またはメニュー区画で XmCascadeButton ウィジェットのメニュー階層化機能を提供するコマンドウィジェット。DtMenuButton ウィジェットの機能は、OPEN LOOK のメニューボタンと同じです。 |
次に、各タイプのウィジェットの例を示します。
browseSelectCallback または defaultActionCallback がコンボ・ボックスのリストウィジェットのために起動される場合、DtComboBox カスタムウィジェットはリストウィジェットではなく、コンボ・ボックスウィジェットの選択コールバックを呼び出します。
このアクションは、リストウィジェットの browseSelectCallback または defaultActionCallback が起動されたときに呼び出されるリストウィジェットの選択コールバックに依存するアプリケーションでは、エラーが生じることがあります。
Solaris CDE ソフトウェアは、すべての Motif 1.2 ウィジェットをサポートしています。
DtSpinBox ウィジェットと DtComboBox ウィジェットの API は、Motif 2.1 リリースの XmSpinBox ウィジェットと XmComboBox ウィジェットに似ています。API は、アプリケーションをこれらのウィジェットの Motif 2.1 バージョンに簡単に切り替えられるように設計されています。切り替える場合は、クラス、タイプ、作成ルーチンの Dt という名前を Xm に変更します。
この情報は、アプリケーションを Motif 2.1 に移植する場合のために掲載していますが、移植することをお勧めしているわけではありません。
Solaris CDE ソフトウェアでは、そのウィジェットと Motif 2.1 のウィジェット間での厳密な API 互換やバイナリ互換は保証されません。
libDtWidget ライブラリを使用すると、DtSpinBox、DtComboBox、および DtMenuButton ウィジェットにアクセスできます。これらのウィジェットの libDtWidget ヘッダファイルは次のとおりです。
Dt/SpinBox.h
Dt/ComboBox.h
Dt/MenuButton.h
Solaris Motif コントロールウィジェットのデモプログラムは、/usr/dt/examples/dtwidget にあります。デモプログラムの詳細は、README ファイルを参照してください。
Solaris Motif コントロールウィジェットの詳細は、関連するマニュアルページと『Solaris 共通デスクトップ環境 プログラマーズ・ガイド』を参照してください。
DtTerm ウィジェットは、Solaris CDE 開発環境の一部です。このウィジェットには、ANSI X3.64-1979 スタイルの端末 (特に DEC VT220 のような端末が拡張されたもの) をエミュレートするために必要な機能があります。端末ウィジェットライブラリである libDtTerm には、GUI に端末ウィンドウを追加するための DtTerm ウィジェットが入っています。アプリケーションに端末を取り込む場合は、Solaris Motif ウィジェットを使用してポップアップメニューやスクロールバーなどの表示拡張機能を追加します。
Solaris CDE 端末アプリケーションは実行環境の一部であり、端末として動作するウィンドウです。このウィンドウを使用すると、デスクトップ内から従来の端末ベースのアプリケーションにアクセスできます。DtTerm ウィジェットは、デスクトップ実行時端末の基礎です。
libDtTerm ライブラリには、DtTerm ウィジェットを作成、アクセス、およびサポートするための便利な機能一式が入っています。
libDtTerm ライブラリには、端末を設計したり端末ウィンドウを GUI に追加したりするための Motif ベースのウィジェット一式が入っています。
ヘッダファイル Dt/Term.h を取り込むと、アプリケーション内で libDtTerm の API にアクセスできます。
DtTerm のデモプログラムは、/usr/dt/examples/dtterm にあります。デモプログラムの詳細は、README ファイルを参照してください。
DtTerm ウィジェットの詳細は、関連するマニュアルページを参照してください。
デスクトップ端末アプリケーションの詳細は、端末のヘルプボリューム、関連するマニュアルページ、または『Solaris 共通デスクトップ環境 ユーザーズ・ガイド』を参照してください。
CDE のテキスト編集システムは、次の 2 つのコンポーネントから構成されています。
テキストエディタアプリケーション
グラフィカルインタフェース、アクションインタフェース、または ToolTalkTM インタフェースを通じて編集サービスを提供します。
エディタウィジェット DtEditor
次の編集サービスに使用するプログラムインタフェースを提供します。
カット&ペースト
検索と置換
単純な書式化
スペルチェック (8 ビットのロケール用)
直前の編集を元に戻す機能
ASCII テキスト、複数バイトテキスト、データバッファの入出力をサポートする拡張 I/O 処理機能
ファイルを直接読み書きする操作をサポートする機能
Motif テキストウィジェットはプログラムインタフェースも提供しますが、システム全体で統一されたエディタを保証するアプリケーションでは、DtEditor ウィジェットを使用する必要があります。CDE のテキストエディタとメールプログラムのアプリケーションでは、エディタウィジェットを使用します。次の場合は、このウィジェットを使用してください。
スペルチェック、元に戻す、検索 / 変更などの DtEditor ウィジェットが提供する機能が必要な場合
ユーザがファイルのデータを読み書きできるようにする場合
ウィジェットがテキストを制御しているが、プログラムはテキストを編集する必要がない場合
DtEditor ウィジェットは、libDtWidget ライブラリに入っています。ヘッダファイルは Dt/Editor.h です。
DtEditor ウィジェットの例を含むデモプログラム (editor.c) は、/usr/dt/examples/dtwidget ディレクトリにあります。デモプログラムの詳細は、README ファイルを参照してください。
テキストエディタウィジェットの詳細は、関連するマニュアルページと『Solaris 共通デスクトップ環境 プログラマーズ・ガイド』を参照してください。