ÄÁÅØ½ºÆ®

ÄÁÅØ½ºÆ®¸¦ »ç¿ëÇÏ¿© ÇØ´ç ½ÃÁ¡¿¡ »ç¿ëÀÚ°¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸í·É¿¡ ¿µÇâÀ» ÁÙ ¼ö ÀÖ½À´Ï´Ù. ÄÁÅØ½ºÆ®´Â Ȱµ¿º¸´Ù µ¿ÀûÀÔ´Ï´Ù. Ȱµ¿ÀÌ ´ëºÎºÐÀÇ ½Ã°£¿¡ »ç¿ëÀÚ°¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ±â´ÉÀÇ ±¤¹üÀ§ÇÑ ¼¼Æ®¸¦ Ç¥½ÃÇÏ´Â ¹Ý¸é, ÄÁÅØ½ºÆ®´Â ƯÁ¤ ½ÃÁ¡¿¡¼­ »ç¿ëÀÚÀÇ ÃÊÁ¡À» ¼³¸íÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ÅØ½ºÆ®¸¦ ÆíÁýÇÏ´Â Áß »ç¿ëÀÚ°¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸í·ÉÀº Java ÅØ½ºÆ®¸¦ ÆíÁýÇϰųª ÆÐŰÁö Ž»ö±â¿¡¼­ ÆÐŰÁö¸¦ ã¾Æº¸´Â µ¿¾È »ç¿ëÀÚ°¡ »ç¿ëÇÒ ¼ö ÀÖ´Â °Í°ú ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù.

ÄÁÅØ½ºÆ® Á¤ÀÇ

ÄÁÅØ½ºÆ®´Â org.eclipse.ui.contexts È®ÀåÁ¡¿¡¼­ ¼±¾ðµË´Ï´Ù. ÅØ½ºÆ® ÆíÁý¿¡ Á¤ÀÇµÈ ´ÙÀ½ ÄÁÅØ½ºÆ®¸¦ °í·ÁÇϽʽÿÀ.

<extension
	point="org.eclipse.ui.contexts">
	<context
		name="%context.editingText.name"
		description="%context.editingText.description"
		id="org.eclipse.ui.textEditorScope"
		parentId="org.eclipse.ui.contexts.window">
	</context>
»ç¿ëÀÚ¿¡°Ô ÄÁÅØ½ºÆ®¿¡ ´ëÇÑ Á¤º¸¸¦ Ç¥½ÃÇÒ ¶§ »ç¿ëµÇ´Â À̸§ ¹× ¼³¸íÀ» ÄÁÅØ½ºÆ®¿¡ ÁöÁ¤ÇÕ´Ï´Ù. ƯÁ¤ ÄÁÅØ½ºÆ®¿¡ ´ëÇÑ ¸í·É µî UI Áö½Ã¹®À» ¹ÙÀεåÇÒ ¶§ ÄÁÅØ½ºÆ® ID°¡ »ç¿ëµË´Ï´Ù.

ÄÁÅØ½ºÆ® °èÃþ ±¸Á¶

ÄÁÅØ½ºÆ®´Â ¿ø·¡ °èÃþ ±¸Á¶ÀÔ´Ï´Ù. ÄÁÅØ½ºÆ®°¡ Ȱ¼ºÈ­µÇ¸é ÄÁÅØ½ºÆ® ¹× »óÀ§ ÄÁÅØ½ºÆ®¿¡¼­ »ç¿ë °¡´ÉÇÑ ¸í·Éµµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº ÀϹÝÀû »óȲ¿¡¼­ º¸´Ù ±¸Ã¼ÀûÀÎ ÄÁÅØ½ºÆ®·Î À̵¿ÇÏ´Â ÄÁÅØ½ºÆ®ÀÇ ·¹º§À» Á¤ÀÇÇÏ´Â µ¥ À¯¿ëÇÕ´Ï´Ù. À§ ÄÁÅØ½ºÆ® Á¤ÀÇ¿¡¼­ ÄÁÅØ½ºÆ®¿¡ ÁöÁ¤µÈ »óÀ§ÀÇ ID°¡ ÀÖ½À´Ï´Ù.

	<context
		name="%context.editingText.name"
		description="%context.editingText.description"
		id="org.eclipse.ui.textEditorScope"
		parentId="org.eclipse.ui.contexts.window">
	</context>
»óÀ§ ÄÁÅØ½ºÆ®´Â â¿¡¼­ ÀÛ¾÷ÀÇ Ãß°¡ ÀÏ¹Ý ÄÁÅØ½ºÆ®¸¦ Á¤ÀÇÇÕ´Ï´Ù. »óÀ§´Â âÀ̳ª ´ëÈ­ »óÀÚ¿¡¼­ ÀÛ¾÷ÀÇ Ãß°¡ ÀÏ¹Ý ÄÁÅØ½ºÆ®¸¦ Á¤ÀÇÇÕ´Ï´Ù.
<context
	name="%context.window.name"
	description="%context.window.description"
	id="org.eclipse.ui.contexts.window"
	parentId="org.eclipse.ui.contexts.dialogAndWindow">
	</context>
<context
	name="%context.dialogAndWindow.name"
	description="%context.dialogAndWindow.description"
	id="org.eclipse.ui.contexts.dialogAndWindow">
	</context>

Áö½Ã¹®À» ÄÁÅØ½ºÆ®¿Í ¿¬°ü

Áö±Ý±îÁö ÄÁÅØ½ºÆ®ÀÇ °èÃþ ±¸Á¶ Á¤ÀÇ¿¡ ´ëÇØ »ìÆìº¸¾Ò½À´Ï´Ù. ÄÁÅØ½ºÆ®´Â ´Ù¸¥ UI Áö½Ã¹®¿¡ ´ëÇÑ ¼³¸í¿¡¼­ ÂüÁ¶µÉ ¶§ À¯¿ëÇÕ´Ï´Ù. ÄÁÅØ½ºÆ®´Â Ű ¹ÙÀεù¿¡¼­ °¡Àå ÀϹÝÀûÀ¸·Î »ç¿ëµË´Ï´Ù. ÄÁÅØ½ºÆ®°¡ Ű ¹ÙÀεù°ú ¿¬°üµÇ¸é Ű ¹ÙÀεùÀº »ç¿ëÀÚ°¡ ÇØ´ç ÄÁÅØ½ºÆ®¿¡ ÀÖÀ» ¶§¿¡¸¸ Ȱ¼ºÈ­µË´Ï´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½ ¸¶Å©¾÷Àº ·çÆ® ´ëÈ­ »óÀÚ ¹× â ÄÁÅØ½ºÆ®¸¦ Ű ¹ÙÀεùÀÇ ÄÁÅØ½ºÆ®·Î ÁöÁ¤ÇÕ´Ï´Ù.

<extension
         point="org.eclipse.ui.bindings">
<key
            sequence="M1+X"
	contextId="org.eclipse.ui.contexts.dialogAndWindow"
	commandId="org.eclipse.ui.edit.cut"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
   </extension>

ÄÁÅØ½ºÆ® API »ç¿ë

Workbench ÄÁÅØ½ºÆ® Áö¿ø¿¡´Â Á¤ÀÇµÈ ÄÁÅØ½ºÆ®¿¡ ´ëÇØ ÀÛ¾÷ÇÏ°í Æ¯Á¤ ÄÁÅØ½ºÆ®°¡ »ç¿ë °¡´ÉÇÑ ±âÁØÀ» Á¤ÀÇÇÏ´Â API°¡ Æ÷ÇԵ˴ϴÙ. ´ëºÎºÐÀÇ Ç÷¯±×ÀÎÀÌ API¿Í °ü·ÃµÉ Çʿ䰡 ¾øÁö¸¸ »õ ÄÁÅØ½ºÆ®¸¦ Á¤ÀÇÇϴ Ư¼öÈ­µÈ º¸±â³ª ÆíÁý±â¸¦ Á¤ÀÇÇÒ ¶§ À¯¿ëÇÕ´Ï´Ù.

Workbench¿¡¼­ ÄÁÅØ½ºÆ®¿¡ ´ëÇÑ ÀÛ¾÷ÀÇ ½ÃÀÛÁ¡Àº IContextServiceÀÔ´Ï´Ù. Ç÷¯±×ÀÎÀº Workbench¿¡¼­ ±Û·Î¹ú ÄÁÅØ½ºÆ® Áö¿ø ÀνºÅϽº¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù.

IContextService contextService = (IContextService)PlatformUI.getWorkbench()
	.getService(IContextService.class);

IContextService, IHandlerService ¹× IBindingService¿Í °°Àº ¼­ºñ½º´Â IServiceLocator¸¦ »ç¿ëÇÏ¿© °Ë»öÇÒ ¼ö ÀÖ½À´Ï´Ù. IWorkbench, IWorkbenchWindow ¹× IWorkbenchSite´Â ¸ðµÎ IServiceLocatorÀÔ´Ï´Ù.

IContextService´Â Á¤Àǵǰųª »ç¿ë °¡´ÉÇÑ ¸ðµç ÄÁÅØ½ºÆ® ID¸¦ °¡Á®¿À°í ƯÁ¤ IDÀÇ ¿¬°üµÈ Context¸¦ °¡Á®¿À´Â ÇÁ·ÎÅäÄÝÀ» Á¤ÀÇÇÕ´Ï´Ù. ÀÌ ¿ÀºêÁ§Æ®¸¦ »ç¿ëÇÏ¿© ID, À̸§ ¶Ç´Â »óÀ§ ÄÁÅØ½ºÆ®ÀÇ ID¸¦ °¡Á®¿À´Â µî API¿¡¼­ ÄÁÅØ½ºÆ®ÀÇ Á¤ÀǸ¦ À̵¿ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸®½º³Ê¸¦ ÄÁÅØ½ºÆ® °ü¸®ÀÚ³ª ÄÁÅØ½ºÆ® ÀÚü¿¡ µî·ÏÇÏ¿© ƯÁ¤ ÄÁÅØ½ºÆ®ÀÇ Á¤Àdzª ÄÁÅØ½ºÆ® °ü¸®ÀÚ¿¡¼­ º¯°æ»çÇ×À» ¹ß°ßÇÒ ¼öÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â org.eclipse.core.commands.contexts ÆÐŰÁö¸¦ ÂüÁ¶ÇϽʽÿÀ.

ÄÁÅØ½ºÆ®´Â ´ÙÀ½°ú °°ÀÌ ÇÁ·Î±×·¡¹Ö ¹æ½ÄÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

IContextActivation activation = contextService.activateContext("org.eclipse.ui.textEditorScope");

IContextActivationÀº Ȱ¼º ÄÁÅØ½ºÆ®¸¦ ºñȰ¼ºÈ­ÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â ÅäÅ«ÀÔ´Ï´Ù. Á¤ÀÇµÈ ÄÁÅØ½ºÆ®¸¸ Ȱ¼ºÈ­ÇØ¾ß ÇÕ´Ï´Ù.

ÇØ´ç ÆÄÆ®(º¸±â ¶Ç´Â ÆíÁý±â)¿¡¼­ º¸´Ù ±¸Ã¼ÀûÀÎ ÄÁÅØ½ºÆ®¸¦ Ȱ¼ºÈ­ÇÏ´Â °æ¿ì ÆÄÆ® »çÀÌÆ® ¼­ºñ½º À§Ä¡ ÁöÁ¤ÀÚ¸¦ »ç¿ëÇÏ¿© ÄÁÅØ½ºÆ®¸¦ Ȱ¼ºÈ­ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÆÄÆ®ÀÇ IContextService´Â ÆÄÆ®°¡ Ȱ¼ºÈ­µÇ°Å³ª ºñȰ¼ºÈ­µÉ ¶§ ÄÁÅØ½ºÆ®¸¦ Ȱ¼ºÈ­ÇÏ°í ºñȰ¼ºÈ­ÇÕ´Ï´Ù. ¶ÇÇÑ ÆÄÆ®¸¦ ó¸®ÇÒ ¶§ ÄÁÅØ½ºÆ®¸¦ ó¸®ÇÕ´Ï´Ù.