WideStudio Logo
WideStudio
Programming Guide
WideStudio Index
目次


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

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

アクセス関数 機能
mpfc::WSCvariant mpfc::WSCbase_getProperty() プロパティ値の取得
mpfc::WSCvariant mpfc::WSCbase_setProperty() プロパティ値の設定



プロパティ値の取得

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

#----------------------------------------------------------
#Function for the event procedure
#----------------------------------------------------------
use mpfc;

sub event_procedure {
        my ($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 型の値の取得
}
1;

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

mpfc::WSCvariant 値取得関数 機能
mpfc::WSCvarinat_getChar() char 型の値の取得
mpfc::WSCvarinat_getUnsignedChar() unsigned char 型の値の取得
mpfc::WSCvarinat_getShort() short 型の値の取得
mpfc::WSCvarinat_getUnsignedShort() unsigned short 型の値の取得
mpfc::WSCvarinat_getLong() long 型の値の取得
mpfc::WSCvarinat_getUnsignedLong() unsigned long 型の値の取得
mpfc::WSCvarinat_getInt() int 型の値の取得
mpfc::WSCvarinat_getUnsignedInt() unsigned int 型の値の取得
mpfc::WSCvarinat_getFloat() float 型の値の取得
mpfc::WSCvarinat_getDouble() double 型の値の取得
mpfc::WSCvarinat_getCharPtr() char* 型(文字列)の値の取得



プロパティ値の設定

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

#----------------------------------------------------------
#Function for the event procedure
#----------------------------------------------------------
use mpfc;

sub event_procedure {
        my ($object) = @_;

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

	# "y" (Y座標)プロパティの設定
	$y=100; 
	$object->setProperty("y",$y); 
	return;
}
1;

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



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

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

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

#----------------------------------------------------------
#Function for the event procedure
#----------------------------------------------------------
use mpfc;

sub event_procedure {
  my ($object) = @_;

  $newvlab_001->setProperty("labelString","テキスト"); 
  $newvlab_001->update();    # 直ちにオブジェクトを更新。
  mpfc::WSGIappDev()->update(); # ウィンドウシステムへの描画要求を反映させます。
 
  $newvlab_002->setProperty("labelString","テキスト"); 
  $newvlab_002->update();    # 直ちにオブジェクトを更新。
  mpfc::WSGIappDev()->update(); # ウィンドウシステムへの描画要求を反映させます。
  return;
}
1;


Document Release 3.70 for WideStudio ver 3.70, Feb 2004


WideStudio documents index | 目次

Copyright(C) T. Hirabayashi, 2000-2004 Last modified: Feb 25, 2004