summaryrefslogtreecommitdiff
path: root/sources/simulator/VSSimulation.java
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2008-05-17 18:27:44 +0000
committerPaul Buetow <paul@buetow.org>2008-05-17 18:27:44 +0000
commitc4fe31d41aa6c2ae75ba77a84c86c2c959d1cc7a (patch)
tree3bf57e1223d6d891b80ba741152ec9c8868a3eca /sources/simulator/VSSimulation.java
parent9157da2144f3f405875c4b3cf82280e3fe2f199e (diff)
Logging filter works!
Diffstat (limited to 'sources/simulator/VSSimulation.java')
-rw-r--r--sources/simulator/VSSimulation.java74
1 files changed, 59 insertions, 15 deletions
diff --git a/sources/simulator/VSSimulation.java b/sources/simulator/VSSimulation.java
index 89ffd7c..2c6de8c 100644
--- a/sources/simulator/VSSimulation.java
+++ b/sources/simulator/VSSimulation.java
@@ -11,20 +11,22 @@ import core.*;
import utils.*;
public class VSSimulation extends VSFrame implements ActionListener {
+ private JTextField filterTextField;
+ private JCheckBox filterActiveCheckBox;
+ private JCheckBox lamportActiveCheckBox;
+ private JCheckBox vectorTimeActiveCheckBox;
private JMenuItem pauseItem;
private JMenuItem replayItem;
private JMenuItem resetItem;
private JMenuItem startItem;
+ private JPanel processEditPanel;
private JSplitPane splitPaneH;
private JSplitPane splitPaneV;
- private JPanel processEditPanel;
- private VSSimulationPanel simulationPanel;
private Thread thread;
+ private VSLogging logging;
private VSPrefs prefs;
+ private VSSimulationPanel simulationPanel;
private boolean hasStarted = false;
- private VSLogging logging;
- private JCheckBox lamportActiveCheckBox;
- private JCheckBox vectorTimeActiveCheckBox;
public VSSimulation (VSPrefs prefs, Component relativeTo) {
super(prefs.getString("name"), relativeTo);
@@ -184,16 +186,6 @@ public class VSSimulation extends VSFrame implements ActionListener {
JPanel toolsPanel = new JPanel();
toolsPanel.setLayout(new BoxLayout(toolsPanel, BoxLayout.X_AXIS));
- JCheckBox loggingActiveCheckBox = new JCheckBox(prefs.getString("lang.logging.active"));
- loggingActiveCheckBox.setSelected(true);
- loggingActiveCheckBox.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent ce) {
- AbstractButton abstractButton = (AbstractButton) ce.getSource();
- ButtonModel buttonModel = abstractButton.getModel();
- logging.isPaused(!buttonModel.isSelected());
- }
- });
- toolsPanel.add(loggingActiveCheckBox);
lamportActiveCheckBox = new JCheckBox(prefs.getString("lang.time.lamport"));
lamportActiveCheckBox.setSelected(false);
@@ -221,6 +213,58 @@ public class VSSimulation extends VSFrame implements ActionListener {
});
toolsPanel.add(vectorTimeActiveCheckBox);
+ JCheckBox loggingActiveCheckBox = new JCheckBox(prefs.getString("lang.logging.active"));
+ loggingActiveCheckBox.setSelected(true);
+ loggingActiveCheckBox.addChangeListener(new ChangeListener() {
+ public void stateChanged(ChangeEvent ce) {
+ AbstractButton abstractButton = (AbstractButton) ce.getSource();
+ ButtonModel buttonModel = abstractButton.getModel();
+ logging.isPaused(!buttonModel.isSelected());
+ }
+ });
+ toolsPanel.add(loggingActiveCheckBox);
+
+ filterActiveCheckBox = new JCheckBox(prefs.getString("lang.filter"));
+ filterActiveCheckBox.setSelected(false);
+ filterActiveCheckBox.addChangeListener(new ChangeListener() {
+ public void stateChanged(ChangeEvent ce) {
+ AbstractButton abstractButton = (AbstractButton) ce.getSource();
+ ButtonModel buttonModel = abstractButton.getModel();
+ logging.isFiltered(buttonModel.isSelected());
+ if (buttonModel.isSelected())
+ logging.setFilterText(filterTextField.getText());
+ }
+ });
+ toolsPanel.add(filterActiveCheckBox);
+
+ filterTextField = new JTextField();
+ filterTextField.getDocument().addDocumentListener(new DocumentListener() {
+ public void insertUpdate(DocumentEvent de) {
+ logging.setFilterText(filterTextField.getText());
+ }
+
+ public void removeUpdate(DocumentEvent de) {
+ logging.setFilterText(filterTextField.getText());
+ }
+
+ public void changedUpdate(DocumentEvent de) {
+ logging.setFilterText(filterTextField.getText());
+ }
+ });
+ toolsPanel.add(filterTextField);
+
+ JButton clearButton = new JButton(prefs.getString("lang.logging.clear"));
+ clearButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent ae) {
+ String actionCommand = ae.getActionCommand();
+
+ if (actionCommand.equals(prefs.getString("lang.logging.clear"))) {
+ logging.clear();
+ }
+ }
+ });
+ toolsPanel.add(clearButton);
+
return toolsPanel;
}