조치 정의

브라우저 예제에서 BrowserAdvisor가 제공하는 기본 사용자 정의는 Workbench 창의 조치 표시줄 컨텐츠를 지정하는 것입니다.

	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);
	}

이러한 조치를 BrowserActionBuilder에 정의하는 방법을 더욱 자세히 살펴보기로 합니다. 특히 브라우저 보기에서 처리하는 조치를 살펴 봅니다.

private void makeActions() {
		...				
		backAction = new RetargetAction("back", "&Back");
		backAction.setToolTipText("Back");
		backAction.setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_BACK));
		window.getPartService().addPartListener(backAction);
		
		forwardAction = new RetargetAction("forward", "&Forward");
		forwardAction.setToolTipText("Forward");
		forwardAction.setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_FORWARD));
		window.getPartService().addPartListener(forwardAction);
		
		stopAction = new RetargetAction("stop", "Sto&p");
		stopAction.setToolTipText("Stop");
		window.getPartService().addPartListener(stopAction);
		
		refreshAction = new RetargetAction("refresh", "&Refresh");
		refreshAction.setToolTipText("Refresh");
		window.getPartService().addPartListener(refreshAction);
		...
	}

조치는 개별 보기가 핸들러 조치를 구현할 수 있도록 새로 대상 지정 가능한 조치로 정의됩니다. BrowserView는 보기에 대한 제어를 작성할 때 핸들러 조치를 창의 새로 대상 지정 가능한 조치와 연관시킵니다.

	private Browser createBrowser(Composite parent, final IActionBars actionBars) {
		
		...
		actionBars.setGlobalActionHandler("back", backAction);
		actionBars.setGlobalActionHandler("forward", forwardAction);
		actionBars.setGlobalActionHandler("stop", stopAction);
		actionBars.setGlobalActionHandler("refresh", refreshAction);
		...
	}

이러한 조치는 보기가 먼저 작성되면 작성됩니다.

	private Action backAction = new Action("Back") {
  					public void run() {
			browser.back();
		}
	};

새로 대상 지정 가능한 조치에 대한 전체 설명 및 이 조치를 정의하고 구현하는 방법은 새로 대상 지정 가능한 조치를 참조하십시오.