Reverted package name to 'altosui' from 'AltosUI'
[fw/altos] / altosui / AltosEepromMonitor.java
index 7ff00eadb0c371051ae48050ca154c3bf39f824e..75643442b1a374aa299b48963b81a147d3b8ec5f 100644 (file)
@@ -27,8 +27,9 @@ import java.util.*;
 import java.text.*;
 import java.util.prefs.*;
 import java.util.concurrent.LinkedBlockingQueue;
+import org.altusmetrum.AltosLib.*;
 
-public class AltosEepromMonitor extends JDialog {
+public class AltosEepromMonitor extends AltosDialog {
 
        Container       pane;
        Box             box;
@@ -141,7 +142,7 @@ public class AltosEepromMonitor extends JDialog {
                cancel.addActionListener(l);
        }
 
-       public void set_value(String state_name, int in_state, int in_block) {
+       private void set_value_internal(String state_name, int in_state, int in_block) {
                int block = in_block;
                int state = in_state;
 
@@ -157,20 +158,104 @@ public class AltosEepromMonitor extends JDialog {
                pbar.setValue(pos);
        }
 
-       public void set_serial(int serial) {
+       public void set_value(String in_state_name, int in_state, int in_block) {
+               final String state_name = in_state_name;
+               final int state = in_state;
+               final int block = in_block;
+               Runnable r = new Runnable() {
+                               public void run() {
+                                       try {
+                                               set_value_internal(state_name, state, block);
+                                       } catch (Exception ex) {
+                                       }
+                               }
+                       };
+               SwingUtilities.invokeLater(r);
+       }
+
+       private void set_serial_internal(int serial) {
                serial_value.setText(String.format("%d", serial));
        }
 
-       public void set_flight(int flight) {
+       public void set_serial(int in_serial) {
+               final int serial = in_serial;
+               Runnable r = new Runnable() {
+                               public void run() {
+                                       try {
+                                               set_serial_internal(serial);
+                                       } catch (Exception ex) {
+                                       }
+                               }
+                       };
+               SwingUtilities.invokeLater(r);
+       }
+
+       private void set_flight_internal(int flight) {
                flight_value.setText(String.format("%d", flight));
        }
 
-       public void set_file(String file) {
+       public void set_flight(int in_flight) {
+               final int flight = in_flight;
+               Runnable r = new Runnable() {
+                               public void run() {
+                                       try {
+                                               set_flight_internal(flight);
+                                       } catch (Exception ex) {
+                                       }
+                               }
+                       };
+               SwingUtilities.invokeLater(r);
+       }
+
+       private void set_file_internal(String file) {
                file_value.setText(String.format("%s", file));
        }
 
-       public void done() {
+       public void set_file(String in_file) {
+               final String file = in_file;
+               Runnable r = new Runnable() {
+                               public void run() {
+                                       try {
+                                               set_file_internal(file);
+                                       } catch (Exception ex) {
+                                       }
+                               }
+                       };
+               SwingUtilities.invokeLater(r);
+       }
+
+       private void done_internal() {
                setVisible(false);
                dispose();
        }
+
+       public void done() {
+               Runnable r = new Runnable() {
+                               public void run() {
+                                       try {
+                                               done_internal();
+                                       } catch (Exception ex) {
+                                       }
+                               }
+                       };
+               SwingUtilities.invokeLater(r);
+       }
+
+       private void reset_internal() {
+               set_value_internal("startup",min_state,0);
+               set_flight_internal(0);
+               set_file_internal("");
+       }
+
+       public void reset() {
+               Runnable r = new Runnable() {
+                               public void run() {
+                                       try {
+                                               reset_internal();
+                                       } catch (Exception ex) {
+                                       }
+                               }
+                       };
+               SwingUtilities.invokeLater(r);
+       }
 }