From 05c8954f79a8447b61a7aa7b9a817e76b117540e Mon Sep 17 00:00:00 2001
From: "Michael D. M. Dryden" <mdryden@chem.utoronto.ca>
Date: Tue, 15 Jul 2014 10:37:07 -0400
Subject: [PATCH] Now disables start button while experiment is running.

---
 dstatInterface/interface/dstatInterface.glade | 1 +
 dstatInterface/interface_test.py              | 8 ++++++++
 2 files changed, 9 insertions(+)

diff --git a/dstatInterface/interface/dstatInterface.glade b/dstatInterface/interface/dstatInterface.glade
index 01ebc18..a6637ab 100644
--- a/dstatInterface/interface/dstatInterface.glade
+++ b/dstatInterface/interface/dstatInterface.glade
@@ -372,6 +372,7 @@
                       <object class="GtkButton" id="pot_stop">
                         <property name="label">gtk-stop</property>
                         <property name="visible">True</property>
+                        <property name="sensitive">False</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">True</property>
                         <property name="use_stock">True</property>
diff --git a/dstatInterface/interface_test.py b/dstatInterface/interface_test.py
index 67945c4..4dd0ab9 100644
--- a/dstatInterface/interface_test.py
+++ b/dstatInterface/interface_test.py
@@ -62,6 +62,8 @@ class main:
         self.aboutdialog = self.builder.get_object('aboutdialog1')
         self.rawbuffer = self.builder.get_object('databuffer1')
         self.databuffer = self.builder.get_object('databuffer2')
+        self.stopbutton = self.builder.get_object('pot_stop')
+        self.startbutton = self.builder.get_object('pot_start')
         self.adc_pot = adc_pot.adc_pot()
         self.chronoamp = chronoamp.chronoamp()
         self.lsv = lsv.lsv()
@@ -204,6 +206,8 @@ class main:
         self.lastdataline = 0
         
         self.spinner.start()
+        self.startbutton.set_sensitive(False)
+        self.stopbutton.set_sensitive(True)
         self.statusbar.remove_all(self.error_context_id)
         
         try:
@@ -377,6 +381,10 @@ class main:
             self.spinner.stop()
             self.statusbar.push(self.error_context_id, str(e))
 
+        finally:
+            self.startbutton.set_sensitive(False)
+            self.stopbutton.set_sensitive(True)
+
     def experiment_running(self):
         try:
             if self.recv_p.poll():
-- 
GitLab