View Javadoc

1   /*
2    * Class.java
3    *
4    * Created on 4. mai 2005, 20:59
5    */
6   
7   package com.vikash.firsttool.UI;
8   import com.vikash.firsttool.Diagram.*;
9   import java.awt.event.*;
10  import java.io.FileNotFoundException;
11  import java.net.URL;
12  
13  import javax.swing.*;
14  import com.vikash.firsttool.ToolMain;
15  
16  
17  
18  /***
19   *
20   * @author  studajb
21   */
22  public class ToolMenuBar extends JMenuBar{
23      MainEditor editor;
24      ToolGraph graph;
25      ToolInternalFrame internalframe;
26      MainFrame frame;
27      /*** Creates a new instance of Class */
28      public ToolMenuBar(final MainFrame frame) {
29          this.frame=frame;
30          JMenu filemenu= new JMenu("File");
31          filemenu.setMnemonic('F');
32          add(filemenu);
33          
34          URL New=getClass().getClassLoader().getResource("com/vikash/firsttool/resources/New.gif");
35          JMenuItem newitem = new JMenuItem ("New Project",new ImageIcon(New));
36              newitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
37              newitem.addActionListener(new ActionListener() {
38              public void actionPerformed(ActionEvent e) {
39                  ToolMain.newProject(true);
40              }
41          });
42  //        filemenu.add(newitem);
43          URL open=getClass().getClassLoader().getResource("com/vikash/firsttool/resources/open.gif");
44          JMenuItem openitem=new JMenuItem("OpenDiagram",new ImageIcon(open));
45          openitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
46          openitem.addActionListener(new ActionListener() {
47              public void actionPerformed(ActionEvent event) {
48                  frame.getEditor().openfile();
49                  
50              }
51          });
52  //        filemenu.add(openitem);
53          
54          URL save=getClass().getClassLoader().getResource("com/vikash/firsttool/resources/save.gif");
55          JMenuItem saveitem=new JMenuItem("SaveDiagram",new ImageIcon(save));
56          saveitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
57          saveitem.addActionListener(new ActionListener() {
58              public void actionPerformed(ActionEvent event) {
59                  frame.getEditor().savefile();
60              }
61          });
62  //        filemenu.add(saveitem);
63          
64          URL saveas=getClass().getClassLoader().getResource("com/vikash/firsttool/resources/saveas.gif");
65          JMenuItem saveasitem=new JMenuItem("SaveAs",new ImageIcon(saveas));
66          saveasitem.addActionListener(new ActionListener() {
67              public void actionPerformed(ActionEvent event) {
68                  frame.getEditor().saveasfile();
69              }
70          });
71  //        filemenu.add(saveasitem);
72          
73  //        filemenu.addSeparator();
74          
75          JMenu exportimage=new JMenu("Export As Image");
76          filemenu.add(exportimage);
77          JMenuItem exportjpg=new JMenuItem("JPG");
78          exportjpg.addActionListener(new ActionListener() {
79              public void actionPerformed(ActionEvent event) {
80                  frame.getEditor().saveasimage("jpg");
81              }
82          });
83          exportimage.add(exportjpg);
84          
85          JMenuItem exportpng=new JMenuItem("PNG");
86          exportpng.addActionListener(new ActionListener() {
87              public void actionPerformed(ActionEvent event) {
88                  frame.getEditor().saveasimage("png");
89              }
90          });
91          exportimage.add(exportpng);
92          filemenu.addSeparator();
93          
94          JMenuItem exititem=new JMenuItem("Exit");
95          exititem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,InputEvent.CTRL_MASK));
96          exititem.addActionListener(new ActionListener() {
97          	public void actionPerformed(ActionEvent event) {
98          		frame.exit();
99          	}
100         });
101 //        filemenu.add(exititem);
102         
103         JMenuItem saveandcloseitem = new JMenuItem("Save and close");
104         saveandcloseitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
105         saveandcloseitem.addActionListener(new ActionListener() {
106         	public void actionPerformed(ActionEvent event) {
107         		frame.dispose();
108         	}
109         });
110         filemenu.add(saveandcloseitem);
111         
112         JMenu editmenu= new JMenu("Edit");
113         editmenu.setMnemonic('E');
114         add(editmenu);
115         
116         JMenuItem copyitem=editmenu.add(CopyAction.getinstance(frame,false));
117         copyitem.setText("Copy");
118         JMenuItem cutitem=editmenu.add(CutAction.getinstance(frame,false));
119         cutitem.setText("Cut");
120         JMenuItem pasteitem=editmenu.add(PasteAction.getinstance(frame,false));
121         pasteitem.setText("Paste");
122         JMenuItem deleteitem=editmenu.add(DeleteAction.getinstance(frame,false));
123         deleteitem.setText("Delete");
124         JMenuItem deleteviewitem=editmenu.add(DeleteViewAction.getinstance(frame,false));
125         deleteviewitem.setText("Delete from diagram");
126         editmenu.addSeparator();
127         JMenuItem undoitem=editmenu.add(UndoAction.getinstance(frame,false));
128         undoitem.setText("Undo");
129         JMenuItem redoitem=editmenu.add(RedoAction.getinstance(frame,false));
130         redoitem.setText("Redo");
131         
132         
133         
134         // menu to create new diagrams
135         JMenu diagrammenu=new JMenu("Diagram");
136         diagrammenu.setMnemonic('D');
137         add(diagrammenu);
138         
139         JMenuItem SWOTitem=new JMenuItem(new AddDiagramAction(frame,SWOTDiagram.class,"SWOT"));
140         SWOTitem.setText("New SWOT Diagram");
141 //        diagrammenu.add(SWOTitem);
142         
143         JMenuItem Assetitem=new JMenuItem(new AddDiagramAction(frame,AssetDiagram.class,"Asset"));
144         Assetitem.setText("New Asset Diagram");
145 //        diagrammenu.add(Assetitem);
146         
147         JMenuItem Unwanteditem=new JMenuItem(new AddDiagramAction(frame,UnwantedIncidentDiagram.class,"UnwantedIncident"));
148         Unwanteditem.setText("New UnwantedIncident Diagram");
149         diagrammenu.add(Unwanteditem);
150         
151         JMenuItem Riskitem=new JMenuItem(new AddDiagramAction(frame,RiskDiagram.class,"Risk"));
152         Riskitem.setText("New Risk Diagram");
153 //        diagrammenu.add(Riskitem);
154         
155         JMenuItem Treatmentitem=new JMenuItem(new AddDiagramAction(frame,TreatmentDiagram.class,"Treatment"));
156         Treatmentitem.setText("New Treatment Diagram");
157         diagrammenu.add(Treatmentitem);
158         
159         JMenuItem Treatmenteffectitem=new JMenuItem(new AddDiagramAction(frame,TreatmentEffectDiagram.class,"TreatmentEffect"));
160         Treatmenteffectitem.setText("New TreatmentEffect Diagram");
161 //        diagrammenu.add(Treatmenteffectitem);
162         
163         JMenu viewmenu= new JMenu("View");
164         JMenu lookfeel=new JMenu("Look & Feel");
165         viewmenu.setMnemonic('V');
166         UIManager.LookAndFeelInfo[] lookandfeel=UIManager.getInstalledLookAndFeels();
167         ButtonGroup group=new ButtonGroup();
168         for(int i=0;i<lookandfeel.length;i++){
169             final UIManager.LookAndFeelInfo lfeel=lookandfeel[i];
170             JRadioButtonMenuItem lfitem=new JRadioButtonMenuItem(lookandfeel[i].getName());
171             lfitem.addActionListener(new ActionListener(){
172                 
173                 public void actionPerformed(ActionEvent e) {
174                     try{
175                         UIManager.setLookAndFeel(lfeel.getClassName());
176                         SwingUtilities.updateComponentTreeUI(frame);
177                     }catch(Exception exc){
178                         
179                     }
180                 }
181                 
182             });
183             group.add(lfitem);
184             lookfeel.add(lfitem);
185         }
186 //        viewmenu.add(lookfeel);
187 //        viewmenu.addSeparator();
188         URL zoom=getClass().getClassLoader().getResource("com/vikash/firsttool/resources/zoom.gif");
189         JMenuItem zoomitem=new JMenuItem("Zoom",new ImageIcon(zoom));
190         zoomitem.addActionListener(new ActionListener() {
191             public void actionPerformed(ActionEvent event) {
192                 getCurrentGraph();
193                 graph.setScale(1.0);
194             }
195         });
196         viewmenu.add(zoomitem);
197         
198         URL zoomin=getClass().getClassLoader().getResource("com/vikash/firsttool/resources/zoomin.gif");
199         JMenuItem zoominitem=new JMenuItem("Zoom in",new ImageIcon(zoomin));
200         zoominitem.addActionListener(new ActionListener() {
201             public void actionPerformed(ActionEvent event) {
202                 getCurrentGraph();
203                 graph.setScale(1.5*graph.getScale());
204             }
205         });
206         viewmenu.add(zoominitem);
207         URL zoomout=getClass().getClassLoader().getResource("com/vikash/firsttool/resources/zoomin.gif");
208         JMenuItem zoomoutitem=new JMenuItem("Zoom out",new ImageIcon(zoomout));
209         zoomoutitem.addActionListener(new ActionListener() {
210             public void actionPerformed(ActionEvent event) {
211                 getCurrentGraph();
212                 graph.setScale(graph.getScale()/1.5);
213             }
214         });
215         viewmenu.add(zoomoutitem);
216         add(viewmenu);
217         
218         JMenu format=new JMenu("Format");
219         format.setMnemonic('O');
220         JMenuItem coloritem=new JMenuItem(new ColorFillAction(frame));
221         coloritem.setText("Fill with color");
222         format.add(coloritem);
223         JMenuItem linecoloritem=new JMenuItem(new LineColorAction(frame));
224         linecoloritem.setText("Line color");
225         format.add(linecoloritem);
226         JMenuItem bordercoloritem=new JMenuItem(new BorderColorAction(frame));
227         bordercoloritem.setText("Border color");
228         format.add(bordercoloritem);
229         
230         add(format);
231         JMenu helpmenu= new JMenu("Help");
232         helpmenu.setMnemonic('H');
233         add(helpmenu);
234     }
235     public ToolGraph getCurrentGraph(){
236         internalframe=(ToolInternalFrame)frame.getDesktopPane().getSelectedFrame();
237         if(internalframe==null) return null;
238         graph=internalframe.getGraph();
239         return graph;
240     }
241     
242 }