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="&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 È®ÀåÁ¡¿¡¼ ÇÊ¿äÇÑ ÀÎÅÍÆäÀ̽º¿Í °°½À´Ï´Ù. °°Àº Á¶Ä¡¸¦ ÆË¾÷ ¸Þ´º¿Í º¸±â ¶Ç´Â ÆíÁý±âÀÇ ·ÎÄà ¸Þ´º¿¡ Á¦°øÇÒ °æ¿ì µÎ È®ÀåÀÚ¿¡ ´ëÇØ °°Àº Ŭ·¡½º¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.