org.eclipse.ui.popupMenus È®ÀåÁ¡À» »ç¿ëÇϸé Ç÷¯±×ÀÎÀ» ´Ù¸¥ º¸±â ¹× ÆíÁý±âÀÇ ÆË¾÷ ¸Þ´º¿¡ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù.
Á¶Ä¡ÀÇ ID(viewerContribution)¸¦ »ç¿ëÇϰųª ƯÁ¤ ¿ÀºêÁ§Æ® À¯Çü(objectContribution)¿¡ Á¶Ä¡¸¦ ¿¬°ü½ÃÄÑ Æ¯Á¤ ÆË¾÷ ¸Þ´º¿¡ Á¶Ä¡¸¦ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù.
readme µµ±¸´Â µÎ °¡Áö¸¦ Á¤ÀÇÇÕ´Ï´Ù. ¸ÕÀú ¿ÀºêÁ§Æ® Áö½Ã¹®À» »ìÆìº¾´Ï´Ù.
<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="%PopupMenus.action" icon="icons/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> ...
"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 ÆÄÀÏÀ» ¼±ÅÃÇÑ °æ¿ì ÆË¾÷ ¸Þ´º Áö½Ã¹®À» º¼ ¼ö ÀÖ½À´Ï´Ù.
ÇØ´ç ID¸¦ »ç¿ëÇÏ¿© ƯÁ¤ º¸±â³ª ÆíÁý±âÀÇ ÆË¾÷ ¸Þ´º¿¡ Á¦°øÇϱâ À§ÇØ Ç¥½Ã±â Áö½Ã¹®À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½Àº readme µµ±¸ÀÇ Ç¥½Ã±â Áö½Ã¹®ÀÔ´Ï´Ù.
... <viewerContribution id="org.eclipse.ui.examples.readmetool2" targetID="org.eclipse.ui.examples.readmetool.outline"> <action id="org.eclipse.ui.examples.readmetool.action1" label="%PopupMenus.action" icon="icons/ctool16/openbrwsr.gif" menubarPath="additions" helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context" class="org.eclipse.ui.examples.readmetool.ViewActionDelegate"> </action> </viewerContribution> </extension>
Âü°í: viewerContributionÀ̶ó´Â À̸§Àº JFace Ç¥½Ã±â¿Í °ü·ÃÀÌ ¾øÀ¸¹Ç·Î ¾à°£ ¿ÀÇØÀÇ ¼ÒÁö°¡ ÀÖ½À´Ï´Ù. popupMenuContributionÀ̶ó´Â À̸§ÀÌ ´õ ³´½À´Ï´Ù.
È®ÀåÀÌ viewerContributionÀÏ °æ¿ì Á¶Ä¡°¡ ÆíÁý±âÀÇ ÆË¾÷ ¸Þ´º ¶Ç´Â º¸±âÀÇ ÆË¾÷ ¸Þ´º¿¡ Á¦°øµÇ´ÂÁö¿¡ µû¶ó Á¦°øµÈ Ŭ·¡½º´Â IEditorActionDelegate ¶Ç´Â IViewActionDelegate ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù.
targetID´Â ÆË¾÷ ¸Þ´º°¡ º¯°æµÉ º¸±â¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ °æ¿ì¿¡ readme µµ±¸ º¸±â Áß ÇϳªÀÎ ¾Æ¿ô¶óÀ̳ʿ¡ Á¶Ä¡¸¦ Ãß°¡ÇÕ´Ï´Ù. Á¶Ä¡ ÀÚü´Â ÀÌ¹Ì »ìÆìº» ´Ù¸¥ Á¶Ä¡¿Í ºñ½ÁÇÕ´Ï´Ù. Á¶Ä¡ÀÇ id, label ¹× iconÀ» ÁöÁ¤Çϰí Áö½Ã¹®ÀÇ ÆË¾÷¿¡¼ °æ·Î¸¦ ÁöÁ¤ÇÕ´Ï´Ù. Á¶Ä¡´Â readme ¾Æ¿ô¶óÀÎ º¸±âÀÇ ÆË¾÷ ¸Þ´º¿¡¸¸ Ç¥½ÃµË´Ï´Ù.