org.eclipse.ui.popupMenus

org.eclipse.ui.popupMenus È®ÀåÁ¡À» »ç¿ëÇϸé Ç÷¯±×ÀÎÀ» ´Ù¸¥ º¸±â ¹× ÆíÁý±âÀÇ ÆË¾÷ ¸Þ´º¿¡ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù.

Á¶Ä¡ÀÇ id(viewerContribution)¸¦ »ç¿ëÇÏ¿© ƯÁ¤ ÆË¾÷ ¸Þ´º¿¡ Á¶Ä¡¸¦ Á¦°øÇϰųª ¿ÀºêÁ§Æ® À¯Çü(objectContribution)¿¡ ´ëÇÑ Á¶Ä¡¸¦ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. 

readme µµ±¸¿¡¼­´Â objectContributionÀ» Á¤ÀÇÇÕ´Ï´Ù. ¸¶Å©¾÷Àº ´ÙÀ½°ú °°½À´Ï´Ù.

<extension point = "org.eclipse.ui.popupMenus">
    <objectContribution
        id="org.eclipse.ui.examples.readmetool"
        objectClass="org.eclipse.core.resources.IFile"
        nameFilter="*.readme">
        <action id="org.eclipse.ui.examples.readmetool.action1"
            label="Show Readme Action"
            icon="icons/basic/ctool16/openbrwsr.gif"
            menuBarPath="additions"
            helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
            class="org.eclipse.ui.examples.readmetool.PopupMenuActionDelegate" 
            enablesFor="1">
        </action>
    </objectContribution>
</extension>

"Readme Á¶Ä¡ Ç¥½Ã" Á¶Ä¡´Â IFile ¿ÀºêÁ§Æ® Ŭ·¡½º¿¡ Á¦°øµË´Ï´Ù. À̰ÍÀº IFile ¿ÀºêÁ§Æ®°¡ Æ÷ÇÔµÈ º¸±â¿¡ IFile ¿ÀºêÁ§Æ®¸¦ ¼±ÅÃÇÒ °æ¿ì Áö½Ã¹®ÀÌ Ç¥½ÃµÈ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. À̸§ ÇÊÅÍ(nameFilter="*.readme")¿Í ´ÜÀÏ ¼±ÅûçÇ×(enablesFor="1")À¸·Î ¼±Åà ±âÁØÀÌ ´õ Á¦ÇѵǾúÀ½À» ¾Ë ¼ö ÀÖ½À´Ï´Ù. Àü¿¡ ¼³¸íÇÑ ´ë·Î ¸Þ´º Ç׸ñÀ» ½ÇÁ¦·Î ¼±ÅÃÇÒ ¶§±îÁö ÀÌ ¸Þ´ºÀÇ µî·Ï¿¡¼­´Â Ç÷¯±×ÀÎÀÇ Äڵ带 ½ÇÇàÇÏÁö ¾Ê½À´Ï´Ù.

¸Þ´º Ç׸ñÀ» ¼±ÅÃÇÑ °æ¿ì Workbench´Â ÁöÁ¤ÇÑ Å¬·¡½º¸¦ ½ÇÇàÇÕ´Ï´Ù.  ÆË¾÷À» objectContributionÀ¸·Î ¼±¾ðÇÏ¿´À¸¹Ç·Î Á¦°øµÈ Ŭ·¡½º´Â IObjectActionDelegate¸¦ ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù. 

ÀÌ Á¶Ä¡´Â PopupMenuActionDelegate¿¡ ±¸ÇöµË´Ï´Ù.  

public void run(IAction action) {
    MessageDialog.openInformation(
        this.part.getSite().getShell(),
        "Readme Example",
        "Popup Menu Action executed");
}

ÀÚ¿ø ³×ºñ°ÔÀÌÅÍ¿¡¼­ readme ÆÄÀÏÀ» ¼±ÅÃÇÑ °æ¿ì ÆË¾÷ ¸Þ´º Áö½Ã¹®À» º¼ ¼ö ÀÖ½À´Ï´Ù.

´Ù¸¥ À¯ÇüÀÇ ÆË¾÷ ¸Þ´º Áö½Ã¹®À» viewerContributionÀ̶ó°í ÇÕ´Ï´Ù.

Âü°í: viewerContributionÀ̶ó´Â À̸§Àº JFace Ç¥½Ã±â¿Í °ü·ÃÀÌ ¾øÀ¸¹Ç·Î ¾à°£ ¿ÀÇØÀÇ ¼ÒÁö°¡ ÀÖ½À´Ï´Ù. popupMenuContributionÀ̶ó´Â À̸§ÀÌ ´õ ³´½À´Ï´Ù.

Ç¥½Ã±â Áö½Ã¹®À» »ç¿ëÇÏ¿© ÇØ´ç id¸¦ »ç¿ëÇϴ ƯÁ¤ º¸±â³ª ÆíÁý±âÀÇ ÆË¾÷ ¸Þ´º·Î Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ¸¶Å©¾÷¿¡¼­´Â Ç÷¯±×Àο¡¼­ Workbench Ÿ½ºÅ© ¸ñ·Ï ÆË¾÷ ¸Þ´ºÀÇ Æ¯Á¤ Á¶Ä¡¸¦ µî·ÏÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù.

<extension point="org.eclipse.ui.popupMenus">
    <viewerContribution
        id="com.example.C2"
        targetID="org.eclipse.ui.views.TaskList">
        <action id="com.example.showExample"
            label="&amp;Show Example"
            menubarPath="additions"
            icon="icons/showExample.gif"
            helpContextId="com.example.show_action_context"
            class="com.example.actions.ExampleShowActionDelegate">
        </action>
    </viewerContribution>
</extension>

È®ÀåÀÌ viewerContributionÀÏ °æ¿ì Á¶Ä¡°¡ ÆíÁý±âÀÇ ÆË¾÷ ¸Þ´º³ª º¸±âÀÇ ÆË¾÷ ¸Þ´º¿¡ Á¦°øµÇ´ÂÁö ¿©ºÎ¿¡ µû¶ó Á¦°øµÈ Ŭ·¡½º¿¡¼­ IEditorActionDelegate ¶Ç´Â IViewActionDelegate ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù. 

ÀÌ ¿¹¿¡¼­´Â ÆË¾÷ÀÇ id¿Í Áö½Ã¹®¿¡ ´ëÇÑ ÆË¾÷ ³»ÀÇ °æ·Î¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

Âü°í: popupMenus È®ÀåÁ¡¿¡ ÇÊ¿äÇÑ viewerContributionÀÇ ÀÎÅÍÆäÀ̽º´Â viewActions ¹× editorActions È®ÀåÁ¡¿¡¼­ ÇÊ¿äÇÑ ÀÎÅÍÆäÀ̽º¿Í °°½À´Ï´Ù. °°Àº Á¶Ä¡¸¦ ÆË¾÷ ¸Þ´º¿Í º¸±â ¶Ç´Â ÆíÁý±âÀÇ ·ÎÄà ¸Þ´º¿¡ Á¦°øÇÒ °æ¿ì µÎ È®ÀåÀÚ¿¡ ´ëÇØ °°Àº Ŭ·¡½º¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.