12
12
import com .scriptor .Scriptor ;
13
13
import com .scriptor .core .gui .frames .ScriptorInformation ;
14
14
import com .scriptor .core .gui .frames .ScriptorMarkdownViewer ;
15
+ import com .scriptor .core .gui .frames .ScriptorSQLiteViewer ;
15
16
import com .scriptor .core .utils .JClosableComponentType ;
16
17
17
18
public class ScriptorMenubar extends JMenuBar {
@@ -21,7 +22,7 @@ public ScriptorMenubar(Scriptor scriptor) {
21
22
*/
22
23
JMenu fileMenu = new JMenu ("File" );
23
24
24
- JMenuItem menuItemNewFile = createMenuItem ("New File" , scriptor .getIcon ("new_file.png" ), TOOL_TIP_TEXT_KEY ,
25
+ JMenuItem menuItemNewFile = createMenuItem ("New File" , scriptor .getIcon ("new_file.png" ), null ,
25
26
KeyStroke .getKeyStroke (KeyEvent .VK_N , KeyEvent .CTRL_DOWN_MASK ));
26
27
menuItemNewFile .addActionListener (new ActionListener () {
27
28
@ Override
@@ -30,7 +31,7 @@ public void actionPerformed(ActionEvent e) {
30
31
}
31
32
});
32
33
33
- JMenuItem menuItemOpenFile = createMenuItem ("Open File" , scriptor .getIcon ("file_open.png" ), TOOL_TIP_TEXT_KEY ,
34
+ JMenuItem menuItemOpenFile = createMenuItem ("Open File" , scriptor .getIcon ("file_open.png" ), null ,
34
35
KeyStroke .getKeyStroke (KeyEvent .VK_O , KeyEvent .CTRL_DOWN_MASK ));
35
36
menuItemOpenFile .addActionListener (new ActionListener () {
36
37
@ Override
@@ -40,15 +41,15 @@ public void actionPerformed(ActionEvent e) {
40
41
});
41
42
42
43
JMenuItem menuItemOpenFolder = createMenuItem ("Open Folder" , scriptor .getIcon ("folder_open.png" ),
43
- TOOL_TIP_TEXT_KEY , null );
44
+ null , null );
44
45
menuItemOpenFolder .addActionListener (new ActionListener () {
45
46
@ Override
46
47
public void actionPerformed (ActionEvent e ) {
47
48
scriptor .textAreaTabManager .openFolder ();
48
49
}
49
50
});
50
51
51
- JMenuItem menuItemSave = createMenuItem ("Save" , scriptor .getIcon ("save.gif" ), TOOL_TIP_TEXT_KEY ,
52
+ JMenuItem menuItemSave = createMenuItem ("Save" , scriptor .getIcon ("save.gif" ), null ,
52
53
KeyStroke .getKeyStroke (KeyEvent .VK_S , KeyEvent .CTRL_DOWN_MASK ));
53
54
menuItemSave .addActionListener (new ActionListener () {
54
55
@ Override
@@ -57,7 +58,7 @@ public void actionPerformed(ActionEvent e) {
57
58
}
58
59
});
59
60
60
- JMenuItem menuItemSaveAs = createMenuItem ("Save As" , scriptor .getIcon ("saveas.gif" ), TOOL_TIP_TEXT_KEY ,
61
+ JMenuItem menuItemSaveAs = createMenuItem ("Save As" , scriptor .getIcon ("saveas.gif" ), null ,
61
62
KeyStroke .getKeyStroke (KeyEvent .VK_S , KeyEvent .CTRL_DOWN_MASK + KeyEvent .SHIFT_DOWN_MASK ));
62
63
menuItemSaveAs .addActionListener (new ActionListener () {
63
64
@ Override
@@ -66,7 +67,7 @@ public void actionPerformed(ActionEvent e) {
66
67
}
67
68
});
68
69
69
- JMenuItem menuItemSaveAll = createMenuItem ("Save All" , scriptor .getIcon ("saveall.gif" ), TOOL_TIP_TEXT_KEY ,
70
+ JMenuItem menuItemSaveAll = createMenuItem ("Save All" , scriptor .getIcon ("saveall.gif" ), null ,
70
71
null );
71
72
menuItemSaveAll .addActionListener (new ActionListener () {
72
73
@ Override
@@ -75,28 +76,18 @@ public void actionPerformed(ActionEvent e) {
75
76
}
76
77
});
77
78
78
- JMenuItem menuItemCloseTab = createMenuItem ("Close Tab " , scriptor .getIcon ("close_tab.png " ), TOOL_TIP_TEXT_KEY ,
79
+ JMenuItem menuItemCloseApp = createMenuItem ("Exit " , scriptor .getIcon ("delete.gif " ), null ,
79
80
null );
80
- menuItemCloseTab .addActionListener (new ActionListener () {
81
+ menuItemCloseApp .addActionListener (new ActionListener () {
81
82
@ Override
82
83
public void actionPerformed (ActionEvent e ) {
83
- int index = scriptor .textAreaTabManager .getCurrentIndex ();
84
-
85
- if (index != 1 ) {
86
- scriptor .textAreaTabManager .closeTabByIndex (index );
84
+ if (scriptor .isDisplayable ()) {
85
+ scriptor .dispose ();
86
+ System .exit (0 );
87
87
}
88
88
}
89
89
});
90
90
91
- JMenuItem menuItemCloseAllTabs = createMenuItem ("Close All Tabs" , scriptor .getIcon ("close_all_tabs.png" ),
92
- TOOL_TIP_TEXT_KEY , null );
93
- menuItemCloseAllTabs .addActionListener (new ActionListener () {
94
- @ Override
95
- public void actionPerformed (ActionEvent e ) {
96
- scriptor .textAreaTabManager .closeAllTabs ();
97
- }
98
- });
99
-
100
91
fileMenu .add (menuItemNewFile );
101
92
fileMenu .addSeparator ();
102
93
fileMenu .add (menuItemOpenFile );
@@ -106,16 +97,15 @@ public void actionPerformed(ActionEvent e) {
106
97
fileMenu .add (menuItemSaveAs );
107
98
fileMenu .add (menuItemSaveAll );
108
99
fileMenu .addSeparator ();
109
- fileMenu .add (menuItemCloseTab );
110
- fileMenu .add (menuItemCloseAllTabs );
100
+ fileMenu .add (menuItemCloseApp );
111
101
112
102
/*
113
103
* Edit menu
114
104
*/
115
105
116
106
JMenu editMenu = new JMenu ("Edit" );
117
107
118
- JMenuItem menuItemUndo = createMenuItem ("Undo" , scriptor .getIcon ("undo.gif" ), TOOL_TIP_TEXT_KEY ,
108
+ JMenuItem menuItemUndo = createMenuItem ("Undo" , scriptor .getIcon ("undo.gif" ), null ,
119
109
KeyStroke .getKeyStroke (KeyEvent .VK_Z , KeyEvent .CTRL_DOWN_MASK ));
120
110
menuItemUndo .addActionListener (new ActionListener () {
121
111
@ Override
@@ -128,7 +118,7 @@ public void actionPerformed(ActionEvent e) {
128
118
}
129
119
});
130
120
131
- JMenuItem menuItemRedo = createMenuItem ("Redo" , scriptor .getIcon ("redo.gif" ), TOOL_TIP_TEXT_KEY ,
121
+ JMenuItem menuItemRedo = createMenuItem ("Redo" , scriptor .getIcon ("redo.gif" ), null ,
132
122
KeyStroke .getKeyStroke (KeyEvent .VK_Y , KeyEvent .CTRL_DOWN_MASK ));
133
123
menuItemRedo .addActionListener (new ActionListener () {
134
124
@ Override
@@ -141,7 +131,7 @@ public void actionPerformed(ActionEvent e) {
141
131
}
142
132
});
143
133
144
- JMenuItem menuItemCut = createMenuItem ("Cut" , scriptor .getIcon ("cut.gif" ), TOOL_TIP_TEXT_KEY ,
134
+ JMenuItem menuItemCut = createMenuItem ("Cut" , scriptor .getIcon ("cut.gif" ), null ,
145
135
KeyStroke .getKeyStroke (KeyEvent .VK_X , KeyEvent .CTRL_DOWN_MASK ));
146
136
menuItemCut .addActionListener (new ActionListener () {
147
137
@ Override
@@ -152,7 +142,7 @@ public void actionPerformed(ActionEvent e) {
152
142
}
153
143
});
154
144
155
- JMenuItem menuItemCopy = createMenuItem ("Copy" , scriptor .getIcon ("copy.gif" ), TOOL_TIP_TEXT_KEY ,
145
+ JMenuItem menuItemCopy = createMenuItem ("Copy" , scriptor .getIcon ("copy.gif" ), null ,
156
146
KeyStroke .getKeyStroke (KeyEvent .VK_C , KeyEvent .CTRL_DOWN_MASK ));
157
147
menuItemCopy .addActionListener (new ActionListener () {
158
148
@ Override
@@ -163,7 +153,7 @@ public void actionPerformed(ActionEvent e) {
163
153
}
164
154
});
165
155
166
- JMenuItem menuItemPaste = createMenuItem ("Paste" , scriptor .getIcon ("paste.gif" ), TOOL_TIP_TEXT_KEY ,
156
+ JMenuItem menuItemPaste = createMenuItem ("Paste" , scriptor .getIcon ("paste.gif" ), null ,
167
157
KeyStroke .getKeyStroke (KeyEvent .VK_V , KeyEvent .CTRL_DOWN_MASK ));
168
158
menuItemPaste .addActionListener (new ActionListener () {
169
159
@ Override
@@ -174,7 +164,7 @@ public void actionPerformed(ActionEvent e) {
174
164
}
175
165
});
176
166
177
- JMenuItem menuItemDelete = createMenuItem ("Delete" , scriptor .getIcon ("trash.gif" ), TOOL_TIP_TEXT_KEY ,
167
+ JMenuItem menuItemDelete = createMenuItem ("Delete" , scriptor .getIcon ("trash.gif" ), null ,
178
168
KeyStroke .getKeyStroke (KeyEvent .VK_DELETE , 0 ));
179
169
menuItemDelete .addActionListener (new ActionListener () {
180
170
@ Override
@@ -185,7 +175,7 @@ public void actionPerformed(ActionEvent e) {
185
175
}
186
176
});
187
177
188
- JMenuItem menuItemSelectAll = createMenuItem ("Select All" , null , TOOL_TIP_TEXT_KEY ,
178
+ JMenuItem menuItemSelectAll = createMenuItem ("Select All" , null , null ,
189
179
KeyStroke .getKeyStroke (KeyEvent .VK_A , KeyEvent .CTRL_DOWN_MASK ));
190
180
menuItemSelectAll .addActionListener (new ActionListener () {
191
181
@ Override
@@ -212,7 +202,7 @@ public void actionPerformed(ActionEvent e) {
212
202
JMenu viewMenu = new JMenu ("View" );
213
203
214
204
JMenuItem menuItemOpenExplorer = createMenuItem ("Open Explorer" , scriptor .getIcon ("tree_explorer.gif" ),
215
- TOOL_TIP_TEXT_KEY ,
205
+ null ,
216
206
KeyStroke .getKeyStroke (KeyEvent .VK_E , KeyEvent .CTRL_DOWN_MASK + KeyEvent .SHIFT_DOWN_MASK ));
217
207
menuItemOpenExplorer .addActionListener (new ActionListener () {
218
208
@ Override
@@ -222,7 +212,7 @@ public void actionPerformed(ActionEvent e) {
222
212
});
223
213
224
214
JMenuItem menuItemOpenTerminal = createMenuItem ("Open Terminal" , scriptor .getIcon ("console.gif" ),
225
- TOOL_TIP_TEXT_KEY ,
215
+ null ,
226
216
KeyStroke .getKeyStroke (KeyEvent .VK_T , KeyEvent .CTRL_DOWN_MASK + KeyEvent .SHIFT_DOWN_MASK ));
227
217
menuItemOpenTerminal .addActionListener (new ActionListener () {
228
218
@ Override
@@ -231,8 +221,17 @@ public void actionPerformed(ActionEvent e) {
231
221
}
232
222
});
233
223
224
+ viewMenu .add (menuItemOpenExplorer );
225
+ viewMenu .add (menuItemOpenTerminal );
226
+
227
+ /*
228
+ * Tools menu
229
+ */
230
+
231
+ JMenu toolsMenu = new JMenu ("Tools" );
232
+
234
233
JMenuItem menuItemMarkdownViewer = createMenuItem ("Markdown Viewer" , scriptor .getIcon ("markdown_viewer.png" ),
235
- TOOL_TIP_TEXT_KEY , null );
234
+ null , null );
236
235
menuItemMarkdownViewer .addActionListener (new ActionListener () {
237
236
@ Override
238
237
public void actionPerformed (ActionEvent e ) {
@@ -249,14 +248,38 @@ public void actionPerformed(ActionEvent e) {
249
248
"Markdown Viewer" ,
250
249
WARNING_MESSAGE );
251
250
}
251
+ } else {
252
+ showMessageDialog (scriptor , "The current file is not a markdown or a plain text file." ,
253
+ "Markdown Viewer" ,
254
+ WARNING_MESSAGE );
252
255
}
253
256
}
254
257
});
255
258
256
- viewMenu .add (menuItemOpenExplorer );
257
- viewMenu .add (menuItemOpenTerminal );
258
- viewMenu .addSeparator ();
259
- viewMenu .add (menuItemMarkdownViewer );
259
+ JMenuItem menuItemSQLiteViewer = createMenuItem ("SQLite Viewer" , scriptor .getIcon ("sqlite_viewer.png" ),
260
+ null , null );
261
+ menuItemSQLiteViewer .addActionListener (new ActionListener () {
262
+ @ Override
263
+ public void actionPerformed (ActionEvent e ) {
264
+ String path = scriptor .textAreaTabManager .getCurrentPath ();
265
+
266
+ if (path != null ) {
267
+ String extension = FilenameUtils .getExtension (path );
268
+
269
+ if (extension .equalsIgnoreCase ("sql" ) || extension .equalsIgnoreCase ("sqlite" )
270
+ || extension .equalsIgnoreCase ("db" )) {
271
+ new ScriptorSQLiteViewer (scriptor , path );
272
+ } else {
273
+ new ScriptorSQLiteViewer (scriptor , null );
274
+ }
275
+ } else {
276
+ new ScriptorSQLiteViewer (scriptor , null );
277
+ }
278
+ }
279
+ });
280
+
281
+ toolsMenu .add (menuItemMarkdownViewer );
282
+ toolsMenu .add (menuItemSQLiteViewer );
260
283
261
284
/*
262
285
* Help menu
@@ -265,17 +288,17 @@ public void actionPerformed(ActionEvent e) {
265
288
JMenu helpMenu = new JMenu ("Help" );
266
289
267
290
JMenuItem menuItemHelp = createMenuItem ("Help?" , scriptor .getIcon ("help.gif" ),
268
- TOOL_TIP_TEXT_KEY ,
291
+ null ,
269
292
null );
270
293
menuItemHelp .addActionListener (new ActionListener () {
271
294
@ Override
272
295
public void actionPerformed (ActionEvent e ) {
273
-
296
+
274
297
}
275
298
});
276
299
277
300
JMenuItem menuItemAbout = createMenuItem ("About" , scriptor .getIcon ("information.png" ),
278
- TOOL_TIP_TEXT_KEY ,
301
+ null ,
279
302
null );
280
303
menuItemAbout .addActionListener (new ActionListener () {
281
304
@ Override
@@ -295,6 +318,7 @@ public void actionPerformed(ActionEvent e) {
295
318
add (fileMenu );
296
319
add (editMenu );
297
320
add (viewMenu );
321
+ add (toolsMenu );
298
322
add (helpMenu );
299
323
}
300
324
0 commit comments