[chronojump] Fixed mouse click on Cairo: JumpsEvolutionGraph, RunsEvolutionGraph



commit 5f34e6788ff274451bdad975edcbf4c13018399a
Author: Xavier de Blas <xaviblas gmail com>
Date:   Tue May 17 10:16:59 2022 +0200

    Fixed mouse click on Cairo: JumpsEvolutionGraph, RunsEvolutionGraph

 src/gui/app1/jumpsRunsEvolution.cs   | 18 ++++--------------
 src/gui/app1/jumpsWeightFVProfile.cs |  4 ----
 src/gui/cairo/jumpsRunsEvolution.cs  | 11 +++++++++++
 3 files changed, 15 insertions(+), 18 deletions(-)
---
diff --git a/src/gui/app1/jumpsRunsEvolution.cs b/src/gui/app1/jumpsRunsEvolution.cs
index 2dd19f4f7..52566d9f8 100644
--- a/src/gui/app1/jumpsRunsEvolution.cs
+++ b/src/gui/app1/jumpsRunsEvolution.cs
@@ -132,10 +132,6 @@ public partial class ChronoJumpWindow
        }
        private void on_drawingarea_jumps_evolution_expose_event (object o, ExposeEventArgs args) 
        {
-               //needed to have mouse clicks at: on_drawingarea_jumps_evolution_button_press_event ()
-//             drawingarea_jumps_evolution.AddEvents((int) (Gdk.EventMask.ButtonPressMask | 
Gdk.EventMask.ButtonReleaseMask));
-               drawingarea_jumps_evolution.AddEvents((int) Gdk.EventMask.ButtonPressMask);
-
                jumpsEvolutionDo(false); //do not calculate data
                //data is calculated on switch page (at notebook_capture_analyze) or on change person
        }
@@ -150,9 +146,8 @@ public partial class ChronoJumpWindow
                LogB.Information("Button press done!");
 
                //redo the graph to delete previous rectangles of previous mouse clicks
-               jumpsEvolutionGraph.Do(preferences.fontType.ToString());
-               LogB.Information(string.Format("Mouse X: {0}; Mouse Y: {1}", args.Event.X, args.Event.Y));
-               jumpsEvolutionGraph.CalculateAndWriteRealXY(args.Event.X, args.Event.Y);
+               jumpsEvolutionGraph.PassMouseXY (args.Event.X, args.Event.Y);
+               jumpsEvolutionGraph.Do (preferences.fontType.ToString());
        }
 
        private void on_button_jumps_evolution_save_image_clicked (object o, EventArgs args)
@@ -353,10 +348,6 @@ public partial class ChronoJumpWindow
        }
        private void on_drawingarea_runs_evolution_expose_event (object o, ExposeEventArgs args)
        {
-               //needed to have mouse clicks at: on_drawingarea_runs_evolution_button_press_event ()
-//             drawingarea_runs_evolution.AddEvents((int) (Gdk.EventMask.ButtonPressMask | 
Gdk.EventMask.ButtonReleaseMask));
-               drawingarea_runs_evolution.AddEvents((int) Gdk.EventMask.ButtonPressMask);
-
                runsEvolutionDo(false, false); //do not calculate data
                //data is calculated on switch page (at notebook_capture_analyze) or on change person
        }
@@ -371,9 +362,8 @@ public partial class ChronoJumpWindow
                LogB.Information("Button press done!");
 
                //redo the graph to delete previous rectangles of previous mouse clicks
-               runsEvolutionGraph.Do(preferences.fontType.ToString());
-               LogB.Information(string.Format("Mouse X: {0}; Mouse Y: {1}", args.Event.X, args.Event.Y));
-               runsEvolutionGraph.CalculateAndWriteRealXY(args.Event.X, args.Event.Y);
+               runsEvolutionGraph.PassMouseXY (args.Event.X, args.Event.Y);
+               runsEvolutionGraph.Do (preferences.fontType.ToString());
        }
 
        private void on_button_runs_evolution_save_image_clicked (object o, EventArgs args)
diff --git a/src/gui/app1/jumpsWeightFVProfile.cs b/src/gui/app1/jumpsWeightFVProfile.cs
index e47258b4a..3c4dd1073 100644
--- a/src/gui/app1/jumpsWeightFVProfile.cs
+++ b/src/gui/app1/jumpsWeightFVProfile.cs
@@ -140,10 +140,6 @@ public partial class ChronoJumpWindow
        }
        private void on_drawingarea_jumps_weight_fv_profile_expose_event (object o, ExposeEventArgs args) 
        {
-               //needed to have mouse clicks at: on_drawingarea_jumps_weight_fv_profile_button_press_event ()
-//             drawingarea_jumps_weight_fv_profile.AddEvents((int) (Gdk.EventMask.ButtonPressMask | 
Gdk.EventMask.ButtonReleaseMask));
-               drawingarea_jumps_weight_fv_profile.AddEvents((int) Gdk.EventMask.ButtonPressMask);
-
                jumpsWeightFVProfileDo(false); //do not calculate data
                //data is calculated on switch page (at notebook_capture_analyze) or on change person
        }
diff --git a/src/gui/cairo/jumpsRunsEvolution.cs b/src/gui/cairo/jumpsRunsEvolution.cs
index 262188a18..16dbd9d66 100644
--- a/src/gui/cairo/jumpsRunsEvolution.cs
+++ b/src/gui/cairo/jumpsRunsEvolution.cs
@@ -44,6 +44,9 @@ public abstract class EvolutionGraph : CairoXY
                writeTitle();
                addClickableMark(g);
 
+               if(mouseX >= 0 && mouseY >= 0)
+                       calculateAndWriteRealXY ();
+
                endGraphDisposing(g, surface, area.GdkWindow);
        }
 
@@ -156,6 +159,10 @@ public class JumpsEvolutionGraph : EvolutionGraph
                yVariable = heightStr;
                xUnits = "";
                yUnits = "cm";
+
+               area.AddEvents((int) Gdk.EventMask.ButtonPressMask); //to have mouse clicks
+               mouseX = -1;
+               mouseY = -1;
        }
 
        protected override void writeTitle()
@@ -214,6 +221,10 @@ public class RunsEvolutionGraph : EvolutionGraph
                        else
                                yUnits = "km/h";
                }
+
+               area.AddEvents((int) Gdk.EventMask.ButtonPressMask); //to have mouse clicks
+               mouseX = -1;
+               mouseY = -1;
        }
 
        protected override void writeTitle()


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