객체의 속성지를 취득/ 설정하기에는
이벤트 프로시저에있어서, 객체의 속성에대하여 접근(access)
할수 있습니다. 다음의 API를 사용합니다.
| 접근(access) 함수 | 기능 |
| 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" 의 예로는, long형으로 받았습니다. 함수 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.getProperty("labelString","택스트")
$obj1.update() # 즉시 객체를 갱신.
Mwt::WSGIappDev().update() # 윈도우 시스템에로 묘화요구를 반영합니다.
$obj2.getProperty("labelString","택스트")
$obj2.update() # 즉시 묘화된다.
Mwt::WSGIappDev().update() # 윈도우 시스템에로 묘화요구를 반영합니다.
end