»ç¿ëÀÚ ÀÎÅÍÆäÀ̽º ½ºÅ©¸³Æ®
Ç÷§Æû ½ºÅ©¸³Æ® Ç÷¯±×ÀÎÀ» »ç¿ëÇϸé JavaScript¸¦ »ç¿ëÇÏ¿© ´Ù¾çÇÑ Workbench È®ÀåÀ»
°³¹ßÇÒ ¼ö ÀÖ½À´Ï´Ù. Rhino
JavaScript ¿£ÁøÀ» »ç¿ëÇÏ¿© ÀÌ·¯ÇÑ Áö¿øÀÌ Á¦°øµË´Ï´Ù. JavaScript¸¦ »ç¿ëÇÏ¿© ´ÙÀ½À»
Workbench¿¡ Áö¿øÇÒ ¼ö ÀÖ½À´Ï´Ù.
- Á¶Ä¡(actionSets)
-
ÆíÁý±â
-
¸¶¹ý»ç(newWizards, exportWizards, importWizards)
- ÆË¾÷ ¸Þ´º
-
ȯ°æ ¼³Á¤ ÆäÀÌÁö
´ÙÀ½ Àý¿¡¼´Â »ç¿ëÀÚ°¡ JavaScript,
Workbench È®Àå ¹× SWT¿¡ ´ëÇÑ ½Ç¹« Áö½ÄÀ» °®°í ÀÖ´Â °ÍÀ¸·Î °¡Á¤ÇÕ´Ï´Ù.
°³³ä
½ºÅ©¸³Æ®´Â Workbench ³»¿¡¼ ÀÏ¹Ý ÇÁ·ÎÁ§Æ® ÆÄÀÏ·Î °ü¸®µË´Ï´Ù. ´ë°³´Â ½ºÅ©¸³Æ®¸¦ Æ÷ÇÔÇÒ
º°µµÀÇ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µì´Ï´Ù. ±×·¯¸é ½ºÅ©¸³Æ®¸¦ ÆíÁýÇϱâ À§ÇÑ Æ¯¼öÇÑ ÆíÁý±â°¡
Á¦°øµË´Ï´Ù.
Ç÷§Æû¿¡¼ Áö¿øÇÏ´Â ½ºÅ©¸³Æ®ÀÇ µÎ °¡Áö À¯ÇüÀº ´ÙÀ½°ú °°½À´Ï´Ù.
-
Àϰýó¸® ½ºÅ©¸³Æ®¿¡¼´Â JavaScript¸¦ »ç¿ëÇÏ¿© ¿©·¯ Workbench ¿ÀºêÁ§Æ®¿¡¼ ¸Þ¼Òµå¸¦
È£ÃâÇÏ¸ç °á°ú¸¦ ó¸®ÇÕ´Ï´Ù. ÀÌ ½ºÅ©¸³Æ®´Â ±âº» Workbench ÇÔ¼öÀÇ ÀϺΰ¡ ¾Æ´Ñ ¹Ýº¹µÇ´Â »õ Á¶Ä¡¸¦ ¸¸µå´Â
µ¥ ÀûÇÕÇÕ´Ï´Ù.
-
UI ½ºÅ©¸³Æ®´Â ½ºÅ©¸³Æ®µÈ UI À̺¥Æ®¸¦ °®°í Àִ Ŭ¶óÀ̾ðÆ®Ãø HTML ÆäÀÌÁö¿Í À¯»çÇÕ´Ï´Ù.
ÀÌ ½ºÅ©¸³Æ®´Â »ç¿ëÀÚ¿Í ´õ »ó¼¼ÇÑ »óÈ£ ÀÛ¿ëÀÌ ÇÊ¿äÇÑ
½ºÅ©¸³Æ®¸¦ ¸¸µå´Â µ¥ ÀûÇÕÇÕ´Ï´Ù.
½ºÅ©¸³Æ® ÀÛ¼º±â´Â ·ÎÄà JavaScript º¯¼ö·Î ³ëÃâµÈ ¿©·¯ Ç÷§Æû ¿ÀºêÁ§Æ®¸¦ ÅëÇØ
Workbench ȯ°æ¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ½ºÅ©¸³Æ®¿¡¼´Â JavaScript ±â´ÉÀ» »ç¿ëÇÏ¿© Java ¿ÀºêÁ§Æ®¸¦
¸¸µé°í ÇØ´ç ¸Þ¼Òµå¸¦ È£ÃâÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ½ºÅ©¸³Æ®°¡ Æ÷ÇÔµÈ ÆÄÀÏÀÌ ¸¸µé¾îÁö¸é ȯ°æ ¼³Á¤
´ëÈ »óÀÚ(â->ȯ°æ ¼³Á¤->½ºÅ©¸³Æ®)¸¦ »ç¿ëÇÏ¿© Workbench¿¡ ÆÄÀÏÀ» µî·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù.
ȯ°æ ¼³Á¤ ÆäÀÌÁö¿¡¼ ÇØ´ç Ç׸ñÀ» È®ÀåÇÏ¸é ½ºÅ©¸³Æ®ÇÒ ¼ö ÀÖ´Â Workbench È®ÀåÁ¡ ¸ñ·ÏÀÌ
Ç¥½ÃµË´Ï´Ù. ȯ°æ ¼³Á¤ Æ®¸®¿¡¼ È®ÀåÁ¡À» ¼±ÅÃÇÑ ´ÙÀ½ ȯ°æ ¼³Á¤ ÆäÀÌÁö¿¡¼ ÇØ´çÇÏ´Â
Ãß°¡ ´ÜÃ߸¦ ´·¯ °¢ È®ÀåÁ¡¿¡ ½ºÅ©¸³Æ®¸¦
Ãß°¡ÇÕ´Ï´Ù.
½ºÅ©¸³Æ®¸¦ óÀ½ µî·ÏÇÒ ¶§ Workbench¸¦ ´Ù½Ã
½ÃÀÛÇØ¾ß ÇÕ´Ï´Ù.
½ºÅ©¸³Æ®°¡ µî·ÏµÇ¸é Workbench¸¦ ´Ù½Ã ½ÃÀÛÇÏÁö ¾Ê°íµµ ½ºÅ©¸³Æ®¸¦ ¼öÁ¤ÇÏ¿© ¹Ù·Î ½ÇÇàÇÒ ¼ö
ÀÖ½À´Ï´Ù.
½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ´Â Áß¿¡ ¹ß°ßµÈ ¿À·ù »Ó¸¸ ¾Æ´Ï¶ó ½ºÅ©¸³Æ®ÀÇ ¸ðµç ÄÜ¼Ö Ãâ·ÂÀº ½ºÅ©¸³Æ® Äֿܼ¡
±â·ÏµË´Ï´Ù. ´Ù¸¥ Perspective¿¡ ½ºÅ©¸³Æ® ÄÜ¼Ö º¸±â¸¦ Ãß°¡Çϰųª Ç×»ó ½ºÅ©¸³Æ® Perspective¿¡¼
½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ½ºÅ©¸³Æ® Perspective¿¡´Â ±âº»ÀûÀ¸·Î ÄÜ¼Ö º¸±â°¡ Æ÷ÇԵ˴ϴÙ.
½ºÅ©¸³Æ® Á¦ÇÑ»çÇ×
Workbench¿¡ Ãß°¡µÈ ½ºÅ©¸³Æ®¿¡¼´Â ´ÙÀ½ Ç÷¯±×Àο¡ Á¤ÀÇµÈ API
¸Þ¼Òµå¿¡¸¸ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
- org.eclipse.core.runtime
- org.eclipse.core.boot
- org.eclipse.core.resources
- org.eclipse.ui
- org.eclipse.swt
- org.eclipse.scripting
¾ÕÀ¸·ÎÀÇ ¸±¸®½º¿¡¼´Â ÀÓÀÇÀÇ ¸ðµç Ç÷¯±×ÀÎÀ» ½ºÅ©¸³Æ®ÇÒ ¼ö ÀÖµµ·Ï ÀÌ·¯ÇÑ Á¦ÇÑ»çÇ×À»
¾ø¾Ù °ÍÀÔ´Ï´Ù.
Àϰýó¸® ½ºÅ©¸³Æ® ÀÛ¼º
"Àϰýó¸®" ½ºÅ©¸³Æ®´Â ÇØ´ç API ¸Þ¼Òµå¸¦ È£ÃâÇÏ°í °á°ú¸¦ ó¸®ÇÏ¿© Ç÷§Æû ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ
ÀÛ¾÷À» ÇÏ´Â JavaScript ¹®ÀÇ ÄÝ·º¼ÇÀÔ´Ï´Ù. ½ºÅ©¸³Æ® ÀÛ¼º±â¿¡ ³ëÃâµÇ´Â Ç÷§Æû
¿ÀºêÁ§Æ®´Â ´ÙÀ½ ¼¼ °¡ÁöÀÔ´Ï´Ù.
-
toolkit -
org.eclipse.scripting.IToolkitÀ»
±¸ÇöÇÏ´Â À¯Æ¿¸®Æ® ¿ÀºêÁ§Æ®. ±âº» ÀÛ¾÷°ø°£ ÀÚ¿ø °ü¸®, ÇÁ·ÒÇÁÆ® ¹× Áö¼ÓµÇ´Â ½ºÅ©¸³Æ® »óŸ¦ ·ÎµåÇϱâ
À§ÇÑ Æí¸®ÇÑ ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù.
-
plugin - org.eclipse.core.runtime.PluginÀÇ
±âº» ÀνºÅϽº.
Ç÷¯±×ÀÎ ¸Þ¼Òµå¿¡ ´ëÇÑ ¾×¼¼½º¸¦ Á¦°øÇÕ´Ï´Ù. ¸ðµç »ç¿ëÀÚ ½ºÅ©¸³Æ®´Â Ç÷§Æû ½ºÅ©¸³Æ® Áö¿øÀ¸·Î
°ü¸®µÇ´Â ´ÜÀÏ Ç÷¯±×ÀÎÀÇ ÀϺηΠ½ÇÇàµË´Ï´Ù.
-
platform - org.eclipse.core.runtime.Platform¿¡
ÇØ´çÇÏ´Â ¸Þ¼Òµå¸¦ °¡Áø ÆíÀÇ ¿ÀºêÁ§Æ®. ÀÏ¹Ý Ç÷§Æû ÇÔ¼ö¿¡
´ëÇÑ ¾×¼¼½º¸¦ Á¦°øÇÕ´Ï´Ù.
toolkit.print(String) ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿©
Ãâ·ÂÀ» ½ºÅ©¸³Æ® Äֿܼ¡ ±â·ÏÇÕ´Ï´Ù.
¹Ì¸® Á¤ÀÇÇÑ ·ÎÄà º¯¼ö ¿Ü¿¡ JavaScript ¾ð¾î¸¦ »ç¿ëÇϸé Java ¿ÀºêÁ§Æ®¸¦ ¸¸µé°í ÀÌ¿¡ ÇØ´çÇÏ´Â °ø¿ë
API¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. JavaScript Ư¼º
Packages¸¦ ÇØ´ç ¸ñÀû¿¡ »ç¿ëÇÒ ¼ö
ÀÖ½À´Ï´Ù. ´ÙÀ½ ½º´ÏÆê¿¡¼´Â Packages Ư¼ºÀ» »ç¿ëÇÏ¿© ¼³Ä¡ URL°ú ½ºÇ÷¡½Ã ºñÆ®¸Ê ¿ÀºêÁ§Æ®¸¦
°¡Á®¿É´Ï´Ù.
var install =
Packages.org.eclipse.core.boot.BootLoader.getInstallURL();
var splash = new Packages.java.net.URL(install,"splash.bmp");
»ç¿ëÀÚ ÀÎÅÍÆäÀ̽º ½ºÅ©¸³Æ® ÀÛ¼º
Ç÷§Æû ½ºÅ©¸³Æ® Áö¿øÀ» »ç¿ëÇÏ¿© SWT ±â¹Ý »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ ¸¸µé ¼ö
ÀÖ½À´Ï´Ù. ¸¸µé¾îÁø ½ºÅ©¸³Æ®´Â ´ÙÀ½°ú °°Àº ¸î °¡Áö Á¡¸¸ Á¦¿ÜÇϰí Ŭ¶óÀ̾ðÆ®Ãø HTML ÆäÀÌÁö¿Í ¸Å¿ì
À¯»çÇÕ´Ï´Ù.
-
html ¿ä¼Ò¿Í ¼Ó¼ºÀÇ ¼ºê¼¼Æ®¸¸ »ç¿ëÇÕ´Ï´Ù.
-
¸¸µé¾îÁø htmlÀº Á¦´ë·Î ±¸¼ºµÈ xhtmlÀ̾î¾ß ÇÕ´Ï´Ù.
-
ÀϺΠ"ºñhtml" ¿ä¼Ò¿Í ¼Ó¼ºÀÌ Á¤Àǵ˴ϴÙ.
½ºÅ©¸³Æ® Ç÷¯±×Àο¡¼ ½ºÅ©¸³Æ® ÆíÁý±â¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ ÆíÁý±â´Â ¼Ò½º º¸±â¿Í ¼Ò½º ÆäÀÌÁö¸¦
½ÇÇàÇÒ ¶§ Ç¥ÇöµÇ´Â »óŸ¦ º¸¿©ÁÖ´Â ¹Ì¸®º¸±â¸¦ Áö¿øÇÕ´Ï´Ù. ÆíÁý±â¿¡¼´Â ¾Æ¿ô¶óÀÎ º¸±â¿Í
Ư¼º º¸±â¸¦ »ç¿ëÇϹǷΠUI ½ºÅ©¸³Æ®¸¦ ÆíÁýÇÒ ¶§ ÀÌ·¯ÇÑ º¸±â¸¦ Ç¥½ÃÇØ¾ß ÇÕ´Ï´Ù.
UI ½ºÅ©¸³Æ® ÆíÁý±â´Â xhtml À¯ÇüÀÇ ÆÄÀÏ¿¡ ´ëÇÑ
±âº» ÆíÁý±â·Î µî·ÏµË´Ï´Ù.
¿¹¸¦ ÅëÇØ UI ½ºÅ©¸³Æ®¸¦ Àß ÀÌÇØÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ ±â¼úÀûÀÎ ¸éÀº
½ºÅ©¸³Æ® ¿¹¸¦
ÂüÁ¶ÇϽʽÿÀ. ´ÙÀ½ ¾È³»¼¿¡¼´Â ½ºÅ©¸³Æ®¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ¿ä¼Ò¿Í Áö¿øµÇ´Â ÇØ´ç ¼Ó¼º ¹× À̺¥Æ®
ºí·ÏÀ» ¼³¸íÇÕ´Ï´Ù.
º»¹®
-
º»¹® - id, onload, onunload. UI Á¤ÀÇ¿¡ ´ëÇÑ º»¹®À» Á¤ÀÇÇÕ´Ï´Ù.
¾ç½Ä
-
¾ç½Ä - id, onreset, onsubmit, title.
´ë°³´Â º°µµ ÆäÀÌÁö·Î Ç¥ÇöµÇ´Â ÁÖ UI ±×·ìÀ» Á¤ÀÇÇÕ´Ï´Ù.
UI ¿ä¼Ò
-
·¹À̺í - id, value.
°ªÀº ¹®ÀÚ¿ ·¹À̺íÀÔ´Ï´Ù.
-
ÀÔ·Â Çʵå(<input type="text">) -
id, onblur, onchange, onfocus, onkeypress, value.
ÅØ½ºÆ® ÀÔ·Â Çʵ带 Á¤ÀÇÇÕ´Ï´Ù.
-
ÅØ½ºÆ® ¿µ¿ª - id, onblur, onchange, onfocus, onkeypress.
ÅØ½ºÆ® ¿µ¿ªÀ» Á¤ÀÇÇÕ´Ï´Ù.
-
´©¸§ ´ÜÃß (<input
type="button">) - id, onpush,
value. ´©¸§ ´ÜÃ߸¦ Á¤ÀÇÇÕ´Ï´Ù.
-
´ÜÀÏ ¼±Åà ´ÜÃß (<input
type="radio">) - id, checked, onclick,
value. ´ÜÀÏ ¼±Åà ´ÜÃ߸¦ Á¤ÀÇÇÕ´Ï´Ù.
-
¼±Åöõ (<input type="checkbox">) -
id, checked, onclick, value. ¼±ÅöõÀ» Á¤ÀÇÇÕ´Ï´Ù.
-
ÄÞº¸ »óÀÚ (<select size="1">) -
id, onchange. ÄÞº¸ »óÀÚ¸¦ Á¤ÀÇÇÕ´Ï´Ù.
-
¸ñ·Ï »óÀÚ (<select size="3">) -
id, onchange. ¸ñ·Ï »óÀÚ¸¦ Á¤ÀÇÇÕ´Ï´Ù.
-
À̹ÌÁö - id, source. »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º ¿ä¼Ò·Î À̹ÌÁö¸¦ ¹èÄ¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
·¹À̾ƿô Á¦¾î
½ºÅ©¸³Æ®
´ë°³ ¸ðµç UI ¿ä¼Ò¿¡¼ id ¼Ó¼ºÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯¸é °°Àº À̸§ÀÇ ·ÎÄà ½ºÅ©¸³Æ®
º¯¼ö°¡ Á¤Àǵ˴ϴÙ. ÀÌ ·ÎÄà º¯¼ö¸¦ »ç¿ëÇÏ¿© ½ºÅ©¸³Æ®¿¡¼ UI ¿ä¼Ò¸¦ ó¸®ÇÒ ¼ö
ÀÖ½À´Ï´Ù. »ç¿ë °¡´ÉÇÑ ¸Þ¼Òµå´Â ´ë°³ ÇØ´çÇÏ´Â SWT À§ÁöÆ®(widget) ¸Þ¼ÒµåÀÔ´Ï´Ù.
UI ¿ä¼ÒÀÇ ±×·ì »çÀÌ¿¡ Çà ³ª´©±â <br />¸¦ »ðÀÔÇÏ¿©
´Ü¼øÇÑ UI ·¹À̾ƿôÀ» °¡Àå È¿À²ÀûÀ¸·Î ¼öÇàÇÏ¿© »õ ·¹À̾ƿô ÇàÀ»
½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù. ½ºÅ©¸³Æ® Ç¥Çö Áö¿øÀ¸·Î ´ëºÎºÐÀÇ
°£´ÜÇÑ °æ¿ì¿¡ ÃæºÐÈ÷ ±âº» ·¹À̾ƿôÀ» ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.
UI ¿ä¼ÒÀÇ ¹èÄ¡¸¦ Á¦¾îÇÏ´Â Å×À̺íÀ» »ç¿ëÇÏ¿© ´õ º¹ÀâÇÑ ·¹À̾ƿôÀ»
¸¸µé ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í <fieldset> ¿ä¼Ò(¿Ã¹Ù¸¥ HTMLÀÌÁö¸¸
À¥ ÆäÀÌÁö µðÀÚÀο¡¼´Â ÀÚÁÖ »ç¿ëÇÏÁö ¾ÊÀ½)¸¦
»ç¿ëÇÏ¿© º°µµÀÇ UI ¿ä¼Ò¸¦ ±×·ìÈÇÒ ¼ö ÀÖ½À´Ï´Ù.
½ÇÁ¦ ½ºÅ©¸³Æ® ÇÔ¼ö º»¹®Àº <script>
¿ä¼Ò¸¦ »ç¿ëÇÏ¿© Á¤ÀÇÇÕ´Ï´Ù. Html ÆäÀÌÁö¿¡¼Ã³·³ ÇØ´çÇÏ´Â UI ¿ä¼ÒÀÇ
"onXXX" ¼Ó¼º(¿¹: onload,
onreset) ³»¿¡ ÁöÁ¤µÈ È£ÃâÀÇ °á°ú·Î ÇÔ¼ö°¡ Æ®¸®°ÅµË´Ï´Ù.
UI ½ºÅ©¸³Æ®ÀÇ °æ¿ì toolkit ·ÎÄà º¯¼ö´Â
org.eclipse.scripting.IToolkitUI
ÀÎÅÍÆäÀ̽ºÀÇ ¿ÀºêÁ§Æ® ÀνºÅϽºÀÔ´Ï´Ù. ¿©±â¿¡´Â Àϰýó¸® ½ºÅ©¸³Æ®¿¡ ³ëÃâµÈ toolkit ¿ÀºêÁ§Æ®¿¡¼
»ç¿ëÇÒ ¼ö ¾ø´Â ´Ù¸¥ ¸Þ¼Òµå°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.
Workbench¿¡ ½ºÅ©¸³Æ® µî·Ï
Workbench ÀÚ¿øÀ¸·Î ½ºÅ©¸³Æ®¸¦ ¸¸µé¾úÀ¸¸é Workbench ȯ°æ ¼³Á¤ ´ëÈ »óÀÚ¸¦ »ç¿ëÇÏ¿© Àû´çÇÑ
Workbench È®ÀåÁ¡¿¡ ½ºÅ©¸³Æ®¸¦ µî·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù.
Ãß°¡ ´ëÈ »óÀÚ¸¦ »ç¿ëÇÏ¿© ½ºÅ©¸³Æ®¸¦ Ãß°¡ÇÕ´Ï´Ù. ´ëÈ »óÀÚ¿¡¼ ´ÙÀ½ Á¤º¸¸¦
¹¯´Â ÇÁ·ÒÇÁÆ®°¡ Ç¥½ÃµË´Ï´Ù.
-
½ºÅ©¸³Æ®ÀÇ Ç¥½Ã À̸§
-
Workbench ÀÚ¿øÀ¸·Î¼ ½ºÅ©¸³Æ® À§Ä¡
-
¾ÆÀÌÄÜ(¼±ÅÃÀû)
-
Àϰýó¸® ½ºÅ©¸³Æ®³ª UI ½ºÅ©¸³Æ®·Î µî·ÏÇÒÁö ¿©ºÎ. ÀϺΠȮÀåÁ¡¿¡¼´Â
µÑ ´Ù Çã¿ëÇÕ´Ï´Ù.
-
½ºÅ©¸³Æ®¸¦ µî·ÏÇÒ ÆÄÀÏ È®ÀåÀÚ. ÀϺΠȮÀåÁ¡¿¡¼´Â ÆÄÀÏ
È®ÀåÀÚ°¡ ÇÊ¿äÇÕ´Ï´Ù.
Java·Î UI ½ºÅ©¸³Æ® »ç¿ë
UI ½ºÅ©¸³Æ® ±â´É¿¡¼´Â JavaScript ´ë½Å Java¸¦ ½ºÅ©¸³Æ® ¾ð¾î·Î Áö¿øÇÕ´Ï´Ù. Java¸¦
½ºÅ©¸³Æ® ¾ð¾î·Î »ç¿ëÇÒ °æ¿ì
org.eclipse.scripting.RendererÀÇ
ÀνºÅϽº¸¦ ÀÛ¼ºÇØ¾ß ÇÕ´Ï´Ù.
UI Ç¥ÇöÀ» À§ÇØ ÀÌ ¿ÀºêÁ§Æ®¸¦ »ç¿ëÇÏ°í ¿ª½Ã Java·Î ÀÛ¼ºµÈ Çϳª ÀÌ»óÀÇ À̺¥Æ® Çڵ鷯 ¿ÀºêÁ§Æ®¿Í
¿¬°á½Ãų ¼ö ÀÖ½À´Ï´Ù.
À̺¥ÅÍ Çڵ鷯¸¦ Ãß°¡ÇÏ·Á¸é Ç¥ÇöÀÚÀÇ addObject(String,Object) ¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù. Java·Î
½ºÅ©¸³Æ®ÇÒ °æ¿ì¿¡µµ JavaScript À̺¥Æ® ¸ðµ¨À» »ç¿ëÇÕ´Ï´Ù. ´Ù¾çÇÑ
"onXXX" ÀýÀÌ ÀÌÀüó·³ ÁöÁ¤µÇ¾î ÀÖ½À´Ï´Ù.
ÀÌ °æ¿ì "inline" JavaScript ÇÔ¼ö¿¡ ´ëÇÑ È£Ã⺸´Ù´Â µî·ÏµÈ À̺¥Æ® Çڵ鷯ÀÇ ¸Þ¼Òµå¿¡ ´ëÇÑ ¹Ý»ç
ÄݹéÀ¸·Î ±¸ÇöµË´Ï´Ù.
½ºÅ©¸³Æ® ¾î´ðÅÍÀÇ ¸í½ÃÀû ÀÌ¿ë
Áö±Ý±îÁö Workbench »ç¿ëÀÚ°¡ ½ºÅ©¸³Æ®¸¦ Ãß°¡ ¹× °ü¸®ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ»
»ìÆìº¸¾Ò½À´Ï´Ù. ±×·¯³ª Ç÷¯±×Àο¡¼ È®ÀåÀÚ·Î ½ºÅ©¸³Æ®¸¦ Á¦°øÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ±¸Çö
Ŭ·¡½º ´ë½Å¿¡ È®ÀåÀÚ Á¤ÀÇÀÇ class ¼Ó¼ºÀ¸·Î ½ºÅ©¸³Æ® ¾î´ðÅ͸¦ ÁöÁ¤Çϸé
°¡´ÉÇÕ´Ï´Ù. ¾î´ðÅÍ ½ºÆå¿¡´Â ½ÇÇàÇÒ ½ÇÁ¦ ½ºÅ©¸³Æ® À̸§ÀÌ
Æ÷ÇԵ˴ϴÙ. ¿¹¸¦ µé¾î, plugin.xml ½ºÅ©¸³Æ® ¿¹ÀÇ ´ÙÀ½ ¸¶Å©¾÷¿¡¼´Â Á¶Ä¡ ¼¼Æ®¸¦ Á¦°øÇϰí
½ºÅ©¸³Æ® À̸§ÀÌ
classÀÎ ScriptAdapterWorkbenchActionÀ»
ÁöÁ¤ÇÕ´Ï´Ù. °ü·ÃµÈ ¸¶Å©¾÷Àº ±½°Ô Ç¥½ÃµË´Ï´Ù.
<extension point = "org.eclipse.ui.actionSets">
<actionSet
id="scriptActionSet"
label="%S_Script_Examples"
visible="true">
...
<action id = "scriptaction1"
menubarPath =
"window/org_eclipse_scripting_examples/slot1"
toolbarPath =
"%S_Script_Examples"
label =
"%S_Scripted_Action_Example"
tooltip =
"%S_Perform_Scripted_JavaScript_Action"
icon =
"icons/full/ctool16/script_scp.gif"
class=
"org.eclipse.scripting/org.eclipse.scripting.ScriptAdapterWorkbenchAction:file=platform:/plugin/org.eclipse.scripting.examples/excalibur.js
language=javascript">
</action>
...
¸ðµç Ç÷¯±×ÀÎÀÇ plugin.xml ½ºÆå ÀϺηΠǥÁØ ½ºÅ©¸³Æ®
¾î´ðÅ͸¦ Á÷Á¢ ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù. Áö¿øµÇ´Â ¾î´ðÅÍ ¸ñ·ÏÀº org.eclipse.scripting
ÆÐŰÁö¿¡ ÀÖ½À´Ï´Ù.
½ºÅ©¸³Æ® ¿¹¿¡¼´Â ÀÌ·± ¾î´ðÅ͸¦ Ãß°¡·Î »ç¿ëÇÏ´Â °ÍÀ» Ç¥½ÃÇÕ´Ï´Ù. ½ºÅ©¸³Æ® ¿¹ Ç÷¯±×Àο¡¼´Â ¹Ì¸® Á¤ÀǵÈ
¾î´ðÅ͸¦ »ç¿ëÇÏ¿© ¸ðµç ½ºÅ©¸³Æ® È®ÀåÀ» ±¸ÇöÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ
³»¿ëÀº plugin.xml ÆÄÀÏÀ» ÂüÁ¶ÇϽʽÿÀ.
ÂüÁ¶
org.eclipse.scriptingÀÇ
API ½ºÆå¿¡´Â ½ºÅ©¸³Æ® Áö¿ø¿¡ ´ëÇÑ Ãß°¡ Á¤º¸°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.
½ºÅ©¸³Æ® ¿¹¿¡¼´Â ¼³¸í°ú »ç¿ë¹ý¿¡ °üÇÑ Á¤º¸µµ
Á¦°øÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ½ºÅ©¸³Æ®
¿¹¸¦ ÂüÁ¶ÇϽʽÿÀ.
