Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/lanceolav/jreftree/TheMenuBar.java


1   /**
2    * JRefTree is a GUI interface to organize and output bibliographic references.
3    * Copyright (C) 2003 Lance O. Eastgate.
4    *
5    * This file is part of JRefTree, and was created on Mar 17, 2003.
6    *
7    * JRefTree is free software; you can redistribute it and/or
8    * modify it under the terms of the GNU General Public License
9    * as published by the Free Software Foundation; either version 2
10   * of the License, or (at your option) any later version.
11   *
12   * This program is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   * GNU General Public License for more details.
16   *
17   * You should have received a copy of the GNU General Public License
18   * along with this program; if not, write to the Free Software
19   * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20   *
21   * The author can be reached at jreftree@lanceolav.com.
22   */
23  
24  package com.lanceolav.jreftree;
25  
26  import javax.swing.*;
27  import java.awt.event.ActionEvent;
28  import java.awt.event.ActionListener;
29  import java.awt.event.KeyEvent;
30  
31  public class TheMenuBar extends JMenuBar {
32  
33      private JMenuItem newProjectMenuItem, openProjectMenuItem,
34      saveProjectMenuItem, saveProjectAsMenuItem;
35  
36      private JMenuItem importBibtexMenuItem, importISIMenuItem, importXMLMenuItem;
37  
38      private JMenuItem exportWholelistBibtexMenuItem, exportWholelistXMLMenuItem,
39      exportSelectedMenuItem, exportBranchMenuItem;
40  
41      private JMenuItem newFolderMenuItem, removeFolderMenuItem,
42      updateFolderMenuItem, renameFolderMenuItem;
43  
44      private JMenuItem newRefMenuItem, editRefMenuItem, removeSelectedRefsMenuItem,
45      invertSelectionMenuItem, viewFullPaperMenuItem, downloadMenuItem;
46  
47      private JMenuItem configProxyMenuItem;
48  
49      private JMenuItem helpMenuItem, todoMenuItem, aboutMenuItem,
50      copyrightMenuItem, warrantyMenuItem;
51  
52      public TheMenuBar(){
53          add(createFileMenu());
54          add(createFolderMenu());
55          add(createRefMenu());
56          add(createWebMenu());
57          // Put the help menu all the way to the right
58          add(Box.createHorizontalGlue());
59          add(createHelpMenu());
60      }
61  
62      public void addActionListener(ActionListener listener) {
63          newProjectMenuItem.addActionListener(listener);
64          openProjectMenuItem.addActionListener(listener);
65          saveProjectMenuItem.addActionListener(listener);
66          saveProjectAsMenuItem.addActionListener(listener);
67  
68          importBibtexMenuItem.addActionListener(listener);
69          importISIMenuItem.addActionListener(listener);
70          importXMLMenuItem.addActionListener(listener);
71  
72          exportWholelistBibtexMenuItem.addActionListener(listener);
73          exportWholelistXMLMenuItem.addActionListener(listener);
74          exportSelectedMenuItem.addActionListener(listener);
75          exportBranchMenuItem.addActionListener(listener);
76  
77          newFolderMenuItem.addActionListener(listener);
78          removeFolderMenuItem.addActionListener(listener);
79          updateFolderMenuItem.addActionListener(listener);
80          renameFolderMenuItem.addActionListener(listener);
81  
82          newRefMenuItem.addActionListener(listener);
83          editRefMenuItem.addActionListener(listener);
84          removeSelectedRefsMenuItem.addActionListener(listener);
85          invertSelectionMenuItem.addActionListener(listener);
86  
87          configProxyMenuItem.addActionListener(listener);
88  
89          helpMenuItem.addActionListener(listener);
90          todoMenuItem.addActionListener(listener);
91          aboutMenuItem.addActionListener(listener);
92          copyrightMenuItem.addActionListener(listener);
93          warrantyMenuItem.addActionListener(listener);
94      }
95  
96      public void addViewFullPaperActionListener(ActionListener a) {
97          viewFullPaperMenuItem.addActionListener(a);
98      }
99  
100     public void addDownloadActionListener(ActionListener a) {
101         downloadMenuItem.addActionListener(a);
102     }
103 
104 
105     private JMenu createFileMenu() {
106         JMenu menu = new JMenu("File");
107         menu.setMnemonic(KeyEvent.VK_F);
108 
109         newProjectMenuItem = new JMenuItem("New Project");
110         newProjectMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.CTRL_MASK));
111         newProjectMenuItem.setActionCommand("file|new_project");
112         menu.add(newProjectMenuItem);
113 
114         openProjectMenuItem = new JMenuItem("Open Project ...");
115         openProjectMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK));
116         openProjectMenuItem.setActionCommand("file|open_project");
117         menu.add(openProjectMenuItem);
118 
119         saveProjectMenuItem = new JMenuItem("Save Project");
120         saveProjectMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK));
121         saveProjectMenuItem.setActionCommand("file|save_project");
122         menu.add(saveProjectMenuItem);
123 
124         saveProjectAsMenuItem = new JMenuItem("Save Project As ...");
125         saveProjectAsMenuItem.setActionCommand("file|save_project_as");
126         menu.add(saveProjectAsMenuItem);
127 
128         menu.addSeparator();
129 
130         menu.add(createImportSubmenu());
131         menu.add(createExportSubmenu());
132 
133         menu.addSeparator();
134 
135         JMenuItem menuItem = new JMenuItem("Exit");
136         menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, ActionEvent.CTRL_MASK));
137         menuItem.addActionListener( new ActionListener() {
138             public void actionPerformed(ActionEvent e){ System.exit(0); }
139         });
140         menu.add(menuItem);
141 
142         return menu;
143     }
144 
145     private JMenu createImportSubmenu() {
146         // Todo: BibTeX, XML (in that order)
147         JMenu importrefs = new JMenu("Import References to list");
148 
149         importBibtexMenuItem = new JMenuItem("BibTeX");
150         importBibtexMenuItem.setActionCommand("file|import|bibtex");
151         importBibtexMenuItem.setEnabled(false);
152         importrefs.add(importBibtexMenuItem);
153 
154         importISIMenuItem = new JMenuItem("ISI");
155         importISIMenuItem.setActionCommand("file|import|isi");
156         importrefs.add(importISIMenuItem);
157 
158         importXMLMenuItem = new JMenuItem("XML");
159         importXMLMenuItem.setActionCommand("file|import|xml");
160         importrefs.add(importXMLMenuItem);
161 
162         return importrefs;
163     }
164 
165     private JMenu createExportSubmenu() {
166         JMenu exportrefs = new JMenu("Export References");
167 
168         JMenu subMenu = new JMenu("Whole List");
169         exportWholelistBibtexMenuItem = new JMenuItem("BibTeX");
170         exportWholelistBibtexMenuItem.setActionCommand("file|export|all|bibtex");
171         subMenu.add(exportWholelistBibtexMenuItem);
172         exportWholelistXMLMenuItem = new JMenuItem("XML");
173         exportWholelistXMLMenuItem.setActionCommand("file|export|all|xml");
174         subMenu.add(exportWholelistXMLMenuItem);
175         exportrefs.add(subMenu);
176 
177         // TODO: Implement
178         // priority: BibTeX
179         exportSelectedMenuItem = new JMenuItem("Selected in List ...");
180         exportSelectedMenuItem.setActionCommand("file|export|selected");
181         exportSelectedMenuItem.setEnabled(false);
182         exportrefs.add(exportSelectedMenuItem);
183 
184         // TODO: Implement
185         // priority: BibTeX, XHTML
186         exportBranchMenuItem = new JMenuItem("Branch of tree ...");
187         exportBranchMenuItem.setActionCommand("file|export|branch");
188         exportBranchMenuItem.setEnabled(false);
189         exportrefs.add(exportBranchMenuItem);
190 
191         return exportrefs;
192     }
193 
194     private JMenu createFolderMenu() {
195         JMenu menu = new JMenu("Folder");
196         menu.setMnemonic(KeyEvent.VK_O);
197 
198         newFolderMenuItem = new JMenuItem("New");
199         newFolderMenuItem.setActionCommand("folder|new");
200         menu.add(newFolderMenuItem);
201 
202         removeFolderMenuItem = new JMenuItem("Remove");
203         removeFolderMenuItem.setActionCommand("folder|remove");
204         removeFolderMenuItem.setEnabled(false);
205         menu.add(removeFolderMenuItem);
206 
207         updateFolderMenuItem = new JMenuItem("Update");
208         updateFolderMenuItem.setActionCommand("folder|update");
209         menu.add(updateFolderMenuItem);
210 
211         renameFolderMenuItem = new JMenuItem("Rename");
212         renameFolderMenuItem.setActionCommand("folder|rename");
213         menu.add(renameFolderMenuItem);
214 
215         return menu;
216     }
217 
218     private JMenu createRefMenu() {
219         JMenu menu = new JMenu("References");
220         menu.setMnemonic(KeyEvent.VK_R);
221 
222         newRefMenuItem = new JMenuItem("New");
223         newRefMenuItem.setActionCommand("references|new");
224         menu.add(newRefMenuItem);
225 
226         editRefMenuItem = new JMenuItem("Edit");
227         editRefMenuItem.setActionCommand("references|edit");
228         editRefMenuItem.setEnabled(false);
229         menu.add(editRefMenuItem);
230 
231         removeSelectedRefsMenuItem = new JMenuItem("Remove Selected");
232         removeSelectedRefsMenuItem.setActionCommand("references|remove_selected");
233         menu.add(removeSelectedRefsMenuItem);
234 
235         menu.addSeparator();
236 
237         invertSelectionMenuItem = new JMenuItem("Invert Selection");
238         invertSelectionMenuItem.setActionCommand("references|invert_selection");
239         menu.add(invertSelectionMenuItem);
240 
241         viewFullPaperMenuItem = new JMenuItem("View Full Paper");
242         viewFullPaperMenuItem.setActionCommand("view_full_paper");
243         viewFullPaperMenuItem.setEnabled(false);
244         menu.add(viewFullPaperMenuItem);
245 
246         downloadMenuItem = new JMenuItem("Download Paper");
247         downloadMenuItem.setActionCommand("download_paper");
248         downloadMenuItem.setEnabled(false);
249         menu.add(downloadMenuItem);
250 
251         return menu;
252     }
253 
254     private JMenu createWebMenu() {
255         JMenu menu = new JMenu("Internet");
256         menu.setMnemonic(KeyEvent.VK_I);
257 
258         configProxyMenuItem = new JMenuItem("Config Proxy");
259         configProxyMenuItem.setActionCommand("web|config_proxy");
260         menu.add(configProxyMenuItem);
261 
262         return menu;
263     }
264 
265     private JMenu createHelpMenu() {
266         JMenu menu = new JMenu("Help");
267         menu.setMnemonic(KeyEvent.VK_H);
268 
269         helpMenuItem = new JMenuItem("Help");
270         helpMenuItem.setActionCommand("help|help");
271         menu.add(helpMenuItem);
272 
273         todoMenuItem = new JMenuItem("TODO");
274         todoMenuItem.setActionCommand("help|todo");
275         menu.add(todoMenuItem);
276 
277         aboutMenuItem = new JMenuItem("About");
278         aboutMenuItem.setActionCommand("help|about");
279         menu.add(aboutMenuItem);
280 
281         menu.addSeparator();
282 
283         copyrightMenuItem = new JMenuItem("Copyright");
284         copyrightMenuItem.setActionCommand("help|copyright");
285         menu.add(copyrightMenuItem);
286 
287         warrantyMenuItem = new JMenuItem("Warranty");
288         warrantyMenuItem.setActionCommand("help|warranty");
289         menu.add(warrantyMenuItem);
290 
291         return menu;
292     }
293 
294     public void enableNewFolderMenuItem(boolean b) {
295         newFolderMenuItem.setEnabled(b);
296     }
297 
298     public void enableRemoveFolderMenuItem(boolean b) {
299         removeFolderMenuItem.setEnabled(b);
300     }
301 
302     public void enableUpdateFolderMenuItem(boolean b) {
303         updateFolderMenuItem.setEnabled(b);
304     }
305 
306     public void enableRenameFolderMenuItem(boolean b) {
307         renameFolderMenuItem.setEnabled(b);
308     }
309 
310     public void enableEditReferenceMenuItem(boolean b) {
311         editRefMenuItem.setEnabled(b);
312     }
313 
314     public void enableViewFullPaperMenuItem(boolean b) {
315         viewFullPaperMenuItem.setEnabled(b);
316     }
317 
318     public void enableDownloadMenuItem(boolean b) {
319         downloadMenuItem.setEnabled(b);
320     }
321 
322 }