¸Þ´º ¹× µµ±¸ ¸ðÀ½ °æ·Î

Á¶Ä¡ÀÇ À§Ä¡ °æ·Î¸¦ ÁöÁ¤ÇÏ´Â ¿©·¯ Á¶Ä¡ Á¦°øÀ» »ìÆì º¸¾Ò½À´Ï´Ù. ÀÌ °æ·ÎÀÇ Àǹ̸¦ ÀÚ¼¼È÷ ¾Ë¾Æº¸±â À§ÇØ Workbench µµ¿ò¸» ¸Þ´º¸¦ È®ÀÎÇÏ¿© °æ·Î¸¦ »ìÆì º¸°Ú½À´Ï´Ù.

À̸§ ÁöÁ¤µÈ ±×·ì

À̸§ ÁöÁ¤µÈ ±×·ìÀ» »ç¿ëÇÏ¿© »õ ¸Þ´º, ¸Þ´º Ç׸ñ ¶Ç´Â µµ±¸ ¸ðÀ½ Ç׸ñÀ» »ðÀÔÇÒ À§Ä¡¸¦ Á¤ÀÇÇÕ´Ï´Ù. À̸§ ÁöÁ¤µÈ ±×·ìÀº ¸Þ´º³ª µµ±¸ ¸ðÀ½ÀÇ Æ¯Á¤ ÁöÁ¡¿¡¼­ ¸Þ´º¿Í µµ±¸ ¸ðÀ½ Á¦°øÀ» »ðÀÔÇÒ ¼ö ÀÖ´Â ½½·ÔÀ̳ª À§Ä¡ Ç¥½Ã±â·Î °£ÁÖÇÒ ¼ö ÀÖ½À´Ï´Ù.

Workbench¿¡¼­´Â IWorkbenchActionConstants Ŭ·¡½º¿¡ ¸ðµç ±×·ì ½½·Ô À̸§À» Á¤ÀÇÇÕ´Ï´Ù. Workbench ¸Þ´ºÀÇ °æ¿ì Ç÷¯±×Àο¡¼­ »õ Á¶Ä¡¸¦ »ðÀÔÇÒ °ÍÀ¸·Î ¿¹»óµÇ´Â À§Ä¡ÀÇ ¸Þ´º¿¡ À̸§ ÁöÁ¤µÈ ±×·ìÀÌ ¹èÄ¡µË´Ï´Ù.

´ÙÀ½ µµ¿ò¸» ¸Þ´º ¼³¸íÀº IWorkbenchActionConstants Ŭ·¡½º Á¤ÀÇ¿¡¼­ °¡Á®¿Â °ÍÀÔ´Ï´Ù.

Ç¥ÁØ µµ¿ò¸» ¸Þ´º Á¶Ä¡
   ½ÃÀÛ ±×·ì - HELP_START - "start"
   Á¾·á ±×·ì - HELP_END - "end"
   Á¶Ä¡ Á¤º¸ - ABOUT - "About"

Ç¥ÁØ Workbench µµ¿ò¸» ¸Þ´º´Â À̸§ ÁöÁ¤µÈ ±×·ì "start", À̸§ ÁöÁ¤µÈ ±×·ì "end", "About" Á¶Ä¡ÀÇ ¼ø¼­·Î ±¸¼ºµË´Ï´Ù. µÎ ±×·ìÀ» Á¤ÀÇÇϸé Ç÷¯±×ÀÎÀÌ µµ¿ò¸» ¸Þ´º¿¡ À§Ä¡ÇÑ Á¦°øµÈ Ç׸ñÀÇ À§Ä¡¸¦ Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸Þ´º¸¦ Á¤ÀÇÇÏ¸é ¿øÇÏ´Â ¼ö¸¸Å­ ½½·ÔÀ» Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ½½·ÔÀ» Ãß°¡ÇÏ¸é ´Ù¸¥ Ç÷¯±×ÀÎÀÌ ±âÁ¸ Á¦°ø¿¡ µû¶ó¼­ ÇØ´ç Á¦°øÀÌ ³ªÅ¸³ª´Â À§Ä¡¿¡ ´ëÇØ ´õ ¸¹ÀÌ Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÇÑ °¡Áö ´õ! µµ¿ò¸» ¸Þ´º¿¡ ´Ù¸¥ ¸Þ´º Ç׸ñµµ ÀÖ½À´Ï´Ù. Ç÷¯±×Àο¡¼­ ÀÌ ¸Þ´º Ç׸ñÀ» Ãß°¡ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, µµ¿ò¸» Ç÷¯±×ÀÎÀº "µµ¿ò¸» ¸ñÂ÷" ¸Þ´º°¡ Æ÷ÇÔµÈ Á¶Ä¡ ¼¼Æ®¸¦ Workbench¿¡ Ãß°¡ÇÕ´Ï´Ù. ´ÙÀ½Àº org.eclipse.help.ui Ç÷¯±×ÀÎÀÇ plugin.xml¿¡¼­ °¡Á®¿Â ¸¶Å©¾÷ÀÔ´Ï´Ù.

<extension point="org.eclipse.ui.actionSets">
	<actionSet
		id="org.eclipse.help.internal.ui.HelpActionSet"
		label="%help"
		visible="true">
			
	<action id="org.eclipse.help.internal.ui.HelpAction"
		menubarPath="help/helpEnd"
		label="%helpcontents"
		class="org.eclipse.help.ui.internal.HelpContentsAction"
		icon="icons/view.gif"
		helpContextId="org.eclipse.help.ui.helpContentsMenu"
		tooltip="%openhelpcontents"/>
	...

»õ µµ¿ò¸» Á¶Ä¡´Â helpEnd ±×·ì ¾È¿¡ ÀÖ´Â µµ¿ò¸» ¸Þ´º¿¡ ¹èÄ¡µË´Ï´Ù. ´Ù¸¥ Ç÷¯±×ÀÎÀÌ µµ¿ò¸» ¸Þ´º¿¡ Á¦°øµÇÁö ¾ÊÀº °æ¿ì À̰ÍÀº "µµ¿ò¸» ¸ñÂ÷" ¸Þ´º Ç׸ñÀÌ "Á¤º¸" Ç׸ñ À§¿¡ ÀÖ´Â ¸Þ´º¿¡ ù ¹øÂ° Ç׸ñÀ¸·Î ³ªÅ¸³¯ °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ´Ù¸¥ Ç÷¯±×ÀÎÀÌ "µµ¿ò¸» ¸ñÂ÷" Ç׸ñ À§¿¡ Ç×»ó ³ªÅ¸³ª´Â Ç׸ñÀ» Á¦°øÇÏ·Á´Â °æ¿ì °æ·Î¿¡ helpStart ±×·ìÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.  

µµ±¸ ¸ðÀ½ °æ·Îµµ À¯»çÇÏ°Ô ÀÛµ¿ÇÕ´Ï´Ù. °æ·Î¸¦ ÁöÁ¤ÇÒ ¶§¸¶´Ù µµ±¸ ¸ðÀ½ÀÇ ±×·ì À̸§À¸·Î ³¡³ª¾ß ÇÕ´Ï´Ù.

¿ÏÀüÇÑ ¸Þ´º¿Í µµ±¸ °æ·Î

¿ÏÀüÇÑ ¸Þ´º³ª µµ±¸ ¸ðÀ½ÀÇ °æ·Î´Â "¸Þ´º À̸§/±×·ì À̸§" ÀÔ´Ï´Ù. WorkbenchÀÇ ¸Þ´º À̸§Àº IWorkbenchActionConstants¿¡¼­ Á¤ÀÇÇÕ´Ï´Ù. ÀÌ Å¬·¡½º¸¦ »ç¿ëÇÏ¿© µµ¿ò¸» Á¶Ä¡ÀÇ ¿ÏÀüÇÑ °æ·Î À̸§ÀÌ "help/helpEndÀÓÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù."

ÀϺΠ¸Þ´º¿¡´Â ÁßøµÈ ¼­ºê¸Þ´º°¡ ÀÖ½À´Ï´Ù. ¼­ºê¸Þ´º¿¡¼­´Â ´õ ±ä °æ·Î°¡ ÀÛµ¿ÇÕ´Ï´Ù. µµ¿ò¸» ¸Þ´º¿¡¼­ "submenuStart"¶ó´Â À̸§ ÁöÁ¤µÈ ±×·ìÀ» »ç¿ëÇÏ¿© "submenu"¶ó´Â ¼­ºê¸Þ´º¸¦ Á¤ÀÇÇÑ °æ¿ì »õ ¼­ºê¸Þ´ºÀÇ Á¶Ä¡¿¡ ´ëÇÑ ¿ÏÀüÇÑ ¸Þ´º °æ·Î´Â "help/submenu/submenuStart"°¡ µË´Ï´Ù.

UI ·¹ÀÌºí ±¸Ã¼È­

À§ÀÇ ¿¹Á¦´Â UI¿¡ ³ªÅ¸³ª´Â ¹®ÀÚ¿­À» ±¸Ã¼È­ÇÏ´Â ¹æ½ÄÀ» º¸¿©ÁÝ´Ï´Ù. ±¸Ã¼È­µÈ ¹®ÀÚ¿­Àº Ç÷¯±×ÀÎÀÇ UI¸¦ ´Ù¸¥ ¾ð¾î·Î °£´ÜÈ÷ º¯È¯ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ¹®ÀÚ¿­À» Ű(¿¹: %help, %helpcontents)·Î ¹Ù²Ù°í ´ÙÀ½°ú °°Àº ¾ç½ÄÀÇ plugin.properties ÆÄÀÏ¿¡ Ç׸ñÀ» ÀÛ¼ºÇÏ¿© plugin.xml ÆÄÀÏÀÇ ¹®ÀÚ¿­À» ±¸Ã¼È­ÇÒ ¼ö ÀÖ½À´Ï´Ù.

   help = "Help"
helpContents = "Help Contents"

plugin.properties ÆÄÀÏÀ» ´Ù¸¥ ¾ð¾î·Î º¯È¯ÇÒ ¼ö ÀÖÀ¸¸ç plugin.xmlÀº ¼öÁ¤ÇÒ Çʿ䰡 ¾ø½À´Ï´Ù.

»õ ¸Þ´º¿Í ±×·ì Ãß°¡

Áö±Ý±îÁö ¿©·¯ ¿¹¸¦ ÅëÇØ »ùÇà Ç÷¯±×Àο¡¼­ Á¦°øÇÑ Á¶Ä¡¸¦ ¸Þ´º¿Í µµ±¸ ¸ðÀ½¿¡ ÀÖ´Â ±âÁ¸ÀÇ À̸§ ÁöÁ¤µÈ ±×·ì¿¡ Ãß°¡Çß½À´Ï´Ù.

actionSets, viewActions, editorActions ¹× popupMenus È®ÀåÁ¡À» »ç¿ëÇϸé Áö½Ã¹® ³»¿¡ »õ ¸Þ´º¿Í ±×·ìÀ» Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº »õ ¼­ºê¸Þ´º³ª »õ Ç®´Ù¿î ¸Þ´º¸¦ Á¤ÀÇÇϰí Á¶Ä¡¸¦ ÀÌ »õ ¸Þ´º¿¡ Á¦°øÇÒ ¼ö ÀÖÀ½À» ÀǹÌÇÕ´Ï´Ù. ÀÌ °æ¿ì »õ Á¶Ä¡ÀÇ °æ·Î¿¡´Â »õ·Î Á¤ÀÇÇÑ ¸Þ´º À̸§ÀÌ Æ÷ÇԵ˴ϴÙ.

Readme µµ±¸¿¡¼­ ÇØ´ç Á¶Ä¡ ¼¼Æ®¿¡ ´ëÇØ »õ ¸Þ´º¸¦ Á¤ÀÇÇÒ ¶§ ÀÌ ¹æ¹ýÀ» º¸¾Ò½À´Ï´Ù. ¸Þ´º °æ·Î¸¦ ÀÚ¼¼È÷ »ìÆì º¸¾ÒÀ¸¹Ç·Î ¸¶Å©¾÷À» ÇÑ ¹ø ´õ È®ÀÎÇØ º¾´Ï´Ù.

   <extension point = "org.eclipse.ui.actionSets">   <actionSet id="org_eclipse_ui_examples_readmetool_actionSet"
	   label="%ActionSet.name"
	   visible="true">
	   <menu id="org_eclipse_ui_examples_readmetool"
		   label="%ActionSet.menu"
		   path="window/additions">
		   <separator name="slot1"/>
		   <separator name="slot2"/>
		   <separator name="slot3"/>
	   </menu>
	   <action id="org_eclipse_ui_examples_readmetool_readmeAction"
		   menubarPath="window/org_eclipse_ui_examples_readmetool/slot1"
		   toolbarPath="readme"
		   label="%ReadmeAction.label"
		   tooltip="%ReadmeAction.tooltip"
		   helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
		   icon="icons/ctool16/openbrwsr.gif"
		   class="org.eclipse.ui.examples.readmetool.WindowActionDelegate"
		   enablesFor="1">
		   <selection class="org.eclipse.core.resources.IFile"
				name="*.readme">
		   </selection>
	   </action>
	   ...

"org_eclipse_ui_examples_readmetool"À̶ó´Â »õ ¸Þ´º¸¦ Ãß°¡Çß½À´Ï´Ù. ÀÌ ¸Þ´ºÀÇ ·¹À̺íÀº Ư¼º ÆÄÀÏÀÇ "%ActionSet.name" Ű¿¡¼­ Á¤Àǵ˴ϴÙ. ÀÌ ¸Þ´º¿¡¼­ "slot1," "slot2" ¹× "slot3"À¸·Î À̸§ ÁöÁ¤µÈ ¼¼ ±×·ìÀ» Á¤ÀÇÇÕ´Ï´Ù. ÀÌ »õ ¸Þ´º¸¦ "window/additions °æ·Î¿¡ Ãß°¡ÇÕ´Ï´Ù."

IWorkbenchActionConstants·Î ´Ù½Ã µ¹¾Æ°¡¸é javadoc¿¡¼­ â ¸Þ´º¿¡ ´ëÇÑ ÀÌ Á¤ÀǸ¦ º¼ ¼ö ÀÖ½À´Ï´Ù.

    * <h3>Standard Window menu actions</h3>
    * <ul>
 *   <li>Extra Window-like action group (<code>WINDOW_EXT</code>)</li> 

Ŭ·¡½º Á¤ÀǸ¦ ÀÚ¼¼È÷ º¸¸é ´ÙÀ½°ú °°ÀÌ °ü·ÃµÈ Á¤ÀǸ¦ º¼ ¼ö ÀÖ½À´Ï´Ù.

   public static final String MENU_PREFIX = "";
   ...
    public static final String M_WINDOW = MENU_PREFIX+"window";   ...
   public static final String MB_ADDITIONS = "additions";  // Group.
   ...
public static final String WINDOW_EXT = MB_ADDITIONS;   // Group. 

ÀÌ Á¤º¸¿¡¼­ Workbench "window" ¸Þ´º¿¡ Ãß°¡ÇÒ Ç׸ñÀÇ °æ·Î¸¦ ÆÄ¾ÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸Þ´º ÀÚü´Â "window"¶ó°í ÇÏ°í ¿©±â¼­ "additions"¶ó´Â ½½·ÔÀ» Çϳª Á¤ÀÇÇÕ´Ï´Ù. "window/additions" °æ·Î¸¦ »ç¿ëÇÏ¿© »õ ¸Þ´º¸¦ Ãß°¡ÇÕ´Ï´Ù.

Á¶Ä¡ ¼¼Æ® ¼±¾ð¿¡¼­ "window/org_eclipse_ui_examples_readmetool/slot1" °æ·Î¸¦ »ç¿ëÇÏ¿© »õ·Î Á¤ÀÇµÈ ¸Þ´º¿¡ Á¶Ä¡¸¦ Ãß°¡ÇÕ´Ï´Ù.

´Ù¸¥ Ç÷¯±×ÀÎÀÇ °æ¿ì¿¡´Â Ç÷¯±×ÀÎ ¸Þ´º¸¦ Ãß°¡Çϱâ À§ÇØ ÀÌ¿Í µ¿ÀÏÇÑ °æ·Î³ª ´Ù¸¥ ½½·Ô Áß Çϳª¸¦ »ç¿ëÇÏ¿© ÇöÀç ¸Þ´º¿¡ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.  

ÀϹÝÀûÀ¸·Î plugin.xml¿¡¼­ °æ·Î À̸§À» ÃßÃâÇÏ¿© ´Ù¸¥ Ç÷¯±×ÀÎÀÇ ¸Þ´º³ª µµ±¸ ¸ðÀ½¿¡ Á¦°øÇÏ´Â °ÍÀº ÁÁÀº ¹æ¹ýÀº ¾Æ´Õ´Ï´Ù. ÀÌÈÄ ¹öÀüÀÇ Ç÷¯±×Àο¡¼­´Â °æ·Î À̸§À» º¯°æÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.  ´Ù¸¥ Ç÷¯±×Àο¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸Þ´º, µµ±¸ ¸ðÀ½ ±×·ì ¹× ½½·ÔÀ» ÁöÁ¤ÇÏ´Â IWorkbenchActionConstants¿Í °°Àº °ø¿ë ÀÎÅÍÆäÀ̽º¸¦ Á¤ÀÇÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.

Copyright IBM Corp. and others 2000,2002.