]> git.somenet.org - pub/jan/sbc.git/blob - src/main/java/at/ac/tuwien/sbc/valesriegler/group/gui/GroupFrame.java
[XVSM] Some simulation improvments, documentation
[pub/jan/sbc.git] / src / main / java / at / ac / tuwien / sbc / valesriegler / group / gui / GroupFrame.java
1 package at.ac.tuwien.sbc.valesriegler.group.gui;
2
3 import at.ac.tuwien.sbc.valesriegler.common.Util;
4 import org.slf4j.Logger;
5 import org.slf4j.LoggerFactory;
6
7 import javax.swing.*;
8 import java.awt.*;
9
10 /**
11  * Base Frame of the Group UI
12  * 
13  * @author Gregor Riegler <gregor DOT riegler AT gmail DOT com>
14  * 
15  */
16 @SuppressWarnings("serial")
17 public class GroupFrame extends JFrame {
18         private static final Logger log = LoggerFactory.getLogger(GroupFrame.class);
19
20         public GroupFrame(GroupOverviewModel groupModel, DeliveryOverviewModel deliveryModel) {
21                 super("Groups");
22                 log.debug("GroupFrame()");
23                 JPanel wrapper = new JPanel();
24                 GridLayout wrapperLayout = new GridLayout(2, 2);
25                 wrapper.setLayout(wrapperLayout);
26
27                 // Create Wizard-like panel for the creation of groups
28                 wrapper.add(new GroupCreationPanel(false));
29
30                 // Create Wizard-like panel for the creation of delivery groups
31                 wrapper.add(new GroupCreationPanel(true));
32
33                 // Create the panel for the group overview table
34                 initGroupOverview(wrapper, groupModel);
35
36                 // Create the panel for the deliveries overview table
37                 initDeliveriesOverview(wrapper, deliveryModel);
38
39                 setContentPane(wrapper);
40                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
41
42         GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
43         this.setMaximizedBounds(env.getMaximumWindowBounds());
44         this.setExtendedState(this.getExtendedState() | this.MAXIMIZED_BOTH);
45         }
46
47         private void initGroupOverview(JPanel wrapper, GroupOverviewModel groupModel) {
48                 JPanel tablePanel = new JPanel();
49                 Util.createTableInTitledPanel(tablePanel, groupModel, "Group Overview");
50                 wrapper.add(tablePanel);
51         }
52
53         private void initDeliveriesOverview(JPanel wrapper, DeliveryOverviewModel deliveryModel) {
54                 JPanel tablePanel = new JPanel();
55                 Util.createTableInTitledPanel(tablePanel, deliveryModel, "Deliveries Overview");
56                 wrapper.add(tablePanel);
57         }
58
59 }