¸®Ä¡ Ŭ¶óÀÌ¾ðÆ® ÀÀ¿ëÇÁ·Î±×·¥ Á¤ÀÇ

¸®Ä¡ Ŭ¶óÀÌ¾ðÆ® ÀÀ¿ëÇÁ·Î±×·¥ Ç÷¯±×Àο¡ ´ëÇÑ Á¤ÀÇ´Â Áö±Ý±îÁö ÇнÀÇØ ¿Ô´ø ´Ù¸¥ Ç÷¯±×Àΰú À¯»çÇÑ ¹æ½ÄÀ¸·Î ½ÃÀ۵˴ϴÙ. ¸¶Å©¾÷ÀÇ Ã¹ ¹øÂ° ºÎºÐ¿¡ ´ëÇÑ À¯ÀÏÇÑ Â÷ÀÌÁ¡Àº Çʼö Ç÷¯±×ÀÎ ¸ñ·ÏÀÌ Áö±Ý±îÁö »ç¿ëÇØ¿Ô´ø °Íº¸´Ù ÈξÀ ÀÛ´Ù´Â °ÍÀÔ´Ï´Ù.

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
   id="org.eclipse.ui.examples.rcp.browser"
   name="%pluginName"
   version="3.0.0"
   provider-name="%providerName">

      <runtime>
      <library name="browser.jar">
      </library>
      </runtime>
      <requires>
      <import plugin="org.eclipse.core.runtime"/>
      <import plugin="org.eclipse.ui"/>
      </requires>

Áö±Ý±îÁö Workbench¿¡ ¿ä¼Ò¸¦ Ãß°¡ÇÏ´Â È®ÀåÀ» ¼±¾ðÇÏ¿© Ç÷§Æû Workbench¿¡ ±â´ÉÀ» Á¦°øÇØ ¿Ô½À´Ï´Ù. Áö±Ý±îÁö °ËÅäÇÑ ¸ðµç plugin.xml ÄÁÅÙÃ÷¿¡¼­´Â °¡Á¤µÇ´Â Workbench¿¡ ´ëÇÑ °³º°ÀûÀÎ Á¦°ø Ç׸ñ¸¸ »ìÆìº¸¾Ò½À´Ï´Ù. ¸®Ä¡ Ŭ¶óÀÌ¾ðÆ® Ç÷§Æû¿¡´Â ÀÌ¹Ì Á¤ÀÇµÈ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ¾ø½À´Ï´Ù. ¸®Ä¡ Ŭ¶óÀÌ¾ðÆ® Ç÷¯±×ÀÎÀÌ Ç÷§ÆûÀÌ ½ÃÀÛµÉ ¶§ ½ÇÇàÇÒ Å¬·¡½º¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. À̰ÍÀº org.eclipse.core.runtime.applications È®Àå¿¡¼­ ¼öÇàµË´Ï´Ù.

      <extension
         point="org.eclipse.core.runtime.applications"
         id="app"
         name="%appName">
      <application>
         <run
            class="org.eclipse.ui.examples.rcp.browser.BrowserApp">
         </run>
      </application>
   </extension>
ÀÌ È®Àå¿¡¼­´Â Ç÷§ÆûÀÌ Ã³À½À¸·Î ½ÃÀÛµÉ ¶§ ½ÇÇàÇØ¾ß Çϴ Ŭ·¡½º¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ Å¬·¡½º´Â IPlatformRunnableÀ» ±¸ÇöÇϴµ¥, À̰ÍÀº °£´ÜÈ÷ ½ÇÇà ¸Þ¼Òµå¸¦ ±¸ÇöÇØ¾ß ÇÔÀ» ÀǹÌÇÕ´Ï´Ù. ½ÇÇà ¸Þ¼Òµå´Â SWT Ç¥½Ã¸¦ ÀÛ¼ºÇϰí Workbench¸¦ ½ÃÀÛÇØ¾ß ÇÕ´Ï´Ù. PlatformUI Ŭ·¡½º´Â ÀÌ·¯ÇÑ Å¸½ºÅ©¸¦ ¼öÇàÇÏ´Â Æí¸®ÇÑ ¸Þ¼Òµå¸¦ ±¸ÇöÇÕ´Ï´Ù.
	public Object run(Object args) throws Exception {
		Display display = PlatformUI.createDisplay();
		try {
			int code = PlatformUI.createAndRunWorkbench(display,
					new BrowserAdvisor());
			// exit the application with an appropriate return code
			return code == PlatformUI.RETURN_RESTART
					? EXIT_RESTART
					: EXIT_OK;
        } finally {
			if (display != null)
				display.dispose();
		}
	}
createAndRunWorkbench¿¡ ´ëÇÑ È£ÃâÀº Workbench°¡ ´ÝÈ÷±â Àü¿¡´Â ¸®ÅϵÇÁö ¾Ê½À´Ï´Ù. SWT À̺¥Æ® ·çÇÁ ¹× ±âŸ ÇÏÀ§ ·¹º§ ³í¸®´Â ÀÌ ¸Þ¼Òµå ³»¿¡¼­ 󸮵˴ϴÙ. ÀÌ ´Ü°è¿¡¼­ SWT ÀÀ¿ëÇÁ·Î±×·¥À» ½ÇÇàÇÏ´Â ±âº» ±¸Á¶¸¦ ÀÌÇØÇÏ´Â °ÍÀº º°·Î Áß¿äÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ Äڵ带 ÃÖ¼ÒÀÇ º¯°æ»çÇ×À¸·Î ¸®Ä¡ Ŭ¶óÀÌ¾ðÆ® ÀÀ¿ëÇÁ·Î±×·¥¿¡ º¹»çÇÒ ¼ö ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î »ç¿ëÀÚ°¡ °íÀ¯ ±â´ÉÀ» Ãß°¡ÇÏ´Â ÈÄÅ©´Â Workbench°¡ ÀÛ¼ºµÉ ¶§ Àμö·Î¼­ Àü´ÞµÇ´Â WorkbenchAdvisorÀÔ´Ï´Ù. ¿©±â¿¡ ´ëÇØÁ»´õ ÀÚ¼¼È÷ »ìÆìº¸±â·Î ÇÕ´Ï´Ù.

¹ýÀû ÁÖÀÇ»çÇ×