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

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

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.ui.examples.rcp.browser; singleton:=true
Bundle-Version: 3.2.0.qualifier
Bundle-ClassPath: browser.jar
Bundle-Activator: org.eclipse.ui.examples.rcp.browser.BrowserPlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.uiEclipse-AutoStart: true
Eclipse-AutoStart-comment: Use Eclipse-AutoStart instead of Eclipse-LazyStart because the browser example should run against 3.1 as well as 3.2.

Áö±Ý±îÁö 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À» ±¸ÇöÇϴµ¥, À̰ÍÀº °£´ÜÈ÷ run ¸Þ¼Òµå¸¦ ±¸ÇöÇØ¾ß ÇÔÀ» ÀǹÌÇÕ´Ï´Ù. ½ÇÇà ¸Þ¼Òµå´Â 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ÀÔ´Ï´Ù. ¿©±â¿¡ ´ëÇØ Á»´õ ÀÚ¼¼È÷ »ìÆìº¸±â·Î ÇÕ´Ï´Ù.