Foundation > Rogue Wave Script プログラミング > Rogue Wave Views オブジェクトの結合 > Rogue Wave Views オブジェクトの結合
 
Rogue Wave Views オブジェクトの結合
Rogue Wave® Views オブジェクトを結合するには、以下の関数を呼び出します。
IlvScriptContext::bind(IlvValueInterface* object,
const char* name);
この関数は結合させるオブジェクトへのポインターを最初のパラメーターとし、オブジェクトを結合させる文字列を 2 つ目のパラメーターとします。 Rogue Wave Script のプログラマーはこの名前を使用して、関連付けられたオブジェクトにアクセスできます。ポインターのタイプは IlvValueInterface で、これはほとんどの Rogue Wave Views クラスのスーパークラスです
したがって、IlvApplication オブジェクトを次のコードで結合できます。
IlvScriptLanguage* jvscript = IlvScriptLanguage::Get("JvScript);
IlvScriptContext* theContext = jvscript->getGlobalContext();
theContext->bind(theApp, "Application");
// theApp is the pointer to an IlvApplication
上記のコードは Application シンボルを使用して、IlvApplication オブジェクトを Rogue Wave Script に結合します。この結果、Application に付加されたプロパティーに Rogue Wave Script からアクセスできるようになります。
var name = Application.name;
Rogue Wave Script の Rogue Wave Views オブジェクトへアクセスする
アプリケーションにあるすべての Rogue Wave Views オブジェクトを結合する場合もあります。これを行う最適の方法は、ルート・オブジェクトだけを結合することです。これは、このオブジェクトを起点とするほとんどすべての Rogue Wave Views オブジェクトに直接または間接的にアクセスできるからです。
たとえば、ivfstudio から生成した Rogue Wave Views アプリケーションで、IlvApplication::getPanel メソッドを呼び出し、アプリケーションへのポインターを使用してパネルへのポインターにアクセスできます。同様に、IlvContainer::getObject メソッドを呼び出してパネルのガジェットにアクセスできます。このため、このようなアプリケーションで結合する唯一のオブジェクトは IlvApplication オブジェクトとなります。
アプリケーション・オブジェクト
ivfstudio で生成したアプリケーションでは、IlvApplication オブジェクトは Application シンボルに結合します。Application オブジェクトを起点とするその他の Rogue Wave Views オブジェクトすべてにアクセスできます。
アプリケーションに myPanel というパネルが 1 つ含まれていると想定します。以下のようにして、Rogue Wave Script でパネルにアクセスできます。
var panel = Application.getPanel("myPanel");
このタイトルを変更するには、以下のように入力します。
panel.title = "New title";
アプリケーションのパネルに myButton というボタンが含まれている場合、次のコードを使用してアクセスします。
var button = panel.getObject("myButton");
ボタンのラベルを変更するには、以下のように入力します。
button.label = "A new label";
パネルおよびガジェットへのアクセス
以下は、アプリケーションのパネルとガジェットへの簡単なアクセス方法です。
Rogue Wave Script の myPanel というパネルにアクセスするには、次のように入力します。
var panel = Application.myPanel;
このタイトルを変更するには、以下のように入力します。
Application.myPanel.title = "A new title";
パネルのガジェットにアクセスするには、以下のように入力します。
var button = panel.myButton;
この方法でアクセスできるのは、通常の名前が付いたパネルおよびガジェットのみです。パネル名またはガジェット名に、&+-=、空白などの特殊文字が使用されている場合、上記の方法ではアクセスできません。これらの文字をパネル名やガジェット名に使用しないように注意してください。

Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.