WideStudio/MWT Logo
WideStudio/MWT
Programming Guide
WideStudio/MWT Index
Table of contents


How to access a value of the property of the instance

In the event program, you can access the property of the instance by the method: get/setProperty().

the access method Description
getProperty() get a value of the specified property
setProperty() set a value to the specified property



How to get a value of the properties

You can get a value of the property by the method of WSCbase: getProperty().

void event_procedure(WSCbase* object){

  //To get a value of the property: WSNx by string type.
  WSCstring x = object->getProperty(WSNx); 
  printf("x=%s\n",(char*)x);

  //To get a value of the property: WSNy by short type.
  short y =  object->getProperty(WSNy); 

}

In the example of WSNx, it gets a value by string type. The WSCstring type manages the buffer of the string automatically, so there is no need to manage it by programmer.

In the example of WSNy, it gets the value by short type. The method: getProperty() returns a value by WSCvariant type. The WSCvariant type can convert the various kinds of types automatically. The following example is a conversion of short type into string type.

void cbop(WSCbase* object){

  //To get a value of the property: WSNx by string type.
  WSCstring x = object->getProperty(WSNx); 
  printf("x=%s\n",(char*)x);

  //To get a value of the property: WSNy by short type.
  short y =  object->getProperty(WSNy); 

  //convert into string..
  WSCvariant stry = y;
  printf("y=%s\n",(char*)stry);
  //convert into double.
  printf("y=%fl\n",(double)stry);
}

Notice: You can not get the value by char*,if you use it,the pointer will be junk pointer when the method of WSCbase: getProperty() will be done, because the returned value is auto variable of the WSCvariant, so the WSCvariant instance and its internal buffer for string is destroyed when the method is done. If you want to get the char* pointer, see the following program.

void event_procedure(WSCbase* object){

  //To get a value of the property: WSNlabelString by char pointer.
  //Not good! the pointer string will be junk pointer!
  char* string = object->getProperty(WSNlabelString); 

  //To get a value of the property: WSNlabelString by char pointer.
  //Good example. The string1 (WSCstring instance) keeps the string buffer.
  WSCstring string1
  string1 = object->getProperty(WSNlabelString); 
  char* str = (char*)string1;

}



Setting of property

You can set a value to the property by the method of WSCbase: setProperty().

void event_procedure(WSCbase* object){

  //To set a value to the property: WSNx by string type.
  char* x="100";
  object->setProperty(WSNx,x); 

  //To set a value to the property: WSNy by short type.
  short y=100; 
  object->getProperty(WSNy,y); 

}

In the example of WSNx, it sets a value by string type. In the example of WSNy, it sets a value by short type. The parameter of the method: setProperty() is WSCvariant type, so it converts the value automatically.

Updating the instance to reflect the changed value

Use the method: update(),draw(),redraw() to update the instance to reflect the changed value.


  obj1->setProperty(WSNlabelString,"string1"); 
  obj1->update();  //updates the instance
  obj2->setProperty(WSNlabelString,"string2"); 
  obj2->update();  //updates the instance

Usually, it updates automatically when the event procedure is done, but if you want to update right away,you can use the method: update(),draw(),redraw().

The method: update() or draw() updates the instance if needed, but redraw() updates compulsory.

Document Release 3.90 for WideStudio/MWT ver 3.90, Jul 2005


WideStudio/MWT documents index | Table of contents

Copyright(C) WideStudio/MWT Development Team, 1999-2005 Last modified: Jul 31, 2005