308
YAHOO! WIDGET ENGINE 3.1 참조 매뉴얼 Version 3.1.1 April 14, 2006 Copyright 2002-2006 Yahoo! Inc. All Rights Reserved

YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

YAHOO! WIDGET ENGINE 3.1참조 매뉴얼

Version 3.1.1April 14, 2006

Copyright 2002-2006 Yahoo! Inc.All Rights Reserved

Page 2: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

� | WIDGET ENGINE 3.1 REFERENCE

출판 연혁

초판 February10,2003SecondRelease February12,2003ThirdRelease February15,2003FourthRelease February19,2003FifthRelease Version1.5 July23,2003SixthRelease Version1.5.1 September26,2003SeventhRelease October8,2003EighthRelease Version1.6.2 June6,2004NinthRelease Version1.8 November8,2004TenthRelease Version1.8.1 November24,2004EleventhRelease Version1.8.3 January18,2005TwelfthRelease Version2.1 July23,2005ThirteethRelease Version2.1.1 August3,2005FourteenthReleaseVersion3.0 December7,2005FifteenthRelease Version3.0.x January6,2006SixteenthRelease Version3.1 March30,2006SeventeenthReleaseVersion3.1.1 April14,2006

자문과수정을담당해준모든분들께감사드립니다.

본제품은OpenSSLToolkit에서의이용을위하여OpenSSL이개발한소프트웨어를포함하고있습니다.(http://www.openssl.org/)

Page 3: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

WIDGET ENGINE 3.1 REFERENCE | 3

기본 사항

Yahoo!WidgetEngine(본문서에서는단순히‘위젯엔진’이나때때로‘엔진’이라는표현이대신사용되기도함)에서는위젯들및그것들을구성하는객체들을정의하는XML을사용합니다.이것은각객체가어떤것인지에대한명확한종속관계를구축하며,그리는순서를정하고또한각객체에정확한속성을부여하는함수를합니다.

매우단순한위젯의경우라면다음과같은형태를지닙니다:

<widget debug="on"> <window title="Sample Yahoo! Widget"> <name>main_window</name> <width>500</width> <height>500</height>

<image src="Images/Sun.png" name="sun1"> <hOffset>250</hOffset> <vOffset>250</vOffset> <alignment>center</alignment> </image> <text data="Click Here" size="36" style="bold"> <name>text1</name> <hOffset>250</hOffset> <vOffset>100</vOffset> <alignment>center</alignment> <onMouseUp> sun1.opacity = (sun1.opacity / 100) * 90; </onMouseUp> </text> </window> </widget>

여기에서나타내는것은사용자가“ClickHere”라는내용의텍스트를클릭할때마다매번10%씩이미지를더투명하게만든다는내용입니다.실제로이사례가그다지유용한것은아니겠지만몇가지요점을설명하기위해단순화시킨사례로

Page 4: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

� | WIDGET ENGINE 3.1 REFERENCE

는괜찮을것입니다.이것은Images/Sun.png라는단하나의외부파일에의존하고있으며만약그파일이없는경우“missingimage”라는표시가뜨게됩니다.

먼저,위젯의구조에주목해봅시다:XML은대칭적인언어로서각객체의지시자(specifier,예:<text>)에는반드시그에대응되는종결자(terminator,예:</text>)가있습니다.이러한지시자와종결자의안쪽에는스크린위치지정,정렬(alignment)등과같은객체의속성이정의됩니다.(sun1와같이)XML에서정의된객체들은자바스크립트내에서조작이가능합니다.(text1객체내의onMouseDown처리기(handler)를참조하십시오.)객체들의이름은반드시문자로시작해야하며또한반드시문자,숫자,혹은밑줄(_)로만구성되어야합니다.위젯의XML은확장자명이.kon인파일속에저장됩니다(아래에서는,이파일이위치하는번들의개념에대한고찰을참조하십시오).

실제의위젯들은수많은이미지들과문자객체들,여러개의자바스크립트섹션으로구성되어있으며(종종외부파일이될수도있음),보통은위젯실행중에자바스크립트를이용하여새로운개체들을생성하여복잡한함수를수행합니다.

XML 문법(syntax)

Yahoo!WidgetEngine의XML파서는충분히안정적이며XML의두가지스타일의테그표시법과두가지모두섞은복합형태모두받아들입니다.이두가지의스타일의예가다음과같습니다:

<image> <src>images/image.png</src> <name>myImage</name> </image>

혹은:

<image src="images/image.png" name="myImage"/>

복합적인스타일도괜찮습니다.

<image src="images/image.png"> <name>myImage</name> </image>

엔티티 (Entities)

엔티티란특별한escape시퀸스(sequence)을통하여하나의문자를지정할수있는XML구조입니다.어떤문자들은XML문법를분석이해하는데에사용되기때문에따로예비된기호로간주합니다.&기호는escape시퀸스가시작됨을의미합니다(이런이유로이기호역시따로예비된기호로간주됩니다).XML의특수문자를표현하는데에는일련의표준엔티티들이사용됩니다:

&amp; & &quot; " &apos: ' &lt < &gt >

Page 5: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

WIDGET ENGINE 3.1 REFERENCE | �

유니코드포인트를통하여문자를지정하는개체를이용할수도있습니다:

&#32; <space character, decimal> &#x20; <space character, hex>

이임의적인개체들은2.1버전이후에서만사용할수있습니다.

자바스크립트 (JavaScript)

XML엔진에서는<기호및>기호를XML데이터의블록표시를위한것으로인식하기때문에자바스크립트엔진에서는이기호들을각기&lt;및&gt;로대체해야합니다.예를들면아래와같습니다:

<onMouseUp> if (x &lt; 5) displayResults(); </onMouseUp>

혹은HTML에서자주볼수있듯이,XML엔진으로부터자바스크립트코드를숨기는XML명령문들을이용할수도있습니다.다음과같이표시됩니다:

<onMouseUp> <!-- if (x < 5) displayResults(); //--> </onMouseUp>

이방법은코드를더읽기쉽게만들어주기때문에일반적으로더선호되기도합니다.

2.1버전이후에서는CDATA섹션들을이용할수도있습니다(최근들어서는실제로이방법을사용하는것이더정확하며,strictmode로파서를동작하게할경우에는꽤긴요하게쓰입니다):

<onMouseUp> <![CDATA[ if (x < 5) displayResults(); ]]> </onMouseUp>

또한외부자바스크립드에대한참조를만드는메소드(method)을사용할수도있는데,이에대해서는뒤쪽에서다룹니다.

Strict Mode

버전2.1이후에서는XML파서를‘strict(엄격)’모드로동작하게할수있습니다.이것은파서가이전에는실행하지않았던방식으로XML의규칙들을엄격하게적용할것입니다.실제로이전에는여러가지면에서지나치게느슨했었습니다.이모드를실행하기위해서여러분이할일이란아래에제시된줄을여러분의XML파일맨위에붙여넣는것뿐입니다.

Page 6: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

� | WIDGET ENGINE 3.1 REFERENCE

<?konfabulator xml-strict="true"?>

Strictmode에서는다음과같은것들이엄격하게적용됩니다:

1)모든속성값들은따옴표안에들어가야합니다.

2)보통텍스트부분에서는“&”기호가허용되지않습니다(대신&amp;를사용).

3)엔티티들(“&”로시작하는것들)은속성값들안에서만인식됩니다.

4)주석문안에서는더블대쉬(“--“)가허용되지않습니다.이런이유로코드를CDATA블록안에넣는것이가장좋습니다.

5)외부파일을포함하는경우에는그파일속에있는&lt와같은엔티티들을원래글자(“<”)로대체하지않습니다.

CDATA블록들은버전2.1이상에서가능합니다.

파일 경로 (File Paths)

Yahoo!WidgetEngine에서파일경로는항상XML파일의위치와관련이있습니다.즉,디렉토리가없는파일참조는(예,main.js)XML파일과동일한디렉토리에있는것으로여겨질것이지만,디렉토리가있는파일(예,javascript/main.js)는XML파일이위치하는디렉토리의특정하위디렉토리내에있는것으로여겨질것입니다.절대경로를(즉/로시작하는것들)이용하는것은권하지않는바인데,그것은각사람마다컴퓨터의디스크구성을매우다르게하기때문입니다.

위젯 포장하기 (Widget Packaging)

윈도우에서 위젯을 구성하는 파일들은 .widget 파일 내에 저장됩니다. 이것은 확장자 명이 .widget 으로 변경된 표준 ZIP 파일입니다.

MacOSX에서파일들은하나의“번들”안에함께포장되는데,이것은운영시스템에의해서하나의단일개체로처리되는디렉토리입니다.기본설정위젯들가운데한개를컨트롤-클릭을한후ShowPackageContents옵션을선택하면사용중인것의구조를확인할수가있습니다.

MacOSX나윈도우버전의엔진들모두zip으로압축된.widget파일을읽어들일수있기때문에호환플랫폼위젯들을만드는것이가장좋습니다.야후!위젯웹사이트(Workshop에서)에서입수가능한것으로서,여러분이이.widget번들을구성하거나분해할때지원해줄수있는위젯변환기(WidgetConverter)라는유틸리티가있습니다.

윈도우나MacOSX상에서.widget번들은다음과같은구조를가지고있습니다:

myWidget.widget Contents myWidget.kon Resources <anyfilesusedbytheWidget>

Page 7: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

WIDGET ENGINE 3.1 REFERENCE | �

.kon파일은실제의위젯코드를가지고있습니다(위부분의샘플위젯에서와유사).현재,.kon파일은Contents라고불리는폴더내에포함되어있을것입니다.그림등등의리소스들을여러분이원하는어떤곳에나붙여넣을수있지만위에서살펴본것처럼이런것들은일반적으로Resource폴더속에보관하는것이일반적입니다.

위젯컨버터위젯을사용하지않고그대신이것들을수동으로압축할경우,PC상에서.widget폴더위에서오른쪽을클릭하여거기에서ZIP파일을바로만드는것이가장쉬운방법입니다.(편집자주:압축후.widget.zip으로생성될수있습니다.이런경우탐색기나명령프롬프트에서.widget으로확장자를변경해주어야합니다.)Mac상에서는DropZip을실행하는방법등이있습니다.

여러분이위젯을개발하는동안에는무언가변경을할때마다시험해보기위해서매번위젯파일을zip압축할필요가없다는점을기억하십시오..kon파일을더블클릭하는것만으로도충분합니다.

실행시간(runtime)중에는절대위젯패키지를수정해서는안됩니다.즉,위젯패키지를이용하여위젯패키지속에정보를저장해서는안된다는뜻입니다.대부분의위젯들은그환경설정내용을저장하는데에환경설정(preference)을이용하지만,그렇지않고그자신의패키지속에정보를저장하는위젯들도있습니다.그러나우리의Zip압축포맷의경우에는이것이그다지소용이없는것으로확인되었습니다.위젯엔진이zip압축된위젯을실행시킬때는먼저그파일을특정위치에압축을푼다음그곳에서위젯을실행시킵니다.최근버전의제품들에서는사용자가위젯을실행시킬때마다이압축풀기과정이실행되기때문에,사용자가자신의패키지속에정보를저장할경우에는그정보를잃게됩니다.영구적인데이터를저장해야하는위젯들의경우에는,사용자위젯의영구적인정보저장에이용하는system.widgetDataFolder폴더를이용합니다.

플랫 파일 포맷 (Flat-File Format)

3.1버전에서부터는엔진이zip이아닌플랫파일포맷을지원합니다.zip솔루션은성능의문제뿐아니라(특히버전3.0에서부터는위젯메타데이터를추구하기시작했습니다),몇가지다른부분에서상당한우려를초래하기도하였습니다.

이새로운포맷은현재압축형태가아니기때문에,이포맷으로된경우위젯의용량이zip포맷의경우보다더클것입니다.그러나위젯용량의대부분은이미지들이차지하기때문에이포맷내에서텍스트파일들의경우는그렇지않지만이미지들은보통이미압축포맷(PNG,JPG)으로되어있기때문에용량차이는약10-15%선에서그칠것입니다.파일들을압축하지않는것은의도적인것인데,이렇게하면파일을파일매핑(file-map)할수가있으며또한정말필요한경우가아니면오직그파일때문에모든것을RAM속으로가져갈필요가없어지기때문입니다.

이새로운포맷의결과로위젯의시작이버전3.1에서는3.0버전에비하여현저하게빨라졌습니다.

이새로운포맷을이용하기위해서는컨버터명령줄툴(Convertercommand-linetool)을이용해야합니다.현재까지이툴을이용할수있도록예전의“위젯변환기”위젯이수정되어있지는않습니다.

여러분의위젯은플랫파일이기때문에여러분의위젯과함께포장되었을수있

Page 8: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

� | WIDGET ENGINE 3.1 REFERENCE

는dll들같은아이템은사용할수가없는데,다만파일시스템내의한위치로여러분의플랫파일위젯중특정파일을추출해낼수있는새로운API(widget.extractFile())을이용하는경우는예외입니다.그러나play()함수를통해서재생되는음원파일들은어떤변화도없이그대로작동할것입니다.

Widget 실행 시간 (Widget Runtime)

이부분에서는위젯이실행되는방식및,프로그램의실행원리를쉽게이해할수있게도와줄수있는몇가지요점에대해서살펴볼것입니다.

처음위젯파일을열게되면별도의프로세스를통해서실행됩니다.이것은특정위젯파일때문에사용자가실행하고있는나머지다른위젯들에치명적인손상을주는것을예방하기위한것입니다.

Zip으로압축된위젯은특정위치에서압축이풀립니다(Mac의경우에는/tmp,PC의경우에는C:\DocumentsandSettings\<user>\LocalSettings\ApplicationData위치에서압축이풀립니다).압축되지않은Widget의경우에는그파일이존재하는그위치에서실행됩니다.이런이유로사용자는자신의Widget이어디에위치할지확실히알수가없습니다.위젯내에.kon파일의위치가정해지면,.kon파일이발견되는디렉토리가현재디렉토리로설정됩니다.예를들면사용자의.kon파일이일반적인경우대로Contents폴더내에존재할경우,이Contents폴더가현재의작업디렉토리가되는것입니다.이것은리소스(resource)관련경로들의작동을가능케해주는메커니즘입니다.Contents폴더내의Resources폴더속에.kon파일의이미지파일들이존재할경우,.kon파일은그이미지를Resources/Image1.png같은형태로참조하게됩니다.

일단,.kon파일의위치가정해지고현재디렉토리가설정되면,그파일에대한분석이이루어지고그속에서정의된객체들이생성되게됩니다.모든것들이성공적으로생성되면,onLoad처리기(‘action’객체에대한설명을참조하세요)가호출됩니다.이시점에서여러분의위젯은자신을초기화시키기위하여필요한모든것들을실행합니다!

나중에위젯이또실행되면위젯의압축이다시풀립니다.이런이유로여러분은위젯번들안에저장된정보에의존해선안됩니다.그대신이전에언급한widgetDataFolder를쓰십시오.

Yahoo!WidgetEngine은위젯이열렸던내용을자동으로기록합니다.나중에다시Yahoo!WidgetEngine이실행되면마지막종료시실행되던위젯들을자동으로다시실행합니다.

동작(Actions)

동작(Action)은위젯에있어서혈액이나마찬가지입니다.이것들은사용자가위젯을쓸때위젯이어떻게동작할지를정의합니다.3.0버전이전에는동작(action)을지정할수있는유일한방법이그동작에대해자바스크립트내용을지정하는것이었습니다.다음의예에서보듯이사용자의클릭에대해자바스크립트가문법검토및실행이이루어지는식이었습니다:

<onMouseUp>

print( "hello" );

</onMouseUp>

Page 9: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

WIDGET ENGINE 3.1 REFERENCE | �

이것의한계로는,a)어떤동작(action)이일어나는부분에서그것이다루는object를언급하기위해자바스크립트의‘this’객체를쓸수가없고,b)동일한코드를가진객체들이여러개있을경우,자바스크립트를일일이복사한후,거기에서각객체들의이름을일일이변경해야했습니다.

이런점을개선하기위하여,3.0버전이후에서는이러한동작들(action)을지정할때적절하게자바스크립트함수을이용할수있게하였습니다.버전3.0부터는동작(action)에아무런매개변수(parameter)도전달되지않습니다.이것은나중에적절한매개변수를전달하기위한것입니다.예를들어,onMouseUP처리기(handler)는system.event를검사하는대신마우스의x및y좌표를받아들일것입니다.

함수(function)들을이용하기위해서는,XML에서어떤function을이용하기원한다는사실을attribute를이용하여(반드시속성(attributes)이어야하며하위요소(sub-elements)의이용은안됩니다)위젯엔진에알려주는방법이있고,아니면자바스크립트호출함수(function)를특성값으로지정함으로써엔진에알려주는방법이있습니다:

<!-- In XML -->

<onMouseUp function="_myMouseUp"/>

// in Javascript

myImage.onMouseUp = _myMouseUp;

// and someplace in your JS code, you must have the

// function defined:

function _myMouseUp()

{

print( this.opacity );

}

객체 이름 (Oject Names)

XML에서<name>특성을설정할수있습니다.이것은자바스크립트전역(global)객체를생성하고그객체에name특성값을지정합니다.예를들면:

<window name="mainWindow" .../>

은mainWindow라는이름을가진자바스크립트변수를전체(global)영역에대해만들어줍니다.이런이유로모든이름들은반드시유일한것이어야합니다.또한이이름들은내부적으로객체들을참조하는데이용되기때문에,변경해서도안됩니다.현재3.0버전에서는모든이름특성들을읽기전용으로만들어서이런사항들을제한하고있습니다.자바스크립트를이용하여동적으로어떤객체를만들때마다그객체에는Image001과같은일반적인이름이주어집니다.장래에는이름들에id특성과같은다른대안을쉽게허용할수있게되기를기대하고있습니다.

디버그 (Debugging)

위젯의디버깅함수를위해특별히준비된것이있습니다.“debug”라는xml태그가있는데,이것을“on”으로설정해두면됩니다(정확한내용에대해서는아래설명을보십시오).이것이on으로설정되어있을때는위젯이시작될때디버그출력창이열리게될것입니다.자바스크립트코드에서의log()나print()의호출은

Page 10: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

10 | WIDGET ENGINE 3.1 REFERENCE

이창으로출력될것입니다.위젯엔진이나여러분의위젯내부에서발생하는각종오류들역시이창을통해보고될것입니다.

위젯을개발하는동안여러분은언제나디버그를on으로켜서혹시무엇이잘못되어가고있는지알아챌수있어야합니다.예를들면,여러분이어떤속성의스펠을잘못기입했을경우출력창에서이사실을여러분에게알려줄것이며,더불어이문제가여러분코드어느부분에있는지도알려줄것입니다.

특히PC에서는디버깅이켜져있지않는한디버그창이절대로열리지않을것임에주목해야합니다.Mac상에서는현재로는디버그창이자동적으로열리는때도있을수있습니다(특히,위젯의onLoad처리기가잘못되었을경우).

2.1버전이후에서는,메뉴바(Mac의경우)혹은시스템트레이(윈도우의경우)에서컨트롤쉬프트키를누른채기어(Gear)메뉴를선택함으로써디버깅모드에접근할수있습니다.이옵션을일단켜면여러분이시작하는어떤위젯에도강제적으로디버깅모드가실행되어디버그창이열릴것입니다.바로이런특징때문에여러분은위젯정의시디버그태그를굳이따로사용할필요가없습니다.또한사용자들에게이모드를이용하게하여여러분이문제를진단하는데도움을받을수도있습니다.

또한2.1버전이상에서는디버그창에새로운명령줄필드가추가되어더욱보강되었습니다.이영역에는명령어를기입하거나(이필드에“/help”를쳐넣으면전체리스트를볼수있습니다)특정자바스크립트를테스트해볼수도있습니다.이함수는변수값을확인한다거나할때유용합니다.또한내장명령어들을이용하여변수들이나함수들을추적할수도있습니다.

예외 (Exceptions)

버전2.0에서부터는뭔가가잘못되었을때위젯엔진이적절한예외(exception)들을발생합니다.이것은윈도우의COM인터페이스들에대해서도,또한Windows와Mac플랫폼모두의filesystem객체의경우에도특히잘작동합니다.현재로서는가능한모든부분에서예외를허용하고있지는않지만,이러한사실을염두에두고try/catch처리기를적절히사용하면효과적일것입니다.

COM의이용시이것은초기화실패및연결실패등과같은문제를해결하기에필수적이기때문에반드시필요한기능입니다.현재예외(exception)에는단순한문자열정보밖에없으며최악의경우에도그문자열을경고문등에서인쇄하는정도로사용할수있습니다.

DayPlannerWidget은Outlook처리시try/catch를이용합니다.

위젯 환경 설정 (Widget Preferences)

어떤위젯은수많은preference객체들을사용해환경설정값을저장할수있게합니다.이러한환경설정값들은사용자별환경설정저장위치에저장됩니다.Mac에서이저장위치는~/Library/Preferences/Konbulator입니다.PC의경우이것은HKEY_CURRENT_USER\Softwear\Yahoo\WidgetEngine입니다.

최소 버전 (Minimum Version)

<widget>의최소버전속성은엔진으로하여금어떤위젯을실행시키기는데필요한엔진버전이어떤것인지를알게해줍니다.그러나버전3.0부터는그위젯이

Page 11: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

WIDGET ENGINE 3.1 REFERENCE | 11

3.0을위하여이전에갱신되었다는것과우리가특정측면의동작을변경시키기위해해당버전을사용하고있다는것을엔진에게알려주는역할도합니다.이것은우리가최소버전을적절하게설정하지못하여어떤위젯을깨뜨리는일이없이잘못된사항들을수정함으로써계속진행할수있게도와줍니다.

최소버전을3.0으로설정한경우(3.0버전의특정이주는장점을누리고자할때),다음과같은동작들이시작됩니다:

1)어떠한view도기본창(defaultwindow)에자동으로할당되지않습니다.이것을적절히사용하는수도있겠지만3.0의계층적(hierarchical)view의장점을쓸때에는문제가될수있을것입니다.그렇기때문에여러분은어떤객체가속할창을반드시지정해주거나frame.addSubview()를이용해서어떤프레임속으로깩체를끼워넣어야합니다.대부분XML을통해서인터페이스가구축된경우,가장간단한방법은여러분의image/text/frame/scrollbar/textarea객체들을여러분의창객체안에포함시키는것입니다:

<window ...>

<image src=.../>

<text data=.../>

<frame .../>

<image src=.../>

</frame>

</window>

여러분의위젯을3.0으로이동시킬때마주치는가장빈번한에러는여러분의view중일부가나타나지않는것입니다.이것은이러한동작변경으로인한문제입니다.이때는여러분의모든view들이어떤창이나모프레임(parentframe)에속해있는지다시확인해보십시오.

2)자바스크립트의유효기간이바뀝니다.초기버전들에서는어떤객체에대해delete를호출하거나그객체를null로설정하는것을통해서창으로부터객체를사라지게만들수있었습니다.그러나이제더이상이런것들은작동하지않게됩니다.어떤객체를완전히제거하려면반드시<object>.removeFromSuperview()를호출해야합니다.이변화의요점은위젯코드를작성을더욱쉽게하는것입니다.과거에는여러분의모든객체들이창에서사라지지않았음을확인하기위하여,모든객체의리스트들을유지하고있어야했습니다.하위화면(subview)이등장함에따라매우빠른속도로객체들의수를관리하는것이상당히어려워질수가있습니다.만약여러분이창에추가한어떤객체에대한참조(reference)를가지고있다면더이상그런문제에신경을쓸필요가없습니다.즉,이말은여러분이위젯의진행중에절대변경할일이없는아이템들의경우에는여러분들이더이상따로챙길필요가없다는뜻입니다.이것은여러분의코드를여러측면에서더욱명료하게만들어줄것이며,여러분은이제여러분이작업하고있는것에만집중할수있게되었습니다.

3)파일이로드될때이제는더이상여러분의.kon파일이나.js파일에서XML엔티티들을무조건적으로해석하려고하지않습니다.<또는>을포함하고있는자바스크립트코드가파서의적용을받지않도록하기위해서는위에서언급했듯이,CDATA를이용해야합니다.

4)회전함수가바뀝니다.이제는정확한수직/수평값을기준으로객체를적절하게회전시킵다.즉,hAlign및vAlign을이용하여어떤이미지의중심점을설정하면,

Page 12: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1� | WIDGET ENGINE 3.1 REFERENCE

그다음부터회전이적용될때는그중심점을기준으로회전이됩니다.

5)XML요소내의자바스크립트코드는자바스크립트코드가읽히는방식그대로읽혀집니다.이전에는엔진이해당경로에있는파일을가능한한모두다읽어들이려고시도를했습니다..그다지좋은방법은아니죠?이제는여러분의동작(action)이‘file’속성을가지고있는경우에만엔진이파일을읽으려고시도할것입니다.어떤요소속에파일을포함시키고자할경우에는include()를이용하시기바랍니다.이렇게하면여러분의위젯내에포함된모든자바스크립트들마다파일시스템(filesystem)을가동시킬필요가없기때문에로딩성능이개선될것입니다.

만약최소버전을3.1로하면다음사항이enable됩니다:

1)Windows환경에서windows.shadow특성이인식됩니다.

XML 서비스 (XLM Service)

버전3.0부터는여러분들이XML작업을더욱편리하게할수있도록새로운서비스를제공합니다.이제3.0에서는우리가이전에권장했던외부자바스크립트기반의xmldom.js파일을이용하는것보다훨씬더빠른내장형XML파서를갖추었습니다.이XML파서는항상‘strictmode’에서작동합니다(위에나오는strictmode에대한내용을참조하십시오).

파서의출력은레벨1W3CDOM이며,언급한DOM에대해서는엄격하게RFC를따릅니다.여기에는몇가지빠진점도있지만(엔티티등),중요한핵심은여전히포함되었습니다.이DOM트리를만들어변형시킴으로써여러분자신의XML문서들을만들어서출력하는데에이용할수도있습니다.

DOMAPI가괜찮기는하지만XML트리의이곳저곳을헤집고다니면서중요한정보를탐색하는데에는일반적으로이것이그다지편리하다고볼수는없습니다.그래서우리는XPath1.0지원을첨가하였습니다(namespace관련함수는제외).이것은DOMAPI를사용할때와비교해서XML트리속의정보조각들을끄집어내는것을훨씬더간편하게해줍니다.

또한야후!위젯속으로코드를전환하는데도움을주고또한사람들에게더편리함을제공하기위하여XMLHttpRequest객체를추가하였습니다.현재로는최소한의기존핵심API만을제공합니다.파일들을POST하는경우,우리는여전히URL객체를이용할것을권장하고있습니다.

야후! 로그인 지원 (Yahoo! Login Support)

3.0버전이후에서는야후로그인을요구하는API들을이용할수있습니다.엔진자체가로그인이나인증정보저장등에대한세부사항을처리합니다.여러분의위젯은단지현재의로그인상태를확인하여로그인을요청하는역할만하면됩니다.일단로그인이되면API요청을서버에보낼때여러분을대신해서엔진이자동적으로사용자의인증정보들을추가합니다.

중요사항:버전3.1이후에는<security>블록에서여러분의위젯이연결하기원하는정확한야후!API를지정해야만합니다(보다자세한정보는XML참조설명서의보안(security)블록에대한부분을참조하십시오).여러분의위젯이야후!권한정보가필요한것들에대한접근허용을얻기위해서는먼저여러분이이API리스트를확인해주어야하며,오직이API들만이야후!권한정보를받을수가있

Page 13: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

WIDGET ENGINE 3.1 REFERENCE | 13

습니다.3.1이전의야후Login()를이용하고있다면,여러분의위젯을수정하여보안(security)블록을포함시키기전까지는이러한API들에접근이불가능할것입니다.

법을존중하는시민으로행동하기원한다면,먼저yahooCheckLogin()을호출하여여러분이로그인된상태인지먼저확인해야할것입니다.로그인된것으로확인되면여러분의위젯이호출하고자하는야후!API에접근할준비가갖추어진것입니다.로그인이되지않은것으로판명되면,이미지나어떤식의표시를통해서사용자가현재로그인되지않은상태이기때문에그정보를표시해줄수없다는것을표시한다음버튼/link/혹은그와같은무언가를제공하여사용자가여러분의위젯에로그인할수있게해주어야할것입니다.

예를들어,onLoad처리기에서:

if ( yahooCheckLogin() ) loggedIn(); // display your UI in the logged in state. else loggedOut(); // display your UI in the logged out state.

여러분의onLoad처리기에서무조건적으로yahooLogin()을호출하는것은좋지않은방법입니다

사용자가로그인을위하여버튼을클릭한다면yahooLogin()을호출합니다.이함수가true를리턴하면여러분은이미로그인되어있다는뜻이며,이에적절하게동작하게합니다.그러나대부분은false를리턴할것이고,그럴경우사용자는인증절차를거쳐야합니다.yahooLogin()이false를리턴하면,여러분은그냥하던일로돌아가서onYahooLoginChanged이벤트가여러분의위젯에도달하는것을기다려야합니다(즉,함수가비동기식(asynchronous)으로동작한다는뜻입니다).사용자가기어메뉴(Gearmenu)에로그인하거나로그아웃할때,onYahooLoginChanged처리기가호출되게지정합니다.

여러분의onYahooLoginChanged가호출될때yahooCheckLogin()를반드시호출하여여러분의새로운상태가어떤것인지를확인해야합니다(이것은또한필요한쿠키들을불러들입니다.)결과로나온상태에근거하여,위의onLoad부분에서설명한것같이로그인되거나로그아웃된상태로행동하도록하십시오.

yahooCheckLogin()이true를리턴했을지라도인증이만료되어API서버로의요청이실패하는경우가있을수있습니다.이때는다른위젯들이이런상황을알수있게하기위해yahooLogout()을호출해야합니다.

Subviews/Frames

3.0버전부터는이제위젯엔진이계층적view(hierarchicalview)를지원합니다.3.0이전에는창에서오직평면적인객체리스트(이미지,텍스트,등등)만을볼수있을뿐이었습니다.3.0에서는프레임객체를도입하여거기에객체들을덧붙일수도있고또한그것을어떤아이템그룹처럼다룰수도있습니다.여러분이이프레임을이동시키면하위화면들(subviews)도함께이동합니다.여러분이어떤프레임을희미하게만들면,그속에있는모든것이함께희미해집니다.

어떤객체가한프레임내부에존재한다면그것의hOffset과vOffset은프레임에대응해서상대적으로움직입니다.기본적으로이offset들은언제나어떤모화면과

Page 14: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1� | WIDGET ENGINE 3.1 REFERENCE

관계를가집니다.그렇기때문에10,10의h/vOffset을가진이미지는그모프레임의좌측상부구석을기준으로아래로10오른쪽으로10픽셀의위치에나타날것입니다.이것은창에서그개체가어떤위치에있어야할지에대해서신경쓸필요가전혀없게해줍니다.

어떤창의가장상위레벨에있으면서어떤프레임에도속해있지않으면실질적으로는창의rootview에존재하는것입니다.이rootview에는window객체를통해서접근할수있습니다.Rootview란특별한화면으로서,여러분이화면tree구조를잘탐색할수있게하는데필수적인속성과함수들만을포함하고있습니다.

프레임들이제공하는또다른것으로는그콘텐츠들을스크롤할수있는기능입니다.이것은탐색결과및기타다른다양한것들의스크롤리스트들을생성할수있게합니다.위젯엔진은또한여러분이그콘텐츠들을스크롤하기위하여프레임에덧붙일수잇는기본ScrollBar객체를제공합니다.어던스크롤바가한프레임에구속되어있다면마우스휠의지원이자동적으로활성화되기도합니다.ScrollBar객체는색이더해진자신의표준thumb(스크롤에서잡고움직이는부분)을가지고있을수도있으며,그렇지않고이것이여러분의요구에맞지않을경우여러분은그트랙과thumb대신여러분자신의이미지들을제공할수도있습니다.

보안 창 (Security Windows)

위젯엔진에등장할수있는보안창으로는두가지유형이있는데,이둘은서로비슷해보입니다.먼저나오는것은실행/수정(run/modification)창입니다.위젯엔진이익숙하지않거나이전에는한번도본적이없는위젯을처음실행할경우,어떤창이떠서사용자들에게그들이지금새로운위젯을열려고하고있다는사실을인지시키고그활동에대한확인을하도록요구할것입니다.이것은사용자가부지불식간에어떤위젯을여는것을방지하기위한것입니다.또한사용자가어떤위젯의실행을허용한후그다음에그위젯상에어떤변경이생길경우,다음번에이위젯을열때는다른창이나타나서이사실에대해서알려줄것입니다.이때사용자는수정을했던것인지의여부에따라시작을확인해줄수도있고거부할수도있습니다.

여러분이적극적으로위젯의디버깅을하고있는중이라면디버그모드를켜서(어떤측면에서는나은방법이라고볼수있죠)먼저실행/수정보안창을억제하면여러분들이코드를수정하여위젯을새로로드할때마다해당창을볼필요가없습니다.

두번째유형의창은‘모래상자(sandbox)’창입니다.현재모래상자처리되는활동은사용자가야후!계정으로로그인하는것뿐입니다(장래버전들에는더많은활동들이모래상자처리될것입니다).위젯이처음으로사용자의야후!계정으로로그인할때,이창이나타나서사용자에게이사실을알리고이위젯이사용자의야후!데이터를사용할권리를허용할것인지를묻습니다.모래상자창들을비활성화시킬수는없습니다.

지역화 된 위젯들 (Localized Widgets)

3.1버전부터는여러언어로나타낼수있는위젯을발표하는것이가능합니다.이를위해서는여러분위젯속의‘Resource’폴더속에적절한디렉토리들을만들필요가있습니다.이디렉토리들은key값으로지정된문자열파일인Localized.strings라는파일을보유하고있습니다.엔진은해당언어에대한정확한문자열을살펴보기위하여이파일을이용합니다.예를들어

Page 15: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

WIDGET ENGINE 3.1 REFERENCE | 1�

"save_as_button" = "Save As";

지금양편모두따옴표속에들어있는것을주목해서봐야하며,또한각매핑(mapping)은세미콜론으로마쳐야합니다.

여러분들이이파일속에갖다놓는디렉토리는반드시ISO언어코드를이용하거나선택적으로ISO지역코드를이용해서이름을붙여야합니다.이폴더속에는특정포맷을갖춘Localized.strings라는파일이들어있어야합니다.예를들면:

영어에서,전체지역들은:

Resources/en/Localized.strings

영어에서,미국지역은:

Resources/en_US/Localized.strings

한국은:

Resources/ko/Localized.strings

라고표시하면됩니다.

정확한문자열(strings)파일을찾기위하여엔진은먼저<lang>_<locale>를찾고,그다음에는그냥<lang>을검색할것입니다.여기에서아무것도발견되지않을경우,엔진은기본설정으로‘en’을로드할것입니다.우리가사용하는language/locale은엔진의Preferences대화속에설정된언어로정의됩니다.이언어설정은환경설정이이루어지고난후실행되는위젯들에만영향을미칩니다.이설정들가운데하나는단순한시스템기본설정으로서,즉여러분의운영시스템에서실행되고있는언어입니다.

지역화된문자열들을보기위해서새로운함수가추가되었습니다:

widget.getLocalizedString()

이것에대해서는widget.locale를확인해보면됩니다.

여러분의위젯이설계한문자열의길이보다더긴문자열이올수도있다는것을염두에두십시오.예를들어독일어문자열은동일한내용에대해일반적으로영문문자열보다훨씬더깁니다.

Page 16: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1� | WIDGET ENGINE 3.1 REFERENCE

XML 참조 매뉴얼

다음의부분들에서는위젯을구성하는객체들(objects)과속성들(attributes)에대해서설명합니다.소속객체들의위계구성은다음과같습니다:

<widget> <about-box/> <action/> <frame/> <hotkey/> <image/> <preference/> <security/> <scrollbar/> <text/> <textarea/> <window/> </widget>

다른블록들은하위블록으로읽어드립니다:

<menuItem/> <shadow/>

2.1버전에서부터는객체들을포함하는창내부에객체를포함시킬수있습니다.이것은그창에대한블록안쪽으로이미지,텍스트및텍스트영역등과같은객체들을넣을수있다는뜻입니다:

<window> ... <image name="foo"/> <text .../> </window>

이방법을이용하면그창은XML속에지정된창을포함하고있는것으로인지되기때문에,속에포함된특정이미지들에대한창특성값(windowproperty)을따로지정할필요가없습니다.여러분이어떤창을지정하면,디버그창에서에러가뜨고이사실에대한경고문이나타날것입니다.

Page 17: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<about-box> WIDGET ENGINE 3.1 REFERENCE | 1�

<about-box>about box에 대한 이미지들을 정의하기 위한 블록

속성들

image/about-image about-text about-version

설명

about-box를사용할경우,about-box XML블록은적어도하나이상의이미지를image블록안에지정해야합니다.

image/about-image이미지 경로를 가지고 있는 블록

설명

about-box블록의이미지속성에는어떤이미지에대한유효파일경로가반드시포함되어야합니다.

한개이상의이미지속성들이포함된경우,그이미지들은순차적으로이용자에게보여질것입니다.동일한크기의이미지들일경우,단순히서로이미지가교체될것이며,다른크기의이미지들일경우,먼저것이천천히사라지면서다음것이천천히나타날것입니다.

보기

<about-box> <image>Resources/About.png</image> <image>Resources/Thanks.png</image> </about-box>

사용 버전

about-image과유사한함수는버전2.1에서처음으로등장했습니다.

about-text표시되는 텍스트

설명

aboutbox속에는몇개라도텍스트객체를지정해줄수있습니다.이텍스트객체들은여러분의aboutbox맨첫페이지에만등장합니다.이객체는다음과같은속성들을가질수있습니다:

color/colour data

Page 18: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1� | WIDGET ENGINE 3.1 REFERENCE

hOffset font size style shadow url vOffset

shadow와url을제외하고,이것들은모두동일한특성들(properties)을가지고있어서완성된한텍스트객체상에서사용될수있습니다.이속성들을사용하는방법에대한정보는텍스트(text)객체들에대한부분을참조하십시오.그객체가어떤식으로구성되는지에대한정보는shadow객체에대한부분을참조하십시오.url특성은텍스트객체를클릭이가능한링크객체로만들어서여러분이지정하는url로브라우저가열리도록지정합니다.

사용 버전

버전2.1이후에서사용가능합니다.url특성은3.0에서사용가능합니다.

about-version버전이 어디에 어떤 식으로 위치해야 하는 지를 설명하는 요소

설명

이것은기본적으로위에서설명한텍스트요소의특수한사례입니다.이것역시모든동일한속성들을지니고있으며,about box의첫번째페이지에만위치할수있습니다.유일한차이점은이태그는위젯의버전수가표시된다는것입니다.버전의수는위젯이정의하는version속성으로부터직접가져옵니다.

사용 버전

버전2.1이후에서사용가능합니다.

Page 19: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<action> WIDGET ENGINE 3.1 REFERENCE | 1�

<action>객체와 관련되지 않은 코드 블록

속성들

file interval trigger

설명

action XML블록은사용자에의해실행되는것이아니라자동적으로시작되는코드를위젯이언제또어떤식으로실행할것인지를정의합니다.

file외부 자바스크립트 파일 경로

설명

어떤사람들에게는자바스크립트코드를XML파일속으로끼워넣는것이문제를유발할수있습니다.여러분이선호하는텍스트에디터가XML과자바스크립트를동시에강조하는통사를원활하게지원하지않을수도있고,여러분의자바스크립트코드가크고복잡한것이어서더나은관리를필요로할수도있으며,아니면위젯의XML부분을혼동시킬수있는일반문자에서빠져나와야하는것때문에부담스러워할수도있을것입니다.이모든부담에서벗어나기위해서우리는여러분이외부파일을참조할수있게하였습니다.

<action>블록에대한file속성을지정함으로써외부파일을참조할수있습니다.그렇지않고,그냥include()를사용할수도있습니다.

보기

<actiontrigger="onLoad"file="main.js"/>

<action trigger="onLoad"> include("main.js"); </action>

interval각각의 동작 사이에 기다리는 초 단위의 시간 간격

설명

동작(action)에대한interval속성은onTimer속성과더불어사용됩니다.이것은onTimer코드들이실행되는사이에몇초를(혹은더낮은단위로)기다려야하는지를정의합니다.

onTimer속성은지정되었으나간격이정의되지않은경우기본으로1분이설정됩

Page 20: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�0 | WIDGET ENGINE 3.1 REFERENCE

니다.

보기

<!-- This will cause the Widget to beep every two minutes --> <action trigger="onTimer" interval="120"> beep(); </action>

<!-- This will cause the counter to increase ten times a second --> <action trigger="onTimer" interval="0.1"> counter ++; </action>

2.0버전에서부터는이메커니즘대신새로운Timer오브젝트가더나은함수를제공합니다(본매뉴얼Timer에대한부분을참조하십시오).

trigger내장된 코드를 실행시키는 이벤트 (event)

값들

onGainFocus onIdle onKeyDown onKeyUp onKonsposeActivated onKonsposeDeactivated onLoad onLoseFocus onMouseDown onMouseEnter onMouseExit onMouseUp onPreferencesChanged onRunCommandInBgComplete onScreenChanged onTellWidget onTimer onUnload onWakeFromSleep onWillChangePreferences onYahooLoginChanged

설명

trigger특성값은해당event에대해지정된코드블록을실행하도록지정합니다.

Page 21: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<action> WIDGET ENGINE 3.1 REFERENCE | �1

onGainFocus는사용자가위젯을활성화시킬때작용합니다.이것은사용자가위젯의활성및비활성상태의변경을원할때할때유용하게이용됩니다.이동작(action)은일반적으로위젯이처음으로실행될때발생합니다.2.0버전부터는일반적으로각창마다onGainFocus처리기(Handler)를따로지정하며,실제위젯전체에대한onGainFocus는따로지정해야합니다.

onIdle은1초에다섯차례나실행되지만,이것은사용자의위젯이과도한CPU시간을소요하게만들기때문에그다지사용하도록권장하지않습니다.

onKonsposeActivated및onKonsposeDeactivated은사용자가Konspos?모드를켜거나끌경우에실행되는것입니다.이것은위젯이“위젯모음”화면모드(예전의Konspos?모드)를시작하거나종료했을때그시점에필요한기타다른조치들을취할수있는기회를허락합니다.(예를들어어떤위젯들은Konspos?가활성으로되어있을때마치onGainFocus를수신한것처럼"focused"모드를표시하기도합니다)

onLoad은위젯을처음로드할때실행되는것으로써위젯내다른곳에서사용될수도있는여러함수들을정의하고저장하는데에사용됩니다.

onLoseFocus은사용자가위젯을비활성화시킬때에작용합니다.이것은사용자가위젯의활성및비활성상태의변경을원할때할때유용하게이용됩니다.2.0버전부터는일반적으로각창마다onLoseFocus처리기(Handler)를이용하고위젯전체의onLoseFocus는따로지정해야합니다.

onPreferencesChanged는사용자가환경설정(preference)을저장할때실행됩니다.환경설정(preference)대화창에서취소를선택하고나올경우그환경설정내용은실제저장된것이아니기때문에어떠한실행도일어나지않음에주의해야합니다.

onRunCommandInBgComplete은runCommandInBg()로시작된어떤명령이완료될때실시됩니다.(이명령에대해서는별첨문서를참조합니다).

onScreenChanged은디스플레이시스템환경설정창을이용하여스크린크기(screensize)조절,배열(arrangement)조절,또는색상농도조절등이이루어질경우실행됩니다.(위젯자체의스크린크기는여기에영향을받을수도있고그렇지않을수도있음에주의합니다)

onTellWidget은여러분의위젯에메시지를보내기위하여다른위젯이나다른어플리케이션이tellWidget인터페이스를호출하는경우에소환됩니다.여러분은자신이받은메시지를어떻게처리할지결정함에있어서매우신중해야합니다.보다자세한내용에대해서는본문서후반에나오는tellWidget부분을참조하십시오.이함수는위젯엔진2.0이상에서가능합니다.

onTimer은interval속성에서정의된바에따라일정한간격으로실시됩니다.interval특성이정의되지않은경우에는기본설정값인1분간격으로실시됩니다.위젯한개당단하나의onTimer속성이존재한다는사실에주의하십시오.이런이유로,2.0이후버전에서는다양한시간간격으로작동하는여러개의타이머를이용할수있게해주는새로운타이머오브젝트가제공됩니다.보다자세한내용은Timers부분을참조합니다.

onUnload는위젯이종료될때실행됩니다.이것은수동으로환경설정내용을마

Page 22: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

지막으로저장하는데에유용하며(사용자가환경설정을변경할때위젯환경설정(Preferences)대화창에서설정된환경설정내용들은자동적으로저장됩니다),또한여러분이다루고있던다른외부어플리케이션들이종료되어여러분이떠났다는것을확인시키는데에유용합니다.

이trigger에서는위젯을빨리종료할수있도록시간이걸리는작업을수행해서는안됩니다(네트워크로정보등을전달하는것등).

onWakeFromSleep은컴퓨터가휴면상태에서깨어날때실행됩니다.어떤데스크톱컴퓨터의경우에는다시깨어날때와네트워크에다시연결될때까지수초가걸릴수도있어서,여러분의위젯이인터넷에연결하기원한다면여러분의코드에sleep()을추가할수도있을것입니다.3.0버전이상에서는컴퓨터가휴면상태로들어갈때타이머가멈추어서onWakeFromSleep이호출될때까지다시시작되지않습니다.

onWillChangePreferences는사용자가위젯의환경설정수정을요청할때발생합니다(혹은showWidgetPreferences()자바스크립트호출이이루어질때발생합니다).

onYahooLoginChanged는사용자가야후!계정에로그인하거나로그아웃할때발생합니다.이것이호출되면yahooCheckLogin()을호출하여현재사용자의로그인상태를확인할수있습니다.

나머지trigger들,onKeyDown,onKeyUp,onMouseDown,onMouseUp,onMouseEnter및onMouseExit등은활성상태위젯의메인창내에서각각에해당되는사용자활동이탐지될때사용되며,이것들을수신하는다른객체들은없습니다.전체범위의마우스동작(action)들을이용하게될경우위젯을더이상마우스로잡아이동할수없게된다는점을기억하십시오.(commandkey를누른상태에서는가능합니다)

보기

<!— Redraw the clock when we wake from sleep --> <action trigger="onWakeFromSleep"> updateClockFace(); </action>

<!— Update our info when the user changes the preferences --> <action trigger="onPreferencesChanged"> refreshTickerSymbols(); </action>

Page 23: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<frame> WIDGET ENGINE 3.1 REFERENCE | �3

<frame>프레임 객체를 정의하는 블록

frame객체들은다른객체들을담아주는작용을합니다.이를위해서는XML에서다른뷰오브젝트(viewobject)들을포함하도록지정할수가있으며,자바스크립트를이용할수도있습니다.이것이움직이면프레임의모든하위객체들도함께움직입니다.마찬가지로하위객체중의하나의불투명도가변경되면거기에포함된모든것들의유효불투명도도변경됩니다.

프레임들은스크롤이가능합니다.scrollX와scrollY특성을조정하여수동으로할수도있지만프레임에스크롤바를간단하게붙이기만하면다른모든것은자동적으로작동합니다.

속성들

contextMenuItems hAlign height hLineSize hOffset onContextMenu onDragDrop onDragEnter onDragExit onMouseDown onMouseEnter onMouseExit onMouseMove onMouseUp onMouseWheel onMultiClick opacity scrollX scrollY visible vAlign vLineSize vOffset width window zOrder

contextMenuItems일련의 Context 메뉴 항목들을 지정합니다.

설명

여러분의프레임위에마우스의오른쪽버튼을클릭하면나타나는기본Context메뉴에여러항목들을덧붙일수있습니다.

Page 24: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

일련의menuItem객체들을포함시킴으로써여러분의항목을지정할수있습니다.이것들에대한보다자세한정보는menuItem에대한부분을참조하십시오

자바스크립트

myObjectName.contextMenuItems

보기

<frame> ... <contextMenuItems> <menuItem title="Test" onSelect="beep();"/> <menuItem title="Another Test"> <onSelect>alert( 'hello' );</onSelect> </menuItem> </contextMenuItems> </frame>

See the onContextMenu section for an example of building a context menu in JavaScript.

사용 버전

3.0이후버전에서사용가능합니다.

hAlign프레임의 수평 방향 정렬을 제어합니다.

설명

어떤객체의hAlign특성은hOffset특성에관련된초기의수평정렬을정의합니다.예를들면,right정렬을가진객체가도출되어hOffset지점에그오른쪽가장자리가오도록자리잡습니다.기본설정된정렬은“left”입니다.

선택가능한 값: "left", "right" or "center".

자바스크립트

myObjectName.hAlign

보기

<frame> <hAlign>right</hAlign> </frame> myFrame.hAlign = "left";

사용 버전

3.0이후버전에서사용가능합니다.

Page 25: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<frame> WIDGET ENGINE 3.1 REFERENCE | ��

height객체의 높이

설명

height속성은객체의수직방향크기를조절합니다.어떤프레임에대해서높이가지정되지않으면그하위화면(subviews)들의범위에따라자동적으로결정됩니다.

자바스크립트

myObjectName.height

보기

<frame> <height>300</height> </frame>

myFrame.height = 300;

사용 버전

3.0이후버전에서사용가능합니다.

hLineSize스크롤링을 할 때의 데이터 줄 사이즈

설명

hLineSize특성은lineLeft()이나lineRight()함수가호출될때프레임이어느정도범위까지스크롤되어야하는지(픽셀단위)를지정합니다.프레임이마우스휠에반응할때도적용됩니다(스크롤바가붙여진경우).기본설정값은10픽셀입니다.

자바스크립트

myObjectName.hLineSize

보기

<frame> <hLineSize>5</hLineSize> </frame>

myFrame.hLineSize = 5;

사용 버전

3.0이후버전에서사용가능합니다.

Page 26: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

hOffset어떤 객체의 수평 방향 위치

Description

객체의hOffset속성은어떤이미지의모화면(superview)의좌측상부코너를0,0기준으로하여이미지의수평이동거리를왼쪽에서오른쪽으로정의합니다.부여되는값이클수록객체는오른쪽으로더많이이동한위치에서나타납니다.

자바스크립트

myObjectName.hOffset

Example

<frame> <hOffset>30</hOffset> </frame>

사용 버전

3.0이후버전에서사용가능합니다.

hScrollBar이 프레임을 위한 수평 스크롤 바

설명

프레임의hScrollBar속성은어떤스크롤바가이프레임을위한수평스크롤을통제할것인지를정의합니다.XML로표현되는경우,그hScrollBar에대해서프레임에구속시키고자하는<scrollbar>의이름을지정해주면됩니다.스크롤바객체가존재하지않을경우에는위젯의디버그창에서에러가표시될것입니다.

스크롤바를덧붙이면프레임과스크롤바사이의소통을위한모든설정이자동으로될것입니다.

자바스크립트

myObjectName.hScrollBar

보기

<frame> <hScrollBar>my_scrollbar</hScrollBar> </frame> <scrollbar name="my_scrollbar" ... /> // in Javascript: myFrame.hScrollBar = my_scrollbar;

Page 27: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<frame> WIDGET ENGINE 3.1 REFERENCE | ��

사용 버전

3.0이후버전에서사용가능합니다.

onContextMenucontext 메뉴가 나오기 직전에 호출됩니다

설명

위젯을위한표준context메뉴에context메뉴항목들을추가로지정하는가장간단한방법은XML에서contextMenuItems태그를이용하는것입니다.그러나,항목들을동적으로구축하기원하는위젯들의경우에는onContextMenu를이용해야합니다.메뉴가막표시되려고할때,어떤화면이반응할때까지마우스아래모든요소들에대하여앞쪽에서뒤쪽으로화면순서대로이것이호출됩니다.이것을다룰때는여러분의context항목들을단순하게구성하고여러분의contextMenuItems특성을항목세트에설정해주어야합니다.

자바스크립트

myFrame.onContextMenu

보기

<onContextMenu> var items = new Array(); items[0] = new MenuItem(); items[0].title = "This is the title"; items[0].enabled = false; items[0].checked = true; items[0].onSelect = "alert( 'you chose it!' );"; items[1] = new MenuItem(); items[1].title = "This is the second title"; items[1].onSelect = "beep();"; myFrame.contextMenuItems = items; </onContextMenu>

사용 버전

3.0이후버전에서사용가능합니다.

onDragDrop객체 위로 어떤 것이 떨어지면 호출됩니다

설명

onDragDrop트리거는다른어플리케이션으로부터어떤파일,URL혹은문자열을Drag하여객체위에떨어뜨리는경우에실행됩니다.

Page 28: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

onDragDrop활동에있어서는,무엇이떨어뜨려졌는지확인하기위하여객체들이system.even.data로접근할수있습니다.이것은문자열의배열로써그첫번째요소는어떤유형의객체가떨어졌는지를표시하는것입니다:“filename”,“urls”,혹은“문자열”.이배열의나머지부분들에서떨어진항목들을구체적으로표시합니다.

자바스크립트

myObjectName.onDragDrop

보기

<frame> <onDragDrop> if(system.event.data[0]=="filenames") { processDroppedFiles(system.event.data); } </onDragDrop> </frame>

myFrame.onDragDrop = "handleDragDrop();";

사용 버전

3.0이후버전에서사용가능합니다.

onDragEnter어떤 항목이 객체 속으로 Drag해서 들어올 때 호출 됩니다

설명

image블록의onDragEnter속성은사용자가다른어플리케이션으로부터객체속으로어떤항목을Drag해들어왔을때실시되는자바스크립트코드를위한wrapper입니다.이것은항목을떨어뜨리기전에일어납니다(실제로사용자가마음을바꾸는경우에는떨어지는것을취소할수도있습니다).

이것은사용자에게Drag한객체를떨어뜨릴경우그것이수용될것인지거부될것인지를표시해주기위하여객체의시각적인상태를변화시키려고의도할때유용합니다.Drag되는항목에대한정보는system.event.data에포함되어있습니다(자세한내용은onDragDrop을참조합니다).

자바스크립트

myObjectName.onDragEnter

Page 29: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<frame> WIDGET ENGINE 3.1 REFERENCE | ��

보기

<frame>

<onDragEnter>

highlightDropTarget(well);

</onDragEnter>

</frame>

well.onDragEnter = "highlightDropTarget(well);";

사용 버전

3.0이후버전에서사용가능합니다.

onDragExit어떤 항목이 객체 밖으로 Drag 되어 나갈 때 호출됩니다

설명

image블록의onDragExit속성은사용자가다른어플리케이션으로부터객체안으로어떤항목을Drag했다가다시객체밖으로Drag할때실행되는자바스크립트를위한래퍼(wrapper)입니다.

이것은onDragEnter에서실행된것들을원상태로돌리는데에유용합니다.

자바스크립트

myObjectName.onDragExit

보기

<frame> <onDragExit> unhighlightDropTarget(well); </onDragExit> </frame> well.onDragExit = "unhighlightDropTarget();";

사용 버전

3.0이후버전에서사용가능합니다.

onMouseDown마우스 버튼을 객체 속에서 누를 때 호출됩니다

설명

onMouseDown특성은사용자가객체내에서마우스버튼을아래로누를때실행

Page 30: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

30 | WIDGET ENGINE 3.1 REFERENCE

되는자바스크립트코드를지정합니다.

자바스크립트

myObjectName.onMouseDown

보기

<frame> <onMouseDown> beep(); </onMouseDown> </frame>

myFrame.onMouseDown = "beep();";

사용 버전

3.0이후버전에서사용가능합니다.

onMouseEnter마우스가 객체 위으로 들어오면 호출됩니다

설명

onMouseEnter특성은사용자가객체안으로커서를움직일때실행되는자바스크립트코드를지정합니다.

이것은마우스가들어오거나나감에따라객체에대한시각적인변화를유발하고자할때유용합니다.

자바스크립트

myObjectName.onMouseEnter

보기

<frame> <onMouseEnter> print( "Mouse entered!" ); </onMouseEnter> </frame>

myFrame.onMouseEnter = "handleEntered();";

사용 버전

3.0이후버전에서사용가능합니다.

Page 31: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<frame> WIDGET ENGINE 3.1 REFERENCE | 31

onMouseExit마우스가 객체에서 빠져 나올 때 호출 됩니다

설명

onMouseExit특성은커서를객체내에서객체밖으로이동할때실행될자바스크립트코드를지정합니다.

이것은마우스가들어오거나나감에따라객체에대한시각적인변화를유발하고자할때유용합니다.

자바스크립트

myObjectName.onMouseExit

보기

<frame> <onMouseExit> print( "Sadly, the mouse has left us." ); </onMouseExit> </frame>

myFrame.onMouseExit = "handleMouseExit();";

사용 버전

3.0이후버전에서사용가능합니다.

onMouseMove마우스를 객체 내에서 마우스를 누른 채로 움직이고 있을 때 호출됩니다

설명

onMouseMove특성은사용자가객체범위내에서마우스커서를Drag할때실행되는자바스크립트코드를지정합니다.현재의마우스위치는system.event객체에서찾아볼수있습니다.

자바스크립트

myObjectName.onMouseMove

보기

<frame> <onMouseMove> print(system.event.x + ", " + system.event.y); </onMouseMove> </frame>

myFrame.onMouseMove = "handleMouseMove();";

Page 32: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

3� | WIDGET ENGINE 3.1 REFERENCE

사용 버전

3.0이후버전에서사용가능합니다.

onMouseUp객체 내에서 마우스를 눌렀다가 놓을 때 호출됩니다

설명

onMouseUp특성은사용자가객체내에서마우스를눌렀다가놓을때실행되는자바스크립트코드를지정합니다.

이것은마우스를누른상태를기준으로객체의시각적인변화를유발하는데유용합니다.

onMouseUp은마우스를누른것을놓을때마우스가객체내에없더라도실행된다는것에유의하십시오.정확한마우스이벤트(events)를가지는버튼들을만들어내기위해서여러분은네가지마우스이벤트처리기들을모두이용하여마우스의상태및그교차상태를전달해야합니다(이것에대한사례에대해서는첨부된CalendarWidget을참조하십시오).

자바스크립트

myObjectName.onMouseUp

보기

<frame> <onMouseUp> handleOnMouseUp(); </onMouseUp> </frame>

myFrame.onMouseUp = 'handleOnMouseUp();';

사용 버전

3.0이후버전에서사용가능합니다.

onMouseWheel마우스가 프레임 위에 있을 때 휠이 움직이면 호출됩니다

설명

onMouseWheel특성은사용자가마우스휠을객체위에서왔다갔다하면서움직일때실시되는자바스크립트코드를지정합니다.변경값(delta)은system.event.scrollDelta에서얻을수있습니다.

스크롤바가프레임에장착되어있을대는마우스휠이자동적으로조종되기때문에

Page 33: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<frame> WIDGET ENGINE 3.1 REFERENCE | 33

일반적으로는이방법을굳이사용할필요가없습니다.

자바스크립트

myObjectName.onMouseWheel

보기

<frame> <onMouseWheel> handleOnMouseWheel(system.event.scrollDelta); </onMouseWheel> </frame>

myFrame.onMouseWheel = 'handleOnMouseWheel( system.event.scrollDelta);';

사용 버전

3.0이후버전에서사용가능합니다.

onMultiClick여러 번의 클릭이 발생했을 때

설명

onMultiClick처리기를이용하면더블클릭들(혹은트리플클릭,등등)을쉽게걸러낼수있습니다.onMultiClick처리기를호출할때마다system.event.clickCount를감시하여그값을확인할수가있습니다.그값은언제나2(더블클릭의경우)이상일것입니다.

onMultiClick을이용하는대신onMouseUp처리기내의system.event.clickCount를살펴보는것도가능합니다.그러나onMultiClick을이용하는것의장점은onMouseUp와는달리창의Drag을방해하지않는다는점인데,즉어떤이미지위에mouseup처리기가있을때는그이미지를클릭할경우어떤창을Drag할수없게만듭니다.여러분의이미지가멀티클릭에반응하는것정도만을필요로할경우onMultiClick을이용하여위젯을보통때와마찬가지로Drag할수있게하는것이좋습니다.

<onMultiClick> if ( system.event.clickCount == 2 ) alert( "Double Click!" ); </onMultiClick>

사용 버전

3.0이후버전에서사용가능합니다.

Page 34: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

3� | WIDGET ENGINE 3.1 REFERENCE

불투명도 (Opacity)어떤 객체의 불투명도

설명

불투명도특성은0에서부터255까지수치가운데한수치를지함으로써어떤객체의alpha채널의수치가조정될때표시되는방식을변경할수있게합니다.불투명도0은완전한투명이어서(보이지않음)객체가마우스event에반응하지않도록하는부수적인효과를지닙니다.255의값은완전히불투명해서자신의원래이미지를보여줍니다.

보기

<frame> <opacity>128</opacity> </frame>

myFrame.opacity = 33;

사용 버전

3.0이후버전에서사용가능합니다.

scrollX수평 방향의 스크롤 이동

설명

scrollX특성은여러분이수평방향의스크롤이동을지정할수있게해줍니다.예를들어,이특성을-10으로설정할경우프레임의내용이왼쪽으로10픽셀스크롤됩니다.일반적으로는이특성을직접수정할필요가없습니다.프레임에스크롤바를붙이기만하면내용물을스크롤할필요에따라이특성은자동으로갱신되게됩니다.

보기

<frame> <scrollX>-10</scrollX> </frame>

myFrame.scrollX = -20;

사용 버전

3.0이후버전에서사용가능합니다.

Page 35: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<frame> WIDGET ENGINE 3.1 REFERENCE | 3�

scrollY수직 방향의 스크롤 이동

설명

scrollY특성은여러분이수직방향의스크롤이동을지정할수있게해줍니다.예를들어,이특성을-10으로설정할경우프레임의내용이위쪽으로10픽셀스크롤됩니다.일반적으로는이특성을직접수정할필요가없습니다.프레임에스크롤바를붙이기만하면내용물을스크롤할필요에맞추어이특성은자동으로갱신됩니다.

보기

<frame> <scrollY>-10</scrollY> </frame>

myFrame.scrollY = -20;

사용 버전

3.0이후버전에서사용가능합니다.

vAlign객체의 수직 정렬을 조절합니다

설명

객체의vAlign특성은vOsset과관련하여객체의위치를수직방향으로어떻게위치시킬지를정의합니다.예를들어bottom정렬을가진이미지는아래쪽모서리가vOffset에위치하여나타납니다.이태그를지정하지않을경우기본설정값은“top”이됩니다.

가능한값들:“top”,“bottom”,혹은“center”

자바스크립트

myObjectName.vAlign

보기

<frame> <vAlign>bottom</vAlign> </frame>

myFrame.vAlign = "bottom";

사용 버전

3.0이후버전에서사용가능합니다.

Page 36: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

3� | WIDGET ENGINE 3.1 REFERENCE

visible이미지의 가시성을 조절합니다

설명

이속성을true또는false로설정하여이미지를나타내거나숨김으로써,이미지의가시성특성을설정할수있습니다.이것은객체의불투명도에영향을주지않도록,따라서현재의불투명도를나중에재생하기위하여저장할필요없이간단하게객체를숨길수있게해줍니다.

자바스크립트

myObjectName.visible

보기

<frame> <visible>false</visible> </frame>

myFrame.visible = true;

사용 버전

3.0이후버전에서사용가능합니다.

vLineSize데이터 1줄이 스크롤될 때의 크기

설명

vLineSize특성은lineup()혹은lineDown()함수를호출할때프레임이얼마나스크롤되야하는지(픽셀단위)를지정합니다.프레임이마우스휠에반응할때도적용됩니다(스크롤바가장착된경우).기본설정값은10픽셀입니다.

자바스크립트

myObjectName.vLineSize

보기

<frame> <vLineSize>5</vLineSize> </frame>

myFrame.vLineSize = 5;

사용 버전

3.0이후버전에서사용가능합니다.

Page 37: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<frame> WIDGET ENGINE 3.1 REFERENCE | 3�

vOffset어떤 이미지의 수직 방향 위치

설명

객체의vOffset속성은어떤이미지의모화면(superview)의좌측상부코너를0,0기준으로하여이미지의수직이동거리를(위쪽에서아래쪽으로)정의합니다.부여되는값이클수록객체는아래쪽으로더많이이동한위치에서나타납니다.

자바스크립트

object.vOffset

보기

<frame> <vOffset>20</vOffset> </frame>

사용 버전

3.0이후버전에서사용가능합니다.

vScrollBar이 프레임을 위한 수직 스크롤 바

설명

프레임의vScrollBar속성은어떤스크롤바가이프레임에대한수직스크롤을통제할것인지를정의합니다.XML로표현되는경우,그vScrollBar에대해서프레임에구속시키고자하는<scrollbar>의이름을지정해주면됩니다.스크롤바객체가존재하지않을경우에는위젯의디버그창에서에러가표시될것입니다.

스크롤바를덧붙이면프레임과스크롤바사이의소통을위한모든설정이자동으로실시될것입니다.

자바스크립트

myObjectName.vScrollBar

보기

<frame> <vScrollBar>my_scrollbar</vScrollBar> </frame> <scrollbar name="my_scrollbar" ... /> // in Javascript: myFrame.vScrollBar = my_scrollbar;

Page 38: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

3� | WIDGET ENGINE 3.1 REFERENCE

사용 버전

3.0이후버전에서사용가능합니다.

width객체의 너비

설명

width특성은객체의수평크기를조절합니다.별도의지정이없는경우(혹은-1로설정된경우)프레임의크기는하위화면(subview)의크기로결정될것입니다.

자바스크립트

myObjectName.width

보기

<frame> <width>300</width> </frame>

myFrame.width = 200;

사용 버전

3.0이후버전에서사용가능합니다.

window그 객체가 속하는 창

설명

XML에서창의이름을지정해주거나아니면자바스크립트에서그변수를지정해줌으로써어떤객체가속할창을지정할수있습니다.창을따로지정하지않을경우에는위젯의XML설명에나타나는첫번째창에자동적으로붙여질것입니다.

자바스크립트

myObjectName.window

Page 39: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<hotkey> WIDGET ENGINE 3.1 REFERENCE | 3�

보기

<window name="fred" width="100" height="100"/> <frame> <window>fred</window> </frame> // Or in code var myWind = new Window(); myFrame.window = myWind; // You can also specify it in the constructor var myFrame = new Frame( myWind );

사용 버전

3.0이후버전에서사용가능합니다.

zOrder객체의 적층 순서

설명

zOrder특성은객체의적층순서를정의합니다.더높은zOrder를가진객체들은더낮은zOrder를가진객체들의위에표시됩니다.일반적으로zOrder는XML파일에서객체들에대해서정의하는순서에따라정해져서먼저그려진것들이나중에그려진것들의아래에위치하게되지만자바스크립트에서실행시간(runtime)을이용하여조정할수도있습니다.

자바스크립트

myObjectName.zOrder

보기

<frame> <zOrder>10</zOrder> </frame>

myFrame.zOrder = customZOrder++;

사용 버전

3.0이후버전에서사용가능합니다.

Page 40: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�0 | WIDGET ENGINE 3.1 REFERENCE

<hotkey>단축키 (hotkey) 및 관련 기본 설정 특징들을 정의하는 블록

속성들

key modifier name onKeyDown onKeyUp

설명

XML파일의단축키블록은위젯에서단축키(hotkey)를위한초기의키(key)및변경자(modifier)를정의합니다.단축키(hotkey)란키보드를통하여위젯에접근할수있게해주는시스템수준의키트리거(keytrigger)입니다.예를들어,탐색위젯같은경우는Control+Shift+F2와같은단축키를이용해전면에오도록코드를짤수가있습니다.

단축키객체는자바스크립트엔진을통해서동적으로생성되거나제거될수있습니다.이것은여러분이사용자들로하여금위젯의단축키(hotkey)들을수정하는것을허용할때유용할것입니다.

어떤키조합들은시스템을위하여따로예비되어있다는사실에유의해야합니다(예,윈도우의control+Tab혹은MacOSX의Command+Tab).MacOSX에서는한개이상의위젯또는어플리케이션이동일한단축키를사용할경우사용자가이키들을누를때이모든위젯과어플리케이션들이신호를수신합니다.윈도우에서는맨처음의것만이그단축키를수신합니다.

자바스크립트

newObjectName = new HotKey() delete newObjectName

보기

<hotkey name="hkey1"> <key>F4</key> <modifier>control+shift</modifier> <onKeyDown>focusWidget();</onKeyDown> </hotkey>

key기능 키 (function key)의 이름

설명

MacOSX에서단축키들은다음과같은키들을통해서정의할수있습니다:

Delete, End, Escape, ForwardDelete, F1, F2, F3, F4, F5, F6, F7, F8,

Page 41: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<hotkey> WIDGET ENGINE 3.1 REFERENCE | �1

F9, F10, F11, F12, F13, F14, F15, F16, Help, Home, PageDown, PageUp, Space, Tab

윈도우에서는다음의키들을사용할수있습니다:

UpArrow, DownArrow, LeftArrow, RightArrow, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, F16, Insert, ForwardDelete, Home, End, PageUp, PageDown, Help, Clear, PrintScreen, ScrollLock, Pause, Enter, Return, Backspace, Delete, Space, Tab, Escape

기본설정으로최소한한개의변경자(modifier)가필요한데,MacOSX의경우는Command이고,윈도의경우는Control이그것입니다.

단축키는또한어떤문자나구두점키들을가지고도정의할수가있지만이경우에는반드시두개의변경자(modifier)들이지정되어야합니다(익숙한키조합에서예상치못했던결과가나오는혼동을방지하기위하여).

자바스크립트

myObjectName.key

보기

<hotkey name="hkey1"> <key>F2</key> </hotkey>

hkey1.key = "F2";

modifier단축키에 대한 변경자 (modifier) 키들

설명

변경자속성은다음요소들의조합으로이루어질수있습니다:

Mac OS X: command, control, option, shift

윈도우: control, alt, shift

특정변경자(modifier)같은경우는언제나더불어이용되는데,기본설정으로MacOSX에서는command,윈도우에서는Control이그것입니다.

자바스크립트

myObjectName.key

Page 42: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

보기

<hotkey name="hkey1"> <key>Home</key> <modifier>control+shift</modifier> </hotkey>

hkey1.key = "F2";

name단축키의 참조 이름

설명

단축키블록의name속성은자바스크립트가참조하는키이름을정의합니다.그이름들은코드내에서참조로이용되기때문에,빈칸이나ASCII문자이외의것이포함되어서는안됩니다.

객체의이름이일단지정되면수정할수없습니다.

자바스크립트를통하여동적인객체를만들때는객체의새로운이름을반영하는데에변수의이름을이용할수있습니다.

자바스크립트

newObjectName = new HotKey()

보기

<hotkey name="hkey1"> <key>F2</key> </hotkey>

hkey1.key = "F2";

onKeyDown이 코드는 단축키를 누를 때 활성화 됩니다

설명

단축키를누를때실행되는코드는onKeyDown속성을통해서지정됩니다.MacOSX상에서는onKeyUp에키코드를덧붙이는것이일반적으로최상의방법이라는점을기억해야두십시오.보통사용자들이이렇게예상하고있기때문입니다.그러나onKeyDown은윈도우상에서만실행된다는점에주의하십시오.

자바스크립트

newObjectName = new HotKey()

Page 43: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<image> WIDGET ENGINE 3.1 REFERENCE | �3

보기

<hotkey name="hkey1"> <key>F10</key> <modifier>control</modifier> <onKeyDown> print("Hotkey " + system.event.keyString + " pressed"); </onKeyDown> </hotkey>

onKeyUp단축키에서 손을 뗄 때 활성화되는 코드

설명

단축키에서손을뗄때실행되는코드는onKeyUp속성에서지정됩니다.

어떤위젯의hotkey가눌러졌을때실행되는일반적인활동은focuseWidget()입니다.

자바스크립트

newObjectName = new HotKey()

보기

<hotkey name="hkey1"> <key>F10</key> <modifier>control</modifier> <onKeyUp>focusWidget();</onKeyUp> </hotkey>

윈도우에서의 주의 사항

윈도우에서는이트리거가적용되지않습니다.

Page 44: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

<image>이미지 및 그 관련 기본 설정 특징들을 정의하는 블록

속성들

alignment clipRect colorize contextMenuItems fillMode height hAlign hOffset hRegistrationPoint hslAdjustment hslTinting loadingSrc missingSrc name onContextMenu onDragDrop onDragEnter onDragExit onImageLoaded onMouseDown onMouseEnter onMouseExit onMouseMove onMouseUp onMultiClick opacity remoteAsync rotation src srcHeight srcWidth tileOrigin useFileIcon visible vAlign vOffset vRegistrationPoint width window zOrder

설명

XML파일에서image블록은위젯내에서정적인이미지에대한초기위치설정과마우스이벤트(event)의스크립트들을정의하는것입니다.

Page 45: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<image> WIDGET ENGINE 3.1 REFERENCE | ��

이미지객체들은자바스크립트엔진을통하여동적으로생성되고파기될수도있습니다.열거되는항목수가사전에정해지지않는위젯을작성하는경우이것이특히유용하게쓰일수있습니다.

동일한이름을가진동적인개체를한개이상만들때에는마지막으로생성된객체만이자바스크립트를통하여특성변경이벤트들을수신할것입니다.그러므로,여러분은동적인객체마다각각유일한이름을붙여서적절하게지칭될수있도록해야합니다(이를위해서는자바스크립트배열을이용하는것이좋은방법입니다).

이에대한보다자세한정보는StockTicker위젯의작동원리를참조합니다.

자바스크립트의delete명령을이용하여동적인객체를만드는경우에는이것을제거할수도있습니다.

자바스크립트

newObjectName = new Image() delete newObjectName

보기

<image src="Images/Sun.png" name="sun1"> <hOffset>250</hOffset> <vOffset>250</vOffset> <height>20</height> <width>30</width> <alignment>center</alignment> </image>

alignment정의된 원점 (origin point)로부터 이미지가 그려지는 방향

설명

이미지의정렬(alignment)특성은그리고있는이미지의초기수평방향의정렬을정의합니다.예를들면,right정렬을가진이미지는오른쪽모서리가hOffset에가도록그려질것입니다(아래참조).기본설정값은left입니다.

사용가능한값들:left,right또는center

자바스크립트

myObjectName.alignment

보기

<image src="button.png"> <alignment>right</alignment> </image>

myButton.alignment = "left";

Page 46: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

clipRect이미지의 어떤 부분을 표시할 지를 조절합니다

설명

cliprectangle을이미지에적용시킴으로써이미지의어떤부분이그려지게할지를제한할수있습니다.좌표는X,Y,너비,높이의순으로주어집니다.

자바스크립트

myObjectName.clipRect

보기

여러분이만약100x100사이즈의이미지를가지고있는데20,20에서시작해서50,50지점까지에이르는부분만을나타내고싶을경우,여러분의이미지에다음과같은태그를붙이면됩니다:

<image> ... <clipRect>20, 20, 30, 30</clipRect> </image>

자바스크립트에서도언제나이것을직접재설정하거나지울수도있습니다:

myImage.clipRect = "20, 20, 30, 30"; myImage.clipRect = null;

빈문자열로만들거나null로설정함으로써지울수있습니다.

사용 버전

2.0이후버전에서사용가능합니다.

colorize이미지의 전체적인 색채를 조절합니다

설명

채색(Colorize)은기본적으로이미지를그레이스케일로전환시켜서,어떤색상을회색변환지도(grayramp)의어떤지점에위치시킵니다.이이미지는여러분이지정하는여하한색상의모든음영을변화시킵니다.이것을이용하여일종의세피아톤효과같은것을낼수있으며,그뿐아니라매우흥미로운다른효과들도내어굉장히유용한것들을만들어낼수도있습니다.

자바스크립트

myObjectName.colorize

Page 47: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<image> WIDGET ENGINE 3.1 REFERENCE | ��

보기

<image> ... colorize>#993333</colorize> </image>

어떤채색효과를취소하고싶을때는코드의문자열에서이함수를null로설정하거나빈줄로만들면됩니다:

myImage.colorize = "";

윈도우특기사항:어떤8비트이미지포맷들(GIF)들은채색에잘맞지않을수있습니다.

사용 버전

버전2.0부터사용가능합니다.3.0버전이후에는“r:0,g:0;b:0”을이용할수도있습니다.

contextMenuItemscontext 메뉴 항목 줄을 지정합니다

설명

텍스트영역객체에contextMenuItems를덧붙이면위젯위에마우스의오른쪽버튼을클릭했을때표시되는기본context메뉴에여러항목들을덧붙일수있습니다.이태그는사실text,textArea,및window객체들에대해서도똑같이적용됩니다.여러분은또한onContextMenu태그상에서실행되는특정자바스크립트를지정함으로써context항목들을동적으로구축할수도있습니다(보다자세한정보는onContextMenu부분을참조하십시오).

일련의menuItem객체들을포함시킴으로써여러분의항목을지정할수있습니다.이것들에대한보다자세한정보는menuItem에대한부분을참조하십시오.

자바스크립트

myObjectName.contextMenuItems

Page 48: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

보기

<image> ... <contextMenuItems> <menuItem title="Test" onSelect="beep();"/> <menuItem title="Another Test"> <onSelect>alert( 'hello' );</onSelect> </menuItem> </contextMenuItems> </image>

자바스크립트에서context메뉴를구축하는보기는onContextMenu에서참조하십시오.

사용 버전

2.0이후버전에서사용가능합니다.

fillMode이미지가 자신의 영역을 채우는 방식을 조절합니다

설명

일반적으로이미지에대해서너비와높이를지정하면이미지는항상자신이포괄해야하는영역을가득채울만큼확장됩니다.이태그는이런원리를무시하고“tile(타일채우기)”또는“stretch(확장하기)”를선택지정함으로써이미지를확장하거나타일조각으로채우는것을선택할수있게합니다.타일채우기를선택할경우에는tileOrigin태그도사용해야할것입니다(이에대해서는나중에설명합니다).

만약이태그값이지정되지않을경우,기본값은“stretch(확장하기)”

자바스크립트

myObjectName.fillMode

보기

<image> ... <fillMode>tile</fillMode> <tileOrigin>bottomLeft</tileOrigin> </image>

자바스크립트에서도이이미지의속성들을설정할수있습니다.

사용 버전

2.0이후버전에서사용가능합니다.

Page 49: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<image> WIDGET ENGINE 3.1 REFERENCE | ��

height이미지의 높이

설명

height속성은이미지의수직방향치수를조절합니다.따로지정되지않은경우에는이미지가자신의“원래”높이대로그려집니다(즉,원래자료의이미지높이대로지정됩니다).높이가원래높이보다더클경우,fillMode속성을통해서어떻게할지를조절할수있습니다(기본설정은이미지를확장하는것입니다).

자바스크립트

myObjectName.height

보기

<image src="button.png"> <height>30</height> </image>

myButton.height = 30;

hAlign프레임의 수평 방향 정렬을 제어합니다

설명

이것은정렬태그와유사한함수를합니다.보다자세한정보는이태그에대한설명을참조하십시오.

사용 버전

2.0이후버전에서사용가능합니다.

hOffset어떤 이미지의 수평 방향 위치

설명

객체의hOffset속성은어떤이미지의모화면(superview)의왼쪽상부코너를0,0기준으로하여이미지의수평이동거리를(왼쪽에서오른쪽으로)정의합니다.부여되는값이클수록객체는오른쪽으로더많이이동한위치에서나타납니다.

자바스크립트

myObjectName.hOffset

Page 50: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�0 | WIDGET ENGINE 3.1 REFERENCE

보기

<image src="button.png"> <hOffset>30</hOffset> </image>

hRegistrationPoint등록 지점을 정의하기 위한 수평 방향의 이동

설명

이미지블록의hRegistrationPoint속성은이미지의위치설정및/혹은회전을위한수평방향의위치를정의합니다.예를들면8x8크기의이미지가있는데,hRegistrationPoint를4로설정할경우이이미지는여러분이설정한hOffset에기준으로중심에맞추어서그려질것입니다.

자바스크립트

myObjectName.hRegistrationPoint

보기

<image src="hourHand.png"> <hRegistrationPoint>4</hRegistrationPoint> </image>

참고

이속성은hAlign/vAlign와더불어정확하게작동하지않을수도있습니다.어떤것을가장자리나중심에정렬하려고할경우에는이두태그를이용하고,hRegistrationPoint태그는회전만을위한목적으로따로지정해두는것이좋습니다.

hslAdjustmentHSL(Hue-Saturation-Lightness)를 통한 이미지 수정

설명

HSL수정은“Colorize”에표시가되어있지않을경우포토샵의수정색상/채도(Hue/Saturation)대화창에서볼수있는것과기본적으로똑같이작동합니다.색깔의채도와명암뿐아니라색상도변경할수있습니다.색상은-180에서+180의범위내에서조정이가능하며명암은-100에서+100의범위에서조정가능합니다.채도는-100에서+100범위내에서조정가능합니다.채도를높이는경우색상을변경시킬수도있다는점을기억해야합니다.이것은모든픽셀의색상들을일률적으로바꾸어야할때전체적인파급효과를내는데사용할수있습니다.이것은또한이미지를약간어둡게만들어서이미지를고급스럽게보이는효과에도매우유용하게사용됩니다(채도를약-55정도로낮춥니다).

Page 51: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<image> WIDGET ENGINE 3.1 REFERENCE | �1

자바스크립트

myObjectName.hslAdjustment

보기

<image> ... <hslAdjustment>-20,5,0</hslAdjustment> </image>

어떤수정을해제할때는간단하게코드에null값을주거나빈문자열로설정하면됩니다:

myImage.hslAdjustment="";

윈도우특기사항:어떤8비트이미지포맷들(GIF)들은채색에잘맞지않을수있습니다.

사용 버전

2.0이후버전에서사용가능합니다.

hslTintingHSL 조정을 이용한 이미지의 색변환

설명

HSLTinting은수정은포토샵의수정색상/채도(Hue/Saturation)대화창에서“Colorize”가선택되어있을경우에작동하는것과기본적으로똑같이작동합니다.색상(hue)과색조(color)를먼저설정해두고채도를조정할수있습니다.색상(hue)는0에서360범위에서조정이가능하고채도는0에서+100까지조정할수있습니다.또한명암은-100에서+100의범위에서조정가능합니다.명도를높이면채도도영향을받을수있습니다.

자바스크립트

myObjectName.hslTinting

보기

<image> ... <hslTinting>-20, 5, 0</hslTinting> </image>

모든Tinting설정을제거하려면코드상에서빈문자열이나null로설정합니다:

myImage.hslTinting = "";

윈도참고:어떤8bit이미지포멧(GIF)은이함수가잘동작하지않을수있습니다.

Page 52: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

사용 버전

2.0이후버전에서사용가능합니다.

loadingSrc이미지가 비동기로 로딩되는 동안 보여질 이미지의 경로명

설명

만약원격지에있는이미지가비동기로로딩이된다면(remoteAsync설정을true로하여),이속성을설정함으로써원격이미지가서버로부터전달되는동안사용자에게대체용이미지를보여줄수있습니다.이미지의로딩이최종완료되면lodingSrc이미지는원격지이미지로자동대체됩니다.이미지가바뀌는지시점은onImageLoaded이벤트를통해서알수있습니다.

자바스크립트

myImage.loadingSrc = "images/loading.png";

보기

<imagesrc="http://www.imadethisup.com/remote.jpg"> <loadingSrc>images/loading.png</loadingSrc> <remoteAsync>true</remoteAsync> </image>

사용 버전

3.0이후버전에서사용가능합니다.

missingSrc소스 이미지가 로드 될 수 없을때 대신 보여질 이미지 경로명

설명

이미지객체가src속성에있는이미지를로드하지못할때대신보여줄이미지를설정하기위해이속성을사용할수있습니다.위젯엔진은이런상황에사용할기본이미지를가지고있습니다.그러나이이미지는모든상황에적합하지않을수있습니다.보통원격지의이미지소스가존재하지않거나접근불가능할때이속성을사용하게됩니다.

자바스크립트

myImage.missingSrc = "images/missing.png";

보기

<imagesrc="http://www.imadethisup.com/notthere.jpg"> <missingSrc>images/missing.png</missingSrc> </image>

Page 53: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<image> WIDGET ENGINE 3.1 REFERENCE | �3

사용 버전

3.0이후버전에서사용가능합니다.

name이미지의 참조 이름

설명

이미지블록의name속성은자바스크립트가참조하는키이름을정의합니다.그이름들은코드내에서참조로이용되기때문에,빈칸이나ASCII문자이외의것이포함되어서는안됩니다.

객체의이름이일단지정되면수정할수없습니다.

자바스크립트를통하여동적인객체를만들때는객체의새로운이름을반영하는데에변수의이름을이용할수있습니다.

자바스크립트

newObjectName = new Image()

보기

<image src="button.png"> <name>myButton</name> </image>

myButton.hOffset = 22;

onContextMenucontext 메뉴가 보이기 직전에 호출됩니다

설명

위젯을위한표준context메뉴에더해지는context메뉴항목들을지정하는가장간단한방법은XML에서contextMenuItems태그를이용하는것입니다.그러나,항목들을동적으로구축하기원하는위젯들의경우에는onContextMenu를이용해야합니다.메뉴가막표시되려고할때,어떤화면이반응할때까지마우스아래모든요소들에대하여앞쪽에서뒤쪽으로화면순서대로이것이호출됩니다.이것을다룰때는여러분의context항목들을단순하게구성하고여러분의contextMenuItems특성을항목세트에설정해주어야합니다.

자바스크립트

myImage.onContextMenu

Page 54: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

보기

<onContextMenu> var items = new Array(); items[0] = new MenuItem(); items[0].title = "This is the title"; items[0].enabled = false; items[0].checked = true; items[0].onSelect = "alert( 'you chose it!' );"; items[1] = new MenuItem(); items[1].title = "This is the second title"; items[1].onSelect = "beep();"; myImage.contextMenuItems = items; </onContextMenu>

사용 버전

2.0이후버전에서사용가능합니다.

onDragDrop객체 위로 어떤 것이 떨어지면 호출됩니다

설명

onDragDrop트리거는다른어플리케이션(예,탐색기)으로부터어떤파일,URL혹은문자열을Drag하여객체위에떨어뜨리는경우에실행됩니다.

onDragDrop활동에있어서는,무엇이떨어뜨려졌는지확인하기위하여객체들이system.even.data로접근할수있습니다.이것은문자열의배열로써그첫번째요소는어떤유형의객체가떨어졌는지를표시하는것입니다:“filename”,“urls”,혹은“문자열”.이배열의나머지요소들은떨어진항목들을표시합니다.

자바스크립트

myObjectName.onDragDrop

보기

<image src="button.png"> <name>myButton</name> <onDragDrop> if(system.event.data[0]=="filenames") { processDroppedFiles(system.event.data); } </onDragDrop> </image>

Page 55: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<image> WIDGET ENGINE 3.1 REFERENCE | ��

<image src="button.png" name="myButton"> <onDragDrop>dragCode.js</onDragDrop> </image>

myButton.onDragDrop = "handleDragDrop();";

onDragEnter어떤 항목이 객체 속으로 Drag해서 들어올 때 호출 됩니다

설명

image블록의onDragEnter속성은사용자가다른어플리케이션으로부터객체속으로어떤항목을Drag했을때실시되는자바스크립트코드를위한wrapper입니다.이것은항목이떨어뜨리기전에일어납니다(실제로사용자가마음을바꾸는경우에는떨어뜨리는것을취소할수도있습니다).

이것은사용자에게Drag한객체를떨어뜨릴경우,객체의시각적인상태를변화시켜서그것이수용되는지여부를표시해줄때유용합니다.Drag되는항목에대한정보는system.event.data에포함되어있습니다(자세한내용은onDragDrop을참조합니다).

자바스크립트

myObjectName.onDragEnter

보기

<image src="well.png">

<name>well</name>

<onDragEnter>

highlightDropTarget(well);

</onDragEnter>

</image>

well.onDragEnter = "highlightDropTarget(well);";

onDragExit어떤 항목이 객체 밖으로 Drag 될 때 호출됩니다

설명

image블록의onDragExit속성은사용자가다른어플리케이션으로부터객체안으로어떤항목을Drag했다가다시객체밖으로Drag할때실행되는자바스크립트를위한wrapper입니다.

이것은onDragEnter에서실행된것들을원상태로돌리는데에유용합니다.

Page 56: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

자바스크립트

myObjectName.onDragExit

보기

<image src="well.png"> <name>well</name> <onDragExit> unhighlightDropTarget(well); </onDragExit> </image>

well.onDragExit = "unhighlightDropTarget(well);";

onImageLoaded비동기적(async)방식으로 읽혀지는 이미지가 최종적으로 로드가 완료될 때 호출됩니다

설명

이미지의src특성이어떤원격위치의이미지를지정하고,remoteAsync특성이true로설정되었다면이미지들은비동기적(async)방식으로보여집니다.언제이미지가마지막으로로드되었는지알아야되는경우,이동작(action)을이용하여언제이미지가로드가완료되었는지확인할수있습니다.이미지를,로드를완료한직후원본이미지의size로재조정하거나,이미지의비례를유지한채크기를바꾸거나하는등등의작업을할수있습니다.

자바스크립트

myObjectName.onImageLoaded

보기

<image src="http://www.some.remote.image.com/image.png">

<onImageLoaded>

print( "image done loading" );

</onImageLoaded>

</text>

myImage.onImageLoaded = "print( 'image loaded' );";

사용 버전

3.0이후버전에서사용가능합니다.

Page 57: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<image> WIDGET ENGINE 3.1 REFERENCE | ��

onMouseDown마우스 버튼을 객체 속에서 누를 때 호출됩니다

설명

onMouseDown특성은사용자가객체내에서마우스버튼을아래로누를때실행되는자바스크립트코드를지정합니다.

이것은마우스를누른상태에따라객체를다르게보이게하고싶을때유용합니다.

자바스크립트

myObjectName.onMouseDown

보기

<image src="button.png"> <name>myButton</name> <onMouseDown> myButton.src = "buttonDown.png"; </onMouseDown> </image>

<image src="button.png" name="myButton"> <onMouseDown>buttonCode.js</onMouseDown> </image>

myButton.onMouseDown = "doButtonHighlight(myButton);";

onMouseEnter마우스가 객체 속으로 들어갈 때 호출되는 스크립트

설명

이미지블록의onMouseEnter특성은사용자가객체내에서커서를움직였을때실행되는자바스크립트코드에대한wrapper입니다.

이것은마우스가객체위로들어오거나나갈때객체에대한시각적인변화를유발하고자할때,혹은마우스가밖에있을때객체를숨겨두었다가위로들어왔을때보여주고자할때도유용합니다.

자바스크립트

myObjectName.onMouseEnter

Page 58: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

보기

<image src="button.png"> <name>myButton</name> <onMouseEnter> myButton.src = "buttonOver.png"; </onMouseEnter> </image>

myButton.onMouseEnter = "handleMouseEnter(myButton);";

onMouseExit마우스가 객체에서 빠져 나올 때 호출 되는 스크립트

설명

onMouseExit특성은커서를객체내에서객체밖으로이동시킬때실행될자바스크립트코드를지정합니다.

이것은마우스가객체위로들어오거나나갈때객체에대한시각적인변화를유발하고자할때,혹은마우스가안에있을때객체를보여주던것을밖으로나갔을때다시감추고자할때도유용합니다.

자바스크립트

myObjectName.onMouseExit

보기

<image src="button.png"> <name>myButton</name> <onMouseExit> myButton.src = "button.png"; </onMouseExit> </image>

myButton.onMouseExit = "handleMouseExit(myButton);";

onMouseMove마우스를 객체 내에서 움직이고 마우스를 누를 때 호출되는 스크립트

설명

image블록의onMouseMove특성은해당객체의범위내에서마우스커서를Drag할때실행되는자바스크립트코드에대한wrapper입니다.현재의마우스위치는system.event객체에서찾아볼수있습니다.

이것은위젯안에서어떤객체를움직이는데에유용합니다.iTune’sRemoteWidget에있는볼륨슬라이더는이동작(action)을이용해서실행됩니다.

Page 59: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<image> WIDGET ENGINE 3.1 REFERENCE | ��

자바스크립트

myObjectName.onMouseMove

보기

<image src="button.png"> <name>myButton</name> <onMouseMove> print(system.event.x + ", " + system.event.y); </onMouseMove> </image>

myButton.onMouseMove = "handleMouseMove(myButton);";

onMouseUp객체 내에서 마우스를 눌렀다가 놓을 때 호출되는 스크립트

설명

image블록의onMouseUp속성은사용자가객체내에서마우스를눌렀다가놓을때실행되는자바스크립트코드에대한wrapper입니다.

이것은마우스를누른상태정보를기준으로객체의시각적인변화를유발하는데유용합니다.

onMouseUp은마우스를놓는순간마우스가객체내부에있지않더라도호출될수있다는것에유의하십시오.정확한마우스이벤트(events)를가지는버튼들을만들어내기위해서여러분은네가지마우스이벤트처리기(handler)들을모두이용하여마우스의상태및그교차상태를전달해야합니다(이것에대한사례에대해서는첨부된CalendarWidget을참조합니다).

자바스크립트

myObjectName.onMouseUp

보기

<image src="button.png"> <name>myButton</name> <onMouseUp> myButton.src = "button.png"; </onMouseUp> </image>

myButton.onMouseUp = 'handleOnMouseUp(myButton);';

Page 60: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�0 | WIDGET ENGINE 3.1 REFERENCE

onMultiClick여러 번의 클릭이 발생했을 때

설명

onMultiClick처리기를이용하면더블클릭들(혹은트리플클릭,등등)을쉽게걸러낼수있습니다.이처리기(handler)는이미지,텍스트,텍스트영역및창객체들에설정할수있습니다.onMultiClick처리기를호출할때마다system.event.clickCount를감시하여그값을확인할수가있습니다.그값은언제나2(더블클릭의경우)이상일것입니다.

onMultiClick을이용하는대신onMouseUp처리기내의system.event.clickCount를살펴보는것도가능합니다.그러나onMultiClick을이용하는것의장점은onMouseUp와는달리창의Drag을방해하지않는다는점인데,즉어떤이미지위에mouseup처리기가있을때는그이미지를클릭할경우그창을Drag할수없게만듭니다.여러분의이미지가멀티클릭에반응하는것정도만이필요할경우에는onMultiClick을이용하여위젯을보통때와마찬가지로Drag할수있게하는것이좋습니다.

<onMultiClick> if ( system.event.clickCount == 2 ) alert( "Double Click!" ); </onMultiClick>

사용 버전

2.0이후버전에서사용가능합니다.

불투명도 (Opacity)이미지를 나타낼 때의 투명도

설명

불투명도특성은여러분으로하여금어떤객체를그릴때의알파값을조절하는0에서부터255까지수치가운데한수치를지정할수있게합니다.불투명도0은완전한투명이며(보이지않음),객체가마우스이벤트에반응하는것을방지해주는것같은부수적인효과를지닙니다.255의값은완전불투명이어서자신의원래이미지를보여줍니다.

보기

<image src="button.png"> <name>myButton</name> <opacity>128</opacity> </image>

myButton.opacity = 33;

Page 61: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<image> WIDGET ENGINE 3.1 REFERENCE | �1

remoteAsync원격 이미지를 시간 차를 두고 불러 들일 것인지를 지정합니다

설명

이것이true로설정된경우remoteAsync는이미지객체에게이미지소스를비동기적으로로드할것을명령하여여러분의위젯이그동안다른작업을할수있게해줍니다.어떤이미지를불러들이고있는동안특정이미지를보여주고싶을때는loadingSrc특성값을지정해주면됩니다.그이미지가최종적으로로드되었을때무언가를하고싶으면,onImageLoaded특성에적절한자바스크립트를지정하면됩니다.

보기

<image src="http://www.a.remote.server.com/image.png">

<loadingSrc>images/loading.png</loadingSrc>

<remoteAsync>true</remoteAsync>

</image>

myImage.remoteAsync = true;

사용 버전

3.0이후버전에서사용가능합니다.

rotation이미지를 회전하는 시계 방향의 각도

설명

이미지블록의rotation속성은이미지가회전한각도를도단위혹은더세분된도단위로정의합니다.

rotation은어떤목적에도사용될수있지만,가장확실한사례는아날로그시계의시계바늘들을정확하게나타낼때입니다.

자바스크립트

myObjectName.rotation

보기

<image src="hourHand.png"> <rotation> 180 </rotation> </image>

Page 62: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

src표시되는 이미지의 경로

설명

이미지블록에대한src속성은이미지소스(source)를정의합니다.이것을참조하는위젯의XML파일의위치에따른상대경로로드라이브상의경로값을지정합니다.

버전2.0이후에서는이미지에대한소스로URL을지정해줄수도있습니다.

자바스크립트

myObjectName.src

보기

<image src="Resources/Buttons/button.png">

srcHeight소스 이미지의 원래 높이

설명

srcHeight속성은이미지크기수정이일어나기전에디스크로부터원래의이미지높이를읽어들일때그높이를알려주는함수를합니다.이속성은읽기전용으로써,이것은수정을해도아무효과가나지않을것입니다.

자바스크립트

myObjectName.srcHeight

보기

origHeight = myButton.srcHeight;

srcWidth소스 이미지의 원래 너비

설명

srcWidth속성은이미지크기의수정이일어나기전디스크로부터원래의이미지너비를읽어들일때그너비를알려주는함수를합니다.이속성은읽기전용으로써,이를수정하더라도아무효과도나지않을것입니다.

자바스크립트

myObjectName.srcWidth

Page 63: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<image> WIDGET ENGINE 3.1 REFERENCE | �3

보기

origWidth = myButton.srcWidth;

tileOrigin이미지 타일 조각으로 채우는 방식을 조절합니다

설명

이태그는fillMode태그와더불어서사용됩니다.fillMode이“tile”로설정되어있다면,이미지는그주어진너비와높이만큼원래사이즈의이미지들로채워집니다(주어진이미지크기가원래이미지크기보다크다는것을전제로합니다).이태그는타일이시작되는이미지코너를조절합니다.유효값으로는“topLeft”,“topRight”,“bottomRight”등이있습니다.이태그가따로지정되지않을경우,기본설정값은“topLeft”입니다.

자바스크립트

myObjectName.tileOrigin

보기

<image> ... <fillMode>tile</fillMode> <tileOrigin>bottomLeft</tileOrigin> </image>

They are also perfectly settable in Javascript.

사용 버전

2.0이후버전에서사용가능합니다.

tooltip이미지 객체를 위한 tooltip

설명

마우스커서가이미지객체위에머물러있을때팝업tooltip에서표시될텍스트를정의합니다.

자바스크립트

object.tooltip

Page 64: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

보기

<image src="Example.png"> <tooltip>Example tooltip</tooltip> </image>

tracking이미지의 커서 인식방식

설명

tracking속성은이미지의클릭가능한부분을결정할때해당이미지주위의사각영역을쓸것인지이미지의불투명영역을쓸것인지를지정합니다.기본값으로opacity를지정하면이미지의투명한부분들은클릭할수없지만tracking특성을rectangle로설정하면전체이미지영역이마우스클릭에반응하게됩니다.

자바스크립트

myObjectName.tracking

보기

<tracking>rectangle</tracking>

추가 참조

defaultTracking부분도참조하십시오.

useFileIcon파일의 아이콘을 추출합니다

설명

image블록의useFileIcon속성은이이미지가src에지정된파일의아이콘을이용하여초기화되는것을지정합니다.이경우src는이미지뿐만아니라어떠한파일도지정할수있습니다.

자바스크립트

myObjectName.src

보기

<image useFileIcon="true"> <src>/Applications/iChat.app</src> </image>

Page 65: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<image> WIDGET ENGINE 3.1 REFERENCE | ��

vAlign이미지의 수직 정렬을 조절합니다

설명

이미지의vAlign특성은vOffset과관련하여객체의위치를수직방향으로어떻게위치시킬지를정의합니다.예를들어bottom정렬을가진이미지는아래쪽가장자리가vOffset지점에위치하도록표시됩니다.이태그를따로지정하지않을경우기본설정값은“top”이됩니다.

가능한 값들: top, bottom 혹은 center.

자바스크립트

myObjectName.vAlign

보기

<image src="button.png"> <vAlign>bottom</vAlign> </image>

myButton.vAlign = "bottom";

사용 버전

2.0이후버전에서사용가능합니다.

visible이미지의 가시성을 조절합니다

설명

이속성을true또는false로설정하여이미지를각각나타내거나숨김으로써,이미지의가시성특성을설정할수있습니다.이것은객체의불투명도에영향을주지않으며,따라서현재의불투명도를나중에재생하기위하여저장할필요없이간단하게객체를숨길수있게해줍니다.

자바스크립트

myObjectName.visible

보기

<image src="button.png"> <visible>false</visible> </image>

myButton.visible = true;

Page 66: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

사용 버전

3.0이후버전에서사용가능합니다.

vOffset어떤 객체의 수직 방향 위치

설명

이미지블록의객체의vOffset속성은어떤이미지의모화면(superview)의왼쪽상부코너를0,0기준으로하여이미지의수직이동거리를(위쪽에서아래쪽으로)정의합니다.부여되는값이클수록객체는아래쪽으로더많이이동한위치에서나타납니다.

The vOffset specifies where the baseline of the text will be located. If you don't set this, you might not see the text, as the baseline will be zero.

자바스크립트

object.vOffset

보기

<image src="button.png"> <vOffset>20</vOffset> </image>

vRegistrationPoint등록 지점을 정의하기 위한 수직 방향의 이동

설명

이미지블록의vRegistrationPoint속성은이미지의위치설정및/혹은회전을위해이미지내의수직방향위치를정의합니다.예를들면8x8크기의이미지가있는데,vRegistrationPoint를4로설정할경우이이미지는여러분이설정한vOffset값기준으로중심에그려질것입니다.

자바스크립트

myObjectName.vRegistrationPoint

보기

<image src="hourHand.png"> <vRegistrationPoint>36</vRegistrationPoint> </image>

참고

이속성은hAlign/vAlign와더불어정확하게작동하지않을수도있습니다.어

Page 67: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<image> WIDGET ENGINE 3.1 REFERENCE | ��

떤것을가장자리나중심에정렬하려고할경우에는이두태그를이용하고,vRegistrationPoint태그는회전목적전용으로따로예비해두는것이좋습니다.

width이미지의 너비

설명

width특성은객체의수평크기를조절합니다.별도의지정이없는경우,이미지는“적당한”너비가됩니다(즉,소스이미지의너비와는상관이없습니다).지정되는너비가원본의너비보다더큰경우fillMode속성에따라실행될것입니다(기본설정은이미지를확대하는것입니다).

자바스크립트

myObjectName.width

보기

<image src="button.png"> <width>30</width> </image>

myButton.width = 20;

window해당 이미지가 속하는 창

설명

XML에서창의이름을지정해주거나아니면자바스크립트에서그변수를지정해줌으로써어떤이미지가속할창을지정할수있습니다.창을따로지정하지않을경우에는위젯의XML설명에나타나는첫번째창에자동적으로붙여질것입니다.

자바스크립트

myObjectName.window

Page 68: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

보기

<window name="fred" width="100" height="100"/> <image src="button.png"> <window>fred</window> </image> // Or in code var myWind = new Window(); myImage.window = myWind; // You can also specify it in the constructor for an image var myImage = new Image( myWind );

사용 버전

2.0이후버전에서사용가능합니다.

zOrder이미지의 적층 순서

설명

zOrder특성은이미지의적층순서를정의합니다.더높은zOrder를가진이미지들은더낮은zOrder를가진객체들의위에표시됩니다.일반적으로zOrder는XML파일에서이미지들에대해서정의하는순서에따라정해져서먼저그려진것들이나중에그려진것들의아래에위치하게되지만자바스크립트에서실행시간(runtime)을이용하여조정할수도있습니다.

자바스크립트

myObjectName.zOrder

보기

<image src="button.png"> <zOrder>10</zOrder> </image>

myButton.zOrder = customZOrder++;

Page 69: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<menuitem> WIDGET ENGINE 3.1 REFERENCE | ��

<menuItem>메뉴 아이템을 정의하는 블록

속성들 checked enabled onSelect title

설명

메뉴아이템은contextmenu배열과처리기(handler)를통해서기본위젯context메뉴에대한추가항목들을제공합니다.

사용 버전

2.0이후버전에서사용가능합니다.

checked아이템이 체크 상태인지를 지정합니다

설명

이속성은단순히그항목이메뉴에서나타날때그옆에체크마크를표시할것을지정합니다.이속성이따로지정되지않을경우,기본설정은false입니다.

보기

<menuItem name="myItem" title="Widgetz R0x0r!!!11" checked="true"/>

// or in JavaScript myItem.checked = true;

사용 버전

2.0이후버전에서사용가능합니다.

enabled아이템이 사용가능 상태인지를 지정합니다

설명

이속성은단순히메뉴에서어떤아이템을사용가능하게할지를지정할뿐입니다.이것이false로설정되면이항목은회색으로표시되고사용자는이항목을선택할수없습니다.이속성이따로지정되지않은경우,true가기본설정입니다.

Page 70: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�0 | WIDGET ENGINE 3.1 REFERENCE

보기

<menuItem title="Recent Locations" enabled="false"/>

// or in JavaScript myItem.enabled = false;

사용 버전

2.0이후버전에서사용가능합니다.

onSelect아이템이 선택되었을 때 실행될 자바스크립트를 지정합니다

설명

이속성값은Contextmenu에서어떤아이템이선택되었을때실행할동작(action)을지정합니다.

보기

<menuItem title="Recent Locations" enabled="false" onSelect="beep();"/>

// or in JavaScript myItem.onSelect = "beep();";

사용 버전

2.0이후버전에서사용가능합니다.

title메뉴 항목의 텍스트를 지정합니다

설명

이속성은메뉴아이템에서보여줄텍스트를지정합니다.

보기

<menuItem title="I am the title"/>

// or in JavaScript myItem.title = "Choose me!";

사용 버전

2.0이후버전에서사용가능합니다.

Page 71: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<preference> WIDGET ENGINE 3.1 REFERENCE | �1

<preference>환경 설정 (preferences) 을 선택하고 관련 특성들을 정의하는 블록

속성들

defaultValue description directory extension group hidden kind maxLength minLength name notSaved option optionValue secure style ticks tickLabel title type value

설명

환경설정(preference)블록은위젯의실행여부와상관없이이용자가입력하는정보를비롯,영구적으로저장할각종정보를지정한블록입니다.

기본적으로제공되는두가지종류의환경설정이있습니다:

konfabulatorWindowLevel the level the Widget window displays at on the user's screen floating, topMost, normal, below or desktop

konfabulatorWindowOpacity the opacity of the Widget's window

이환경설정들은사용자로하여금위젯을사용자의바탕화면에어떤식으로표시할지를조정할수있게해줍니다.이함수를스스로제공하고싶을때는똑같은이름들즉,windowLevel및windowOpacity를호출하면됩니다.이특징을해제하고싶을때는위젯에서이두환경설정항목들을다음과같이정의하십시오:

Page 72: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

<preference name="windowLevel"> <hidden>true</hidden> </preference> <preference name="windowOpacity"> <hidden>true</hidden> </preference>

defaultValue환경 설정에서 기본 설정 값

설명

환경설정(preference)블록에서defaultValue속성은어떤값을기본값으로설정할지를지정합니다.이것을통해서여러분이환경설정을하기전에도어떤값이이미설정되어있게할수있으며,또한이용자가입력할적절한값을미리지정해놓을수도있습니다.이값들은사용자가환경설정값들을수정하기전에자바스크립트코드가환경설정값을참조하는경우수신하게되는값입니다.

보기

<preference name="colorPref"> <defaultValue>red</defaultValue> </preference>

colorPref.defaultValue = "red";

description환경설정 판넬에 보여지는 설명용 문장

설명

환경설정블록의description속성은환경설정패널의사용자인터페이스에표시될때해당설정값밑에나타나게되는설명문을정의합니다.

이것은선택사항이지만,여러분의사용자들에게그설정값의용도를설명해주기위해서는매우권장되는사항이기도합니다.

보기

<preference name="colorPref"> <description> Enter the desired color </description> </preference>

Page 73: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<preference> WIDGET ENGINE 3.1 REFERENCE | �3

directoryselector 타입의 환경 설정값에 대한 기본 디렉토리

설명

이속성을이용하여selector타입의환경설정을위한디렉토리를설정할수있습니다.

보기

<preference> <type>selector</type> <style>open</style> <directory>~/Documents</directory> </preference>

extensionselector 타입의 환경 설정값에 대한 기본 파일 확장자

설명

selector타입의환경속성을이용함으로써,open시스템대화창을나타내는typeselector의환경설정이특정확장자명을가지는파일들에만적용되게제한할수있습니다.

보기

<preference> <type>selector</type> <style>open</style> <extension>.jpg</extension> <extension>.gif</extension> <extension>.png</extension> </preference>

group이 환경 설정이 속하는 그룹

설명

버전2.0부터는위젯을위한환경설정대화창이여러그룹으로분류되어,복수의대화창으로표시됩니다.이속성은이특정환경설정(preference)이어떤환경설정그룹에속하는지알려줍니다.이속성이따로지정되지않는경우,이환경설정(preference)자동적으로‘일반’그룹에속하게됩니다.

Page 74: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

보기

<preference> <type>selector</type> <style>save</style> <group>my_group</group> </preference>

위의보기는여러분이XML의어떤위치속에my_group이라는이름의적절한환경설정그룹들을정의해두었다는것을전제로합니다.보다자세한내용은환경설정그룹들에대한부분을참조하십시오.

사용 버전

2.0이후버전에서사용가능합니다.

hidden사용자에게 숨겨진 환경 설정 (preference) 입니다

설명

어떤환경설정(preference)이hidden속성을가질경우,최종사용자는이환경설정을수정하거나보는것이불가능합니다.자바스크립트에서는이환경설정을조작하는것이가능하지만위젯의환경설정대화창에서는표시되지않습니다.어떤위젯에숨겨진히든환경설정만이있다면context메뉴에“위젯환경설정”옵션이나타나지않습니다.사용자들이위젯환경설정의대화창을여는대신위젯상에있는컨트롤을이용해환경설정을변경하려고하는경우숨겨진환경설정을사용합니다.

보기

<preference name="colorPref"> <hidden>true</hidden> <type>text</type> <defaultValue>red</defaultValue> </preference>

kindselector타입의 환경설정이 선택하고자 하는 항목의 종류

설명

이속성을이용할경우열기(open)시스템대화창을표시하는selectortype의환경설정은files,folder혹은both의값을지정할수있습니다.

Page 75: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<preference> WIDGET ENGINE 3.1 REFERENCE | ��

보기

<preference> <type>selector</type> <style>open</style> <kind>folders</kind> </preference>

maxLengthslider 환경 설정의 최대 값

설명

현재이것은slider환경설정들에대해서만사용되며,슬라이더가표시할수있는최대값입니다.

보기

<preference> <maxLength>200</maxLength> </preference>

minLengthslider 환경 설정의 최소 값

설명

현재slider환경설정들에대해서만사용되며,이것은슬라이더가표시할수있는최소값입니다.

보기

<preference> <minLength>1</minLength> </preference>

name어떤 환경 설정을 지칭하는 이름

설명

환경설정(preferences)블록의name속성은이환경설정을자바스크립트에서참조할때의이름을정의합니다.이이름은코드내에서의참조용으로사용되기때문에빈칸이나ASCII문자이외의것이포함되어서는안됩니다.

Page 76: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

보기

<preference> <name>colorPref</name> </preference>

notSaved어떤 환경 설정 값이 자동적으로 저장되는 것을 방지합니다

설명

notSaved속성은위젯에대한사용자의환경설정파일에어떤환경설정이자동적으로저장되는것을방지합니다.이것은환경설정패널에어떤조절함수를표시하고싶지만코드에서는원래값으로되돌리기원할때유용하게쓰입니다.어떤면에서보면,이속성은hidden의반대라고볼수있습니다.

보기

<preference> <notSaved>true</notSaved> </preference>

optionpopup type의 환경 설정에 대한 선택값

설명

popuptype의환경설정은위젯환경설정대화창에서팝업메뉴로표시됩니다.팝업메뉴에일련의선택사항들을제공하기위해option속성들을추가할수있습니다.

어떤옵션에대한문자열(-을이용하게되면팝업내의그지점에서분리부호가표시되게만듭니다(이것은선택사항이아닙니다).

보기

<preference name="colorPref"> <type>popup</type> <option>Red</option> <option>White</option> <option>(-</option> <option>Blue</option> </preference>

Page 77: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<preference> WIDGET ENGINE 3.1 REFERENCE | ��

optionValuepopup 유형의 환경 설정에서 각 선택항목에 대응되는 값들

설명

선택된option의리턴값을다른값으로지정하고싶을경우각option들에대하여optionValue를지정하십시오.모든option에대하여optionValue는한가지여야합니다.(여러분이“분리부호(separator)를이용할경우,위에서보듯이리턴값이없음에도불구하고그에대응되는더미(dummy)optionValue를줄필요가있습니다).

보기

<preference name="colorPref"> <type>popup</type> <option>Red</option> <optionValue>#FF0000</optionValue> <option>White</option> <optionValue>#FFFFFF</optionValue> <option>(-</option> <optionValue>none</optionValue> <option>Blue</option> <optionValue>#0000FF</optionValue> </preference>

secure속성 값이 암호화되어 저장되도록 지정합니다

설명

모든종류의환경설정은저장된값을쉽게읽을수없도록secure로지정할수있습니다.이것은패스워드같은항목들을저장할때유용합니다.text환경설정같은경우는추가적으로“password”스타일의유저인터페이스를표시합니다(문자가타이핑되는대신일종의점(bullet)이나타납니다)

secure로지정된환경설정이non-secure로변경되는경우,이환경설정은defaultValue로재설정됩니다.

Page 78: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

보기

<preference> <type>text</type> <secure>yes</secure> </preference>

styleselector 유형의 환경 설정에 대한 대화창 양식

설명

selector유형의환경설정은열기(open)혹은저장(save)시스템대화창가운데한가지를표시할수있습니다.전자의경우는사용자로하여금기존파일들을선택할수있게하고,후자는저장하거나새로운파일을생성할위치를선택할수있게합니다.

보기

<preference> <type>selector</type> <style>open</style> </preference>

ticksslider 환경 설정에 표시할 눈금의 수

설명

slider가눈금을표시하게만들려면ticks속성을이용합니다.이것의부작용으로slider는오직눈금에해당되는수치만리턴합니다.

slider들의경우,minLength와maxLength속성들은설정이가능한최소값및최대값을정의합니다.첫번째의눈금이minLenghth에대응되고마지막눈금이maxLength에대응됩니다.

보기

<preference> <type>slider</type> <ticks>10</ticks> <minLength>0</minLength> <maxLength>100</maxLength> </preference>

Page 79: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<preference> WIDGET ENGINE 3.1 REFERENCE | ��

tickLabelslider 환경 설정 아래에 나타나는 라벨들 정의

설명

slider가트랙아래의라벨들을표시하게하려면한개이상의tickLabels를지정합니다.라벨들은슬라이더의길이에맞추어적절히분배되어배치됩니다..

보기

<preference> <type>slider</type> <tickLabel>One</tickLabel> <tickLabel>Volume</tickLabel> <tickLabel>Eleven</tickLabel> </preference>

title환경 설정 패널에 표시되는 라벨

설명

환경설정블록의title속성은내장형환경설정인터페이스를통하여사용자에게표시되는라벨제목을정의합니다.

보기

<preference> <title>Color:</title> </preference>

type표시된 데이터와 콘트롤의 유형

설명

환경설정블록의type속성은데이터의선택항목을표시하기위하여어떤유형의사용자인터페이스객체가사용되는지정의합니다.

type의종류는다음과같습니다:

checkbox 예/아니오를입력하는체크박스를표시합니다.위젯에리턴되는값은0또는1입니다.

color 색상선택창을표시하고색상을선택할수있게합니다.위젯에리턴되는값은#12345와같은표준색상지시자(specifier)입니다.

Page 80: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�0 | WIDGET ENGINE 3.1 REFERENCE

font 폰트이름을표시하여시스템에서사용가능한것들가운데폰트한가지를선택할수있게합니다.텍스트객체의폰트속성은리턴값으로설정될수있습니다.

hotkey 단축키와그변경자(modifier)를표시하고그를대신할키조합을선택할수있게합니다.위젯으로리턴되는값을이용하여단축키객체를위한변경자와키를설정할수있습니다.

popup 선택안을표시하고위젯지정리스트로부터항목들을선택할수있게합니다.string값이위젯으로리턴됩니다.(option들가운데한가지,혹은optionValue들가운데한가지가됩니다).

selector 파일이름하나를표시하고다른파일이름들을선택할수있게해줍니다.위젯으로리턴되는값은파일의인증된전체경로이름입니다(/분리부호들이포함된웹스타일의경로).

slider 슬라이더하나를표시하고숫자를입력할수있게합니다.숫자가리턴됩니다.

text 사용자가텍스트를입력할수있는텍스트표준필드.문자열이리턴됩니다(패스워드스타일텍스트필드를표시하는데관한정보에대해서secure속성을참조하십시오).

보기

<preference> <type>checkbox</type> </preference>

value환경 설정의 현재 값

설명

환경설정의값(value)속성에는환경설정에부여된현재값이포함됩니다.이것은사용자가바로입력한것일수도있고출발시점에위젯의환경설정파일에서읽어온것일수도있습니다.

value속성에숫자가포함되어있더라도문자열로취급된다는것을주목합니다.환경설정값을숫자로이용할경우,그것에접근할때는적절한반대경로를이용하십시오.예를들면다음과같습니다:

numberOfItems = Number(preferences.numItems.value) + 1;

Page 81: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<preferenceGroup> WIDGET ENGINE 3.1 REFERENCE | �1

<preferenceGroup>환경 설정을 구성하는 그룹

속성들

name icon order title

설명

환경설정그룹들은환경설정창이떴을때여러분으로하여금여러분의환경설정을구성할수있게합니다.버전2.0이후에서대화창은복수의판넬로표시됩니다.preferenceGroup들을이용하여여러분의그룹들을정의한다음특정그룹내에여러분이원하는각환경설정의그룹속성을설정할수있습니다.

사용 버전

버전2.0에서환경설정그룹들이도입되었습니다.

name이 그룹의 이름

설명

이속성은그룹의이름을정의합니다.이이름은오직그신원을표시하는것으로써모든환경설정그룹들사이에서유일한것이어야합니다.어떤그룹에속하는환경설정항목을정의하면,이이름을가지고그항목이속하는그룹을확인하는데이용할수있습니다.이것과제목(title)속성을혼동해서는안되는데,제목속성은환경설정창의툴바에서나타나는사용자가볼수있는이름입니다.

보기

<preferenceGroup name="colors" title="Colors"/>

사용 버전

2.0이후버전에서사용가능합니다.

icon그룹을 나타내기 위해 사용되는 이미지

설명

여러분의그룹을대표하여대화창에표시되는이미지를지정할수있습니다.현재이이미지는최대32x32로제한됩니다.아이콘을따로지정하지않을경우기본아이콘이자동으로제공됩니다.

Page 82: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

보기

<preferenceGroup icon="Resources/myPrefIcon.png"/>

사용 버전

2.0이후버전에서사용가능합니다.

order몇번째 순서로 그룹이 나타날지 정의합니다

설명

이특성은여러분이대화창에나타나는환경설정그룹들의순서를조절할수있게해주는기능입니다.숫자를매기는것은전적으로여러분의재량이며,가장낮은숫자의경우가장왼쪽편에위치하게됩니다.

보기

<preferenceGroup> title="First Group" order="0" </preferenceGroup> <preferenceGroup> title="Second Group" order="1" </preferenceGroup>

사용 버전

2.0이후버전에서사용가능합니다.

title환경 설정 그룹의 제목

설명

이특성은대화창에서여러분의환경설정그룹아이콘아래에어떤문자가나타나게할지를정의합니다.이제목들은일반적으로짧게한두단어로이루어집니다.

Page 83: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<scrollbar> WIDGET ENGINE 3.1 REFERENCE | �3

보기

<preferenceGroup> title="General" order="0" </preferenceGroup> <preferenceGroup> title="Special" order="1" </preferenceGroup>

사용 버전

2.0이후버전에서사용가능합니다.

Page 84: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

<scrollbar>스크롤 바 객체를 지정합니다

특성들

autoHide hAlign height hOffset max min onValueChanged opacity orientation pageSize thumbColor vAlign value visible width window zOrder

autoHide스크롤 할 것이 없을 때 스크롤 바를 숨길 것인지 여부를 지정합니다

설명

이특성은스크롤할것이없는경우스크롤바를숨기는모드로설정할때이용됩니다.이특성의기본설정은false입니다.스크롤바가자동으로숨겨지는것으로설정되어있지않으면,스크롤할것이없는경우스크롤바가50%수준으로투명하게바뀝니다.

보기

<scrollbar> <autoHide>true</autoHide> </scrollbar> myScrollbar.autoHide = true;

사용 버전

3.0이후버전에서사용가능합니다.

Page 85: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<scrollbar> WIDGET ENGINE 3.1 REFERENCE | ��

hAlign객체의 수평 방향 정렬을 제어합니다

설명

객체의hAlign특성은hOffset값을참고하여초기수평정렬을정의합니다.예를들면,right정렬을가진객체를그릴때는hOffset지점에그오른쪽가장자리가위치하게됩니다.기본설정된정렬은“left”입니다.

선택가능한값:"left", "right" 혹은 "center".

자바스크립트

myObjectName.alignment

보기

<scrollbar> <alignment>right</alignment> </scrollbar> myScrollbar.alignment = "left";

사용 버전

3.0이후버전에서사용가능합니다.

height객체의 높이

설명

height속성은객체의수직방향치수를조절합니다.수평스크롤바의경우에는높이를지정할필요가없습니다.스크롤바이미지의크기가높이도결정할것입니다.일반적으로높이를구체적으로지정해주는것이아니라스크롤바에게여러분의인터페이스를구성하기위해서어떤높이이어야하는지를물어봐야합니다.이렇게함으로써추후에스크롤바의모습에변형이생기는것을방지할수있습니다.수직스크롤바의경우에는반드시여러분의인터페이스가요구하는것이무엇인지에따라높이를설정해야합니다.

자바스크립트

myObjectName.height

보기

<scrollbar> <height>300</height> </scrollbar>

myScrollbar.height = 300;

Page 86: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

사용 버전

3.0이후버전에서사용가능합니다.

hOffset어떤 객체의 수평 방향 위치

설명

객체의hOffset속성은어떤이미지의모화면(superview)의왼쪽상부코너를0,0기준으로하여이미지의수평이동거리를(왼쪽에서오른쪽으로)정의합니다.부여되는값이클수록객체는오른쪽으로더많이이동한위치에서나타납니다.

자바스크립트

myObjectName.hOffset

보기

<scrollbar> <hOffset>30</hOffset> </scrollbar>

사용 버전

3.0이후버전에서사용가능합니다.

max스크롤 바의 최대 값

설명

최대값특성은스크롤바의최대값을정의합니다.min과함께이것은스크롤바가가질수있는값의범위를정의합니다.

단순히프레임에스크롤바를붙이는것뿐이라면이특성에신경을쓸필요가전혀없습니다.상황에맞게모두자동적으로설정됩니다.

단독의(standalone)스크롤바를가지고있으면서min을설정하고자하는경우라면setRange()함수를이용해야만합니다.자바스크립트에서는이것을직접수정할수없습니다.그러나XML에서는스크롤바에대해서이값을지정할수있습니다.

자바스크립트

myObjectName.max

Page 87: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<scrollbar> WIDGET ENGINE 3.1 REFERENCE | ��

보기

<scrollbar> <min>0</min> <max>100</max> </scrollbar>

사용 버전

3.0이후버전에서사용가능합니다.

min스크롤 바의 최소 값

설명

최소값특성은스크롤바의최소값을정의합니다.max와함께이것은스크롤바가가질수있는값의범위를정의합니다.

단순히프레임에스크롤바를붙이는것뿐이라면이특성에신경을쓸필요가전혀없습니다.상황에맞게모두자동적으로설정됩니다.

단독의(standalone)스크롤바를가지고있으면서max를설정하고자하는경우라면setRange()함수를이용해야만합니다.자바스크립트에서는이것을직접수정할수없습니다.그러나XML에서는스크롤바에대해서이값을지정할수있습니다.

자바스크립트

myObjectName.min

보기

<scrollbar> <min>0</min> <max>100</max> </scrollbar>

사용 버전

3.0이후버전에서사용가능합니다.

onValueChanged스크롤 바의 값이 변할 때 호출됩니다

설명

이특성은스크롤바의값이변할때호출되는자바스크립트를포함합니다.

Page 88: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

단순히프레임에스크롤바를붙이는것뿐이라면이특성에신경을쓸필요가전혀없습니다.상황에맞게모두자동적으로설정됩니다.

자바스크립트

myObjectName.min

보기

<scrollbar name="sb"> <onValueChanged> print( "Whoa! value is now " + sb.value ); </onValueChanged> </scrollbar>

사용 버전

3.0이후버전에서사용가능합니다.

불투명도 (Opacity)객체의 불투명도

설명

불투명도특성은여러분으로하여금어떤객체를그릴때알파값을조절하는0에서부터255까지수치가운데한수치를지정할수있게합니다.불투명도0은완전한투명이어서(보이지않음),객체가마우스(event)에반응하는것을방지해주는것같은부수적인효과를지닙니다.255의값은불투명하게자신의원래이미지를보여줍니다.

보기

<scrollbar> <opacity>128</opacity> </scrollbar>

myScrollbar.opacity = 33;

사용 버전

3.0이후버전에서사용가능합니다.

orientation스크롤 바의 방향

설명

orientation특성은스크롤바의방향을지정할수있게해줍니다.가능한값은“vertical”과“horizontal”입니다.기본설정은“vertical”입니다.

Page 89: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<scrollbar> WIDGET ENGINE 3.1 REFERENCE | ��

보기

<scrollbar> <orientation>vertical</orientation> </scrollbar>

myScrollbar.orientation = "horizontal";

사용 버전

3.0이후버전에서사용가능합니다.

pageSize스크롤 바의 페이지 크기

설명

pageSize특성은비례적인스크롤바에서thumb의크기를결정하는데도움을줍니다.일반적으로이것은스크롤되는화면의높이에해당됩니다(수직스크롤바인것으로전제할경우).

단순히프레임에스크롤바를붙이는것뿐이라면이특성에신경을쓸필요가전혀없습니다.상황에맞게모두자동적으로설정됩니다.

보기

<scrollbar> <pageSize>140</pageSize> </scrollbar>

myScrollbar.pageSize = 100;

사용 버전

3.0이후버전에서사용가능합니다.

thumbColor스크롤 바의 텀 (thumb) 색상

설명

thumbColor특성은텀(thumb)의농담을조절하는데이용됩니다.표준스크롤바에서의기본설정은중간회색입니다.여러분이지정하는색상은채색(colorization)을통해서적용됩니다.

현재의색상을완전히제거하려면자바스크립트에서null로설정하면됩니다.

단순히프레임에스크롤바를붙이는것뿐이라면이특성에신경을쓸필요가전혀없습니다.상황에맞게모두자동적으로설정됩니다.

Page 90: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�0 | WIDGET ENGINE 3.1 REFERENCE

보기

<scrollbar> <thumbColor>#333366</thumbColor> </scrollbar>

myScrollbar.thumbColor = "#333366"; myScrollbar.thumbColor = null;

사용 버전

3.0이후버전에서사용가능합니다.

vAlign객체의 수직 정렬을 조절합니다

설명

객체의vAlign특성은vOffset값을참고하여초기수평정렬을정의합니다.예를들어bottom정렬을가진이미지는아래쪽가장자리가vOffset지점에위치하게됩니다.이태그를지정하지않을경우기본설정값은“top”이됩니다.

가능한값들:"top", "bottom" 혹은 "center".

자바스크립트

myObjectName.vAlign

보기

<scrollbar> <vAlign>bottom</vAlign> </scrollbar>

myScrollbar.vAlign = "bottom";

사용 버전

3.0이후버전에서사용가능합니다.

value스크롤 바의 현재 값

설명

값특성에는스크롤바의현재값을가지고있습니다.스크롤바의최소값과최대값사이의어떤값을설정하고자할때도이것을이용할수있습니다.최소값보다작은값을선택하거나최대값보다큰값을선택할경우,이값이최대값이나최소값으로고정됩니다.

Page 91: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<scrollbar> WIDGET ENGINE 3.1 REFERENCE | �1

자바스크립트

myObjectName.value

Example

<scrollbar> <min>-100</min> <max>100</max> <value>0</value> </scrollbar>

myScrollbar.value = 10;

사용 버전

3.0이후버전에서사용가능합니다.

visible이미지의 가시성을 조절합니다

설명

이속성을true또는false로설정하여이미지를나타내거나숨김으로써,이미지의가시성특성을설정할수있습니다.이것은객체의불투명도에영향을주지않고,따라서현재의불투명도를나중에재생하기위하여저장할필요없이간단하게객체를숨길수있게해줍니다.

자바스크립트

myObjectName.visible

보기

<scrollbar> <visible>false</visible> </scrollbar>

myScrollbar.visible = true;

사용 버전

3.0이후버전에서사용가능합니다.

vOffset어떤 객체의 수직 방향 위치

설명

객체의vOffset속성은어떤이미지의모화면(superview)의좌측상부코너를

Page 92: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

0,0기준으로하여이미지의수직이동거리를(위쪽에서아래쪽으로)정의합니다.부여되는값이클수록객체는아래쪽으로더많이이동한위치에서나타납니다.

자바스크립트

object.vOffset

보기

<scrollbar> <vOffset>20</vOffset> </scrollbar>

사용 버전

3.0이후버전에서사용가능합니다.

width객체의 너비

설명

width특성은객체의수평크기를조절합니다.수직스크롤바의경우에는너비를지정할필요가없습니다.스크롤바이미지의크기가너비도결정할것입니다.일반적으로너비를구체적으로지정해주는것이아니라스크롤바에게여러분의인터페이스를구성하기위해서어떤너비이어야하는지를물어봐야합니다.이렇게함으로써추후에스크롤바의모습에변형이생기는것을방지할수있습니다.수평스크롤바의경우에는반드시여러분의인터페이스가요구하는것이무엇인지에따라너비를설정해야합니다.

자바스크립트

myObjectName.width

보기

<scrollbar> <width>300</width> </scrollbar>

myScrollbar.width = 200;

사용 버전

3.0이후버전에서사용가능합니다.

Page 93: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<scrollbar> WIDGET ENGINE 3.1 REFERENCE | �3

window그 객체가 속하는 창

설명

XML에서창의이름을지정해주거나아니면자바스크립트에서그변수를지정해줌으로써어떤객체가속할창을지정할수있습니다.창을따로지정하지않을경우에는위젯의XML설명에나타나는첫번째창에자동적으로붙여질것입니다.

자바스크립트

myObjectName.window

보기

<window name="fred" width="100" height="100"/> <scrollbar> <window>fred</window> </scrollbar> // Or in code var myWind = new Window(); myScrollbar.window = myWind; // You can also specify it in the constructor var myFrame = new ScrollBar( myWind );

사용 버전

3.0이후버전에서사용가능합니다.

zOrder객체의 적층 순서

설명

zOrder특성은객체의적층순서를정의합니다.더높은zOrder를가진객체들은더낮은zOrder를가진객체들의위에표시됩니다.일반적으로zOrder는XML파일에서객체들에대해서정의하는순서에따라정해져서먼저그려진것들이나중에그려진것들의아래에위치하게되지만자바스크립트에서실행시간(runtime)을이용하여조정할수도있습니다.

자바스크립트

myObjectName.zOrder

Page 94: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

보기

<scrollbar> <zOrder>10</zOrder> </scrollbar>

myScrollbar.zOrder = customZOrder++;

사용 버전

3.0이후버전에서사용가능합니다.

Page 95: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<shadow> WIDGET ENGINE 3.1 REFERENCE | ��

<security>객체의 보안 특성을 지정합니다

속성들

api

설명

보안블록은위젯이실행가능한것과실행불가능한것을엔진에게알려줍니다.이것은위젯이때때로그영역을벗어나는것으로부터사용자를보호하기위한강제적인활동에이용됩니다.

사용 버전

3.0이후버전에서사용가능합니다.

api위젯이 연결하고 싶은 야후! API

설명

api요소는위젯이접근하고자하는API들을엔진에알려줍니다.이리스트는사용자가처음으로자신의야후!계정에로그인하려고시도할때사용자에게표시됩니다.이<api>리스트에올라있는API들만이사용자의야후!권한정보를얻을수있습니다.

대부분의API들은엔진에게이미알려져있어서표시되는보안창에사람이읽을수있는이름이자동적으로표시될것입니다.엔진이아직모르는새로추가된API들이있는경우에는여러분이name속성을지정하여엔진으로하여금표시창에무엇을나타낼지알게할수있습니다.엔진이여러분이지정하는이름을이용할경우에는여러분이지정하는호스트(host)도대화창에붙임으로써사용자들로하여금어디에접근하고있는지정확하게알수있게합니다.지정되는이름이없는경우에는호스트(host)가표시됩니다.

보기

<security> <!-- the notepad API the engine knows --> <api>api.notepad.yahoo.com</api> <!-- some future API below --> <api name="Yahoo! Foozball">foozball.yahoo.com</api> </security>

사용 버전

3.1이후버전에서사용가능합니다.

Page 96: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

<shadow>객체에 대한 음영 인수들을 지정합니다

속성들

color/colour hOffset opacity vOffset

설명

shadow요소는현재about-box항목에서만사용됩니다.이것은특정색상및불투명도를가진항목상에짙은음영을설정해줍니다.여러분이지정하는hOffset및vOffset은여러분이음영을주는(현재로는text요소가가능)객체로부터따오게됩니다.

사용 버전

2.1이후버전에서사용가능합니다.

color/colour음영의 색상

설명

적용할음영의색상을지정합니다.

보기

<shadow color="#333333"/>

사용 버전

2.1이후버전에서사용가능합니다.

hOffset음영의 수평 이동

설명

원객체를기준으로표시되는그림자의수평거리.1의값인경우객체오른쪽으로1픽셀거리까지그림자가드리워집니다.

보기

<shadow hOffset="1"/>

Page 97: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<text> WIDGET ENGINE 3.1 REFERENCE | ��

사용 버전

2.1이후버전에서사용가능합니다.

opacity음영의 불 투명도

설명

0부터255사이의값으로음영의불투명도를지정하며,여기에서0은완전히투명한것이며,255는완전히불투명한것입니다.

보기

<shadow opacity="255"/>

사용 버전

2.1이후버전에서사용가능합니다.

vOffset음영의 수직 이동

설명

원객체로부터드리워지는그림자의수직거리.1의값인경우객체아래쪽으로1픽셀거리까지그림자가드리워집니다.

보기

<shadow vOffset="1"/>

사용 버전

2.1이후버전에서사용가능합니다.

Page 98: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�� | WIDGET ENGINE 3.1 REFERENCE

<text>텍스트 객체 및 그 관련 기본 설정 특성들을 정의하는 블록

속성들

alignment bgColor bgOpacity color contextMenuItems data font height hAlign hOffset name onContextMenu onDragDrop onDragEnter onDragExit onKeyUp onKeyDown onMouseDown onMouseEnter onMouseExit onMouseMove onMouseUp onMultiClick opacity shadow size style truncation visible vOffset width window zOrder

설명

XML파일의text블록은위젯내의정정인텍스트객체에대한초기위치선정및마우스이벤트(event)스크립트들을정의합니다.

텍스트객체들은자바스크립트엔진을통하여동적으로생성되고파기될수있습니다.확정되지않은수의항목들을열거하는위젯을만드는경우에이것이유용하게쓰일수있습니다.

동일한이름을가진동적인개체를한개이상만들때에는마지막으로생성된객체만이자바스크립트를통하여특성변경이벤트들을수신할것입니다.그러므로,여러분은동적인객체마다각각유일한이름을붙여서적절하게지칭될수있도록해

Page 99: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<text> WIDGET ENGINE 3.1 REFERENCE | ��

야합니다(이를위해서는자바스크립트배열을이용하는것이좋은방법입니다).

이에대한보다자세한정보는StockTickerWidget의작동원리(HowthisworksinourStockTickerWidget)를참조합니다.

자바스크립트의deltet명령을이용하여동적인객체를만드는경우에는이것을제거할수도있습니다.

자바스크립트

newObjectName = new Text() delete newObjectName

alignment정의된 원점 (origin point)로부터 텍스트를 표시하는 방향

설명

텍스트의정렬(alignment)특성은작성하고있는텍스트의초기수평방향의정렬을정의합니다.

사용가능한값들:left, right 혹은 center.

보기

<text data="Example Text"> <alignment>right</alignment> </text>

bgColor텍스트 객체의 배경 색상

설명

이것은텍스트객체의배경색상을설정합니다.색상들은브라우저스타일hexRGB트리플렛으로지정됩니다.예를들면다음과같습니다:

#FF0000

은빨간색입니다.

이특성은bgOpacity특성과밀접하게연결되어있음을주목하십시오?이두가지모두시각적인결과를얻기위해설정되는것입니다.

Page 100: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

100 | WIDGET ENGINE 3.1 REFERENCE

보기

<text data="Example Text"> <bgColor>#FFFFFF</bgColor> <bgOpacity>150</bgOpacity> </text>

bgOpacity텍스트 개체 배경의 불 투명도

설명

텍스트개체배경의불투명도를설정합니다.0에서255까지의숫자로지정할수있습니다.

이특성은bgColor특성과밀접하게연결되어있음을주목하십시오?이두가지모두시각적인결과를얻기위해설정되는것입니다.

보기

<text data="Example Text"> <bgColor>#FFFFFF</bgColor> <bgOpacity>150</bgOpacity> </text>

color작성되는 텍스트 객체의 색상

설명

텍스트객체의색상을설정합니다.색상들은브라우저스타일hexRGB트리플렛으로지정됩니다.예를들면다음과같습니다:

#FF0000

은빨간색입니다

보기

<text data="Example Text"> <color>#F42DA6</color> </text>

Page 101: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<text> WIDGET ENGINE 3.1 REFERENCE | 101

contextMenuItemscontext 메뉴 항목 줄을 지정합니다.

설명

텍스트영역객체에contextMenuItems를덧붙이면위젯위에마우스의오른쪽버튼을클릭했을때표시되는기본context메뉴에여러항목들을덧붙일수있습니다.이태그는사실text,textArea,및window객체들에대해서도똑같이적용됩니다.여러분은또한onContextMenu태그상에서실행되는특정자바스크립트를지정함으로써context항목들을동적으로구축할수도있습니다(보다자세한정보는onContextMenu부분을참조하십시오).

일련의menuItem객체들을포함시킴으로써여러분의항목을지정할수있습니다.이것들에대한보다자세한정보는menuItem에대한부분을참조하십시오.

자바스크립트

myObjectName.contextMenuItems

보기

<text> ... <contextMenuItems> <menuItem title="Test" onSelect="beep();"/> <menuItem title="Another Test"> <onSelect>alert( 'hello' );</onSelect> </menuItem> </contextMenuItems> </text>

자바스크립트에서context메뉴를구축하는보기는onContextMenu에서참조하십시오.

사용 버전

2.0이후버전에서사용가능합니다.

data텍스트 객체를 표시하는 텍스트

설명

표시되는텍스트.텍스트에서리턴되는어떤새로운줄들이나캐리지(carriage)는그것들이표시되기전에스페이스로전환될것입니다.

보기

<text> <data>Example Text</data> </text>

Page 102: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

10� | WIDGET ENGINE 3.1 REFERENCE

font텍스트 객체가 작성될 때 사용되는 폰트

설명

텍스트를작성할때사용되는폰트의이름.지정받은폰트를찾을수없을때는기본설정의시스템폰트가사용됩니다.코마가들어있는별도의복수폰트이름들이폴백(fallback)들을지정합니다(이전에사용된폰트가사용자시스템에서발견되지않는경우에사용되는폰트들).

보기

<text data="Example Text"> <font>Palatino</font> </text>

text1.font = "Monaco, Courier";

hAlign텍스트 객체의 수평 정렬을 조절합니다

설명

이것은정렬태그와유사합니다.보다자세한정보는태그부분의설명을참조하십시오.

사용 버전

2.0이후버전에서사용가능합니다.

height작성되는 텍스트 객체의 높이

설명

height속성은텍스트객체의수직방향치수를조절합니다.따로지정되지않은경우에는객체가텍스트에맞는충분한공간을가질수있도록그려집니다(즉,텍스트에지정된폰트,사이즈,등등에맞게그려집니다).일반적으로텍스트객체의height는따로지정할필요가없습니다.

자바스크립트

myObjectName.height

보기

<text data="Example Text"> <height>30</height> </text>

Page 103: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<text> WIDGET ENGINE 3.1 REFERENCE | 103

myLabel.height = 30;

hOffset어떤 텍스트 객체의 수평 방향 위치

설명

텍스트블록의hOffset속성은어떤텍스트의모화면(superview)의좌측상부코너를0,0기준으로하여텍스트의수평이동거리를(왼쪽에서오른쪽으로)정의합니다.부여되는값이클수록텍스트는오른쪽으로더많이이동한위치에서나타납니다.

자바스크립트

myObjectName.hOffset

보기

<text data="Example Text"> <hOffset>30</hOffset> </text>

name텍스트 객체의 참조 이름

설명

텍스트블록의name속성은자바스크립트가참조할때의키이름을정의합니다.그이름들은코드내에서참조로이용되기때문에,빈칸이나ASCII문자이외의것이포함되어서는안됩니다.

객체의이름이일단지정되면수정할수없습니다.

자바스크립트를통하여동적인객체를만들때는객체의새로운이름을반영하는데에변수의이름을이용할수있습니다.

자바스크립트

newObjectName = new Image()

보기

<text data="Example Text"> <name>myText</name> </text>

myText.hOffset = 22;

Page 104: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

10� | WIDGET ENGINE 3.1 REFERENCE

onContextMenucontext 메뉴가 나오기 직전에 호출됩니다. 메뉴항목을 추가하기 좋은 곳입니다.

설명

위젯을위한표준context메뉴에더해질context메뉴항목들을지정하는가장간단한방법은XML에서contextMenuItems태그를이용하는것입니다.그러나,항목들을동적으로구축하기원하는위젯들의경우에는onContextMenu를이용해야합니다.메뉴가막표시되려고할때,어떤화면이반응할때까지마우스아래모든요소들에대하여앞쪽에서뒤쪽으로화면순서대로이것이호출됩니다.이것을다룰때는여러분의context항목들을단순하게구성하고여러분의contextMenuItems특성을항목세트에설정해주어야합니다.

자바스크립트

myText.onContextMenu

보기

<onContextMenu> var items = new Array(); items[0] = new MenuItem(); items[0].title = "This is the title"; items[0].enabled = false; items[0].checked = true; items[0].onSelect = "alert( 'you chose it!' );"; items[1] = new MenuItem(); items[1].title = "This is the second title"; items[1].onSelect = "beep();"; myText.contextMenuItems = items; </onContextMenu>

사용 버전

2.0이후버전에서사용가능합니다.

onDragDrop객체 위로 어떤 것이 떨어지면 호출됩니다

설명

onDragDrop트리거는다른어플리케이션(예,탐색기)으로부터어떤파일,URL혹은문자열을Drag하여객체위에떨어뜨리는경우에실행됩니다.

onDragDrop활동의경우,무엇이떨어졌는지확인하기위하여객체들이system.even.data로접근할수가있습니다.이것은문자열의배열로써그첫번째요소는어떤유형의객체가떨어졌는지를여러분에게알려줍니다:“filename”,“urls”,혹은“문자열”.이배열의나머지부분에서떨어진항목들을나타내는부분이됩

Page 105: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<text> WIDGET ENGINE 3.1 REFERENCE | 10�

니다.

자바스크립트

myObjectName.onDragDrop

보기

<text data="Drop Stuff Here"> <name>dropper</name> <onDragDrop> if(system.event.data[0]=="filenames") { processDroppedFiles(system.event.data); } </onDragDrop> </text>

<text data="Drop Stuff Here"> <onDragDrop>dragCode.js</onDragDrop> </text>

dropper.onDragDrop = "handleDragDrop();";

onDragEnter어떤 항목이 객체 속으로 Drag해서 들어올 때 호출됩니다

설명

텍스트블록의onDragEnter속성은사용자가다른어플리케이션으로부터객체속으로어떤항목을Drag했을때실행되는자바스크립트코드를위한래퍼(wrapper)입니다.이것은항목을떨어뜨리기전에일어납니다(실제로사용자가마음을바꾸는경우에는떨어뜨리는것을취소할수도있습니다).

이것은객체의시각적인상태를변화시켜서사용자에게Drag한객체를떨어뜨릴경우그것이수용될것인지거부될것인지를표시해줄때유용합니다.Drag되는항목에대한정보는system.event.data에포함되어있습니다(자세한내용은onDragDrop을참조합니다).

자바스크립트

myObjectName.onDragEnter

보기

<text data="Drop Stuff Here"> <name>dropper</name> <onDragEnter> highlightDropTarget(dropper); </onDragEnter> </text>

Page 106: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

10� | WIDGET ENGINE 3.1 REFERENCE

well.onDragEnter = "highlightDropTarget(well);";

onDragExit어떤 항목이 객체 밖으로 Drag 되어 나갈 때 호출됩니다

설명

text블록의onDragExit속성은사용자가다른어플리케이션으로부터객체안으로어떤항목을Drag했다가다시객체밖으로Drag할때실행되는자바스크립트를위한래퍼(wrapper)입니다.

이것은onDragEnter에서실행된것들을원상태로돌리는데에유용합니다.

자바스크립트

myObjectName.onDragExit

보기

<text data="Drop Stuff Here"> <name>dropper</name> <onDragExit> unhighlightDropTarget(dropper); </onDragExit> </text>

dropper.onDragExit = "unhighlightDropTarget(dropper);";

onMouseDown마우스 버튼을 객체 속에서 누를 때 호출됩니다

설명

텍스트블록의onMouseDown특성은사용자가객체내에서마우스버튼을아래로누를때실행되는자바스크립트코드에대한wrapper입니다.

이것은마우스를누른상태를기준으로객체의시각적인변화를유발하는데에유용합니다.

자바스크립트

myObjectName.onMouseDown

Page 107: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<text> WIDGET ENGINE 3.1 REFERENCE | 10�

보기

<text data="Example Text"> <name>myLabel</name> <onMouseDown> myLabel.color = "#FF0000"; </onMouseDown> </text>

<text data="Example Text" name="myLabel"> <onMouseDown>labelCode.js</onMouseDown> </text>

myLabel.onMouseDown = "doLabelHighlight(myLabel);";

onMouseEnter마우스가 객체 위를 통과 할 때 호출되는 스크립트

설명

텍스트블록의onMouseEnter특성은사용자가객체내에서커서를움직였을때실행되는자바스크립트코드에대한wrapper입니다.

이것은롤오버(rollover)상태에있는객체에시각적인변화를유발하고자할때,혹은,여러분이위젯의일부에머물러있을경우숨겨진객체를보이고자할때도유용합니다.

자바스크립트

myObjectName.onMouseEnter

보기

<text data="Example Text"> <name>myLabel</name> <onMouseEnter> myLabel.color = "#EEEEEE"; </onMouseEnter> </text>

myLabel.onMouseEnter = "handleMouseEnter(myLabel);";

onMouseExit마우스가 객체에서 빠져 나올 때 호출 되는 스크립트

설명

텍스트블록의onMouseExit특성은사용자가커서를객체내에서객체밖으로이동시킬때실행될자바스크립트코드를지정합니다.

Page 108: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

10� | WIDGET ENGINE 3.1 REFERENCE

이것은롤오버(rollover)상태에있는객체에대한시각적인변화를유발하고자할때,혹은여러분이위젯의일부에머물러있을경우숨겨진객체를다시숨기고자할때도유용합니다.

자바스크립트

myObjectName.onMouseExit

보기

<text data="Example Text"> <name>myLabel</name> <onMouseExit> myLabel.color = "#FFFFFF"; </onMouseExit> </text>

myLabel.onMouseExit = "handleMouseExit(myLabel);";

onMouseMove마우스를 객체 내에서 움직일 때 호출되는 스크립트

설명

텍스트블록의onMouseMove특성은사용자가객체범위내에서마우스커서를Drag할때실행되는자바스크립트코드에대한wrapper입니다.현재의마우스위치는system.event객체에서찾아볼수있습니다.

이것은위젯주변에서어떤객체를움직이는데에유용합니다.iTune의RemoteWidget에있는볼륨슬라이더는이활동을이용해서실행됩니다.

자바스크립트

myObjectName.onMouseMove

보기

<text data="Example Text"> <name>myLabel</name> <onMouseMove> print(system.event.x + ", " + system.event.y); </onMouseMove> </text>

myLabel.onMouseMove = "handleMouseMove(myLabel);";

Page 109: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<text> WIDGET ENGINE 3.1 REFERENCE | 10�

onMouseUp객체 내에서 마우스를 눌렀다가 놓을 때 호출되는 스크립트

설명

텍스트블록의onMouseUp속성은사용자가객체내에서마우스를눌렀다가놓을때실행되는자바스크립트코드에대한wrapper입니다.

이것은마우스를누른상태를기준으로객체의시각적인변화를유발하는데유용합니다.

onMouseUp은마우스를누른것을놓을때마우스가객체내에위치해있더라도실행된다는것에유의하십시오.정확한마우스이벤트(events)를가지는버튼들을만들어내기위해서여러분은네가지마우스이벤트처리기(handler)들을모두이용하여마우스의상태및그교차상태를전달해야합니다(이것에대한사례에대해서는첨부된CalendarWidget을참조합니다).

자바스크립트

myObjectName.onMouseUp

보기

<text data="Example Text"> <name>myLabel</name> <onMouseUp> myLabel.color = "#FFFFFF"; </onMouseUp> </text>

myLabel.onMouseUp = 'handleOnMouseUp(myLabel);';

onMultiClick복수 클릭

설명

onMultiClick처리기를이용하면더블클릭들(혹은트리플클릭,등등)을쉽게걸러낼수있습니다.이처리기(handler)는이미지,텍스트,텍스트영역및창객체들에설정할수있습니다.onMultiClick처리기를호출할때마다system.event.clickCount를감시하여그값을확인할수가있습니다.그값은언제나2(더블클릭의경우)이상입니다.

onMultiClick을이용하는대신onMouseUp처리기내의system.event.clickCount를살펴보는것도가능합니다.그러나onMultiClick을이용하는것의장점은onMouseUp와는달리창의Drag을방해하지않는다는점인데,즉어떤텍스트위에mouseup처리기가있을때는그텍스트를클릭할경우어떤창을Drag할수없게만듭니다.여러분의텍스트가멀티클릭에반응하는정도만이필요한경우에는onMultiClick을이용하여위젯을보통때와마찬가지로Drag할수있게하는것이좋습니다.

Page 110: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

110 | WIDGET ENGINE 3.1 REFERENCE

<onMultiClick> if ( system.event.clickCount == 2 ) alert( "Double Click!" ); </onMultiClick>

사용 버전

2.0이후버전에서사용가능합니다.

불투명도 (Opacity)텍스트를 나타낼 때의 투명도

설명

불투명도특성은여러분으로하여금어떤객체를그릴때의알파값을조절하는0에서부터255까지수치가운데한수치를지정할수있게합니다.불투명도0은완전한투명이어서(보이지않음),객체가마우스사건(event)에반응하는것을방지해주는것같은부수적인효과를지닙니다.255의값은텍스트를100%불투명도로표시합니다.

보기

<text data="Example Text"> <name>myLabel</name> <opacity>128</opacity> </text>

myLabel.opacity = 33;

scrolling스크롤이 움직이는 방향과 유형

설명

scrolling속성은off(기본설정),left,right,autoLeft,혹은autoRight등의값을취할수있습니다.어떤값이설정되어있는경우,객체내의텍스트는계속적으로지정된방향으로스크롤되며,텍스트가끝나면반대편에서다시나타납니다.

표시를위해서지정된영역에비해서텍스트가너무큰경우에는“auto”모드로선택되어실행됩니다(좁은공간에긴텍스트를나타내고싶을때는이것이가장일반적인스크롤방식입니다).

보기

<text data="Example Text"> <name>myLabel</name> <scrolling>autoLeft</scrolling> </text>

Page 111: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<text> WIDGET ENGINE 3.1 REFERENCE | 111

myLabel.scrolling = "off";

shadow텍스트 객체에 대한 음영 조변수들을 설정합니다

설명

음영속성을이용하여텍스트객체밑에표시되는음영을지정할수있습니다.이것을해제하기위해서는음영특성을null로설정하면됩니다.음영XML은<shadow>부분에설명된것과동일합니다.

보기

<text data="Example Text"> <name>myLabel</name> <shadow hOffset="1" vOffset="1" color="#000000"/> </text> var s = new Shadow(); s.hOffset = 1; s.vOffset = 1; s.color = "#000000"; myLabel.shadow = s; myLabel2.shadow = s;

사용 버전

3.0이후버전에서사용가능합니다.

size텍스트 블록의 폰트 크기

설명

텍스트객체에대한포인트크기

보기

<text data="Example Text"> <name>myLabel</name> <size>22</size> </text>

myLabel.size = 33;

Page 112: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

11� | WIDGET ENGINE 3.1 REFERENCE

style표시할 텍스트의 스타일

설명

텍스트를작성하는스타일.스타일은다음과같은것들을조합해서설정할수있습니다:

italic, bold, narrow, expanded, condensed, smallcap, poster, compressed,fixed

예를들면:

textObject.style="bold;italic";

는font속성에서지정된폰트의볼드체와이탤릭체를조합할것을요청하는것입니다.

선택된폰트대안이존재하지않는경우에이스타일은무시됩니다.대부분의폰트는두가지내지세가지의대안이존재합니다.

윈도우주의사항:텍스트스타일가운데볼드체와이탤릭체만이사용가능합니다.

보기

<text data="Example Text"> <name>myLabel</name> <style>bold</style> </text>

myLabel.style = 'italic';

truncation생략 부호로 텍스트를 끊을 것인지 여부를 지정합니다

설명

일반적으로텍스트객체는끊어주는효과(truncation)없이그냥작성됩니다.전체텍스트객체를작성하기에공간이충분하지않을경우에는텍스트가바로잘려집니다.그렇지않고이태그를이용하게되면텍스트에비해서텍스트객체의너비가너무작을때생략부호를이용해서좀더나은방식으로끊을수가있습니다.

이태그는그텍스트항목에대해서너비가지정된경우로서,텍스트항목이너비보다길고,또한스크롤속성이지정되지않은때에만효과가있습니다.선택가능한값으로는“none”,“center”,및“end”가있습니다.

Page 113: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<text> WIDGET ENGINE 3.1 REFERENCE | 113

보기

<text data="Example Text"> <name>myLabel</name> <width>50</width> <truncation>end</truncation> </text> myLabel.truncation = "none";

사용 버전

버전2.1부터사용가능합니다.“center”끊기는3.0버전이후부터가능합니다.

tooltip텍스트 객체를 위한 툴팁 (tooltip)

설명

tooltip속성은마우스커서가텍스트객체위에머무를때에팝업툴팁윈도에표시되는텍스트를정의합니다.

자바스크립트

object.tooltip

보기

<text data="Example Text"> <tooltip>Example tooltip</tooltip> </text>

visible텍스트 객체의 가시성을 조절합니다

설명

이속성을true또는false로설정하여텍스트객체를각각나타내거나숨김으로써,텍스트객체의가시성특성을설정할수있습니다.이것은객체의불투명도에영향을주지않고,그에따라현재의불투명도를나중에재생하기위하여따로저장할필요없이간단하게객체를숨길수있게해줍니다.어떤객체에대한가시성기본설정은true입니다.

자바스크립트

myObjectName.visible

Page 114: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

11� | WIDGET ENGINE 3.1 REFERENCE

보기

<text data="Example Text"> <visible>false</visible> </text>

myText.visible = true;

사용 버전

3.0이후버전에서사용가능합니다.

vOffset어떤 텍스트 객체의 수직 방향 위치

설명

텍스트블록객체의vOffset속성은객체의모화면(superview)좌측상부코너를0,0기준으로했을때의텍스트수직이동거리를(위쪽에서아래쪽으로)정의합니다.주어지는값이클수록객체는아래쪽으로더많이이동한위치에서나타납니다.

자바스크립트

object.vOffset

보기

<text data="Example Text"> <vOffset>20</vOffset> </text>

width작성되는 텍스트 객체의 너비

설명

width특성은객체의수평크기를조절합니다.별도의지정이없는경우,객체는자신의“원래(natural)”너비가됩니다(지정된폰트,크기,등등에따라그려짐).scrolling속성을이용할때텍스트객체의너비를지정하는것이유용한경우가종종있습니다.

자바스크립트

myObjectName.width

보기

<text data="Example Text"> <width>30</width> </text>

Page 115: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<text> WIDGET ENGINE 3.1 REFERENCE | 11�

myLabel.width = 30;

window그 텍스트가 속하는 창

설명

XML에서창의이름을지정해주거나아니면자바스크립트에서그변수를지정해줌으로써어떤텍스트가속할창을지정할수있습니다.창을따로지정하지않을경우에는위젯의XML설명에나타나는첫번째창에자동적으로붙여질것입니다.

자바스크립트

myObjectName.window

보기

<window name="fred" width="100" height="100"/> <text> <window>fred</window> </text> // Or in code var myWind = new Window(); myText.window = myWind; // You can also specify it in the constructor var myText = new Image( myWind );

사용 버전

2.0이후버전에서사용가능합니다.

zOrder이미지의 적층 순서

설명

텍스트블록의zOrder특성은텍스트의적층순서를정의합니다.더높은zOrder를가진텍스트들은더낮은zOrder를가진객체들의위에표시됩니다.일반적으로zOrder는XML파일에서텍스트들에대해서정의하는순서에따라정해지기때문에먼저그려진것들이나중에그려진것들의아래에위치하게되지만자바스크립트에서실행시간(runtime)을이용하여조정할수도있습니다.

자바스크립트

myObjectName.zOrder

Page 116: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

11� | WIDGET ENGINE 3.1 REFERENCE

보기

<text data="Example Text"> <zOrder>10</zOrder> </text>

myLabel.zOrder = customZOrder++;

Page 117: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<textarea> WIDGET ENGINE 3.1 REFERENCE | 11�

<textarea>텍스트 영역 객체 및 그 관련 기본 설정 특성들을 정의하는 블록

속성들

alignment bgColor bgOpacity color columns contextMenuItems bgColor bgOpacity data editable font height hAlign hOffset lines name onContextMenu onDragDrop onDragEnter onDragExit onGainFocus onKeyUp onKeyDown onKeyPress onLoseFocus onMouseDown onMouseEnter onMouseExit onMouseUp onMultiClick opacity secure scrollbar size spellcheck style tooltip visible vAlign vOffset width window zOrder

Page 118: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

11� | WIDGET ENGINE 3.1 REFERENCE

설명

XML파일의textarea블록은위젯내의편집가능한텍스트객체에대한초기위치선정및마우스이벤트(event)스크립트들을정의합니다.

텍스트영역(textarea)객체들은자바스크립트엔진을통하여동적인생성및파기가가능합니다.

동일한이름을가진동적개체를한개이상만들때에는마지막으로생성된객체만이자바스크립트를통하여특성변경이벤트들을수신할것입니다.그러므로,동적객체마다각각유일한이름을붙여서적절하게지칭될수있도록해야합니다(이를위해서는자바스크립트배열을이용하는것이좋은방법입니다).

자바스크립트의delete명령을이용하여동적객체를만드는경우에는이것을제거할수도있습니다.

자바스크립트

newObjectName = new TextArea() delete newObjectName

alignment정의된 원점 (origin point)로부터 객체를 작성하는 명령

설명

텍스트영역(textarea)블록의정렬(alignment)특성은객체가그hOffset과vOffset을기준으로할때어떤위치에자리할지를정의합니다.

사용가능한값들:left, right 혹은 center.

이것은텍스트영역내의텍스트정렬을정의하는것이아니라그객체가위젯내에어떤식으로자리할지를정의하는것임을기억해야합니다.이특성에서가장자주사용되는값은left입니다.

보기

<textarea data="Example Text"> <alignment>left</alignment> </textarea>

bgColor텍스트 영역 객체의 배경 색상

설명

이것은텍스트영역객체의배경색상을설정합니다.색상들은브라우저스타일hexRGB트리플렛으로지정됩니다.예를들면다음과같습니다:

Page 119: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<textarea> WIDGET ENGINE 3.1 REFERENCE | 11�

#FF0000

은빨간색입니다.

이특성은bgOpacity특성과밀접하게연결되어있음을주목하십시오?이두가지모두시각적인결과를얻기위해설정되는것입니다.

보기

<textarea data="Example Text"> <bgColor>#FFFFFF</bgColor> <bgOpacity>150</bgOpacity> </textarea>

bgOpacity텍스트 영역 개체 배경의 불 투명도

설명

텍스트영역개체배경의불투명도를설정합니다.0에서255까지의숫자로지정할수있습니다.

이특성은bgOpacity특성과밀접하게연결되어있음에주목하십시오?이두가지모두시각적인결과를얻기위한것입니다.

보기

<textarea data="Example Text"> <bgColor>#FFFFFF</bgColor> <bgOpacity>150</bgOpacity> </textarea>

color작성되는 텍스트 객체의 색상

설명

텍스트의색상을설정합니다.색상들은브라우저스타일hexRGB트리플렛으로지정됩니다.예를들면다음과같습니다:

#00FF00

은녹색입니다.

만약,color와bgColor가동일한값으로설정되면텍스트를알아볼수없게될것입니다.

Page 120: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�0 | WIDGET ENGINE 3.1 REFERENCE

보기

<textarea data="Example Text"> <color>#F42DA6</color> </textarea>

columns객체를 작성에 필요한 너비의 칼럼 수

설명

텍스트영역객체에대하여width와height를주는대신,현재폰트에서텍스트의칼럼수와줄수를정해줌으로써그크기를지정할수도있습니다.

정비례특성의폰트를이용할때는칼럼수가근사치로계산될것임에유의하십시오.

보기

<textarea> <columns>40</columns> <lines>10</lines> </textarea>

contextMenuItemscontext 메뉴 항목 줄을 지정합니다

설명

텍스트영역객체에contextMenuItems를덧붙이면위젯위에마우스의오른쪽버튼을클릭했을때표시되는기본context메뉴에여러항목들을덧붙일수있습니다.이태그는사실text,textArea,및window객체들에대해서도똑같이적용됩니다.여러분은또한onContextMenu태그상에서실행되는특정자바스크립트를지정함으로써context항목들을동적으로구축할수도있습니다(보다자세한정보는onContextMenu부분을참조하십시오).

일련의menuItem객체들을포함시킴으로써여러분의항목을지정할수있습니다.이것들에대한보다자세한정보는menuItem에대한부분을참조하십시오.

자바스크립트

myObjectName.contextMenuItems

Page 121: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<textarea> WIDGET ENGINE 3.1 REFERENCE | 1�1

보기

<textarea> ... <contextMenuItems> <menuItem title="Test" onSelect="beep();"/> <menuItem title="Another Test"> <onSelect>alert( 'hello' );</onSelect> </menuItem> </contextMenuItems> </textarea>

자바스크립트에서context메뉴를구축하는보기는onContextMenu에서참조하십시오.

사용 버전

2.0이후버전에서사용가능합니다.

data텍스트 영역 객체가 포함하는 텍스트

설명

수정가능한텍스트.이것은선택사항입니다.이것을생략할경우,사용자에게완전히빈텍스트입력필드가표시될것입니다.

보기

<textarea> <data>Example Text</data> </textarea>

editable텍스트의 편집 가능 여부를 설정합니다.

설명

텍스트영역을읽기전용으로만들기위해서는editable을false로설정합니다.

보기

<textarea data="Example Text"> <editable>false</editable> </textarea>

ta1.editable = true;

Page 122: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

font텍스트 영역에 적용되는 폰트

설명

텍스트를작성할때적용되는폰트의이름.지정받은폰트를찾을수없을때는기본설정의시스템폰트가사용됩니다.코마가들어있는별도의복수폰트이름들이폴백(fallback)들을지정합니다(이전에사용된폰트가사용자시스템에서발견되지않는경우에사용되는폰트들).

보기

<textarea data="Example Text"> <font>Palatino</font> </textarea>

ta1.font = "Palatino, Times";

hAlign텍스트 영역 객체의 수평 정렬을 조절합니다.

설명

이것은정렬태그와유사합니다.보다자세한정보는태그부분의설명을참조하십시오.

사용 버전

2.0이후버전에서사용가능합니다.

height작성되는 텍스트 영역 객체의 높이

설명

height속성은텍스트영역객체의수직방향치수를조절합니다.

자바스크립트

myObjectName.height

보기

<textarea data="Example Text"> <height>30</height> </textarea>

ta1.height = 30;

Page 123: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<textarea> WIDGET ENGINE 3.1 REFERENCE | 1�3

hOffset어떤 텍스트 영역 객체의 수평 방향 위치

설명

텍스트영역블록의hOffset속성은어떤텍스트의모화면(superview)의좌측상부코너를0,0기준으로하여이미지의수평이동거리를(왼쪽에서오른쪽으로)정의합니다.부여되는값이클수록텍스트는오른쪽으로더많이이동한위치에서나타납니다.

자바스크립트

myObjectName.hOffset

보기

<textarea data="Example Text"> <hOffset>30</hOffset> </textarea>

lines객체 작성에 필요한 높이의 줄 수

설명

텍스트영역객체에대하여width와height를주는대신,현재폰트에서의텍스트칼럼수와줄수를정해줌으로써그크기를지정할수도있습니다.

lines에1의값을지정할경우텍스트영역의작동이경미하게변하게될것입니다.타이핑을하는동안객체의한계선에도달할경우에는텍스트가가리워지는대신옆방향으로스크롤될것입니다.

보기

<textarea> <columns>40</columns> <lines>10</lines> </textarea>

name텍스트 영역 객체의 참조 이름

설명

텍스트영역블록의name속성은자바스크립트가참조하게되는텍스트영역의이름을정의합니다.그이름들은코드내에서참조로이용되기때문에,빈칸이나ASCII문자이외의것이포함되어서는안됩니다.

객체의이름이일단지정되면수정할수없습니다.

Page 124: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

자바스크립트를통하여동적객체를만들때는객체의새로운이름을반영하는데에변수이름을이용할수있습니다.

자바스크립트

newObjectName = new TextArea()

보기

<textarea data="Example Text"> <name>myText</name> </textarea>

myText.hOffset = 22;

onContextMenucontext 메뉴가 나오기 직전에 호출됩니다. 메뉴항목을 추가하기 좋은 곳입니다

설명

위젯을위한표준context메뉴에추가로context메뉴항목들을지정해줄때가장간단한방법은XML에서contextMenuItems태그를이용하는것입니다.그러나,위젯에서항목들을동적으로구축하기위해서는onContextMenu를이용해야합니다.메뉴가막표시되려고할때,어떤화면이반응할때까지마우스아래모든요소들에대하여앞쪽에서뒤쪽으로화면순서대로이것이호출됩니다.이것을다룰때는context항목들을단순하게구성한후contextMenuItems특성을항목세트에설정해주어야합니다.

자바스크립트

myTextArea.onContextMenu

보기

<onContextMenu> var items = new Array(); items[0] = new MenuItem(); items[0].title = "This is the title"; items[0].enabled = false; items[0].checked = true; items[0].onSelect = "alert( 'you chose it!' );"; items[1] = new MenuItem(); items[1].title = "This is the second title"; items[1].onSelect = "beep();"; myTextArea.contextMenuItems = items; </onContextMenu>

Page 125: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<textarea> WIDGET ENGINE 3.1 REFERENCE | 1��

onDragDrop객체 위로 어떤 것이 떨어지면 호출됩니다

설명

onDragDrop트리거는다른어플리케이션(예,탐색기)으로부터어떤파일,URL혹은문자열을Drag하여객체위에떨어뜨리는경우에실행됩니다.

onDragDrop동작에있어서는,무엇이떨어졌는지확인하기위하여객체들이system.even.data로접근할수있습니다.이것은문자열의배열로써그첫번째요소는어떤유형의객체가떨어졌는지를여러분에게알려줍니다:“filename”,“urls”,혹은“문자열”.이배열의나머지부분들은떨어진항목자체에대해서알려줍니다.

자바스크립트

myObjectName.onDragDrop

보기

<textarea data="Drop Stuff Here"> <name>dropper</name> <onDragDrop> if(system.event.data[0]=="filenames") { dropper.data = runCommand("cat " + system.event.data[1]); } </onDragDrop> </textarea>

<textarea data="Drop Stuff Here"> <onDragDrop>dragCode.js</onDragDrop> </textarea>

dropper.onDragDrop = "handleDragDrop();";

onDragEnter어떤 항목이 객체 속으로 Drag해서 들어올 때 호출됩니다

설명

textarea블록의onDragEnter속성은사용자가다른어플리케이션으로부터객체속으로어떤항목을Drag해올때실행되는자바스크립트코드를위한래퍼(wrapper)입니다.이것은항목이실제로떨어뜨리기전에일어납니다(실제로사용자가마음을바꾸는경우에는떨어뜨리는것을취소할수도있습니다).

이것은Drag해온객체를떨어뜨릴때객체의시각적상태를변화시켜서사용자에게그것이수용되는지여부를표시해줄때유용합니다.Drag가능한항목에대한정보는system.event.data에포함되어있습니다(자세한내용은onDragDrop을

Page 126: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

참조합니다).

자바스크립트

myObjectName.onDragEnter

보기

<textarea data="Drop Stuff Here"> <name>dropper</name> <onDragEnter> highlightDropTarget(dropper); </onDragEnter> </textarea>

well.onDragEnter = "highlightDropTarget(well);";

onDragExit어떤 항목이 객체 밖으로 Drag 될 때 호출됩니다

설명

Textarea블록의onDragExit속성은사용자가다른어플리케이션으로부터객체안으로어떤항목을Drag했다가다시객체밖으로Drag할때실행되는자바스크립트를위한래퍼(wrapper)입니다.

이것은onDragEnter에서실행된것들을원상태로돌리는데에유용합니다.

자바스크립트

myObjectName.onDragExit

보기

<textarea data="Drop Stuff Here"> <name>dropper</name> <onDragExit> unhighlightDropTarget(dropper); </onDragExit> </textarea>

dropper.onDragExit = "unhighlightDropTarget(dropper);";

Page 127: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<textarea> WIDGET ENGINE 3.1 REFERENCE | 1��

onGainFocus텍스트 영역이 키보드 포커스를 받을 때 호출됩니다

설명

이것은어떤텍스트영역이textarea.focus()에대한호출을통하여키보드포커스를획득할때에혹은사용자가텍스트영역을클릭할때호출됩니다.포커스를표시하기위하여포커스표시를만들때이것을이용할수있을것입니다.오직편집가능한텍스트영역들만이키보드포커스를얻을수있으며,그렇기때문에이활동은편집가능한영역에대해서만호출될것입니다.

자바스크립트

NewObjectName.onGainFocus

보기

<textarea data="Type Stuff Here"> <name>typomatic</name> <onGainFocus> print("I am the focus!"); </onGainFocus> </textarea>

typomatic.onGainFocus = "print( 'focus gained!' );";

onKeyDown어떤 키를 누를 때 실행되는 코드

설명

키를누르는동시에마우스커서가텍스트영역의범위내에존재할때에실행되는코드는onKeyDown속성으로지정됩니다.사용자가예상하는방식으로작동하게하기위해서는텍스트영역의경우onKeyPress활동에대해키코드를더해주는것이최상의방법이라는것을알아두면좋습니다.

자바스크립트

NewObjectName.onKeyDown

보기

<textarea data="Type Stuff Here"> <name>typomatic</name> <onKeyDown> print(system.event.key); </onKeyDown> </textarea>

typomatic.onKeyDown = "keypressed = true";

Page 128: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

onKeyPress키가 눌러 진 상태에서 포커스가 텍스트 영역 내에 있을 때 호출되는 스크립트

설명

텍스트영역블록의onKeyPress는사용자가객체에영향을주는키를누를때실행되는자바스크립트코드에대한래퍼(wrapper)입니다(여러단계를거치지않는경우는,아래를참조하십시오).

텍스트입력에대한확인절차를실행할때유용합니다.일반적으로어떤키작동의실행은시스템및텍스트영역에가해지는적절한변경(문자를치거나,단어를삭제하거나등등)을통해서이루어지지만,키입력을무시하게만드는텍스트영역명령인rejectKeyPress()를호출함으로써이활동을무효로할수있습니다(이작동은system.event.key에서언제나가능합니다).

자바스크립트

myObjectName.onKeyPress

보기

<textarea> <name>ta1</name> <onKeyPress> // Convert input to uppercase var key = system.event.key; if (key.charCodeAt(0) &gt;= "A".charCodeAt(0) && key.charCodeAt(0) &lt;= "z".charCodeAt(0)) { // Tell the text area to ignore this keyPress ta1.rejectKeyPress();

// Append an upper case copy of the key pressed ta1.replaceSelection(key.toUpperCase()); } </onKeyPress> </textarea>

<textarea data="Example Text" name="ta1"> <onKeyPress>textareaCode.js</onKeyPress> </textarea>

ta1.onKeyPress= "doProcessKeys(ta1);";

Page 129: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<textarea> WIDGET ENGINE 3.1 REFERENCE | 1��

onKeyUp키를 눌렀다가 풀 때에 실행되는 코드

설명

마우스커서가텍스트영역객체의영역내에존재할때키를누르는순간실행되는코드는onKeyUp속성을통해서지정됩니다(일반적으로는텍스트영역에서키동작을다룰때onKeyPress가더나은방법임을알아두십시오).

자바스크립트

NewObjectName.onKeyUp

보기

<textarea data="Type Stuff Here"> <name>typomatic</name> <onKeyUp> print(system.event.key); </onKeyUp> </textarea>

typomatic.onKeyUp = "keypressed = true";

onLoseFocus텍스트가 포커스를 잃게 될 때 호출됩니다

설명

이것은focus()를통해서이전에포커스가맞추어졌던텍스트영역이포커스를잃게될때호출됩니다.포커스를표시하기위해서텍스트영역주위로만들었던포커스표시를제거할때이것을사용할수있습니다.편집가능한텍스트영역만이키보드포커스를받을수있으며,그렇기때문에이활동은편집가능한텍스트영역에대해서만호출될것입니다.

자바스크립트

NewObjectName.onLoseFocus

보기

<textarea data="Type Stuff Here"> <name>typomatic</name> <onLoseFocus> print("I lost focus!"); </onLoseFocus> </textarea>

typomatic.onLoseFocus = "print( 'focus lost!' );";

Page 130: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

130 | WIDGET ENGINE 3.1 REFERENCE

onMouseDown마우스 버튼을 객체 속에서 누를 때 호출됩니다

설명

텍스트블록의onMouseDown특성은사용자가객체내에서마우스버튼을아래로누를때실행되는자바스크립트코드에대한래퍼(wrapper)입니다.

마우스는입력위치을이동시키고,텍스트를선택하는등등에사용되기때문에,텍스트영역객체상에마우스활동을지정할때는주의를기울여야합니다.

자바스크립트

myObjectName.onMouseDown

보기

<textarea data="Example Text"> <name>ta1</name> <onMouseDown> ta1.color = "#FF0000"; </onMouseDown> </textarea>

<textarea data="Example Text" name="ta1"> <onKeyPress>textareaCode.js</onKeyPress> </textarea>

ta1.onMouseDown = "doHighlight(ta1);";

onMouseEnter마우스가 객체 속으로 움직일 때 호출되는 스크립트

설명

텍스트블록의onMouseEnter특성은사용자가객체내에서커서를움직였을때실행되는자바스크립트코드에대한래퍼(wrapper)입니다.

마우스는입력위치을이동시키고,텍스트를선택하는등등에사용되기때문에,텍스트영역객체상에마우스활동을지정할때는주의를기울여야합니다.

자바스크립트

myObjectName.onMouseEnter

Page 131: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<textarea> WIDGET ENGINE 3.1 REFERENCE | 131

보기

<textarea data="Example Text"> <name>ta1</name> <onMouseEnter> ta1.color = "#EEEEEE"; </onMouseEnter> </textarea>

ta1.onMouseEnter = "handleMouseEnter(ta1);";

onMouseExit마우스가 객체에서 빠져 나올 때 호출 되는 스크립트

설명

텍스트블록의onMouseExit특성은사용자가커서를객체내에서객체밖으로이동시킬때실행될자바스크립트코드에대한래퍼(wrapper)입니다.

마우스는입력위치을이동시키고,텍스트를선택하는등등에사용되기때문에,텍스트영역객체상에마우스활동을지정할때는주의를기울여야합니다.

자바스크립트

myObjectName.onMouseExit

보기

<textarea data="Example Text"> <name>ta1</name> <onMouseExit> ta1.color = "#FFFFFF"; </onMouseExit> </textarea>

ta1.onMouseExit = "handleMouseExit(ta1);";

onMouseUp객체 내에서 마우스를 눌렀다가 놓을 때 호출되는 스크립트

설명

텍스트블록의onMouseUp속성은사용자가객체내에서마우스를눌렀다가놓을때실행되는자바스크립트코드에대한래퍼(wrapper)입니다.

마우스는입력위치을이동시키고,텍스트를선택하는등등에사용되기때문에,텍스트영역객체상에마우스활동을지정할때는주의를기울여야합니다.

마우스가해제될때는객체내에있지않더라도onMouseUp가실행된다는점에

Page 132: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

13� | WIDGET ENGINE 3.1 REFERENCE

주의합니다.

자바스크립트

myObjectName.onMouseUp

보기

<textarea data="Example Text"> <name>ta1</name> <onMouseUp> ta1.color = "#FFFFFF"; </onMouseUp> </textarea>

ta1.onMouseUp = 'handleOnMouseUp(ta1);';

onMultiClick직전에 일어난 복수 클릭

설명

onMultiClick처리기를이용하면더블클릭들(혹은트리플클릭,등등)을쉽게걸러낼수있습니다.이처리기(handler)는이미지,텍스트,텍스트영역및창객체들에적용할수있습니다.onMultiClick처리기를호출할때마다system.event.clickCount를감시하여그값을확인할수가있습니다.그값은언제나2(더블클릭의경우)이상이되어야합니다.

onMultiClick을이용하는대신onMouseUp처리기내의system.event.clickCount를살펴보는것도가능합니다.그러나onMultiClick을이용하는것의장점은onMouseUp와는달리창의Drag을방해하지않는다는점인데,즉어떤텍스트영역위에mouseup처리기가있을때는그텍스트영역을클릭할경우특정창을Drag할수없게만듭니다.여러분의이미지가멀티클릭에대해서만반응하도록하고싶을때는onMultiClick을이용하여위젯을보통때와마찬가지로Drag할수있게하는것이좋습니다.

<onMultiClick> if ( system.event.clickCount == 2 ) alert( "Double Click!" ); </onMultiClick>

사용 버전

2.0이후버전에서사용가능합니다.

Page 133: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<textarea> WIDGET ENGINE 3.1 REFERENCE | 133

불투명도 (Opacity)텍스트를 나타낼 때의 투명도

설명

불투명도특성은여러분으로하여금텍스트를작성할때의알파값을조절하는0에서부터255까지수치가운데한수치를지정할수있게합니다.불투명도0은완전한투명이어서(보이지않음),객체가마우스변화(event)에반응하는것을방지해주는것같은부수적인효과를지닙니다.255의값은텍스트를100%불투명도로표시합니다.

보기

<textarea data="Example Text"> <name>ta1</name> <opacity>128</opacity> </textarea>

ta1.opacity = 33;

secure텍스트 영역이 텍스트 대신 bullet들을 표시하도록 설정합니다

설명

이특성은패스워드필드를흉내내는데사용되는데,이경우사용자는입력되고있는텍스트를볼수가없는대신일련의bullet문자들(동그란점들)이나타납니다.이것은한줄의문자들로이루어져야합니다.

보기

<textarea data = "hello!"> <secure>true</secure> </textarea>

사용 버전

2.1이후버전에서사용가능합니다.

scrollbar문자 영역 상에서의 스크롤 바의 표시를 조절합니다

설명

기본설정에서는텍스트영역은수직스크롤바를나타낼것입니다.스크롤바를제거하는데에이속성을이용합니다.

Page 134: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

13� | WIDGET ENGINE 3.1 REFERENCE

보기

<textarea data="Example Text"> <scrollbar>false</scrollbar> </textarea>

ta1.scrollbar = true;

size텍스트 영역 블록에 대한 폰트 크기

설명

텍스트영역에대한포인트크기.

보기

<textarea data="Example Text"> <name>ta1</name> <size>22</size> </textarea>

ta1.size = 33;

spellcheck텍스트 영역 내에서의 지속적인 스펠 점검을 조절합니다

설명

기본설정에서는사용자가글자입력시잘못입력할경우그것을강조하여표시하는데,이속성을이용하면이함수를해제할수있습니다.

보기

<textarea data="Example Text"> <spellcheck>false</spellcheck> </textarea>

ta1.spellcheck = true;

style텍스트 영역 블록에 대한 폰트 스타일

설명

텍스트를작성하는스타일.스타일은다음과같은것들의여러가지조합이될수있습니다:

Page 135: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<textarea> WIDGET ENGINE 3.1 REFERENCE | 13�

italic, bold, narrow, expanded, condensed, smallcap, poster, compressed,fixed

예를들면:

textAreaObject.style="bold;italic";

는font속성에서명명된폰트의볼드체,이탤릭체의조합을요청하는것입니다.

선택된폰트대안이존재하지않는경우에이스타일은무시됩니다.대부분의폰트는두가지내지세가지의대안이존재합니다.

보기

<textarea data="Example Text"> <name>ta1</name> <style>bold</style> </textarea>

ta1.style = 'italic';

thumbColor스크롤 바의 텀 (thumb)버튼 색상

설명

thumbColor특성은여러분의텍스트영역에스크롤바가지정된경우스크롤바텀(thumb)버튼의색상을조절하는데이용됩니다.표준스크롤바에서의기본설정은중간회색입니다.여러분이지정하는색상은채색(colorization)을통해서적용됩니다.

현재의색상을완전히제거하려면자바스크립트에서null로설정하면됩니다.

보기

<scrollbar> <thumbColor>#333366</thumbColor> </scrollbar>

myScrollbar.thumbColor = "#333366"; myScrollbar.thumbColor = null;

사용 버전

버전3.0이상에서사용가능합니다.현재까지는Windows에서만가능합니다.

Page 136: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

13� | WIDGET ENGINE 3.1 REFERENCE

tooltip텍스트 객체를 위한 툴팁 (tooltip)

설명

tooltip속성은마우스커서가텍스트영역객체위에머무를때에팝업툴팁윈도에표시되는텍스트를정의합니다.

자바스크립트

object.tooltip

보기

<textarea data="Example Text"> <tooltip>Example tooltip</tooltip> </textarea>

visible텍스트 영역 객체의 가시성을 조절합니다

설명

이속성을true또는false로설정하여텍스트객체를각각나타내거나숨김으로써,텍스트영역객체의가시성특성을설정할수있습니다.이것은객체의불투명도에영향을주지않고,따라서현재의불투명도를나중에재생하기위하여따로저장할필요없이간단하게객체를숨길수있게해줍니다.어떤객체에대한가시성기본설정은true입니다.

자바스크립트

myObjectName.visible

보기

<textarea data="Example Text"> <visible>false</visible> </textarea>

myTextArea.visible = true;

사용 버전

3.0이후버전에서사용가능합니다.

Page 137: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<textarea> WIDGET ENGINE 3.1 REFERENCE | 13�

vAlign텍스트 영역의 수직 정렬을 조절합니다

설명

텍스트영역의vAlign특성은vOffset과관련하여객체의위치를수직방향으로어떻게위치시킬지를정의합니다.예를들어bottom정렬을가진이미지는아래쪽모서리가vOffset에위치하여나타납니다.이태그를지정하지않을경우기본설정값은“top”이됩니다.

가능한값들: top, bottom 혹은 center.

자바스크립트

myObjectName.vAlign

보기

<textarea src="button.png"> <vAlign>bottom</vAlign> </textarea>

myTextArea.vAlign = "bottom";

사용 버전

2.0이후버전에서사용가능합니다.

vOffset어떤 텍스트 객체의 수직 방향 위치

설명

텍스트블록객체의vOffset속성은객체의모화면(superview)의좌측상부코너를0,0기준으로하여텍스트의수직이동거리를(위쪽에서아래쪽으로)정의합니다.부여되는값이클수록객체는아래쪽으로더많이이동한위치에서나타납니다.

자바스크립트

object.vOffset

보기

<textarea data="Example Text"> <vOffset>20</vOffset> </textarea>

Page 138: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

13� | WIDGET ENGINE 3.1 REFERENCE

width작성되는 텍스트 객체의 너비

설명

width특성은객체의수평크기를조절합니다.

자바스크립트

myObjectName.width

보기

<textarea data="Example Text"> <width>30</width> </textarea>

ta1.width = 30;

추가 참조

columns

window그 텍스트 영역이 속하는 창

설명

XML에서창의이름을지정해주거나아니면자바스크립트에서그변수를지정해줌으로써어떤텍스트영역이속할창을지정할수있습니다.창을따로지정하지않을경우에는위젯의XML설명에나타나는첫번째창에자동적으로붙여질것입니다.

자바스크립트

myObjectName.window

보기

<window name="fred" width="100" height="100"/> <textarea> <window>fred</window> </textarea> // Or in code var myWind = new Window(); myTextArea.window = myWind; // You can also specify it in the constructor var myTextArea = new Image( myWind );

Page 139: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<timer> WIDGET ENGINE 3.1 REFERENCE | 13�

사용 버전

2.0이후버전에서사용가능합니다.

zOrder텍스트 영역의 적층 순서

설명

텍스트블록의zOrder특성은텍스트의적층순서를정의합니다.더높은zOrder를가진이미지들은더낮은zOrder를가진객체들의위에표시됩니다.일반적으로zOrder는XML파일에서이미지들에대해정의하는순서에따라정해져서먼저그려진것들이나중에그려진것들의아래에위치하게되지만자바스크립트에서실행시간(runtime)을이용하여조정할수도있습니다.

자바스크립트

myObjectName.zOrder

보기

<textarea data="Example Text"> <zOrder>10</zOrder> </textarea>

ta1.zOrder = customZOrder++;

Page 140: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�0 | WIDGET ENGINE 3.1 REFERENCE

<timer>타이머를 정의하는 블록

속성들 interval name ticking onTimerFired

방식

reset()

설명

타이머객체들은주기적인간격으로과업을수행하게만들거나,아니면추후의한시점에단한번실행되게하는데사용될수있습니다.이것은이전의onTimer트리거함수를대신합니다.이객체들은각기다른주기로실행되는복수의타이머들도이용할수있게해줍니다.타이머객체들을삭제하지않고타이머들을시작이나종료시킬수가있습니다.

시간간격들의정확성은보장되지않습니다.타이머들은‘상호협력적으로’실행되는데,즉이것은위젯이다른것들을하느라바쁘지않을때에야비로소실행될수있다는의미입니다.타이머에서는고도의시간정확도를갖춘함수를기대해서는안됩니다.

사용 버전

2.0이후버전에서사용가능합니다.

interval이것은 단순히 타이머가 작동해야 하는 초 단위의 시간 간격입니다. 이것은 플로팅 포인트 (floating point)로 표현될 수도 있기 때문에 타이머가 매 0.5 초 마다 실행되기를 원할 경우, 이 특성을 0.5로 지정하기만 하면 됩니다. 타이머가 작동 될 때마다 onTimerFired 특성에서 자바스크립트를 실행시킵니다.

자바스크립트

object.interval

보기

<timer name="myTimer"> <interval>1.0</interval> </timer>

myTimer.interval = 1.0;

Page 141: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<timer> WIDGET ENGINE 3.1 REFERENCE | 1�1

사용 버전

2.0이후버전에서사용가능합니다.

name어떤 환경 설정을 지칭하는 이름

설명

환경설정(preferences)블록의name속성은자바스크립트에서생성되는일반변수의이름을정의합니다.이이름은코드내에서의참조용으로사용되기때문에빈칸이나ASCII문자이외의것이포함되어서는안됩니다.객체를구성하는데에어떤이름을한번사용하면이이름은더이상다시사용될수없는것으로간주됩니다.

보기

<timer name="my_timer"/>

// then later in Javascript, you can reference by that name:

my_timer.interval = 10;

사용 버전

2.0이후버전에서사용가능합니다.

ticking이것은 타이머를 true 및 false에 설정함으로써 타이머를 켜고 끌 수 있게 해 줍니다. 타이머를 일시적으로 작동하지 않게 하려면 ticking을 false로 설정하면 됩니다. 나중에 다시 true로 설정하면 다시 작동하기 시작합니다. 일단 재 작동이 시작되면, 다음의 작동 시점은 이 재 작동 시점을 기준으로 설정 될 것입니다. 그러므로 1 초 타이머가 있다면 ticking을 true로 설정한 후 1 초 후에 다시 재 실행 됩니다.

자바스크립트

object.ticking

보기

<timer name="myTimer"> <ticking>false</ticking> </timer>

myTimer.ticking = true;

사용 버전

2.0이후버전에서사용가능합니다.

Page 142: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

onTimerFired여기에는 타이머가 작동할 때 실행 될 활동의 자바스크립트가 포함됩니다

자바스크립트

object.onTimerFired

보기

<timer name="myTimer"> <onTimerFired>alert( 'hello!' );</onTimerFired> </timer>

myTimer.onTimerFired="alert('fired!');";

사용 버전

2.0이후버전에서사용가능합니다.

Page 143: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<widget> WIDGET ENGINE 3.1 REFERENCE | 1�3

<widget>위젯의 범위를 정의하는 블록

속성들

author company copyright debug defaultTracking image minimumVersion option requiredPlatform version

설명

XML파일의가장바깥부분은위젯블록에의해서정의됩니다.이그룹들은위젯을구성하는모든객체들을결합시킵니다.

버전3.0에서는놀랍게도이름이‘widget’인전역객체(globalobject)를통해서위젯객체에접근하는것이가능합니다.

author저자의 이름을 지정합니다

여러분의위젯을통해이선택적정보내용을표시할수있습니다.버전3.0에서는이것이‘최초실행’보안대화창에표시되어,사람들로하여금(‘company’속성과더불어)위젯의저자에대해서도알수있게합니다.장래에는이정보가인터페이스의다른부분들에도사용될것이기때문에저자및/혹은회사그리고저작권속성을이용하는것이좋을것입니다.

사용 버전

3.0이후버전에서사용가능합니다.

company회사 이름을 지정합니다

위젯을통해서이정보옵션을표시할수있습니다.버전3.0에서는이것이‘최초실행’보안대화창에표시되어어떤회사가이위젯을발표하였는지알수있게해줍니다.장래에는이정보는인터페이스의다른부분들에도사용될것이기때문에저자및/혹은회사그리고저작권속성을이용하는것이유용할것입니다.

사용 버전

3.0이후버전에서사용가능합니다.

Page 144: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

copyright위젯의 저작권 문자열을 지정합니다

여러분의위젯을통해이선택적정보내용을표시할수있습니다.장래에는이정보가인터페이스의다른부분들에도사용될것이기때문에저자및/혹은회사그리고저작권속성을이용하는것이유용할것입니다.

사용 버전

3.0이후버전에서사용가능합니다.

debug이 위젯에 대하여 디버그 콘솔을 표시할 지를 조절합니다

설명

디버그출력을활성화시키거나억제할필요가있을경우에는widget블록내부에이블록을더해주십시오.

<debug>errors</debug> 는위젯이실행되는동안에러가발생할경우위젯디버그정보를on시켜줍니다.에러는자바스크립트나위젯엔진실행시간메시지등이될수있습니다.이것이기본설정입니다.

<debug>on</debug> 위젯이열릴때위젯디버그정보를on시켜줍니다(위젯개발기간중에유용합니다).

<debug>off</debug> 에러가발생하더라도위젯이열릴때위젯디버그정보를off상태로유지합니다.이모드는위젯이완전히디버그된경우에만사용되어야합니다.위젯이10개의에러를낼경우,이옵션이어떻게설정되어있는지에관계없이디버그콘솔이표시됩니다.

<debug>verbose</debug> 위젯이열려서객체활동및자동적으로실행된다른이벤트들이표시될때위젯디버그정보가on으로켜지게합니다.

주의 사항

버전2.1이상에서는콘트롤옵션을누른상태에서기어메뉴(Gearmenu)를선택할수가있으며이때는“DebugMode”옵션이표시될것입니다.이것을체크하면이선택이on된이후에시작된모든위젯들에대해서디버깅이가능해집니다.이것은위젯에서더이상디버그속성을설정할필요가없음을의미합니다.

Page 145: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<widget> WIDGET ENGINE 3.1 REFERENCE | 1��

defaultTracking이미지의 커서 인식방식에 대한 기본 설정값을 지정합니다

설명

defaultTracking속성은위젯내모든이미지들에대한Tracking의기본설정값을지정합니다.기본값인opacity를지정하면불투명한부분들만클릭할수있고이미지의투명한부분들은클릭할수없지만rectangle로설정하면사각형범위내전체이미지영역이마우스클릭에반응하게됩니다.

보기

<widget defaultTracking="rectangle"> ... </widget>

image위젯의 아이콘/ 이미지를 지정합니다

여러분의위젯을통해이정보옵션을표시할수있습니다.이속성에는위젯을나타내기위하여표시되는150x150크기의이미지에대한상대적경로가포함됩니다.현재로는,알려지지않은위젯이처음으로실행될때나마지막실행이후로수정이가해진경우이이미지가표준보안대화창에서만표시됩니다.장래에는이정보가인터페이스의다른부분들에도사용될것이기때문에위젯에서저자/회사/저작권정보들을위하여한이미지를만들어두는것이좋을것입니다.

사용 버전

3.0이후버전에서사용가능합니다.

minimumVersion위젯 실행에 필요한 최소 위젯 엔진 버전

설명

위젯에대한minimumVersion을지정하면위젯엔진은현재실행되고있는엔진의버전에대해서검사를실시합니다.현재버전이지정된버전보다낮을경우에는사용자에게에러메시지가표시되고위젯은실행되지않을것입니다.

보기

<widget minimumVersion="1.5"> ... </widget>

버전3.0부터이속성은추가적인새로운기능의이용이가능하다는것을위젯엔진에알려주는역할을합니다.지정된최소버전에서작동할수있도록수정되었다는사실,즉그지정버전에맞도록수정되었다는사실을이함수를통해서인식할수있습니다.이메커니즘을통해서이전버전의위젯들을그대로계속사용할수

Page 146: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

도있지만,3.0버전으로소개되는최신위젯이나수정위젯들의경우수정이필요할수도있습니다.

이함수는작동방식의수정을통해기존의위젯을그대로유지할수있게합니다.

option다양한 위젯 옵션들

설명

이옵션들은위젯의동작에전체적인영향을미칩니다.

<option>allowCustomObjectAttributes</option> 이위젯속성이지정되면,사용자의커스텀객체속성이허용되고,디버그에러들이발생하지않습니다.이것은특별히자바스크립트객체모델에익숙한사람들을위해개선된특징으로서,객체속성이름내에서단순한글자들(예,hOffset)은자리를잡기가매우어려울수있다는단점이있습니다.

<option>dontRememberWindowPosition</option> 이옵션은엔진에게위젯을닫을때이위젯의윈도우위치를저장하지말것을지시합니다.일반적으로는위젯엔진이소환된동안에모든위젯들의위치가기억되어사용자들이자신의바탕화면을자기가원하는대로구성할수가있게되지만,특정종류의위젯은매번실행될때마다실용적으로스스로알아서자리를잡게하는편이좋을수도있습니다.

<option>allowArbitraryXML</option> 이것은유효한태그들과속성이름들에대한체크함수를해제합니다.여러분의위젯에서위젯엔진이삽입된XML을인식하지않기를원할경우,이옵션을지정하여에러발생을방지해야합니다(추가XML은주의를기울여구성되어야함에주의하십시오).이옵션이실제로필요한경우는별로없습니다.

requiredPlatform실행을 위해서 이 위젯이 특정 플랫폼을 필요로 하는지 여부를 지정합니다

위젯엔진이지원하는모든플랫폼들상에서위젯이실행가능하게하는것이물론더좋겠지만,때로는위젯이매우특수한플랫폼에서만실행되는경우도있습니다(윈도우상의COM과같은경우).여러분의위젯이특별한플랫폼을필요로하는경우,이속성의값을“machintosh”또는“window”로지정할수있습니다.

사용 버전

1.8이후버전에서사용가능합니다.

Page 147: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<window> WIDGET ENGINE 3.1 REFERENCE | 1��

version여러분 위젯의 버전

이속성에서는현재여러분위젯의버전수를지정할수있습니다.여러분의<about-box>객체내에서<about-version>객체를이용하면,이것이사용자에게정보로표시됩니다.

사용 버전

1.5이후버전에서사용가능합니다.

Page 148: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

<window>위젯의 주 대화창 (main window)을 정의하는 블록

속성들

alignment contextMenuItems height hOffset level name onContextMenu onFirstDisplay onGainFocus onLoseFocus onMultiClick opacity shadow title visible vOffset width

설명

창(window)블록은위젯창의크기와위치를설명합니다.이창은언제나투명하며창속에여러분이기입하는이미지및텍스트객체들만이사용자에게보여집니다.

복수 창들

버전2.0부터는위젯내에복수창만이가능합니다.객체의창속성에서그창의변수를지정함으로써여러분창에객체들(이미지,텍스트,등등)을덧붙일수있습니다.이런방식으로각객체들은자신이어디에존재하는지알수있게됩니다.

창에어떤이름을부여하면(XML혹은자바스크립트작성기에서),위젯엔진이그창들의위치를추적하여여러분을대신하여그것을환경설정(preference)속에자동적으로저장시킵니다.이름이붙여지지않은창들은자신들의환경설정내용을저장시킬수가없습니다(그것들은일반적으로어떤경사면에얹혀진것과도같은작고일시적인창들이어서,구체적인지점이없습니다).

각창은그자신의창수준을유지합니다.그러나,사용자가환경설정대화창에서위젯레벨에어떤값을설정할경우,모든창들은그값으로설정됩니다.그러나특정창에대해서는이일괄적인설정값을적용하고싶지않을경우onPreferencesChanged처리기에서여러분이원하는대로재설정할수있습니다.

Page 149: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<window> WIDGET ENGINE 3.1 REFERENCE | 1��

alignment어떤 창이 그 스크린 위치를 기준으로 정렬되는 방식

설명

이것은hOffset과vOffset을기준으로위젯창이위치하는자리를정의합니다.사용가능한값들은left,right또는center입니다.left로정렬된창은좌측상부코너가지시된위치에오게되며,right로정렬된창은그우측코너가지시된위치에오게되고,center정렬된창은그상부중심부분이지시된위치에떨어지게됩니다.

기본설정창정렬은center입니다.

자바스크립트

object.alignment

보기

<window title="My Widget"> <alignment>left</alignment> </window>

myWindow.alignment = "left";

플랫폼

현재윈도우에서는이속성이적용되지않습니다.

contextMenuItemscontext 메뉴 항목 줄을 지정합니다

설명

텍스트영역객체에contextMenuItems를덧붙이면위젯위에마우스의오른쪽버튼을클릭했을때표시되는기본context메뉴에여러항목들을덧붙일수있습니다.이태그는사실text,textArea,및window객체들에대해서도똑같이적용됩니다.여러분은또한onContextMenu태그상에서실행되는특정자바스크립트를지정함으로써context항목들을동적으로구축할수도있습니다(보다자세한정보는onContextMenu부분을참조하십시오).

일련의menuItem객체들을포함시킴으로써자신만의항목을지정할수있습니다.이것들에대한보다자세한정보는menuItem에대한부분을참조하십시오.

자바스크립트

myObjectName.contextMenuItems

Page 150: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�0 | WIDGET ENGINE 3.1 REFERENCE

보기

<window> ... <contextMenuItems> <menuItem title="Test" onSelect="beep();"/> <menuItem title="Another Test"> <onSelect>alert( 'hello' );</onSelect> </menuItem> </contextMenuItems> ... </window>

자바스크립트에서context메뉴를구축하는보기는onContextMenu에서참조하십시오.

사용 버전

2.0이후버전에서사용가능합니다.

height창이 가질 수 있는 높이

설명

이것은위젯의창높이를픽셀단위로표시한것입니다.

자바스크립트

object.height

보기

<window title="My Widget"> <height>200</height> </window>

myWindow.height = 250;

hOffset창의 초기 수평 위치 설정

설명

창(window)블록의hOffset속성은어떤창의모화면(superview)의좌측상부코너를0,0기준으로하여이미지의수평이동거리를(왼쪽에서오른쪽으로)정의합니다.부여되는값이클수록텍스트는오른쪽으로더많이이동한위치에서나타납니다.

Page 151: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<window> WIDGET ENGINE 3.1 REFERENCE | 1�1

XML에서hOffset값을지정하지않는경우위젯의onLoad활동에있어서-1(마이너스일)로나타날것입니다.이를통해서초기창의위치를편리하게결정할수있게해줍니다(예를들어,스크린해상도에관계없이우측하부코너에위치시킵니다).

자바스크립트

object.hOffset

보기

<window title="My Widget"> <hOffset>200</hOffset> </window>

myWindow.hOffset = 250;

level다른 윈도우에 대한 상대적 위치 지정

설명

이속성은다음과같은값들가운데하나를가질수있습니다:konspose,desktop,below,normal,topmost혹은floating.이것은바탕화면상에서그창이다른창들과의상대적인관계에대해서,즉다른것들의위에위치할지아니면다른것들의밑에위치하는지에대해서지정합니다(konspose라함은그창이오직Heads-Up디스플레이모드에서만나타난다는의미입니다).기본설정은normal입니다.

자바스크립트

object.level

보기

<window title="My Widget"> <level>below</level> </window>

myWindow.level = 'normal';

name창의 이름

설명

자바스크립트에서창의신원을확인하는데사용되는이름.

Page 152: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

자바스크립트

object.name

보기

<window title="My Widget"> <name>myWindow</name> </window>

print(myWindow.name);

onContextMenucontext 메뉴가 나오기 직전에 호출됩니다. 메뉴항목을 추가하기 좋은 곳입니다

설명

위젯을위한표준context메뉴에더해질context메뉴항목들을지정하는가장간단한방법은XML에서contextMenuItems태그를이용하는것입니다.그러나,항목들을동적으로구축하기원하는위젯들의경우에는onContextMenu를이용해야합니다.메뉴가막표시되려고할때,어떤화면이반응할때까지마우스아래모든요소들에대하여앞쪽에서뒤쪽으로화면순서대로이것이호출됩니다.이것을다룰때는여러분의context항목들을단순하게구성하고여러분의contextMenuItems특성을항목세트에설정해주어야합니다.창에추가항목들을덧붙이는것은언제든지가능합니다.

자바스크립트

myWindow.onContextMenu

보기

<onContextMenu> var items = new Array(); items[0] = new MenuItem(); items[0].title = "This is the title"; items[0].enabled = false; items[0].checked = true; items[0].onSelect = "alert( 'you chose it!' );"; items[1] = new MenuItem(); items[1].title = "This is the second title"; items[1].onSelect = "beep();"; myWindow.contextMenuItems = items; </onContextMenu>

사용 버전

2.0이후버전에서사용가능합니다.

Page 153: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<window> WIDGET ENGINE 3.1 REFERENCE | 1�3

onFirstDisplay창이 맨 처음에 표시될 때 실행되는 활동을 지정합니다

설명

어떤위젯에어떤창이처음으로나타날때는(즉,위치등등에대하여아직preference들이저장된적이없는것을볼수있습니다),그창의onFirstDisplay처리기가호출됩니다.이것은위젯으로하여금그위젯이맨처음으로실행될때어느위치에서등장할지를결정하게해줍니다.

보기

<onFirstDisplay> setInitialPosition(); </onFirstDisplay>

이것은창이처음으로등장할때에만전송된다는사실을기억하십시오.그창에대해서preferences가일단저장되면이메시지를다시는송신할수없습니다.

사용 버전

2.0이후버전에서사용가능합니다.

onGainFocus창의 활성화 동작을 조종합니다

설명

이처리기는창이활성화될때여러분이그것을알수있게해줍니다.자신이활성상태에있음을나타내기위하여자기나름대로적용했던어떤장식같은것을제거할때이것을이용할수있습니다.버전2.0이전에는이것을오직위젯차원에서만실시할수있었습니다.버전2.0의복수창들의경우에는각각의창과연관된처리기들을대신이용해야합니다.

보기

<onGainFocus> showPlayButton(); </onGainFocus>

사용 버전

2.0이후버전에서사용가능합니다.

Page 154: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

onLoseFocus창의 비활성화 동작을 조종합니다

설명

이처리기는여러분의창이비활성화될때여러분이그것을알수있게해줍니다.자신이활성상태에있음을나타내기위하여자기나름대로적용했던어떤장식같은것을제거할때이것을이용할수있습니다.버전2.0이전에는이것을오직위젯차원에서만실시할수있었습니다.버전2.0의복수창들의경우에는창과연관된처리기들을대신이용해야합니다.

Example

<onLoseFocus> hidePlayButton(); </onLoseFocus>

사용 버전

2.0이후버전에서사용가능합니다.

onMultiClick직전에 일어난 복수 클릭

설명

onMultiClick처리기를이용하면더블클릭들(혹은트리플클릭,등등)을쉽게걸러낼수있습니다.이처리기(handler)는이미지,텍스트,텍스트영역및창객체들에설정할수있습니다.onMultiClick처리기를호출할때마다system.event.clickCount를감시하여그값을확인할수가있습니다.그값은언제나2(더블클릭의경우)이상이됩니다.

onMultiClick을이용하는대신onMouseUp처리기내의system.event.clickCount를살펴보는것도가능합니다.

<onMultiClick> if ( system.event.clickCount == 2 ) alert( "Double Click!" ); </onMultiClick>

사용 버전

2.0이후버전에서사용가능합니다.

Page 155: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

<window> WIDGET ENGINE 3.1 REFERENCE | 1��

불투명도 (Opacity)창을 나타낼 때의 투명도

설명

전체창및그속내용의불투명도에영향을주는0에서부터255까지의수치

자바스크립트

object.opacity

보기

<window title="My Widget"> <opacity>180</opacity> </window>

myWindow.opacity = 255;

shadow창에 그림자를 줄 지 여부를 결정합니다

설명

위젯이그림자를가질지를조절합니다.

주목:MacOSX10.2기준으로,여러분이이특성을on시키는경우창주위에추가적으로회색경계가형성될것입니다.여러분의위젯을디자인할때이점에주의해야합니다.현재,윈도우상에서는이경계가나타나지않습니다.

자바스크립트

object.shadow

보기

<window title="My Widget"> <shadow>false</shadow> </window>

myWindow.shadow = true;

윈도우 플랫폼 주의 사항

창의그림자효과는3.1버전이상에서가능합니다.

Page 156: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

title나타나는 창의 이름

설명

이것은현재context메뉴에서위젯을위한이름으로사용되고있습니다.

자바스크립트

object.title

보기

<window> <title>My Widget</title> </window>

myWindow.title = "My New Widget";

visible창이 사용자에게 보이게 할 지의 여부

설명

이함수는창의XML정의에서이것을false로설정함으로써동적인위젯의초기구축을숨기는데에유용하며,나중에일단위젯이구축되고나서는onLoad트리거의맨끝에서이것을true로설정하면됩니다.

visible속성이false인경우위젯이스크린에표시되지않기때문에위젯과상호작용하는것이불가능합니다.

자바스크립트

object.visible

보기

<window title="My Widget"> <visible>false</visible> </window>

myWindow.visible = true;

vOffset창의 초기 수직 위치

설명

window블록객체의vOffset속성은스크린의좌측상부코너를0,0기준으로하

Page 157: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Global Functions WIDGET ENGINE 3.1 REFERENCE | 1��

여창의수직이동거리를(위쪽에서아래쪽으로)정의합니다.부여되는값이클수록객체는아래쪽으로더많이이동한위치에서나타납니다.

XML에서vOffset값을지정하지않는경우위젯의onLoad활동에있어서-1(마이너스일)로나타날것입니다.이를통해서초기창의위치를편리하게결정할수있게해줍니다(예를들어,스크린해상도에관계없이좌측하부코너에위치시킵니다).

자바스크립트

object.vOffset

Example

<window title="My Widget"> <vOffset>200</vOffset> </window>

width그 창에 있어서 가능한 너비

설명

이것은위젯창의너비를픽셀단위로지정합니다.

자바스크립트

object.width

보기

<window title="My Widget"> <width>200</width> </window>

myWindow.width = 250;

Page 158: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

자바스크립트 참조 매뉴얼

본부분은Yahoo!WidgetEngine이추가로제공하는자바스크립트함수에대한설명입니다.자바스크립트가처음이라면문법및구조의이해에도움을얻기위하여이언어에대한여러자료를구해보는것이좋을것입니다.야후!위젯엔진은자바스크립트1.5표준(ECMA-262,제3개정판)에맞는자바스크립트엔진(MozillaSpidermonkey)을사용합니다.

위젯엔진의부가내용은다음과같은몇가지범주로나눌수있습니다:

ㆍ전역 함수 (global functions)

ㆍ시스템 함수 (system functions)

ㆍ시스템 속성 (system attributes)

ㆍ시스템 객체 (system objects)

ㆍ위젯 엔진 객체 매서드 (Widget Engine object methods)

Page 159: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Global Functions WIDGET ENGINE 3.1 REFERENCE | 1��

전역 함수 (Global Functions)여러분이작성한자바스크립트어느곳에서나사용할수있는함수입니다.

alert()경고창을 표시합니다

구문

alert(string, [button one, button two, button three])

인수

string 표시될경고문의텍스트내용

button one 경고문에서나타나는첫번째(혹은유일한)버튼에표시되는텍스트 이인수는선택적인것입니다.

button two 경고문에서나타나는두번째버튼에표시되는텍스트 이인수는선택적인것입니다.

button three 경고문에서나타나는세번째버튼에표시되는텍스트 이인수는선택적인것입니다

반환값

경고창이사용자에게표시되면눌러진버튼에따라1,2,3이반환됩니다.

설명

표준경고창을사용하여바로메시지를보여주거나,3가지옵션중선택사항을고르는데사용됩니다.리턴값은선택적으로추가된세개의버튼들가운데어느것이클릭되었는지를나타내며1,2,3의값이될수있습니다.

보기

alert("The time is now " + Date());

answer = alert("Do you wish to continue?", "Yes", "No");

if (answer == 2) closeWidget();

appleScript()애플스크립트 (AppleScript)를 실행합니다

구문

appleScript(appleScriptCode[, timeout])

Page 160: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�0 | WIDGET ENGINE 3.1 REFERENCE

인수

appleScriptCode 실행하기위한완전한애플스크립트코드문자열.파일명이유효할경우해당파일로부터코드가로드됩니다.

timeout 애플스크립트가 완료되기까지 대기하는 초 단위 시간 (선택적임).호환성의

이유로 인하여 기본 설정 tim eout은 2초로 설정되어있습니다 .

설명

이함수를이용하면여러분의위젯이애플스크립트호출을통하여시스템요소나어플리케이션을통제할수있습니다.

해당애플스크립트는줄바꿈이없는형태로구성되어야되기때문에실제내부적인줄바꿈을표시하기위해줄바꿈문자(\n)를넣어야합니다.애플스크립트를위젯에서이용하기전에먼저애플의스크립트편집기에서편집/확인한후사용하실것을권장합니다.

iTunesRemote위젯은아주많은appleScript()호출을이용합니다.

보기

// Note the embedded new-lines that are required // in AppleScripts. appleScript('tell application "Internet Explorer"\nOpenURL ("' + newURL + '")\nend tell\n');

beep()경고음을 울립니다

구문

beep()

설명

이함수는사용자의컴퓨터에경고음을울립니다.이것은사용자의주의를끌필요가있을때,어떤작업의완성을알릴때,혹은여러분위젯의스크립트를디버깅하는등의목적에유용합니다.

보기

if (done) beep();

Page 161: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Global Functions WIDGET ENGINE 3.1 REFERENCE | 1�1

bytesToUIString()바이트 수를 알아보기 쉬운 문자열로 변환합니다

구문

string = bytesToUIString(integer)

설명

주어진바이트수를“1K”혹은“34.2M”등과같이문자열로변환할필요가있을때가있습니다.이함수는그때사용할수있습니다.

보기

print( "There is " + bytesToUIString( numBytes ) + " memory available" );

사용 버전

2.0이후버전에서사용가능합니다.

chooseColor()표준 색상 선택 대화창을 표시하여 사용자가 색상을 선택하게 합니다

구문

string = chooseColor( [string] );

설명

플랫폼에맞는표준색상을표시하여사용자가색상을선택하게할때사용합니다.인수를사용하여초기색상값을선택적으로지정할수있습니다.리턴값은색상값을16진수문자열(예:#FF0000)로리턴하며,사용자가취소버튼을누른경우null값을리턴합니다.

보기

print( chooseColor( "#EEEEEE" ) );

사용 버전

2.0이후버전에서사용가능합니다.

chooseFile()표준 파일 대화창을 표시하며 사용자가 파일을 선택 할 수 있게 합니다

구문

file=chooseFile([string|array]);

Page 162: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

설명

플랫폼에맞는표준파일열기창을표시하여,사용자가파일을선택하도록합니다.사용자들이선택할수있는파일종류를제한하기위하여한개의파일확장명이나확장명의배열값을선택적으로지정할수있습니다.사용자가대화창을취소하면,null값이리턴됩니다.

보기

print( chooseFile() ); // select anything print(chooseFile(".png"));//justPNGfiles print(chooseFile(newArray(".png",".jpg")))

사용 버전

2.0이후버전에서사용가능합니다.

chooseFolder()표준 파일 대화창을 표시하며 사용자로 하여금 폴더를 선택하게 합니다

구문

file=chooseFolder();

설명

플랫폼에맞는표준파일열기대화창을표시하여사용자가폴더를선택하도록합니다.사용자가대화창을취소하면,null값이리턴됩니다.

보기

print( chooseFolder() );

사용 버전

2.0이후버전에서사용가능합니다.

convertPathToHFS()UNIX 스타일의 경로명을 HFS 스타일의 경로명으로 변환시킵니다

구문

convertPathToHFS(myPath[, localize])

설명

UNIX스타일의경로를(‘/’가들어있는스타일)MacHFS스타일의경로로(볼륨이름과‘:’가들어있는스타일)로변환시킵니다.선택적으로두번째Boolean인수를true로지정하면리턴값은현재의시스템언어로지역화됩니다.지역화된경로명을얻기위해서는해당파일이실제로경로에존재해야합니다.

Page 163: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Global Functions WIDGET ENGINE 3.1 REFERENCE | 1�3

보기convertPathToHFS('/Users/joe/foo.txt');

는다음과같이변환됩니다:

MacintoshHD:Users:joe:foo.txt

독일어시스템에서는:

convertPathToHFS('~/Movies', true)

다음과같이변환됩니다:

MacintoshHD:Benutzer:joe:Filme

윈도우 특기 사항

윈도우에서는빈문자열(“”)이리턴됩니다.

convertPathToPlatform()자바스크립트 스타일의 경로를 플랫폼에 맞는 경로로 변환합니다

구문

convertPathToPlatform(myPath[, forDisplay])

설명

자바스크립트스타일경로(“/foo/bar/baz”)를플랫폼스타일의경로로(예,윈도우상에서,“\\foo\bar\\baz”)바꾸어줍니다.

runCommand()에서사용하기위해서는기본경로명을제공해야합니다.사용자에게보여줄경로명을원한다면두번째파라미터를true로설정하십시오.

매킨토쉬에서는이함수가아무일도하지않습니다.(경로들이이미정확한포맷으로되어있습니다).

보기convertPathToPlatform('c:/temp/foo.txt');

윈도우에서는다음과같이변환됩니다:

c:\\temp\\foo.txt

또한:

convertPathToPlatform('c:/temp/foo.txt', true);

윈도우에서는다음과같이변환됩니다:

Page 164: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

c:\temp\foo.txt

closeWidget()위젯을 종료합니다

구문

closeWidget()

설명

콘텍스트메뉴에서사용자가CloseWidget을선택한경우현재실행되고있는위젯을종료시킵니다.

보기

answer = alert("Do you wish to continue?", "Yes", "No");

if (answer == 2) closeWidget();

escape()URL로 사용하기 위해 문자열을 인코딩 합니다

구문

escape(string)

인수

String URL로사용하기위한문자열

반환값

URL로사용하기에적합하지않은문자들이인코딩된문자열

설명

사용자들이참조하는정보를URL을사용하여수집하려고할때유용합니다.URL처리기(handler)에그것들을넘기기전에여러분이직접문자열을검증해야하는수고를아낄수있습니다.

보기

// The single quote, spaces and ampersand will be // replaced with URL escape characters mySearch = "Konfabulator's FAQ & JavaScript Reference"; openURL("google.com/search?q=" + escape(mySearch);

Page 165: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Global Functions WIDGET ENGINE 3.1 REFERENCE | 1��

추가 참조

unescape()

focusWidget()위젯을 전면으로 보냅니다

구문

focusWidget()

설명

위젯을전면으로보냅니다.단축키(hotkey)에대응할때에유용합니다.

사용자가요청하지않았음에도위젯이전면으로오는경우에는사용자를귀찮게하여사용자가그위젯을제거해버릴수도있습니다.

보기

<hotkey name="hkey1"> <key>F2</key> <modifier>command+control</modifier> <onKeyUp>focusWidget();</onKeyUp> </hotkey>

form()대화창을 사용하여 사용자의 입력을 받기 위해서 환경설정창과 같은 모양의 창을 생성

구문

form(fieldArray, [dialogTitle], [confirmButtonLabel], [cancelButtonLabel])

설명

form()은네개의인수를취하는데,그첫번째는FormFiled배열입니다(이것은XML에정의된환경설정(preference)객체들과같은동일한인수들을가집니다).형식필드(formfiled)줄은사용자에게표시되는대화창을정의하는데이용됩니다.사용자가“확인”버튼을누르면form()함수는폼에서입력된문자열배열을리턴합니다.(“취소”버튼을누르면null값이리턴됩니다.).나머지인수들은순서대로,대화창의제목,“확인”버튼을위한라벨및“취소”버튼을위한라벨등입니다.마지막세개의인수들은선택사항입니다.

보기

varformfields=Array();

Page 166: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

formfields[0]=newFormField(); formfields[0].name='name1'; formfields[0].type='text'; formfields[0].title='TextPrefTitle'; formfields[0].defaultValue=20; formfields[0].description='Thisisadescriptionofatextfield.';

formfields[1]=newFormField(); formfields[1].title='BasicField';

formfields[3]=newFormField(); formfields[3].name='name4'; formfields[3].title=CheckboxPrefTitle'; formfields[3].type='checkbox'; formfields[3].defaultValue=1; formfields[3].description='Thisisadescriptionofacheckboxfield.';

formResults=form(formfields,'mytitle','SaveItAndContinue');

if (formResults != null) { print("formResults = " + formResults); } else { print("form was cancelled"); }

include()다른 자바스크립트 파일의 내용을 포함시킵니다

구문

include(string)

설명

스크립트내현재지점에서지정된파일의내용을포함시킵니다.내부에선예전스타일과같은방식으로실행됩니다:

eval(runCommand("catonload.js"));

단하나의차이점은에러메시지들이정확한파일명및줄번호들을가진다는점입니다.

보기

include("onload.js");

Page 167: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Global Functions WIDGET ENGINE 3.1 REFERENCE | 1��

isApplicationRunning()확인하려고 하는 어플리케이션이 실행 중일 때는 true 값을 보냅니다

구문

isApplicationRunning(string)

설명

어떤어플리케이션이현재실행중인지확인하는데에이함수를이용할수있습니다.이것은Mac상에서애플스크립트를소환한다거나윈도우상에서COM을소환한다든지하기전에유용하게쓰이는경우가자주있습니다.여러분이관심을가지는어플리케이션의이름을전달하면되는데,이때전체경로를입력할필요는없습니다.

보기

// On Mac if ( isApplicationRunning( "iTunes" ) ) // OnWindows if ( isApplicationRunning( "itunes.exe" ) )

플랫폼 주의 사항

이것은플랫폼에대한정확한이름을이용해야하는영역이라는것을주목하십시오.위에서나타난것과같이,윈도우상에서는“iTunes.exe”를사용할수도있겠지만,매킨토쉬에서는어플리케이션이름인수에대해서그냥“itunes”를사용하면될것입니다.

사용 버전

2.0이후버전에서사용가능합니다.

konfabulatorVersion()위젯 엔진의 현재 버전을 문자열로 리턴합니다

구문

konfabulatorVersion()

설명

이함수를정보의목적으로이용하거나,혹은여러분의코드가다양한버전의위젯엔진상에서작동하는방식을조절하는데에이용할수있습니다.

보기

print( "This version is " + konfabulatorVersion() );

Page 168: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

log()디버그 창에서 타임 스탬프 (time stamp) 와 함께 문자열을 표시합니다

구문

log(string)

설명

디버깅에종종사용됩니다.출력결과를보기위해서는위젯의XML에서다음과같이지정해야합니다:

<debug>on</debug>

보기

log("idx = " + idx);

openURL()기본 설정된 웹 브라우저에서 지정된 URL을 엽니다

구문

openURL(validURL)

설명

URL을시작하기위하여이함수를이용할경우,사용자의인터넷시스템환경설정(preferences)에서설정된어플리케이션을이용하여그URL이열리게만들것입니다.그인수가잘구성된URL인경우에는이함수가true값을보낼것이며,그렇지않을경우에는false값을낼것입니다.잘구성된URL이라고하더라도존재하지않는리소스(resource)를지목함으로써,여러분의브라우저는여전히문제를보고하고있음에도위젯엔진이true값을낼수도있음을기억하십시오.

보기

openURL("http://widgets.yahoo.com"); openURL("ftp://myname:[email protected]");

See Also

escape(), unescape(), URL.fetch()

play()음원 파일을 실행합니다

구문

play(pathToSound[, truncate])

Page 169: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Global Functions WIDGET ENGINE 3.1 REFERENCE | 1��

설명

지원되는포맷들로는MP3,AIFF,AU,WAV및SND등이있습니다.이호출은즉시리턴되며비동기로연주됩니다.pathToSound는반드시사용자의하드드라이브혹은위젯의번들내부어딘가에존재하는유효한음원파일을지정해야합니다.선택가능한두번째Boolean인수는새로운음원이현재연주중인음원을중단시켜야할지를지정합니다.

보기

play("sounds/sample.mp3");

play("sounds/bark.aiff", true);

popupMenu()지정된 위치에서 팝업 메뉴를 표시합니다

구문

popupMenu( menuItems, x, y );

설명

이함수는여러분으로하여금지정된위치에서팝업메뉴를표시할수있게해줍니다.첫번째인수에서컨텍스트menuItem객체배열을전달할수있습니다.x및y좌표들은좌표창을통해서입력됩니다.

마우스다운(mousedown)이벤트를다루는동안에만이함수를호출해야합니다.

보기

// put up a popup menu where the mouse is <onMouseDown> var items = new Array; items[0] = new MenuItem; items[0].title = "This is item 1"; items[0].enabled = true; items[1] = new MenuItem; items[1].title = "this is item 2"; items[1].enabled = true; popupMenu( items, system.event.hOffset, system.event.vOffset ); </onMouseDown>

사용 버전

2.1이후버전에서사용가능합니다.

Page 170: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�0 | WIDGET ENGINE 3.1 REFERENCE

print()디버그 창에 문자열을 출력합니다

구문

print(string)

설명

디버깅에종종사용됩니다.출력결과를보기위해서는위젯의XML에다음을지정해야한다는것을기억하십시오:

<debug>on</debug>

보기

print("idx = " + idx);

prompt()사용자 입력을 위한 텍스트 입력 필드

구문

prompt(<promptText>, [defaultValue], [dialogTitle], [confirmButtonLabel], [cancelButtonLabel])

인수

promptText 사용자에게표시되는프롬프트

defaultValue 텍스트필드에이미들어가있는값(및사용자가아무것도변경하지않을경우복귀될값).

dialogTitle 대화창에사용될제목

confirmButtonLabel 대화창에대한사용자의변경사항을확인하는버튼을위한라벨

cancelButtonLabel 대화창을취소하는버튼을위한라벨

설명

사용자로부터문자열을입력받을때이용됩니다.이것은form()에서발견되는일련의하위함수들로써,코딩을용이하게만들기위하여제공되는것입니다.사용자가이대화창을취소하면null이돌아온다는사실을기억하십시오.

보기

result = prompt("Name:", "Your Name","Name Dialog", "OK", "Cancel");

Page 171: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Global Functions WIDGET ENGINE 3.1 REFERENCE | 1�1

if (!result) result = "no name";

random()무작위 숫자를 생성합니다

구문

random([lower_limit, upper_limit])

설명

무작위숫자를생성하며,경우에따라선택적으로주어진범위내에서숫자를생성하기도합니다.상위한계값은그런일이없지만,하위한계값은리턴값들에포함될수도있습니다.

보기

// This will return a random number between 0 and 64K number = random(); // This will return a random number between 0 and 100 percentage = random(100); // This will return a random number between 27 and 72 number = random(27,72);

reloadWidget()위젯으로 하여금 스스로를 다시 로드 하게 합니다

구문

reloadWidget()

설명

때때로위젯을다시시작시키는것이필요할때가있습니다.이함수를호출하게되면사용자가기어메뉴에서위젯을선택하는동안Commnad키를누르고있는것과동일한결과를낳을수있습니다.

추가 참조

closeWidget(), focusWidget()

Page 172: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

resolvePath()파일 시스템 파일 경로를 정규화 시킵니다

구문

resolvePath(pathToFile)

설명

이함수는주어진경로내에서다음과같은변경을초래합니다:

• Expand an initial tilde expression (e.g. ~/Pictures) to the correct directory (e.g. /Users/joe)

• Reduce empty components and references to the current directory (that is, the sequences "//" and "/./") to single path separators.

• In absolute paths only, resolve references to the parent directory (that is, the component "..") to the real parent directory if possible, which consults the file system to resolve each potential symbolic link.

• In relative paths, because symbolic links can't be resolved, references to the parent directory are left in place.

• Remove an initial component of /private from the path if the result still indicates an existing file or directory (checked by consulting the file system).

• If the path is an HFS+ alias, the file name that is the target of the alias is returned (note that this only works for the final path element, aliases embedded in paths will not be resolved and may have to be handled specially if expected).

• If the given path is ".", it is expanded to the fully qualified path of the current directory.

보기

realPath = resolvePath(myPath);

resumeUpdates()위젯으로 하여금 시각적인 업데이트를 동적으로 실시 하게 합니다

구문

resumeUpdates()

설명

자바스크립트코드는위젯창에서모든객체들의구성에영향을미칠수있습니다.위젯이복잡할경우에는이변화들을개별적으로나타내는것이상당히비효율적일수있습니다(또한외관상매력적이지않을가능성이높습니다).suppressUpdate()및resumeUpdate()을사용해위젯의시각적인코드들을제어함으로써위젯저자는사용자들이보게되는것들을조절할수있습니다.

Page 173: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Global Functions WIDGET ENGINE 3.1 REFERENCE | 1�3

See Also

suppressUpdates(), updateNow()

runCommand()쉘 명령(shell command)을 실행하여 결과를 되돌립니다

구문

runCommand(string)

설명

이함수는운영시스템의UNIX수준에있는어떤명령이실행되게하여그결과가문자열변수로저장되게합니다.사용자가권한을가지는명령들만이실행될수있음을기억하십시오.

결과의마지막문자가새줄(newline)일경우,이것은제거됩니다.

보기

str = runCommand("ls -l /"); print(str);

runCommandInBg()백그라운드에서 쉘 명령 (shell command)을 실행합니다

구문

runCommandInBg(string, tag)

설명

이것은하나의UNIX명령및한개의태그를취하여백그라운드에서명령을실행하며(즉,명령이완료되기를기다리지않음),명령이완료되면onRunCommandInBgComplete라는전역이벤트를발생시켜태그변수값을명령의결과로설정합니다(system.event.data의값이태그의이름으로설정됩니다).명령이끝나는순서는명령이시작된순서와는무관할수있습니다.

system.event.data의값은백그라운드명령이완료될때마다변할수있으며,또한여러분이백그라운드에서한번에복수의명령들을내릴경우이것이어떤동작중간에발생할수도있음을기억해야합니다.예상치못한결과를피하기위해서는onRunCommandInBgComplete시작시점에그값을저장해야합니다.태그는데이터를수신할변수의이름을지정하는것이지변수그자체를지정하는것이아니라는것역시주의해야합니다.

Page 174: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

보기

<action trigger="onLoad"> var yahooData; runCommandInBg("curl www.yahoo.com", "yahooData"); </action>

<action trigger="onRunCommandInBgComplete"> print("onRunCommandInBgComplete for tag: " + system.event.data); print("Yahoo's home page is " + yahooData.length + " bytes"); </action>

saveAs()표준 saveAs 대화창을 표시합니다

구문

string=saveAs([string|array])

설명

때때로사용자에게파일을어디에저장할지물어보는것이유용할수있습니다.이함수는여러분으로하여금사용자에게저장대상폴더를선택할수있도록표준대화창을나타내줍니다.Thepathtothefolderwillbereturned.Iftheusercancelledthedialogbox,nullisreturned.

This function takes an optional string or array of strings as a parameter. This parameter sets the possible extensions that can be saved, similar to chooseFile().

보기

destination = saveAs(); if ( destination != null ) saveFileTo( destination ); destination=saveAs(newArray(".png",".jpg")); if ( destination != null ) saveFileTo( destination );

사용 버전

2.0이후버전에서사용가능합니다.

Page 175: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Global Functions WIDGET ENGINE 3.1 REFERENCE | 1��

savePreferences()위젯의 환경 설정값(preferences)을 저장합니다.

구문

savePreferences()

설명

일반적으로위젯의환경설정들은사용자들이위젯환경설정(Preferences)판넬을이용하여그내용을편집하거나,위젯을빠져나갈때마다자동적으로저장됩니다.어떤위젯이자바스크립트에서환경설정값을조작하고있다면,이함수를호출함으로써일정한시간간격으로디스크에확실하게저장할수있습니다.

showWidgetPreferences()위젯의 환경 설정 (preferences) 판넬을 엽니다

구문

showWidgetPreferences()

설명

이것은사용자가콘텍스트메뉴에서WidgetPreferences를선택한것과마찬가지로위젯환경설정판넬을열어줍니다.이것은위젯의전면에환경설정버튼을제공하거나,위젯이처음으로실행되어초기환경설정내용을입력할때유용하게이용됩니다.

sleep()스크립트의 실행을 중지합니다

구문

sleep(number)

설명

지정된밀리초(1000분의1초)의수에대하여위젯코드의실행을중지시킵니다.

보기

// pause script for one second sleep(1000);

Page 176: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

speak()텍스트를 읽습니다

구문

speak(string)

설명

이함수는컴퓨터의기본설정목소리로주어진텍스트를읽습니다(기본설정목소리는시스템환경설정에서대화판넬(Speechpanel)을이용하여설정할수있습니다).

보기

speak("Now there's something you don't see everyday."); speak("Unless you're me.");

suppressUpdates()위젯의 시각적인 갱신을 대기하게 만듭니다

구문

suppressUpdates()

설명

resumeUpdates()에해당되는호출이나올때까지스크린업데이트를억제합니다.혹은,updateNow()를이용해서업데이트를수동으로실시할수도있습니다.업데이트를억제하는것은성능을향상시키거나위젯사용자에게번잡한중간상황을숨길수가있습니다.

추가 참조

resumeUpdates(), updateNow()

tellWidget()다른 위젯에 메시지를 보냅니다

구문

tellWidget(nameOrPath, message);

설명

위젯간메시지를보내는데에tellWidget을이용할수있습니다.이것을성공적으로이용하기위해서는여러분이메시지를보내려는위젯에반드시onTellWidget조종기가있어야합니다.메시지는system.event.data에서전달됩니다.어떤것을수용가능한메시지로할지는전적으로위젯의저자에게달려있습니다.가장

Page 177: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Global Functions WIDGET ENGINE 3.1 REFERENCE | 1��

단순한형식으로는자바스크립트eval()함수를호출하는것입니다.그렇지만이것을이용할경우,해당자바스크립트가어떻게작동할지전혀알수가없기때문에그다지안전하다고볼수가없습니다.그러므로위젯저자들은이것과같은메시지보내기를통하여자신들이지원하는특별한용어들을생각해내고자할수있습니다.예를들어,어떤웹캠(webcam)은자신이지원하는활동으로써‘재로드(reload)”를지원할수도있습니다.

<action trigger="onTellWidget"> if ( system.event.data == "reload" ) reloadCamPicture(); </action>

우리의PIM개요위젯에서는다음과같은구조를설정하였습니다:

msg = action ":" params params = (param) (";" param)* param = name "=" value

“action”,“name”,및“value”는단순한문자열입니다.값들은따옴표안에들어갈수도있을것입니다.

여러분은메시지를위젯의이름에보내거나(위젯이실행중이거나아니면사용자의위젯폴더내에존재하는경우),혹은위젯에대한경로로보낼수있다는것을알게될것입니다.또한현재이것은일방통행의메시지입니다.추후의버전들에서는답을할수있는반응이가능하게될것입니다.

이것은Mac의애플스크립트및윈도우의COM상에서실행됩니다.즉,어떤위젯에메시지를보내기위해서는Mac의경우애플스크립트로스크립트를쓸수있으며,윈도우에서는자바스크립트나VB등을사용할수있다는뜻입니다.

사용 버전

2.0이후버전에서사용가능합니다.

플랫폼 주의 사항

현재윈도우에서는위젯을찾을수있는경우에만위젯을시작시킬수있습니다.Mac에서는위젯이실행되고있지않다면정확한전체경로명을입력하는경우에만위젯이시작될수있습니다.장래에는이것을보다정확하게조절하는Boolean인수가나올것입니다.

보안 특기 사항

입력메시지를항상이중체크해야하며,메시지를단순히eval()해서는안됩니다.

Page 178: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

unescape()URL 문자열을 decode합니다

구문

unescape(string)

설명

이것은escape()의반대입니다.

보기

encURL = escape(url);

url = unescape(encURL);

updateNow()강제로 시각적인 업데이트를 실행합니다

구문

updateNow()

설명

suppressUpdates()를억제하고필요한대로updateNow()를호출함으로써위젯저자는자신의위젯이어떻게표시될지를완벽하게통제할수있습니다.스크린이위젯의실제상태를반영하지못해서실패할수도있습니다.

보기

updateNow();

추가 참조

resumeUpdates(), suppressUpdates()

yahooCheckLogin()위젯이 현재 로그인 되어 있는지 확인합니다

구문

boolean yahooCheckLogin()

설명

이함수는사용자가현재야후!계정에로그인되어있는지여부를볼때이용될수있습니다.이함수가true로복귀되면로그인된상태이며,false로복귀되면로그인되지않은상태라는것을충분히짐작할수있을것입니다.로그인을요구하는

Page 179: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Global Functions WIDGET ENGINE 3.1 REFERENCE | 1��

야후!API들을여러분이성공적으로이용할수있을지를예측하는데에이것을사용할수있습니다.

보기

var loggedIn = yahooCheckLogin();

추가 참조

yahooLogin(), yahooLogout()

사용 버전

3.0이후버전에서사용가능합니다.

yahooLogin()필요한 경우 사용자가 로그인하여 인증 받도록 합니다

구문

boolean yahooLogin()

설명

이함수는여러분이사용자로그인을요구하는웹API들을이용하는경우사용자의야후!계정으로로그인하는데에이용될수있습니다.yahooCheckLogin()이false로나올경우,보통이함수를호출할것입니다.이함수가사용자에게자신의사용자이름과패스워드를요구할때표준야후!위젯엔진로그인대화창이표시될것입니다.

이호출은일반적으로비동기로작동합니다.사용자가이미로그인상태에있다면yahooLogin()이바로true를돌려보내어여러분은할일이따로없습니다.yahooLogin()이false를내보내면,사용자는자격인증을받아야합니다.이것은여러분의위젯이따로할일이없이자동적으로실시됩니다.사용자가마침내자격인증을받으면여러분은onYahooLoginChanged이벤트를통하여통지를받게될것입니다.거기에서여러분은사용자가현재로그인되어있는지확인하기위하여yahooCheckLogin()을호출할수있습니다.

일반적으로여러분이로그인이되지않은경우에는사용자로그인을요구하는API들을가지고무엇을하려고시도하기전에,여러분의위젯들이시작될때onYahooLoginChanged이벤트를항상기다려야합니다.

Page 180: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�0 | WIDGET ENGINE 3.1 REFERENCE

보기

var loggedIn = yahooCheckLogin(); if ( !loggedIn ) yahooLogin(); // go about our business while the user authenticates. // In your XML: <action trigger="onYahooLoginChanged"> if ( yahooCheckLogin() ) RefreshInformation(); else LoggedOut(); </action>

onYahooLoginChanged이벤트에서는우리가로그아웃하는경우에대해서도다루어야함을주목하십시오.이것이발생할경우,여러분은여러분의디스플레이를정리하고사용자에게다시로그인할수있는방법을나타낼필요가있을것입니다.예상치못한때에로그아웃이되는경우도있기때문에이런상황을다루는것에대해서도반드시대비해두어야합니다.

사용 버전

3.0이후버전에서사용가능합니다.

추가 참조

yahooCheckLogin(), yahooLogout()

사용 버전

3.0이후버전에서사용가능합니다.

yahooLogout()사용자의 야후! 계정에서 로그 아웃 합니다

구문

yahooLogout()

설명

이함수는위젯엔진이사용자의야후!계정에서로그아웃할것을요청합니다.그요청이대기상태에있더라도즉시반환됩니다.로그아웃이완료되면모든위젯들은YahooLoginChanged이벤트를수신하고yahooCheckLogin은false를돌려보냅니다.사용자가이미로그아웃한경우위젯이이상황을다룰수있도록반드시준비되어있어야합니다.이전에유효한자격정보의유효기간이지난경우이런사례가발생할수있기때문에로그아웃을다룰수있는준비가항상갖추어져있어야합니다.또한이호출은야후!API들을이용하기위해서사용자의야후!자격

Page 181: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

COM WIDGET ENGINE 3.1 REFERENCE | 1�1

정보를요구하는모든위젯들에영향을줄수있다는사실을염두에두어야합니다.이것이현재의위젯에만영향을끼치는것은아닙니다.

보기

yahooLogout(); // go about our business while the logout occurs. // In your XML: <action trigger="onYahooLoginChanged"> if ( yahooCheckLogin() ) RefreshInformation(); else LoggedOut(); </action>

사용 버전

3.0이후버전에서사용가능합니다.

추가 참조

yahooCheckLogin(), yahooLogout()

사용 버전

3.0이후버전에서사용가능합니다.

Page 182: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

시스템 속성 및 함수들

이것들은다양한시스템설정들및하드웨어정보에자바스크립트가접근할수있게해줍니다.

COM윈도우 상에서 COM 인터페이스를 호출하는 함수

함수들

createObject connectObject disconnectObject

설명

COM객체는여러분의위젯이시스템내의COM인터페이스를호출할수있게해주는인터페이스입니다.예를들어,여러분은iTunes(우리가지원하는내장형어플리케이션을이용하지않는경우),MSN메신저,Outlook,등과교신하는데에이것을사용할수있습니다.

여러분은COM.createObject(progID|CLSID)를이용하여어떠한COM객체에도연결할수있습니다.COM인터페이스는충분한유형(type)정보가공급되도록해야합니다.현재메소드에대한lazy바인딩을지원하지않습니다.그래서모든유형정보들이시작전에제공되어야합니다.(즉,ITypeInfo인터페이스는적절한정보를리턴해야합니다.그러므로인수의수나유형등과같은정보를얻기위해서내부검사를해야합니다).

보기

varit=COM.createObject("iTunes.Application"); track = it.CurrentTrack; print( track.Album ); print( track.Artist );

아래에는MSN메신저에서나온어떤정보를인쇄하는또다른보기가있습니다:

messenger=COM.createObject("Messenger.UIAutomation"); contacts = messenger.MyContacts; num = contacts.Count; for ( i = 0; i < num; i++ ) { contact = contacts.Item( i ); print( " " + contact.FriendlyName + " " + contact.Status ); }

이코드는MSN메신저에로그인되어있는경우에만작동합니다.접속상태와같은

Page 183: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

COM WIDGET ENGINE 3.1 REFERENCE | 1�3

것들은웹,MSDN,등을통해서찾아볼수있습니다.

‘eventsink’를이용하는것도가능합니다.이것은그정보에대해서폴링해야하는것과는대조적으로,변화가생길때마다(친구상태,등)어플리케이션이여러분에게그것을알리도록만들수있습니다.COM.connectObject는위젯엔진에게여러분이어떤객체의이벤트들에관해서정보를받기원한다는것을알려줍니다.COM.disconnectObject는여러분이그러한이벤트들에대하여정보를받고싶어하지않는다는것을알려줍니다.여러분이그작업을마치면언제나sink와의연결을끊어야합니다.

마지막으로,객체참조에대해서주목해야합니다.여러분이어떤인터페이스와관계가끊어졌음을여러분이알게될때마다참조를null로해제하는것을확실히해야합니다.이것은COM이작업을위해서참조카운팅을필요로하는데,자바스크립트의garbagecollection이이것을약간혼란시킬수도있기때문입니다.이러한이유로,여러분이인터페이스와의작업이끝났을때는획득했던인터페이스에대한참조들을(COM객체들)항상깨끗하게치우는것이좋습니다.이것은필수적인의무사항은아니지만그렇게하는편이스스로더개운할것입니다.

사용 버전

COM지원은버전2.0부터사용가능합니다.

COM.connectObject객체의 이벤트를 받기 위하여 이벤트 싱크 (event sink)에 연결합니다

구문

COM.connectObject(object,prefix)

설명

이함수는이벤트들을받기위하여,COM인터페이스를이용해생성되거나다른식으로수신된객체에연결할수있게해줍니다.COM세계의많은객체들은여러분이받을수있는이벤트를가지고있습니다.예를들어,여러분은iTunes어플리케이션객체에연결할수가있는데,이때이객체는여러분에게그플레이어가시작하고멈추는시점및그어플리케이션이막중지되려고하는시점이언제인지를알려줍니다.

여러분이전달하는객체는COM.createObject를통해서생성되었거나여러분이생성한COM객체에대한호출을통하여얻은것이어야합니다(예,여러분이iTunes로부터어떤트랙을수신한경우,그것에이벤트인터페이스가있는한여러분은그iTunes트랙을이용할수있습니다).

두번째인수에있어서,여러분은어떤이벤트가발생할때호출될함수에대하여함수명접두사를넘겨줍니다.예를들어,iTunesCOM인터페이스는플레이어가어떤트랙을돌리기시작할때“OnPlayerEvent”를송신하고,연주가시작된트랙을그것에넘겨줍니다.함수명접두사는우리가호출가능한함수를발견할수있게도와줍니다.이벤트가발생할때는<prefix>OnPlayEvent()라고불리는함수를불러오려고시도할것입니다.다음의사례는이벤트를받는방식을보여줍니다.

Page 184: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

보기

variTunesObj=COM.createObject("iTunes.Application"); COM.connectObject(iTunesObj,"iTunes_"); function iTunes_OnPlayerPlayEvent( track ) { print( "Started to play " + track.Name ); }

이함수는iTunes_OnPlayerEvent로불리며,이것은우리가지정한함수명접두사와,소환된COM방식이름이조합된것입니다.또한우리는그트랙을대표하는다른COM객체인수를넘겨받았음을기억해야합니다.거기로부터우리는그Name특성을참조할수있게됩니다.

여러분이어떤객체와의작업을끝내고그이벤트들을다들었다면,disconnectObject를호출하는데에주의를기울여야합니다.

객체마다한번에단하나의이벤트싱크만이존재합니다.

주의 사항

이함수가잘연결될수없다면이것은예외를발생합니다.이것은try/catch내에서호출할것을권장합니다.

사용 버전

2.0이후버전에서사용가능합니다.

COM.createObjectProgID 혹은 CLSID 를 통해서 COM 객체를 생성합니다

구문

COM.createObject(progID|CLSID)

설명

이것은여러분이COM라는도전에서쉽게이길수있는첫걸음이됩니다.여기에서의기술은여러분이호출할수있는인터페이스가무엇인지찾아내는것입니다.안타깝게도,COM브라우저에서간단하게이것을파악할수있는방법은없고,단지시행착오를통해서알아내는수밖에없습니다.웹을통해서약간의정보를얻을수는있습니다(“automation”“COM”및여러분이선호하는어플리케이션과같은것들을탐색한다면약간의정보를얻을수있을것입니다).여러분은또한ProgID들을찾는데에regedit을이용할수도있습니다.그렇지만실제로VisualStudio에서제공하는COM브라우저가최상의길이될것입니다(또한여러분이이미VisualStudio를가지고있다면가장저렴한방법이기도할것입니다).

Page 185: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

filesystem WIDGET ENGINE 3.1 REFERENCE | 1��

보기

variTunesObj=COM.createObject("iTunes.Application");

사용 버전

2.0이후버전에서사용가능합니다.

COM.disconnectObject이전에 connectObject로 확립된 이벤트 싱크 (event sink)를 분리합니다

구문

COM.disconnectObject(object)

설명

connectObject에대한호출을가지고생성된이벤트싱크를다이용했다면연결을끊기위하여이함수를불러내어야합니다.어떤어플리케이션의특별한작성방식으로인하여COM객체를해제하기전에여러분이이함수를실행하는것이중요해지는경우가종종있습니다.

보기

COM.disconnectObject(iTunesObj);

사용 버전

2.0이후버전에서사용가능합니다.

Page 186: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

filesystem 파일 시스템으로부터 정보를 얻으며 또한 상호 작용합니다

구문

filesystem

설명

filesystem객체는위젯이실행되는시스템의중요한파일들과디렉토리들에접근할수있게해줍니다.개별함수및속성에대한상세내용은아래를참조하십시오.

버전3.1과이후버전에서는C:\WINDOWS(혹은여러분의윈도우)내부에대한어떤변경시도도윈도우엔진이허용하지않을것임을기억하십시오.Mac버전은파일권한에맞게이함수들이작동합니다.

속성들

volumes

함수들

copy()

emptyRecycleBin()/emptyTrash() getDirectoryContents() getDisplayName() getFileInfo() getRecycleBinInfo()/getTrashInfo() isDirectory() itemExists() move() moveToRecycleBin()/moveToTrash() open() openRecycleBin()/openTrash() readFile() reveal() writeFile()

사용 버전

파일시스템은버전1.8부터사용가능합니다.

filesystem.copy()지정된 위치에 파일이나 파일들을 복사합니다

구문

filesystem.copy(path,destination);

Page 187: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

filesystem WIDGET ENGINE 3.1 REFERENCE | 1��

설명

이함수는지정된위치에파일이나파일들을복사할수있게해줍니다.소스(source)는하나의단일경로이거나경로들의배열이어야합니다.

만일하나의파일을복사하려고한다면목적지는존재하지않아도됩니다.이경우목적지는그파일에대한새로운파일이름으로간주됩니다.목적지가있는경우새로운파일을복사할디렉토리를지정하는것으로가정됩니다.

여러개의파일들을복사할경우목적지는존재하는디렉토리이어야합니다.

이함수가성공할경우true값이나오고실패할경우false값이나올것입니다.

보기

//tocopyafiletoafolder filesystem.copy("myfile.txt","/Users/evoas"); //toduplicateafile filesystem.copy("myfile.txt","myfile_copy.txt");

사용 버전

2.0이후버전에서사용가능합니다.

filesystem.emptyRecycleBin() filesystem.emptyTrash()시스템 휴지통을 비웁니다

구문

filesystem.emptyRecycleBin() filesystem.emptyTrash()

설명

이함수는단순히쓰레기통/휴지통을비우는것입니다.사용자가경고창등과같은것을볼수있도록설정해두었다면이것이자동적으로나올것입니다.

이함수는두개의이름을가지고있어서윈도우와MacOSX각각의플랫폼상에서다른용어로불립니다.

보기

fileystem.emptyTrash();

사용 버전

2.0이후버전에서사용가능합니다.

Page 188: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

filesystem.getDirectoryContents()디렉토리 내에서 파일의 이름들을 얻습니다

구문

array=filesystem.getDirectoryContents(directory, recurse)

설명

지정된디렉토리내파일들의이름을불러내며,선택적으로각하위디렉토리내파일명도불러올수있습니다.

보기

fileList=filesystem.getDirectoryContents(path,false);

작동 특기 사항

버전2.0의경우,이버전은Mac과윈도우에서똑같이작동합니다.지금은이것이전체경로가아니라여러분이전달한디렉토리에근거를둔이름들의배열을항상내보내지만,전에윈도우같은경우는여러분이전체경로를전달할때만전체경로를내보내었습니다.

사용 버전

1.8이후버전에서사용가능합니다.

filesystem.getDisplayName()사용자에게 편리한 파일명을 내 보냅니다

구문

filesystem.getDisplayName(path)

설명

이함수는파일경로에대한디스플레이이름을내보냅니다.디스플레이이름은기본적으로파인더나익스플로에서보게되는것을말합니다.예를들어,어떤파일의확장자명이숨겨진것으로여겨진다면,이함수가그것을제거할것입니다.근본적으로여러분이운영시스템에서보게되는파일경로에대한동일한이름을출력할수있게보장해줍니다.

보기

print(filesystem.getDisplayName("C:\"));

사용 버전

2.0이후버전에서사용가능합니다.

Page 189: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

filesystem WIDGET ENGINE 3.1 REFERENCE | 1��

filesystem.getFileInfo()파일이나 디렉토리에 관한 정보를 보냅니다

구문

filesytem.getFileInfo( path )

설명

이함수는시스템에넘겨지는파일이나디렉토리를설명하는작은객체들을리턴시킵니다.이객체는다음과같은속성들을지닙니다:

size isDirectory isHidden lastModified

isDirectory함수는파일트리를탐색하는데필요한파일시스템동작의수를절약하기위한정보를제공합니다.

보기

info=filesystem.getFileInfo("myfile.txt");

print("myfileis"+bytesToUIString(info.size)+"insize");

사용 버전

2.0이후버전에서사용가능합니다.

filesystem.getRecycleBinInfo() filesystem.getTrashInfo()삭제되었지만 아직 완전히 제거되지는 않은 파일들에 대한 정보를 얻습니다

구문

filesystem.getRecycleBinInfo() filesystem.getTrashInfo()

설명

사용자의쓰레기통이나휴지통안에존재하는파일의수및전체용량을불러냅니다.두가지요소,즉numItems및size를가진객체가리턴됩니다.

이함수는두개의이름을가지고있어서윈도우와MacOSX각각의플랫폼상에서다른용어로불립니다.

Page 190: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�0 | WIDGET ENGINE 3.1 REFERENCE

보기

mytrash=filesystem.getRecycleBinInfo(); mesg = myTrash.numItems + " items (" + myTrash.size + " bytes)";

사용 버전

1.8이후버전에서사용가능합니다.

filesystem.isDirectory()주어진 경로가 디렉토리인지 여부를 판단합니다

구문

filesystem.isDirectory(path)

설명

주어진경로가디렉토리이면true,그렇지않으면false값이나옵니다.

보기

isDir=filesystem.isDirectory(path);

사용 버전

1.8이후버전에서사용가능합니다.

filesystem.itemExists()주어진 경로가 존재하는 지 여부를 판단합니다

구문

filesystem.itemExists(path)

설명

주어진경로가존재하는경우(파일이나디렉토리가존재하는경우)true값이나오고그렇지않은경우false값이나옵니다.

보기

exists=filesystem.itemExists(path);

사용 버전

1.8이후버전에서사용가능합니다.

Page 191: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

filesystem WIDGET ENGINE 3.1 REFERENCE | 1�1

fileystem.move()어떤 지역에 파일이나 파일들을 이동시킵니다

구문

filesystem.move(path,destination);

설명

이함수는지정된장소에파일이나파일들을이동시킬수있게해줍니다.소스(Source)는단일경로나여러경로들의배열이될수도있습니다.목적지는존재하는디렉토리가되어야합니다.성공적으로이루어질경우이함수는true값을내고그렇지않을경우false값을냅니다.

Note that at present you cannot use this function to rename a file. In fact, there is no rename facility in the current release.

보기

filesystem.move("myfile.txt","/Users/evoas");

사용 버전

2.0이후버전에서사용가능합니다.

filesystem.moveToRecycleBin() filesystem.moveToTrash()항목들을 쓰레기통이나 휴지통으로 이동시킴으로써 삭제합니다

구문

filesystem.moveToRecycleBin(files) filesystem.moveToTrash(files)

설명

Sends the specified file or files (provide an array of Strings to delete multiple files at a time).

The function has two names to reflect the different terms used on the two platforms, Windows and Mac OS X.

보기

filesystem.moveToTrash(myTmpFile);

사용 버전

1.8이후버전에서사용가능합니다.

Page 192: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

filesystem.open()파일 유형/ 확장명에 근거하여 파일을 엽니다

구문

filesystem.open(path)

설명

정확한어플리케이션을가지고임의의파일을열때이함수를사용할수있습니다.예를들어,위젯파일경로를이함수에전달하면야후!위젯엔진에서위젯이열릴것입니다(즉,예상하는대로위젯이실행될것입니다).폴더를전달할경우파인더/익스플로러에서폴더를열것입니다).

보기

filesystem.open("PIMOverview.widget");

사용 버전

2.0이후버전에서사용가능합니다.

filesystem.openRecycleBin() filesystem.openTrash()쓰레기통/ 휴지통 폴더를 엽니다

구문

filesystem.openRecycleBin() filesystem.openTrash()

설명

이함수는쓰레기통이나휴지통아이콘위에더블클릭하는것에해당되는것입니다.이것은창을열어쓰레기통/휴지통속의내용을보여줍니다.

이함수는두개의이름을가지고있어서윈도우와MacOSX각각의플랫폼상에서다른용어로불립니다.

보기

filesytem.openTrash();

사용 버전

2.0이후버전에서사용가능합니다.

Page 193: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

filesystem WIDGET ENGINE 3.1 REFERENCE | 1�3

filesystem.readFile()일련의 문자변수나 배열에 텍스트 파일을 읽습니다

구문

filesystem.readFile(path[,asLines])

설명

이함수는한문자변수나문자변수배열에텍스트파일을읽어들이는데사용됩니다.선택적인두번째인수가true일경우,파일을읽어들인후텍스트줄로분해되어이줄들의배열로리턴됩니다.

위젯엔진은대부분의일반적인텍스트파일포맷들을읽어낼수있지만,UTF-16이나UTF-8인코딩에서가장잘작동합니다.

보기

vardata=filesystem.readFile("myfile.txt"); varlines=filesystem.readFile("myfile.txt",true);

사용 버전

2.0이후버전에서사용가능합니다.

filesystem.reveal()시스템 파일 브라우저가 콘텍스트 안의 항목을 표시하게 합니다

구문

filesystem.reveal(path)

설명

파일브라우저(윈도우의익스플로러,MacOSX의파인더)가지정된항목을포함하고있는디렉토리를표시하게합니다.이것은사용자에게파일시스템항목들을표시해주는데에유용합니다.

보기

filesystem.reveal(myPath);

사용 버전

1.8이후버전에서사용가능합니다.

Page 194: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

filesystem.volumes현재 탑재된 볼륨의 배열

설명

파일시스템객체의볼륨특성에는현재탑재된모든볼륨들의배열이포함되어있습니다.배열속의각항목은다음과같은속성들을지닌작은객체입니다:

path freeBytes totalBytes

You can use these in concert with functions like bytesToUIString or filesystem.getDisplayName.

보기

vols=filesystem.volumes; for ( a in vols ) { print( "Volume " + filesystem.getDisplayName(vols[a].path)+ " (path " + vols[a].path + ") has a capacity of " + bytesToUIString( vols[a].totalBytes ) + " and " + bytesToUIString( vols[a].freeBytes ) + " free." ); }

사용 버전

2.0이후버전에서사용가능합니다.

filesystem.writeFile()문자열이나 문자 파일에 대한 배열을 써냅니다

구문

filesystem.writeFile(path,string|array)

설명

주어진문자열이나문자열들의배열을파일로저장합니다.문자열이주어지는경우데이터는as-is로작성됩니다.배열이전달되는경우데이터는리턴문자“\n”로분리되어작성됩니다.현재,이함수는항상UTF-8로작성됩니다.

보기

filesystem.writeFile("myfile.txt",myData);

사용 버전

2.0이후버전에서사용가능합니다.

Page 195: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

screen WIDGET ENGINE 3.1 REFERENCE | 1��

screen 디스플레이에 관한 정보

속성들

availHeight availLeft availTop availWidth colorDepth height pixelDepth resolution width

구문

screen

설명

screen객체는현재의스크린에대한구성상태를설명하는다양한속성들을가지고있습니다(위젯의메인창디스플레이는대체로on상태입니다).개별속성들에대한상세한내용들을아래를참조하십시오.

보기

for (a in screen) print("screen." + a + ": " + eval("screen." + a));

screen.availHeight 스크린의 현재 유효한 높이

구문

screen.availHeight

설명

대부분의위젯창에적용되는수직방향의유효픽셀수.이값에는시스템메뉴바(menubar)나독(Dock)같은것들이차지하는공간은빠집니다.

보기

myWindow.vOffset = screen.availHeight - 30;

Page 196: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

screen.availLeft 스크린 상에서 유효한 가장 왼쪽의 위치

구문

screen.availLeft

설명

대부분의위젯창에적용되는스크린에서가능한가장왼쪽의위치로서,독(Dock)과같은시스템특징이차지하는부분은제외합니다.

보기

myWindow.hOffset = screen.availLeft + 30;

screen.availTop 스크린 상에서 가능한 가장 위쪽의 위치

구문

screen.availTop

설명

대부분의위젯창에적용되는스크린에서가능한가장위쪽의위치로서,메뉴바(menubar)와같은시스템특징은제외됩니다.

보기

myWindow.vOffset = screen.availTop + 10;

screen.availWidth 현재 가능한 스크린의 너비

구문

screen.availWidth

설명

대부분의위젯창에적용되는스크린에서수평방향으로유효한픽셀의수.이값에는독(Dock)과같은시스템특징들을제외됩니다.

보기

myWindow.width = screen.availWidth / 4;

Page 197: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

screen WIDGET ENGINE 3.1 REFERENCE | 1��

screen.colorDepth 현재의 스크린 색상 깊이

구문

screen.colorDepth

설명

대부분의위젯창에적용되는스크린상에서유효한픽셀당비트수.

보기

alert("Bits per pixel: " + screen.colorDepth);

screen.height 현재 스크린의 높이

구문

screen.height

설명

대부분의위젯창에적용되는스크린상에서수직방향으로유효한픽셀의수.일반적으로screen.availableHeight이좀더유용한정보를제공합니다.

보기

myWindow.vOffset = screen.availHeight - 30;

screen.pixelDepth 현재 스크린의 색상 밀도

구문

screen.pixelDepth

설명

대부분의위젯창에적용되는스크린상에서유효한픽셀당비트수.이것은screen.colorDepth과같은것으로서호환성을위해제공되는것입니다.

보기

alert("Bits per pixel: " + screen.pixelDepth);

Page 198: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

1�� | WIDGET ENGINE 3.1 REFERENCE

screen.resolution 현재의 스크린 해상도

구문

screen.resolution

설명

대부분의위젯창에적용되는스크린의인치당도트수(dpi)로나타낸raster해상도.

보기

alert("Screen resolution: " + screen.resolution);

screen.width 현재 스크린의 너비

구문

screen.width

설명

대부분의위젯창에적용되는스크린상에서수평방향으로유효한픽셀의수.일반적으로스크린의너비측정에는screen.availWidth가더낫습니다.

보기

myWindow.hOffset = screen.width - 80;

Page 199: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

system WIDGET ENGINE 3.1 REFERENCE | 1��

system기계 혹은 환경에 관한 정보

속성들

airport/wireless appearance battery clipboard cpu event languages memory mute platform volume widgetDataFolder userDocumentsFolder userDesktopFolder userPicturesFolder userMoviesFolder userMusicFolder userWidgetsFolder applicationsFolder temporaryFolder trashFolder

설명

시스템객체는여러분이이용하고있는기계나환경측면에관한것들에대한인터페이스입니다.예를들면,배터리나무선연결이존재하는경우,그것들의상태에관한정보를얻을수있습니다.

system.airport system.wirelessWiFi/AirPort 정보에 접근하기 위한 내장된 지원

속성들

available true if WiFi/AirPort is installed. info a summary of WiFi/AirPort status. network the name of the current network. noise the connection's noise level. powered true if WiFi/AirPort is powered on. signal the connection's signal level.

설명

설치된WiFi/AirPort카드의설정및상태는system.airport혹은system.

Page 200: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�00 | WIDGET ENGINE 3.1 REFERENCE

wireless객체를통해서확인해볼수있습니다.

WiFi/AirPort위젯은이객체를광범위한용도로사용할수있게합니다.

보기

if (system.airport.available && system.airport.powered) alert("Current network is " + system.airport.network);

if(system.wireless.available && system.wireless.powered) alert("Current network is "+ system.wireless.network);

system.airport.available system.wireless.availableWiFi/ AirPort (혹은 호환 가능한 무선 카드)가 설치되었는지 여부를 확인합니다

구문

system.airport.available system.wireless.available

설명

available특성은네트워크에연결할수있는무선장치의유효성에따라Boolean값true/false을복귀시킵니다.

보기

if (! system.airport.available) signal_status.src = "NoCard.png"; else signal_status.src = "Signal.png";

if (! system.wireless.available) signal_status.src = "NoCard.png"; else signal_status.src = "Signal.png";

추가 참조

system.airport.signal, system.wireless.signal

system.airport.info system.wireless.infoWiFi/ AirPort 상태의 요약

Page 201: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

system WIDGET ENGINE 3.1 REFERENCE | �01

구문

system.airport.info system.wireless.info

설명

WiFi/AirPort상태에관한간략한설명

Example

alert(system.airport.info); alert(system.wireless.info);

system.airport.network system.wireless.network현재 WiFi/ AirPort 네트워크의 이름을 내보냅니다

구문

system.airport.network system.wireless.network

설명

WiFi/AirPort네트워크가존재하는경우현재WiFi/AirPort네트워크의이름이이속성에포함됩니다.

보기

alert("AirPort network " + system.airport.network + " in use");

alert("WiFi network " + system.wireless.network + " in use");

system.airport.noise system.wireless.noise현재 WiFi/ AirPort 연결의 잡음 수준

구문

system.airport.noise system.wireless.noise

설명

이속성에는현재WiFi/AirPort연결상의잡음수준을가리키는수치상의값이포함됩니다.

Page 202: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�0� | WIDGET ENGINE 3.1 REFERENCE

이값은일반적으로신뢰할만한것이아닙니다.

보기

if (system.airport.noise > 20) status.src = "noisy.png";

if (system.wireless.noise > 20) status.src = "noisy.png";

윈도우 특기 사항

윈도우에서이속성은항상영(zero)입니다.

system.airport.powered system.wireless.poweredWiFi/ AirPort 카드가 on 상태인지 혹은 off 상태인지를 나타내는 Boolean

구문

system.airport.powered system.wireless.powered

설명

이boolean변수는현재WiFi/AirPort가켜져있는지아니면꺼져있는지를가리킵니다.다른WiFi/AirPort상태속성들에접근할지여부를결정할때이것을이용합니다.

보기

if (system.airport.available && system.airport.powered) alert("Current network is " + system.airport.network);

if(system.wireless.available && system.wireless.powered) alert("Current network is "+ system.wireless.network);

system.airport.signal system.wireless.signalreturn the signal strength of the current WiFi/AirPort connection

구문

system.airport.signal system.wireless.signal

Page 203: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

system WIDGET ENGINE 3.1 REFERENCE | �03

설명

WiFi/AirPort개체의signal속성은기기가연결된무선네트워크의신호강도와일치하는숫자값을돌려줍니다.

이번버전의위젯엔진에서는0~75범위를가지고,애플의신호강도와일치하지않는것을주의해야합니다.

보기

theStrength = system.airport.signal; if ( theStrength =&lt; 33 ) signalBars.src = "halfFull.png"

theStrength = system.wireless.signal; if ( theStrength =&lt; 50 ) signalBars.src = "halfFull.png"

system.appearance현재 시스템 외형

구문

system.appearance

설명

시스템의현재외형.MacOSX10.3에서는오직Bule혹은Graphite이될수있습니다.

여러분이현재의MacOSX외형에맞추고싶은이미지를여러분의위젯이이용하는경우,간단하게이변수를이용하여실행되고있는외형정보를얻어내어여러분의이미지소스파일을적절하게조정하십시오.

이것들은첫이니셜이대문자로입력되어야값이나오기때문에,“blue”나“graphite”으로쓰는대신“Blue”나“Graphite”등의문자로시험을해야합니다.

주의:이번위젯엔진에서는위젯이외형의변화를알려주는함수를지원하지않습니다.

윈도우에서는언제나Blue값이나옵니다.

보기

if (system.appearance == "Graphite") header.src = "graphiteHeader.png"; else header.src = "aquaHeader.png";

Page 204: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�0� | WIDGET ENGINE 3.1 REFERENCE

system.battery배터리 및 UPS 정보에 접근하기 위한 내장형 지원

구문

system.battery

설명

배터리의번호는0을기본으로하는배열입니다.단일배터리의랩톱컴퓨터는언제나battery[0]일것이지만,이중배터리를가진기계에서돌아가는경우에는주배터리베이(bay)가battery1로등록되고예비배터리베이(bay)는0으로등록됩니다.현재시스템에설치되어있는배터리들의수는system.batteryCount에서찾아볼수있습니다.

주의:이번위젯엔진제품에서는윈도우상에서오직한개의배터리만이지원됩니다(그러나이에관한정보는시스템내의모든배터리들에대한종합내용입니다).

system.battery[n].currentCapacity배터리의 충전

구문

system.battery[batteryNumber].currentCapacity

설명

Current percentage charge of the battery.

system.battery[n].isChargingcharging state

구문

system.battery[batteryNumber].isCharging

설명

현재의배터리충전퍼센트(i.e.itisatlessthat100%capacityandthesystemispluggedintoACpower).

system.battery[n].isPresent배터리가 장착 되었는지 여부

구문

system.battery[batteryNumber].isPresent

Page 205: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

system WIDGET ENGINE 3.1 REFERENCE | �0�

설명

배터리가물리적으로존재하는경우true값을보냅니다.

system.battery[n].maximumCapacity배터리의 최대 충전

구문

system.battery[batteryNumber].maximumCapacity

설명

배터리의최대충전용량(용량은퍼센트로표시되기때문에이값은언제나100입니다).

system.battery[n].name배터리의 이름

구문

system.battery[batteryNumber].name

설명

배터리의이름.

system.battery[n].powerSourceState현재의 전력 원천

구문

system.battery[batteryNumber].powerSourceState

설명

시스템이어떤전원에연결되어있는지에따라서“ACPower”혹은“BatteryPower”값이나옵니다.

system.battery[n].timeToEmpty배터리가 방출 될 때까지의 분 단위 시간

구문

system.battery[batteryNumber].timeToEmpty

Page 206: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�0� | WIDGET ENGINE 3.1 REFERENCE

설명

이값은분단위로나타냅니다.-1의값은시스템이배터리가얼마나빨리방출되고있는지아직판단하고있는중임을의미합니다(또한“계산중”의단계로알려져있기도합니다).

system.battery[n].timeToFullCharge배터리가 완전히 충전될 때까지의 분 단위 시간

구문

system.battery[batteryNumber].timeToFullCharge

설명

이값은분단위로나타냅니다.-1의값은시스템이배터리가얼마나빨리충전되고있는지아직판단하고있는중임을의미합니다(또한“계산중”의단계로알려져있기도합니다).

일반적으로배터리가얼마나충전되어있는지를확인하기위해서는currentCapacity를이용하는편이더신뢰도가높습니다.

보기

alert(system.battery[0].timeToFullCharge + ' minutes to full charge');

system.battery[n].transportType배터리 소통 채널

구문

system.battery[batteryNumber].transportType

설명

“내부(internal)”혹은UPS소통방식

system.batteryCount장착된 배터리의 수

구문

system.batteryCount

설명

현재시스템에장착된배터리들의수는system.batteryCount에서찾아볼수있습

Page 207: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

system WIDGET ENGINE 3.1 REFERENCE | �0�

니다.일반적으로이것은1이지만어떤랩톱컴퓨터들은여러개를지원하기도하기때문에여러배터리들과더불어작동하는위젯의경우는이것을고려에넣어야합니다.

보기

for (b = 0; b < system.batteryCount; b++) totalTime += system.battery[b].timeToEmpty;

윈도우 특기 사항

현재이속성의값은언제나1입니다(모든배터리로부터전원이공급가능하다고하여도마찬가지입니다).

system.clipboard현재의 시스템 클립보드에 접근합니다

구문

system.clipboard

설명

system.clipboard에는시스템클립보드에들어있는텍스트(텍스트가들어있는경우)가포함됩니다.이속성을설정하게되면그데이터가들어있는시스템클립보드를로드시키고,이전의것은제거합니다.

보기

myText = system.clipboard; myNewText = "--<(" + myText + ")>--";

system.clipboard = myNewText;

system.cpu현재의 CPU 부하에 관한 정보가 포함됩니다

구문

system.cpu

설명

system.cpu는시스템CPU의활동수준을요약하는몇가지구성요소들을보유한객체입니다(구성요소들에대한상세내용은아래를참조합니다).

이데이터를수집하는중요한메커니즘은1초의해상도를가지고있는데,이것은이정보가변할수있을정도의속도입니다.다른말로하자면,system.cpu를초당1회이상으로폴링하는것은소용이없다는뜻입니다.

Page 208: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�0� | WIDGET ENGINE 3.1 REFERENCE

보기

for (a in system.cpu) print("system.cpu." + a + ": " + eval("system.cpu." + a));

system.cpu.activity현재의 CPU 활동에 관한 정보를 보냅니다

구문

system.cpu.activity

설명

system.cpu.activity에는CPU의현재퍼센트부하가포함됩니다.기계가아주바쁘게돌아가고있는중이라면이값은거의100에가까울것입니다.이것은다른system.cpu구성요소들인user,sys,및nice의합계입니다.이것은부하를전체적으로나타내는것으로써몇개의프로세서가있는지와는관계가없습니다.

보기

load = system.cpu.activity;

system.cpu.idleCPU 정지 (idle) 사이클에 관한 정보를 보냅니다

구문

system.cpu.idle

설명

system.cpu.idle은추가의작업을위하여어느정도CPU가사용가능한지에대한수치를제공합니다.

보기

idle_percent = system.cpu.idle;

system.cpu.nice우선 순위가 향상된 CPU 사이클에 관한 정보를 보냅니다

구문

system.cpu.nice

Page 209: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

system WIDGET ENGINE 3.1 REFERENCE | �0�

설명

system.cpu.nice는우선순위가높아진과업들이차지하고있는CPU의용량에대한측정값입니다(일반적인프로세스는system.cpu.user에서보고됩니다).

보기

priorityTasks = system.cpu.nice;

윈도우 특기 사항

이속성에대한값은언제나영(zero)입니다.

system.cpu.numProcessors시스템 내의 프로세서들의 수를 내보냅니다

구문

system.cpu.numProcessors

설명

system.cpu.numProcessors는현재의시스템내부에얼마나많은프로세서들이존재하는지를나타냅니다.

보기

if (system.cpu.numProcessors == 2) system = "Dualie";

system.cpu.sys시스템 CPU 사이클에 관한 정보를 내보냅니다

구문

system.cpu.sys

설명

system.cpu.sys에는시스템과업이차지하고있는CPU의퍼센트가포함됩니다(사용자과업에대비되는개념).

보기

systemTime = system.cpu.sys;

Page 210: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�10 | WIDGET ENGINE 3.1 REFERENCE

system.cpu.user사용자 CPU 사이클에 관한 정보를 내보냅니다

구문

system.cpu.user

설명

system.cpu.usr는일상적인작업들이차지하고있는CPU의용량에대한측정값입니다(시스템작업에반대되는개념).

보기

userTasks = system.cpu.user;

system.event수신한 마지막 이벤트에 관한 정보

구문

system.event

설명

system.event에는위젯이수신한마지막이벤트에관한다양한정보들이포함됩니다(일반적으로마우스클릭과같은사용자활동의결과내용입니다).상세한내용은아래를참조하십시오).

보기

for (a in system.event) print("system.event." + a + ": " + eval("system.event." + a));

system.event.hOffset, system.event.vOffset윈도우 좌표에서 마우스의 위치

구문

system.event.hOffset, system.event.vOffset

설명

system.event.hOffset및system.event.vOffset에는위젯의창을기준으로한좌표들의마우스위치가포함됩니다.

이값들은자바스크립트콘텍스트에서접근이가능하기때문에그값이위젯창의밖에위치할수도있습니다(그럼에도여전히그값들은위젯과관련됩니다).

Page 211: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

system WIDGET ENGINE 3.1 REFERENCE | �11

보기

print("Mouse: " + system.event.hOffset + ", " + system.event.hOffset);

system.event.key현재의 키 이벤트가 발생한 키

구문

system.event.key

설명

system.event.key에는눌러졌던키가포함됩니다.

보기

print("Key: " + system.event.key);

추가 참조

system.event.keyString

system.event.keyString현재 키 이벤트가 발생한 키의 이름

구문

system.event.keyString

설명

system.event.keyString에는눌러진키의이름,즉예를들어“PageUp”과같은특수키의이름이나일반키들의헥사값이포함됩니다.

보기

print("Key Name: " + system.event.keyString);

추가 참조

system.event.key

Page 212: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�1� | WIDGET ENGINE 3.1 REFERENCE

system.event.modifiers현재 키 이벤트에 대한 변경자 (modifier)의 상태

구문

system.event.modifiers

설명

system.event.modifiers에는어떤키가현재처리되고있을때의변경자들이포함됩니다(onKeyDown이나onKeyUp에되어있는것).이것은다음과같은것들의복합체가될수있습니다:

shift, capslock, control, option, numlock, help, fkey

예를들면:

shift+control

보기

print("Modifiers:"+system.event.modifiers);

system.event.screenX, system.event.screenY스크린 좌표 상의 마우스 위치

구문

system.event.screenX, system.event.screenY

설명

system.event.screenX와system.event.screenY에는스크린좌표상의마우스위치가포함됩니다.

보기

print("Mouse: " + system.event.screenX + ", " + system.event.screenY);

system.event.scrollDelta움직인 마우스 휠의 델타 값

구문

system.event.scrollDelta

Page 213: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

system WIDGET ENGINE 3.1 REFERENCE | �13

설명

system.event.scrollDelta에는여러분이스크롤하는줄의수가포함되는데양수,또는음수가될수있습니다.이것은onMouseWheel조종기내에서만유효합니다

보기

frame.scrollY += (system.event.scrollDelta * 10);

system.event.timestamp이벤트가 발생하는 시점

구문

system.event.timestamp

설명

system.event.timestamp에는이벤트가발생하는시점을기록하는데이터객체가포함됩니다(자바스크립트가이것을처리하는시점과반대되는개념).이것은다양한것에대해서이용될수있는데,예를들면키가눌러지는시간의길이를판단하는것등입니다.

보기

print("Event happened at: " + system.event.timestamp);

윈도우 특기 사항

버전2.1.1부터윈도우에서가능합니다.

system.event.x, system.event.y객체 좌표 내의 마우스 위치

구문

system.event.x, system.event.y

설명

system.event.x와system.event.y에는현재객체와의상대적인마우스좌표위치가포함됩니다(활동이시작된객체).

보기

print("Mouse: " + system.event.x + ", " + system.event.y);

Page 214: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�1� | WIDGET ENGINE 3.1 REFERENCE

system.languages사용자가 선호하는 현재 언어들의 집합을 내 보냅니다

구문

system.languages

설명

system.languages에는사용자가International시스템환경설정에서지정해놓은언어리스트가포함됩니다.요소0은제1언어,1은제2선택언어,등등으로됩니다.

여러분은이설정을읽을수있을뿐,변경할수는없으며,변경하기위해서는시스템환경설정판넬에서변경해야합니다.

보기

print("system.languages: " + system.languages);

system.languages:en,de,ja,fr,nl,it,es,zh_TW

system.memory물리/ 가상 메모리에 관한 정보

속성들

availPhysical availVirtual load totalPhysical totalVirtual

설명

시스템객체를통하여기계상의메모리양을관찰할수있습니다.현재,가상메모리수는두플랫폼모두신빙성이적은것으로봐야한다는점에주목하십시오.

system.memory.availPhysical유효한 물리적 메모리의 양

설명

유효한물리적메모리바이트수를내보냅니다.이것을보다사용자에게편리한방식으로변환시키기위해서는bytesToUIString을이용합니다.

Page 215: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

system WIDGET ENGINE 3.1 REFERENCE | �1�

보기

print( "available RAM: " + bytesToUIString( system.memory.availPhysical ) );

사용 버전

2.0이후버전에서사용가능합니다.

system.memory.availVirtual유효한 가상 메모리의 양

설명

유효한가상메모리의바이트수를내보냅니다.이것을보다사용자에게편리한방식으로변환시키기위해서는bytesToUIString을이용합니다.

보기

print( "avail virtual memory: " + bytesToUIString( system.memory.availVirtual ) );

사용 버전

2.0이후버전에서사용가능합니다.

주의 사항

이숫자는현재그다지정확한편이아니며,특히윈도우에서그렇습니다.

system.memory.load사용되는 메모리의 퍼센트

설명

사용중인물리적인RAM의현재양을가리키는0에서부터100사이의수.

보기

print( "current system load: " + system.memory.load + "%" );

사용 버전

2.0이후버전에서사용가능합니다.

Page 216: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�1� | WIDGET ENGINE 3.1 REFERENCE

system.memory.totalPhysical설치된 물리적 RAM 의 양

설명

설치된물리적메모리의바이트수를내보냅니다.이것을보다사용자에게편리한방식으로변환시키기위해서는bytesToUIString을이용합니다.

보기

print( "Installed RAM: " + bytesToUIString( system.memory.totalPhysical ) );

사용 버전

2.0이후버전에서사용가능합니다.

system.memory.totalVirtual전체 가상 메모리의 양

설명

전체가상메모리의바이트수를내보냅니다.이것을보다사용자에게편리한방식으로변환시키기위해서는bytesToUIString을이용합니다.

보기

print( "total virtual memory: " + bytesToUIString( system.memory.totalVirtual ) );

사용 버전

2.0이후버전에서사용가능합니다.

주의 사항

이숫자는현재그다지정확한편이아니며,특히윈도우에서그렇습니다.

system.mute여러분의 시스템 볼륨의 묵음 (mute) 상태를 설정합니다

구문

system.mute

설명

이변수는기계의사운드가소리가억제된상태에있는지여부를반영합니다.시스템사운드를묵음으로만들려면true로설정합니다.

Page 217: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

system WIDGET ENGINE 3.1 REFERENCE | �1�

보기

// Find out if the machine is muted or not if ( system.mute ) print("What? I can't hear you!"); else print("I can hear sounds from my Mac!");

// Turn off system sound system.mute = true;

system.platform위젯이 실행되는 시스템의 유형을 포함합니다

구문

system.platform

설명

이변수에는위젯이실행되고있는현재의플랫폼이포함됩니다.

보기

print("platform: " + system.platform);

MacOSX상에서는다음과같은결과가나옵니다:

platform: macintosh

윈도우상에서는다음과같은결과가나옵니다:

platform: windows

Page 218: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�1� | WIDGET ENGINE 3.1 REFERENCE

system.userDocumentsFolder system.userDesktopFolder system.userPicturesFolder system.userMoviesFolder system.userMusicFolder system.userWidgetsFolder system.applicationsFolder system.temporaryFolder system.trashFolder다양한 사용자 폴더들의 이름을 포함하는 시스템 변수들

구문

system.userDocumentsFolder system.userDesktopFolder system.userPicturesFolder system.userMoviesFolder system.userMusicFolder system.userWidgetsFolder system.applicationsFolder system.temporaryFolder system.trashFolder

설명

이변수에는다양한사용자를위한폴더및시스템폴더들이포함되어있습니다.정확한위치들은플랫폼에관계없이이변수들을사용하여알수있습니다.

보기

print("userMusicFolder: " + system.userMusicFolder);

MacOSX상에서는다음과같은결과가나옵니다:

userMusicFolder:/Users/joe/Music

윈도우상에서는다음과같은결과가나옵니다:

userMusicFolder: c:/DocumentsandSettings/joe/MyDocuments/MyMusic

Page 219: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

system WIDGET ENGINE 3.1 REFERENCE | �1�

system.volume시스템 오디오 볼륨을 설정합니다

구문

system.volume

설명

이변수는현재의오디오음량을반영합니다.이것을0에서16사이의수가운데하나로지정하여시스템음량을변화시킵니다.볼륨을0(영)으로설정하면system.mute를설정한것과같은효과를지닙니다.

보기

// Set the audio volume to 50% system.volume = 8;

system.widgetDataFolder위젯이 안전하게 데이터를 저장할 수 있는 폴더의 이름

구문

system.widgetDataFolder

설명

이변수에는장기적인데이터(혹은짧은기간동안숨겨져야하는데이터포함)를위젯이안전하게저장할수있는사용자의하드디스크상의폴더이름이포함되어있습니다.전통적으로위젯들은자신의번들속에데이터를저장하려고시도하여왔으나,이것은여러가지약점을가지고있으며특히데이터를저장할수없다는결점이있습니다.각위젯은별도의폴더를가지고있습니다.만약해당폴더가존재하지않는다면해당폴더가생성됩니다.

보기

saveFileName = system.widgetDataFolder + "/data";

플랫폼 주의 사항

Mac에서이폴더의위치는“~/Library/ApplicationSupport/Konbulator/Widgets”입니다.PC에서는“C:\DocumentsandSettings\<user>Local\ApplicationData\Yahoo\WidgetEngine\WidgetData”입니다.

Page 220: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��0 | WIDGET ENGINE 3.1 REFERENCE

어플리케이션 속성 및 함수

이것들은자바스크립트가원격조정및데이터소환을허용하는특정어플리케이션에접근할수있게해줍니다.

현재유일하게지원되는어플리케이션은iTunes입니다(윈도우나Mac모두http://www.apple.com/itunes에서얻을수있습니다).

iTunes iTunes로부터 정보를 얻고 또한 상호 작용합니다

구문

iTunes

설명

iTunes객체는iTunes트랙의원격조정과연주및음악가정보를허용합니다.개별함수및속성들에대해서는아래의상세내용을참조하십시오.

사용 버전

버전1.8부터사용가능합니다.

iTunes.backTrack()iTunes 에게 이전 트랙들로 이동할 것을 명령합니다

구문

iTunes.backTrack()

설명

이전트랙으로이동할것을명령합니다.

보기

iTunes.backTrack();

추가 참조

iTunes.nextTrack()

Page 221: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

iTunes WIDGET ENGINE 3.1 REFERENCE | ��1

iTunes.fastForward()현재 트랙 내에서 고속으로 전진할 것을 iTunes에게 명령합니다

구문

iTunes.fastForward()

설명

iTune에게현재의트랙내에서앞으로뛰어넘을것을명령합니다.

보기

iTunes.fastForward();

추가 참조

iTunes.rewind()

iTunes.nextTrack()iTunes에게 다음 트랙으로 이동할 것을 명령합니다

구문

iTunes.nextTrack()

설명

Tell iTunes to move to the next track.

보기

iTunes.nextTrack();

추가 참조

iTunes.backTrack()

iTunes.pause()iTunes 에게 재생을 중지할 것을 명령합니다

구문

iTunes.pause()

설명

iTunes에게재생을중지할것을명령합니다.

Page 222: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

보기

iTunes.pause();

추가 참조

iTunes.resume()

iTunes.play()iTunes 에게 현재 트랙의 연주를 시작할 것을 명령합니다

구문

iTunes.play()

설명

Tell iTunes to play the current track.

보기

iTunes.play();

See Also

iTunes.pause()

iTunes.playPause()iTunes 에게 재생과 중지 사이에서 변환할 것을 명령합니다

구문

iTunes.playPause()

설명

iTunes에게현재중지상태일경우재생을시작하게하고,현재재생상태일경우재생을중지할것을명령합니다.

보기

iTunes.playPause();

Page 223: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

iTunes WIDGET ENGINE 3.1 REFERENCE | ��3

iTunes.playerPosition현재 트랙 내에서 현재의 위치를 되돌리게 합니다

구문

iTunes.playerPosition

설명

이속성은현재재생중인트랙내에서현재의지정된위치로(초단위기준)돌아오게합니다.이것을설정할경우재생위치를트랙내의초단위로지정된위치로이동시킵니다.

보기

iTunes.playerPosition;

iTunes.playerStatusiTunes의 현재 상태를 설명하는 문자열을 내 보냅니다

구문

iTunes.playerStatus

설명

이속성은다음과같은문자열가운데하나를내보냅니다:stopped(취소),paused(중지),playing(재생),fastforwarind(고속진행),rewinding(되감기)또는unknown(미확인).

보기

currentState = iTunes.playerStatus;

iTunes.random iTunes.shuffleiTunes의 셔플 (shuffle) 상태를 반영합니다

구문

iTunes.random

설명

이속성은iTunes의셔플(shuffle)상태를반영합니다.현재의재생리스트가셔플로설정되어있는경우,이값은true로나오며,그렇지않은경우는false로나옵니다.이속성을설정하여iTunes의셔플상태를변경시킵니다.

Page 224: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

보기

iTunes.random = 1;

shuffleState=iTunes.shuffle;

iTunes.repeatModeiTunes 의 현재 반복 모드를 반영합니다

구문

iTunes.repeatMode

설명

이속성은다음과같은문자열들가운데한가지를내보냅니다:현재의반복모드를나타내는off,one혹은all등의문자열.이문자열들가운데하나에대한속성을설정하여반복모드를설정할수있습니다.

보기

mode = iTunes.repeatMode;

iTunes.repeatMode = 'off';

iTunes.resume()iTunes에 재생을 다시 시작할 것을 명령합니다

구문

iTunes.resume()

설명

iTunes에중지시간이후에재생을다시시작할것을명령합니다.

보기

iTunes.resume();

Page 225: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

iTunes WIDGET ENGINE 3.1 REFERENCE | ���

추가 참조

iTunes.pause()

iTunes.rewind()iTunes 가 뒤쪽으로 돌아가도록 명령합니다

구문

iTunes.rewind()

설명

iTunes가현재트랙내에서뒤쪽으로돌아갈것을명령합니다.

보기

iTunes.rewind();

추가 참조

iTunes.fastForward()

iTunes.runningiTunes 가 현재 돌아가고 있는지 여부를 알려 줍니다

구문

iTunes.running

설명

이속성을이용하여현재iTunes가돌아가고있는지여부를판단합니다.

보기

iTunes.running;

iTunes.stop()iTunes가 재생을 멈출 것을 명령합니다

구문

iTunes.stop()

설명

iTunes가재생을멈출것을명령합니다.

Page 226: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

보기

iTunes.stop();

추가 참조

iTunes.play()

iTunes.streamURL현재 재생 중인 스트림의 URL을 내보냅니다

구문

iTunes.streamURL

설명

iTunes가현재오디오스트림을재생하고있는경우,이속성에는그스트림의URL이포함되어있을것입니다.

보기

url = iTunes.streamURL;

iTunes.trackAlbum현재 앨범의 이름을 내 보냅니다

구문

iTunes.trackAlbum

설명

이속성에는현재의앨범이름(이름이알려진경우)이포함됩니다.어떤스트림이재생중일경우,스트림의이름이여기에나타날것입니다.

보기

currAlbum = iTunes.trackAlbum;

iTunes.trackArtist현재 재생 중인 트랙의 음악가를 내 보냅니다

구문

iTunes.trackArtist

Page 227: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

iTunes WIDGET ENGINE 3.1 REFERENCE | ���

설명

이속성에는현재앨범의음악가이름이(알려져있는경우)포함됩니다.스트림이재생중인경우이정보는유효하지않습니다.

보기

iTunes.trackArtist;

iTunes.trackLength현재 트랙의 길이

구문

iTunes.trackLength

설명

이속성에는현재재생중인트랙의길이가포함됩니다.스트림이재생중인경우에는이정보가유효하지않습니다.

보기

len = iTunes.trackLength;

iTunes.trackRating현재 트랙의 등급을 반영합니다

구문

iTunes.trackRating

설명

이속성에는현재재생중인트랙의등급이포함됩니다.이속성을설정하게되면iTunes내현재트랙의등급이변경됩니다.스트림이재생중일대는이정보가유효하지않습니다.

보기

rating = iTunes.trackRating;

iTunes.trackTitle현재 트랙의 타이틀을 내 보냅니다

구문

iTunes.trackTitle

Page 228: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

설명

이속성에는현재재생중인트랙의타이틀이포함됩니다.스트림이연주중일때는이정보가유효하지않을수도있습니다.

보기

title = iTunes.trackTitle;

iTunes.trackType현재 트랙의 유형을 내 보냅니다

구문

iTunes.trackType

설명

이속성에는현재연주중인트랙의유형이포함됩니다.여기에는다음중한가지가포함될수있습니다:audio cd track, audio stream, audio device, shared library 혹은 unknown

보기

tt = iTunes.trackType;

iTunes.versioniTunes 의 버전을 내 보냅니다

구문

iTunes.version

설명

이속성에는제어중인iTunes사본의버전이포함됩니다.

보기

log("iTunes Version: " + iTunes.version);

iTunes.volumeiTunes 가 재생 될 때의 볼륨을 반영합니다

구문

iTunes.volume

Page 229: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

iTunes WIDGET ENGINE 3.1 REFERENCE | ���

설명

이속성은iTunes가연주되고있는중의볼륨을반영합니다.이값은0에서100사이에서조정될수있습니다.이속성에어떤값을지정함으로써볼륨을변경시킬수있습니다.

보기

iTunes.volume = 60;

Page 230: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�30 | WIDGET ENGINE 3.1 REFERENCE

Widget Engine Object Properties and functions본부분에는본문서가운데XML중심부분에서는다루지않았던자바스크립트의기능과특징에대한내용이포함됩니다

프레임의 특징 및 기능

Frame.addSubview()어떤 화면을 하위 화면 (subview)로써 프레임에 추가합니다

구문

voidFrame.addSubview(object);

설명

이함수는프레임에어떤객체를더해줍니다.현재로는이미지,텍스트,텍스트영역,프레임및스크롤바객체등이프레임에자녀로추가될수있습니다.

보기

myFrame.addSubview( myImage );

사용 버전

3.0이후버전에서사용가능합니다.

Frame.home()프레임을 좌측 상부로 스크롤 합니다

구문

void Frame.home();

설명

이함수는기본적으로scrollX및scrollY특징을0,0으로설정합니다.

보기

myFrame.home();

사용 버전

3.0이후버전에서사용가능합니다.

Page 231: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Object Properties and Functions WIDGET ENGINE 3.1 REFERENCE | �31

Frame.hScrollBar프레임에 대한 수평 방향 스크롤 바

구문

Frame.hScrollBar

설명

본특징을가진프레임의수평방향스크롤바에대해서설정하거나요청할수있습니다.스크롤바를붙이게되면프레임과스크롤바사이의소통을위한모든자동설정이실행됩니다.

보기

myFrame.hScrollBar

사용 버전

3.0이후버전에서사용가능합니다.

Frame.end()프레임을 우측 하부로 스크롤 합니다

구문

void Frame.end();

설명

이함수는프레임을그내용의아래쪽으로스크롤합니다.

보기

myFrame.end();

사용 버전

3.0이후버전에서사용가능합니다.

Frame.lineDown()프레임을 한 줄 아래로 스크롤 합니다

구문

void Frame.lineDown();

설명

이함수는프레임의vLineSize로지정된크기만큼한줄아래로이동시킵니다.

Page 232: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�3� | WIDGET ENGINE 3.1 REFERENCE

보기

myFrame.lineDown();

사용 버전

3.0이후버전에서사용가능합니다.

Frame.lineLeft()프레임을 한 줄 왼쪽으로 스크롤 합니다

구문

void Frame.lineLeft();

설명

이함수는프레임의hLineSize특징에서지정한크기만큼왼쪽으로한줄스크롤합니다.

보기

myFrame.lineLeft();

사용 버전

3.0이후버전에서사용가능합니다.

Frame.lineRight()프레임을 오른쪽으로 한 줄 스크롤 합니다

구문

void Frame.lineRight();

설명

이함수는프레임의hLineSize특징에서지정한크기만큼프레임을오른쪽으로한줄이동시킵니다.

보기

myFrame.lineRight();

사용 버전

3.0이후버전에서사용가능합니다.

Page 233: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Object Properties and Functions WIDGET ENGINE 3.1 REFERENCE | �33

Frame.lineUp()프레임을 좌측 상부로 스크롤 합니다

구문

void Frame.lineUp();

설명

이함수는프레임의vLineSize특징에서지정한크기만큼한줄위로스크롤합니다.

보기

myFrame.lineUp();

사용 버전

3.0이후버전에서사용가능합니다.

Frame.pageDown()프레임을 한 페이지 아래 쪽으로 스크롤 합니다

구문

void Frame.pageDown();

설명

이함수는그페이지의높이에서vLineHeight에서지정한높이의한줄을뺀크기만큼프레임을한페이지아래로스크롤합니다.

보기

myFrame.pageDown();

사용 버전

3.0이후버전에서사용가능합니다.

Frame.pageLeft()프레임을 한 페이지 왼쪽으로 스크롤 합니다

구문

void Frame.pageLeft();

설명

이함수는그페이지의높이에서hLineHeight에서지정한높이의한줄을뺀크기

Page 234: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�3� | WIDGET ENGINE 3.1 REFERENCE

만큼프레임을한페이지왼쪽으로스크롤합니다.

보기

myFrame.pageLeft();

사용 버전

3.0이후버전에서사용가능합니다.

Frame.pageRight()프레임을 한 페이지 오른쪽으로 스크롤 합니다

구문

void Frame.pageRight();

설명

이함수는그페이지의높이에서hLineHeight에서지정한높이의한줄을뺀크기만큼프레임을한페이지오른쪽으로스크롤합니다.

보기

myFrame.pageRight();

사용 버전

3.0이후버전에서사용가능합니다.

Frame.pageUp()프레임을 한 페이지 위쪽으로 스크롤 합니다

구문

void Frame.pageUp();

설명

이함수는그페이지의높이에서vLineHeight에서지정한높이의한줄을뺀크기만큼프레임을한페이지위쪽으로스크롤합니다.

보기

myFrame.pageUp();

사용 버전

3.0이후버전에서사용가능합니다.

Page 235: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Object Properties and Functions WIDGET ENGINE 3.1 REFERENCE | �3�

Frame.removeFromSuperview()모 화면으로부터 객체를 분리합니다

구문

void Frame.removeFromSuperview()

설명

어떤창으로부터객체를제거할때이방법을이용합니다.그객체를이미이용하였고이제새로운정보를다시로드하고자하려는이유로이것을이용할수있을것입니다.일단객체가분리되면여러분의참조(reference)를null로설정함으로써참조를간단하게제거할수있으며,아니면여러분이원하는대로그것을다른창이나프레임에붙일수도있습니다.

위젯의최소버전이3.0으로설정되어있는경우,어떤창에서객체를제거하기위해서는반드시이속성을호출해야합니다.참조를제거하게되면더이상작동하지않습니다.

보기

myObject.removeFromSuperview();

사용 버전

3.0이후버전에서사용가능합니다.

Frame.subviews이 프레임 내의 모화면 배열

구문

array Frame.subviews (read-only)

설명

이속성은자바스크립트배열로써이프레임에포함된모든화면들을포함하고있습니다.프레임에모화면이없을경우,이특징은null로설정될것입니다.

보기

var x = myFrame.subviews[0];

사용 버전

버전3.0이상에서사용가능합니다.이속성이존재하기위해서위젯의최소버전설정은최소한3.0이되어야합니다.

Page 236: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�3� | WIDGET ENGINE 3.1 REFERENCE

Frame.superview화면의 모화면

구문

frame|rootFrame.superview(read-only)

설명

이속성에는이화면의모화면이포함됩니다.모화면은프레임객체또는루트객체(Rootobject)가될수있습니다.어떤화면에모화면이없는경우,이속성은null로설정될것입니다.

보기

var parent = myFrame.superview;

사용 버전

버전3.0이상에서사용가능합니다.이속성이존재하기위해서위젯의최소버전설정은최소한3.0이되어야합니다.

Frame.vScrollBar프레임에 대한 수직 스크롤 바

구문

Frame.vScrollBar

설명

이속성을가진수직스크롤바를설정하거나문의할수있습니다.스크롤바를붙이게되면프레임과스크롤바사이의통신을위한모든자동설정이이루어집니다.

보기

myFrame.vScrollBar

사용 버전

3.0이후버전에서사용가능합니다.

Page 237: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Object Properties and Functions WIDGET ENGINE 3.1 REFERENCE | �3�

Image Properties and Functions

Image.fade()이미지의 페이드인 (fade in) 또는 페이드아웃 (fade out)

구문

Image.fade(start, end, duration)

설명

fade()명령은이미지가시작투명도에서시작하여최종투명도까지점차적으로변화하게합니다.duration에는그애니메이션효과가지속되기원하는시간(10분의1초단위)를지정합니다.

보기

newOpacity = 0; myImage.fade(myImage.opacity, newOpacity, 1);

Image.moveTo()애니메이션을 통해서 a 지점을 b 지점으로 이동시킵니다

구문

Image.moveTo(newX, newY, duration)

설명

이미지의원점(hOffset,vOffset)이newX및newY를통해서지정된새로운좌표로이동합니다.객체의이동이영화처럼움직입니다(이점이hOffset과vOffset을단순히변화시키는것과의차이입니다).

보기

myImage.moveTo(50, 50, 3);

Image.reload()디스크로부터 이미지를 다시 불러들입니다

구문

Image.reload()

설명

디스크에서이미지를다시불러들일때이함수를이용합니다.여러분의위젯이외부를통하여지속적으로업데이트되고있는그래픽을이용하는경우에이것이특히

Page 238: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

�3� | WIDGET ENGINE 3.1 REFERENCE

유용한데,이것은이미지객체의일반적인캐쉬작업(cachingbehavior)을불가능하게만들기때문입니다.

보기

myImage.reload();

Image.removeFromSuperview()모 화면으로부터 이미지 객체를 분리합니다

구문

Image.removeFromSuperview()

설명

창으로부터이미지객체를제거할때이방법을이용합니다.그객체를이미이용하였고이제새로운정보를다시로드하고자하려는이유로이것을이용할수있을것입니다.일단객체가분리되면여러분의참조(reference)를null로설정함으로써참조를간단하게제거할수있으며,아니면여러분이원하는대로그것을다른창이나프레임에붙일수도있습니다.

여러분위젯의최소버전이3.0으로설정되어있는경우,어떤창에서객체를제거하기위해서는반드시이속성을호출해야합니다.참조를제거하게되면더이상작동하지않습니다.

보기

myImage.removeFromSuperview();

사용 버전

3.0이후버전에서사용가능합니다.

Image.slide()지정된 방향 및 기간만큼 이미지를 슬라이드 합니다

구문

Image.slide(direction, amountOfImageToConceal, duration)

설명

slide()명령은사용자인터페이스의일부를숨겼다가드러냈다가하는데에이용되는애니메이션효과입니다.여러분이특정방향으로이미지를밀어내되,그냥움직이는것이아니라사라졌다나타났다하게만들고싶을때사용됩니다.duration에는그애니메이션효과가지속되기원하는시간(10분의1초단위)를지정합니다.

Page 239: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Object Properties and Functions WIDGET ENGINE 3.1 REFERENCE | �3�

보기

myImage.slide("up,left", 50, 3);

Image.superview이 화면의 모 화면

구문

frame|rootImage.superview(read-only)

설명

이속성에는이화면의모화면이포함됩니다.이화면은프레임객체가될수도있고루트객체(Rootobject)가될수도있습니다.화면에모화면이없을경우,이특징은null로설정될것입니다.

보기

var parent = myImage.superview;

사용 버전

버전3.0이상에서사용가능합니다.이속성이존재하기위해서위젯의최소버전설정은최소한3.0이되어야합니다.

Root Properties and Functions루트(root)는윈도우내의모든화면들을수용하는컨테이너입니다.이미지와같은객체가그창의특징들을설정하였을경우,이것은의도적으로덧붙여진화면이됩니다.여기에서는화면계층을완성하는목적으로존재하는것으로오직두가지특징과한가지기능만을가지고있습니다.루트는자신이속한창의속성으로써접근될수있습니다.이속성이존재하기위해서위젯의최소버전설정은최소한3.0이되어야합니다.

Root.addSubview()윈도우 루트에 화면을 덧붙입니다

구문

voidRoot.addSubview(object);

설명

이함수는어떤윈도우에대한루트화면에객체를덧붙입니다.현재로는이미지,텍스트,텍스트영역,프레임및스크롤바등이자녀로덧붙여질수있습니다.

이방법을이용하거나,아니면어떤객체의window특징을설정함으로써창의최상

Page 240: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��0 | WIDGET ENGINE 3.1 REFERENCE

부에화면을덧붙일수있습니다.두가지접근방법모두정확하게동일한결과를초래합니다.

보기

myWindow.root.addSubview( myImage );

사용 버전

3.0이후버전에서사용가능합니다.

Root.subviews하위 화면의 정렬

구문

array Root.subviews (read-only)

설명

이속성에는이화면에포함된모든화면들이자바스크립트정렬로써포함됩니다.루트에하위화면이없는경우,이속성은null로설정될것입니다.

보기

var x = myWindow.root.subviews[0];

사용 버전

3.0이후버전에서사용가능합니다.

Root.superview이 화면의 모화면 (parent view)

구문

null Root.superview (read-only)

설명

이속성에는이화면의모화면이포함됩니다.이속성은언제나null로나옵니다.여기서는위계의완성을위한목적으로존재합니다.

보기

var shouldBeNull = myWindow.root.superview;

사용 버전

버전3.0이상에서사용가능합니다.이특징이존재하기위해서위젯의최소버전

Page 241: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Object Properties and Functions WIDGET ENGINE 3.1 REFERENCE | ��1

설정은최소한3.0이되어야합니다.

스크롤 바의 특징 및 기능

ScrollBar.removeFromSuperview()그 모 화면으로부터 객체를 분리합니다

구문

ScrollBar.removeFromSuperview()

설명

어떤창에서스크롤바객체를제거하는데에이방법을이용합니다.그객체를이미이용하였고이제새로운정보를다시로드하고자하려는이유로이것을이용할수있을것입니다.일단객체가분리되면여러분의참조(reference)를null로설정함으로써참조를간단하게제거할수있으며,아니면여러분이원하는대로그것을다른창이나프레임에붙일수도있습니다.

여러분위젯의최소버전이3.0으로설정되어있는경우,어떤창에서객체를제거하기위해서는반드시이속성을호출해야합니다.참조를제거하게되면더이상작동하지않습니다.

보기

myScrollbar.removeFromSuperview();

사용 버전

3.0이후버전에서사용가능합니다.

ScrollBar.setRange()스크롤 바의 최소 및 최대를 설정합니다

구문

ScrollBar.setRange(int min, int max)

설명

스크롤바를통해서표현될수있는값의범위를정의하는데에이방법을이용합니다.최소및최대특징을직접수정할수없기때문에이특징들을설정할때는이함수를사용해야합니다.이함수가호출되었을때그값이새로운범위밖에속할경우,그값은이범위에고정될것입니다.

프레임객체에스크롤바를붙이려고할때는보통이함수를다룰필요가없을것입

Page 242: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

니다.보통은범위가자동으로설정되기때문입니다.

보기

myScrollbar.setRange(0, 100);

사용 버전

3.0이후버전에서사용가능합니다.

ScrollBar.setThumbInfo()스크롤 바의 thumb 이미지를 대체합니다

구문

ScrollBar.setThumbInfo(intoffset,string|arrayimages)

설명

표준스크롤바객체는여러분으로하여금thumb색상을자기에게맞게변경할수있게해주지만이것이위젯의모든요구를충족시켜주지못할수도있습니다.자기의기호에맞게더많이개인화(customization)시키려면,한개혹은세개의이미지경로들을각각어떤문자열이나배열로써이함수에전달함으로써thumb을만드는데에그이미지들을이용할수있게하면됩니다.한개의이미지를통과시킬경우,이것은하나의고정된크기의thumb을암시하는것으로서여러분의스크롤바는비례적인형태를잃게될것입니다.이것은여러분이어떤슬라이더객체를만들려고하는경우에적절할수있습니다.여러분이세개의이미지경로를통과시킬경우첫번째와세번째이미지경로들은상부/바닥을위한용도로cap들을지정합니다.두번째이미지는확장이가능한중간부분입니다.따라서이세부분으로구성된스크롤바thumb들은언제나비례형을유지합니다.

offset인수는thumb이스크롤바속으로얼마나깊숙이위치할것인지를조절합니다.예를들어3을지정할경우스크롤바이미지들은스크롤바화면의왼쪽가장자리의오른쪽으로3픽셀나타날것입니다.수평스크롤바의경우이것은thumb를아래로살짝움직이는거리가됩니다.

현재로는수평스크롤바이미지들은수직의경우와동일한방향성을가지고생성되어야함에주목해주십시오.그렇기때문에여러분은스크롤바들을수평으로디자인해야하지만그것들을분해하여그조각들을저장하기이전에90도로회전합니다.

보기

myScrollbar.setThumbInfo( 1, new Array( "images/topCap.png", "images/middle.png", "images/bottomCap.png" ) );

myScrollbar.setThumbInfo(0,"images/fixedthumb.png"));

사용 버전

3.0이후버전에서사용가능합니다.

Page 243: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Object Properties and Functions WIDGET ENGINE 3.1 REFERENCE | ��3

ScrollBar.setTrackInfo()스크롤 바의 트랙을 포함하는 이미지를 대체합니다

구문

ScrollBar.setTrackInfo(int offset, int topLimit, intbottomLimit,string|arrayimages)

설명

표준스크롤바객체는여러분으로하여금트랙색상을자기에게맞게변경할수있게해주지만이것이위젯의모든요구를충족시켜주지못할수도있습니다.자기의기호에맞게더많이개인화(customization)시키려면,한개혹은세개의이미지경로들을각각어떤문자열이나배열로써이기능속에통과시킴으로써트랙은스스로를만드는데에그이미지들을이용할수있게하면됩니다.여러분이세개의이미지경로를통과시킬경우첫번째와세번째이미지경로들은상부/바닥을위한용도로cap들을지정합니다.두번째이미지는확장이가능한중간부분입니다.따라서이세부분으로구성된스크롤바thumb들은언제나비례형을유지합니다.

offset인수는트랙이스크롤바속으로얼마나깊숙이위치할것인지를조절합니다(한개짜리슬라이더모양을위해서는한줄짜리트랙을가지게될것입니다).예를들어3을지정할경우스크롤바이미지들은스크롤바화면의왼쪽가장자리의오른쪽으로3픽셀나타날것입니다.수평스크롤바의경우이것은트랙이미지들을아래로살짝움직이는거리가됩니다.

topLimit및bottomLimit인수들은thumb이얼마나멀리움직일수있는지의한계를설정하는데이용됩니다.이들은기본적으로‘완충기(bumper)’한계들입니다.thumb이여러분의스크롤바상부로부터5픽셀미만으로는어느방향으로도이동할수없게하고싶을경우에는topLimit으로5를설정하면됩니다.

현재로는수평스크롤바이미지들은수직의경우와동일한방향성을가지고생성되어야함에주목해주십시오.그렇기때문에여러분은스크롤바들을수평으로디자인해야하지만그것들을분해하여그조각들을저장하기이전에90도로회전합니다.

보기

myScrollbar.setTrackInfo( 0, 2, 2, new Array( "images/topCap.png", "images/middle.png", "images/bottomCap.png" ) );

사용 버전

3.0이후버전에서사용가능합니다.

ScrollBar.superview이 화면의 모 화면

구문

frame|rootScrollBar.superview(read-only)

Page 244: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

설명

이특징에는이화면의모화면이포함됩니다.모화면은프레임객체나루트객체가될수있습니다.모화면이없는경우이특징은null로설정될것입니다.

보기

var parent = myScrollBar.superview;

사용 버전

버전3.0이상에서사용가능합니다.이특징이존재하기위해서위젯의최소버전설정은최소한3.0이되어야합니다.

텍스트 방식들

Text.fade()텍스트 객체를 페이드 인하거나 페이드 아웃합니다

구문

Text.fade(start, end, duration)

설명

fade()명령은텍스트객체가시작투명도에서시작하여최종투명도까지점차적으로변화하게합니다.duration에는그애니메이션효과가지속되기원하는시간(10분의1초단위)를지정합니다.

보기

newOpacity = 0; myText.fade(myText.opacity, newOpacity, 6);

Text.moveTo()애니메이션을 통해서 텍스트를 a 지점에서 b 지점으로 이동시킵니다

구문

Text.moveTo(newX, newY, duration)

설명

텍스트의원점(hOffset,vOffset)이newX및newY를통해서지정된새로운좌표로이동합니다.객체의이동이영화처럼움직입니다(이점이hOffset과vOffset을단순히변화시키는것과의차이입니다).

Page 245: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Object Properties and Functions WIDGET ENGINE 3.1 REFERENCE | ���

보기

myText.moveTo(50, 50, 3);

Text.removeFromSuperview()모 화면으로부터 텍스트 객체를 분리합니다

구문

Text.removeFromSuperview()

설명

창으로부터텍스트객체를제거할때이방법을이용합니다.그객체를이미이용하였고이제새로운정보를다시로드하고자하려는이유로이것을이용할수있을것입니다.일단객체가분리되면여러분의참조(reference)를null로설정함으로써참조를간단하게제거할수있으며,아니면여러분이원하는대로그것을다른창이나프레임에붙일수도있습니다.

여러분위젯의최소버전이3.0으로설정되어있는경우,어떤창에서객체를제거하기위해서는반드시이속성을호출해야합니다.참조를제거하게되면더이상작동하지않습니다.

보기

myText.removeFromSuperview();

사용 버전

3.0이후버전에서사용가능합니다.

Text.slide()지정된 방향 및 기간만큼 이미지를 슬라이드 합니다

구문

Text.slide(direction, amountOfTextToConceal, duration)

설명

slide()명령은여러분이특정방향으로텍스트객체를밀어내되,그냥움직이는것이아니라사라졌다나타났다하게만들고싶을때사용됩니다.duration에는그애니메이션효과가지속되기원하는시간(10분의1초단위)를지정합니다.

보기

myText.slide("up,left", 50, 8);

Page 246: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

Text.superview이 화면의 모 화면

구문

frame|rootText.superview(read-only)

설명

이특징에는이화면의모화면이포함됩니다.모화면은프레임객체가될수도있고근객체(Rootobject)가될수도있습니다.화면에모화면이없을경우,이특징은null로설정될것입니다.

보기

var parent = myText.superview;

사용 버전

버전3.0이상에서사용가능합니다.이특징이존재하기위해서위젯의최소버전설정은최소한3.0이되어야합니다.

텍스트 영역의 메소드(method)들

TextArea.focus()현재의 텍스트 영역 객체를 키 누르는 것의 초점이 되게 만듭니다

구문

TextArea.focus()

설명

focus()함수는주어진텍스트영역들로입력된키들이전송되게만듭니다.위젯상에몇가지텍스트영역들이있어서여러분이한텍스트영역에서다른텍스트영역으로삽입포인트를이동시키기원할때이것이가장유용하게사용됩니다.이것이효과를발휘하기위해서는텍스트영역이반드시수정가능한것(editable)이어야합니다.

버전3.0이후에는초점이획득될경우그텍스트영역에대하여onGainFocus활동이호출됩니다.

보기

mytextarea.focus();

Page 247: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Object Properties and Functions WIDGET ENGINE 3.1 REFERENCE | ���

TextArea.loseFocus()현재 어떤 텍스트 영역이 초점인 상태일 때 키보드 초점을 늦추어 줍니다

구문

TextArea.loseFocus()

설명

loseFocus()함수는어떤텍스트영역이현재포커스를가지고있을때(focus()의소환을통하여)그텍스트영역으로부터키보드초점을해제해줍니다.이함수는사용자가탐색필드로사용되는텍스트영역에어떤값을입력한후에포커스를제거할때유용합니다.그창의텍스트영역이초점을제거할때는자동적으로초점이사라지기때문에따로이것을호출할필요가없습니다.

버전3.0이후에는초점이사라지면onLoadFocus활동이호출됩니다.

보기

mytextarea.loseFocus();

사용 버전

3.0이후버전에서사용가능합니다.

TextArea.rejectKeyPress()텍스트 영역이 키들을 받아들일지 여부를 제어합니다

구문

TextArea.rejectKeyPress()

설명

rejectKeyPress()함수는현재의키누름이텍스트영역에영향을미칠지여부를조절하는<onKeyPress>이벤트에이용됩니다.

보기

<onKeyPress> <!-- // Convert all typed characters to uppercase var key = system.event.key; if (key.charCodeAt(0) >= "A".charCodeAt(0) && key.charCodeAt(0) <= "z".charCodeAt(0)) { // Tell the text area to ignore this keyPress as // we are replacing it with our own ta1.rejectKeyPress();

Page 248: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

// Append an upper case copy of the key pressed // (the insertion point is a 0 length selection) ta1.replaceSelection(key.toUpperCase()); } // --> </onKeyPress>

TextArea.removeFromSuperview()detaches a text area object from its parent view

구문

Image.removeFromSuperview()

설명

Use this method to remove a text area object from a window. You might do this because you are done with it and are reloading new information. Once detached, you can merely clear your reference to it by setting it to null if you are done with it, or put it into another window or frame if you like.

When your Widget's minimumVersion is set to 3.0, you must call this to remove an object from a window. Deleting the reference will not work.

보기

myTextArea.removeFromSuperview();

사용 버전

3.0이후버전에서사용가능합니다.

TextArea.replaceSelection()replace the current selection in a textarea with a string

구문

TextArea.replaceSelection(string)

설명

The replaceSelection() function replaces the current selection in the textarea with the given string. Note that the "cursor" or "insertion point" is actually a selection of zero length so, if nothing is selected in the textarea, using replaceSelection() has the effect of inserting the given string at the current cursor position.

Page 249: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Object Properties and Functions WIDGET ENGINE 3.1 REFERENCE | ���

보기

replacement = "new text"; mytextarea.replaceSelection(replacement);

TextArea.select()텍스트 영역 속의 텍스트를 선택합니다

구문

TextArea.select(start, end)

설명

선택함수는텍스트영역내선택을대체시킵니다.처음부터끝까지의문자들이선택됩니다.특수한경우로써위치-1이라함은“텍스트의끝”을의미하며,따라서:

mytextarea.select(0, -1);

은모든텍스트를선택합니다.

“커서”나“삽입점”의위치를설정하는것은영(zero)길이의선택을지정하는것으로써,예를들면다음과같습니다:

mytextarea.select(10, 10);

텍스트영역내에서이미어떤텍스트뒤에삽입점을설정하기위해서는다음과같이설정해야할것입니다:

mytextarea.select(-1, -1);

삽입점이설정되면텍스트영역내의내용들이스크롤되어사용자가볼수있게될것입니다.

보기

mytextarea.select(5, 15);

TextArea.superview이 화면의 모 화면

구문

frame|rootTextArea.superview(read-only)

설명

이특징에는이화면의모화면이포함됩니다.모화면은프레임객체나루트객체

Page 250: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��0 | WIDGET ENGINE 3.1 REFERENCE

가될수있습니다.모화면이없는경우이특징은null로설정될것입니다.

보기

var parent = myTextArea.superview;

사용 버전

버전3.0이상에서사용가능합니다.이속성이존재하기위해서위젯의최소버전설정은최소한3.0이되어야합니다.

타이머 기능

Timer.reset()타이머의 카운트다운을 다시 시작시킵니다

구문

Timer.reset()

설명

reset()함수는타이머가그카운트다운을다시시작하게만듭니다.예를들면,여러분이1분간격으로설정된타이머를가지고있는데,그것이작동된지30초후에reset()을호출하면타이머는1분간격의카운트다운을다시시작할것입니다.따라서30초후에어떤조치가가동되는것이아니라타이머가다시시작하여1분후에가동됩니다.

이것이유용하게사용되는좋은예는여러분이어떤종류의아이들(idle)타이머를작동하려고할때입니다.사용자가15초이내에여러분의위젯과상호작용을하지않을경우여러분의위젯에서뭔가조치를취하게만들고싶다고가정을해봅시다.사용자가여러분의위젯을클릭했을대,여러분은15초후에가동되는타이머를시작시킬수있을것입니다.사용자가다시클릭을하면여러분은타이머를간단하게재설정하여,15초카운트다운을다시시작하게할수있을것입니다.언젠가15초동안클릭을하지않는경우가생길때면타이머가가동될것입니다.

보기

myTimer.reset();

Page 251: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Object Properties and Functions WIDGET ENGINE 3.1 REFERENCE | ��1

URL 객체설명

URL객체는원격자원(remoteresource)에대한연결을관리하는데필요한상태를캡슐화합니다.URL들은위젯의XML부분에서는정의할수없습니다.

메소드(method)

addPostFile() MultipartPOST요청에사용할파일을추가합니다.

cancel() FetchAsync요청을취소합니다.

fetch() 지정된URL에서문자열로써데이터를수신합니다.

fetchAsync() 지정된URL에서비동기적으로데이터를수신합니다.

getResponseHeaders() HTTP응답에서헤더(header)들을수신합니다.

setRequestHeader() HTTPRequest의헤더값을설정합니다.

속성들

autoRedirect URL객체가Redirect되는지를나타내는Boolean(기본설정은true입니다).

location URL을나타내는문자열

outputFile 이것이설정된경우URL.fetch()는이이름을가진파일에수신된데이터를저장합니다.

postData 이것이설정되는경우,URL.fetch()는POST해야할데이터로써이문자열을이용하여GET대신지정된위치로POST를실행시킬것입니다.

response 대부분의최근URL.fetch()결과를가리키는HTTP응답코드

responseData 응답코드와는관계가없는실제응답데이터

result 대부분의최근URL.fetch()혹은fetchAsync()의결과

보기

var url = new URL(); url.location = "http://www.yahoo.com"; contents = url.fetch();

Page 252: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

URL.addPostFile()multipart POST 요청에 파일을 추가합니다

구문

URL.addPostFile(path)

설명

이함수는POST요청시함께전송되어야하는파일리스트에파일을추가합니다.POST가실제로실행될때까지는경로의존재여부에대한시험이실시되지않습니다.파일들이추가되었다면,여러분의요청은자동적으로POST요청으로설정됩니다.

보기

var myURL = new URL; myURL.addPostFile("myfile.png","/A/Local/File/Path.png"); myURL.location = "http://mysite.com"; myURL.fetch();

사용 버전

2.1이후버전에서사용가능합니다.

URL.autoRedirect자동으로 redirect될 지 여부를 지시합니다

구문

URL.autoRedirect

설명

이속성은여러분으로하여금URL객체가자동으로redirect될것인지여부를제어할수있게합니다.기본설정은true입니다.이것을false로설정하면여러분은302redirectresponse를받게되고그것을여러분들이원하는대로처리하면됩니다.

보기

var myURL = new URL; myURL.autoRedirect = false; myURL.location = "http://mysite.com"; myURL.fetch();

사용 버전

2.1이후버전에서사용가능합니다.

Page 253: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Object Properties and Functions WIDGET ENGINE 3.1 REFERENCE | ��3

URL.cancel()fetchAsync()를 통하여 요청한 비동기 전송을 취소합니다.

구문

URL.cancel()

설명

이함수는fetchAsync()를통해서요청한비동기전송을취소합니다.대기중인비동기요청이없는경우에이함수는효과가없습니다.이함수가호출되면요청은취소되고,요청을수신하기위한여러분의함수는호출되지않습니다.

보기

var myURL = new URL; myURL.location = "http://mysite.com"; myURL.fetchAsync( myCallback ); ... myURL.cancel();

사용 버전

2.1이후버전에서사용가능합니다.

URL.clear()URL 객체의 현재 문자열을 제거합니다

구문

URL.clear()

설명

어떤URL객체를이용한후,다른요청을보내기위하여그URL을다시이용하고자할경우,이전의전송데이터(파일등등)를그객체로부터확실히분리하기위하여clear()함수을호출할수있습니다.현재비동기요청을처리하고있는URL객체상에이함수를호출할경우,그요청은그객체가제거되기이전에취소될것입니다.

보기

myURL = new URL; myURL.location = "http://widgets.yahoo.com/" result = myURL.fetch(); //reusetheobject myURL.clear(); myURL.location = "http://www.yahoo.com/" result = myURL.fetch();

Page 254: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

사용 버전

2.1이후버전에서사용가능합니다.

URL.fetch()URL 데이터를 문자열로써 보냅니다

구문

URL.fetch([location])

설명

지정되는원거리위치로부터혹은URL의location속성에서지정된웹주소로부터데이터를불러들입니다.location이지정된경우,이것은URL의location속성값을설정합니다.outputFile속성이설정된경우데이터는파일로저장되고그렇지않을경우문자열로값을수신합니다.이것은동기적으로실행되기때문에데이터가수신될때까지위젯은중지상태가됩니다.

에러가발생하고fetcth()가문자열을리턴할경우,“CouldnotloadURL”라는문자열(혹은postData속성이설정될경우“CouldnotloadURLwithPOST”라는문자열)을내보낼것입니다.response속성에는에러유형을나타내는코드가포함될것입니다.

주의:RSS자료(혹은어떤웹리소스)를호출하는경우,그것을너무자주가져오지않도록확실한주의를기울여야합니다.30분미만의주기는매우주의해서다루어야합니다.여러분의위젯을수천명의사람들이사용하는데그데이터를제공하는웹사이트는자동화된트래픽을감당하지못하는경우가발생할수도있습니다.또한모든위젯들이동일한시각에동일한데이터를가져오려고시도하는것도안된다는사실을기억해야합니다(예,everyhouronhour).이것들역시웹사이트들에문제를일으킬수있기때문입니다(여러사람들의위젯이이각기다른시간에시작될것이기때문에onTimer활동을이용하는것은괜찮습니다.)

보기

var url = new URL(); webAddress = "http://www.yahoo.com"; contents = url.fetch(webAddress);

주의

버전2.1이상에서는결과(result)속성을통해서도결과를얻을수있습니다.

URL.fetchAsync()GET 이나 POST를 비동기로 수행합니다

구문

URL.fetchAsync(function)

Page 255: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Object Properties and Functions WIDGET ENGINE 3.1 REFERENCE | ���

설명

비동기로요청을처리한다는점을제외하면이것은fetch()와유사한방식으로작동하여,요청이완료되는동안여러분의위젯을떠나서그작업에몰두할수있습니다.요청이완료되면여러분이함수속으로전달시켰던함수들을호출합니다.여러분의함수는요청에의해시작된url객체를받게되는데,결과및/또는요청의응답을얻기위하여이객체에요청할수있습니다.

이함수를사용하게되면여러분위젯의반응성을크게향상시켜서,요청이처리되는동안사용자와상호작용할수있게합니다.

보기

var url = new URL(); url.location = "http://www.yahoo.com"; url.fetchAsync(url_done); function url_done( url ) { print( "fetch complete" ); print( "response: " + url.response ); print( "result: " + url.result ); }

사용 버전

2.1이후버전에서사용가능합니다.

URL.getResponseHeaders()HTTP 응답으로부터 헤더들을 가져옵니다

구문

URL.getResponseHeaders( name )

설명

이함수는여러분으로하여금HTTP응답에포함된헤더들을얻을수있게합니다.이것을이용하는가장유용한목적은추후의용도를위하여“쿠키설정(Set-Cookie)”헤더들을얻는것입니다.버전2.1이후에는보안상의이유로자동쿠키조작을무능화시켰기때문에,작업을위하여여러분의위젯이쿠키들을이용할필요가있을경우,응답가운데서그것들을얻기위하여이함수를이용할필요가있을것입니다.그런다음여러분은setRequestHeader를가지고그것들을설정함으로써fetch()에대한추후의호출에서그쿠키들을서버로다시전달시킬수있습니다.

이함수는여러분이전달하는이름에맞는헤더들의배열을내보냅니다.버전3.0이상에서는그이름으로써“*”를전달시킬수있으며,여러분은그이름을포함한완전한헤더들의배열을수신하게될것입니다(이름을통과시키게되면헤더값만을받게됩니다).

Page 256: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

보기

var url = new URL(); url.location="http://www.my_site.com";| url.fetch(); var cookies = URL.getResponseHeaders( "Set-Cookie" );

사용 버전

2.1이후버전에서사용가능합니다.

URL.locationURL의 웹 주소 이름

구문

URL.location

설명

URL이데이터를가져오는웹주소를지정합니다.

보기

var url = new URL(); url.location = "http://www.yahoo.com"; contents = url.fetch();

URL.outputFile가져온 데이터를 저장하는 파일

구문

URL.outputFile

설명

가져온데이터가저장될임의의파일을지정합니다.여러분이문자데이터를(예,HTML파일)검색한다면URL.fetch()의복귀값을이용하는것이나을것이지만,binarydata를검색할경우(예,이미지파일)복귀된데이터는반드시어떤파일속에저장되어야하는데,그것을문자열로변환하는과정으로인하여그것이사용할수없게되기때문입니다.

Page 257: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Object Properties and Functions WIDGET ENGINE 3.1 REFERENCE | ���

보기

var url = new URL(); url.outputFile=system.widgetDataFolder+"/mytempfile"; url.location = "http://www.example.com/graphic.jpg"; url.fetch(); myIng.src = url.outputFile;

URL.postData웹 서버에 POST 되는 데이터

구문

URL.postData

설명

postData를설정하는것은URL객체가GET작동을실행하는대신POST로작동되게합니다.아무것도전송하지않으려면postData를빈문자열로설정합니다.URL객체가다시GET을실행케하려면postData를null로설정합니다.

이데이터의형식은url로엔코드되어야합니다.즉,각인수는name=value로전달해야하며,또한인수는‘&’심볼로분리되어야합니다.데이터에스페이스(space),‘&’,‘=’또는비ASCII문자들이포함되는경우,encode()를이용합니다.

보기

var url = new URL(); var text = encode( "a lot of &&& bad text" ); url.postData = "x=123&y=456&q=" + text; contents = url.fetch("http://www.example.com/myscript.php");

URL.response마지막 페치 (fetch)의 HTTP 응답 코드

구문

URL.response

설명

response속성은마지막fetch호출의결과로수신한HTTP응답코드를가리킵니다.400이상의코드들은요청을완료하는데에문제가있었음을나타냅니다.

웹서버가실제로접속되어요청이이루어지는경우에만응답코드가유효하다는점을기억하십시오.서버가접속가능한상태가아니거나location에유효한URL이제공되지않을경우,response속성은0(영)이될것입니다.웹페이지호출이성

Page 258: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

공할때는언제나응답코드200이표시됩니다.기본설정으로위젯엔진은자동으로redirection이실시되기때문에여러분이autoRedirect특성을false로설정하지않는이상응답코드302를보는일은없을것입니다.

보기

var url = new URL(); url.location = "http://www.yahoo.com"; contents = url.fetch(); log("Response was: " + url.response);

URL.responseData마지막 요청의 결과

구문

URL.responseData

설명

responseData속성은응답으로받은코드의상태와는관계없이서버로부터실제텍스트응답을받기위하여이용됩니다.여기에서는여러분이실제의응답텍스트를받게되며어떠한상태문자열도받지않는다는점에서이속성과URL.result속성과의차이가있습니다.접속이되지않을경우이속성은비어있게됩니다.

이속성을이용하면,서버로부터404에러를받을경우나오는실제의404페이지를얻을수있습니다.

구문

var url = new URL(); url.location = "http://www.mysite.com/a_url_that_doesnt_exist"; url.fetch(); // will print "Could not load URL" print( url.result ); // will print the actual response from the server print( url.responseData );

사용 버전

2.1.1이후버전에서사용가능합니다.

Page 259: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Object Properties and Functions WIDGET ENGINE 3.1 REFERENCE | ���

URL.result마지막 요청의 결과나 에러 문자열

구문

URL.result

설명

result속성은fetch()나fetchAsync()를통해서이루어진마지막요청으로부터수신한결과를나타냅니다.여기에는결과에대한실제텍스트(예,웹페이지)나에러문자열“CouldnotloadURL”혹은“CouldnotloadURLwithPOST”가포함될것입니다.서버로부터의상태코드가200이아닐지라도실제응답이필요한경우,버전2.1.1이후에서는responseData를이용합니다.

보기

var url = new URL(); url.location = "http://www.yahoo.com"; url.fetch(); print( url.result );

사용 버전

2.1이후버전에서사용가능합니다.

URL.setRequestHeader()마지막 요청의 결과

구문

URL.setRequestHeader( name, value )

설명

이함수는HTTP요청의헤더값을설정하는데이용됩니다.이것이가장잘사용되는경우는요청에대한쿠키들을설정할때입니다.버전2.1에서는자동쿠키지원을무능화시켰기때문에쿠키를계속이용하기위해서는이함수가필요합니다.getResponseHeaders기능과더불어이함수는여러분의위젯내의쿠키들을다루는데에이용할수있습니다.이전의응답에서쿠키들을받은후에(getResponseHeader)는이함수를이용하여장래의요청에서쿠키나쿠키들을설정할수있습니다.이름인수는헤더의이름이며,값은실제의헤더내용이됩니다.

보기

var url = new URL(); url.location = "http://www.my_site.com"; url.setRequestHeader( "Cookie", myCookie ); url.fetch();

Page 260: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��0 | WIDGET ENGINE 3.1 REFERENCE

사용 버전

2.1이후버전에서사용가능합니다.

위젯 특징들 및 함수들

Widget.extractFile()위젯에서 파일을 복사하여 위젯 데이터 폴더로 보냅니다

구문

path=Widget.extractFile(file)

설명

이함수는여러분으로하여금위젯에서파일을복사하여위젯의위젯데이터폴더속으로보낼수있게합니다.이것은특히버전3.1의플랫파일(flat-file)위젯들에서파일시스템에파일로서반드시존재해야하는항목들(예,dll들)을이용하는데에특히필요합니다.이함수를이용하는데있어서여러분의위젯이플랫파일위젯일필요는없습니다.

여러분이추출하고자하는파일의상대경로및추출한파일을보낼경로를지정해야합니다.이함수는전역(global)widget객체로서접근가능합니다.

보기

var extPath = widget.extractFile( "Resources/myLibrary.dll" );

사용 버전

3.1이후버전에서사용가능합니다.

Widget.getLocalizedString()주어진 키에 대하여 지역화된 문자열을 가져옵니다

구문

localString = Widget.getLocalizedString( key )

설명

이함수는여러분으로하여금주어진키에대해지역화된문자열을얻을수있게합니다.전역(global)widget객체를가지고이것을호출합니다.

보기

var welcome = widget.getLocalizedString( "welcome_msg" );

Page 261: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Object Properties and Functions WIDGET ENGINE 3.1 REFERENCE | ��1

사용 버전

3.1이후버전에서사용가능합니다.

Widget.locale위젯이 현재 실행되고 있는 언어/ 지역

구문

locale = Widget.locale (read-only)

설명

여러분의위젯이어떤언어와지역에서실행되고있는지를판단하는데도움을주기위하여이특성을사용합니다.나오는문자열의형식은다음과같습니다:

<language>[_<locale>]

여기에서언어는소문자ISO언어코드이며지역은대문자ISO지역코드입니다.예를들면다음과같습니다:

en en_US ko

지역부분은언어에따라서존재할수도있고존재하지않을수도있습니다.예를들면,영어의경우는여러가지선택안이있을수있습니다(미국,영국,등등).여러분이여기에신경을쓰는경우라면이정보를이용하면되고,그렇지않고여러분의표현에있어서언어자체에만근거하여여하한결정의기초를삼기원할때는처음의두문자만을보고처리하면됩니다.이특징에는전역widget객체를통하여접근합니다.

보기

var locale = widget.locale; if ( locale.substr( 0, 2 ) == "en" ) print( "It's English" );

사용 버전

3.1이후버전에서사용가능합니다.

Page 262: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

창의 특징 및 기능

Window.focus()창을 전면으로 보냅니다

구문

Window.focus()

설명

어떠한이유로창을전면으로보내야할필요가있을때창에focus()메소드(method)을적용할수있습니다.윈도우에서는이API가언제나창을완전히전면으로보내지는않을수도있으며,특히위젯이시작할수있도록활성화가안된경우가그러합니다.그러나여러분이위젯과상호작용하고있으면서,어떤감시창이나다른부수적인창이전면으로갈것을요청하면이API가그것을수행할것입니다.

보기

myWindow.focus();

사용 버전

3.0이후버전에서사용가능합니다.

Window.locked사용자가 창을 드랙 할 수 있는 능력을 무효화 시킵니다

구문

Window.locked

설명

사용자가창을드랙할수있는지여부를제어하기위하여창의잠금특징을설정하거나감시할수있습니다.이설정은대체적으로환경설정(preference)대화창에있는위젯의창환경설정을통해서제어됩니다.XML인터페이스에서는이속성이표현되지않습니다.

보기

myWindow.locked = true;

Page 263: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Object Properties and Functions WIDGET ENGINE 3.1 REFERENCE | ��3

Window.moveTo()창을 이동시킵니다

구문

Window.moveTo(newX, newY, duration)

설명

이창의원점(hOffset,vOffset)이newX및newY에의해서지정된새로운좌표로이동합니다.duration은그애니메이션이지속되기원하는시간(10분의1초단위)를지정합니다.객체의움직임이애니메이션화되어움직입니다(이점이단순히hOffset및vOffset을변경하는것과의차이입니다).

보기

myWindow.moveTo(150, 150, 2);

Window.recalcShadow()창의 아쿠아 그림자효과를 다시 계산합니다.

구문

Window.recalcShadow()

설명

그림자를가지고있는위젯이형태를바꿀때(예를들어,이미지를숨기거나나타냄으로써형태가바뀌는것),위젯은사용자에게제어권을넘기기전에메인창의recalcShadow()메소드(method)을호출하여그림자가정확하게표시되게해야합니다.위젯의창이그크기를변경시킬경우에는그림자가자동으로생성되기때문에이함수를호출할필요가없습니다.

우리가그림자를지속적으로재계산하지않는이유는전적으로성능상의이유때문입니다.

보기

if (myWindow.shadow) myWindow.recalcShadow();

윈도우 특기 사항

창의그림자는윈도우의경우버전3.1이상에서지원됩니다.

Page 264: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

Window.root창의 루트 화면

구문

Root Window.root (read-only)

설명

이특징에는창의루트화면이포함됩니다.이값은절대null이될수없으며창의최상부에모든화면들을포함합니다.창에화면을더하기위해서는root.addSubView()를호출하거나아니면객체의창(window)속성을설정할수있습니다.이두가지경우모두,화면은루트의자녀(child)화면이될것입니다.

보기

var root = myWindow.root;

사용 버전

버전3.0이상에서사용가능합니다.이특징이존재하기위해서위젯의최소버전설정은최소한3.0이되어야합니다.

Page 265: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Animation WIDGET ENGINE 3.1 REFERENCE | ���

Animation Objects애니메이션을 실행하는데 도움을 주는 객체들 및 함수들

버전2.1이후의위젯엔진에는여러분이동기적이거나비동기적으로애니메이션들을실행할수있게해주는애니메이션지원함수들이포함됩니다.이것은또한자바스크립트로자신의애니메이션을실행할수도있게해줍니다.여러분은동시에객체를fade하거나이동시키거나회전시킬수가있습니다.

애니메이터라고불리는새로운객체가애니메이션을제어합니다.여러분의위젯은다른일을하게하고그와동시에애니메이터로하여금애니메이션을시작시키면서비동기적으로실행하도록명령할수있습니다.여러분은또한한애니메이션(혹은복수의애니메이션)을취하여모두동시에돌아가게할수도있는데,즉모든애니메이션들이완료될때까지호출은블록될것입니다.

이함수들은매우재미있는애니메이션들을만들때생기는모든어려운점들을말끔하게해소시켜줍니다.또한이것들은애니메이션의처음이나끝부분에객체의속도를높이거나낮춤으로써보다현실감있는움직임을제공하는경우에,표준애니메이션의이즈기법의효과를간단하게얻을수있는‘이즈(ease)’기능또한제공합니다.

각애니메이션형식은‘완료(done)’함수를가지고있는데이것을호출하면언제애니메이션이끝나는지알수있게됩니다.이함수는비동기로애니메이션을돌리는경우에만호출할수있습니다.이완료함수를이용하여애니메이션들을한데연결함으로써,앞의애니메이션이끝나는대로새애니메이션을시작하게만들수있습니다.

애니메이터 (animator)마스터 애니메이션 객체

버전2.1이후에는애니메이터객체가애니메이션시스템의핵심이되었습니다.이것은여러분이애니메이션을시작할때사용하는것입니다.여러분은또한이객체상에여러메소드(method)들을호출하여‘이즈(ease)’변환함수를다루는데도움을받을수도있습니다.

animator.ease()‘이즈 (ease)’ 효과를 위하여 두 개의 수들 사이에 한 숫자를 섞습니다

구문

animator.ease( start, end, percent, easeType )

설명

이함수는여러분이애니메이션에서‘이즈(ease)’함수를만드는데에도움을줍니다.위젯엔진2.0이상에존재했던모든내장형활동애니메이션들은이효과를가지고있었습니다.기본적으로설명하자면,어떤객체가멀어질때속도를높여주거나멈출때속도를낮추어서움직임에보다현실감을더해줄수있습니다.

Page 266: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

이함수를이용하기위해서는시작숫자와종료숫자,또한분수로완료퍼센트를입력해야합니다(즉,절반완료의경우에는0.5를기입합니다).이즈종류(easetype)는애니메이터객체들에첨가되는상수들가운데한가지를가지고지정됩니다:kEaseNone,kEaseIn,kEaseOut,kEaseInOut.이상수들각각의의미에대해서는아래를참조합니다.

보기

var n = animator.ease( 0. 100, .7, animator.kEaseOut ); // at this point, n is some place between 0 and 100 // depending on the ease out curve. It is not linear.

사용 버전

2.1이후버전에서사용가능합니다.

animator.kEaseIn animator.kEaseOut animator.kEaseInOut animator.kEaseNone사용할 이즈의 유형을 지정하는 상수들

설명

이상수들은animator.ease()함수를이용하는것뿐아니라다양한애니메이션객체들을만들어낼때사용됩니다.이즈효과에익숙한사람을위한참고로,현재엔진은sinusoidal이즈함수를이용합니다.

이즈인(EaseIn)이라함은객체가천천히움직이기시작하여움직임에따라속도를높이는것을의미합니다.

이즈아웃(EaseOut)이라함은빠른속도에서시작하여속도를점점줄여정지에이르게하는것을의미합니다.

이즈인/아웃(EaseIn/Out)이라함은천천히시작하여,최대속도에이른다음그과정의막바지에이름에따라다시속도를줄이는것을말합니다.

이즈넌(Easenone)이라함은이징효과가없음을의미합니다.즉속도가처음부터끝까지동일합니다.

사용 버전

2.1이후버전에서사용가능합니다.

Page 267: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Animation WIDGET ENGINE 3.1 REFERENCE | ���

animator.milliseconds현재의 애니메이션 시간 기준 (timebase)

설명

사용자제작애니메이션(customanimation)의경우,출발시간을표시하기위하여현재애니메이션시간기준(timebase)를정하는것이유용합니다(혹은언제가‘지금’인지아는것만으로도좋습니다).이애니메이션객체의특성은여러분으로하여금현재시간을결정하게해줍니다.

보기

myAnimation.startTime = animator.milliseconds;

사용 버전

2.1이후버전에서사용가능합니다.

animator.runUntilDone()애니메이션이나 여러 애니메이션들을 종료 시점까지 실행합니다

구문

animator.runUntilDone(object|array)

설명

이함수는애니메이션이나여러애니메이션들이모두종료될때까지실행시킬때에사용됩니다.이함수는지정된애니메이션들이모두완료된것으로간주될때까지되돌아오지않습니다.이런이유로이함수는짧고,유한한애니메이션을돌리는경우에만사용되어야합니다.‘맥박버튼(pulsingbutton)’효과와같은무한한애니메이션은이호출에서계속빠져나오지못하게만들기때문에이런일이발생하지않도록주의를기울여야합니다.

보기

// crossfade var a = new FadeAnimation( myImage1, 0, 350, animator.kEaseOut ); var b = new FadeAnimation( myImage2, 255, 350, animator.kEaseOut ); animator.runUntilDone( new Array( a, b ) ); // at this point both animations are complete.

사용 버전

2.1이후버전에서사용가능합니다.

Page 268: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

animator.start()비동기 애니메이션이나 여러 애니메이션들을 시작시킵니다

구문

animator.start(object|array)

설명

이함수는애니메이션이나복수의애니메이션들을비동기로실행시키는데에이용됩니다.이함수는즉각적으로복귀되는것으로,애니메이션이완료될때까지기다리지않습니다.자바스크립트코드에서나와서위젯의메인이벤트회로로제어함수가복귀할때까지애니메이션들은실제로시작조차하지않을것입니다.이것은복수의애니메이션들을시작할수있으며이것들이실제로동시에시작할것이라는것을의미합니다.각각에대해서시작을호출하거나어떤배열로서애니메이션들을모두시작시키거나모두가능합니다.

보기

// crossfade asynchronously var a = new FadeAnimation( myImage1, 0, 350, animator.kEaseOut ); var b = new FadeAnimation( myImage2, 255, 350, animator.kEaseOut ); animator.start( new Array( a, b ) ); // at this point nothing has started yet. When we leave our Javascript code, the animations will start up at the exact same time.

사용 버전

2.1이후버전에서사용가능합니다.

animation.kill()애니메이션의 실행을 중단시키는 기본 클래스 메소드(method)

구문

animation.kill()

설명

이함수는실질적으로아래의모든애니메이션객체들에대한‘기본클래스’기능입니다.즉,아래의어떤애니메이션객체들상에서도호출될수있다는의미입니다.이것은실행중에있는시간차애니메이션들을중단시키는데에사용됩니다.예를들어,여러분이특정모드에서어떤객체를무한히회전시키는애니메이션을가지고있다면,그모드를빠져나올때그애니메이션을중단시켜야할것입니다.이런것을하는데에이함수를사용합니다.

Page 269: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Animation WIDGET ENGINE 3.1 REFERENCE | ���

보기

var a = new CustomAnimation( 1, SpinMeRightRoundBaby ); animator.start( a ); // some time later, maybe after the user clicks a button if(a!=undefined) a.kill();

사용 버전

Available in version 2.1 or later.

CustomAnimation()자바스크립트로 작성된 커스텀 (custom) 애니메이션 루틴 (routine)

구문

new CustomAnimation( interval, updateFunc [,doneFunc] );

설명

이것은여러분이사용할수있는가장융통성있는애니메이션객체이지만,여러분들이모든것을직접해야합니다.일반적으로아래에제공되는애니메이션들의페이드(fade),이동,회전등을조합하는것만으로도상당히재미있는것들을만들수가있습니다.

첫번째인수는여러분의애니메이션시작의간격을밀리초단위로나타내는것입니다.여러분의업데이트함수에서이간격을변경할수있습니다.이것을이용하면속도가변하는애니메이션등과같은것을만들수있습니다.이것의좋은사례는움직이는GIF이미지가있는것들이될수있는데,여기에서는각프레임들이자신의기간을가지고있습니다.여러분의업데이트함수가호출되면‘이’객체가애니메이션그자체가되기때문에그간격을다음과같이바꿀수가있습니다:

function MyUpdate() { this.interval = 5000; // switch to 5 seconds return true; }

그다음변수로는여러분의업데이트함수가있습니다.이것은여러분이애니메이션작업을하는곳입니다.어떤객체를움직이거나,그불투명도를변경하거나,아니면이미지의HSL설정을조정하는것같은정말재미있는것들을할수있습니다.커스텀애니메이션은여러분의업데이트함수가false로나올때까지실행됩니다.그렇기때문에계속영속적으로돌아가는애니메이션은위의인코딩에서나타나는것과같이항상true로나올것입니다.영속적인애니메이션은애니메이션상에kill()메소드(method)을호출함으로써항상빠져나올수가있습니다.

myAnimation.kill();

Page 270: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��0 | WIDGET ENGINE 3.1 REFERENCE

마지막으로,선택사양인인수가완료(done)함수입니다.이것은여러분의애니메이션이완료될때호출됩니다.무한애니메이션이있는경우라면,여러분의업데이트함수가false로복귀된바로후이함수가호출될것입니다.혹은여러분이원할경우false로나오기직전에여러분의업데이트함수에서작업을바로할수도있습니다.

간격(interval)기능과더불어,여러분의커스텀애니메이션은그함수에접근할수있는또다른특징인startTime함수를가지고있습니다.이것은여러분의애니메이션이대기열에추가될때,혹은runUntilDone이호출될때자동으로설정됩니다.얼마나오래시간이지났는지확인하기위하여여러분의업데이트기능내부에이값을문의해볼수도있습니다.

보기

var x = new CustomAnimation( 1, UpdateMe ); // some custom properties for my animation x.duration = 350; x.startOpacity=myObject.opacity; x.endOpacity = 0; function UpdateMe() { var now = animator.milliseconds; var t = limit( now - this.startTime, 0, this.duration ); var percent = t / this.duration; //setthenewopacityofourobjectbasedon // easing. myObject.opacity=animator.ease(this.startOpacity, this.endOpacity, percent, animator.kEaseOut ); // If the duration is up, let's get out of here if ( animator.milliseconds >= (this.startTime + this.duration ) { // make sure we reached the end myObject.opacity=this.endOpacity; return false; // we're done } return true; // keep going }

사용 버전

2.1이후버전에서사용가능합니다.

Page 271: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Animation WIDGET ENGINE 3.1 REFERENCE | ��1

FadeAnimation()an animation object to adjust the opacity of an object

구문

newFadeAnimation(object,toOpacity,duration, easeType [, doneFunc]);

설명

This animation object can be used to adjust the opacity of an image, frame, text, textarea, or window object. This can be used to fade an object in or out. You pass the opacity you ultimately want to reach in the toOpacity parameter. The duration is specified in milliseconds. You can specify the type of easing in the easeType parameter.

Once you've created this animation object, you can pass it to animator.start() or animator.runUntilDone().

If you pass a function for the doneFunc parameter, and you started your animation with animator.start(), when the animation is complete, the function you passed will be called.

보기

vara=newFadeAnimation(myObject,0,350, animator.kEaseOut, FadeDone ); animator.start( a ); function FadeDone() { //thefadeabovehasfinished print( "fade complete" ); }

사용 버전

2.1이후버전에서사용가능합니다.

MoveAnimation()객체의 위치를 조정하는 애니메이션 객체

구문

newMoveAnimation(object,toX,toY,duration, easeType [, doneFunc]);

설명

이미지,프레임,텍스트,텍스트영역,혹은창객체의위치를조정하는데에이애니메이션객체를이용할수있습니다.이것은스크린상에객체를이동시키는데에이

Page 272: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

용될수있습니다.이것은여러분이투입하는hOffset및vOffset을조절함으로써작동합니다.여러분이궁극적으로도달하고자하는hOffset과vOffset을투입합니다.duration(기간)은밀리초단위로기입합니다.easeType인수에는이즈기법의유형을지정합니다.

이애니메이션객체를일단작성하면그것을animator.strat()나animator.runUntilDone().에투입할수있습니다.

doneFunc인수에어떤함수를투입하는경우애니메이션이종료될때animator.start()로애니메이션을시작시키면여러분이투입한함수가호출될것입니다.

보기

vara=newMoveAnimation(myObject,100,100,350, animator.kEaseOut, MoveDone ); animator.start( a ); function MoveDone() { //themoveabovehasfinished print( "move complete" ); }

사용 버전

2.1이후버전에서사용가능합니다.

RotateAnimation()객체의 회전을 조정하는 애니메이션 객체

구문

new RotateAnimation( image, toAngle, duration, easeType [, doneFunc]);

설명

이미지,프레임,텍스트,텍스트영역,혹은창객체의각도를조정하는데에이애니메이션객체를이용할수있습니다.이것은여러분이투입하는이미지의각도속성을조절함으로써작동합니다.객체가회전을마쳤을때여러분이궁극적으로도달하고자하는각도를투입합니다.duration(기간)은밀리초단위로기입합니다.easeType인수에는이즈기법의유형을지정합니다.

이애니메이션객체를일단작성하면그것을animator.strat()나animator.runUntilDone().에투입할수있습니다.

doneFunc인수에어떤함수를투입하는경우애니메이션이종료될때animator.start()로애니메이션을시작시키면여러분이투입한함수가호출될것입니다.

Page 273: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Animation WIDGET ENGINE 3.1 REFERENCE | ��3

보기

vara=newRotateAnimation(myObject,180,350, animator.kEaseOut, RotateDone ); animator.start( a ); function RotateDone() { //therotateabovehasfinished print( "rotate complete" ); }

사용 버전

2.1이후버전에서사용가능합니다.

Page 274: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

XML 서비스

XML 서비스에 관하여

위젯엔진은XML을다룰수있는몇가지메커니즘들을제공합니다.이서비스를이용하면XML트리(tree)를생성,분석및조작할수있습니다.또한웹서버의XML페칭을위한모의표준인XMLRequest의내장형구현을이용할수도있습니다.

XML문서의분석및생성은전역(global)XML객체를통하여이루어집니다.거기에서,여러분은표준3WC수준1DOMAPI들을이용하여XML트리를조작할수있습니다.어떤트리정보에서데이터를보다쉽게추출하기위해서node.evaluate()을통하여XPath1.0구현을제공하고있습니다.

DOM API이부분에서는현재위젯엔진의레벨1W3CDOM구현을통해서지원되는다양한객체들및메소드(method)/특징들을열거할것입니다.현재우리는전체API에대한방대한부분집합을제공합니다.그러나현재의파서는DTD들을다루지않기때문에자동으로속성을기본설정값으로채우는것및그와유사한것들을실행하지못합니다.

다음의내용은우리가지원하는특징들및함수들에대한간략한개요입니다.보다상세한정보를위해서는w3c.org웹사이트를방문할것을권합니다.

DOMExceptionDOM 에 대한 표준 예외 등급

어떤예외적인상황이발생할경우,DOMException이자바스크립트예외를발생시킵니다.무엇이일어났는지보기위해서는객체의code속성을조사하면됩니다.레벨1의예외코드들은다음과같습니다:

INDEX_SIZE_ERR 1 DOMSTRING_SIZE_ERR 2 HIERARCHY_REQUEST_ERR 3

Page 275: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

XML Services WIDGET ENGINE 3.1 REFERENCE | ���

WRONG_DOCUMENT_ERR 4 INVALID_CHARACTER_ERR 5 NO_DATA_ALLOWED_ERR 6 NO_MODIFICATION_ALLOWED_ERR 7 NOT_FOUND_ERR 8 NOT_SUPPORTED_ERR 9 IN_USE_ATTRIBUTE_ERR 10

DOMDocument전체 XML 문서를 나타냅니다

속성

doctype 문서에대한문서유형의정의

documentElement 문서의루트요소

기능

DOMElement createElement(string tagName);

주어진태그이름을가지고문서에대한새로운요소노드(node)를생성합니다.appendChild를이용하여이것을문서에적절하게첨부해야합니다.

DOMText createTextNode(string data);

주어진내용을가지고문서를위한새로운텍스트노드를생성합니다.

DOMComment createComment(string data);

주어진내용을가지고새로운명령노드(commentnode)를생성합니다.

DOMCDATASection createCDATASection(string data);

주어진내용을가지고새로운CDATA section을생성합니다.

DOMProcessingInstruction createProcessingInstruction(string target, string data);

주어진대상과데이터를가지고새로운처리명령을생성합니다.

DOMAttribute createAttribute(string name);

주어진이름을가지고새로운속성노드를생성합니다.

DOMNodeList getElementsByName(string name);

지정된이름을가지고문서내의모든요소들의리스트를반환합니다.

DOMNode importNode(DOMNode node, boolean deep);

어떤다른문서로부터이문서속으로노드를받아들입니다.버전3.1부

Page 276: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

터사용가능합니다.

DOMNodeXML 트리의 항목들에 대한 기본 클래스

DOMENode는DOMAPI에서여러분이다루게되는거의모든것에대한기본등급입니다.일상적인운용에서는DOMNode를마주치게될일이없지만그인터페이스는모든노드유형들(텍스트,요소,CDATA,등등)에대하여공통적인모양을하고있기때문에각부분집단들에대해서계속반복해서설명하는것보다는여기에서한번요약하는것으로대신하겠습니다.

속성

nodeName

이노드의이름

nodeType

노드의유형,정수로써표시됩니다.

parentNode

이노드의parent(영이될수있음).

childNodes

DOMNodeList의child

firstChild

이노드의첫번째child

lastChild

이노드의마지막child

previousSibling

현재노드의이전형제child노드

nextSibling

현재노드의다음형제child노드

attributes

이노드속성들의DOMNamedNodeMap(요소노드들에대해서만유효하며,그외는영입니다).

ownerDocument

이노드가속하는DOMDocument

Page 277: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

XML Services WIDGET ENGINE 3.1 REFERENCE | ���

기능

DOMNode insertBefore(DOMNode newChild, DOMNode refChild);

이노드의child안의refChild앞에newChild를삽입합니다.

DOMNode replaceChild(DOMNode newChild, DOMNode oldChild);

oldChild를newChild로대체합니다.

DOMNode removeChild(DOMNode oldChild);

이노드의child들로부터oldChild를제거하여그것을돌려보냅니다.

DOMNode appendChild(DOMNode newChild);

주어진child노드를추가합니다(이노드유형이자녀를허용하는경우)

boolean hasChildNodes();

이노드가child노드들을가지는경우true가반환됩니다.

DOMNode cloneNode(boolean deep);

이노드를복제합니다.deep값이true인경우모든하위child들도복제합니다.

<various> evaluate(string xpath-expression);

이것은엔진의XPath지원을이용하여인터페이스를구성하는위젯엔진을통하여정의되는확장명입니다.현재의노드를XPath표현을위한콘텍스트로이용하면,여러분이꿈꾸는거의모든XPath1.0을실행할수있습니다.그결과는문자열이나,숫자나혹은일련의노드들이될수있습니다.위젯엔진은DOMNodeLists로노드집합을내놓습니다.보다자세한정보는XPath부분을참조하십시오.

string toXML();

위젯엔진DOMNode확장기능.어떤파일로작성할출력이나,디버깅목적의출력을위하여이노드에서시작하여XML속으로하위트리꼴을변환시킵니다.

DOMNodeList노드들에 대한 간단한 리스트

W3C방식을유지할때,DOMAPI를통하여표현되는노드리스트는자바스크립트배열이아니라DOMNodeList로표현됩니다.

속성

length

리스트내항목들의수

Page 278: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

기능

DOMNode item(n)

리스트내n번째의항목을내보냅니다.DOMNode리스트는null을기본으로합니다.

DOMNamedNodeMap이름이나 인덱스를 통하여 접근 가능한 노드들의 지도

속성노드들이DOMElement노드의속성특징을통하여돌아오게될경우,이것들은이름이붙여진노드지도속으로돌아옵니다.이지도는기본적으로이름을통하여접근가능하지만DOMNodeList와같은인덱스를통해서도변환할수있습니다.이속성들의명령은보장되지않으며그명령에대한응답은없습니다.

속성

length

리스트내항목들의수

기능

DOMNode getNamedItem(string name);

소정의이름을가진항목들을내보냅니다.항목이발견되지않을경우

null을내보냅니다.

DOMNode setNamedItem(string node);

지도에소정의노드를더합니다.소정의이름을가진노드가존재할때는이것이교체되어옛노드는돌아나옵니다.소정의이름을가진노드가존재하지않을경우에는null이돌아나옵니다.

DOMNode removeNamedItem(string name);

소정의이름을가진항목이존재할경우이것을제거합니다.

DOMNode item(int n);

리스트내n번째항목을내보냅니다.DOMNodeList들은0을기본으로합니다.

DOMCharacterData텍스트 및 코멘트 노드들에 대한 기본 등급

이등급은DOMNode와마찬가지로실제생활에서는절대마주칠일이없는어떤것이지만DOMText및DOMComment노드들에대한인터페이스는접근이가능합니다.DOMNode에서와마찬가지로이인터페이스들을서로유사하기때문에반

Page 279: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

XML Services WIDGET ENGINE 3.1 REFERENCE | ���

복설명하지않고여기에서한번만설명합니다.

속성

data

실제문자데이터

length

문자데이터의길이

기능

string substringData(int offset, int count);

문자열로써데이터의하위문자열을내보냅니다.이것은offset에서데이터문자열의count문자들을내보냅니다.

void appendData(string data);

노드의데이터에대한소정의텍스트를추가합니다.

void insertData(int offset, string data);

지정된offset에주어진문자열을삽입합니다.

void deleteData(int offset, int count);

offset에서시작하는coundt문자들의배열을삭제합니다.

void replaceData(int offset, int count, string data);

offset에서시작하는coundt문자들의배열을string으로교체합니다.

DOMAttribute어떤 요소에 대한 속성 노드

속성

name

attribute의이름

value

attribute의값.이값이반환되기전에문자와개체참조값은환원됩니다.

Page 280: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��0 | WIDGET ENGINE 3.1 REFERENCE

DOMElement요소 노드

속성

tagName

요소의태그이름

기능

string getAttribute(string name);

지정된속성값을내보내거나그속성이존재하지않을경우는빈문자열을내보냅니다.

setAttribute(string name, string value);

요소에주어진속성및그값을추가하여이미존재하고있는동일한이름의속성을교체합니다.

removeAttribute(string name);

지정된이름의속성이존재하는경우이것을제거합니다.

DOMAttribute getAttributeNode(string name);

Returnstheattributenodecorrespondingtothenamepassedin,ornulliftheattributedoesnotexist.

DOMAttribute setAttributeNode(DOMAttributes attr);

주어진속성및그값을요소에추가하여이미존재하고있는동일한이름의속성을교체합니다.어떤노드가기존의노드를교체할경우처리결과로써옛노드가나오며,그렇지않을경우는null이나옵니다.

DOMAttribute removeAttributeNode(DOMAttribute attr);

요소의속성들로부터지정된노드를제거하여그것을내보냅니다.

DOMNodeList getElementsByTagName(string name);

이노드의후손으로써,지정된태그이름을가진모든요소들의리스트를내보냅니다.

void normalize();

현재의요소와더불어시작하는하위트리꼴내에인접하는DOMText노드가존재하는경우,이함수가그것들을단일요소로결합시킵니다.

Page 281: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

XML Services WIDGET ENGINE 3.1 REFERENCE | ��1

DOMText텍스트 요소

기능

DOMText splitText(int offset);

주어진마디를두개로쪼개어트리꼴에서그뒤를이어새로운형제로써새로운노드를더해줍니다.이노드에는offset에이를때까지텍스트를채웁니다.뒤에따라오는노드에는텍스트의나머지가포함될것입니다.새로운텍스트노드는되돌아옵니다.

DOMComment코멘트 노드

이노드에는단순히DOMCharacterData인터페이스의특징과함수가포함되어있습니다.

DOMCDATASectionCDATA 부분

이노드에는단순히DOMCharacterData인터페이스의특징과함수가포함되어있습니다.

DOMDocumentType문서 유형 노드

현재이노드는오직이름특성만을정의합니다.위젯엔진의현재버전에서는개체와표기법을지원하지않습니다.

속성

name

문서루트객체의이름.위젯의경우이것은‘widget’이됩니다.HTML의경우‘html’이됩니다.

DOMNotationnotation 노드

현재,이노드는오직이름특징만을정의합니다.개체및표기법들은현재의위젯엔진버전에서는지원되지않습니다.

Page 282: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

DOMEntity개체 참조를 나타내는 노드

현재지원되지않습니다.

DOMEntityReferencea node representing an entity reference

현재지원되지않습니다.

DOMProcessingInstruction처리 명령을 나타내는 노드

속성

target

처리명령의대상

data

처리명령의내용.이것은대상뒤에“?.”바로앞에오는문자에대한목표뒤에위치한최초의비공백(non-whitespace)문자에서나옵니다.

Page 283: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

XML Services WIDGET ENGINE 3.1 REFERENCE | ��3

XMLDOM ObjectXMLDOM전역객체는여러분으로하여금XML을분석하고생성할수있게해줍니다.레벨1DOMAPI와같이새로운것을통하여DOMNode객체들을생성할수는없습니다.문서를생성하기위해서는XMLDOM객체를이용해야하며,그문서에첨부하기위한요소를생성할때는그문서자체를이용해야합니다(즉,DOMDocument는모든요소들,텍스트항목들,코멘트등등을위한팩토리입니다).

XMLDOM.createDocument()새로운 빈 DOMDocument를 생성합니다

구문

doc = XMLDOM.createDocument();

설명

이함수는여러분으로하여금새로운DOMDocument요소를만들수있게합니다.거기에서부터여러분은DOMDocumentAPI를이용하여,W3C레벨1DOM명세서에지정된바대로그문서에첨부되는요소들을만들수있습니다.

보기

doc = XMLDOM.createDocument(); root = doc.createElement( "root" ); doc.appendChild( root );

print( doc.toXML() );

사용 버전

3.1이후버전에서사용가능합니다.

XMLDOM.parse()XML을 분석하여 DOMDocument를 얻습니다

구문

doc = XMLDOM.parse(xml);

설명

parse함수는주어진XML문자열을(웹서버에서얻거나아니면filesystem.readFile()과같은호출을이용하여얻음)분석하여DOMDocument노드를내보냅니다.이문서노드는W3C레벨1DOMDocument로써W3C에서지정된대로API를따릅니다(개체객체와같은어떤모듈은빠져있습니다).

xml이분석에실패하면,에러문자열이포함된예외메시지가뜹니다.이에러를피하기위해서는항상try/catch블록내부의XML파서를호출해야합니다.

Page 284: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

보기

try { doc = XMLDOM.parse( xmlStream ); root = doc.documentElement; ... } catch( e ) { print( e ); }

사용 버전

3.0이후버전에서사용가능합니다.

Page 285: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

XML Services WIDGET ENGINE 3.1 REFERENCE | ���

XMLHttpRequest설명

XMLHttpRequest 객체는 초창기부터 위젯 엔진에 존재해 온 URL 객체와 매우 비슷합니다. 그러나 XMLHttpRequest 는 웹 브라우저에서 http를 통해서 XML 을 실행하는 데 있어서 사실상의 표준 메소드(method)이기 때문에, 여기에서 이 부분을 첨가하는 것은 위젯 엔진으로 AJAX 코드를 넘길 때 더욱 용이한 경로를 사람들에게 제공하고, 또한 최대한 표준을 준수하여 개발자들이 여기에 보다 편리하게 접근할

수 있게 하기 위한 것입니다.

메소드(method)

abort() 비동기요청을취소합니다.

getAllResponseHeaders() 모든응답헤더들을가져옵니다.

getResponseHeader() 특정응답헤더를가져옵니다.

open() 우리의요청인수들을설정합니다.

send() 선택적데이터가있는요청을보냅니다.

setRequestHeader() 요청에대한헤더를설정합니다.

속성

onreadystatechange

요청상태가변하여시간차요청을보낼때호출되는함수를지정합니다.

readyState onreadystatechange기능의내부에사용되는요청의현재상태.

responseText 응답의전체텍스트(예,웹페이지나XML텍스트).

responseXML 응답이텍스트/xml일경우,이특징에는수신된XML를재현하는DOMDocument가포함될것입니다.

status HTTP상태코드(예,200)

statusText HTTP상태텍스트(예,“OK”)

보기

var req = new XMLHttpRequest(); req.open( "GET", "http://www.yahoo.com", false ); req.send(); print( req.responseText );

Page 286: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

XMLHttpRequest.abort()비동기 요청을 취소합니다

구문

XMLHttpRequest.abort()

설명

open()의비동기인수에대하여true가통과될경우,이것이여전히미해결상태일때그요청을종결시키는데에이호출을사용할수있습니다.

보기

request.abort();

사용 버전

3.0이후버전에서사용가능합니다.

XMLHttpRequest.getAllResponseHeaders()응답으로부터 모든 헤더들을 복귀 시킵니다

구문

array XMLHttpRequest.getAllResponseHeaders()

설명

어떤요청이완료된후에,문자열배열로의응답과더불어돌아온모든헤더들을검색하는데에사용될수있습니다.

보기

var headers = request.getAllResponseHeaders();

사용 버전

3.0이후버전에서사용가능합니다.

XMLHttpRequest.getResponseHeader()이름에 따라 응답으로부터 한 개 이상의 헤더들을 돌려 보냅니다

구문

string|arrayXMLHttpRequest.getReponseHeader(string)

설명

요청이완료된후,주어진이름을가진한개이상의헤더들을검색하는데에이호

Page 287: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

XML Services WIDGET ENGINE 3.1 REFERENCE | ���

출을사용할수있습니다.한개의헤더만이존재할경우,단일문자열결과를내보낼것입니다.복수의헤더가존재할경우,쌍으로이루어진배열을내보냅니다.

보기

var cookies = request.getResponseHeader( "Set-Cookie" );

사용 버전

3.0이후버전에서사용가능합니다.

XMLHttpRequest.onreadystatechange시간 차 요청이 처리될 때 호출하는 기능

구문

XMLHttpRequest.onreadystatechange

설명

비동기로요청이송신될경우open()부분을참조할것),요청상태가변경될때호출되어야하는함수를반드시지정해야합니다.이기능으로는어떠한인수도통과되지않습니다.여러분의함수가호출될때,‘이것이’요청을지칭하는것이됩니다.일반적으로여러분의readyState는4값입니다(종료).

보기

var request = new XMLHttpRequest(); request.onreadystatechange = myStatusProc; request.open( "GET", "http://www.yahoo.com", true ); request.send(); // someplace else function myStatusProc() { if ( this.readyState == 4 ) // complete { print( this.status ); } }

사용 버전

3.0이후버전에서사용가능합니다.

Page 288: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

XMLHttpRequest.open()송신을 위한 요청을 설정합니다

구문

XMLHttpRequest.open(method,url,async);

설명

이것은송신을위한요청을설정합니다.여러분은비동기로이요청을보내기원하는지여부를나타내는메소드(method),url,및표시문자(flag)을통과시킬수있습니다.현재로서는일반적인사용자이름및패스워드인수들을지원하지않음을기억하십시오.추후의버전에서는지원될것입니다.

인수들로유효한값들은"GET","POST","HEAD","OPTIONS","PUT",및"DELETE".

보기

var request = new XMLHttpRequest(); request.onreadystatechange = myStatusProc; request.open( "GET", "http://www.yahoo.com", true ); request.send();

사용 버전

3.0이후버전에서사용가능합니다.

XMLHttpRequest.readyState요청의 현재 상태

구문

XMLHttpRequest.readyState (read-only)

설명

이것은현재의요청상태가무엇인지를판단하는데에사용될수있습니다.이것은일반적으로여러분의onreadystatechange함수에서비동기로보낼때만사용됩니다.

readyState에대한값은다음과같습니다:

0 uninitialized 1 loading 2 loaded 3 interactive 4 complete

버전3.0에서위젯엔진은readyState를0,1,혹은4로만설정될수있습니다.

Page 289: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

XML Services WIDGET ENGINE 3.1 REFERENCE | ���

보기

var request = new XMLHttpRequest(); request.onreadystatechange = myStatusProc; request.open( "GET", "http://www.yahoo.com", true ); request.send(); // someplace else function myStatusProc() { if ( this.readyState == 4 ) // complete { print( this.status ); } }

사용 버전

3.0이후버전에서사용가능합니다.

XMLHttpRequest.responseText요청에 의해서 반환되는 텍스트

구문

XMLHttpRequest.responseText (read-only)

설명

이특징에는여러분이보낸요청을위하여웹서버에의해서반환되는텍스트가포함됩니다.일반적으로이것은웹페이지나XML이됩니다..

보기

var request = new XMLHttpRequest(); request.open( "GET", "http://www.yahoo.com", false ); request.send(); if ( request.status == 200 ) print( request.responseText );

사용 버전

3.0이후버전에서사용가능합니다.

Page 290: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��0 | WIDGET ENGINE 3.1 REFERENCE

XMLHttpRequest.responseXML요청에 의해서 반환되는 XML DOM

구문

XMLHttpRequest.responseXML (read-only)

설명

요청에대한응답이“text/xml”의내용유형을가진데이터를내보낼경우,이특징에는XML문서를나타내는DOMDocument노드가포함될것입니다(즉,이것은자동적으로분석되어사용준비가될것입니다).문서가분석되지못할경우,혹은내용유형이“텍스트/xml”이아닌경우,이특징은null이될것입니다.

보기

var request = new XMLHttpRequest(); request.open( "GET", "http://www.yahoo.com", false ); request.send(); if ( request.status == 200 ) print( request.responseXML.toXML() );

사용 버전

3.0이후버전에서사용가능합니다.

XMLHttpRequest.send()서버에 요청합니다

구문

XMLHttpRequest.send([body])

설명

이함수는실제로서버에데이터를송신하는일을실행합니다.여러분은이기능으로가는HTTP요청의몸체로써선택적으로데이터를통과시킬수있습니다.

보기

var request = new XMLHttpRequest(); request.open( "POST", "http://www.yahoo.com", false ); request.send( someXML );

사용 버전

3.0이후버전에서사용가능합니다.

Page 291: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

XML Services WIDGET ENGINE 3.1 REFERENCE | ��1

XMLHttpRequest.setRequestHeader()요청 헤더를 설정합니다

구문

XMLHttpRequest.setRequestHeader(name,value)

설명

이함수는요청에헤더를추가하면서,잠재적으로기존의헤더를동일한이름의것으로교체할수도있습니다.

보기

var request = new XMLHttpRequest(); request.open( "POST", "http://www.yahoo.com", false ); request.setRequestHeader( "Content-type", "text/xml" ); request.send( xml );

사용 버전

3.0이후버전에서사용가능합니다.

XMLHttpRequest.status요청에 대한 상태값을 반환합니다

구문

XMLHttpRequest.status (read-only)

설명

이특징은예를들어200,400등과같이서버가내보내는HTTP상태코드를나타냅니다.

보기

var request = new XMLHttpRequest(); request.open( "POST", "http://www.yahoo.com", false ); request.setRequestHeader( "Content-type", "text/xml" ); request.send( xml ); if ( request.status == 200 ) // success! DoSomethingWonderful();

사용 버전

3.0이후버전에서사용가능합니다.

Page 292: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

XMLHttpRequest.statusText응답의 상태 텍스트를 반환합니다

구문

XMLHttpRequest.statusText (read-only)

설명

이특징은“OK”,“NotFound”등등과같이서버가내보내는HTTP상태텍스트를표현합니다.이것들은상태를통해서복귀되는코드에정확하게대응합니다.

보기

var request = new XMLHttpRequest(); request.open( "POST", "http://www.yahoo.com", false ); request.setRequestHeader( "Content-type", "text/xml" ); request.send( xml ); if ( request.statusText == "OK" ) // success! DoSomethingWonderful();

사용 버전

3.0이후버전에서사용가능합니다.

Page 293: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

XML Services WIDGET ENGINE 3.1 REFERENCE | ��3

XPath 지원XPath 에 대한 개요

버전3.0부터는위젯엔진이XML트리정보로부터노드및노드정보를추출하는데에XPath1.0을지원합니다.여러분이노드정보를추출하기위하여원DOMAPI를이용하는일은거의없을것이며,그보다는Xpath를이용할것입니다.이것이훨씬더쉽고보다직접적인메소드(method)입니다.이부분에서는이것이위젯엔진에어떻게통합되는것인지,또한여러분이거기에어떻게접근할수있는지를설명합니다.또한그것이사용될수있는메소드(method)에대한몇가지사례도설명할것입니다.

이것은간단한개요설명일뿐입니다.전체문서를위해서는w3c.org웹사이트에서XPath1.0을참조하십시오.

먼저,XML트리꼴의예를들어보겠습니다:

<?xml version="1.0" encoding="utf-8"?> <my-data> <element1 name="fred" size="200"> This is some text </element1> <image-list> <image size="32" src="http://www.yahoo.com/image.png"/> <image size="48" src="http://www.yahoo.com/image2.png"/> </image-list> </my-data>

실제로구체적인것을한번예로들어볼까요.일반적으로,XPath는일련의노드리스트를내보냅니다.위젯엔진은이노드들을하나의DOMNodeList로써내보냅니다.XPath은또한‘contextnode’,즉XPath검색이관련되는곳에서시작됩니다.여러분은또한‘/’을가진경로를출발시킴으로써최상부에서시작하는검색을지정할수도있습니다.여러분이doc라고불리는변수를가진문서노드를가지고있다고가정해봅시다:

element = doc.evaluate( "my-data/element1" );

위의사례는“my-data/element1”에맞는모든노드들을가져온후(이경우,한개의마디),그것을노드리스트로써복귀시킵니다.

images = doc.evaluate( "my-data/image-list/image" );

위의명령문은주어진경로에맞는모든노드들을내보냅니다.이번에는두개의요소들과더불어한개의노드를얻게됩니다(이미지리스트의두개의자녀노드).

이것이XPath의가장단순한예로써그저문서에서노드들을선별하는것입니다.이제조금더모양이나는것을해보겠습니다.이제크기가48인이미지를선택하기원한다고가정해봅시다.이를위하여술어(predicate)를이용할수있습니다.술어란탐색에적용되는조건입니다.이것은기본적으로조건에맞는결과들을걸러내는것입니다.

Page 294: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

image = doc.evaluate( "my-data/image-list/image[@size='48']" );

이것은“이경로에맞는모든항목들을찾아내되,그‘크기’속성이48의값을지닌것들만을찾아내시오”라는의미입니다.@심볼은여러분이한속성을찾고있음을지시하는속기입니다.술어에대한보통쓰기는[attribute;;name='48']이될것입니다.

이제,여러분이이이미지에대한src속성을얻고싶다면다음과같이해야할것입니다:

src = image.item(0).getAttribute( src );

그러나더쉬운메소드(method)이있는데,이것을곧살펴볼것입니다.첫째,어떤텍스트를추출해봅시다.element1내부의텍스트를원한다고해봅시다.이것을위한메소드(method)으로다음과같은것이있습니다:

element = doc.evaluate( "my-data/element1" ); text=element.item(0).firstChild.data;

기본적으로우리는그요소가실제로노드리스트인지알아야할필요가있기때문에항목0을추출하여그첫번째자녀에대해서질문합니다(XML트리꼴이진행되는한그텍스트는실제로element1의하위노드일것이기때문입니다).그러면이제우리는그데이터를가지게된것입니다.글쎄요.이것이괜찮아보이기는한데좀복잡하군요.다행히XPath는여러분이편하게이용할수있는함수들도갖추고있습니다.string()함수를이용해봅시다:

text = doc.evaluate( "string(my-data/element1)" );

바로이거죠.string()함수는거기로넘겨진표현의결과를취한후문자열속으로복귀시킵니다.요소노드들의경우,이것은그아래의모든텍스트하위요소들을취하여,체인형태로엮은후돌려보냅니다.우리의경우오직한개의요소와한개의텍스트노드를가지고있기대문에우리가원했던정확한결과를얻었습니다.속성노드들의경우string()은속성의값을돌려보냅니다.이제크기48을가진이미지의src속성을얻고자했던우리의목표로다시돌아가볼까요:

src = doc.evaluate( "string(my-data/image-list/image[@size='48']/attribute::src)" );

이번에도이전과같이동일한기본경로를이용하였지만이번에는결과로부터src속성을추출하기위하여다른경로칸살(segment)를더하였으며,그리하여문자열함수가그속성의값을내보냈습니다.

xpath를이용하여XML에서탐색을할수있는다양한것들이있으며,그것들을탐색하는메소드(method)또한매우매우많습니다.특정부모를공유하고있는요소들을찾아낼수도있고특정하위요소를가진요소들을가져올수도있고,기타등등수많은것들이가능합니다.보다자세한정보에대해서는w3c.org웹사이트에서XPath1.0전체설명서를참고하십시오.

Page 295: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Converter WIDGET ENGINE 3.1 REFERENCE | ���

변환 도구 (Converter Tool)

위젯엔진버전3.1부터는위젯을위한새로운플랫파일(flat-file)포맷을도입하였습니다.이플랫파일포맷을만들기위하여,‘변환기(Converter)’명령줄도구가만들어졌습니다.이도구는Mac위의어디에서나존재할수있지만반드시openssl라이브러리에서얻는엔진바이너리(binary)와동일한디렉토리속에있어야합니다.

이도구는번들포맷과플랫포맷을서로변환시킵니다.이것은또한디지털적인방식으로위젯에서명을할수있습니다.서명을하여완전하게인증을받기위해서는현재Verisign에서나온NetscapeCode서명인증서가있어야합니다.다른루트의인증서기관등은추후에지원될것입니다.다른유형의인증서를가지고위젯에서명을하면,그전체성은인증될수가있지만그서명의합법성은확인할수가없을것입니다(즉,엔진에서는여러분이여러분이라는것에대해서확실하게알아차릴수가없을것입니다).여러분의위젯이처음으로실행될때이런유형의정보가사용자에게표시될것입니다(또한위젯이어떤식으로수정되는경우에도그러합니다).

다음은변환기도구에대한통사입니다:

converter[-v][-list][-flat|-unflat][-sign-keyhost.key-cert certfile[-pfoo|-pfpassfile]][-verify]file-or-bundle [-o output-dir]

실행 인수

-list

플랫시킨(flattend)위젯의내용리스트

-flat

위젯번들을플랫시킵니다(flatten).

-unflat

위젯번들을언플랫시킵니다(unflatten).

Page 296: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

서명 옵션

-sign [sign-params]

위젯을플랫한후거기에서명하거나(-flat이지정된경우)이미플랫된위젯에서명합니다.

-verify

위젯의서명을인증합니다.

서명 인수

-cert

서명할인증서파일(.pem포맷).

-key

The private key to sign with (.pem format). It must be the private key that corresponds.

-p|-pf[filename]

-p가들어있는명령줄상에서바로패스워드보호개인키파일에대해서사용할패스워드를지정할수있습니다.파일속에서패스워드를지정하고싶을때는그대신-pf를이용할수도있습니다.소스콘트롤속으로패스워드를넣지않고위젯에대한구성절차를자동화시킬때이것이유용합니다.

옵션

-v

연장모드(Verbosemode).연장버전및상태에따라인쇄합니다.

-o [output-dir]

변환되거나/서명된파일을입력하는출력디렉토리를지정합니다.

Page 297: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Platform Differences WIDGET ENGINE 3.1 REFERENCE | ���

Windows 와 Mac OS X 차이점 비교

이부분에서의목적은한위치에서Mac과PC버전들사이에차이가있는것들에관해서살펴보는것입니다.

Unix 명령어

먼저,PC는유닉스를기본으로하는것이아닌반면MacOSX는유닉스를기본으로하기때문에,runCommand를Mac에서성공적으로실행한위젯이윈도우에서도똑같이성공하라는보장은없습니다.그러나가능한많은위젯이호환플랫폼에서작동하도록만들기위하여노력했기때문에,윈도우를위하여야후!위젯엔진으로포장된많은수의명령들이존재합니다:

basename bc bunzip2 bzip2 bzip2recovercal cat cksum cmp Comm.compress cp curl cut Datedc dd df diff3 Diffdirname du echo egrep Envexpand expr fgrep find Fmtfold fsplit gawk grep Gunzipgzip head id join Lesslesskey ln logname ls m4md5sum mkdir mv od Openpaste patch pr printenv Pwdrm rmdir sdiff sed Sharsleep sort split sum Synctail tar tee touch Truname unexpand uniq unzip Uudecodeuuencode wc which whoami Xargsyes zcat zip

이외에shell스크립트들을실행하는데에“sh”도사용가능합니다.

명령어 키

윈도우상에는명령키가없습니다.이것을이용하려고생각했다면,콘트롤(Control)을이용하십시오.그러므로예를들어위젯을드랙하기위해서는콘트

Page 298: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

��� | WIDGET ENGINE 3.1 REFERENCE

롤-드랙을이용하십시오.이것은아래에서설명하는것과같이핫키(HotKey)에도영향을미칩니다.

Key 명칭

윈도우키보드상에서Delete키를누르면여러분은“ForwardDelete”를받게될것입니다.여러분이백스페이스를누르면“Delete”를수신할것입니다.이름설정은원래의Mac키이름설정으로부터나오는것으로우리가그것을변경할수없기때문입니다.리턴과엔터는약간비슷합니다.(다는아니더라도)대부분의윈도우키보드에서는리턴키가없고언제나엔터키가있습니다.Mac키보드에서는두가지의다른키들이있습니다.현재윈도의엔터키에해당하는것은“Return”키입니다.다시말하지만우리가이름들을바꿀수가없기대문에그것에대해서인지하고있는것이중요합니다.“리턴”키와“엔터”키를찾는것이최상의메소드(method)일것입니다.

단축키(HotKeys)

cmd-control-<key>였던단축키를설치할경우윈도우상에서는그냥control-<key>가될것입니다(Command키가없기때문에).

윈도우상에서단축키를등록하면그키는독점적인것이되는데,이점은MacOS와다른점입니다.그러므로동일한단축키에대해서복수의위젯들을등록할수는없습니다.두번째시도는거부됩니다.유감스럽게도,현재로서는위젯이이것을인지할수있는메소드(method)이없습니다.

F1는Help키이기때문에이것은일반적으로사용되지않습니다.F12는2000/XP및최신NT기종에서디버그를위해따로예비되어있습니다.

키를놓는것에대해서는어떠한통지도없습니다.키를누르는것에대해서만있으며,그렇기때문에윈도우에서는onKeyUp조종기가실행되는일이절대없을것입니다.

어떤핫키배열들은위법인데,alt-tab과ct기-alt-delelte같은경우가그렇습니다.

경로(Paths)

MacOSX의원래경로시스템은유닉스스타일,즉포워드슬래쉬표시를이용하는경로들입니다.윈도우는드라이브문자와백슬래쉬를이용합니다.위젯엔진은그원래의경로스타일이포워드슬래쉬가있는경로로여깁니다.그까닭은원래Mac과자바스크립트가먼저이용되었으며여기에서포워드슬래시가사용되었기때문입니다.

여러분이유닉스타윈도우함수들을호출하기위하여runCommand를이용한다면변환기경로들에적절한주의를기울여야할것입니다.유닉스명령들은실제로포워드슬래쉬경로나백워드슬래쉬경로들을수용할수있습니다.그러나윈도우명령들은백슬래쉬경로를가져야합니다.이두가지사이의변환을도모하기위해서는convertPathToPlatform함수를사용해야합니다.그러나윈도우스타일에서유닉스/자바스크립트스타일로변환하는함수는없습니다.

윈도우에서convertPathToHFS는빈문자열을내보낼것입니다.

Page 299: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Acknowledgements WIDGET ENGINE 3.1 REFERENCE | ���

Perl 과 PHP

윈도우의경우위젯엔진에서는Perl이나PHP지원이없습니다.우리설치의표준부분이되기에는이크기는금지된것이나다름없기때문에우리는Perl포인트사용자들에게PC를위한적절한Perl환경을요구하는위젯을권장합니다.

Page 300: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

300 | WIDGET ENGINE 3.1 REFERENCE

Acknowledgments

ThisproductusesOpenSSLforitsdigitalsignature/certificatevalidation.

OpenSSLLicense---------------/*============================================================*Copyright(c)1998-2005TheOpenSSLProject.Allrightsreserved.**Redistributionanduseinsourceandbinaryforms,withorwithout*modification,arepermittedprovidedthatthefollowingconditions*aremet:**1.Redistributionsofsourcecodemustretaintheabovecopyright*notice,thislistofconditionsandthefollowingdisclaimer.**2.Redistributionsinbinaryformmustreproducetheabovecopyright*notice,thislistofconditionsandthefollowingdisclaimerin*thedocumentationand/orothermaterialsprovidedwiththe*distribution.**3.Alladvertisingmaterialsmentioningfeaturesoruseofthis*softwaremustdisplaythefollowingacknowledgment:*“ThisproductincludessoftwaredevelopedbytheOpenSSLProject*foruseintheOpenSSLToolkit.(http://www.openssl.org/)”**4.Thenames“OpenSSLToolkit”and“OpenSSLProject”mustnotbeusedto*endorseorpromoteproductsderivedfromthissoftwarewithout*priorwrittenpermission.Forwrittenpermission,pleasecontact*[email protected].**5.Productsderivedfromthissoftwaremaynotbecalled“OpenSSL”*normay“OpenSSL”appearintheirnameswithoutpriorwritten*permissionoftheOpenSSLProject.**6.Redistributionsofanyformwhatsoevermustretainthefollowing*acknowledgment:*“ThisproductincludessoftwaredevelopedbytheOpenSSLProject*foruseintheOpenSSLToolkit(http://www.openssl.org/)”**THISSOFTWAREISPROVIDEDBYTHEOpenSSLPROJECT``ASIS’’ANDANY*EXPRESSEDORIMPLIEDWARRANTIES,INCLUDING,BUTNOTLIMITEDTO,THE*IMPLIEDWARRANTIESOFMERCHANTABILITYANDFITNESSFORAPARTICULAR*PURPOSEAREDISCLAIMED.INNOEVENTSHALLTHEOpenSSLPROJECTOR

Page 301: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

Acknowledgements WIDGET ENGINE 3.1 REFERENCE | 301

*ITSCONTRIBUTORSBELIABLEFORANYDIRECT,INDIRECT,INCIDENTAL,*SPECIAL,EXEMPLARY,ORCONSEQUENTIALDAMAGES(INCLUDING,BUT*NOTLIMITEDTO,PROCUREMENTOFSUBSTITUTEGOODSORSERVICES;*LOSSOFUSE,DATA,ORPROFITS;ORBUSINESSINTERRUPTION)*HOWEVERCAUSEDANDONANYTHEORYOFLIABILITY,WHETHERINCONTRACT,*STRICTLIABILITY,ORTORT(INCLUDINGNEGLIGENCEOROTHERWISE)*ARISINGINANYWAYOUTOFTHEUSEOFTHISSOFTWARE,EVENIFADVISED*OFTHEPOSSIBILITYOFSUCHDAMAGE.*=============================================================**ThisproductincludescryptographicsoftwarewrittenbyEricYoung*([email protected]).ThisproductincludessoftwarewrittenbyTim*Hudson([email protected]).**/OriginalSSLeayLicense-----------------------/*Copyright(C)1995-1998EricYoung([email protected])*Allrightsreserved.**ThispackageisanSSLimplementationwritten*byEricYoung([email protected]).*TheimplementationwaswrittensoastoconformwithNetscapesSSL.**Thislibraryisfreeforcommercialandnon-commercialuseaslongas*thefollowingconditionsareahearedto.Thefollowingconditions*applytoallcodefoundinthisdistribution,beittheRC4,RSA,*lhash,DES,etc.,code;notjusttheSSLcode.TheSSLdocumentation*includedwiththisdistributioniscoveredbythesamecopyrightterms*exceptthattheholderisTimHudson([email protected]).**CopyrightremainsEricYoung’s,andassuchanyCopyrightnoticesin*thecodearenottoberemoved.*Ifthispackageisusedinaproduct,EricYoungshouldbegiven*attribution*astheauthorofthepartsofthelibraryused.*Thiscanbeintheformofatextualmessageatprogramstartupor*indocumentation(onlineortextual)providedwiththepackage.**Redistributionanduseinsourceandbinaryforms,withorwithout*modification,arepermittedprovidedthatthefollowingconditions*aremet:*1.Redistributionsofsourcecodemustretainthecopyright*notice,thislistofconditionsandthefollowingdisclaimer.*2.Redistributionsinbinaryformmustreproducetheabovecopyright*notice,thislistofconditionsandthefollowingdisclaimerinthe*documentationand/orothermaterialsprovidedwiththedistribution.*3.Alladvertisingmaterialsmentioningfeaturesoruseofthissoftware*mustdisplaythefollowingacknowledgement:*“Thisproductincludescryptographicsoftwarewrittenby*EricYoung([email protected])”*Theword‘cryptographic’canbeleftoutiftherouinesfromthelibrary*beingusedarenotcryptographicrelated:-).*4.IfyouincludeanyWindowsspecificcode(oraderivativethereof)from*theappsdirectory(applicationcode)youmustincludean*acknowledgement:*“ThisproductincludessoftwarewrittenbyTimHudson*([email protected])”

Page 302: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

30� | WIDGET ENGINE 3.1 REFERENCE

**THISSOFTWAREISPROVIDEDBYERICYOUNG``ASIS’’AND*ANYEXPRESSORIMPLIEDWARRANTIES,INCLUDING,BUTNOTLIMITEDTO,THE*IMPLIEDWARRANTIESOFMERCHANTABILITYANDFITNESSFORAPARTICULARPURPOSE*AREDISCLAIMED.INNOEVENTSHALLTHEAUTHORORCONTRIBUTORSBELIABLE*FORANYDIRECT,INDIRECT,INCIDENTAL,SPECIAL,EXEMPLARY,ORCONSEQUENTIAL*DAMAGES(INCLUDING,BUTNOTLIMITEDTO,PROCUREMENTOFSUBSTITUTEGOODS*ORSERVICES;LOSSOFUSE,DATA,ORPROFITS;ORBUSINESSINTERRUPTION)*HOWEVERCAUSEDANDONANYTHEORYOFLIABILITY,WHETHERINCONTRACT,STRICT*LIABILITY,ORTORT(INCLUDINGNEGLIGENCEOROTHERWISE)ARISINGINANYWAY*OUTOFTHEUSEOFTHISSOFTWARE,EVENIFADVISEDOFTHEPOSSIBILITYOF*SUCHDAMAGE.**Thelicenceanddistributiontermsforanypublicallyavailableversionor*derivativeofthiscodecannotbechanged.i.e.thiscodecannotsimplybe*copiedandputunderanotherdistributionlicence*[includingtheGNUPublicLicence.]*/

Page 303: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

WIDGET ENGINE 3.0 REFERENCE | 303

Index

Symbols&gt; .......................................................................................5&lt; .........................................................................................5< and > symbols ..............................................................5

Aabout-box........................................................................ 16

image ............................................................................. 16text ................................................................................. 16

action ................................................................................ 18file ................................................................................... 18interval .......................................................................... 18trigger ........................................................................... 19

AirPort ............................................................................199alert() ...............................................................................158Animation .....................................................................265

CustomAnimation() ................................................269FadeAnimation() ......................................................270kill() ...............................................................................268MoveAnimation() ....................................................271RotateAnimation() ..................................................272

animator ........................................................................265ease() ...........................................................................265milliseconds ..............................................................267runUntilDone() .........................................................267start() ...........................................................................268

appearance ...................................................................203appleScript() .................................................................159

BBattery ............................................................................204beep() .............................................................................159bytesToUIString() ........................................................160

CchooseColor()...............................................................160

chooseFile() ..................................................................161chooseFolder() .............................................................161closeWidget() ...............................................................163COM .................................................................................181

connectObject .........................................................182createObject .............................................................183disconnectObject....................................................184

context menu items ........................46, 100, 119, 148Converter Tool .............................................................295convertPathToHFS() ...................................................162convertPathToPlatform() ..........................................162CustomAnimation()

startTime ....................................................................270

DDOM ................................................................................274DOMAttribute ..............................................................279DOMCDATASection ...................................................281DOMCharacterData ...................................................278DOMComment ............................................................281DOMDocument ...........................................................275DOMDocumentType .................................................281DOMElement ...............................................................279DOMEntity ....................................................................281DOMEntityReference ................................................281DOMException ............................................................274DOMNamedNodeMap .............................................278DOMNode .....................................................................276DOMNodeList ..............................................................277DOMNotation ..............................................................281DOMProcessingInstruction .....................................282DOMText ........................................................................280

Eentities .................................................................................4escape() ..........................................................................163exceptions ....................................................................... 10

FFile paths ............................................................................6filesystem ......................................................................185

copy() ...........................................................................186emptyRecycleBin() ..................................................186emptyTrash() .............................................................186getDirectoryContents() .........................................187getDisplayName() ...................................................187getFileInfo() ...............................................................188getRecycleBinInfo() ................................................188getTrashInfo() ...........................................................188isDirectory() ...............................................................189itemExists() ................................................................189move() .........................................................................190moveToRecycleBin() ...............................................190moveToTrash() ..........................................................190open() ..........................................................................191openRecycleBin() ....................................................191

Page 304: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

304 | WIDGET ENGINE 3.0 REFERENCE

openTrash() ...............................................................191readFile() ....................................................................192reveal() ........................................................................192volumes ......................................................................193writeFile() ...................................................................193

focusWidget() ..............................................................164form() ..............................................................................164Frame ..............................................................................230

addSubview() ................................................. 230, 239end() .............................................................................231home() .........................................................................230lineDown() .................................................................231lineLeft() .....................................................................232lineRight() ..................................................................232lineUp() .......................................................................233pageDown() ..............................................................233pageLeft()...................................................................233pageRight() ...............................................................234pageUp() .................................................234, 235, 240removeFromSuperview() .....................................235subviews .....................................................................235superview ..................................................................236

frame ................................................................................. 22contextMenuItems ................................................... 22hAlign ............................................................................ 23height ............................................................................ 24hLineSize ...................................................................... 24hOffset .......................................................................... 25hScrollBar ..................................................................... 25onContextMenu ........................................................ 26onDragDrop ................................................................ 27onDragEnter ............................................................... 27onDragExit ................................................................... 28onMouseDown .......................................................... 29onMouseEnter ............................................................ 29onMouseExit ............................................................... 30onMouseMove ........................................................... 30onMouseUp ......................................................... 31, 32onMultiClick ................................................................ 32opacity .......................................................................... 33scrollX ............................................................................ 33scrollY ............................................................................ 34vAlign ............................................................................ 34visible ............................................................................ 35vLineSize ...................................................................... 35vOffset ........................................................................... 36vScrollBar ..................................................................... 36width ............................................................................. 37window ......................................................................... 37zOrder............................................................................ 38

GGetting started .................................................................4

Hhotkey ......................................................................39, 298

key .................................................................................. 39modifier ........................................................................ 40name .............................................................................. 41onKeyDown ................................................................ 41onKeyUp ....................................................................... 42

HotKeysPlatform differences ...............................................298

IImage

fade()............................................................................237moveTo().....................................................................237reload() ........................................................................237removeFromSuperview() ........................... 238, 245slide() ...........................................................................238superview ..................................................................239

image ................................................................................ 43alignment..................................................................... 44clipRect ......................................................................... 45colorize ......................................................................... 45contextMenuItems ................................................... 46fillMode ......................................................................... 47hAlign ............................................................................ 48height ............................................................................ 48hOffset .......................................................................... 48hRegistrationPoint .................................................... 49hslAdjustment ............................................................ 49hslTinting ..................................................................... 50loadingSrc .................................................................... 51missingSrc .................................................................... 51name .............................................................................. 52onContextMenu ........................................................ 52onDragDrop ................................................................ 53onDragEnter ............................................................... 54onDragExit ................................................................... 54onImageLoaded ........................................................ 55onMouseDown .......................................................... 55onMouseEnter ............................................................ 56onMouseExit ............................................................... 57onMouseMove ........................................................... 57onMouseUp ................................................................ 58onMultiClick ................................................................ 58opacity .......................................................................... 59remoteAsync ............................................................... 59rotation ......................................................................... 60src .................................................................................... 60srcHeight ...................................................................... 61srcWidth ................................................................ 61, 63tileOrigin ...................................................................... 62useFileIcon ................................................................... 63vAlign ............................................................................ 63visible ............................................................................ 64vOffset ........................................................................... 65

Page 305: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

WIDGET ENGINE 3.0 REFERENCE | 305

vRegistrationPoint .................................................... 65width ............................................................................. 66window ......................................................................... 66zOrder............................................................................ 67

include() .........................................................................165isApplicationRunning() ............................................166iTunes ..............................................................................220

backTrack().................................................................220fastForward() ............................................................221nextTrack() .................................................................221pause() ........................................................................221play() ............................................................................222playerPosition ...........................................................223playerStatus ..............................................................223playPause() ................................................................222random .......................................................................223repeatMode ..............................................................224resume() .....................................................................224rewind() ......................................................................224running .......................................................................225shuffle ..........................................................................223stop()............................................................................225streamURL .................................................................226trackAlbum ................................................................226trackArtist ..................................................................226trackLength ...............................................................227trackRating ................................................................227trackTitle .....................................................................227trackType ....................................................................228version.........................................................................228volume ........................................................................228

JJavaScript

in .kon files ......................................................................5

KkonfabulatorVersion() ...............................................167Konsposé

notifications ................................................................ 20window level ............................................................150

Llog() .................................................................................167

Mmemory (system) ........................................................215menuItem........................................................................ 68

checked ........................................................................ 68enabled ......................................................................... 68onSelect ........................................................................ 69title ................................................................................. 69

OonGainFocus .................................................................. 20onIdle ................................................................................ 20onKonsposeActivated ................................................ 20onLoad ............................................................................. 20onLoseFocus .................................................................. 20onPreferencesChanged .............................................. 20onTimer ............................................................................ 20onUnload ......................................................................... 20onWakeFromSleep ....................................................... 21onWillChangePreferences ......................................... 21openURL() .....................................................................167

Pplay() ...............................................................................168popupMenu() ...............................................................168preference ....................................................................... 70

defaultValue ................................................................ 71description .................................................................. 71directory ....................................................................... 72extension ..................................................................... 72group ............................................................................. 72hidden ........................................................................... 73kind ................................................................................ 73maxLength .................................................................. 74minLength ................................................................... 74name .....................................................................74, 140notSaved ...................................................................... 75option ............................................................................ 75optionValue ................................................................. 76secure ............................................................................ 76style ................................................................................ 77tickLabel ....................................................................... 78ticks ................................................................................ 77title ................................................................................. 78type ................................................................................ 78value .............................................................................. 79

preferenceGroup .......................................................... 80icon ................................................................................. 80name .............................................................................. 80order .............................................................................. 81title ................................................................................. 81

preferences ..................................................................... 10notifications ................................................................ 20XML description ........................................................ 70

print() ..............................................................................169prompt() ........................................................................169

Rrandom() ........................................................................170reloadWidget() ............................................................171resolvePath() ................................................................171resumeUpdates() ........................................................172Root .................................................................................239

addSubview() ...........................................................239

Page 306: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

306 | WIDGET ENGINE 3.0 REFERENCE

subviews .....................................................................240superview ..................................................................240

runCommand() ............................................................172runCommandInBg() ..................................................173

Ssample Widget..................................................................3saveAs() ..........................................................................173savePreferences() ........................................................174screen .............................................................................195

availHeight ................................................................195availLeft ......................................................................196availTop.......................................................................196availWidth ..................................................................196colorDepth ................................................................197height ..........................................................................197pixelDepth .................................................................197resolution ...................................................................198width ...........................................................................198

ScrollBarremoveFromSuperview() .....................................241setRange() ..................................................................241setThumbInfo() ........................................................242setTrackInfo() ............................................................242superview ..................................................................243

scrollbar ........................................................................... 83autoHide ...................................................................... 83hAlign ............................................................................ 84height ............................................................................ 84hOffset .......................................................................... 85max ................................................................................. 85min ................................................................................. 86onValueChanged ...................................................... 86opacity .......................................................................... 87orientation ................................................................... 88pageSize ....................................................................... 88thumbColor ................................................................. 89vAlign ............................................................................ 89value .............................................................................. 90visible ............................................................................ 90vOffset ........................................................................... 91width ............................................................................. 91window ......................................................................... 92zOrder............................................................................ 92

security ............................................................................. 94api ................................................................................... 94

Security Windows ......................................................... 13shadow

color ............................................................................... 95hOffset .......................................................................... 95opacity .......................................................................... 96vOffset ........................................................................... 96

shadow element ........................................................... 95showWidgetPreferences() .......................................174sleep() .............................................................................175speak() ............................................................................175

suppressUpdates() .....................................................175system

airport. See system.wirelessapplicationsFolder ..................................................218battery.........................................................................204

currentCapacity................................... 204isCharging............................................ 204isPresent.............................................. 205maximumCapacity............................... 205name.................................................... 205powerSourceState................................ 205timeToEmpty.......................................206timeToFullCharge................................206transportType.......................................206

batteryCount ............................................................207clipboard ....................................................................207cpu ................................................................................208

activity.................................................208idle.......................................................208nice......................................................209numProcessors.....................................209sys........................................................210user .....................................................210

event ............................................................................210hOffset.................................................211key.......................................................211keyString..............................................212modifiers..............................................212screenX................................................ 213screenY................................................ 213scrollDelta............................................ 213timestamp ........................................... 213vOffset.................................................211x........................................................... 214y........................................................... 214

languages ..................................................................214memory ......................................................................215

availPhysical........................................ 215availVirtual........................................... 215load......................................................216totalPhysical........................................216totalVirtual...........................................216

mute ............................................................................217platform ......................................................................217temporaryFolder .....................................................218trashFolder ................................................................218userDesktopFolder .................................................218userDocumentsFolder...........................................218userMoviesFolder ....................................................218userPicturesFolder ..................................................218volume ........................................................................219widgetDataFolder ...................................................219wireless .......................................................................199

available...............................................200info......................................................201

Page 307: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

WIDGET ENGINE 3.0 REFERENCE | 307

network................................................201noise....................................................201powered...............................................202signal...................................................202

TText ..................................................................................244

fade()............................................................................244moveTo().....................................................................244slide() ...........................................................................245superview ..................................................................245

text ..................................................................................... 97alignment..................................................................... 98bgColor ......................................................................... 98bgOpacity .................................................................... 99color ............................................................................... 99contextMenuItems .................................................100data ..............................................................................100font ...............................................................................101hAlign ..........................................................................101height ..........................................................................101hOffset ........................................................................102name ............................................................................102onContextMenu ......................................................103onDragDrop ..............................................................103onDragEnter .............................................................104onDragExit .................................................................105onMouseDown ........................................................105onMouseEnter ..........................................................106onMouseExit .............................................................106onMouseMove .........................................................107onMouseUp ..............................................................108onMultiClick ..............................................................108opacity ........................................................................109scrolling ......................................................................109shadow .......................................................................110size ................................................................................110style ..............................................................................111tooltip ...................................................................62, 112truncation ..................................................................111visible ..........................................................................112vOffset .........................................................................113width ...........................................................................113window .......................................................................114zOrder..........................................................................114

TextArea .........................................................................246focus() ..........................................................................246loseFocus() .................................................................246rejectKeyPress() .......................................................247removeFromSuperview() .....................................248replaceSelection() ...................................................248select() .........................................................................249superview ..................................................................249

textarea ..........................................................................116alignment...................................................................117

bgColor .......................................................................117bgOpacity ..................................................................118color .............................................................................118columns ......................................................................119contextMenuItems .................................................119data ..............................................................................120editable .......................................................................120font ...............................................................................121hAlign ..........................................................................121height ..........................................................................121hOffset ........................................................................122lines ..............................................................................122name ............................................................................122onContextMenu ......................................................123onDragDrop ..............................................................124onDragEnter .............................................................124onDragExit .................................................................125onGainFocus .............................................................125onKeyDown ..............................................................126onKeyPress ................................................................127onKeyUp .....................................................................128onLoseFocus .............................................................128onMouseDown ........................................................129onMouseEnter ..........................................................129onMouseExit .............................................................130onMouseUp ..............................................................130onMultiClick ..............................................................131opacity ........................................................................132scrollbar ......................................................................132secure ..........................................................................132size ................................................................................133spellcheck ..................................................................133style ..............................................................................133thumbColor ...............................................................134tooltip ..........................................................................135vAlign ..........................................................................136visible ..........................................................................135vOffset .........................................................................136width ...........................................................................137window .......................................................................137zOrder..........................................................................138

timer ................................................................................139interval ........................................................................139onTimerFired.............................................................140reset()...........................................................................250ticking .........................................................................140

Uunescape() ....................................................................177updateNow() ................................................................177URL...................................................................................251

addPostFile() .............................................................252autoRedirect .............................................................252cancel() ........................................................................253clear() ...........................................................................253fetch() ..........................................................................254

Page 308: YAHOO! WIDGET ENGINE 3cfs6.tistory.com/upload_control/download.blog?fhandle...서 정의된 객체들은 자바스크립트 내에서 조작이 가능합니다. (text1 객체 내의

308 | WIDGET ENGINE 3.0 REFERENCE

fetchAsync() ..............................................................255getResponseHeaders() ..........................................255location .......................................................................256outputFile ..................................................................256postData .....................................................................257response .....................................................................257responseData ...........................................................258result ............................................................................259setRequestHeader()................................................259

Vvolume (system.volume) .........................................219

WWidget

extractFile() ...............................................................260getLocalizedString() ...............................................260locale ...........................................................................261packaging .......................................................................6runtime ............................................................................7

widget ............................................................................142author ..........................................................................142company ....................................................................142copyright ....................................................................143debug ..........................................................................143image ...........................................................................144minimumVersion .....................................................144option ..........................................................................145requiredPlatform .....................................................145version.........................................................................146

Windowfocus() ..........................................................................262locked ..........................................................................262moveTo().....................................................................262recalcShadow() ........................................................263root ...............................................................................263

window ..........................................................................147alignment...................................................................148contextMenuItems .................................................148height ..........................................................................149hOffset ........................................................................149level ..............................................................................150name ............................................................................150onContextMenu ......................................................151onFirstDisplay ...........................................................152onGainFocus ................................................... 152, 153onMultiClick ..............................................................153opacity ........................................................................154shadow .......................................................................154title ...............................................................................155visible ..........................................................................155vOffset .........................................................................156width ...........................................................................156

wireless...........................................................................199

XXML

and JavaScript ...............................................................5CDATA ...............................................................................5entities .............................................................................4strict mode .....................................................................5syntax ...............................................................................4

XMLDOMcreateDocument() ...................................................283object ..........................................................................283parse() .........................................................................283

XMLHttpRequest ........................................................285abort() .........................................................................286getAllResponseHeaders() .....................................286getResponseHeader ..............................................286onreadystatechange ..............................................287open() ..........................................................................288readyState ..................................................................288responseText .............................................................289responseXML ............................................................290send() ...........................................................................290setRequestHeader()................................................291status ...........................................................................291statusText ...................................................................292

XML parser .........................................................................4XPath ...............................................................................293

YyahooCheckLogin() ....................................................178yahooLogin() ................................................................178yahooLogout() .............................................................180