merge from hangum
[Tadpole.git] / com.hangum.tadpole.applicaion.start / src / com / hangum / tadpole / application / start / ApplicationActionBarAdvisor.java
blobe1434a29783951b5659f22e68e1ab5a83441a9b9
1 /*******************************************************************************
2 * Copyright (c) 2013 hangum.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the GNU Lesser Public License v2.1
5 * which accompanies this distribution, and is available at
6 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
7 *
8 * Contributors:
9 * hangum - initial API and implementation
10 ******************************************************************************/
11 package com.hangum.tadpole.application.start;
13 import org.eclipse.jface.action.GroupMarker;
14 import org.eclipse.jface.action.IAction;
15 import org.eclipse.jface.action.ICoolBarManager;
16 import org.eclipse.jface.action.IMenuManager;
17 import org.eclipse.jface.action.IToolBarManager;
18 import org.eclipse.jface.action.MenuManager;
19 import org.eclipse.jface.action.Separator;
20 import org.eclipse.jface.action.ToolBarContributionItem;
21 import org.eclipse.jface.action.ToolBarManager;
22 import org.eclipse.swt.SWT;
23 import org.eclipse.ui.IWorkbenchActionConstants;
24 import org.eclipse.ui.IWorkbenchWindow;
25 import org.eclipse.ui.actions.ActionFactory;
26 import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
27 import org.eclipse.ui.application.ActionBarAdvisor;
28 import org.eclipse.ui.application.IActionBarConfigurer;
30 import com.hangum.tadpole.application.start.action.AboutAction;
31 import com.hangum.tadpole.application.start.action.BugIssueAction;
32 import com.hangum.tadpole.application.start.action.NewVersionCheckAction;
33 import com.hangum.tadpole.application.start.action.UserManuelAction;
34 import com.hangum.tadpole.commons.admin.core.actions.AdminSQLAuditAction;
35 import com.hangum.tadpole.commons.admin.core.actions.AdminSystemSettingAction;
36 import com.hangum.tadpole.commons.admin.core.actions.AdminUserAction;
37 import com.hangum.tadpole.commons.admin.core.actions.JDBCDriverManagerAction;
38 import com.hangum.tadpole.commons.admin.core.actions.SendMessageAction;
39 import com.hangum.tadpole.compare.core.actions.OpenCompareAction;
40 import com.hangum.tadpole.engine.permission.PermissionChecker;
41 import com.hangum.tadpole.manager.core.actions.global.DBManagerAction;
42 import com.hangum.tadpole.manager.core.actions.global.ResourceManagerAction;
43 import com.hangum.tadpole.manager.core.actions.global.RestfulAPIManagerAction;
44 import com.hangum.tadpole.manager.core.actions.global.SQLAuditAction;
45 import com.hangum.tadpole.manager.core.actions.global.SchemaHistoryAction;
46 import com.hangum.tadpole.manager.core.actions.global.TransactionConnectionManagerAction;
47 import com.hangum.tadpole.rdb.core.actions.global.ConnectDatabaseAction;
48 import com.hangum.tadpole.rdb.core.actions.global.DeleteResourceAction;
49 import com.hangum.tadpole.rdb.core.actions.global.ExitAction;
50 import com.hangum.tadpole.rdb.core.actions.global.OpenDBRelationAction;
51 import com.hangum.tadpole.rdb.core.actions.global.OpenObjectQueryEditorAction;
52 import com.hangum.tadpole.rdb.core.actions.global.OpenQueryEditorAction;
53 import com.hangum.tadpole.rdb.core.actions.global.PreferenceAction;
54 import com.hangum.tadpole.session.manager.SessionManager;
56 /**
57 * Define at action, toolbar, menu
59 * @author hangum
61 public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
62 private IWorkbenchAction exitAction;
64 private IAction saveAction;
65 private IAction saveAsAction;
67 private IAction connectAction;
68 private IAction queryOpenAction;
69 private IAction openObjectQueryEditorAction;
70 private IAction dbRelationOpenAction;
71 private IAction deleteResourceAction;
73 private IAction restFulAPIAction;
75 /** send message */
76 private IAction adminSendMessageAction;
77 private IAction adminUserAction;
78 private IAction adminSQLAuditAction;
79 private IAction adminSystemSettingAction;
81 /** User permission action */
82 private IAction dbMgmtAction;
84 /** transaction connection */
85 private IAction transactionConnectionAction;
87 /** executed sql */
88 private IAction executedSQLAction;
90 /** schedule action */
91 // private IAction monitoringManageAction;
92 // private IAction monitoringRealTimeAction;
94 private IAction jDBCDriverManagerAction;
95 private IAction schemaHistoryAction;
96 private IAction openCompareAction;
97 private IAction resourceManageAction;
99 private IAction preferenceAction;
100 private IAction aboutAction;
101 private IAction bugIssueAction;
102 private IAction userManuelAction;
103 private IAction newVersionCheckAction;
105 public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
106 super(configurer);
109 protected void makeActions(final IWorkbenchWindow window) {
111 saveAction = ActionFactory.SAVE.create(window);
112 register(saveAction);
114 saveAsAction = ActionFactory.SAVE_AS.create(window);
115 register(saveAsAction);
117 connectAction = new ConnectDatabaseAction(window);
118 register(connectAction);
120 queryOpenAction = new OpenQueryEditorAction(window);
121 register(queryOpenAction);
123 openObjectQueryEditorAction = new OpenObjectQueryEditorAction(window);
124 register(openObjectQueryEditorAction);
126 dbRelationOpenAction = new OpenDBRelationAction(window);
127 register(dbRelationOpenAction);
129 deleteResourceAction = new DeleteResourceAction(window);
130 register(deleteResourceAction);
132 adminSendMessageAction = new SendMessageAction(window);
133 register(adminSendMessageAction);
135 adminUserAction = new AdminUserAction(window);
136 register(adminUserAction);
138 dbMgmtAction = new DBManagerAction(window);
139 register(dbMgmtAction);
141 transactionConnectionAction = new TransactionConnectionManagerAction(window);
142 register(transactionConnectionAction);
144 executedSQLAction = new SQLAuditAction(window);
145 register(executedSQLAction);
147 // monitoringManageAction = new MonitoringManageAction(window);
148 // register(monitoringManageAction);
150 // monitoringRealTimeAction = new MonitoringRealTimeAction(window);
151 // register(monitoringRealTimeAction);
153 jDBCDriverManagerAction = new JDBCDriverManagerAction(window);
154 register(jDBCDriverManagerAction);
156 adminSQLAuditAction = new AdminSQLAuditAction(window);
157 register(adminSQLAuditAction);
159 adminSystemSettingAction = new AdminSystemSettingAction(window);
160 register(adminSystemSettingAction);
162 schemaHistoryAction = new SchemaHistoryAction(window);
163 register(schemaHistoryAction);
165 openCompareAction = new OpenCompareAction(window);
166 register(openCompareAction);
168 resourceManageAction = new ResourceManagerAction(window);
169 register(resourceManageAction);
171 restFulAPIAction = new RestfulAPIManagerAction(window);
172 register(restFulAPIAction);
174 exitAction = new ExitAction(window);
175 register(exitAction);
177 preferenceAction = new PreferenceAction(window);
178 register(preferenceAction);
180 aboutAction = new AboutAction(window);
181 register(aboutAction);
183 bugIssueAction = new BugIssueAction(window);
184 register(bugIssueAction);
186 userManuelAction = new UserManuelAction(window);
187 register(userManuelAction);
189 newVersionCheckAction = new NewVersionCheckAction(window);
190 register(newVersionCheckAction);
194 * Comment at 2.1 RC3 has error(https://bugs.eclipse.org/bugs/show_bug.cgi?id=410260)
196 protected void fillMenuBar(IMenuManager menuBar) {
197 MenuManager fileMenu = new MenuManager(Messages.get().ApplicationActionBarAdvisor_0, IWorkbenchActionConstants.M_FILE);
198 MenuManager manageMenu = new MenuManager(Messages.get().ApplicationActionBarAdvisor_1, IWorkbenchActionConstants.M_PROJECT);
199 MenuManager adminMenu = null;
201 boolean isAdmin = PermissionChecker.isAdmin(SessionManager.getRepresentRole());
202 if(isAdmin) {
203 adminMenu = new MenuManager(Messages.get().ApplicationActionBarAdvisor_2, IWorkbenchActionConstants.MENU_PREFIX + Messages.get().ApplicationActionBarAdvisor_3);
205 MenuManager preferenceMenu = new MenuManager(Messages.get().ApplicationActionBarAdvisor_4, IWorkbenchActionConstants.M_PROJECT_CONFIGURE);
206 MenuManager helpMenu = new MenuManager(Messages.get().ApplicationActionBarAdvisor_5, IWorkbenchActionConstants.M_HELP);
208 menuBar.add(fileMenu);
209 menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
210 menuBar.add(manageMenu);
211 menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
212 if(isAdmin) {
213 menuBar.add(adminMenu);
214 menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
216 menuBar.add(preferenceMenu);
217 menuBar.add(helpMenu);
219 // File
220 fileMenu.add(connectAction);
221 fileMenu.add(saveAction);
222 fileMenu.add(saveAsAction);
223 fileMenu.add(new Separator());
224 fileMenu.add(deleteResourceAction);
225 // if(!TadpoleApplicationContextManager.isPersonOperationType()) {
226 fileMenu.add(new Separator());
227 fileMenu.add(exitAction);
228 // }
230 // Manage
231 manageMenu.add(restFulAPIAction);
232 manageMenu.add(transactionConnectionAction);
233 manageMenu.add(resourceManageAction);
234 manageMenu.add(dbMgmtAction);
236 manageMenu.add(executedSQLAction);
237 manageMenu.add(schemaHistoryAction);
238 manageMenu.add(openCompareAction);
240 if(isAdmin) {
241 adminMenu.add(adminSystemSettingAction);
242 adminMenu.add(adminSendMessageAction);
243 adminMenu.add(adminUserAction);
244 adminMenu.add(adminSQLAuditAction);
245 adminMenu.add(new Separator());
246 adminMenu.add(jDBCDriverManagerAction);
249 // preference action
250 preferenceMenu.add(preferenceAction);
252 // Help
253 helpMenu.add(userManuelAction);
254 helpMenu.add(bugIssueAction);
255 helpMenu.add(newVersionCheckAction);
256 helpMenu.add(aboutAction);
259 protected void fillCoolBar(ICoolBarManager coolBar) {
260 IToolBarManager toolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
261 coolBar.add(new ToolBarContributionItem(toolbar, "main")); //$NON-NLS-1$
263 toolbar.add(connectAction);
264 toolbar.add(new Separator());
266 toolbar.add(saveAction);
267 toolbar.add(saveAsAction);
268 toolbar.add(new Separator());
270 toolbar.add(queryOpenAction);
271 toolbar.add(openObjectQueryEditorAction);
272 toolbar.add(dbRelationOpenAction);
273 toolbar.add(new Separator());
275 // toolbar.add(monitoringManageAction);
276 // toolbar.add(monitoringRealTimeAction);
277 // toolbar.add(new Separator());
279 // toolbar.add(deleteResourceAction);
280 // toolbar.add(new Separator());
282 // if(PermissionChecker.isAdmin(SessionManager.getRepresentRole())) {
283 // toolbar.add(sendMessageAction);
284 // toolbar.add(new Separator());
285 // toolbar.add(userLoginHistoryAction);
286 // toolbar.add(new Separator());
287 // }
289 // toolbar.add(restFulAPIAction);
290 // toolbar.add(new Separator());
292 // toolbar.add(transactionConnectionAction);
293 // toolbar.add(new Separator());
295 // toolbar.add(resourceManageAction);
296 // toolbar.add(new Separator());
298 // toolbar.add(userPermissionAction);
299 // toolbar.add(new Separator());
301 // toolbar.add(executedSQLAction);
302 // toolbar.add(new Separator());
304 // toolbar.add(schemaHistoryAction);
305 // toolbar.add(new Separator());
307 // toolbar.add(preferenceAction);
308 // toolbar.add(new Separator());
310 // toolbar.add(bugIssueAction);
311 // toolbar.add(aboutAction);
312 // if(!TadpoleApplicationContextManager.isPersonOperationType()) {
313 toolbar.add(new Separator());
314 toolbar.add(exitAction);
315 // }