[chronojump] persons can be changed while encoder cont capture. Need tests!!



commit eebfb1f19191053ea28cfbc726e0e1d1ad109898
Author: Xavier de Blas <xaviblas gmail com>
Date:   Fri Feb 17 00:30:31 2017 +0100

    persons can be changed while encoder cont capture. Need tests!!

 glade/app1.glade      |   11 +++++++----
 src/gui/chronojump.cs |   43 +++++++++++++++++++++++++++++++------------
 src/gui/encoder.cs    |   12 ++++++++----
 3 files changed, 46 insertions(+), 20 deletions(-)
---
diff --git a/glade/app1.glade b/glade/app1.glade
index aaf49b4..6daaf24 100644
--- a/glade/app1.glade
+++ b/glade/app1.glade
@@ -1959,7 +1959,7 @@ Carles</property>
                                                 <property name="can_focus">False</property>
                                                 <property name="spacing">4</property>
                                                 <child>
-                                                  <widget class="GtkHBox" id="hbox126">
+                                                  <widget class="GtkHBox" id="hbox_persons_top">
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">False</property>
                                                     <property name="spacing">8</property>
@@ -2110,7 +2110,7 @@ Carles</property>
                                                   </packing>
                                                 </child>
                                                 <child>
-                                                  <widget class="GtkVBox" id="vbox13">
+                                                  <widget class="GtkVBox" id="vbox_persons_bottom">
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">False</property>
                                                     <property name="spacing">6</property>
@@ -2190,7 +2190,7 @@ Carles</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkFrame" id="frame3">
+                                                            <widget class="GtkFrame" id="frame_persons_rest">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="label_xalign">0</property>
@@ -2349,7 +2349,7 @@ Carles</property>
                                                         <property name="can_focus">False</property>
                                                         <property name="spacing">2</property>
                                                         <child>
-                                                          <widget class="GtkHBox" id="hbox16">
+                                                          <widget class="GtkHBox" id="hbox_persons_bottom">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="spacing">2</property>
@@ -18611,6 +18611,9 @@ then click this button.</property>
                                                             <child>
                                                             <placeholder/>
                                                             </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index 59beb87..f3b7392 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -297,6 +297,9 @@ public partial class ChronoJumpWindow
 
        //widgets for enable or disable
        [Widget] Gtk.Frame frame_persons;
+       [Widget] Gtk.HBox hbox_persons_top;
+       [Widget] Gtk.Frame frame_persons_rest;
+       [Widget] Gtk.HBox hbox_persons_bottom;
        [Widget] Gtk.Button button_recuperate_person;
        [Widget] Gtk.Button button_recuperate_persons_from_session;
        [Widget] Gtk.Button button_person_add_single;
@@ -3873,7 +3876,7 @@ public partial class ChronoJumpWindow
                        
                //hide jumping buttons
                if(! execute_auto_doing)
-                       sensitiveGuiEventDoing();
+                       sensitiveGuiEventDoing(false);
 
                //show the event doing window
                double progressbarLimit = 3; //3 phases for show the Dj
@@ -4120,7 +4123,7 @@ public partial class ChronoJumpWindow
                currentEventType = currentJumpRjType;
                        
                //hide jumping buttons
-               sensitiveGuiEventDoing();
+               sensitiveGuiEventDoing(false);
        
                //don't let update until test finishes
                if(createdStatsWin)
@@ -4244,7 +4247,7 @@ public partial class ChronoJumpWindow
                currentEventType = currentRunType;
                        
                //hide jumping (running) buttons
-               sensitiveGuiEventDoing();
+               sensitiveGuiEventDoing(false);
        
                //show the event doing window
                
@@ -4371,7 +4374,7 @@ public partial class ChronoJumpWindow
                currentEventType = currentRunIntervalType;
                        
                //hide running buttons
-               sensitiveGuiEventDoing();
+               sensitiveGuiEventDoing(false);
                
                //don't let update until test finishes
                if(createdStatsWin)
@@ -4487,7 +4490,7 @@ public partial class ChronoJumpWindow
                currentEventType = new ReactionTimeType();
                        
                //hide jumping buttons
-               sensitiveGuiEventDoing();
+               sensitiveGuiEventDoing(false);
 
                //show the event doing window
                double progressbarLimit = 2;
@@ -4665,7 +4668,7 @@ public partial class ChronoJumpWindow
                currentEventType = currentPulseType;
                        
                //hide pulse buttons
-               sensitiveGuiEventDoing();
+               sensitiveGuiEventDoing(false);
                
                //don't let update until test finishes
                if(createdStatsWin)
@@ -4939,7 +4942,7 @@ public partial class ChronoJumpWindow
                currentEventType = new MultiChronopicType();
                        
                //hide pulse buttons
-               sensitiveGuiEventDoing();
+               sensitiveGuiEventDoing(false);
                
                //don't let update until test finishes
                if(createdStatsWin)
@@ -6646,7 +6649,7 @@ LogB.Debug("X");
        private void sensitiveGuiYesEvent () {
        }
        
-       private void sensitiveGuiEventDoing ()
+       private void sensitiveGuiEventDoing (bool cont)
        {
                session_menuitem.Sensitive = false;
                menuitem_mode.Sensitive = false;
@@ -6661,7 +6664,15 @@ LogB.Debug("X");
                
                
                help_menuitem.Sensitive = false;
-               frame_persons.Sensitive = false;
+
+               if(cont)
+               {
+                       hbox_persons_top.Sensitive = false;
+                       //treeview_persons is shown (person can be changed)
+                       frame_persons_rest.Sensitive = false;
+                       hbox_persons_bottom.Sensitive = false;
+               } else
+                       frame_persons.Sensitive = false;
                
                button_execute_test.Sensitive = false;
                
@@ -6701,14 +6712,22 @@ LogB.Debug("X");
                notebook_capture_analyze.GetNthPage(1).Show();
                if(radio_menuitem_mode_jumps_simple.Active)
                        notebook_capture_analyze.GetNthPage(2).Show();
-               
+
                help_menuitem.Sensitive = true;
+
                frame_persons.Sensitive = true;
+               //check this is sensitive (because on cont was unsensitive)
+               if(! hbox_persons_top.Sensitive)
+                       hbox_persons_top.Sensitive = true;
+               if(! frame_persons_rest.Sensitive)
+                       frame_persons_rest.Sensitive = true;
+               if(! hbox_persons_bottom.Sensitive)
+                       hbox_persons_bottom.Sensitive = true;
 
                button_execute_test.Sensitive = true;
-               
+
                button_encoder_person_change.Sensitive = true;
-       
+
                if(encoderCaptureCurves != null && encoderCaptureCurves.Count > 0)
                        encoderButtonsSensitive(encoderSensEnum.DONEYESSIGNAL);
                else
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index 4798221..0306ca9 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -663,7 +663,7 @@ public partial class ChronoJumpWindow
                        {
                                //show inertia calibrate instructions. User will click on calibrate and this 
method will be called again
 
-                               sensitiveGuiEventDoing();
+                               sensitiveGuiEventDoing(radio_encoder_capture_cont.Active);
                                button_encoder_inertial_calibrate.Sensitive = true;
                                label_wait.Text = " ";
                                notebook_encoder_capture_or_instructions.Page = 1;
@@ -679,7 +679,7 @@ public partial class ChronoJumpWindow
 
                radiobutton_video_encoder_capture.Active = true;
 
-               sensitiveGuiEventDoing();
+               sensitiveGuiEventDoing(radio_encoder_capture_cont.Active);
 
                LogB.Debug("Calling encoderThreadStart for capture");
 
@@ -3813,8 +3813,8 @@ public partial class ChronoJumpWindow
         * encoderPersonChanged()
         * select_menuitem_mode_toggled(Constants.Menuitem_modes m)
         */
-       private void blankEncoderInterface() {
-               
+       private void blankEncoderInterface()
+       {
                if(radio_encoder_analyze_individual_current_set.Active)
                        updateComboEncoderAnalyzeCurveNumFromCurrentSet ();
                else
@@ -3825,8 +3825,12 @@ public partial class ChronoJumpWindow
                button_encoder_analyze_sensitiveness();
                
                treeviewEncoderCaptureRemoveColumns();
+
                if(encoder_capture_curves_bars_pixmap != null) 
                        UtilGtk.ErasePaint(encoder_capture_curves_bars_drawingarea, 
encoder_capture_curves_bars_pixmap);
+               if(encoder_capture_signal_pixmap != null)
+                       UtilGtk.ErasePaint(encoder_capture_signal_drawingarea, encoder_capture_signal_pixmap);
+
                image_encoder_capture.Sensitive = false;
                image_encoder_analyze.Sensitive = false;
                treeview_encoder_analyze_curves.Sensitive = false;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]