1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package cz.zcu.mre.sparkle.gui.mainForm.mainMenu;
21
22 import cz.zcu.mre.sparkle.SparklePreferences;
23 import cz.zcu.mre.sparkle.gui.dialogs.SettingDialog;
24 import cz.zcu.mre.sparkle.gui.mainForm.MainForm;
25 import cz.zcu.mre.sparkle.gui.mainForm.mainMenu.menuItems.MenuItemsView;
26 import cz.zcu.mre.sparkle.gui.mainForm.mainTabPane.MainTabPane;
27 import cz.zcu.mre.sparkle.gui.tools.Components;
28 import javafx.event.ActionEvent;
29 import javafx.fxml.FXML;
30 import javafx.scene.control.CheckMenuItem;
31 import javafx.scene.control.MenuBar;
32 import javafx.scene.control.MenuItem;
33 import java.util.List;
34
35
36
37
38
39
40
41
42 public class MainMenuBar
43 extends MenuBar {
44
45 private static final String CHANGE_LOG_URL = "https://mre.zcu.cz/sparkle/changelog.html";
46 private static final String SHORTCUTS_URL = "https://mre.zcu.cz/sparkle/shortcuts.html";
47 private static final String EXAMPLES_URL = "https://mre.zcu.cz/sparkle/examples.html";
48 private static final String DOCUMENTATION_URL = "https://mre.zcu.cz/sparkle";
49
50 @FXML
51 private List<MenuItem> menuItemsApplication;
52 @FXML
53 private List<MenuItem> menuItemsQuery;
54 @FXML
55 private List<MenuItem> menuItemsStorage;
56 @FXML
57 private List<MenuItem> menuItemsView;
58
59 private MainForm mainForm;
60
61 public MainMenuBar() {
62 Components.load(this);
63 }
64
65 public void initialize(MainForm mainForm) {
66 this.mainForm = mainForm;
67 MainMenuAction.setupBinding(mainForm);
68 MenuItem showTitlesMenuItem = getMenuItemsView().get(MenuItemsView.getShowTitlesOrdinal());
69 ((CheckMenuItem) showTitlesMenuItem).setSelected(SettingDialog.isShowingTitlesOn());
70 }
71
72 @FXML
73 @SuppressWarnings("unused")
74 private void settingOnAction() {
75 MainMenuAction.showSettingDialog(mainForm);
76 }
77
78 @FXML
79 @SuppressWarnings("unused")
80 private void saveOnAction() {
81 MainMenuAction.save(mainForm.getMainTabPane());
82 }
83
84 @FXML
85 @SuppressWarnings("unused")
86 private void saveAsOnAction() {
87 MainMenuAction.saveAs(mainForm.getMainTabPane());
88 }
89
90 @FXML
91 @SuppressWarnings("unused")
92 public void saveAllOnAction() {
93 MainMenuAction.saveAll(mainForm.getMainTabPane());
94 }
95
96 @FXML
97 @SuppressWarnings("unused")
98 private void exportOnAction() {
99 MainMenuAction.export(mainForm.getMainTabPane());
100 }
101
102 @FXML
103 @SuppressWarnings("unused")
104 private void openOnAction() {
105 MainMenuAction.open(mainForm);
106 }
107
108 @FXML
109 @SuppressWarnings("unused")
110 private void evaluateOnAction() {
111 MainMenuAction.evaluate(mainForm.getMainTabPane(), mainForm.getDataAgent());
112 }
113
114 @FXML
115 @SuppressWarnings("unused")
116 private void stopEvaluationOnAction() {
117 MainMenuAction.stopEvaluation(mainForm.getMainTabPane());
118 }
119
120 @FXML
121 @SuppressWarnings("unused")
122 public void createNewSelectQueryOnAction() {
123 ((MainTabPane) mainForm.getMainTabPane()).createQueryTab(MainTabPane.QueryType.SELECT, mainForm);
124 }
125
126 @FXML
127 @SuppressWarnings("unused")
128 public void createNewAskQueryOnAction() {
129 ((MainTabPane) mainForm.getMainTabPane()).createQueryTab(MainTabPane.QueryType.ASK, mainForm);
130 }
131
132 @FXML
133 @SuppressWarnings("unused")
134 public void createNewConstructQueryOnAction() {
135 ((MainTabPane) mainForm.getMainTabPane()).createQueryTab(MainTabPane.QueryType.CONSTRUCT, mainForm);
136 }
137
138 @FXML
139 @SuppressWarnings("unused")
140 public void createNewDescribeQueryOnAction() {
141 ((MainTabPane) mainForm.getMainTabPane()).createQueryTab(MainTabPane.QueryType.DESCRIBE, mainForm);
142 }
143
144 @FXML
145 @SuppressWarnings("unused")
146 public void createNewDeleteInsertQueryOnAction() {
147 ((MainTabPane) mainForm.getMainTabPane()).createQueryTab(MainTabPane.QueryType.DELETE_INSERT, mainForm);
148 }
149
150 @FXML
151 @SuppressWarnings("unused")
152 public void createNewInsertQueryOnAction() {
153 ((MainTabPane) mainForm.getMainTabPane()).createQueryTab(MainTabPane.QueryType.INSERT, mainForm);
154 }
155
156 @FXML
157 @SuppressWarnings("unused")
158 public void createNewDeleteQueryOnAction() {
159 ((MainTabPane) mainForm.getMainTabPane()).createQueryTab(MainTabPane.QueryType.DELETE, mainForm);
160 }
161
162 @FXML
163 @SuppressWarnings("unused")
164 private void onApplicationCloseMenuItemClick(final ActionEvent event) {
165 mainForm.close();
166 }
167
168 @FXML
169 @SuppressWarnings("unused")
170 private void importFileOnAction(final ActionEvent event) {
171 MainMenuAction.onImportFileMenuItemClick(mainForm);
172 }
173
174 @FXML
175 @SuppressWarnings("unused")
176 private void switchStorageOnAction(final ActionEvent event) {
177 MainMenuAction.switchStorage(mainForm);
178 }
179
180 @FXML
181 @SuppressWarnings("unused")
182 private void clearStorageOnAction() {
183 MainMenuAction.clearStorage(mainForm);
184 }
185
186 @FXML
187 @SuppressWarnings("unused")
188 private void manageLocalPrefixesOnAction() {
189 MainMenuAction.manageLocalPrefixesOnAction(mainForm);
190 }
191
192 @FXML
193 @SuppressWarnings("unused")
194 private void manageQueryPrefixesOnAction() {
195 MainMenuAction.manageQueryPrefixesOnAction(mainForm);
196 }
197
198 @FXML
199 @SuppressWarnings("unused")
200 private void manageLocalResourcesOnAction() {
201 MainMenuAction.manageLocalResourcesOnAction(mainForm);
202 }
203
204 @FXML
205 @SuppressWarnings("unused")
206 private void manageQueryResourcesOnAction() {
207 MainMenuAction.manageQueryResourcesOnAction(mainForm);
208 }
209
210 @FXML
211 @SuppressWarnings("unused")
212 private void manageLocalFunctionsOnAction() {
213 MainMenuAction.manageLocalFunctionsOnAction(mainForm);
214 }
215
216 @FXML
217 @SuppressWarnings("unused")
218 private void manageQueryFunctionsOnAction() {
219 MainMenuAction.manageQueryFunctionsOnAction(mainForm);
220 }
221
222 @FXML
223 @SuppressWarnings("unused")
224 private void manageLocalDataTypesOnAction() {
225 MainMenuAction.manageLocalDataTypesOnAction(mainForm);
226 }
227
228 @FXML
229 @SuppressWarnings("unused")
230 private void manageQueryDataTypesOnAction() {
231 MainMenuAction.manageQueryDataTypesOnAction(mainForm);
232 }
233
234 @FXML
235 @SuppressWarnings("unused")
236 private void manageSparqlEndpointsOnAction() {
237 MainMenuAction.manageSparqlEndpointsOnAction(mainForm);
238 }
239
240 @FXML
241 @SuppressWarnings("unused")
242 private void changelogOnAction() {
243 MainMenuAction.openUrlInBrowser(CHANGE_LOG_URL, mainForm.getStage());
244 }
245
246 @FXML
247 @SuppressWarnings("unused")
248 private void shortcutsOnAction() {
249 MainMenuAction.openUrlInBrowser(SHORTCUTS_URL, mainForm.getStage());
250 }
251
252 @FXML
253 private void examplesOnAction() {
254 MainMenuAction.openUrlInBrowser(EXAMPLES_URL, mainForm.getStage());
255 }
256
257 @FXML
258 @SuppressWarnings("unused")
259 private void documentationOnAction() {
260 MainMenuAction.openUrlInBrowser(DOCUMENTATION_URL, mainForm.getStage());
261
262 }
263
264 @FXML
265 @SuppressWarnings("unused")
266 private void creditsOnAction() {
267 MainMenuAction.showCreditsDialog(mainForm.getStage());
268 }
269
270 @FXML
271 @SuppressWarnings("unused")
272 private void aboutOnAction() {
273 MainMenuAction.showAboutDialog(mainForm.getStage());
274 }
275
276 @FXML
277 @SuppressWarnings("unused")
278 private void showTitlesOnAction() {
279 MenuItem menuItem = getMenuItemsView().get(MenuItemsView.getShowTitlesOrdinal());
280
281 SparklePreferences.getUserInstance()
282 .putBoolean(SparklePreferences.TITLES_ONOF, ((CheckMenuItem) menuItem).isSelected());
283 }
284
285 public List<MenuItem> getMenuItemsApplication() {
286 return menuItemsApplication;
287 }
288
289 public List<MenuItem> getMenuItemsQuery() {
290 return menuItemsQuery;
291 }
292
293 public List<MenuItem> getMenuItemsStorage() {
294 return menuItemsStorage;
295 }
296
297 private List<MenuItem> getMenuItemsView() {
298 return menuItemsView;
299 }
300 }