Solaris 共通デスクトップ環境 プログラマーズ・ガイド

アクションを実行するには

    アクションを実行するには、DtActionInvoke() 関数を使用します。

DtActionInvoke (widget, action, args, argCount, termOpts, execHost,, 
		contexDir, useIndicator,statusUpdateCb, client_data)

DtActionInvoke() は、アクション・データベースから、指定されたアクション名に一致するエントリを探して、指定されたクラス、型、およびカウントの引き数を受け入れます。アクションを実行する前に、アプリケーションはデータベースを初期化し、読み込まなければならないので注意してください。

DtActionInvoke() の例

次のコードは、actions.c の中の activateCB() (描画ボタンの起動コールバック) の一部です。

DtActionInvocationID actionId;
/* If a file was specified, build the file argument list */
printf("%s(%s)¥n",action,file);
if (file != NULL && strlen(file) != 0) {
  ap = (DtActionArg*) XtCalloc(1, sizeof(DtActionArg));
  ap[0].argClass = DtACTION_FILE;
  ap[0].u.file.name = file;
  nap = 1;
}
/* Invoke the specified action */
actionId = DtActionInvoke(shell,action,ap,nap,NULL,NULL,NULL,True,NULL,NULL);