Programmazione:Java/Eclipse RCP/Application Coolbar

Da WikiSitech.
Vai alla navigazioneVai alla ricerca

<< Back to Eclipse RCP

Come gestire la Coolbar dell'applicazione

ApplicationCoolbar.jpg


Per configurare la coolbar bisogna implementare delle

org.eclipse.jface.action.Action

e legarle in questo modo al componente grafico


public class DesktopActionBarAdvisor extends ActionBarAdvisor {

  private IWorkbenchAction homeAction, 
  private IWorkbenchAction switch_applicationAction, 
  private IWorkbenchAction switch_application_ddAction, 
  private IWorkbenchAction account_infoAction;
  private IWorkbenchAction logoutAction;
  private IWorkbenchAction log_configurationAction;
  public DesktopActionBarAdvisor(IActionBarConfigurer configurer) {
     super(configurer);
  }
  protected void makeActions(final IWorkbenchWindow window) {
     account_infoAction = new AccountInfoAction();
     register(account_infoAction);
     logoutAction = ActionFactory.QUIT.create(window);
     logoutAction.setText("Logout");
     register(logoutAction);
     homeAction = new HomeAction();
     register(homeAction);
     switch_applicationAction = new SwitchApplicationAction(false);
     register(switch_applicationAction);
     switch_application_ddAction = new SwitchApplicationAction(true);
     register(switch_application_ddAction);
     log_configurationAction = new LogConfigurationAction();
     register(log_configurationAction);
  }
  protected void fillMenuBar(IMenuManager menuBar) {
     MenuManager accountMenu = new MenuManager("&Account");
     menuBar.add(accountMenu);
     accountMenu.add(account_infoAction);
     accountMenu.add(logoutAction);
     MenuManager navigationMenu = new MenuManager("&Navigation");
     menuBar.add(navigationMenu);
     navigationMenu.add(homeAction);
     navigationMenu.add(switch_applicationAction);
  }
  @Override
  protected void fillCoolBar(ICoolBarManager coolBar) {
     IToolBarManager account = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
     coolBar.add(new ToolBarContributionItem(account, "account"));
     account.add(account_infoAction);
     IToolBarManager navigation = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
     coolBar.add(new ToolBarContributionItem(navigation, "navigation"));
     navigation.add(homeAction);
     navigation.add(switch_application_ddAction);
     IToolBarManager utility = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
     coolBar.add(new ToolBarContributionItem(utility, "utility"));
     utility.add(log_configurationAction);
     coolBar.setLockLayout(false);
  }

}