Skip to content

Package: ControlPanel

ControlPanel

nameinstructionbranchcomplexitylinemethod
ControlPanel(ConfigurationGraph)
M: 0 C: 202
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 29
100%
M: 0 C: 1
100%
getPopup(List)
M: 5 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
prepareButton(ToolBarButton, String)
M: 0 C: 17
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 6
100%
M: 0 C: 1
100%

Coverage

1: package networkconfigurator;
2:
3: import java.awt.Color;
4: import java.awt.Dimension;
5: import java.awt.FlowLayout;
6: import java.util.List;
7:
8: import javax.swing.JPopupMenu;
9: import javax.swing.JToolBar;
10: import javax.swing.SwingConstants;
11:
12: import networkconfigurator.actions.NewHostAction;
13: import networkconfigurator.actions.NewInternetAction;
14: import networkconfigurator.actions.NewRouterAction;
15: import networkconfigurator.actions.NewSwitchAction;
16: import networkconfigurator.actions.ResetAction;
17: import networkconfigurator.actions.SaveAction;
18: import networkconfigurator.item.Item;
19:
20: /**
21: * the contextmenu.
22: */
23: public class ControlPanel extends JToolBar {
24:         /**
25:          * The Graph.
26:          */
27:         private final ConfigurationGraph graph;
28:
29:         /**
30:          * pop-up menu for the right click events.
31:          */
32:         private final PopupMenu popup;
33:         /**
34:          * Button size.
35:          */
36:         private final Dimension buttonSize = new Dimension(55, 70);
37:
38:         /**
39:          * Panel of controls.
40:          *
41:          * @param graph
42:          * the graph for the network configuration.
43:          */
44:         ControlPanel(final ConfigurationGraph graph) {
45:                 this.graph = graph;
46:
47:                 this.setLayout(new FlowLayout(FlowLayout.LEFT));
48:                 this.setBackground(Color.lightGray);
49:
50:                 final ToolBarButton save =
51:                                 new ToolBarButton(NetworkconfiguratorConstants.PACKAGE_ICONS + "save.png",
52:                                                 new SaveAction(this.graph));
53:                 prepareButton(save, "Save");
54:                 final ToolBarButton reset =
55:                                 new ToolBarButton(NetworkconfiguratorConstants.PACKAGE_ICONS + "reset.png",
56:                                                 new ResetAction(this.graph));
57:                 prepareButton(reset, "Reset");
58:                 final ToolBarButton host =
59:                                 new ToolBarButton(NetworkconfiguratorConstants.PACKAGE_ICONS + "host.png",
60:                                                 new NewHostAction(this.graph));
61:                 prepareButton(host, "Host");
62:                 final ToolBarButton router =
63:                                 new ToolBarButton(NetworkconfiguratorConstants.PACKAGE_ICONS + "router.png",
64:                                                 new NewRouterAction(this.graph));
65:                 prepareButton(router, "Router");
66:                 final ToolBarButton sWitch =
67:                                 new ToolBarButton(NetworkconfiguratorConstants.PACKAGE_ICONS + "switch.png",
68:                                                 new NewSwitchAction(this.graph));
69:                 prepareButton(sWitch, "Switch");
70:                 final ToolBarButton internet =
71:                                 new ToolBarButton(NetworkconfiguratorConstants.PACKAGE_ICONS + "internet.png",
72:                                                 new NewInternetAction(this.graph));
73:                 prepareButton(internet, "Internet");
74:                 this.add(save);
75:                 this.add(new JToolBar.Separator());
76:                 this.add(reset);
77:                 this.add(new JToolBar.Separator());
78:                 this.add(new JToolBar.Separator());
79:                 this.add(new JToolBar.Separator());
80:                 this.add(host);
81:                 this.add(router);
82:                 this.add(sWitch);
83:                 this.add(internet);
84:
85:                 popup = new PopupMenu(graph);
86:         }
87:
88:         /**
89:          * Configure Button in Size, Tool tip and text position.
90:          *
91:          * @param button
92:          * the button that should be configured.
93:          * @param text
94:          * text that should be displayed on the button.
95:          */
96:         private void prepareButton(final ToolBarButton button, final String text) {
97:                 button.setToolTipText(text);
98:                 button.setText(text);
99:                 button.setHorizontalTextPosition(SwingConstants.CENTER);
100:                 button.setVerticalTextPosition(SwingConstants.BOTTOM);
101:                 button.setPreferredSize(buttonSize);
102:         }
103:
104:         /**
105:          * Getter of Popup.
106:          *
107:          * @param selected
108:          * list of selected items.
109:          * @return the popup
110:          */
111:         public JPopupMenu getPopup(final List<Item> selected) {
112:                 return popup.getPopup(selected);
113:         }
114: }