[ 次のページ ] [ 目次 ] [ 索引 ]

# 日本語DECwindows Motif for OpenVMS
アプリケーション開発の手引き

1994年6月
本書は，DECwindows MotifツールキットにおいてDECが提供するウィジェットに対するプログラミング・ インターフェイスについて説明します。また， 本書ではDECwindows Motifツールキットによる実務的なプログラミングのための情報も紹介します。
オペレーティング・システム: | 日本語OpenVMS AXP V1.5 日本語OpenVMS VAX V6.0
ソフトウェア・バージョン： | 日本語DECwindows Motif for OpenVMS V1.2
日本ディジタル イクイップメント株式会社

1994年6月

本書の著作権は日本ディジタル イクイップメント株式会社(日本DEC)が保有しており， 本書中の解説および図，表はコンパックの文書による許可なしに， その全体または一部を，いかなる場合にも再版あるいは複製することを禁じます。

また，本書に記載されている事項は， 予告なく変更されることがありますので，あらかじめご承知おきください。 万一，本書の記述に誤りがあった場合でも，日本DECは一切その責任を負いかねます。

本書で解説するソフトウェア(対象ソフトウェア)は，所定のライセンス契約が締結された場合に限り， その使用あるいは複製が許可されます。

日本DECは，日本DECまたは日本DECの指定する会社から納入された機器以外の機器で対象ソフトウェアを使用した場合， その性能あるいは信頼性について一切責任を負いかねます。

(c) Digital Equipment Corporation Japan 1994.

All Rights Reserved.
Printed in Japan.

Adobeは米国Adobe Systems社の商標です。

BITSTREAMはBitstream社の商標です。

HelveticaはLinotype AGの商標です。

ITC Avant Garde GothicはInternational Typeface Corporationの商標です。

Open Software Foundation，OSF，OSF/Motif，MotifはOpen Software Foundation社の商標です。

PostScriptは米国Adobe Systems社の商標です。

TimesはLinotype AGの商標です。

# 目次

まえがき

1 はじめに 1.1 DECwindows Motifツールキットの概要

1.1.1 ツールキット構成ブロック-ウィジェットとガジェット

1.1.2 ウィジェットの種類

1.1.3 OSF/Motifツールキットのウィジェット

1.1.4 DECが提供するウィジェット

1.1.5 ツールキットのウィジェットとガジェットのルーチン

1.1.6 アプリケーション開発ツール

1.1.7 UILとMRMを使用した各国語対応

1.1.8 ツールキットIntrinsicsルーチン

1.2 ツールキット・ルーチンとUILの対比

1.3 ツールキット・ルーチンとXlibルーチンの対比

1.4 ツールキット・プログラミング上の注意事項

1.4.1 アプリケーションのウィジェット階層

1.4.2 DECburgerのアプリケーション階層

1.4.3 形式と機能

1.4.4 機能とコールバックの関連付け

1.4.5 アプリケーションにおけるウィジェット属性の使用

1.4.5.1 サイズ属性と位置属性

1.4.5.2 見た目の属性

1.4.5.3 コールバック属性

1.4.5.4 ウィジェット属性への値の割当て

1.5 DECburgerデモ用アプリケーション

1.6 C以外の言語の例

2 DECwindowsアプリケーション・ インターフェイス設計 2.1 DECwindowsアプリケーションの設計-何から始めるか

2.1.1 アプリケーションの設計について

2.1.2 コールバックの使用

2.1.3 資源についての仮定

2.1.4 適切なウィジェットの選択

2.1.5 DECburgerアプリケーションのウィジェット

2.1.6 DECburgerで使用されるツールキットIntrinsicsルーチン

3 DECwindowsアプリケーションを作成するための有益なヒント 3.1 DECが提供するウィジェットのUILからの使用

3.2 XmFormウィジェットについてのヒント

3.2.1 子を持つフォーム・ダイアログ・ ボックスの作成

3.2.2 サイズが異なる子の位置合わせ

3.2.3 XmFormウィジェット内のウィジェットのセンタリング

3.2.4 XmFormウィジェットにおけるXmPushButtonの配置

3.3 デフォルト・ファイルの使用

3.4 変更した設定を保管するためのデフォルト・ ファイルの使用

3.5 複数のディスプレイの使用

3.5.1 複数の独立したディスプレイの使用

3.5.2 相互に接続された複数ディスプレイの使用

3.6 カーソルの作成

3.7 XtAppAddInputルーチンの使用

3.8 UILで割り当てられたリソースの解放

4 Helpウィジェットの使用 4.1 Helpウィジェットの概要

4.1.1 Helpウィジェットの呼び出し

4.1.2 Helpウィジェットの用語

4.2 ヘルプ・ライブラリ情報

4.2.1 ヘルプ・ライブラリ・ モジュール

4.2.1.1 ヘルプ・ライブラリ・ モジュールのアクセス

4.2.1.2 ヘルプ・ライブラリのキー名の指定

4.2.2 OpenVMSヘルプ・ライブラリの強化

4.3 Helpウィジェットの構成要素

4.4 Helpウィジェットの見た目の変更

4.4.1 Helpウィジェットのラベルとニーモニックの変更

4.4.2 Helpウィジェットのメッセージ

4.5 Helpウィジェットのコールバック

4.6 Helpウィジェットのトピックの指定

4.7 Helpウィジェットの使用

4.7.1 コンテキスト依存ヘルプ

4.7.1.1 UILによる「コンテキスト」プッシュ・ ボタンの作成

4.7.1.2 コンテキスト依存ヘルプ・ モードに入る

4.7.2 ヘルプ・コールバックの指定

4.8 UILによるHelpウィジェットの作成

4.9 Helpウィジェットの実現- C言語モジュール

4.10 ツールキットのHelpウィジェット作成ルーチンの使用

5 DECwindows Motifヘルプ・ システムの使用 5.1 ヘルプ・システムの概要

5.2 ヘルプ・システムの呼び出し

5.3 ヘルプ・ファイル情報

5.4 ヘルプ・ファイル情報- VAX DOCUMENT の例

5.5 コンテキスト依存ヘルプ・ コールバック

5.5.1 UILによる「コンテキスト」プッシュ・ ボタンの作成

5.5.2 コンテキスト依存ヘルプ・ モードに入る

5.5.3 ヘルプ・コールバックの指定

5.6 ヘルプ・システムの実現

5.7 ヘルプ・システムの実現- C言語モジュール

6 Color Mixingウィジェットの使用 6.1 Color Mixingウィジェットの概要

6.2 Color Mixingウィジェットの資源

6.3 カラー・モデル

6.3.1 色選択カラー・モデル

6.3.1.1 色選択カラー・モデルのスペクトル

6.3.1.2 色選択カラー・モデルを使用しての色の選択

6.3.1.3 補間の使用

6.3.2 HLS配合カラー・モデル

6.3.3 RGB配合カラー・モデル

6.3.4 色名指定カラー・モデル

6.3.5 グレー・スケール・ミキサ

6.4 Color Mixingウィジェットの構成要素

6.4.1 スクラッチ・パッド

6.4.2 Color Displayサブウィジェット

6.4.3 Color Model Option Menu サブウィジェット

6.4.4 Color Mixerサブウィジェット

6.4.5 Push Buttonサブウィジェット

6.4.6 Labelサブウィジェット

6.4.7 Work Areaサブウィジェット

6.4.8 新規の色の値の設定と検索

6.4.9 Color Mixingウィジェットの変更

6.4.9.1 サイズの指定

6.4.9.2 マージンの指定

6.4.9.3 Color Mixingウィジェットのラベル付け

6.4.9.4 Color Displayサブウィジェットの背景色の定義

6.4.9.5 Color Mixingウィジェットへの作業領域の追加

6.4.9.6 色選択カラー・モデルの変更

6.5 他のカラー・モデルのサポート

6.5.1 Color Displayサブウィジェットの置き換え

6.5.2 Color Mixerサブウィジェットの置き換え

6.6 コールバックとColor Mixingウィジェットの関連付け

6.7 Color Mixingウィジェットの作成

6.7.1 Color Mixingウィジェットの作成- UIL の例

6.7.2 Color Mixingウィジェット-「了解」コールバック

6.7.3 Color Mixingウィジェット-「適用」コールバック

6.7.4 Color Mixingウィジェット-「取消」コールバック

6.7.5 Color Mixingウィジェットの作成-ツールキットの例

7 Printウィジェットの使用 7.1 Printウィジェットの概要

7.2 Printウィジェットの使用方法

7.3 Printウィジェットの構成要素

7.4 Printウィジェットのコールバック

7.5 Printウィジェットのファイル・タイプ推測機能

7.6 Printウィジェットのリソース

7.6.1 Printウィジェットの機能の禁止

7.6.2 Printウィジェットの機能の追加

7.6.2.1 プリント・フォーマットの追加

7.6.2.2 オプション・メニューへの追加

7.7 UILによるPrintウィジェットの作成

7.8 ツールキット・ルーチンによるPrintウィジェットの作成

7.9 プリント・ジョブのキューへの登録

8 Compound String Textウィジェットの使用 8.1 CSTextウィジェットの概要

8.2 CSTextウィジェットのリソースの変更

8.2.1 CSTextウィジェットのテキスト内容の操作

8.2.1.1 コンパウンド・ストリングのCSTextウィジェットへの配置

8.2.1.2 CSTextウィジェットからのコンパウンド・ ストリングの検索

8.2.1.3 テキスト編集の禁止

8.2.1.4 テキストの長さの制限

8.2.2 CSTextウィジェットの見た目の変更

8.2.2.1 サイズの指定

8.2.2.2 マージンの指定

8.2.2.3 サイズ変更動作の制御

8.2.2.4 スクロール・バーの位置設定

8.2.2.5 テキスト・カーソルの見た目の制御

8.2.2.6 挿入点の位置設定

8.2.2.7 現在の記述方向および編集方向の識別

8.2.3 CSTextウィジェットにおけるマルチライン編集

8.2.4 テキスト選択の処理

8.2.4.1 テキストの選択

8.2.4.2 選択したテキストの検索

8.2.4.3 選択したテキストのクリップボードへの複写

8.2.4.4 選択したテキストのクリップボードからの貼り付け

8.2.4.5 選択したテキストの削除

8.2.4.6 選択に関する位置情報の取得

8.2.4.7 1次選択所有権の判断

8.2.4.8 テキストの選択の取り消し

8.2.5 コールバックとCStextウィジェットの関連付け

8.3 変換ルーチン

8.4 CSTextウィジェットの作成

8.4.1 UILによるCSTextウィジェットの作成

8.4.2 ツールキットのCSTextウィジェット作成ルーチンの使用

9 SVNウィジェットの使用 9.1 SVNウィジェットの概要

9.1.1 項目の構成要素

9.1.2 選択モード

9.1.3 ツリー・モードのナビゲーション・ ウィンドウ

9.1.4 位置カーソル

9.1.5 項目の強調表示

9.1.6 編集可能なテキスト

9.1.7 選択可能項目

9.1.8 SVNウィジェットの使用可能設定と使用不可能設定

9.1.9 SVNウィジェットの無効化

9.1.10 スクロール・バーの外側の矢印

9.1.11 スクロール・バー・インデックス・ ウィンドウ

9.2 SVNウィジェットのプログラミング上の注意事項

9.2.1 データ階層の作成

9.2.1.1 データへの接続- DXmSvnNattachToSourceCallbackコールバック

9.2.1.2 entry_numberフィールドの理解

9.2.1.3 項目に関する情報の取得

9.2.1.4 階層データとSVNの関連付け

9.2.2 SVNウィジェットの使用可能設定と使用不可能設定

9.2.3 位置カーソルの設定

9.2.4 項目の無効化

9.2.5 ツリー・スタイルの設定

9.2.6 ディスプレイ・モードの設定

9.2.7 項目の座標位置の設定

9.2.8 項目の位置の設定

9.2.9 項目の選択

9.2.10 項目の操作

9.2.11 コラム・モードの項目の操作

9.2.12 項目のフラッシュ

9.2.13 構成要素の操作

9.2.14 項目の強調表示

9.2.15 表示されている項目の取得

9.2.16 項目のドラッグ

9.2.17 ゴースト

9.2.18 項目のフォント・リストの設定

9.3 ツリー・モードの属性の設定

9.3.1 ツリーの位置の操作

9.3.2 ツリー・モードの円弧幅の設定

9.3.3 ツリー・モード構成要素のセンタリング

9.3.4 ツリー・モードの輪郭

9.3.5 ツリー・モードの項目のシャドウ

9.3.6 ツリー・モードの垂直線

9.4 コールバックとSVNウィジェットの関連付け

9.5 SVNヘルプ・コールバック

9.5.1 ユーザが生成するコールバック

9.6 SVNウィジェットの作成

9.7 例- SVNデモ用アプリケーション

10 互換性を維持するためのコーディング 10.1 互換性の重要性

10.2 フォント・フォールバック

10.2.1 フォントの命名規則

10.2.2 フォント・フォールバックの実現

10.2.3 共通フォントの使用

10.2.4 UILによるフォント・フォールバックの実現

10.2.5 ツールキット・ルーチンによるフォント・ フォールバックの実現

10.3 画面の独立性

10.3.1 画面のDPIについての仮定

10.3.2 マルチヘッド・サーバのサポート

10.3.2.1 XtAppInitializeルーチンによる画面指定

10.3.2.2 XtOpenDisplayルーチンによる画面指定

10.3.3 ウィンドウ・サイズの調整

10.3.4 スクロールするウィンドウの使用

10.3.5 DXmNfitToScreenPolicyリソースの使用

10.3.6 画面が小さい場合のウィンドウの配置

10.4 カラーのサポート

10.4.1 使用するカラーとディスプレイのタイプの一致

10.4.1.1 書き込み可能なカラー・ セル

10.4.1.2 ディスプレイの深さ

10.4.1.3 不十分なカラー資源の処理

10.5 イメージ・フォーマット

10.5.1 イメージ・フォーマットの実現

10.5.2 イメージ・フォーマットの決定

A OpenVMS DECTERM PORTルーチンの使用

索引

例 1-1 引数リストの引き渡し

1-2 形式と機能

1-3 形式と機能-汎用プルダウン・メニュー

3-1 子を持つXmFormダイアログ- UIL モジュール

3-2 サイズが異なる子の位置合わせ

3-3 XmForm内の子ウィジェットのセンタリング- UIL モジュール

3-4 XmForm内の子ウィジェットの作成- C モジュール

3-5 DXmFormSpaceButtonsEquallyルーチンの呼び出し

3-6 アプリケーションの省略時の値の保管- UIL モジュール

3-7 アプリケーションの省略時の値の保管- C モジュール

3-8 複数の独立したディスプレイの使用- UIL モジュール

3-9 複数の独立したディスプレイの使用- C モジュール

3-10 相互に接続された複数ディスプレイの使用

3-11 DXmCreateCursorルーチン

3-12 XtAppAddInputルーチンの使用- UIL モジュール

3-13 XtAppAddInputルーチンの使用- C モジュール

4-1 サンプルのヘルプ・ファイル

4-2 UILにおける「コンテキスト」プッシュ・ ボタン

4-3 DXmHelpOnContextルーチンの呼び出し

4-4 ヘルプ・コールバックの指定- UIL モジュール

4-5 ヘルプ・コールバックの指定- C モジュール

4-6 UILによるHelpウィジェットの実現

4-7 Helpウィジェットの実現- C言語モジュール

4-8 Helpウィジェットの実現- C 言語モジュール

4-9 ツールキット・ルーチンによるHelpウィジェットの作成

5-1 DECBURGER_HELP.SDMLヘルプ・ ファイル

5-2 UILによる「コンテキスト」プッシュ・ ボタン

5-3 DXmHelpOnContextルーチンの呼び出し

5-4 ヘルプ・コールバックの指定- UIL モジュール

5-5 ヘルプ・コールバックの指定- C モジュール

5-6 UILにおけるヘルプ・ システムの実現

5-7 ヘルプ・システムの実現- C 言語モジュール

6-1 DXmColorMixCallbackStructデータ構造体

6-2 Color Mixingウィジェットの作成- UIL の例

6-3 UILを使用してColor Mixingウィジェットを作成するためのCソース・ コード

6-4 Color Mixingウィジェット-「了解」コールバック

6-5 Color Mixingウィジェット-「適用」コールバック

6-6 Color Mixingウィジェット-「取消」コールバック

6-7 Color Mixingウィジェットの作成-ツールキットの例

7-1 UILによるPrintウィジェットの各種リソースの設定

7-2 プリント・フォーマットの追加

7-3 印刷オプションの追加

7-4 UILによるPrintウィジェットの作成

7-5 UILによるPrintウィジェットの作成- C サポート

7-6 DXmCreatePrintDialogルーチンの呼び出し

7-7 DXmPrintWgtPrintJobルーチンの呼び出し

8-1 DXmCSTextGetString支援ルーチンの使用

8-2 例-スクロールするCSTextウィジェットの作成

8-3 マルチライン編集機能をもつCSTextウィジェット

8-4 UILによるCSTextウィジェットの作成

8-5 UILを使用してCSTextウィジェットを作成するためのCのソース

8-6 ツールキットのCSText作成ルーチン

9-1 SVNデモ用アプリケーションのデータ階層の一部

9-2 DXmSvnCallbackStructデータ構造体

9-3 例- SVNのヘルプ・コールバック

9-4 例- svn.uil（UNIX）, SVN.UIL（OpenVMS）モジュール

9-5 例- svn.c（UNIX）,SVN.C（OpenVMS）モジュール

9-6 例- SVNコールバック

9-7 例- SVN階層データ

9-8 例- SVNピックスマップ(アイコン)の作成

10-1 ツールキット・ルーチンによるフォント・ フォールバック

10-2 XVisual.classの検査

10-3 カラー資源の確認

A-1 リモート・ノード上での漢字端末エミュレータの作成

A-2 リモード・ノード上で漢字端末エミュレータをコンパイル， リンク，実行するためのコマンド・プロシージャ</

図 1-1 OSF/MotifのPeriodicデモ用プログラム

1-2 DECburgerのウィジェット階層

2-1 DECburgerのユーザ・インターフェイス

2-2 DECburgerのXmMainWindowウィジェット

2-3 DECburgerのXmMenuBarウィジェット

2-4 DECburgerのXmPulldownMenuウィジェット

2-5 DECburgerのXmFormDialogウィジェット

2-6 DECburgerのXmRadioBoxウィジェット

2-7 DECburgerのXmRowColumnウィジェット

2-8 DECburgerのXmScaleウィジェット

2-9 DECburgerのXmOptionMenuウィジェット

2-10 DECburgerのXmTextウィジェット

2-11 DECburgerのXmScrolledListウィジェット

2-12 DECburgerのXmFormウィジェット

2-13 DECburgerのXmFormDialogウィジェット

4-1 サンプルのHelpウィジェット

4-2 Helpウィジェットの構成要素

5-1 Helpウィジェットとヘルプ・ システムのウィンドウの比較

6-1 Color Mixingウィジェットの構成要素(色選択カラー・ モデル)

6-2 Color Mixingウィジェットの構成要素(HLS配合カラー・ モデル)

6-3 Color Mixingウィジェットの構成要素(RGB配合カラー・ モデル)

6-4 Color Mixingウィジェットの構成要素(色名指定カラー・ モデル)

6-5 Color Mixingウィジェットの構成要素(グレー・ スケール・ミキサ)

6-6 スクラッチ・パッドの構成要素

7-1 Printウィジェットのメイン・ ダイアログ・ボックス

7-2 Printウィジェットの2次ダイアログ・ ボックス

9-1 SVNウィジェット

9-2 ツリー・フォーマット

9-3 コラム・フォーマット

9-4 SVNツリー・モードのナビゲーション・ ウィンドウ

表 1-1 ウィジェットのサイズおよび位置属性

1-2 Push Buttonウィジェットがサポートしているコールバック属性

3-1 UILで割り当てたリソースの解放

4-1 Helpウィジェットの用語

4-2 OpenVMSライブラリアン・ユーティリティの拡張機能

4-3 Helpウィジェットのコールバック

4-4 Helpウィジェットのトピック・ リソース

4-5 Helpウィジェット作成ルーチン

6-1 カラー・モデルの定数

6-2 Color Mixingウィジェットの支援ルーチン

6-3 色選択カラー・モデルの変更

6-4 Color Mixingウィジェットのコールバック

6-5 Color Mixingウィジェットの作成方法

7-1 Printウィジェットのコールバック

8-1 CSTextウィジェットの支援ルーチン

8-2 Textウィジェットのコールバック

8-3 変換ルーチン

8-4 CSTextウィジェットの作成

9-1 _Nodeデータ構造体

9-2 ユーザが作成するコールバック

9-3 SVNウィジェットの作成ルーチン

10-1 フォント・フォールバック

10-2 Terminalのフォント・ フォールバック

10-3 DECwindowsのビジュアル・ タイプ

[ 次のページ ] [ 目次 ] [ 索引 ]