X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=security%2Fplugins%2Forg.argeo.security.ui.rcp%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fui%2Frcp%2FSecureActionBarAdvisor.java;fp=security%2Fplugins%2Forg.argeo.security.ui.rcp%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fui%2Frcp%2FSecureActionBarAdvisor.java;h=c32cd29994e3d81a2cddabb4ab1370291e161a06;hb=0aa1c816931dfce599fb6855eb216d743c1583b2;hp=0000000000000000000000000000000000000000;hpb=10c220cf49f5b146bac50ed7fe2578135cd466f1;p=lgpl%2Fargeo-commons.git diff --git a/security/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureActionBarAdvisor.java b/security/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureActionBarAdvisor.java new file mode 100644 index 000000000..c32cd2999 --- /dev/null +++ b/security/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureActionBarAdvisor.java @@ -0,0 +1,94 @@ +package org.argeo.security.ui.rcp; + +import org.eclipse.jface.action.GroupMarker; +import org.eclipse.jface.action.ICoolBarManager; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.action.ToolBarManager; +import org.eclipse.swt.SWT; +import org.eclipse.ui.IWorkbenchActionConstants; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.actions.ActionFactory; +import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction; +import org.eclipse.ui.application.ActionBarAdvisor; +import org.eclipse.ui.application.IActionBarConfigurer; + +public class SecureActionBarAdvisor extends ActionBarAdvisor { + private IWorkbenchAction exitAction; + private IWorkbenchAction openPerspectiveDialogAction; + private IWorkbenchAction showViewMenuAction; + private IWorkbenchAction preferences; + private IWorkbenchAction saveAction; + private IWorkbenchAction saveAllAction; + private IWorkbenchAction closeAllAction; + + // private final Boolean isRcp; + + public SecureActionBarAdvisor(IActionBarConfigurer configurer, Boolean isRcp) { + super(configurer); + // this.isRcp = isRcp; + } + + protected void makeActions(IWorkbenchWindow window) { + preferences = ActionFactory.PREFERENCES.create(window); + register(preferences); + openPerspectiveDialogAction = ActionFactory.OPEN_PERSPECTIVE_DIALOG + .create(window); + register(openPerspectiveDialogAction); + showViewMenuAction = ActionFactory.SHOW_VIEW_MENU.create(window); + register(showViewMenuAction); + + exitAction = ActionFactory.QUIT.create(window); + register(exitAction); + + // Save semantiocs + saveAction = ActionFactory.SAVE.create(window); + register(saveAction); + saveAllAction = ActionFactory.SAVE_ALL.create(window); + register(saveAllAction); + closeAllAction = ActionFactory.CLOSE_ALL.create(window); + register(closeAllAction); + + } + + protected void fillMenuBar(IMenuManager menuBar) { + MenuManager fileMenu = new MenuManager("&File", + IWorkbenchActionConstants.M_FILE); + MenuManager editMenu = new MenuManager("&Edit", + IWorkbenchActionConstants.M_EDIT); + MenuManager windowMenu = new MenuManager("&Window", + IWorkbenchActionConstants.M_WINDOW); + + menuBar.add(fileMenu); + menuBar.add(editMenu); + menuBar.add(windowMenu); + // Add a group marker indicating where action set menus will appear. + menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); + + // File + fileMenu.add(saveAction); + fileMenu.add(saveAllAction); + fileMenu.add(closeAllAction); + fileMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); + fileMenu.add(new Separator()); + fileMenu.add(exitAction); + + // Edit + editMenu.add(preferences); + + // Window + windowMenu.add(openPerspectiveDialogAction); + windowMenu.add(showViewMenuAction); + } + + @Override + protected void fillCoolBar(ICoolBarManager coolBar) { + IToolBarManager saveToolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT); + saveToolbar.add(saveAction); + saveToolbar.add(saveAllAction); + coolBar.add(saveToolbar); + } + +}