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
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
;
57 * Define at action, toolbar, menu
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
;
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
;
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
) {
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());
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
));
213 menuBar
.add(adminMenu
);
214 menuBar
.add(new GroupMarker(IWorkbenchActionConstants
.MB_ADDITIONS
));
216 menuBar
.add(preferenceMenu
);
217 menuBar
.add(helpMenu
);
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
);
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
);
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
);
250 preferenceMenu
.add(preferenceAction
);
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());
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
);