Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ MrmFetchWidget(3XM) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

MrmFetchWidgetOverride(3XM)

MrmFetchWidget(3XM)  —  NEWS-OS Programmer’s Manual

名称

MrmFetchWidget − インデックスのついた (uil 名のついた) アプリケーション widget とその子をフェッチし、生成します。

形式

#include <Xm/Intrinsics>
#include <Mrm/MrmPublic.h>
Cardinal MrmFetchWidget(hierarchy_id, index, parent_widget, widget, class)

MrmHierarchy hierarchy_id;
String index;
Widget parent_widget;
Widget ∗widget;
MrmType ∗class;

解説

MrmFetchWidget 関数は、 インデックスのついたアプリケーション widget とその子をフェッチし、そして生成します。 インデックスのついたアプリケーション widget とは、uil で名前がつけられていて、uid 階層構造 の中の他のどの widget の子でもないような widget のことです。 フェッチ操作の中で、フェッチされた widget のサブツリーもフェッチされ、生成されます。 この widget は、自身のサブツリーの中の widget の子として現れてはなりません。 MrmFetchWidget は、新しく生成された widget に対して XtManageChild を実行しません。

hierarchy_idインターフェース定義を含む uid 階層構造の ID を指定します。 hierarchy_id は MrmOpenHierarchy を呼び出したときのリターン値です。

indexフェッチする widget の uil 名を指定します。

parent_widget
親 widget の ID を指定します。

widget生成された widget の ID を返します。 MrmFetchWidgetOverride を呼び出したときにこれが NULL でなかった場合、 MRM は widget がすでに生成されたいるものとみなし、MrmFetchWidgetOverride は MrmFAILURE を返します。

classMRM の widget クラスを識別するクラスコードを返します。 たとえば、メインウィンドウ widget の widget クラスコードは MRMwcMainWindow です。 MRM  widget クラスコードを識別するリテラルは Mrm.h で定義されています。 MrmFetchWidget は、MrmFetchInterfaceModule が用いられていない widget をフェッチします。 MrmFetchWidget は、uil ファイルからどの widget をフェッチするかについての指定の制御を提供します。 一方、MrmFetchInterfaceModule は、1 回の呼び出しですべての widget をフェッチします。 アプリケーションは、MrmFetchWidget を用いて uid 階層構造中の名前のついたどの widget でもフェッチすることができます。 アプリケーション起動時にフェッチされていない widget をフェッチするために、いつでも MrmFetchWidget を呼び出すことが可能です。 MrmFetchWidget は、widget が NULL かどうかを調べることによって widget がすでにフェッチされているのかどうかを判断します。 NULL でない値は widget がすでにフェッチされていることを表し、このとき MrmFetchWidget の実行は失敗します。 MrmFetchWidget は、 ポップアップ widget のフェッチを、最初に参照する時 (おそらくコールバック時) まで延期し、しかも最初の 1 回だけフェッチするようなときに用いることができます。 MrmFetchWidget は、widget (とそのサブツリー) のインスタンスを複数生成することができます。 この場合、uid 定義はテンプレートとして機能し、widget 定義は何回でもフェッチすることができます。 アプリケーションはこれを用いて、たとえばダイアログボックスやメニューなどで widget のインスタンスを複数つくることができます。 アプリケーションは、widget を識別するインデックス (uil 名) を知っていなければなりません。

リターン値

この関数は、状態を示す以下の定数のうちのいずれかを返します。

MrmSUCCESS関数が正常に実行された。

MrmNOT_FOUND
widget が UID 階層構造の中に見つからなかった。

MrmFAILURE関数の実行が失敗した。

関連事項

MrmFetchWidgetOverride(3XM)

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026