WideStudio Application Builder User's Guide(Ruby言語)

オブジェクトのプロパティ値を取得/設定するには

イベントプロシージャにおいて、オブジェクトのプロパティに対してアクセ スすることができます。次のAPIを利用します。

アクセス関数 機能
Mwt::WSCvariant getProperty() プロパティ値の取得
Mwt::WSCvariant setProperty() プロパティ値の設定



プロパティ値の取得

オブジェクトのプロパティを取得するには、WSCbase クラスのメンバ関数である getProperty() を利用します。

def event_procedure(object)

  # "x" (X座標)プロパティの値の文字列による取得
  x = object.getProperty("x")  
  printf("x=%s\n",x.getCharPtr())  # 文字列の取得

  # "y" (Y座標)プロパティの値の取得
  y =  object.getProperty("y")  
  printf("y=%d\n",y.getLong())  # long 型の値の取得

end

"x" の例では、文字列で値を取得し、 "y" の例では、数値型で受け取っています。関数 getProperty() は、 WSCvariant 型で値を返しますが、WSCvariant 型は、それぞれの型の 値を取り出す事ができます。

Mwt::WSCvariant 値取得関数 機能
getChar() char 型の値の取得
getUnsignedChar() unsigned char 型の値の取得
getShort() short 型の値の取得
getUnsignedShort() unsigned short 型の値の取得
getLong() long 型の値の取得
getUnsignedLong() unsigned long 型の値の取得
getInt() int 型の値の取得
getUnsignedInt() unsigned int 型の値の取得
getFloat() float 型の値の取得
getDouble() double 型の値の取得
getCharPtr() char* 型(文字列)の値の取得



プロパティ値の設定

オブジェクトのプロパティを設定するには、WSCbase クラスのメンバ関数である setProperty() を利用します。

def event_procedure(object)

  # "x" (X座標)プロパティの文字列による設定
  x="100" 
  object.setProperty("x",x)  

  # "y" (Y座標)プロパティの設定
  y=100  
  object.setProperty("y",y)  

end

"x" の例では、文字列で値を設定しています。"y" の例では、整数型で値 を設定しています。



プロパティ値の描画への反映

通常、イベントプロシージャの実行直後に反映されますが、変更後、プロパ ティの値を直ちに反映させたい場合、update()、draw()、redraw() を呼び 出します。

ウィンドウシステムによっては、(例えば、X11 システムの場合など) 描画 を行った際、すぐにウィンドウシステムに反映されない場合があります。そ のような場合は、WSDappDev クラスの update() を呼び出してください。

def event_procedure(WSCbase* object)

  $obj1.setProperty("labelString","テキスト")  
  $obj1.update()   # 直ちにオブジェクトを更新。
  Mwt::WSGIappDev().update()  # ウィンドウシステムへの描画要求を反映させます。
 
  $obj2.setProperty("labelString","テキスト")  
  $obj2.update()   # 直ちに描画される
  Mwt::WSGIappDev().update()  # ウィンドウシステムへの描画要求を反映させます。
end


Document Release 3.80 for WideStudio ver 3.80, Jan 2005


WideStudio documents index | 目次
バグ情報、ご質問等ございましたら、メーリングリストでご確認の上、 御気軽にこちらの方までよろしくお願いいたします。