[chronojump] Fixed: at force sensor zoom, if we resize window, graph is not ok



commit 33fde7255c73c5de98b23bd2b7d62151aacfd5d2
Author: Xavier de Blas <xaviblas gmail com>
Date:   Wed Apr 22 11:20:50 2020 +0200

    Fixed: at force sensor zoom, if we resize window, graph is not ok

 src/gui/app1/chronojump.cs         |  2 +-
 src/gui/app1/forceSensor.cs        | 16 ++++++++++++----
 src/gui/app1/forceSensorAnalyze.cs | 19 +++++++++++++------
 3 files changed, 26 insertions(+), 11 deletions(-)
---
diff --git a/src/gui/app1/chronojump.cs b/src/gui/app1/chronojump.cs
index 66b132df..ec28dfcc 100644
--- a/src/gui/app1/chronojump.cs
+++ b/src/gui/app1/chronojump.cs
@@ -2751,7 +2751,7 @@ public partial class ChronoJumpWindow
 
                // update force_capture_drawingarea
                if(current_menuitem_mode == Constants.Menuitem_modes.FORCESENSOR && 
radiobutton_force_sensor_analyze_manual.Active)
-                       forceSensorDoGraphAI();
+                       forceSensorDoGraphAI(false);
        }
 
 
diff --git a/src/gui/app1/forceSensor.cs b/src/gui/app1/forceSensor.cs
index e45badef..896fb936 100644
--- a/src/gui/app1/forceSensor.cs
+++ b/src/gui/app1/forceSensor.cs
@@ -1085,7 +1085,7 @@ LogB.Information(" fs C ");
                                        if(force_sensor_ai_drawingareaShown)
                                        {
                                                forceSensorZoomDefaultValues();
-                                               forceSensorDoGraphAI();
+                                               forceSensorDoGraphAI(false);
                                        }
                                        button_contacts_exercise_close_and_recalculate.Sensitive = true;
                                        button_delete_last_test.Sensitive = true;
@@ -1520,6 +1520,7 @@ LogB.Information(" fs R ");
                currentForceSensor = fs;
                lastForceSensorFile = Util.RemoveExtension(fs.Filename);
                lastForceSensorFullPath = fs.FullURL;
+               LogB.Information("lastForceSensorFullPath: " + lastForceSensorFullPath);
 
                combo_force_sensor_exercise.Active = UtilGtk.ComboMakeActive(combo_force_sensor_exercise, 
fs.ExerciseName);
                setForceSensorCaptureOptions(fs.CaptureOption);
@@ -1565,7 +1566,7 @@ LogB.Information(" fs R ");
                if(force_sensor_ai_drawingareaShown)
                {
                        forceSensorZoomDefaultValues();
-                       forceSensorDoGraphAI();
+                       forceSensorDoGraphAI(false);
                }
                //event_execute_label_message.Text = "Loaded: " + 
Util.GetLastPartOfPath(filechooser.Filename);
                button_contacts_exercise_close_and_recalculate.Sensitive = true;
@@ -1747,7 +1748,7 @@ LogB.Information(" fs R ");
                if(force_sensor_ai_drawingareaShown)
                {
                        forceSensorZoomDefaultValues();
-                       forceSensorDoGraphAI();
+                       forceSensorDoGraphAI(false);
                }
 
                currentForceSensor.UpdateSQL(false);
@@ -1768,6 +1769,9 @@ LogB.Information(" fs R ");
        private enum forceSensorGraphsEnum { SIGNAL, RFD }
        private void forceSensorCopyTempAndDoGraphs(forceSensorGraphsEnum fsge)
        {
+               LogB.Information(string.Format("at forceSensorCopyTempAndDoGraphs(), lastForceSensorFullPath: 
{0}, UtilEncoder.GetmifCSVFileName(): {1}",
+                               lastForceSensorFullPath, UtilEncoder.GetmifCSVFileName()));
+
                File.Copy(lastForceSensorFullPath, UtilEncoder.GetmifCSVFileName(), true); //can be 
overwritten
 
                if(fsge == forceSensorGraphsEnum.SIGNAL)
@@ -1846,6 +1850,7 @@ LogB.Information(" fs R ");
                                preferences.forceSensorCaptureWidthSeconds
                                );
 
+               //LogB.Information("at forceSensorDoSignalGraphReadFile(), filename: " + 
UtilEncoder.GetmifCSVFileName());
                List<string> contents = Util.ReadFileAsStringList(UtilEncoder.GetmifCSVFileName());
                bool headersRow = true;
 
@@ -1878,6 +1883,9 @@ LogB.Information(" fs R ");
                }
                ForceSensorDynamics fsd;
 
+               //LogB.Information(string.Format("size of times: {0}", times.Count));
+               //LogB.Information(string.Format("size of forces: {0}", forces.Count));
+
                if(currentForceSensorExercise.ComputeAsElastic)
                        fsd = new ForceSensorDynamicsElastic(
                                        times, forces, fsco, currentForceSensorExercise, 
currentPersonSession.Weight, currentForceSensor.Stiffness,
@@ -2438,7 +2446,7 @@ LogB.Information(" fs R ");
 
                forceSensorExerciseWin.HideAndNull();
 
-               forceSensorDoGraphAI();
+               forceSensorDoGraphAI(false);
        }
 
        //based on: on_button_encoder_exercise_delete
diff --git a/src/gui/app1/forceSensorAnalyze.cs b/src/gui/app1/forceSensorAnalyze.cs
index 882c443f..1985486d 100644
--- a/src/gui/app1/forceSensorAnalyze.cs
+++ b/src/gui/app1/forceSensorAnalyze.cs
@@ -590,10 +590,10 @@ public partial class ChronoJumpWindow
                hbox_force_sensor_analyze_automatic_options.Visible = false;
                notebook_force_sensor_analyze.CurrentPage = 1;
                force_sensor_ai_drawingareaShown = true;
-               forceSensorDoGraphAI();
+               forceSensorDoGraphAI(false);
        }
 
-       private void forceSensorDoGraphAI()
+       private void forceSensorDoGraphAI(bool windowResizedAndZoom)
        {
                if(lastForceSensorFullPath == null || lastForceSensorFullPath == "")
                        return;
@@ -601,7 +601,12 @@ public partial class ChronoJumpWindow
                int zoomFrameA = -1; //means no zoom
                int zoomFrameB = -1; //means no zoom
 
-               if(forceSensorZoomApplied &&
+               if(windowResizedAndZoom)
+               {
+                       zoomFrameA = hscale_force_sensor_ai_a_BeforeZoom -1;
+                       zoomFrameB = hscale_force_sensor_ai_b_BeforeZoom +1;
+               }
+               else if(forceSensorZoomApplied &&
                                Util.IsNumber(label_force_sensor_ai_time_a.Text, true) &&
                                Util.IsNumber(label_force_sensor_ai_time_b.Text, true))
                {
@@ -843,7 +848,9 @@ public partial class ChronoJumpWindow
                        return;
 
                force_sensor_ai_drawingareaShown = true;
-               forceSensorDoGraphAI();
+
+               //taking care of have the BeforeZoom hscales if user reescales window on a zoomed graph
+               forceSensorDoGraphAI(forceSensorZoomApplied && hscale_force_sensor_ai_b_BeforeZoom > 0);
 
                Gdk.EventConfigure ev = args.Event;
                Gdk.Window window = ev.Window;
@@ -1018,7 +1025,7 @@ public partial class ChronoJumpWindow
 
                forceSensorRepetition_lZoomApplied = fsAI.ForceSensorRepetition_l;
 
-               forceSensorDoGraphAI();
+               forceSensorDoGraphAI(false);
 
                button_force_sensor_ai_zoom.Visible = false;
                button_force_sensor_ai_zoom_out.Visible = true;
@@ -1033,7 +1040,7 @@ public partial class ChronoJumpWindow
                //                      hscale_force_sensor_ai_a_AtZoom,
                //                      hscale_force_sensor_ai_b_AtZoom));
 
-               forceSensorDoGraphAI();
+               forceSensorDoGraphAI(false);
 
                hscale_force_sensor_ai_a.Value = hscale_force_sensor_ai_a_BeforeZoom + 
(hscale_force_sensor_ai_a_AtZoom -1);
                hscale_force_sensor_ai_b.Value = hscale_force_sensor_ai_a_BeforeZoom + 
(hscale_force_sensor_ai_b_AtZoom -1);


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