package eu.telecom.sudparis.dpwsim.upgrade;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import eu.telecom.sudparis.dpwsim.view.PanelInterface;
import eu.telecom.sudparis.dpwsim.view.tools.RequestFocusListener;
import eu.telecom.sudparis.dpwsim.view.tools.SwingUtilities;
/**
* New Event panel
*
* @author Luong Nguyen
* @date 2013/10/17
* @version 2.0
*/
@SuppressWarnings("serial")
public class NewEventPanel extends JPanel implements PanelInterface {
public static final String CREATE_EVENT = "Add New Event";
public JTextField eventName = new JTextField();
public JTextField eventMessage = new JTextField();
public JTextField eventFrequency = new JTextField();
// Son Han: To use the DPWSim tool of showing error message: SwingUtilities.showErrorMessage()
//public JTextArea errorMsg = new JTextArea();
public NewEventPanel() {
this.setBorder(BorderFactory.createEmptyBorder(10, 10, 0, 10));
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
this.setLayout(gridbag);
c.fill = GridBagConstraints.BOTH;
c.insets = new Insets(1, 1, 1, 1);
c.gridy = 0;
c.weightx = 0;
this.add(new JLabel("Event Name"), c);
c.weightx = 1;
this.add(eventName, c);
c.gridy++;
c.weightx = 0;
this.add(new JLabel("Event Message"), c);
c.weightx = 1;
this.add(eventMessage, c);
c.gridy++;
c.weightx = 0;
this.add(new JLabel("Frequency (ms)"), c);
c.weightx = 1;
this.add(eventFrequency, c);
// Son Han: To use the DPWSim tool of showing error message: SwingUtilities.showErrorMessage()
// Set focus to the event name text field
eventName.addAncestorListener(new RequestFocusListener());
}
public void reset() {
this.eventName.setText("");
this.eventFrequency.setText("");
this.eventMessage.setText("");
}
public JTextField getEventName() {
return eventName;
}
public void setEventName(JTextField eventName) {
this.eventName = eventName;
}
public JTextField getEventMessage() {
return eventMessage;
}
public void setEventMessage(JTextField eventMessage) {
this.eventMessage = eventMessage;
}
public JTextField getEventFrequency() {
return eventFrequency;
}
public void setEventFrequency(JTextField eventFrequency) {
this.eventFrequency = eventFrequency;
}
@Override
public boolean invariant() {
boolean ok = true;
String errorMsg = "Error:\n";
if (this.eventName.getText().equals("")) {
ok = false;
errorMsg += "The name field is empty!\n";
}
if (this.eventMessage.getText().equals("")) {
ok = false;
errorMsg += "The message field is empty!\n";
}
if (!SwingUtilities.isInteger(this.eventFrequency.getText())) {
ok = false;
errorMsg += "The frequency is invalid!\n";
}
if (!ok) {
// this.errorMsg.setText(errorMsg);
// Son Han: To use the DPWSim tool of showing error message: SwingUtilities.showErrorMessage()
SwingUtilities.showErrorMessage(this, errorMsg);
}
return ok;
}
}