Á¶Ä¡ ¼¼Æ®

ID: org.eclipse.ui.actionSets

¼³¸í: ÀÌ È®ÀåÁ¡À» »ç¿ëÇÏ¿© ¸Þ´º, ¸Þ´º Ç׸ñ ¹× µµ±¸ ¸ðÀ½ ´ÜÃ߸¦ Workbench âÀÇ °øÅë ¿µ¿ª¿¡ Ãß°¡ÇÕ´Ï´Ù. ÀÌ Á¦°øÀ» ÅëĪÇÏ¿© Á¶Ä¡ ¼¼Æ®¶ó°í ÇÏ°í »ç¿ëÀÚ È¯°æ ¼³Á¤¿¡ µû¶ó Workbench â¿¡ ³ªÅ¸³³´Ï´Ù.

±¸¼º ¸¶Å©¾÷:

   <!ELEMENT actionSet (menu)* (action)* (description?)>
   <!ATTLIST actionSet
      id        CDATA #REQUIRED
      label     CDATA #REQUIRED
      visible   (true | false) #IMPLIED
    >
    <!ELEMENT description (#PCDATA)>

   <!ELEMENT menu (separator)+ (groupMarker)*>
   <!ATTLIST menu
      id         CDATA #REQUIRED
      label      CDATA #REQUIRED
      path       CDATA #IMPLIED
   >    <!ELEMENT separator EMPTY>
   <!ATTLIST separator
      name       CDATA #REQUIRED
   >
  • name - ³ªÁß¿¡ Á¶Ä¡ °æ·ÎÀÇ ¸¶Áö¸· ÅäÅ«À¸·Î ÂüÁ¶ÇÒ ¼ö ÀÖ´Â ºÐ¸®ÀÚ À̸§. µû¶ó¼­ ºÐ¸®ÀÚ´Â Á¶Ä¡¿Í ¼­ºê¸Þ´º¸¦ Ãß°¡ÇÒ ¼ö ÀÖ´Â À̸§ ÁöÁ¤µÈ ±×·ì ¿ªÇÒÀ» ÇÕ´Ï´Ù.
  •    <!ELEMENT groupMarker EMPTY>
       <!ATTLIST groupMarker
          name       CDATA #REQUIRED
       >
  • name - Á¶Ä¡ °æ·Î¿¡¼­ ¸¶Áö¸· ÅäÅ«À¸·Î ³ªÁß¿¡ ÂüÁ¶µÉ ¼ö ÀÖ´Â ±×·ì ¸¶Ä¿ÀÇ À̸§
  •    <!ELEMENT action (selection)* (enablement)?>
       <!ATTLIST action
          id                NMTOKEN #REQUIRED
          label             CDATA #REQUIRED
          accelerator       CDATA #IMPLIED
          definitionId      CDATA #IMPLIED
          menubarPath       CDATA #IMPLIED
          toolbarPath       CDATA #IMPLIED
          icon              CDATA #IMPLIED
          disabledIcon      CDATA #OPTIONAL
          hoverIcon         CDATA #OPTIONAL
          tooltip           CDATA #IMPLIED
          helpContextId     CDATA #IMPLIED
          state             (true | false) #IMPLIED
          pulldown          (true | false) #IMPLIED
          class             CDATA #OPTIONAL
          retarget          (true | false) #OPTIONAL
          allowLabelUpdate  (true | false) #OPTIONAL
          enablesFor        CDATA #IMPLIED
       >    <!ELEMENT selection EMPTY>
       <!ATTLIST selection
          class             CDATA #REQUIRED
          name              CDATA #IMPLIED
       >    <!ELEMENT enablement (and | or | not | objectClass | objectState | systemProperty | pluginState)*>
       <!ATTLIST enablement EMPTY>
    Eclipse ¹öÀü 2.0¿¡¼­´Â »ç¿ë °¡´É¼º ¿ä¼Ò°¡ Á¶Ä¡ÀÇ »ç¿ë °¡´É¼ºÀ» Á¤ÀÇÇϱâ À§ÇØ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. »ç¿ë °¡´É¼º ¿ä¼ÒÀÇ ¿ëµµ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â actionExpressions.htmlÀ» ÂüÁ¶ÇϽʽÿÀ.
    ¿¹:

    ´ÙÀ½Àº Á¶Ä¡ ¼¼Æ®ÀÇ ¿¹ÀÔ´Ï´Ù. ºÎ¼Ó¿ä¼Ò¿Í ¼Ó¼ºÀ» »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ÁÖÀÇÇϽʽÿÀ.

        <extension point = "org.eclipse.ui.actionSets">
            <actionSet id="com.xyz.actionSet"
                label="My Actions"
                visible="true">
                <menu id="com.xyz.xyzMenu"
                    label="XYZ Menu"
                    path="additions">
                    <separator name="group1"/>
                </menu>
                <action id="com.xyz.runXYZ"
                    label="&amp;Run XYZ Tool"
                    menubarPath="com.xyz.xyzMenu/group1"
                    toolbarPath="Normal/XYZ"
                    icon="icons/runXYZ.gif"
                    tooltip="Run XYZ Tool"
                    helpContextId="com.xyz.run_action_context"
                    class="com.xyz.actions.RunXYZ"
                    enablesFor="1">
                    <selection class="org.eclipse.core.resources.IFile" name="*.java"/>
                </action>
                <action id="com.xyz.runABC"
                    label="&amp;Run ABC Tool"
                    menubarPath="com.xyz.xyzMenu/group1"
                    toolbarPath="Normal/XYZ"
                    icon="icons/runABC.gif"
                    tooltip="Run ABC Tool"
                    helpContextId="com.xyz.run_abc_action_context"
                    retarget="true"
                    allowLabelUpdate="true">
                </action>
            </actionSet>
        </extension>

    À§ ¿¹¿¡¼­ "My Actions"¶ó°í ÁöÁ¤ÇÑ Á¶Ä¡°¡ óÀ½¿¡ °¢ Perspective ³»¿¡ Ç¥½ÃµË´Ï´Ù. ÀÌ´Â ´ÜÀÏ ¼±ÅûçÇ×(enablesFor ¼Ó¼º)¿¡ ´ëÇØ¼­¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ¼±ÅûçÇ×ÀÇ ¿ÀºêÁ§Æ®°¡ ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º(IFile)¸¦ ±¸ÇöÇØ¾ß Çϸç Java ÆÄÀÏÀ̾î¾ß ÇÕ´Ï´Ù.

    API Á¤º¸: class ¼Ó¼º °ªÀº org.eclipse.ui.IWorkbenchWindowActionDelegate ¶Ç´Â org.eclipse.ui.IWorkbenchWindowPulldownDelegate¸¦ ±¸ÇöÇϴ Ŭ·¡½ºÀÇ ¿ÏÀüÇÑ À̸§À̾î¾ß ÇÕ´Ï´Ù. pulldownÀÌ trueÀÏ °æ¿ì µÎ ¹øÂ° Ç׸ñÀ» ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù. Å¬·¡½º°¡ ½ÇÁ¦·Î ÇÊ¿äÇÑ ½ÃÁ¡¿¡ ¾Õ¼­ Àüü Ç÷¯±×ÀÎÀÌ ·ÎµåµÇ´Â °ÍÀ» ¹æÁöÇϱâ À§ÇØ °¡´ÉÇÑ ³ªÁß¿¡ ÀÌ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù.

    Á¶Ä¡ È®Àå¿¡ ´ëÇÑ È°¼ºÈ­ ±âÁØÀº óÀ½¿¡´Â enablesFor, selection ¹× enablement¿¡ ÀÇÇØ Á¤Àǵ˴ϴÙ. ±×·¯³ª Á¶Ä¡ ´ëÇ¥ÀÚ°¡ ÀνºÅϽºÈ­µÈ ÈÄ selectionChanged ¸Þ¼Òµå¿¡¼­ Á÷Á¢ Á¶Ä¡ »ç¿ë °¡´É »óŸ¦ Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù.

    Workbench°¡ Ç÷¯±×ÀÎÀ» À§Çؼ­ ¸Þ´º¸¦ »ý¼ºÇÏÁö´Â ¾Ê´Â´Ù´Â Á¡¿¡ À¯ÀÇÇØ¾ß ÇÕ´Ï´Ù. ¸Þ´º °æ·Î´Â ÀÌ¹Ì Á¸ÀçÇÏ´Â ¸Þ´º¸¦ ÂüÁ¶ÇØ¾ß ÇÕ´Ï´Ù.

    Á¶Ä¡¿Í ¸Þ´º ·¹ÀÌºí¿¡´Â ´ÙÀ½ ±ÔÄ¢À» »ç¿ëÇÏ¿© ´Ï¸ð´Ð°ú ´ÜÃà۸¦ ÀÎÄÚµåÇϴ Ư¼ö ¹®ÀÚ°¡ Æ÷Ç﵃ ¼ö ÀÖ½À´Ï´Ù.

    1. º¯È¯µÈ ÅØ½ºÆ®ÀÇ ¼±Åà ¹®ÀÚ ¾Õ¿¡ ¾ÚÆÛ»÷µå('&') ¹®ÀÚ¸¦ »ç¿ëÇÏ¿© ´Ï¸ð´ÐÀ» ÁöÁ¤ÇÕ´Ï´Ù. XML ¹®ÀÚ¿­¿¡´Â ¾ÚÆÛ»÷µå¸¦ »ç¿ëÇÒ ¼ö ¾øÀ¸¹Ç·Î &amp; ¹®ÀÚ ¿£Æ¼Æ¼¸¦ »ç¿ëÇϽʽÿÀ.
    2. ¼±ÅÃÀû ´ÜÃàŰ´Â @ µÚ¿¡ ÀÏ·ÃÀÇ ¼öÁ¤ÀÚ ¹× ¸¶Áö¸· ´ÜÃàŰ ¹®ÀÚ¸¦ »ç¿ëÇÏ¿© À̸§ ¹®ÀÚ¿­ÀÇ ³¡¿¡ ÁöÁ¤µË´Ï´Ù(¿¹: &amp;Save@Ctrl+S). '+' ±âÈ£¸¦ ºÐ¸®¹®ÀÚ·Î »ç¿ëÇÏ¿© ¼öÁ¤ÀÚ¸¦ ¿¬°áÇÒ ¼ö ÀÖ½À´Ï´Ù(¿¹: @Ctrl+Shift+S).
    µÑ ÀÌ»óÀÇ Á¶Ä¡°¡ ÇϳªÀÇ ´ÜÀÏ È®Àå¿¡ ÀÇÇØ ¸Þ´º ¶Ç´Â µµ±¸ ¸ðÀ½¿¡ Á¦°øµÈ °æ¿ì Á¶Ä¡´Â plugin.xml ÆÄÀÏ¿¡ ³ª¿­µÇ´Â ¼ø¼­¿Í ¹Ý´ë·Î ³ªÅ¸³³´Ï´Ù. ÀÌ·¯ÇÑ ÀÛµ¿Àº È®½ÇÈ÷ »ó½ÄÀûÀÌÁö ¾Ê½À´Ï´Ù. ±×·¯³ª ÀÌ´Â Eclipse Ç÷§Æû API°¡ °íÁ¤µÈ ÈÄ ¹ß°ßµÇ¾ú½À´Ï´Ù. Áö±Ý ÀÌ ÀÛµ¿À» º¯°æÇÏ¸é ±âÁ¸ ÀÛµ¿¿¡ Á¾¼ÓµÈ ¸ðµç Ç÷¯±×Àο¡ ¿µÇâÀ» ÁÖ°Ô µË´Ï´Ù.

    ±âº» Á¦°ø ±¸Çö: Ç÷¯±×Àο¡¼­ ÀÌ È®ÀåÁ¡À» »ç¿ëÇÏ¿© »õ·Î¿î »óÀ§ ·¹º§ ¸Þ´º(¿¹: µð¹ö±×)¸¦ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. Ç÷¯±×Àο¡¼­´Â ´Ù¸¥ Ç÷¯±×ÀÎÀÌ ÇØ´ç Á¶Ä¡¸¦ Á¦°øÇÒ ¼ö ÀÖµµ·Ï À̸§ ÁöÁ¤µÈ ±×·ìÀ» Á¤ÀÇÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

    path ¼Ó¼º¿¡ ´ëÇÑ ´ÙÀ½ °ªÀ» »ç¿ëÇÏ¿© »óÀ§ ·¹º§ ¸Þ´º¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

    path ¼Ó¼ºÀ» »èÁ¦Çϸé additions ¸Þ´º Ç¥½ÃÁÙ ±×·ì¿¡ »õ ¸Þ´º°¡ Ãß°¡µË´Ï´Ù.

    Workbench âÀÇ ±âº» ±×·ìÀº IWorkbenchActionConstants ÀÎÅÍÆäÀ̽º¿¡ Á¤Àǵ˴ϴÙ. µ¿ÀûÀÎ Á¦°øÀÇ Äڵ忡 ÀÌ »ó¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±âÁ¸ Workbench ¸Þ´º ¹× µµ±¸ ¸ðÀ½°ú ¿Ïº®ÇÏ°Ô ÅëÇÕÇϱâ À§ÇØ °ªÀ» XML ÆÄÀÏ¿¡ º¹»çÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

    Workbench âÀÇ ´Ù¾çÇÑ ¸Þ´º ¹× µµ±¸ ¸ðÀ½ Ç׸ñÀÌ ¾Ë°í¸®ÁòÀûÀ¸·Î Á¤Àǵ˴ϴÙ. ÀÌ °æ¿ì º°µµÀÇ ¸ÞÄ¿´ÏÁòÀ» »ç¿ëÇÏ¿© âÀ» È®ÀåÇØ¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î »õ Workbench º¸±â¸¦ Ãß°¡ÇÏ¸é »õ ¸Þ´º Ç׸ñÀÌ Ã¢ ¸Þ´º¿¡ ³ªÅ¸³³´Ï´Ù. °¡Á®¿À±â, ³»º¸³»±â ¹× »õ ¸¶¹ý»ç È®Àåµµ ÀÚµ¿À¸·Î â¿¡ Ãß°¡µË´Ï´Ù.
     

    Copyright IBM Corporation and others 2000, 2002.