1
2
3
4
5
6
7 package com.vikash.firsttool.Diagram.DiagramBars;
8
9 import com.vikash.firsttool.Diagram.*;
10 import com.vikash.firsttool.UI.*;
11 import java.net.URL;
12 import java.awt.*;
13 import java.awt.event.*;
14
15 import javax.swing.*;
16
17
18
19
20
21
22 public class UnwantedBar extends JToolBar{
23
24 EditorPanel panel;
25 ButtonGroup group;
26 JMenu humanthreatmenu,systemthreatmenu,malicioussoftwaremenu;
27
28 /*** Creates a new instance of ThreatIconpane */
29 public UnwantedBar(final EditorPanel panel) {
30 this.panel=panel;
31 group=new ButtonGroup();
32 CreateIcon("Select","Select","Select");
33 CreateIcon("ThreatScenario","vertex","ThreatScenario");
34 CreateIcon("UnwantedIncident","vertex","UnwantedIncident");
35 CreateIcon("Asset","vertex","Asset");
36 CreateIcon("Initiate","dependency","<html><p align=\"center\">"+"Inititate"+"<br>"+"UnwantedIncident ----> UnwantedIncident"+"</p></html>");
37 CreateIcon("Include","dependency","<html><p align=\"center\">"+"Include"+"<br>"+"UnwantedIncident ----> ThreatScenario"+"</p></html>");
38 CreateIcon("Uniassociation","uniassociation","<html><p align=\"center\">"+"UniAssociation"+"<br>"+"UnwantedIncident ----> Asset"+"<br>"+"ThreatScenario ----> Asset"+"<br>"+"ThreatScenario ----> All ThreatAgents"+"</p></html>");
39 addSeparator();
40
41 humanthreatmenu=new JMenu("Human Threats");
42 URL humanthreat=getClass().getClassLoader().getResource("com/vikash/firsttool/resources/HumanThreat.gif");
43 humanthreatmenu.setIcon(new ImageIcon(humanthreat));
44 JMenuItem attackeritem=humanthreatmenu.add(CreateMenuItem("Attacker","vertex"));
45 JMenuItem intruderitem=humanthreatmenu.add(CreateMenuItem("Intruder","vertex"));
46 JMenuItem eavesdropperitem=humanthreatmenu.add(CreateMenuItem("Eavesdropper","vertex"));
47 JMenuItem maninthemiddleitem=humanthreatmenu.add(CreateMenuItem("Man-in-the-Middle","vertex"));
48 JMenuItem insideritem=humanthreatmenu.add(CreateMenuItem("Insider","vertex"));
49
50 systemthreatmenu=new JMenu("System Threats");
51 URL systemthreat=getClass().getClassLoader().getResource("com/vikash/firsttool/resources/SystemThreat.gif");
52 systemthreatmenu.setIcon(new ImageIcon(systemthreat));
53 JMenuItem hardwarefailureitem=systemthreatmenu.add(CreateMenuItem("HardwareFailure","vertex"));
54 JMenuItem softwarefailureitem=systemthreatmenu.add(CreateMenuItem("SoftwareFailure","vertex"));
55
56
57 malicioussoftwaremenu=new JMenu("Malicious Software");
58 URL malsoftware=getClass().getClassLoader().getResource("com/vikash/firsttool/resources/MaliciousSoftware.gif");
59 malicioussoftwaremenu.setIcon(new ImageIcon(malsoftware));
60 JMenuItem virusitem=malicioussoftwaremenu.add(CreateMenuItem("Virus","vertex"));
61 JMenuItem wormitem=malicioussoftwaremenu.add(CreateMenuItem("Worm","vertex"));
62 JMenuItem zoombieitem=malicioussoftwaremenu.add(CreateMenuItem("Zoombie","vertex"));
63 JMenuItem horseitem=malicioussoftwaremenu.add(CreateMenuItem("TrojanHorse","vertex"));
64 JMenuItem bombitem=malicioussoftwaremenu.add(CreateMenuItem("LogicalBomb","vertex"));
65 JMenuItem trapdooritem=malicioussoftwaremenu.add(CreateMenuItem("TrapDoor","vertex"));
66
67
68 final JPopupMenu PopupMenu=new JPopupMenu();
69 PopupMenu.add(humanthreatmenu);
70 PopupMenu.add(systemthreatmenu);
71 PopupMenu.add(malicioussoftwaremenu);
72
73
74 final JButton ThreatsButton=new JButton();
75 URL threatbutton=getClass().getClassLoader().getResource("com/vikash/firsttool/resources/ThreatAgent.gif");
76 ThreatsButton.setIcon(new ImageIcon(threatbutton));
77 ThreatsButton.setPreferredSize(new Dimension(30, 30));
78 ThreatsButton.setMinimumSize(new Dimension(30, 30));
79 ThreatsButton.setToolTipText("Threat Agents");
80 ThreatsButton.addMouseListener(new MouseAdapter(){
81 public void mousePressed(MouseEvent event){
82 PopupMenu.show(ThreatsButton,0,ThreatsButton.getHeight()-ThreatsButton.getMargin().bottom);
83 }
84 });
85
86
87 ThreatsButton.setPreferredSize(new Dimension(30, 30));
88 ThreatsButton.setMinimumSize(new Dimension(30, 30));
89
90 add(ThreatsButton);
91
92 }
93
94 private void CreateIcon(String name,String type,String tooltip){
95
96 URL iconurl=getClass().getClassLoader().getResource("com/vikash/firsttool/resources/"+name+".gif");
97 Action iconaction= new DrawAction(tooltip,new ImageIcon(iconurl),name,panel,type);
98 JToggleButton button = new JToggleButton(iconaction);
99 button.setPreferredSize(new Dimension(30,30));
100 button.setMaximumSize(new Dimension(30,30));
101 group.add(button);
102 add(button);
103
104 }
105
106 private DrawAction CreateMenuItem(String name,String type){
107 String icon=name;
108 URL iconurl=getClass().getClassLoader().getResource("com/vikash/firsttool/resources/"+icon+".gif");
109 DrawAction iconaction= new DrawAction(icon,new ImageIcon(iconurl),icon,panel,type);
110 return iconaction;
111
112 }
113 }
114