1
2
3
4
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
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
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
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
72
73
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
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
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
142
143 JMenuItem Assetitem=new JMenuItem(new AddDiagramAction(frame,AssetDiagram.class,"Asset"));
144 Assetitem.setText("New Asset Diagram");
145
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
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
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
187
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 }