µ¥ÄÚ·¹ÀÌÅÍ

ID: org.eclipse.ui.decorators

µµÀÔ: ¸±¸®½º 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
     name CDATA #REQUIRED
   >

   <!ELEMENT objectState EMPTY>

  ÀÌ ¿ä¼Ò´Â ÇöÀç ¼±ÅûçÇ׿¡ ÀÖ´Â °¢ ¿ÀºêÁ§Æ®ÀÇ ¼Ó¼º »óŸ¦ Æò°¡ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ¼±ÅûçÇ×ÀÇ °¢ ¿ÀºêÁ§Æ®¿¡ ÁöÁ¤µÈ ¼Ó¼º »óŰ¡ ÀÖÀ¸¸é Ç¥Çö½ÄÀº true·Î Æò°¡µË´Ï´Ù. Ç¥Çö½ÄÀÇ ÀÌ À¯ÇüÀ» Æò°¡ÇÏ·Á¸é ¼±ÅûçÇ×ÀÇ °¢ ¿ÀºêÁ§Æ®¸¦ ±¸ÇöÇϰųª org.eclipse.ui.IActionFilter ÀÎÅÍÆäÀ̽º¿¡ Àû¿ë½ÃÄÑ¾ß ÇÕ´Ï´Ù.

   <!ATTLIST objectState
     name  CDATA #REQUIRED
     value CDATA #REQUIRED
   >

   <!ELEMENT pluginState EMPTY>

  ÀÌ ¿ä¼Ò´Â Ç÷¯±×ÀÎÀÇ »óŸ¦ Æò°¡ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. Ç÷¯±×ÀÎÀÇ »óÅ´ installed ¶Ç´Â activated Áß ÇϳªÀÏ ¼ö ÀÖ½À´Ï´Ù.

   <!ATTLIST pluginState
     id    CDATA #REQUIRED
     value (installed|activated) "installed"
   >

   <!ELEMENT systemProperty EMPTY>

  ÀÌ ¿ä¼Ò´Â ÀϺΠ½Ã½ºÅÛ Æ¯¼ºÀÇ »óŸ¦ Æò°¡ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. Ư¼º °ªÀº java.lang.System¿¡¼­ °Ë»öµË´Ï´Ù.

   <!ATTLIST systemProperty
     name  CDATA #REQUIRED
     value CDATA #REQUIRED
   >
¿¹Á¦: ´ÙÀ½Àº µ¥ÄÚ·¹ÀÌÅÍÀÇ ¿¹Á¦ÀÔ´Ï´Ù.

Àüü µ¥ÄÚ·¹ÀÌÅÍ. Ç÷¯±×ÀÎ µ¥ÄÚ·¹ÀÌÅÍ´Â °íÀ¯ÇÑ À̹ÌÁö Áö¿øÀ» ó¸®ÇØ¾ß ÇÕ´Ï´Ù.

 <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ÀÇ Á¶Ç׿¡ ÀǰÅÇÏ¿© »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.