XtSetArg(3Xt) — NEWS-OS Programmer’s Manual
名称
XtSetArg, XtMergeArgLists − ArgLists を設定およびマージする
形式
XtSetArg(arg, name, value)
Arg arg;
String name;
XtArgVal value; ArgList XtMergeArgLists(args1, num_args1, args2, num_args2)
ArgList args1;
Cardinal num_args1;
ArgList args2;
Cardinal num_args2;
引数
arg設定する名前と値のペアを指定します。
args1最初の ArgList を指定します。
args22 番目の ArgList を指定します。
num_args1最初の引数リスト中の引数の数を指定します。
num_args22 番目の引数リスト中の引数の数を指定します。
nameリソース名を指定します。
valueXtArgVal タイプにフィットするときはリソースの値を、 さもなくばアドレスを指定します。
解説
XtSetArg 関数は、一般に、非常に密に様式化された方法で使用され、 誤り発生の確率を最小にします。たとえば、
Arg args[20];
int n;
n = 0;
XtSetArg(args[n], XtNheight, 100);n++;
XtSetArg(args[n], XtNwidth, 200);n++;
XtSetValues(widget, args, n);
あるいは、アプリケーションは、静的に、引数リストを宣言し、 XtNumber を使用することもできます。
static Args args[] = {
{XtNheight, (XtArgVal) 100},
{XtNwidth, (XtArgVal) 200},
};
XtSetValues(Widget, args, XtNumber(args));
なお、 XtSetArg に対する最初の引数には自動インクリメントまたは自動ディクレメントを 使用してはならないことに注意してください。 ( XtSetArg(args[n++],XtNheight,100); としてはいけない ) XtSetArg は、最初の引数を 2 度参照しないマクロとして実施されます。 XtMergeArgLists 関数は、結合された ArgList 構造体を保持するに十分な記憶領域を割当て、それらをその領域に複写します。 なお、 XtMergeArgLists は重複エントリについてはチェックしないことに注意してください。 それ以上必要がなくなった場合は、 XtFree を使用して、返された記憶領域を解放します。
関連事項
XtOffset(3Xt)
X Toolkit Intrinsics − C Language Interface
Xlib − C Language X Interface
NEWS-OSRelease 4.1C