summaryrefslogtreecommitdiff
path: root/sources/prefs/editors/VSProtocolEditor.java
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2008-05-18 23:20:08 +0000
committerPaul Buetow <paul@buetow.org>2008-05-18 23:20:08 +0000
commit36f74586cc61f5899c16b6f84a04be37688cc719 (patch)
tree3ce0df2cf2dc18b2bdd27b546305c4a73598c457 /sources/prefs/editors/VSProtocolEditor.java
parent34b16d2ffc7b40df933ba85ddb8e414121116ca5 (diff)
TaskManager bugfixes.
Diffstat (limited to 'sources/prefs/editors/VSProtocolEditor.java')
-rw-r--r--sources/prefs/editors/VSProtocolEditor.java274
1 files changed, 0 insertions, 274 deletions
diff --git a/sources/prefs/editors/VSProtocolEditor.java b/sources/prefs/editors/VSProtocolEditor.java
index d0762a3..60d4d0c 100644
--- a/sources/prefs/editors/VSProtocolEditor.java
+++ b/sources/prefs/editors/VSProtocolEditor.java
@@ -15,14 +15,7 @@ import core.*;
import prefs.VSPrefs;
public class VSProtocolEditor extends VSEditorFrame {
- private JCheckBox clientCheckBox;
- private JCheckBox serverCheckBox;
- private JComboBox clientComboBox;
private VSProtocol protocol;
- private VSTaskManager taskManager;
- private JPanel clientTaskManagerEditorPanel;
- private JButton takeOverButton;
- private JButton deleteButton;
private JTextField textField;
public VSProtocolEditor(VSPrefs prefs, Component relativeTo, VSProtocol protocol) {
@@ -30,16 +23,12 @@ public class VSProtocolEditor extends VSEditorFrame {
+ protocol.getName() + " " + prefs.getString("lang.editor"), ALL_PREFERENCES);
this.protocol = protocol;
- this.taskManager = protocol.getProcess().getSimulationPanel().getTaskManager();
-
init();
}
private void init() {
super.getFrame().disposeWithParent();
super.infoArea.setText(prefs.getString("lang.prefs.protocol.info!"));
- initTaskManagerEditor(clientTaskManagerEditorPanel);
- initClientServerCheckboxes();
createButtonPanel();
}
@@ -55,269 +44,6 @@ public class VSProtocolEditor extends VSEditorFrame {
return buttonPanel;
}
- protected void addToEditPanelFront(JPanel editPanel) {
- super.addToEditPanelFront(editPanel);;
-
- editPanelConstraints.gridy = editPanelRow++;
- editPanel.add(new JLabel(prefs.getString("lang.protocol.tasks.activation")), editPanelConstraints);
-
- editPanelConstraints.insets = insets;
- editPanelConstraints.gridy = editPanelRow++;
- editPanel.add(createClientServerCheckboxes(), editPanelConstraints);
-
- editPanelConstraints.insets = insetsTopSpaceing;
- editPanelConstraints.gridy = editPanelRow++;
- editPanel.add(new JLabel(prefs.getString("lang.protocol.tasks.client")), editPanelConstraints);
- clientComboBox = new JComboBox();
- clientTaskManagerEditorPanel = new JPanel(new GridBagLayout());
- editPanelConstraints.insets = insets;
- editPanelConstraints.gridy = editPanelRow++;
- editPanel.add(clientTaskManagerEditorPanel, editPanelConstraints);
-
- editPanelConstraints.insets = insetsTopSpaceing;
- editPanelConstraints.gridy = editPanelRow++;
- }
-
- private JPanel createClientServerCheckboxes() {
- final String activated = prefs.getString("lang.activate");
- final String client = prefs.getString("lang.protocol.client") + " " + activated;
- final String server = prefs.getString("lang.protocol.server") + " " + activated;
-
- final JPanel panel = new JPanel(new GridBagLayout());
- panel.setBorder(BorderFactory.createLineBorder(Color.black));
-
- int row = 0;
- GridBagConstraints constraints = new GridBagConstraints();
- constraints.fill = GridBagConstraints.HORIZONTAL;
- constraints.ipady = 10;
- constraints.ipadx = 10;
- constraints.insets = new Insets(5, 0, 5, 0);
- constraints.gridy = row++;
- constraints.gridx = 0;
- panel.add(new JLabel(client), constraints);
-
- constraints.gridx = 1;
- clientCheckBox = new JCheckBox();
- clientCheckBox.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent ce) {
- if (takeOverButton != null && textField != null) {
- AbstractButton abstractButton = (AbstractButton) ce.getSource();
- ButtonModel buttonModel = abstractButton.getModel();
- takeOverButton.setEnabled(buttonModel.isSelected());
- textField.setEnabled(buttonModel.isSelected());
- if (!buttonModel.isSelected()) {
- clientComboBox.setEnabled(false);
- deleteButton.setEnabled(false);
- } else if (clientComboBox.getItemCount() > 0) {
- clientComboBox.setEnabled(true);
- deleteButton.setEnabled(true);
- }
- }
- }
- });
-
- panel.add(clientCheckBox, constraints);
-
- constraints.gridy = row++;
- constraints.gridx = 0;
- panel.add(new JLabel(server), constraints);
-
- constraints.gridx = 1;
- serverCheckBox = new JCheckBox();
- panel.add(serverCheckBox, constraints);
-
- return panel;
- }
-
- private void initClientServerCheckboxes() {
- final String eventName = protocol.getName();
- final VSProcess process = protocol.getProcess();
-
- String protocolKey = "sim."+eventName.toLowerCase()+".client.enabled!";
- clientCheckBox.setSelected(process.getBoolean(protocolKey));
- protocolKey = "sim."+eventName.toLowerCase()+".server.enabled!";
- serverCheckBox.setSelected(process.getBoolean(protocolKey));
-
- }
-
- private void initTaskManagerEditor(JPanel panel) {
- clientComboBox = new JComboBox();
- deleteButton = new JButton(prefs.getString("lang.remove"));
- takeOverButton = new JButton(prefs.getString("lang.takeover"));
- textField = new JTextField();
-
- panel.setBorder(BorderFactory.createLineBorder(Color.black));
-
- int row = 0;
- GridBagConstraints constraints = new GridBagConstraints();
- constraints.fill = GridBagConstraints.HORIZONTAL;
- constraints.ipady = 10;
- constraints.ipadx = 10;
- constraints.insets = new Insets(5, 5, 5, 5);
-
- textField.setText("0000");
- textField.setColumns(10);
- constraints.gridy = row++;
- constraints.gridx = 0;
- panel.add(textField, constraints);
-
- Insets insetsBackup = constraints.insets;
- constraints.insets = new Insets(0, 0, 0, 0);
- constraints.gridx = 1;
- panel.add(new JLabel("ms"), constraints);
-
- constraints.insets = insetsBackup;
- constraints.gridx = 2;
- panel.add(takeOverButton, constraints);
-
- constraints.gridy = row++;
- constraints.gridx = 0;
- resetTaskManager();
- clientComboBox.setBackground(Color.WHITE);
- panel.add(clientComboBox, constraints);
-
- constraints.gridx = 2;
- panel.add(deleteButton, constraints);
-
- ActionListener actionListener = new ActionListener() {
- private boolean isRed;
- public void actionPerformed(ActionEvent ae) {
- if (ae.getActionCommand().equals(prefs.getString("lang.takeover"))) {
- String textValue = textField.getText();
- try {
- Long longValue = Long.valueOf(textValue);
-
- if (longValue.longValue() < 0) {
- textField.setBackground(Color.RED);
- isRed = true;
- return;
- }
-
- clientComboBox.addItem(VSTools.getTimeString(longValue.longValue()));
- clientComboBox.setSelectedIndex(clientComboBox.getItemCount()-1);
- clientComboBox.setEnabled(true);
- sortComboBox(clientComboBox);
- deleteButton.setEnabled(true);
-
- if (isRed) {
- textField.setBackground(Color.WHITE);
- isRed = false;
- }
- } catch (NumberFormatException e) {
- textField.setBackground(Color.RED);
- isRed = true;
- }
-
- } else if (ae.getActionCommand().equals(prefs.getString("lang.remove"))) {
- Object[] objects = clientComboBox.getSelectedObjects();
- for (Object object : objects)
- clientComboBox.removeItem(object);
- if (clientComboBox.getItemCount() == 0) {
- clientComboBox.setEnabled(false);
- deleteButton.setEnabled(false);
- }
- }
- }
- };
-
- takeOverButton.addActionListener(actionListener);
- deleteButton.addActionListener(actionListener);
-
- clientComboBox.setEnabled(false);
- deleteButton.setEnabled(false);
- takeOverButton.setEnabled(false);
- textField.setEnabled(false);
- }
-
- protected void resetEditPanel() {
- super.resetEditPanel();
-
- resetTaskManager();
-
- final VSProcess process = protocol.getProcess();
- final String eventName = protocol.getName();
- String protocolKey = "sim."+eventName.toLowerCase()+".client.enabled!";
- clientCheckBox.setSelected(process.getBoolean(protocolKey));
- protocolKey = "sim."+eventName.toLowerCase()+".server.enabled!";
- serverCheckBox.setSelected(process.getBoolean(protocolKey));
-
- takeOverButton.setEnabled(clientCheckBox.isSelected());
- textField.setEnabled(clientCheckBox.isSelected());
- if (!clientCheckBox.isSelected()) {
- clientComboBox.setEnabled(false);
- deleteButton.setEnabled(false);
- }
- }
-
- protected void savePrefs() {
- super.savePrefs();
- saveTasks();
- }
-
- private void resetTaskManager() {
- clientComboBox.removeAllItems();
- LinkedList<VSTask> protocolVSTasks = taskManager.getProtocolTasks(protocol);
-
- for (VSTask task : protocolVSTasks)
- clientComboBox.addItem(VSTools.getTimeString(task.getTaskTime()));
- }
-
- private void saveTasks() {
- LinkedList<VSTask> tasks = new LinkedList<VSTask>();
- int numItems;
-
- numItems = clientComboBox.getItemCount();
- for (int i = 0; i < numItems; ++i) {
- long taskTime = VSTools.getStringTime((String) clientComboBox.getItemAt(i));
- VSTask task = new VSTask(taskTime, protocol.getProcess(), protocol, VSTask.LOCAL);
- task.isProgrammed(true);
- tasks.addLast(task);
- }
-
- taskManager.modifyProtocolTasks(protocol, tasks);
-
- final VSProcess process = protocol.getProcess();
- final String eventName = protocol.getName();
- String protocolKey = "sim."+eventName.toLowerCase()+".client.enabled!";
- process.setBoolean(protocolKey, clientCheckBox.isSelected());
- protocol.isClient(clientCheckBox.isSelected());
-
- protocolKey = "sim."+eventName.toLowerCase()+".server.enabled!";
- process.setBoolean(protocolKey, serverCheckBox.isSelected());
- protocol.isServer(serverCheckBox.isSelected());
-
- Object protocolsObj = null;
- if (process.objectExists("protocols.registered")) {
- protocolsObj = process.getObject("protocols.registered");
- } else {
- protocolsObj = new Vector<VSProtocol>();
- process.setObject("protocols.registered", protocolsObj);
- }
-
- if (protocolsObj instanceof Vector) {
- Vector<VSProtocol> protocols = (Vector<VSProtocol>) protocolsObj;
- if (!protocols.contains(protocol))
- protocols.add(protocol);
- }
- }
-
- private void sortComboBox(JComboBox comboBox) {
- Object selected = comboBox.getSelectedItem();
- int numItems = comboBox.getItemCount();
- Vector<String> vector = new Vector<String>();
-
- for (int i = 0; i < numItems; ++i) {
- String value = (String) comboBox.getItemAt(i);
- vector.add(value);
- }
-
- Collections.sort(vector);
- comboBox.removeAllItems();
- for (String value : vector)
- comboBox.addItem(value);
- comboBox.setSelectedItem(selected);
- }
-
public void actionPerformed(ActionEvent e) {
String actionCommand = e.getActionCommand();