ÀÌ È®ÀåÁ¡À» »ç¿ëÇÏ¿© Ç÷¯±×ÀÎ °³¹ßÀÚ´Â »óÅ ǥ½ÃÁÙºÎÅÍ ÄÁÅØ½ºÆ® ¸Þ´º±îÁö ÀÀ¿ëÇÁ·Î±×·¥ ³» ¾îµð¿¡µç ³ªÅ¸³ª´Â ¸Þ´º, ºÐ¸® ¹®ÀÚ, ³í¸® ±×·ì ¹× ¸Þ´º Ç׸ñÀ» Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ±×·¯ÇÑ ÄÁÆ®¸®ºä¼Ç ¼¼Æ®¸¦ Á¤ÀÇ(Áï, Á¶Ä¡ ¼¼Æ®)ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Á¶Ä¡ ¼¼Æ®´Â ÀÏ¹Ý »ç¿ëÀÚ°¡ ÄѰųª ²ø ¼ö ÀÖ½À´Ï´Ù. ¿ä¾àÇϸé, ¸Þ´º È®ÀåÁ¡¿¡´Â EclipseÀÇ ¸ðµç ¸Þ´º ¶Ç´Â Æ®¸² ¿µ¿ª¿¡ ÄÁÆ®¸®ºä¼ÇÇϱâ À§ÇÑ ¸ðµç ÇÁ¸®Á¨Å×ÀÌ¼Ç ¿ä¼Ò(¾ÆÀÌÄÜ Á¦¿Ü)°¡ ÀÖ½À´Ï´Ù.
ÀÌ È®ÀåÁ¡ ³»ÀÇ ¸ðµç ¿ä¼Ò¿¡´Â °íÀ¯ ID°¡ ºÎ¿©µË´Ï´Ù. ÀÌ·± ÀÌÀ¯·Î ¿ä¼Ò¸¦ ´Ù½Ã ¾ð±ÞÇÏÁö ¾Ê°íµµ ¾îµð¿¡¼µç ÇØ´ç ¿ä¼Ò¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, Á¶Ä¡ ¼¼Æ®¸¦ Á¤·Ä ¶Ç´Â Á¤ÀÇÇÏ´Â µ¥ ID°¡ ÇÊ¿äÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ °íÀ¯ ID¸¦ »ç¿ëÇÏ¸é ½áµåÆÄƼ Ç÷¯±×ÀÎ °³¹ßÀÚ°¡ ÀÌ·¯ÇÑ ¿ä¼Ò¸¦ ÀûÀýÇÑ ÀÎÅÍÆäÀ̽º ³»ÀÇ »õ À§Ä¡¿¡ ¹èÄ¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Âü°í: 3.2ÀÇ °æ¿ì ±¸ÇöµÈ È®Àå ¸ÞÄ¿´ÏÁòÀÇ ÆÄÆ®¸¸ 'Æ®¸®¹Ö' ÄÁÆ®¸®ºä¼Ç°ú ¿¬°üµÈ ÆÄÆ®ÀÔ´Ï´Ù. Ç׸ñ, ¸Þ´º, µµ±¸ ¸ðÀ½ ¶Ç´Â »óÅ ǥ½ÃÁÙ Ç׸ñ Ãß°¡ ½Ãµµ´Â NO-OP·Î ÀÛµ¿ÇÕ´Ï´Ù.
<!ELEMENT extension (item* , menu* , group* , widget*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
<!ELEMENT item (parameter* , location* , visibleWhen?)>
<!ATTLIST item
id CDATA #REQUIRED
commandId CDATA #REQUIRED
menuId CDATA #IMPLIED>
Ç¥½ÃµÇ´Â À§Ä¡¿¡ µû¶ó Ç׸ñÀº ¸Þ´º Ç׸ñ ¶Ç´Â Æ®¸² Ç׸ñÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù. Ç׸ñ°ú ¿¬°üµÈ ÅØ½ºÆ® ¹× À̹ÌÁö´Â ¸í·ÉÀ¸·Î ±×·ÁÁý´Ï´Ù.
org.eclipse.ui
¿¡¼ Á¦°øÇÏ´Â Ç׸ñÀ»
org.eclipse.ui.item1
À̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. <!ELEMENT menu (location* , visibleWhen?)>
<!ATTLIST menu
id CDATA #REQUIRED
label CDATA #IMPLIED>
¸Þ´º´Â µµ±¸ Ç׸ñÀ̳ª, º¸±â ¸Þ´º, ÄÁÅØ½ºÆ® ¸Þ´º ¶Ç´Â ÃÖ»óÀ§ ·¹º§ ¸Þ´º Ç¥½ÃÁÙ ³» ÀÓÀÇ À§Ä¡¿¡ ÷ºÎµÉ ¼ö ÀÖ½À´Ï´Ù. Ç÷¯±×ÀÎ °³¹ßÀÚ´Â ¸ðµç º¸±â¿¡ ´ëÇÑ ¸Þ´º ¹× µµ±¸ ¸ðÀ½ÀÌ ÀÖÀ¸¸ç ÃÖ»óÀ§ ·¹º§ ¸Þ´º Ç¥½ÃÁÙÀÌ ÀÖ´Ù°í °£ÁÖÇÒ ¼ö ÀÖ½À´Ï´Ù. ÄÁÅØ½ºÆ® ¸Þ´º¸¦ »ç¿ëÇÏ·Á¸é ¸ÕÀú ÇÁ·Î±×·¥ ¹æ½ÄÀ¸·Î µî·ÏÇØ¾ß ÇÕ´Ï´Ù(API Á¤º¸ ÂüÁ¶).
¸Þ´º¿¡´Â ±×·ì¸¸ Æ÷Ç﵃ ¼ö ÀÖ½À´Ï´Ù.
org.eclipse.ui
¿¡¼ Á¦°øÇÏ´Â ¸Þ´º¸¦
org.eclipse.ui.menu1
À̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. <!ATTLIST group
id CDATA #REQUIRED
separatorsVisible (true | false) "true">
³í¸® ±×·ì. Ç¥½ÃµÉ ¼öµµ(¿¹: ÀûÀýÇÑ °æ¿ì ¾ÕµÚ¿¡ ºÐ¸® ¹®ÀÚ¸¦ ±×¸²), Ç¥½ÃµÇÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù. ±âº»ÀûÀ¸·Î ³í¸® ±×·ìÀº Ç¥½ÃµË´Ï´Ù.
±×·ì¿¡´Â ¸Þ´º, Ç׸ñ ¹× ±âŸ ±×·ìÀÌ Æ÷Ç﵃ ¼ö ÀÖ½À´Ï´Ù.
org.eclipse.ui
¿¡¼ Á¦°øÇÏ´Â ±×·ìÀ»
org.eclipse.ui.group1
À̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. <!ELEMENT widget (location* , class? , visibleWhen? , layout?)>
<!ATTLIST widget
id CDATA #REQUIRED
class CDATA #REQUIRED>
À§ÁöÆ®(widget)¿¡ ´ëÇÑ Á÷Á¢ ¾×¼¼½º°¡ ºÎ¿©µÈ ¸Þ´º ¶Ç´Â Æ®¸² ¿ä¼Ò. ¿¹¸¦ µé¾î, À̰ÍÀº ÄÞº¸ »óÀÚ¸¦ ·»´õ¸µÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Áï, widget ¿ä¼Ò°¡ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¿¡¼ Ç¥½ÃµÇ´Â °æ¿ì Ç÷¯±×ÀÎÀÌ ·ÎµåµÈ´Ù´Â ÀǹÌÀÔ´Ï´Ù. ÀÌ ¿ä¼Ò´Â ¼º´É ¹®Á¦Á¡À» À¯¹ßÇϹǷΠ»ç¿ë ½Ã ÁÖÀÇÇØ¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ ¸ÅÅ©·Î Áö¿ø, ½ºÅ©¸³ÆÃ ¹× ±âŸ ¸í·É ±â¹Ý ¸ÞÄ¿´ÏÁò µîÀÇ »çÇ×°ú °ü·ÃÇÏ¿© ¹®Á¦Á¡À» À¯¹ßÇÒ ¼öµµ ÀÖ½À´Ï´Ù. À§ÁöÆ®(widget)¸¦ Æ®¸²À¸·Î »ç¿ëÇÏ´Â °æ¿ì, UI¿¡ Ç¥½ÃµÇ¾î¾ß Ç÷¯±×ÀÎÀÌ ·ÎµåµË´Ï´Ù.
org.eclipse.ui
¿¡¼ Á¦°øÇÏ´Â À§ÁöÆ®(widget)¸¦
org.eclipse.ui.widget1
À̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. IWorkbenchWidget
À» ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â ±âº» ±¸ÇöÀÎ AbstractWorkbenchTrimWidget
À» »ç¿ëÇϵµ·Ï ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ±¸Çö¿¡¼´Â 'init' ¸Þ¼Òµå¸¦ ÇÚµéÇϰí getWorkbenchWindow
¸Þ¼Òµå¿¡¼ »ç¿ëµÈ °á°ú¸¦ ij½ÃÇÕ´Ï´Ù. <!ELEMENT layout EMPTY>
<!ATTLIST layout
fillMajor (true | false)
fillMinor (true | false) >
ÀÌ ¿ä¼Ò´Â trim
À§Ä¡¿¡ Ãß°¡µÈ ¿ä¼Ò¿¡ ´ëÇÑ ´Ù¾çÇÑ ·¹À̾ƿô
¿É¼ÇÀ» ÁöÁ¤ÇÒ ¶§ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
false
ÀÔ´Ï´Ù.false
ÀÔ´Ï´Ù.<!ELEMENT location (order? , (bar | part | popup))>
<!ATTLIST location
mnemonic CDATA #IMPLIED
imageStyle CDATA #IMPLIED>
menu
, group
, item
¶Ç´Â widget
°¡
Ç¥½ÃµÉ ¼ö ÀÖ´Â À§Ä¡. ÀÌ ¿ä¼Ò´Â À§Ä¡ ƯÁ¤ Á¤º¸¸¦ Á¦¾îÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.
<!ELEMENT bar EMPTY>
<!ATTLIST bar
type (menu|trim)
path CDATA #IMPLIED>
À§Ä¡ ³» ¸®ÇÁ ¿ä¼Ò. ¸Þ´º Ç¥½ÃÁÙ ¶Ç´Â Æ®¸² ¿µ¿ªÀÏ
¼ö ÀÖ½À´Ï´Ù. ±ÔÁ¤µÇÁö ¾ÊÀº °æ¿ì À̰ÍÀº ÃÖ»óÀ§ ·¹º§ ¸Þ´º Ç¥½ÃÁÙ ¶Ç´Â
Æ®¸²À» Ç¥½ÃÇÕ´Ï´Ù. part
¿ä¼Ò·Î ±ÔÁ¤µÈ °æ¿ì¿¡´Â ÆÄÆ®ÀÇ ¸Þ´º ¶Ç´Â Æ®¸²À» Ç¥½ÃÇÕ´Ï´Ù.
menu
¶Ç´Â trim
ÀÏ
¼ö ÀÖ½À´Ï´Ù. ¸Þ´º¿¡ Á¦°øÇÏ´Â °æ¿ì Ç׸ñÀº ÀϺΠÀ§ÁöÆ® ±¸Á¶ÀÇ »óÀ§°¡
µË´Ï´Ù. ÀϹÝÀûÀ¸·Î À§ÁöÆ® ¿ä¼Ò¸¦ »ç¿ëÇÏ´Â ÀÌ ¹æ¹ýÀº
ÀûÀýÇÏÁö ¾ÊÀ¸¸ç Ç׸ñ ¸í·É¿¡ ÇØ´çÇÏ´Â ¾ÆÀÌÄÜÀº ¹Ýµå½Ã ÇÊ¿äÇÏÁö´Â ¾Ê½À´Ï´Ù. ±âº»°ªÀº menu
ÀÔ´Ï´Ù.
trim
¿¡ ÄÁÆ®¸®ºä¼ÇÇÏ´Â °æ¿ì, ÀϹÝÀûÀ¸·Î ¸·´ë¿¡ ¸í·É ¶Ç´Â ¾ÆÀÌÄÜÀÌ ÇÊ¿äÇÏÁö ¾ÊÀ¸¸ç Æ®¸² Á¤º¸¸¦ Ç¥½ÃÇÏ´Â À§ÁöÆ®(widget)·Î ä¿öÁ®¾ß ÇÕ´Ï´Ù.
trim ³»¿¡¼ Workbench´Â â ÁÖÀ§ÀÇ ´Ù¾çÇÑ À§Ä¡¿¡ ÇØ´çÇÏ´Â ´ÙÀ½ ´Ù¼¸ °¡Áö ÀÏ¹Ý ±×·ìÀ» Á¤ÀÇÇÕ´Ï´Ù.
vertical1
ÀÇ Workbench¿Í ¹Ý´ëÂÊ¿¡ ÀÖ´Â (¼¼·Î) Æ®¸² ¿µ¿ªÀ» ³ªÅ¸³À´Ï´Ù.'/'
¸¦ »ç¿ëÇÕ´Ï´Ù.<!ATTLIST class
class CDATA #REQUIRED>
widget
¹× dynamic
¿ä¼Ò ¸ðµÎÀÇ ±¸¹®À»
ºÐ¼®ÇÏ´Â ½ÇÇà °¡´É È®ÀåÀ» Áö¿øÇÏ´Â class ¿ä¼Ò
IExecutableExtension
À¸·Î ·ÎµåÇÒ Å¬·¡½º<!ELEMENT visibleWhen (not | or | and | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate)>
<!ATTLIST visibleWhen
checkEnabled (true | false) "false">
ÁöÁ¤µÈ ¿ä¼ÒÀÇ °¡½Ã¼ºÀ» Á¦¾îÇÕ´Ï´Ù.
true
·Î ¼³Á¤µÈ °æ¿ì
ÇÏÀ§ ¿ä¼Ò°¡ ¾ø¾î¾ß ÇÕ´Ï´Ù. ¸í·ÉÀ» »ç¿ëÇÏ´Â °æ¿ì »ç¿ë »óÅÂÀÎ ¸í·ÉÀ» È®ÀÎÇϰí
ÇØ´ç ¿ä¼Ò°¡ Ç¥½ÃµÇ°Ô ÇÕ´Ï´Ù.<!ATTLIST part
id CDATA #IMPLIED
class CDATA #IMPLIED>
À§Ä¡ ³» ¿ä¼Ò. À̰ÍÀº ƯÁ¤ Workbench ÆÄÆ®¸¦ ÂüÁ¶ÇÏ´Â À§Ä¡¸¦ ±ÔÁ¤ÇÕ´Ï´Ù. º¸±â ¶Ç´Â ÆíÁý±âÀÏ ¼ö ÀÖ½À´Ï´Ù. ±ÔÁ¤¿¡¼´Â ÆÄÆ®ÀÇ Å¬·¡½º À̸§(»ó¼Ó Æ÷ÇÔ)À» »ç¿ëÇϰųª, º¸±â ¶Ç´Â ÆíÁý±âÀÇ ID¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù.
id
¿Í class
Áß Çϳª¸¸ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED>
È®Àå¿¡¼ ³ªÅ¸³ª´Â À§Ä¡¿¡ µû¶ó ½ÇÇà °¡´É È®Àå ¶Ç´Â ¸í·É ¸Å°³º¯¼ö
<!ELEMENT order EMPTY>
<!ATTLIST order
position (start|end|before|after)
relativeTo CDATA #IMPLIED>
ƯÁ¤ À§Ä¡ ³»ÀÇ ¸Þ´º, ±×·ì, Ç׸ñ ¶Ç´Â À§ÁöÆ® À§Ä¡¸¦ Á¦¾îÇÕ´Ï´Ù.
ÀÌ ¼Ó¼ºÀº ´ÙÀ½ °ªÀ» ½ÂÀÎÇÕ´Ï´Ù.
start
(¿ä¼Ò¸¦ ÄÁÅ×ÀÌ³Ê ½ÃÀÛ ºÎºÐ¿¡ ³ÖÀ½), end
(¿ä¼Ò¸¦
ÄÁÅ×À̳ÊÀÇ ³¡ ºÎºÐ¿¡ ³ÖÀ½), after
(ID°¡ ref
¿Í ÀÏÄ¡ÇÏ´Â
µ¿À§ ¿ä¼Ò ´ÙÀ½¿¡ ¿ä¼Ò¸¦ ³ÖÀ½), before
(ID°¡
ref
¿Í ÀÏÄ¡ÇÏ´Â µ¿À§ ¿ä¼Ò ¾Õ¿¡ ¿ä¼Ò¸¦ ³ÖÀ½). »ó´ë ¼ø¼¸¦
¸ðµç ¸Þ´º ¿ä¼Ò À¯Çü¿¡ Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
Ãæµ¹ÀÌ ÀÖ´Â °æ¿ì Eclipse¿¡¼´Â ÀÓÀÇÀÇ ¼ø¼¸¦ ¼±ÅÃÇÕ´Ï´Ù. Ãæµ¹ »óȲ¿¡¼ ´ÙÀ½°ú °°Àº °æ¿ì ¼ø¼´Â µ¿ÀÏÇÏ°Ô À¯ÁöµË´Ï´Ù.
position
ÀÌ before
¶Ç´Â after
ÀÎ
°æ¿ì¿¡ ÇÊ¿äÇÕ´Ï´Ù. <!ELEMENT popup EMPTY>
<!ATTLIST popup
id CDATA #IMPLIED
path CDATA #IMPLIED>
À§Ä¡ ÆÄÆ®. ÆË¾÷ ¸Þ´º¿¡¼ ¸Þ´º, ±×·ì, Ç׸ñ ¶Ç´Â À§ÁöÆ®°¡ Ç¥½ÃµÊÀ» ³ªÅ¸³À´Ï´Ù.
<!ELEMENT enablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
ÀÏ¹Ý ·çÆ® ¿ä¼Ò. ÀÌ ¿ä¼Ò´Â È®ÀåÁ¡ ³»¿¡¼ Enablement Ç¥Çö½ÄÀ» Á¤ÀÇÇÏ´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. Enablement Ç¥Çö½ÄÀÇ ÇÏÀ§´Â and ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© °áÇյ˴ϴÙ.
<!ELEMENT not (not | and | or | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate)>
ÀÌ ¿ä¼Ò´Â ÇØ´ç ÇÏÀ§ ¿ä¼Ò Ç¥Çö½Ä Æò°¡ °á°ú¿¡¼ NOT ¿¬»êÀ» ³ªÅ¸³À´Ï´Ù.
<!ELEMENT and (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
ÀÌ ¿ä¼Ò´Â ¸ðµç ÇØ´ç ÇÏÀ§ ¿ä¼Ò Ç¥Çö½Ä Æò°¡ °á°ú¿¡¼ AND ¿¬»êÀ» ³ªÅ¸³À´Ï´Ù.
<!ELEMENT or (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
ÀÌ ¿ä¼Ò´Â ¸ðµç ÇØ´ç ÇÏÀ§ ¿ä¼Ò Ç¥Çö½Ä Æò°¡ °á°ú¿¡¼ OR ¿¬»êÀ» ³ªÅ¸³À´Ï´Ù.
<!ELEMENT instanceof EMPTY>
<!ATTLIST instanceof
value CDATA #REQUIRED>
ÀÌ ¿ä¼Ò´Â ÃÊÁ¡ÀÌ µÈ ¿ÀºêÁ§Æ®ÀÇ instanceof °Ë»ç¸¦ ¼öÇàÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ¿ÀºêÁ§Æ® À¯ÇüÀÌ ¼Ó¼º °ªÀ¸·Î ÁöÁ¤µÈ À¯ÇüÀÇ ÇÏÀ§ À¯ÇüÀÎ °æ¿ì Ç¥Çö½ÄÀº EvaluationResult.TRUE¸¦ ¸®ÅÏÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é EvaluationResult.FALSE¸¦ ¸®ÅÏÇÕ´Ï´Ù.
<!ELEMENT test EMPTY>
<!ATTLIST test
property CDATA #REQUIRED
args CDATA #IMPLIED
value CDATA #IMPLIED>
ÀÌ ¿ä¼Ò´Â ÃÊÁ¡ÀÌ µÈ ¿ÀºêÁ§Æ®ÀÇ Æ¯¼º »óŸ¦ Æò°¡ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. Ư¼º Å×½ºÅÍ È®ÀåÁ¡À» »ç¿ëÇÏ¿© Å×½ºÆ® °¡´ÉÇÑ Æ¯¼º ¼¼Æ®¸¦ È®ÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. ½ÇÁ¦ Å×½ºÆ®¸¦ ¼öÇàÇϴ Ư¼º Å×½ºÅͰ¡ ¾ÆÁ÷ ·ÎµåµÇÁö ¾ÊÀº °æ¿ì Å×½ºÆ® Ç¥Çö½ÄÀº EvaluationResult.NOT_LOADED¸¦ ¸®ÅÏÇÕ´Ï´Ù.
<!ELEMENT systemTest EMPTY>
<!ATTLIST systemTest
property CDATA #REQUIRED
value CDATA #REQUIRED>
System.getProperty ¸Þ¼Òµå¸¦ È£ÃâÇÏ¿© ½Ã½ºÅÛ Æ¯¼ºÀ» Å×½ºÆ®ÇÑ ´ÙÀ½ ±× °á°ú¸¦ °ª ¼Ó¼ºÀ» ÅëÇØ ÁöÁ¤µÈ °ª°ú ºñ±³ÇÕ´Ï´Ù.
<!ELEMENT equals EMPTY>
<!ATTLIST equals
value CDATA #REQUIRED>
ÀÌ ¿ä¼Ò´Â ÃÊÁ¡ÀÌ µÈ ¿ÀºêÁ§Æ®ÀÇ equals °Ë»ç¸¦ ¼öÇàÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ¿ÀºêÁ§Æ®°¡ ¼Ó¼º °ªÀ¸·Î Á¦°øµÈ °ª°ú µ¿ÀÏÇÑ °æ¿ì Ç¥Çö½ÄÀº EvaluationResult.TRUE¸¦ ¸®ÅÏÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é EvaluationResult.FALSE¸¦ ¸®ÅÏÇÕ´Ï´Ù.
<!ELEMENT count EMPTY>
<!ATTLIST count
value CDATA #REQUIRED>
ÀÌ ¿ä¼Ò´Â ÄÝ·º¼Ç¿¡ ÀÖ´Â ¿ä¼ÒÀÇ ¼ö¸¦ Å×½ºÆ®ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.
<!ELEMENT with (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST with
variable CDATA #REQUIRED>
ÀÌ ¿ä¼Ò´Â ¸ðµç ÇÏÀ§ ¿ä¼Ò¸¦ °Ë»çÇØ¾ß ÇÏ´Â ¿ÀºêÁ§Æ®¸¦ Á¦°øµÈ º¯¼ö¿¡ ÀÇÇØ ÂüÁ¶µÇ´Â ¿ÀºêÁ§Æ®·Î º¯°æÇÕ´Ï´Ù. º¯¼ö¸¦ ºÐ¼®ÇÒ ¼ö ¾ø´Â °æ¿ì Ç¥Çö½ÄÀº Æò°¡ Áß¿¡ ExpressionExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù. with Ç¥Çö½ÄÀÇ ÇÏÀ§´Â and ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© °áÇյ˴ϴÙ.
<!ELEMENT resolve (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST resolve
variable CDATA #REQUIRED
args CDATA #IMPLIED>
ÀÌ ¿ä¼Ò´Â ¸ðµç ÇÏÀ§ ¿ä¼Ò¸¦ °Ë»çÇØ¾ß ÇÏ´Â ¿ÀºêÁ§Æ®¸¦ Á¦°øµÈ º¯¼ö¿¡ ÀÇÇØ ÂüÁ¶µÇ´Â ¿ÀºêÁ§Æ®·Î º¯°æÇÕ´Ï´Ù. º¯¼ö¸¦ ºÐ¼®ÇÒ ¼ö ¾ø´Â °æ¿ì Ç¥Çö½ÄÀº Æò°¡ Áß¿¡ ExpressionExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù. with Ç¥Çö½ÄÀÇ ÇÏÀ§´Â and ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© °áÇյ˴ϴÙ.
<!ELEMENT adapt (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST adapt
type CDATA #REQUIRED>
ÀÌ ¿ä¼Ò´Â ÃÊÁ¡ÀÌ µÈ ¿ÀºêÁ§Æ®¸¦ ¼Ó¼º À¯Çü¿¡ ÀÇÇØ ÁöÁ¤µÈ À¯ÇüÀ¸·Î ÀûÀÀ½ÃŰ´Â µ¥ »ç¿ëÇÕ´Ï´Ù. ÂüÁ¶µÈ À¯Çü ¶Ç´Â ¾î´ðÅͰ¡ ¾ÆÁ÷ ·ÎµåµÇÁö ¾ÊÀº °æ¿ì Ç¥Çö½ÄÀº ·ÎµåµÇÁö ¾ÊÀº »óŸ¦ ¸®ÅÏÇÕ´Ï´Ù. À¯Çü À̸§ÀÌ Á¸ÀçÇÏÁö ¾ÊÀ» °æ¿ì Æò°¡ Áß¿¡ ExpressionExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù. Adapt Ç¥Çö½ÄÀÇ ÇÏÀ§´Â and ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© °áÇյ˴ϴÙ.
<!ELEMENT iterate (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST iterate
operator (or|and) >
ÀÌ ¿ä¼Ò´Â Java.util.Collection À¯ÇüÀÇ º¯¼ö¸¦ ¹Ýº¹ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ÃÊÁ¡ÀÌ µÈ ¿ÀºêÁ§Æ®°¡ java.util.Collection À¯ÇüÀÌ ¾Æ´Ñ °æ¿ì Ç¥Çö½ÄÀº Æò°¡ Áß¿¡ ExpressionExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù.
±âº» ¸Þ´º Á¤ÀÇ´Â ´ÙÀ½°ú °°½À´Ï´Ù.
<menu id=
"com.mycompany.myplugin.projection"
label=
"%Folding.label"
>
<location mnemonic=
"%Folding.label.mnemonic"
>
<part id=
"AntEditor"
>
<popup id=
"#RulerContext"
path=
"rest"
/>
</part>
</location>
</menu>
ÀÌ ¿¹Á¦¿¡¼ Ç÷¯±×ÀÎ °³¹ßÀÚ´Â ÁöÁ¤µÈ À¯ÇüÀ» ¼ºêŬ·¡½ºÈÇϰųª ±¸ÇöÇÏ´Â ¸ðµç ÆÄÆ®¿¡ ÄÁÆ®¸®ºä¼ÇÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, À̸¦ ÅëÇØ ÀϺΠÄÁÆ®¸®ºä¼ÇÀÌ ¸ðµç ¹®¼ ÆíÁý±â¿¡ Ãß°¡µÉ ¼ö ÀÖ½À´Ï´Ù.
<menu id=
"com.mycompany.myplugin.textEditorMenu"
label=
"Text Commands"
>
<location mnemonic=
"X"
>
<part class=
"AbstractTextEditor"
>
<popup id=
"#RulerContext"
path=
"rest"
/>
</part>
</location>
</menu>
µµ¿ò¸»À» ¸Þ´º¿Í ¿¬°ü½Ãų ¼ö ÀÖ½À´Ï´Ù.
<menu id=
"com.mycompany.myplugin.RunWithConfigurationAction"
label=
"Run With Configuration"
helpContextId=
"run_with_configuration_context"
>
<location>
<bar />
</location>
</menu>
¸Þ´º ³»¿¡¼ ³í¸® ±×·ìÀ» Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ³í¸® ±×·ìÀº Ç¥½ÃµÉ ¼öµµ(¿¹: ÀûÀýÇÑ °æ¿ì ¾ÕµÚ¿¡ ºÐ¸® ¹®ÀÚ¸¦ ±×¸²), Ç¥½ÃµÇÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù. ±âº»ÀûÀ¸·Î ³í¸® ±×·ìÀº Ç¥½ÃµË´Ï´Ù.
<group id=
"com.mycompany.myplugin.stepGroup"
>
<location>
<bar path=
"org.eclipse.ui.run"
/>
</location>
</group>
<group id=
"com.mycompany.myplugin.stepIntoGroup"
separatorsVisible=
"false"
>
<location>
<bar path=
"org.eclipse.ui.run"
/>
</location>
</group>
¸Þ´º, ±×·ì, Ç׸ñ ¹× À§ÁöÆ®¸¦ ¿©·¯ À§Ä¡¿¡ ¹èÄ¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
<item id=
"com.mycompany.myplugin.ToggleStepFilters"
commandId=
"com.mycompany.myplugin.ToggleStepFilters"
>
<location mnemonic=
"%mnemonic"
>
<bar path=
"org.eclipse.ui.run/emptyStepGroup"
/>
</location>
<location>
<part id=
"org.eclipse.debug.ui.DebugView"
>
<bar type=
"trim"
path=
"renderGroup"
/>
</part>
</location>
<location mnemonic=
"%mnemonic"
>
<part id=
"org.eclipse.debug.ui.DebugView"
>
<popup path=
"renderGroup"
/>
</part>
</location>
</item>
ID ¹× »óÀ§ ÆÄÆ® ¿ä¼Ò ¾øÀÌ ÆË¾÷ ¿ä¼Ò¸¦ ÁöÁ¤ÇÑ °æ¿ì Workbench¿¡ µî·ÏµÈ ¸ðµç ÄÁÅØ½ºÆ® ¸Þ´º¿¡ Àû¿ëµË´Ï´Ù. À̰ÍÀº ÀÌÀü ¿ÀºêÁ§Æ® ÄÁÆ®¸®ºä¼ÇÀÇ µ¿ÀÛ°ú ºñ½ÁÇÕ´Ï´Ù. ¸¶Âù°¡Áö·Î, ID°¡ ÀÖ´Â ÃÖ»óÀ§ ·¹º§ ÆË¾÷ ¿ä¼Ò´Â ÁöÁ¤µÈ À̸§À¸·Î µî·ÏµÈ ¸ðµç ÄÁÅØ½ºÆ® ¸Þ´º¿¡ ¿µÇâÀ» ÁÝ´Ï´Ù.
<item id=
"com.mycompany.myplugin.ObjectContribution"
commandId=
"com.mycompany.myplugin.ObjectContribution"
>
<location>
<popup path=
"additions"
/>
</location>
</item>
°¡²û¾¿ Ç׸ñ °¡½Ã¼ºÀ» Á¦¾îÇØ¾ß ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀϹÝÀûÀ¸·Î ¸Þ´º ¹× µµ±¸ ¸ðÀ½ ·¹À̾ƿô¿¡¼
Ç׸ñ °¡½Ã¼ºÀ» À¯Áö°ü¸®ÇÏ´Â °ÍÀÌ ³´Áö¸¸
Á÷Á¢ °ü·ÃÀÌ ¾ø´Â Ç׸ñÀ» ¼û±â´Â °ÍÀÌ ´õ ÀûÇÕÇÑ °æ¿ìµµ ÀÖ½À´Ï´Ù. ƯÈ÷ °ø°£ÀÌ Á¦ÇÑÀûÀÎ ÄÁÅØ½ºÆ® ¸Þ´º¿¡¼
±×·¸½À´Ï´Ù. ÀÌ·± °æ¿ì visibleWhen
¿ä¼Ò¸¦
Á¤ÀÇÇÕ´Ï´Ù. ÀÌ ¿ä¼Ò´Â Çڵ鷯 È®ÀåÁ¡¿¡ Á¤ÀǵÈ
activeWhen
¹× enabledWhen
¿ä¼Ò¿Í °ÅÀÇ µ¿ÀÏÇÕ´Ï´Ù.
<item id=
"com.mycompany.myplugin.ConvertToWatchExpression"
commandId=
"com.mycompany.myplugin.ConvertToWatchExpression"
>
<location mnemonic=
"%mnemonic"
>
<part id=
"org.eclipse.debug.ui.DebugView"
>
<popup path=
"additions"
/>
</part>
</location>
<visibleWhen>
<with variable=
"selection"
>
<iterate operator=
"and"
>
<not>
<instanceof value=
"IWatchExpression"
/>
</not>
<instanceof value=
"IExpression"
/>
</iterate>
</with>
</visibleWhen>
</item>
°¡Àå ÀϹÝÀûÀÎ °æ¿ì´Â ÇØ´ç Çڵ鷯¸¦ »ç¿ëÇÏ´Â °æ¿ì Ç׸ñÀÌ Ç¥½ÃµÇ°Ô ÇÏ´Â
°ÍÀÔ´Ï´Ù. À̰ÍÀº ÀϺΠ±¸¹® ¿ä¼Ò·Î 󸮵Ǵµ¥, visibleWhen
¿ä¼Ò¿¡´Â
checkEnabled
¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù.
<item id=
"com.mycompany.myplugin.compareWithPatch"
commandId=
"com.mycompany.myplugin.compareWithPatch"
>
<location mnemonic=
"%mnemonic"
>
<part id=
"MyPart"
>
<popup path=
"additions"
/>
</part>
</location>
<visibleWhen checkEnabled=
"true"
/>
</item>
¸í·É°ú ¿¬°üµÈ ¸ðµç Ç׸ñ¿¡´Â ¸Å°³º¯¼ö°ªÀÌ Æ÷Ç﵃ ¼ö ÀÖ½À´Ï´Ù. ÁöÁ¤µÈ IDÀÇ ¸Å°³º¯¼ö°¡ Á¤ÀǵÇÁö ¾ÊÀº °æ¿ì ¿À·ù¶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. Ç׸ñ¿¡ ¸í·ÉÀÌ ¾ø´Â °æ¿ìµµ ¿À·ùÀÔ´Ï´Ù.
<item id=
"com.mycompany.myplugin.RunHistory"
commandId=
"com.mycompany.myplugin.RunHistory"
>
<location>
<bar path=
"org.eclipse.ui.run"
/>
</location>
<parameter name=
"index"
value=
"1"
/>
</item>
»ó´ë ¼ø¼¸¦ ÁöÁ¤ÇÒ ¼öµµ Àִµ¥, À§Ä¡ ¿ä¼Ò¿¡ order ¼Ó¼ºÀ» »ç¿ëÇϸé
µË´Ï´Ù. order ¼Ó¼ºÀº ´ÙÀ½ °ªÀ» ½ÂÀÎÇÕ´Ï´Ù.
start
(¿ä¼Ò¸¦ ÄÁÅ×ÀÌ³Ê ½ÃÀÛ ºÎºÐ¿¡ ³ÖÀ½), end(¿ä¼Ò¸¦
ÄÁÅ×À̳ÊÀÇ ³¡ ºÎºÐ¿¡ ³ÖÀ½), after
(ID°¡ ref
¿Í ÀÏÄ¡ÇÏ´Â
µ¿À§ ¿ä¼Ò ´ÙÀ½¿¡ ¿ä¼Ò¸¦ ³ÖÀ½), before
(ID°¡
ref
¿Í ÀÏÄ¡ÇÏ´Â µ¿À§ ¿ä¼Ò ¾Õ¿¡ ¿ä¼Ò¸¦ ³ÖÀ½). »ó´ë ¼ø¼¸¦
¸ðµç ¸Þ´º ¿ä¼Ò À¯Çü¿¡ Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
<item id=
"com.mycompany.myplugin.MyFirstItem"
commandId=
"com.mycompany.myplugin.MyFirstCommand"
>
<location>
<order position=
"start"
/>
<bar path=
"org.eclipse.ui.run"
/>
</location>
</item>
<item id=
"com.mycompany.myplugin.MySecondItem"
commandId=
"com.mycompany.myplugin.MySecondCommand"
>
<location>
<order position=
"after"
relativeTo=
"com.mycompany.myplugin.MyFirstItem"
/>
<bar path=
"org.eclipse.ui.run"
/>
</location>
</item>
À§ÁöÆ®¿¡ Á÷Á¢ ¾×¼¼½ºÇØ¾ß ÇÏ´Â °æ¿ì(¿¹: ÄÞº¸ »óÀÚ ·»´õ¸µÀ» À§ÇØ)
widget
¿ä¼Ò¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Áï, widget ¿ä¼Ò°¡ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¿¡¼ Ç¥½ÃµÇ´Â °æ¿ì
Ç÷¯±×ÀÎÀÌ ·ÎµåµÈ´Ù´Â ÀǹÌÀÔ´Ï´Ù.
<widget id=
"com.mycompany.myplugin.MyComboBoxSimple"
class=
"com.mycompany.myplugin.MyComboBox"
>
<location>
<bar type=
"trim"
path=
"myGroup"
/>
</location>
</widget>
<widget id=
"com.mycompany.myplugin.MyComboBoxParameterized1"
class=
"com.mycompany.myplugin.MyComboBox:a,b,c"
>
<location>
<bar type=
"trim"
path=
"myGroup"
/>
</location>
</widget>
<widget id=
"com.mycompany.myplugin.MyComboBoxParameterized2"
>
<class class=
"com.mycompany.myplugin.MyComboBox"
>
<parameter name=
"list"
value=
"a,b,c"
/>
<parameter name=
"selected"
value=
"c"
/>
<parameter name=
"editable"
value=
"false"
/>
</class>
<location>
<bar type=
"trim"
path=
"myGroup"
/>
</location>
</widget>
À§ÁöÆ®¸¦ »ç¿ëÇÏ¿© Workbench Æ®¸²¿¡ ÄÁÆ®¸®ºä¼ÇÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ´ÙÀ½ ¿¹Á¦´Â ±âº»ÀûÀ¸·Î »óÅ ǥ½ÃÁÙ Æ®¸² ¹Ù·Î ´ÙÀ½(Áï, Workbench â ¸Ç ¾Æ·¡)¿¡ ¹èÄ¡µÇ´Â »õ 'HeapStatus' À§ÁöÆ®¸¦ Á¤ÀÇÇÕ´Ï´Ù. ¹Ì¸® Á¤ÀÇµÈ ±×·ì¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â 'bar' ¿ä¼Ò¿¡ ´ëÇÑ ¼³¸íÀ» ÂüÁ¶ÇϽʽÿÀ.
Æ®¸² '±×·ì'À» ´Ù¸¥ Æ®¸² ¿µ¿ª¿¡ ´Ù½Ã ¹èÄ¡ÇÒ ¼ö
ÀÖ½À´Ï´Ù. À§Ä¡ Á¤º¸ÀÇ relativeTo
´Â »õ Æ®¸² À§Ä¡¸¦ °áÁ¤ÇÒ ¶§ ÂüÁ¶µÇ´Â ±×·ìÀÌ
±âº» À§Ä¡¿¡ ÀÖ´Ù°í °¡Á¤ÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î ÀÌ ÄÁÆ®¸®ºäÅÍ À¯ÇüÀº
´Ù¸¥ Æ®¸² ¿ä¼Ò¿Í µ¶¸³ÀûÀ¸·Î Æ®¸² ¿ä¼Ò¸¦ ´Ù½Ã ¹èÄ¡ÇÒ ¼ö ÀÖµµ·Ï
»õ À§ÁöÆ®¸¦ È£½ºÆ®ÇÏ´Â ÀÚü ±×·ìÀ» ÀÛ¼ºÇÕ´Ï´Ù. ÀÌ¿¡ ´ëÇÑ ÇÑ °¡Áö ¿¹¿Ü´Â '»óÅÂ' ±×·ìÀÔ´Ï´Ù.
<extension point=
"org.eclipse.ui.menus"
>
<group id=
"TestTrimAPI.heapStatusGroup"
separatorsVisible=
"true"
>
<location>
<bar type=
"trim"
/>
<order position=
"after"
relativeTo=
"status"
/>
</location>
</group>
<widget class=
"HeapStatusWidget"
id=
"TestTrimAPI.HeapStatus"
>
<location>
<bar path=
"heapStatusGroup"
type=
"trim"
/>
</location>
<layout fillMajor=
"false"
fillMinor=
"true"
/>
</widget>
</extension>
IWorkbenchPartSite.registerContextMenu
¸Þ¼Òµå¸¦ »ç¿ëÇϽʽÿÀ.
Copyright (c) 2005 IBM Corporation and others.
All rights reserved. º» ÇÁ·Î±×·¥ ¹× º» ÇÁ·Î±×·¥¿¡ µ¿ºÀµÇ´Â ÀÚ·á´Â º» ¹èÆ÷¹°¿¡ µ¿ºÀµÇ´Â Eclipse Public License v1.0ÀÇ Á¶Ç׿¡ µû¶ó »ç¿ëÇØ¾ß Çϸç
À¥ »çÀÌÆ®(http://www.eclipse.org/legal/epl-v10.html)¿¡¼µµ °ü·Ã »çÇ×À» ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù.