Definir las acciones

La personalización primaria suministrada por BrowserAdvisor en el ejemplo de navegador es la designación del contenido de barra de acciones para la ventana del entorno de trabajo:

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

Observemos más de cerca cómo se definen estas acciones en BrowserActionBuilder. En particular, observemos las acciones manejadas por la vista del navegador.

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

Las acciones se definen como acciones redireccionables a fin de que vistas individuales puedan implementar las acciones del manejador. BrowserView asocia sus acciones de manejador con las acciones redireccionables de la ventana cuando crea los controles de la vista:

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

Estas acciones se crean cuando se crea la vista.

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

Consulte la sección Acciones redireccionables para obtener una descripción completa de las acciones redireccionables y cómo se definen e implementan.