µµÀÔ: ¸±¸®½º 2.0
¼³¸í: ÀÌ È®ÀåÁ¡Àº µ¥ÄÚ·¹ÀÌÅÍ °ü¸®ÀÚ¸¦ ±¸µ¶ÇÏ´Â º¸±â¿¡ µ¥ÄÚ·¹ÀÌÅ͸¦ Ãß°¡ÇÏ´Â µ¥ »ç¿ëÇÕ´Ï´Ù. 2.1ºÎÅÍ´Â µ¥ÄÚ·¹ÀÌÅÍÀÇ À̹ÌÁö °ü¸®¸¦ ó¸®ÇÒ °£´ÜÇÑ µ¥ÄÚ·¹ÀÌÅÍÀÇ °³³äÀÌ Àû¿ëµË´Ï´Ù. »ç¿ë °¡´ÉÇÒ ¶§ Ç÷¯±×Àο¡¼ ±¸ÇöÀÌ ÇÊ¿äÇÏÁö ¾ÊÀº ¾ÆÀÌÄÜÀ» ¿À¹ö·¹ÀÌÇÏ´Â °£´ÜÇÑ µ¥ÄÚ·¹ÀÌÅ͸¦ ¼±¾ðÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
enablement ¹× visibility ¿ä¼Ò¸¦ °¢°¢ »ç¿ëÇÏ¿© Á¶Ä¡ÀÇ È°¼º ¹×/¶Ç´Â Ç¥½Ã ¿©ºÎ¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌµé µÎ ¿ä¼Ò´Â Ȱ¼º ¹×/¶Ç´Â Ç¥½Ã ¿©ºÎ¸¦ ÆÇº°ÇÏ´Â µ¥ Æò°¡µÇ´Â ºÎ¿ï Ç¥Çö½ÄÀ» Æ÷ÇÔÇÕ´Ï´Ù.
±¸¹®Àº enablement ¹× visibility ¿ä¼Ò¿¡ ´ëÇØ µ¿ÀÏÇÕ´Ï´Ù. ÀÌµé µÎ ¿ä¼Ò´Â ÇϳªÀÇ ºÎ¿ï Ç¥Çö½Ä ºÎ¼Ó¿ä¼Ò¸¦ Æ÷ÇÔÇÕ´Ï´Ù. °¡Àå °£´ÜÇÑ °æ¿ì¿¡ À̰ÍÀº objectClass, objectState, pluginState ¶Ç´Â systemProperty ¿ä¼Ò°¡ µË´Ï´Ù. º¹ÀâÇÑ °æ¿ì¿¡´Â and, or ¹× not ¿ä¼Ò°¡ Á¶ÇÕµÇ¾î ºÎ¿ï Ç¥Çö½ÄÀ» Çü¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. and ¿ä¼Ò¿Í or ¿ä¼Ò´Â ¸ðµÎ 2°³ÀÇ ºÎ¼Ó¿ä¼Ò¸¦ Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù. not ¿ä¼Ò´Â 1°³ÀÇ ºÎ¼Ó¿ä¼Ò¸¸ Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.
±¸¼º ¸¶Å©¾÷:
<!ELEMENT extension (decorator*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA
#IMPLIED
name CDATA
#IMPLIED
>
<!ELEMENT decorator (description? , enablement?)>
<!ATTLIST decorator
id CDATA #REQUIRED
label CDATA #REQUIRED
class CDATA #IMPLIED
objectClass CDATA #IMPLIED
adaptable (true | false)
state (true | false)
quadrant (TOP_LEFT|TOP_RIGHT|BOTTOM_RIGHT|BOTTOM_LEFT)
lightweight (true|false)
icon CDATA #IMPLIED
location (TOP_LEFT|TOP_RIGHT|BOTTOM_LEFT|BOTTOM_RIGHT|UNDERLAY)
>
<!ELEMENT description (#CDATA)>
µ¥ÄÚ·¹ÀÌÅÍ¿¡ ´ëÇØ ª°Ô ¼³¸íÇÑ ÅØ½ºÆ®°¡ º»¹®¿¡ ÀÖ´Â ¼±ÅÃÀû ºÎ¼Ó¿ä¼Ò. µ¥ÄÚ·¹ÀÌÅÍ È¯°æ ¼³Á¤ ÆäÀÌÁö¿¡¼ Ç¥½ÃµÇ¹Ç·Î À̸¦ Æ÷ÇÔ½ÃŰ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ±âº»°ªÀº ºó ¹®ÀÚ¿ÀÔ´Ï´Ù.
<!ELEMENT enablement (and | or | not | objectClass | objectState | pluginState | systemProperty)>
ÀÌ ¿ä¼Ò´Â Á¶Ä¡ÀÇ È°¼ºÀ» Á¤ÀÇÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.
<!ELEMENT visibility (and | or | not | objectClass | objectState | pluginState | systemProperty)>
ÀÌ ¿ä¼Ò´Â Á¶Ä¡ÀÇ Ç¥½Ã ¿©ºÎ¸¦ Á¤ÀÇÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.
<!ELEMENT and (and | or | not | objectClass | objectState | pluginState | systemProperty)>
ÀÌ ¿ä¼Ò´Â µÎ °³ÀÇ ºÎ¼Ó¿ä¼Ò Æò°¡ °á°ú¿¡¼ ºÎ¿ï AND ¿¬»êÀ» ³ªÅ¸³À´Ï´Ù.
<!ELEMENT or (and | or | not | objectClass | objectState | pluginState | systemProperty)>
ÀÌ ¿ä¼Ò´Â µÎ °³ÀÇ ºÎ¼Ó¿ä¼Ò Æò°¡ °á°ú¿¡¼ ºÎ¿ï OR ¿¬»êÀ» ³ªÅ¸³À´Ï´Ù.
<!ELEMENT not (and | or | not | objectClass | objectState | pluginState | systemProperty)>
ÀÌ ¿ä¼Ò´Â ºÎ¼Ó¿ä¼Ò Æò°¡ °á°ú¿¡¼ ºÎ¿ï NOT ¿¬»êÀ» ³ªÅ¸³À´Ï´Ù.
<!ELEMENT objectClass EMPTY>
ÀÌ ¿ä¼Ò´Â ÇöÀç ¼±ÅûçÇ׿¡ ÀÖ´Â °¢ ¿ÀºêÁ§Æ®ÀÇ Å¬·¡½º ¶Ç´Â ÀÎÅÍÆäÀ̽º¸¦ Æò°¡ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ¼±ÅûçÇ×ÀÇ °¢ ¿ÀºêÁ§Æ®¿¡¼ ÁöÁ¤µÈ Ŭ·¡½º ¶Ç´Â ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϸé Ç¥Çö½ÄÀº true·Î Æò°¡µË´Ï´Ù.
<!ATTLIST objectClass<!ELEMENT objectState EMPTY>
ÀÌ ¿ä¼Ò´Â ÇöÀç ¼±ÅûçÇ׿¡ ÀÖ´Â °¢ ¿ÀºêÁ§Æ®ÀÇ ¼Ó¼º »óŸ¦ Æò°¡ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ¼±ÅûçÇ×ÀÇ °¢ ¿ÀºêÁ§Æ®¿¡ ÁöÁ¤µÈ ¼Ó¼º »óŰ¡ ÀÖÀ¸¸é Ç¥Çö½ÄÀº true·Î Æò°¡µË´Ï´Ù. Ç¥Çö½ÄÀÇ ÀÌ À¯ÇüÀ» Æò°¡ÇÏ·Á¸é ¼±ÅûçÇ×ÀÇ °¢ ¿ÀºêÁ§Æ®¸¦ ±¸ÇöÇϰųª org.eclipse.ui.IActionFilter ÀÎÅÍÆäÀ̽º¿¡ Àû¿ë½ÃÄÑ¾ß ÇÕ´Ï´Ù.
<!ATTLIST objectState<!ELEMENT pluginState EMPTY>
ÀÌ ¿ä¼Ò´Â Ç÷¯±×ÀÎÀÇ »óŸ¦ Æò°¡ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. Ç÷¯±×ÀÎÀÇ »óÅ´ installed ¶Ç´Â activated Áß ÇϳªÀÏ ¼ö ÀÖ½À´Ï´Ù.
<!ATTLIST pluginState<!ELEMENT systemProperty EMPTY>
ÀÌ ¿ä¼Ò´Â ÀϺΠ½Ã½ºÅÛ Æ¯¼ºÀÇ »óŸ¦ Æò°¡ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. Ư¼º °ªÀº java.lang.System¿¡¼ °Ë»öµË´Ï´Ù.
<!ATTLIST systemPropertyÀüü µ¥ÄÚ·¹ÀÌÅÍ. Ç÷¯±×ÀÎ µ¥ÄÚ·¹ÀÌÅÍ´Â °íÀ¯ÇÑ À̹ÌÁö Áö¿øÀ» ó¸®ÇØ¾ß ÇÕ´Ï´Ù.
<extension point="org.eclipse.ui.decorators"> <decorator id="com.xyz.decorator" label="XYZ Decorator" state="true" class="com.xyz.DecoratorContributor"> <enablement> <objectClass name="org.eclipse.core.resources.IResource"/> </enablement> </decorator> </extension>
°£´ÜÇÑ µ¥ÄÚ·¹ÀÌÅÍ. ¸íÈ®ÇÑ Å¬·¡½º°¡ ÀÖÁö¸¸ ILightweightLabelDecoratorÀÌ¹Ç·Î ÅØ½ºÆ®¿Í ImageDescriptor¸¦ Á¦°øÇϱ⸸ ÇÏ¸é µÇ°í ÀÚ¿øÀ» ó¸®ÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù.
<extension point="org.eclipse.ui.decorators"> <decorator id="com.xyz.lightweight.decorator" label="XYZ Lightweight Decorator" state="false" class="com.xyz.LightweightDecoratorContributor" lightweight="true" > <enablement> <objectClass name="org.eclipse.core.resources.IResource"/> </enablement> </decorator> </extension>
¼±¾ðÀû °£´ÜÇÑ µ¥ÄÚ·¹ÀÌÅÍ. ¸íÈ®ÇÑ Å¬·¡½º°¡ ¾øÀ¸¹Ç·Î ¾ÆÀÌÄÜ ¹× ¾ÆÀÌÄÜÀÌ Àû¿ëµÉ 4ºÐ¸éÀ» Á¦°øÇÕ´Ï´Ù.
<extension point="org.eclipse.ui.decorators"> <decorator id="com.xyz.lightweight.declarative.decorator" label="XYZ Lightweight Declarative Decorator" state="false" lightweight="true" icon="icons/full/declarative.gif" location="TOP_LEFT"> <enablement> <objectClass name="org.eclipse.core.resources.IResource"/> </enablement> </decorator> </extension>
API Á¤º¸: class ¼Ó¼ºÀÇ °ªÀº org.eclipse.jface.viewers.ILabelDecorator(lightweight°¡ falseÀÎ °æ¿ì) ¶Ç´Â org.eclipse.jface.viewers.ILightweightLabelDecorator¸¦ ±¸ÇöÇϴ Ŭ·¡½ºÀÇ ¿ÏÀüÇÑ À̸§À̾î¾ß ÇÕ´Ï´Ù. ½ÇÁúÀûÀ¸·Î ÇÊ¿äÇϱâ Àü¿¡ Àüü Ç÷¯±×ÀÎÀÌ ·ÎµåµÇ´Â °ÍÀ» ¹æÁöÇϱâ À§ÇØ °¡´ÉÇÑ ´Ê°Ô ÀÌ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù. ¼±¾ðÀû µ¥ÄÚ·¹ÀÌÅÍ´Â Ç÷¯±×ÀΠȰ¼ºÈ¸¦ ¼ö¹ÝÇÏÁö ¾ÊÀ¸¸ç °¡´ÉÇÒ °æ¿ì ¾ðÁ¦µçÁö »ç¿ëµÇ¾î¾ß ÇÕ´Ï´Ù. °£´ÜÇÏÁö ¾ÊÀº µ¥ÄÚ·¹ÀÌÅÍ´Â °á±¹ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù.
Á¦°øµÇ´Â ±¸Çö: Ç÷¯±×ÀÎÀº ÀÌ È®ÀåÁ¡À» »ç¿ëÇÏ¿© µ¥ÄÚ·¹ÀÌÅÍ °ü¸®ÀÚ¸¦ »ç¿ëÇÏ´Â º¸±â¿¡ Àû¿ëµÉ »õ µ¥ÄÚ·¹ÀÌÅ͸¦ ·¹ÀÌºí µ¥ÄÚ·¹ÀÌÅÍ·Î Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. µ¥ÄÚ·¹ÀÌÅÍ °ü¸®ÀÚ¸¦ »ç¿ëÇÏ·Á¸é IViewPart.getDecoratorManager()ÀÇ °á°ú¸¦ DecoratingLabelProvider ÀνºÅϽº¿¡ ´ëÇÑ µ¥ÄÚ·¹ÀÌÅÍ·Î »ç¿ëÇϽʽÿÀ. À̰ÍÀº ÇöÀç ÀÚ¿ø ³×ºñ°ÔÀÌÅÍ¿¡¼ »ç¿ëÇϰí ÀÖ½À´Ï´Ù.
Copyright (c) 2002,2003 IBM Corporation and others.
All rights reserved. º» ÇÁ·Î±×·¥ ¹× º» ÇÁ·Î±×·¥¿¡ µ¿ºÀµÇ´Â ÀÚ·á´Â º» ¹èÆ÷¹°¿¡ µ¿ºÀµÇ¸ç
http://www.eclipse.org/legal/cpl-v10.html¿¡¼ º¼ ¼ö ÀÖ´Â ÀÏ¹Ý °ø¿ë ¶óÀ̼¾½º v1.0ÀÇ Á¶Ç׿¡ ÀǰÅÇÏ¿© »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.