Workbench »ç¿ëÀÚ Á¤ÀÇ

»ç¿ëÀÚ Á¤ÀÇ Workbench µ¿ÀÛÀ» Á¦°øÇÏ´Â "½ÃÀÛÁ¡"Àº Workbench¸¦ ±¸¼ºÇϱâ À§ÇÑ WorkbenchAdvisorÀÇ ÁöÁ¤ÀÔ´Ï´Ù. ¸®Ä¡ Ŭ¶óÀÌ¾ðÆ® Ç÷¯±×ÀÎÀº ÀÌ Ãß»ó Ŭ·¡½º¸¦ È®ÀåÇÏ¿© Workbench¿¡ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ ±¸¼ºÀ» Á¦°øÇØ¾ß ÇÕ´Ï´Ù. ºê¶ó¿ìÀú ¿¹Á¦¿¡¼­´Â BrowserAdvisor Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© À̸¦ ¼öÇàÇÕ´Ï´Ù.

	...
	int code = PlatformUI.createAndRunWorkbench(display,
			new BrowserAdvisor());
	...

Workbench ¾îµå¹ÙÀÌÀú´Â Á¶Ä¡ Ç¥½ÃÁÙ Ç׸ñ ¶Ç´Â ¼Ò°³ ÆäÀÌÁö¿Í °°Àº ¿øÇÏ´Â ·¹À̾ƿô ¹× ±â´ÉÀ¸·Î Workbench¸¦ ±¸¼ºÇÏ´Â ¸Þ¼Òµå¸¦ ´ëüÇÕ´Ï´Ù.

Workbench ¶óÀÌÇÁ »çÀÌŬ

Workbench ¾îµå¹ÙÀÌÀú¿¡¼­ Á¦°øÇÏ´Â ¶óÀÌÇÁ »çÀÌŬ ¸Þ¼Òµå¸¦ »ç¿ëÇϸé ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ¾ðÁ¦µçÁö Workbench¸¦ ÀÛ¼ºÇϰí ÀÛµ¿¿¡ ¿µÇâÀ» ÁÙ ¼ö ÀÖ½À´Ï´Ù. ´ëüÇÒ ¼ö ÀÖ´Â ´ÙÀ½ ¾îµå¹ÙÀÌÀú ¶óÀÌÇÁ »çÀÌŬ ¸ñ·ÏÀº WorkbenchAdvisorÀÇ javadoc¿¡¼­ Á¦°øµË´Ï´Ù.

º¸´Â ¹Ù¿Í °°ÀÌ ¸®Ä¡ Ŭ¶óÀÌ¾ðÆ® ÀÀ¿ëÇÁ·Î±×·¥¿¡´Â Workbench°¡ ±¸¼ºµÇ°í ±¸ÇöµÇ´Â ¹æ¹ý¿¡ ´ëÇÑ ´Ù¼öÀÇ Á¦¾î ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ºê¶ó¿ìÀú ¿¹Á¦¿¡¼­ BrowserAdvisorÀÇ ±âº» ±â´ÉÀº ºê¶ó¿ìÀú¿¡ ´ëÇØ ÀûÀýÇÑ ¸Þ´º Ç׸ñÀÌ ÀÖ´Â Á¶Ä¡ Ç¥½ÃÁÙÀ» ±¸¼ºÇÏ´Â °ÍÀÔ´Ï´Ù. À̰ÍÀº ´ÙÀ½°ú °°ÀÌ fillActionBars ¸Þ¼Òµå·Î ¼öÇàµË´Ï´Ù.

	public void fillActionBars(IWorkbenchWindow window, IActionBarConfigurer configurer, int flags) {
		...
		BrowserActionBuilder builder = new BrowserActionBuilder(window);
		getWorkbenchConfigurer().getWindowConfigurer(window).setData(BUILDER_KEY, builder);
		builder.fillActionBars(configurer, flags);
	}

ÀÌ ¸Þ¼Òµå¿¡¼­ Workbench´Â Ư¼öÈ­µÈ Á¶Ä¡ ºô´õ¸¦ »ç¿ëÇÏ¿© ±¸¼ºµË´Ï´Ù. ÀÌ Á¶Ä¡ ºô´õ´Â WorkbenchÀÇ Á¶Ä¡ Ç¥½ÃÁÙÀ» ä¿ì´Â µ¥ »ç¿ëµË´Ï´Ù. Á¶Ä¡ Á¤ÀÇ¿¡¼­ Á¶Ä¡°¡ ÁöÁ¤µÇ´Â ¹æ¹ýÀ» ÀÚ¼¼È÷ ¾Ë¾Æ º¸±â·Î ÇÕ´Ï´Ù. Áö±ÝÀº Workbench¸¦ ±¸¼ºÇÏ´Â ¹æ¹ýÀ» ÁßÁ¡ÀûÀ¸·Î ¼³¸íÇÕ´Ï´Ù.

À§ÀÇ getWorkbenchConfigurer() ¸Þ¼Òµå »ç¿ëÀ» Âü°íÇϽʽÿÀ. IWorkbenchConfigurer ¹× IWorkbenchWindowConfigurer´Â WorkbenchAdvisor¿Í ÇÔ²² âÀ» »ç¿ëÀÚ Á¤ÀÇÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ÀÌ Å¬·¡½º¸¦ »ç¿ëÇÏ¸é ´Ù¸¥ ·¹º§¿¡ ÀÖ´Â Workbench ÀÛ¼ºÀÇ ¿©·¯ Ãø¸éÀ» ´ëüÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î IWorkbenchWindowConfigurer´Â Á¶Ä¡ Ç¥½ÃÁÙ, »óÅ ǥ½ÃÁÙ, Perspective Ç¥½ÃÁÙ, Äð Ç¥½ÃÁÙ µî°ú °°ÀÌ Workbench âÀÇ Á¦¾î¿¡ ´ëÇÑ Æ¯Á¤ ±¸¼ºÀ» °¡Á¤ÇÏ´Â ÇÁ·ÎÅäÄÝÀ» Á¤ÀÇÇÕ´Ï´Ù. ÀÌ ÇÁ·ÎÅäÄÝ·Î ÀÌ·¯ÇÑ Ç׸ñÀ» »ç¿ëÀÚ Á¤ÀÇÇϰí ä¿ï ¼ö ÀÖ½À´Ï´Ù. IWorkbenchConfigurer´Â ³ôÀº ·¹º§¿¡¼­ ÀÛµ¿Çϱ⠶§¹®¿¡ Workbench¿¡ ÀÀ¿ëÇÁ·Î±×·¥ ƯÁ¤ µ¥ÀÌÅ͸¦ ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. WorkbenchAdvisor´Â À§¿¡¼­ Âü°íÇÑ ¶óÀÌÇÁ »çÀÌŬ ¸Þ¼Òµå·Î ÀÌ ±¸¼ºÀÚ¿¡ ´ëÇÑ ¾×¼¼½º¸¦ Á¦°øÇÕ´Ï´Ù. WorkbenchAdvisorÀÇ ³·Àº ·¹º§ ¸Þ¼Òµå´Â ±âº» µ¿ÀÛÀ» ¿ÏÀüÈ÷ ¹Ù²Ùµµ·Ï ´ëüµÉ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î Workbench ¾îµå¹ÙÀÌÀú´Â ±âº» â¿¡ ¿ÏÀüÈ÷ ´Ù¸¥ ±¸ÇöÀ» Á¦°øÇϱâ À§ÇØ Ã¢¿¡ SWT Á¦¾î¸¦ ÀÛ¼ºÇÏ´Â ¸Þ¼Òµå¸¦ ´ëüÇÒ ¼ö ÀÖ½À´Ï´Ù.

Áï, ÀÌ ±â¼úÀ» »ç¿ëÇÒ ¼ö ÀÖ´Â ¸î °¡Áö ´Ù¸¥ ·¹º§ ¹× Workbench¸¦ »ç¿ëÀÚ Á¤ÀÇÇÏ´Â ¹æ¹ýÀÌ ´Ù¾çÇÏ°Ô ÀÖ½À´Ï´Ù. WorkbenchAdvisor, IWorkbenchConfigurer ¹× IWorkbenchWindowConfigurerÀÇ javadoc¿¡´Â »ç¿ë °¡´ÉÇÑ ÇÁ·ÎÅäÄÝ¿¡ ´ëÇÑ Àüü ¼³¸íÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ¶ÇÇÑ ´ëü ±¸Çö¿¡ ´ëÇÑ ÁÖ¼®Àº BrowserAdvisorÀÇ Àüü ±¸ÇöÀ» ÂüÁ¶ÇϽʽÿÀ.