]> git.argeo.org Git - lgpl/argeo-commons.git/blob - SecureActionBarAdvisor.java
2f3cb503c647bea5341e7374f7c34d10f271f94f
[lgpl/argeo-commons.git] / SecureActionBarAdvisor.java
1 package org.argeo.security.ui.rcp;
2
3 import org.eclipse.jface.action.GroupMarker;
4 import org.eclipse.jface.action.ICoolBarManager;
5 import org.eclipse.jface.action.IMenuManager;
6 import org.eclipse.jface.action.IToolBarManager;
7 import org.eclipse.jface.action.MenuManager;
8 import org.eclipse.jface.action.Separator;
9 import org.eclipse.jface.action.ToolBarManager;
10 import org.eclipse.swt.SWT;
11 import org.eclipse.ui.IWorkbenchActionConstants;
12 import org.eclipse.ui.IWorkbenchWindow;
13 import org.eclipse.ui.actions.ActionFactory;
14 import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
15 import org.eclipse.ui.application.ActionBarAdvisor;
16 import org.eclipse.ui.application.IActionBarConfigurer;
17
18 public class SecureActionBarAdvisor extends ActionBarAdvisor {
19 private IWorkbenchAction exitAction;
20 private IWorkbenchAction openPerspectiveDialogAction;
21 private IWorkbenchAction showViewMenuAction;
22 private IWorkbenchAction preferences;
23 private IWorkbenchAction saveAction;
24 private IWorkbenchAction saveAsAction;
25 private IWorkbenchAction saveAllAction;
26 private IWorkbenchAction closeAllAction;
27
28 // private final Boolean isRcp;
29
30 public SecureActionBarAdvisor(IActionBarConfigurer configurer, Boolean isRcp) {
31 super(configurer);
32 // this.isRcp = isRcp;
33 }
34
35 protected void makeActions(IWorkbenchWindow window) {
36 preferences = ActionFactory.PREFERENCES.create(window);
37 register(preferences);
38 openPerspectiveDialogAction = ActionFactory.OPEN_PERSPECTIVE_DIALOG
39 .create(window);
40 register(openPerspectiveDialogAction);
41 showViewMenuAction = ActionFactory.SHOW_VIEW_MENU.create(window);
42 register(showViewMenuAction);
43
44 exitAction = ActionFactory.QUIT.create(window);
45 register(exitAction);
46
47 // Save semantiocs
48 saveAction = ActionFactory.SAVE.create(window);
49 register(saveAction);
50 saveAsAction = ActionFactory.SAVE_AS.create(window);
51 register(saveAsAction);
52 saveAllAction = ActionFactory.SAVE_ALL.create(window);
53 register(saveAllAction);
54 closeAllAction = ActionFactory.CLOSE_ALL.create(window);
55 register(closeAllAction);
56
57 }
58
59 protected void fillMenuBar(IMenuManager menuBar) {
60 MenuManager fileMenu = new MenuManager("&File",
61 IWorkbenchActionConstants.M_FILE);
62 MenuManager editMenu = new MenuManager("&Edit",
63 IWorkbenchActionConstants.M_EDIT);
64 MenuManager windowMenu = new MenuManager("&Window",
65 IWorkbenchActionConstants.M_WINDOW);
66
67 menuBar.add(fileMenu);
68 menuBar.add(editMenu);
69 menuBar.add(windowMenu);
70 // Add a group marker indicating where action set menus will appear.
71 menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
72
73 // File
74 fileMenu.add(saveAction);
75 fileMenu.add(saveAsAction);
76 fileMenu.add(saveAllAction);
77 fileMenu.add(closeAllAction);
78 fileMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
79 fileMenu.add(new Separator());
80 fileMenu.add(exitAction);
81
82 // Edit
83 editMenu.add(preferences);
84
85 // Window
86 windowMenu.add(openPerspectiveDialogAction);
87 windowMenu.add(showViewMenuAction);
88 }
89
90 @Override
91 protected void fillCoolBar(ICoolBarManager coolBar) {
92 IToolBarManager saveToolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
93 saveToolbar.add(saveAction);
94 saveToolbar.add(saveAllAction);
95 coolBar.add(saveToolbar);
96 }
97
98 }