hps-java/src/main/java/org/lcsim/hps/monitoring
diff -u -r1.12 -r1.13
--- MonitoringApplication.java 13 Apr 2012 00:02:54 -0000 1.12
+++ MonitoringApplication.java 13 Apr 2012 00:56:42 -0000 1.13
@@ -12,6 +12,7 @@
import static org.lcsim.hps.monitoring.MonitoringCommands.savePlotsCmd;
import static org.lcsim.hps.monitoring.MonitoringCommands.screenshotCmd;
import static org.lcsim.hps.monitoring.MonitoringCommands.terminalCmd;
+import static org.lcsim.hps.monitoring.MonitoringCommands.eventRefreshCmd;
import java.awt.AWTException;
import java.awt.Dimension;
@@ -84,6 +85,7 @@
private JMenuItem connectionSaveItem;
private JMenuItem exitItem;
private JMenuItem resetEventsItem;
+ private JMenuItem eventRefreshItem;
private JMenuItem savePlotsItem;
private JMenuItem resetDriversItem;
private JMenuItem logItem;
@@ -149,6 +151,10 @@
else if (resetEventsCmd.equals(cmd)) {
app.eventPanel.actionPerformed(e);
}
+ else if (eventRefreshCmd.equals(cmd)) {
+ System.out.println("ActionEvent = " + cmd);
+ app.setEventRefresh();
+ }
else if (savePlotsCmd.equals(cmd)) {
app.savePlots();
}
@@ -267,6 +273,12 @@
resetEventsItem.addActionListener(actionListener);
eventMenu.add(resetEventsItem);
+ eventRefreshItem = new JMenuItem("Set Event Refresh...");
+ eventRefreshItem.setMnemonic(KeyEvent.VK_V);
+ eventRefreshItem.setActionCommand(eventRefreshCmd);
+ eventRefreshItem.addActionListener(actionListener);
+ eventMenu.add(eventRefreshItem);
+
JMenu jobMenu = new JMenu("Job");
menuBar.add(jobMenu);
@@ -411,7 +423,21 @@
terminalItem.setEnabled(false);
logItem.setEnabled(true);
}
-
+
+ private void setEventRefresh() {
+ String inputValue = JOptionPane.showInputDialog("Event Refresh Rate:", eventPanel.getEventRefresh());
+ try {
+ int newEventRefresh = Integer.parseInt(inputValue);
+ if (newEventRefresh < 1) {
+ throw new RuntimeException("Event Refresh must be > 0.");
+ }
+ eventPanel.setEventRefresh(newEventRefresh);
+ }
+ catch (Exception e) {
+ showDialog("The value " + inputValue + " is not valid for this field.");
+ }
+ }
+
private void setDisconnectedGuiState() {
// Enable or disable appropriate menu items.
@@ -715,15 +741,15 @@
// Setup the MonitoringApplication GUI.
MonitoringApplication app = MonitoringApplication.createMonitoringApplication();
- // MC test job settings.
+ // Settings for Test Run data.
final String defaultDetectorName = "HPS-Test-JLAB-v4pt0";
- //final String defaultSteering = "/org/lcsim/hps/steering/MCMonitoring.lcsim";
- //final String defaultEventBuilder = MCEventBuilder.class.getCanonicalName();
-
- // These are for Test Run data.
final String defaultSteering = "/org/lcsim/hps/steering/TestRunMonitoring.lcsim";
final String defaultEventBuilder = LCSimTestRunEventBuilder.class.getCanonicalName();
+ // Settings for old MC format.
+ //final String defaultSteering = "/org/lcsim/hps/steering/MCMonitoring.lcsim";
+ //final String defaultEventBuilder = MCEventBuilder.class.getCanonicalName();
+
// Push default settings to JobPanel.
app.setJobParameters(new JobParameters(new String[] {defaultDetectorName, defaultSteering, defaultEventBuilder}));
app.run();
hps-java/src/main/java/org/lcsim/hps/monitoring
diff -u -r1.5 -r1.6
--- EventPanel.java 8 Apr 2012 23:48:12 -0000 1.5
+++ EventPanel.java 13 Apr 2012 00:56:42 -0000 1.6
@@ -8,7 +8,6 @@
import java.text.DecimalFormat;
import javax.swing.JLabel;
-import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
@@ -123,11 +122,10 @@
c.gridx = 1;
c.gridy = 3;
c.anchor = GridBagConstraints.EAST;
- refreshField = new JTextField(Integer.toString(eventRefresh), 4);
+ refreshField = new JTextField(Integer.toString(eventRefresh), 8);
refreshField.setHorizontalAlignment(JTextField.RIGHT);
- refreshField.setEditable(true);
- refreshField.addActionListener(this);
- refreshField.setActionCommand("eventRefreshEdit");
+ refreshField.setEditable(false);
+ refreshField.setBackground(Color.WHITE);
fieldsPanel.add(refreshField, c);
c = new GridBagConstraints();
@@ -185,7 +183,7 @@
fieldsPanel.add(totalSuppliedField, c);
}
- private int getEventRefresh() {
+ int getEventRefresh() {
return eventRefresh;
}
@@ -244,27 +242,21 @@
}
}
+ // FIXME: Move this to MonitoringApplicationActionListener.
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
if (MonitoringCommands.resetEventsCmd.equals(cmd)) {
reset();
- } else if (MonitoringCommands.refreshCmd.equals(cmd)) {
- eventRefreshEdit();
- }
+ }
}
-
- private void eventRefreshEdit() {
- int newEventRefresh;
- try {
- newEventRefresh = Integer.parseInt(refreshField.getText());
- if (newEventRefresh < 1)
- throw new NumberFormatException();
- this.eventRefresh = newEventRefresh;
- } catch (NumberFormatException e) {
- JOptionPane.showMessageDialog(this, "The value " + refreshField.getText() + " is not valid for this field.");
- eventRefresh = defaultEventRefresh;
- refreshField.setText(Integer.toString(eventRefresh));
- }
+
+ void setEventRefresh(final int eventRefresh) {
+ this.eventRefresh = eventRefresh;
+ SwingUtilities.invokeLater(new Runnable() {
+ public void run() {
+ refreshField.setText(Integer.toString(eventRefresh));
+ }
+ });
}
synchronized void reset() {
@@ -277,11 +269,19 @@
private void resetEventCount() {
eventCount = 0;
- eventCounterField.setText("0");
+ SwingUtilities.invokeLater(new Runnable() {
+ public void run() {
+ eventCounterField.setText("0");
+ }
+ });
}
private void resetElapsedTime() {
- elapsedTimeField.setText("0");
+ SwingUtilities.invokeLater(new Runnable() {
+ public void run() {
+ elapsedTimeField.setText("0");
+ }
+ });
}
private void resetJobStartTime() {
@@ -289,16 +289,29 @@
}
private void resetAverageEventRate() {
- avgEventRateField.setText("0");
+ SwingUtilities.invokeLater(new Runnable() {
+ public void run() {
+ avgEventRateField.setText("0");
+ }
+ });
}
private void resetBadEventCount() {
this.badEventCount = 0;
- this.badEventsField.setText("0");
+ SwingUtilities.invokeLater(new Runnable() {
+ public void run() {
+ badEventsField.setText("0");
+ }
+ });
}
void resetSessionSupplied() {
this.sessionSupplied = 0;
- this.sessionSuppliedField.setText("0");
- }
+ SwingUtilities.invokeLater(new Runnable() {
+ public void run() {
+ sessionSuppliedField.setText("0");
+ }
+ });
+
+ }
}
\ No newline at end of file