View Javadoc

1   /*
2    * UnwantedIconPane.java
3    *
4    * Created on 25. april 2005, 15:03
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   * @author  studajb
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