前へ 次へ 目次 文書セット ホーム


第 24 章

 

コマンド行の操作


はじめに

本章では、Sun WorkShop Visual で使用可能なコマンド行について説明します。コマンド行オプションには、Sun WorkShop Visual を対話的に使用するためのものと、コマンド行からコード生成を行うためのものの 2 種類があります。本章では Sun WorkShop Visual 捕獲機能、Sun WorkShop Visual 再現機能、UILおよび GIL コードを Sun WorkShop Visual の保存ファイルに変換するためのコマンドについて説明します。

対話的使用のためのオプション

以下に示すコマンド行オプションを使用することができます。

表 24-1 対話的使用のための visu オプション

オプション

意味

-windows

Sun WorkShop Visual を Microsoft Windows モードで起動

-f file

入力ファイルを指定

-L

ユーザー独自のカラーマップを使用

-x

この説明を表示 (および終了)

-V

Sun WorkShop Visualのバージョン情報を表示

(プログラムは実行しない)

Sun WorkShop Visual を Microsoft Windows モードで起動する方法については、第 11 章「Microsoft Windows 用のデザイン」「Microsoft Windows モードでの起動」を参照してください。

ピックスマップ・エディタで多くの色を使用したい場合は、独自のカラーマップを使用すると便利です。ピックスマップ・エディタについては、「ピックスマップの編集」を参照してください。ただし、この -L オプションを使用すると、他のウィンドウの色が指定した色とは異なる色で表示される場合があります。

コマンド行からのコード生成

コマンド行からの入力形式は次のとおりです。

visu [-csepAKCSEulbarmRMFWX [code_file]] [-windows] -f filename

表 24-2 visu コマンド行オプション

オプション

生成されるコードファイル

-c

C

-s

C スタブ

-e

C 外部宣言

-p

C/C++ ピックスマップ

-A

ANSI C を強制 ( -c -s -e を使用)

-K

K&R C を強制 ( -c -s -e を使用)

-C

C++

-S

C++ スタブ

-E

C++ 外部宣言

-u

UIL

-l

UIL のための C

-b

UIL のための C 外部宣言

-a

UIL ピックスマップ

-r

X リソースファイル

-m

メークファイル

-X

X リソースファイル (-r と同意)

-M

Motif 様式の C++ を生成

-F

Motif XP 様式の C++ を生成

-J

code_file で指定したディレクトリに Java を生成

-W

Microsoft Windows MFC 様式の C++ を生成

-pixmaps

ピックスマップを、code_file で指定したディレクトリの .xpm ファイルに生成

-R

Microsoft Windows リソースファイル

-windows

Sun WorkShop Visual を Microsoft Windows モードで起動

-f file

入力ファイル ( file ) を指定

code_file は、生成されるファイルを表します。 code_file を指定しない場合、Sun WorkShop Visual は指定された言語に対しソースファイル内で最後に指定された対象となるファイルにコードを生成します。

Java コード (-J) やピックスマップ (-pixmaps) については、複数のソースファイルが生成されます。コードファイルの名前はクラスの名前 (Javaの場合) またはデザインで使用したピックスマップの名前になるため、 code_file にはこれらのソースファイルのターゲットディレクトリを指定します。

filename は、コード生成のためのソースとして使用するデザインファイル (.xd) を表わします。ファイル名はいつも指定しなければなりません。 code_file を指定しない場合は、指定するファイル名が 1 つだけであることを示すために、区切り文字 -f を使用します。

-windows オプションは、Microsoft Windows モードを指定します。Sun WorkShop Visual を Microsoft Windows モードで起動する方法についての詳細は、第 11 章「Microsoft Windows 用のデザイン」「Microsoft Windows モードでの起動」を参照してください。

-M、- F 、- W 、- R オプションは、必ず -windows オプションと組み合わせて使用します。

以下のコマンドは、 foo.xd 内のデザインからファイル foo.c に C コードを生成します。

visu -c foo.c -f foo.xd

次のコマンドは、 foo.xd から対象となるファイルに C コードを生成します。

visu -c -f foo.xd

この対象となるファイルは、最後に「コード生成」ダイアログを使用して foo.xd から C コードが生成された際に指定されたものです。

以下に示す形式のどちらかを使用すると、単一のコマンドを使用して複数のファイルを生成することができます。

visu -c -e -s -f foo.xd

または

visu -c <c_ファイル> -e <外部ファイル> -s <スタブファイル> -f foo.xd

Sun WorkShop Visual は、成功するとステータス 0 で終了し、何らかの理由によりコード生成に失敗した場合には 0 以外のステータスで終了します 。

諸注意

コマンド行からコードを生成するためには、Sun WorkShop Visual が X サーバーと接続されている必要があります。通常、コマンド行からのコード生成では目に見えるウィンドウの作成は行われませんが、Windows コードの生成時には、スクロールリストやスクロールテキストなどの特定の種類のウィジェットを含むデザインに対して、サーバー画面上にウィンドウが一時的に表示されます。

code_file を指定しない場合、Sun WorkShop Visual はデザインファイルに保存されているファイル名を使用します。「コード生成」ダイアログで指定してそのファイルを保存しない限り、ファイルの名前は保存されません。したがって、「コード生成」ダイアログを使ってデザインファイルからこのようなコードを生成したことがない場合は、Sun WorkShop Visual はエラーメッセージを生成します。

すべての場合において、最後にデザインファイル内で保存されたとおりに生成トグルが設定されます。デザインファイルからこの種類のコードを生成したことがない場合には、デフォルトのトグル設定が使用されます。

Sun WorkShop Visual 再現機能

ユーザーのアクションを記録するために使用する Sun WorkShop Visual 再現機能は、 visu_record という独立したアプリケーションとして提供されています。

以下に visu_record の使用方法を示します。

visu_record -f MyRecordScript AnApplication

MyRecordScript は、一連のアクションを記録したスクリプトが保存されるファイルの名前です。 AnApplication は、記録する対象であるアプリケーションの名前です。

以下に visu_replay の使用方法を示します。

Sun WorkShop Visual 再現機能と XD/ 記録機能のファイル名引数は省略できます。この場合、XD/ 記録機能は標準出力から出力し、Sun WorkShop Visual 再現機能は標準入力から読み取ります。

次の表に、visu_record と visu_replay の両方で使用できるすべてのコマンド行オプションを示します。

表 24-3 visu_record と visu_replay のコマンド行オプション

オプション

意味

-x

Sun WorkShop Visual 再現機能の詳細情報を表示。

-f file

記録の場合はファイルへ保存 (指定のない場合は標準出力)。再生の場合はファイルから読み出し (指定のない場合は標準入力)。

-use n

プログラムのメインシェルの前に表示されるシェルを n 個無視

-lang locale

GUI (グラフィカルユーザーインタフェース) やエラーメッセージを含む visu_record または visu_replay を、指定したロケールで起動。LANG 設定は無視されます。

-p

スクリプトを再現する前に、C プリプロセッサで事前処理。

-v

詳細出力 (verbose)。

-V

visu_record または visu_replay のバージョン情報を表示。

-w

ディスプレイ、サーバー、ウィンドウマネージャの概要情報を表示。

-O

上書き (非 Motif アプリケーションに対してはプログラム終了)。

-i

対話的 (interactive)。-f を無視し、捕獲/再現ダイアログを使用。

-I

強制的にダイアログを表示。

-exit-on-error

再現不可能なコマンドがあった場合に、 visu_replay スクリプトとアプリケーションを終了。

-user-on-error

再現不可能なコマンドがあった場合に、visu_replay スクリプトを終了。アプリケーションは終了しません。

-skip-on-error

再現不可能なコマンドがあった場合に、 visu_replay スクリプト内の次のシーケンスへジャンプ。

Sun WorkShop Visual 捕獲機能

Sun WorkShop Visual 捕獲機能は、 visu_capture という独立したアプリケーションとして提供されています。

以下に visu_capture の使用方法を示します。

visu_capture -f AnApplication

「捕獲」 ダイアログが表示され、アプリケーション AnApplication が実行されます。

次に visu_capture で使用できるすべてのコマンド行オプションを示します。

表 24-4 visu_capture コマンド行オプション

オプション

意味

-x

visu_capture の詳細情報を表示。

-f file

ファイルへ保存。このオプションで 「捕獲」 ダイアログは表示されません。

-lang locale

GUI (グラフィカルユーザーインタフェース) やエラーメッセージを含む visu_capture を、指定したロケールで起動。LANG 設定は無視されます。

-use n

プログラムのメインシェルの前に表示されるシェルを n 個無視。

-v

詳細出力 (verbose)。

-V

visu_capture のバージョン情報を表示。

-w

ディスプレイ、サーバー、ウィンドウマネージャの概要情報を表示。

-O

上書き (非 Motif アプリケーションに対してはプログラム終了)。

-i

対話的 (interactive)。-f を無視し、獲得/再現ダイアログを使用。

-I

強制的にダイアログを表示。

-j

Java で使用可能な捕獲機能。

-static-design

アプリケーションシェルの初期状態のみを捕獲して終了。

UILソースの Sun WorkShop Visual 保存ファイルへの変換

uil2xd フィルタは UILソースコードを Sun WorkShop Visual 保存ファイルに変換します。このフィルタは、UILソースを標準入力から読み出して、Sun WorkShop Visual 保存ファイルに標準出力で書き込みます。

デフォルトにより、 uil2xd は最新版 Sun WorkShop Visual 用の保存ファイルを生成します。以下のように入力してください。

uil2xd [-tlxywhpsaX] [-I include_dir]

次の表に、コマンド行オプションを示します。

表 24-5 uil2xd コマンド行オプション

オプション

意味

-t

テキストを含んでいるスクロールウィンドウをスクロールテキストに変換しない。

デフォルトでは、 uil2xd は「テキスト」ウィジェットを含んでいる「スクロールウィンドウ」ウィジェットを「スクロールテキスト」ウィジェットに変換します。構造を保存しておくには、-t オプションを使用します。

-l

リストを含んでいるスクロールウィンドウをスクロールリストに変換しない。

デフォルトでは、 uil2xd は「リスト」ウィジェットを含んでいる「スクロールウィンドウ」ウィジェットを「スクロールリスト」ウィジェットに変換します。構造を保存しておくには、-l オプションを使用します。

-x

XmNx リソースを変更せずに渡す。

デフォルトでは、 uil2xd は保存ファイル内の絶対位置の出力は行いません。 XmNx リソースを出力ファイルに渡すには、-x オプションを使用します。

-y

XmNy リソースを変更せずに渡す。

デフォルトでは、 uil2xd は保存ファイル内の絶対位置の出力は行いません。 XmNy リソースを出力ファイルに渡すには、-y オプションを使用します。

-w

XmNwidth リソースを変更せずに渡す。

デフォルトでは、 uil2xd は保存ファイル内の絶対サイズの出力は行いません。 XmNwidth リソースを出力ファイルに渡すためには、-w オプションを使用します。

-h

XmNheight リソースを変更せずに渡す。

デフォルトでは、 uil2xd は保存ファイル内の絶対サイズの出力は行いません。 XmNheight リソースを出力ファイルに渡すためには、-h オプションを使用します。

-p

出力ファイルに位置リソースを保存する。-x、-y と同じです。

-s

出力ファイルにサイズリソースを保存する。-w、-h と同じです。

-a

出力ファイルに位置およびサイズリソースを保存する。-p、-s と同じです。

-e

構文エラーの解決方法を説明する。

-A

アタッチメントの設定されていないフォームの子に、仮のアタッチメントを生成する。

-I include_dir

include_dir を、インクルードファイルの検索を行うディレクトリの一覧に追加する。

-X

オプションの一覧を印刷する。

uil2xd は、以下の構造体の処理を行いません。

インポートされたキーワードを除いて、 uil2xd はこれらの構造体を無視します。

GIL ソースの Sun WorkShop Visual 保存ファイルへの変換

gil2xd フィルタは、サンの DevGuide ファイルを Sun WorkShop Visual 保存ファイルに変換します。コンバータによって OPEN LOOK オブジェクトが Motif オブジェクトに変換されます。このフィルタは GIL ソースを標準入力から読み出して、Sun WorkShop Visual 保存ファイルに標準出力で書き込みます。

このフィルタは最新バージョンの Sun WorkShop Visual 用の保存ファイルを生成します。以下のように入力してください。

gil2xd [-xywhpsaX]

コマンド行オプションを次の表に示します。

表 24-6 gil2xd コマンド行オプション

オプション

意味

-x

XmNx リソースを変更せずに渡す。

デフォルトでは、 gil2xd は保存ファイル内の絶対位置の出力は行いません。 XmNx リソースを出力ファイルに渡すには、-x オプションを使用します。

-y

XmNy リソースを変更せずに渡す。

デフォルトでは、 gil2xd は保存ファイル内の絶対位置の出力は行いません。 XmNy リソースを出力ファイルに渡すには、-y フラグを使用します。

-w

XmNwidth リソースを変更せずに渡す。

デフォルトでは、 gil2xd は保存ファイルにおける絶対サイズの出力は行いません。 XmNwidth リソースを出力ファイルに渡すには、-w オプションを使用します。

-h

XmNheight リソースを変更せずに渡す。

デフォルトでは、 gil2xd は保存ファイルにおける絶対サイズの出力は行いません。 XmNheight リソースを出力ファイルに渡すには、-h オプションを使用します。

-p

出力ファイルに位置リソースを保存する。-x、-y と同じです。

-s

出力ファイルに位置およびサイズリソースを保存する。-w、-h と同じです。

-a

出力ファイルに位置およびサイズリソースを保存する。-p、-s と同じです。

-X

オプションの一覧を印刷する。

gil2xd は、関数呼び出し以外の接続の処理は行わず、リンクに割り当てられたボタンに対するアクションを通知します。その他の接続は警告として報告されます。 gil2xd は、これらの構造体を無視します。

変換

OPEN LOOK オブジェクトの Motif ウィジェットへの変換は、個々の内容に依存するため、単純には行われません。基本的な変換方法は以下のとおりです。

基本ウィンドウ

子にメインウィンドウおよびフォーム作業領域を持つダイアログシェルに変換されます。

ポップアップウィンドウ

子にフォームを持つダイアログシェルに変換されます。

キャンバス区画

水平スクロールバーまたは垂直スクロールバーが true である場合は、スクロールウィンドウの子になる描画領域に変換されます。描画領域の子として、関連するポップアップメニューが作成されます。

制御領域

フォームに変換されます。

メニュー

メニューウィジェットに変換されます。メニューにメニュータイトルの属性がある場合は、タイトルを表示するラベルウィジェットが最初の子になり、セパレータウィジェットが 2 番目の子になります。メニュー内の項目は、メニューウィジェットの子に割り当てられます。メニューの種類属性がコマンドである場合は、ウィジェットはトグルボタンになります。また、メニュー項目が関連付けられている場合は、カスケードボタンになります。その他の場合は、プッシュボタンになります。Sun WorkShop Visual には、メニューを共有する概念がないため、複数の場所から参照されるメニューは、メニューウィジェットの複製に割り当てられます。

メッセージ

ラベルに変換されます。

ボタン

メニューを持たない場合には、プッシュボタンに変換されます。その他の場合は、カスケードボタンに割り当てられます。このカスケードボタンは、メニューバー内に作成されます。同じ y 座標を持つカスケードボタンは、同一のメニューバー内に作成されます。可能であれば、メニューバーはメニューバーウィジェットを格納するメインウィンドウ内に作成されますが、その他の場合はケースバイケースで適切な位置に作成されます。

スライダとゲージ

両方ともスケールに変換されます。目盛の子として、セパレータが追加され、最小値文字列および最大値文字列を表示するラベルが追加される場合もあります。最小値および最大値はそれぞれ、スケールの最小フィールドおよび最大フィールドに変換されます。

設定

設定型がスタックである場合はオプションメニューに変換され、その他の場合はローカラムに変換されます。選択肢は、オプションメニューの場合にはプッシュボタンに、ローカラムの場合にはトグルボタンに変換されます。排他的または非排他的設定の場合には、トグルボタンはインジケータを使用しないように調整されます (シャドウの厚さ = 2、マージン左 = 0 、インジケータオン = false)。

テキストフィールド

ラベルを持つローカラムおよびテキストウィジェットに変換されます。テキストが複数行に設定されている場合は、スクロールテキストになります。

リスト

スクロールリストに変換されます。リストにラベルの属性が設定されている場合は、スクロールリストは、ラベルを表示するラベルウィジェットを子として持つローカラムの子として作成されます。リストにタイトルの属性がある場合は、スクロールリストは、そのタイトルを表示するラベルを持つフレームの子として作成されます。

ドロップターゲット

ラベルに割り当てられます。

スタック

子としてスタックメンバーウィジェットを持つローカラムに変換されます。

グループ

子として各メンバーウィジェットを持つローカラムに変換されます。

端末区画およびテキスト区画

いずれもスクロールテキストに変換されます。

属性

gil オブジェクトがウィジェットに割り当てられた場合は、属性は適切なウィジェットリソースに割り当てられなければなりません。以下のリソースが常に割り当てられます。

表 24-7 常に変換されるリソース

gil

xd

注釈

x

XmNx

 

y

XmNy

 

XmNwidth

 

高さ

XmNheight

 

前景色

XmNforeground

 

背景色

XmNbackground

 

初期状態

mNsensitive

非活性、応答可能 = false

非表示、マネージ = false

幅および高さリソースは、 gil2xd の実行時に -w または -h オプションが設定されている場合にのみ使用されます。x および y リソースは、-x または -y オプションが設定されている場合に出力されます。ただし、フォームの子であるウィジェットに対しては、x および y 座標を使用してデフォルトのフォームアタッチメントを算出し、適切な配置が保たれるように処理します。

Motif マネージャウィジェットの多くは、明示的な x、y、幅および高さのリソースを無視します。実行時オプションとは関係なく gil2xd フィルタを使用して、Sun WorkShop Visual で簡単に修正できる、適切な配置を作成することができます。

その他のリソースは、最も近いと思われるリソースに変換されます。

表 24-8 最も近いリソースに変換されるリソース

gil

xd

注釈

カラム

XmNcolumns

 

固定幅

XmNrecomputeSize

 

グループ型

XmNorientation

類似したグループ配置を再現するには、XmNnumcolumns, XmNorientation および XmNpackingを設定します。

アイコンファイル

XmNiconPixmap

 

アイコンラベル

XmNiconName

 

アイコンマスク

XmNiconMask

 

初期状態

XmNinitialState

ダイアログシェルのみ

初期値

XmNvalue

 

ラベル

XmNlabelString

該当するラベルが glyph 型の場合には、ラベルは labelPixmapに割り当てられます。

ラベル

XmNtitle

シェルの場合

ラベル

XmNtitleString

ゲージの場合

ラベル型

XmNlabelType

 

配置型

XmNorientation

 

最大値

XmNmaximum

 

メニュー型

XmNradioBehavior

排他的の場合には、XmNradioBehavior = true

最小値

XmNminimum

 

複数選択

XmNselectionPolicy

設定されている場合は、XmNselectionPolicy = MULTIPLE_SELECT

配置方向

XmNorientation

 

ピン可能

XmNtearOffModel

ピン可能である場合は、XmNtearOffModel = TEAR_OFF_ENABLED

読み出し専用

XmNeditable

 

サイズ変更可能

XmNallowResize

 

XmNnumColumns

類似したグループ配置を再現するには、XmNnumColumns、XmNorientation、XmNpacking を設定します。

XmNrows

テキストウィジェットの場合

XmNvisibleItemCount

リストウィジェットの場合

要選択

XmNradioAlwaysOne

 

ボーダー表示

XmNshadowThickness

設定されている場合は、シェルの子ではないフォームに対して、XmNshadowThickness を 1 に設定します。

値表示

XmNshowValue

 

スライダ幅

XmNscaleWidth

配置方向によって、XmNscaleWidth または XmNscaleHeight を設定します。

保存長

XmNmaxLength

 

テキスト初期値

XmNvalue

 

テキスト型

XmNeditMode

複数行の場合は、XmNscrollVertical = false、行は XmNrows に変換されます。

タイトル

XmNlabelString

 

値の長さ

XmNcolumns

 

関数型 CallFunction を持つアクションは、適切なコールバックに変換されます。

表 24-9 コールバックに変換されるアクション

アクション

コールバック

ウィジェット

Create

XmNcreateCallback

任意

Destroy

XmNdestroyCallback

任意

Notify

XmNactivateCallback

プッシュボタン

select

XmNinputCallback

描画領域

adjust

XmNinputCallback

描画領域

DoubleClick

XmNinputCallback

描画領域

Repaint

XmNexposeCallback

描画領域

Resize

XmNresizeCallback

描画領域

Select

XmNvalueChangedCallback

ゲージ

Adjust

XmNdragCallback

ゲージ

Notify

XmNvalueChangedCallback

ゲージ

Popup

XmNmapCallback

メニュー

Popdown

XmNunmapCallback

メニュー

Notify

XmNentryCallback

メニュー

Notify

XmNvalueChangedCallback

トグルボタン

Unselect

XmNvalueChangedCallback

トグルボタン

Popup

XmNpopupCallback

シェル

Popdown

XmNpopdownCallback

シェル

Notify

XmNactivateCallback

テキスト

KeyPress

XmNvalueChangedCallback

テキスト

Notify

XmNentryCallback

ローカラム

Done

XmNunmapCallback

フォーム

Notify

XmNbrowseSelectionCallback

リスト

表 24-9 に記載されていない GIL アクションも多数存在します。ただし、適切な Motif コールバックが存在しないため、これらはフィルタでサポートされていません。

表示、非表示、有効化、無効化の接続を持つプッシュボタンに対する notify アクションは、適切な Sun WorkShop Visual リンクに変換されます。


前へ 次へ 目次 文書セット ホーム

サン・マイクロシステムズ株式会社
Copyright information. All rights reserved.