°´Ã¼ÀÇ ¼Ó¼ºÁö¸¦ Ãëµæ/ ¼³Á¤Çϱ⿡´Â
À̺¥Æ® ÇÁ·Î½ÃÀú¿¡ÀÖ¾î¼, °´Ã¼ÀÇ ¼Ó¼º¿¡´ëÇÏ¿© Á¢±Ù(access)
ÇÒ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ÀÇ API¸¦ »ç¿ëÇÕ´Ï´Ù.
Á¢±Ù(access) ÇÔ¼ö | ±â´É |
WSCvariant getProperty() | ¼Ó¼ºÁöÀÇ Ãëµæ |
WSCvariant setProperty() | ¼Ó¼ºÁöÀÇ ¼³Á¤ |
¼Ó¼ºÁöÀÇ Ãëµæ
°´Ã¼ÀÇ ¼Ó¼ºÀ» ÃëµæÇϱ⿡´Â,WSCbase Ŭ·¡½ºÀÇ ¸â¹ö ÇÔ¼öÀÎ
getProperty() ÀÇ »ç¿ëÇÕ´Ï´Ù.
...
let event_procedure obj =
(* "x" (X ÁÂÇ¥) ¼Ó¼ºÁöÀÇ ¹®ÀÚ¿¿¡ÀÇÇÑ Ãëµæ *)
let x = obj -> getProperty ("x")
in print_string( get_string x); (* ¹®ÀÚ¿ Ãëµæ *)
print_newline();
(* "y" (Y ÁÂÇ¥) ¼Ó¼ºÁöÀÇ Ãëµæ *)
let y = obj -> getProperty ("y")
in print_int(get_int y); (* longÇü º¯¼öÀÇ °ªÀ» Ãëµæ *)
print_newline();
()
let _ = Callback.register "event_procedure" event_procedure
"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() ¸¦ »ç¿ëÇÕ´Ï´Ù.
...
let event_procedure obj =
(* "x" (X ÁÂÇ¥) ¼Ó¼ºÀÇ ¹®ÀÚ¿¿¡ÀÇÇÑ ¼³Á¤ *)
let x = "100"
in obj -> setProperty ("x", (make_string x) );
(* "y" (Y ÁÂÇ¥) ¼Ó¼ºÀÇ ¼³Á¤ *)
let y = "100"
in obj -> setProperty ("y", (make_int y) );
()
let _ = Callback.register "event_procedure" event_procedure
"x" ÀÇ ¿¹·Î´Â ¹®ÀÚ¿·Î °ªÀ» ¼³Á¤ÇϰíÀÖ½À´Ï´Ù."y" ÀÇ ¿¹·Î´Â Á¤¼öÇüÀ¸·Î °ªÀ»
¼³Á¤ÇϰíÀÖ½À´Ï´Ù.
¼Ó¼ºÁöÀÇ ¹¦È¿¡ÀÇ ¹Ý¿µ
º¸Åë, À̺¥Æ® ÇÁ·Î½ÃÀúÀÇ ½ÇÇàÁ÷ÈÄ¿¡ ¹Ý¿µµÇ³ª, º¯°æÈÄ, ¼Ó¼ºÀÇ
°ªÀ» Áï½Ã ¹Ý¿µÇÒ °æ¿ì,update(),draw(),redraw() ¸¦ È£ÃâÇÕ´Ï´Ù.
À©µµ¿ì ½Ã½ºÅÛ¿¡ µû¶ó¼´Â ( ¿¹ÄÁµ¥ X11 ½Ã½ºÅÛÀÇ °æ¿ìµî) ¹¦È
¸¦ ÇѶ§, Áï½Ã´Â À©µµ¿ì ½Ã½ºÅÛ¿¡ ¹Ý¿µ¾ÈµÉ °æ¿ì°¡ ÀÖ½À´Ï´Ù.
±×·² °æ¿ì´Â WSDappDev Ŭ·¡½ºÀÇ update() ¸¦ È£ÃâÇØÁֽʽÿÀ.
...
let event_procedure obj =
!obj1 -> setProperty ("labelString", ,"ÅýºÆ®");
!obj1 -> update() (* Áï½Ã °´Ã¼¸¦ °»½Å. *)
_WSGIappDev'() -> "update" (); (* À©µµ¿ì ½Ã½ºÅÛ¿¡·Î ¹¦È¿ä±¸¸¦ ¹Ý¿µÇÕ´Ï´Ù.*)
!obj2 -> setProperty ("labelString","ÅýºÆ®");
!obj2 -> update() (* Áï½Ã ¹¦ÈµÈ´Ù. *)
_WSGIappDev'() -> update (); (* À©µµ¿ì ½Ã½ºÅÛ¿¡·Î ¹¦È¿ä±¸¸¦ ¹Ý¿µÇÕ´Ï´Ù. *)
()
let _ = Callback.register "event_procedure" event_procedure