diff options
| author | Paul Buetow <paul@buetow.org> | 2008-06-13 22:57:15 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2008-06-13 22:57:15 +0000 |
| commit | 053ecc68889e3b4ed1afd23ec12d6ff0aea593d4 (patch) | |
| tree | d62eadeb7c06712a7c4d8fad33bd35d09bfe79b2 /sources/simulator/VSSimulator.java | |
| parent | 12b26d3285b05ad3d7387280bd7e9ec016f818d8 (diff) | |
compiles again
Diffstat (limited to 'sources/simulator/VSSimulator.java')
| -rw-r--r-- | sources/simulator/VSSimulator.java | 80 |
1 files changed, 58 insertions, 22 deletions
diff --git a/sources/simulator/VSSimulator.java b/sources/simulator/VSSimulator.java index 21b2de5..ece71b0 100644 --- a/sources/simulator/VSSimulator.java +++ b/sources/simulator/VSSimulator.java @@ -289,6 +289,9 @@ public class VSSimulator extends JPanel implements VSSerializable { * @see javax.swing.table.AbstractTableModel#isCellEditable(int, int) */ public boolean isCellEditable(int row, int col) { + if (col == 2) + return false; + return true; } @@ -314,24 +317,34 @@ public class VSSimulator extends JPanel implements VSSerializable { * Removes the task at a specified row. * * @param row the row - * @return The removed task + * @return The removed task */ public VSTask removeTaskAtRow(int row) { VSTask task = tasks.get(row); tasks.remove(task); taskManager.removeTask(task); fireTableDataChanged(); - return task; + return task; + } + + /** + * Gets the task at a specified row. + * + * @param row the row + * @return The task + */ + public VSTask getTaskAtRow(int row) { + return tasks.get(row); } /** * Gets the index of a specific task * * @param task The task - * @return The index of the task + * @return The index of the task */ public int getIndexOf(VSTask task) { - return tasks.indexOf(task); + return tasks.indexOf(task); } /** @@ -456,38 +469,61 @@ public class VSSimulator extends JPanel implements VSSerializable { valField.setBackground(Color.WHITE); valField.setBorder(null); valField.addActionListener(new ActionListener() { - private boolean isRed = false; - public void actionPerformed(ActionEvent ae) { + private boolean isRed = false; + public void actionPerformed(ActionEvent ae) { try { Long val = Long.valueOf(valField.getText()); - VSTask task = model.removeTaskAtRow(row); - task.setTaskTime(val.longValue()); - taskManager.addTask(task, VSTaskManager.PROGRAMMED); - model.addTask(task); - if (isRed) { - valField.setBackground(Color.WHITE); - isRed = false; - } - int index = model.getIndexOf(task); - ListSelectionModel selectionModel = - table.getSelectionModel(); - selectionModel.setSelectionInterval(index, index); - fireEditingStopped(); + VSTask task = model.removeTaskAtRow(row); + task.setTaskTime(val.longValue()); + taskManager.addTask(task, VSTaskManager.PROGRAMMED); + model.addTask(task); + if (isRed) { + valField.setBackground(Color.WHITE); + isRed = false; + } + int index = model.getIndexOf(task); + ListSelectionModel selectionModel = + table.getSelectionModel(); + selectionModel.setSelectionInterval(index, index); + fireEditingStopped(); } catch (NumberFormatException exc) { valField.setBackground(Color.RED); - isRed = true; + isRed = true; } } }); return valField; case 1: - break; + Integer current[] = { (Integer) model.getValueAt(row, col) }; + final JComboBox comboBox = new JComboBox(current); + + Integer pids[] = simulatorCanvas.getProcessIDs(); + for (Integer pid : pids) + comboBox.addItem(pid); + + comboBox.setSelectedIndex(0); + comboBox.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent ae) { + System.out.println("DFSDF "); + int index = comboBox.getSelectedIndex() - 1; + if (index >= 0) { + VSTask task = model.getTaskAtRow(row); + VSProcess process = + simulatorCanvas.getProcess(index); + task.setProcess(process); + } + + fireEditingStopped(); + } + }); + + return comboBox; case 2: break; } - return new JTextField(); + return null; } /* (non-Javadoc) |
