diff options
| author | Paul Buetow <paul@buetow.org> | 2008-05-18 23:20:08 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2008-05-18 23:20:08 +0000 |
| commit | 36f74586cc61f5899c16b6f84a04be37688cc719 (patch) | |
| tree | 3ce0df2cf2dc18b2bdd27b546305c4a73598c457 /sources/prefs/editors/VSProtocolEditor.java | |
| parent | 34b16d2ffc7b40df933ba85ddb8e414121116ca5 (diff) | |
TaskManager bugfixes.
Diffstat (limited to 'sources/prefs/editors/VSProtocolEditor.java')
| -rw-r--r-- | sources/prefs/editors/VSProtocolEditor.java | 274 |
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(); |
