共通デスクトップ環境 Dtksh ユーザーズ・ガイド

ウィジェットの作成

ウィジェット作成に使用できるいくつかのコマンドは、次のとおりです。

XtCreateWidget

管理されないウィジェットを作成します。

XtCreateManagedWidget

管理されるウィジェットを作成します。

XtCreateApplicationShell

アプリケーション・シェルを作成します。

XtCreatePopupShell

ポップアップ・シェルを作成します。

XmCreate<widgettypes>

管理されないウィジェットを作成します。

これらのコマンドにはそれぞれ、従わなければならない特定の形式があります。たとえば、管理されないプッシュ・ボタン・ウィジェットをトップレベル・ウィジェットの子として作成したいと仮定します。XtCreateWidgetXmCreatePushButton のどちらかを使用できます。これらのコマンドの形式は、次のとおりです。

プッシュ・ボタン・ウィジェットを作成する実際のコマンドは、次のとおりです。

XtCreateWidget BUTTON button XmPushButton $TOPLEVEL 
XmCreatePushButton BUTTON $TOPLEVEL button

上記のそれぞれのコマンドは、全く同じ動作 (管理されないプッシュ・ボタンの作成) をします。リソース値は設定されていないことに注意してください。プッシュ・ボタンのバックグラウンドの色を赤、フォアグラウンドの色を黒にしたいと仮定します。これらのリソース値を次のように設定できます。

XtCreateWidget BUTTON button XmPushButton $TOPLEVEL ¥
background:Red ¥
foreground:Black 
XmCreatePushButton BUTTON $TOPLEVEL button¥
background:Red ¥ 
foreground:Black

ウィジェットを作成する C 関数のすべてが、ウィジェット ID または ID を返します。対応する dtksh コマンドは、ウィジェット ID と同じ環境変数を設定します。これらはカテゴリ 3 コマンドで、その最初の引き数は、ウィジェット ID が戻る環境変数の名前です。ウィジェット ID は、dtksh が実際のウィジェット・ポインタにアクセスするために使用する ASCII 文字です。次のどちらかのコマンドで、新規フォーム・ウィジェットを作成できます。ただし、どちらの場合も、新規フォーム・ウィジェットのウィジェット ID が環境変数 FORM に返されます。

どちらかのコマンドを実行した後、$FORM を使用して新規フォーム・ウィジェットを参照できます。たとえば、次のコマンドを使用して、新規フォーム・ウィジェット内でラベル・ウィジェットを作成できます。

XmCreateLabel LABEL $FORM name¥
labelString:"Hi Mom" ¥
CH_FORM ¥ 
leftAttachment:ATTACH_FORM

注 -

NULL と呼ばれる特別なウィジェット ID があります。これは、シェル・スクリプトに NULL のウィジェットの指定が必要である場合に使用します。たとえば、フォーム・ウィジェットの defaultButton リソースを無効にする場合には、コマンド XtSetValues $FORM defaultButton:NULL を使用してください。