ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/conient/uk/org/iscream/cms/conient/ControlPanel.java
(Generate patch)

Comparing projects/cms/source/conient/uk/org/iscream/cms/conient/ControlPanel.java (file contents):
Revision 1.3 by ajm, Mon Jan 22 04:09:35 2001 UTC vs.
Revision 1.15 by tdb, Sat May 18 18:15:56 2002 UTC

# Line 1 | Line 1
1 < import javax.swing.*;
2 < import javax.swing.border.*;
3 < import java.awt.Color;
4 < import uk.ac.ukc.iscream.util.*;
1 > /*
2 > * i-scream central monitoring system
3 > * Copyright (C) 2000-2002 i-scream
4 > *
5 > * This program is free software; you can redistribute it and/or
6 > * modify it under the terms of the GNU General Public License
7 > * as published by the Free Software Foundation; either version 2
8 > * of the License, or (at your option) any later version.
9 > *
10 > * This program is distributed in the hope that it will be useful,
11 > * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 > * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 > * GNU General Public License for more details.
14 > *
15 > * You should have received a copy of the GNU General Public License
16 > * along with this program; if not, write to the Free Software
17 > * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18 > */
19  
20 < import java.awt.*;
21 < import java.awt.event.*;
8 < import java.net.*;
9 < import java.io.*;
10 < import java.util.Date;
11 < import java.text.DateFormat;
12 < import java.util.Locale;
13 < import java.util.HashMap;
14 < import javax.swing.border.*;
20 > //---PACKAGE DECLARATION---
21 > package uk.org.iscream.cms.conient;
22  
23 + //---IMPORTS---
24 + import uk.org.iscream.cms.server.util.*;
25 + import javax.swing.*;
26 + import java.awt.BorderLayout;
27 + import java.net.URL;
28 + import java.awt.event.ActionListener;
29 + import java.awt.event.ActionEvent;
30 +
31 + /**
32 + * This panel holds the toolbar at the top.
33 + * The tool bar dispatches events to the ConnectionHandler.
34 + *
35 + * It also creates and starts the ConnectionHandler which is the
36 + * main thread for this application
37 + *
38 + * @author  $Author$
39 + * @version $Id$
40 + */
41   public class ControlPanel extends JPanel {
42 +
43 + //---FINAL ATTRIBUTES---
44 +
45 +    /**
46 +     * The current CVS revision of this class
47 +     */
48 +    public final String REVISION = "$Revision$";
49 +
50 + //---STATIC METHODS---
51 +    
52 + //---CONSTRUCTORS---
53 +
54 +    /**
55 +     * Constructs a new ControlPanel.
56 +     *
57 +     * @param data the data panel to be passed to the ConnectionHandler
58 +     */
59      public ControlPanel(DataPanel data) {
60          super();
61          setLayout(new BorderLayout());
62 <        _data = data;
21 <        _handler = new ConnectionHandler(_data, _actionQueue);
62 >        _handler = new ConnectionHandler(data, _actionQueue);
63          add(_toolBar, "North");
64          _handler.start();
65      }
66 <    
66 >
67 > //---PUBLIC METHODS---
68 >  
69 > //---PRIVATE METHODS---
70 >
71 >    /**
72 >     * Sets up the tool bar, adding action listeners
73 >     * to dispatch events to the ConnectionHandler
74 >     */
75      private JToolBar setupToolBar() {
76 <        JButton connectButton = new JButton("Connect");
76 >        
77 >        JButton connectButton = new JButton("Connect", new ImageIcon("./resources/control16.gif"));
78          connectButton.addActionListener(new ActionListener() {
79              public void actionPerformed(ActionEvent e) {
80                  _actionQueue.add(new Integer(ConnectionHandler.CONNECT));
81              }
82          });
83 +        JButton disconnectButton = new JButton("Disconnect", new ImageIcon("./resources/stop16.gif"));
84 +        disconnectButton.addActionListener(new ActionListener() {
85 +            public void actionPerformed(ActionEvent e) {
86 +                _actionQueue.add(new Integer(ConnectionHandler.DISCONNECT));
87 +            }
88 +        });
89          
90 <        JButton startDataButton = new JButton("Start Data");
90 >        JButton startDataButton = new JButton("Start Data", new ImageIcon("./resources/data16.gif"));
91          startDataButton.addActionListener(new ActionListener() {
92              public void actionPerformed(ActionEvent e) {
93                  _actionQueue.add(new Integer(ConnectionHandler.STARTDATA));
94              }
95          });
96 <        
41 <        JButton stopDataButton = new JButton("Stop Data");
96 >        JButton stopDataButton = new JButton("Stop Data", new ImageIcon("./resources/stop16.gif"));
97          stopDataButton.addActionListener(new ActionListener() {
98              public void actionPerformed(ActionEvent e) {
99                  _actionQueue.add(new Integer(ConnectionHandler.STOPDATA));
100              }
101          });
102          
103 <        JButton disconnectButton = new JButton("Disconnect");
104 <        disconnectButton.addActionListener(new ActionListener() {
103 >        JToolBar bar = new JToolBar(JToolBar.HORIZONTAL);
104 >        bar.add(connectButton);
105 >        bar.add(disconnectButton);
106 >        bar.addSeparator();
107 >        bar.add(startDataButton);
108 >        bar.add(stopDataButton);
109 >
110 >        bar.add(Box.createGlue());
111 >        JLabel image = new JLabel(new ImageIcon("./resources/i-scream.gif"));
112 >        bar.add(image);
113 >        return bar;
114 >    }
115 >    
116 >    public JMenuBar setupMenuBar() {
117 >        JMenuBar bar = new JMenuBar();
118 >        
119 >        JMenu conientMenu = new JMenu("Conient");
120 >        JMenuItem modifiyConfig = new JMenuItem("Modifiy Configuration");
121 >        modifiyConfig.addActionListener(new ActionListener() {
122              public void actionPerformed(ActionEvent e) {
123 <                _actionQueue.add(new Integer(ConnectionHandler.DISCONNECT));
123 >                Configuration.getInstance().GUIReconfiguration();
124              }
125          });
126 +        conientMenu.add(modifiyConfig);
127 +        conientMenu.addSeparator();
128 +        JMenuItem saveConfig = new JMenuItem("Save Configuration");
129 +        saveConfig.addActionListener(new ActionListener() {
130 +            public void actionPerformed(ActionEvent e) {
131 +                if (Configuration.getInstance().getUsingSpecificConfig()) {
132 +                    Configuration.getInstance().saveConfiguration();
133 +                } else {
134 +                    Configuration.getInstance().saveNewConfiguration();
135 +                }
136 +            }
137 +        });
138 +        conientMenu.add(saveConfig);
139          
140 <        JButton quitButton = new JButton("Quit");
141 <        quitButton.addActionListener(new ActionListener() {
140 >        JMenuItem saveAsConfig = new JMenuItem("Save Configuration As...");
141 >        saveAsConfig.addActionListener(new ActionListener() {
142              public void actionPerformed(ActionEvent e) {
143 +                Configuration.getInstance().saveNewConfiguration();
144 +            }
145 +        });
146 +        conientMenu.add(saveAsConfig);
147 +        
148 +        JMenuItem saveDefaultConfig = new JMenuItem("Save Configuration As Default");
149 +        saveDefaultConfig.addActionListener(new ActionListener() {
150 +            public void actionPerformed(ActionEvent e) {
151 +                Configuration.getInstance().saveDefaultConfiguration();
152 +            }
153 +        });
154 +        conientMenu.add(saveDefaultConfig);
155 +        
156 +        JMenuItem loadConfig = new JMenuItem("Load Configuration...");
157 +        loadConfig.addActionListener(new ActionListener() {
158 +            public void actionPerformed(ActionEvent e) {
159 +                Configuration.getInstance().loadConfiguration();
160 +            }
161 +        });
162 +        conientMenu.add(loadConfig);
163 +        conientMenu.addSeparator();
164 +        JMenuItem quit = new JMenuItem("Quit");
165 +        quit.addActionListener(new ActionListener() {
166 +            public void actionPerformed(ActionEvent e) {
167                  _actionQueue.add(new Integer(ConnectionHandler.QUIT));
168              }
169          });
170 +        conientMenu.add(quit);
171 +        bar.add(conientMenu);
172          
173 <        JToolBar bar = new JToolBar(JToolBar.HORIZONTAL);
174 <        bar.add(connectButton);
175 <        bar.add(startDataButton);
176 <        bar.add(stopDataButton);
177 <        bar.add(disconnectButton);
178 <        bar.add(quitButton);
173 >        JMenu connectionMenu = new JMenu("Connection");
174 >        JMenuItem controlConnect = new JMenuItem("Connect", new ImageIcon("./resources/control16.gif"));      
175 >        controlConnect.addActionListener(new ActionListener() {
176 >            public void actionPerformed(ActionEvent e) {
177 >                _actionQueue.add(new Integer(ConnectionHandler.CONNECT));
178 >            }
179 >        });
180 >        connectionMenu.add(controlConnect);
181 >        JMenuItem controlDisconnect = new JMenuItem("Disconnect", new ImageIcon("./resources/stop16.gif"));
182 >        controlDisconnect.addActionListener(new ActionListener() {
183 >            public void actionPerformed(ActionEvent e) {
184 >                _actionQueue.add(new Integer(ConnectionHandler.DISCONNECT));
185 >            }
186 >        });
187 >        connectionMenu.add(controlDisconnect);
188 >        connectionMenu.addSeparator();
189 >        JMenuItem dataConnect = new JMenuItem("Start Data", new ImageIcon("./resources/data16.gif"));      
190 >        dataConnect.addActionListener(new ActionListener() {
191 >            public void actionPerformed(ActionEvent e) {
192 >                _actionQueue.add(new Integer(ConnectionHandler.STARTDATA));
193 >            }
194 >        });
195 >        connectionMenu.add(dataConnect);
196 >        JMenuItem dataDisconnect = new JMenuItem("Stop Data", new ImageIcon("./resources/stop16.gif"));
197 >        dataDisconnect.addActionListener(new ActionListener() {
198 >            public void actionPerformed(ActionEvent e) {
199 >                _actionQueue.add(new Integer(ConnectionHandler.STOPDATA));
200 >            }
201 >        });
202 >        connectionMenu.add(dataDisconnect);
203 >        bar.add(connectionMenu);
204 >              
205          return bar;
206 <    }
206 >    }
207  
208 <    DataPanel _data;
208 > //---ACCESSOR/MUTATOR METHODS---
209 >
210 >    public JMenuBar getMenuBar() {
211 >        return _menuBar;
212 >    }
213 >
214 > //---ATTRIBUTES---
215 >
216 >    /**
217 >     * The tool bar for the control panel
218 >     */    
219      JToolBar _toolBar = setupToolBar();
220      
221 +    /**
222 +     * The menu bar for the Frame
223 +     */
224 +    JMenuBar _menuBar = setupMenuBar();
225 +    
226 +    /**
227 +     * The queue that we will add actions to.
228 +     */
229      Queue _actionQueue = new Queue();
230 +    
231 +    /**
232 +     * The connection handler in use by the system.
233 +     */
234      ConnectionHandler _handler;
235 < }
235 >
236 > //---STATIC ATTRIBUTES---
237 >
238 > }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines