[chronojump] On changeMode care on new top radiobuttons



commit 9edb471be5378b68130da062d0124b2b3b9a6660
Author: Xavier de Blas <xaviblas gmail com>
Date:   Thu Apr 1 18:58:05 2021 +0200

    On changeMode care on new top radiobuttons

 src/gui/app1/chronojump.cs | 101 +++++++++++++++++++++++++++++++--------------
 src/gui/app1/encoder.cs    |   2 +-
 src/gui/networks.cs        |   4 +-
 src/gui/sendLog.cs         |   2 +-
 4 files changed, 73 insertions(+), 36 deletions(-)
---
diff --git a/src/gui/app1/chronojump.cs b/src/gui/app1/chronojump.cs
index 4df1335f..87de0f2d 100644
--- a/src/gui/app1/chronojump.cs
+++ b/src/gui/app1/chronojump.cs
@@ -778,7 +778,7 @@ public partial class ChronoJumpWindow
                        SqlitePreferences.Update(SqlitePreferences.LoadLastModeAtStart, false, false);
 
                        // 2) change mode
-                       changeMode(preferences.lastMode);
+                       changeModeCheckRadios (preferences.lastMode);
 
                        // 3) put preference to true again
                        SqlitePreferences.Update(SqlitePreferences.LoadLastModeAtStart, true, false);
@@ -2971,9 +2971,68 @@ public partial class ChronoJumpWindow
                 show_start_page();
         }
 
+       //this will take care on top radios and then call changeMode()
+       //is called on start notebook or on start chronojump by networks configuration or by lastMode
+       private void changeModeCheckRadios (Constants.Menuitem_modes m)
+       {
+               if (m == Constants.Menuitem_modes.JUMPSSIMPLE)
+               {
+                       if(radio_change_modes_contacts_jumps_simple.Active)
+                               changeMode (Constants.Menuitem_modes.JUMPSSIMPLE);
+                       else
+                               radio_change_modes_contacts_jumps_simple.Active = true;
+               }
+               else if (m == Constants.Menuitem_modes.JUMPSREACTIVE)
+               {
+                       if(radio_change_modes_contacts_jumps_reactive.Active)
+                               changeMode (Constants.Menuitem_modes.JUMPSREACTIVE);
+                       else
+                               radio_change_modes_contacts_jumps_reactive.Active = true;
+               }
+               else if (m == Constants.Menuitem_modes.RUNSSIMPLE)
+               {
+                       if(radio_change_modes_contacts_runs_simple.Active)
+                               changeMode (Constants.Menuitem_modes.RUNSSIMPLE);
+                       else
+                               radio_change_modes_contacts_runs_simple.Active = true;
+               }
+               else if (m == Constants.Menuitem_modes.RUNSINTERVALLIC)
+               {
+                       if(radio_change_modes_contacts_runs_intervallic.Active)
+                               changeMode (Constants.Menuitem_modes.RUNSINTERVALLIC);
+                       else
+                               radio_change_modes_contacts_runs_intervallic.Active = true;
+               }
+               else if (m == Constants.Menuitem_modes.RUNSENCODER)
+               {
+                       if(radio_change_modes_contacts_runs_encoder.Active)
+                               changeMode (Constants.Menuitem_modes.RUNSENCODER);
+                       else
+                               radio_change_modes_contacts_runs_encoder.Active = true;
+               }
+               else if (m == Constants.Menuitem_modes.POWERGRAVITATORY)
+               {
+                       if(radio_change_modes_encoder_gravitatory.Active)
+                               changeMode (Constants.Menuitem_modes.POWERGRAVITATORY);
+                       else
+                               radio_change_modes_encoder_gravitatory.Active = true;
+               }
+               else if (m == Constants.Menuitem_modes.POWERINERTIAL)
+               {
+                       if(radio_change_modes_encoder_inertial.Active)
+                               changeMode (Constants.Menuitem_modes.POWERINERTIAL);
+                       else
+                               radio_change_modes_encoder_inertial.Active = true;
+               }
+               else //for modes that do not have radios like forceSensor, RT, other
+                       changeMode (m);
+       }
+
        private Constants.Menuitem_modes current_menuitem_mode;
        private Constants.Menuitem_modes last_menuitem_mode; //store it to decide not change threshold when 
change from jumps to jumpsRj
        private bool last_menuitem_mode_defined = false; //undefined when first time entry on a mode (jumps, 
jumpRj, ...)
+
+       //this is called by above method changeModeCheckRadios or directly by clicking the top radio buttons
        private void changeMode (Constants.Menuitem_modes m)
        {
                LogB.Information("MODE", m.ToString());
@@ -3635,17 +3694,11 @@ public partial class ChronoJumpWindow
 
        private void on_button_selector_start_jumps_simple_clicked(object o, EventArgs args) 
        {
-               if(radio_change_modes_contacts_jumps_simple.Active)
-                       changeMode (Constants.Menuitem_modes.JUMPSSIMPLE);
-               else
-                       radio_change_modes_contacts_jumps_simple.Active = true;
+               changeModeCheckRadios (Constants.Menuitem_modes.JUMPSSIMPLE);
        }
        private void on_button_selector_start_jumps_reactive_clicked(object o, EventArgs args) 
        {
-               if(radio_change_modes_contacts_jumps_reactive.Active)
-                       changeMode (Constants.Menuitem_modes.JUMPSREACTIVE);
-               else
-                       radio_change_modes_contacts_jumps_reactive.Active = true;
+               changeModeCheckRadios (Constants.Menuitem_modes.JUMPSREACTIVE);
        }
        private void on_radio_change_modes_contacts_jumps_simple_toggled (object o, EventArgs args)
        {
@@ -3655,7 +3708,6 @@ public partial class ChronoJumpWindow
        {
                changeMode (Constants.Menuitem_modes.JUMPSREACTIVE);
        }
-
        
        private void on_button_selector_start_runs_clicked(object o, EventArgs args) 
        {
@@ -3669,24 +3721,15 @@ public partial class ChronoJumpWindow
        }
        private void on_button_selector_start_runs_simple_clicked(object o, EventArgs args)
        {
-               if(radio_change_modes_contacts_runs_simple.Active)
-                       changeMode (Constants.Menuitem_modes.RUNSSIMPLE);
-               else
-                       radio_change_modes_contacts_runs_simple.Active = true;
+               changeModeCheckRadios (Constants.Menuitem_modes.RUNSSIMPLE);
        }
        private void on_button_selector_start_runs_intervallic_clicked(object o, EventArgs args) 
        {
-               if(radio_change_modes_contacts_runs_intervallic.Active)
-                       changeMode (Constants.Menuitem_modes.RUNSINTERVALLIC);
-               else
-                       radio_change_modes_contacts_runs_intervallic.Active = true;
+               changeModeCheckRadios (Constants.Menuitem_modes.RUNSINTERVALLIC);
        }
        private void on_button_selector_start_race_encoder_clicked(object o, EventArgs args)
        {
-               if(radio_change_modes_contacts_runs_encoder.Active)
-                       changeMode (Constants.Menuitem_modes.RUNSENCODER);
-               else
-                       radio_change_modes_contacts_runs_encoder.Active = true;
+               changeModeCheckRadios (Constants.Menuitem_modes.RUNSENCODER);
        }
        private void on_radio_change_modes_contacts_runs_simple_toggled (object o, EventArgs args)
        {
@@ -3709,25 +3752,19 @@ public partial class ChronoJumpWindow
 
        private void on_button_selector_start_encoder_gravitatory_clicked(object o, EventArgs args) 
        {
-               if(radio_change_modes_encoder_gravitatory.Active)
-                       changeMode (Constants.Menuitem_modes.POWERGRAVITATORY);
-               else
-                       radio_change_modes_encoder_gravitatory.Active = true;
+               changeModeCheckRadios (Constants.Menuitem_modes.POWERGRAVITATORY);
        }
        private void on_button_selector_start_encoder_inertial_clicked(object o, EventArgs args) 
        {
-               if(radio_change_modes_encoder_inertial.Active)
-                       changeMode (Constants.Menuitem_modes.POWERINERTIAL);
-               else
-                       radio_change_modes_encoder_inertial.Active = true;
+               changeModeCheckRadios (Constants.Menuitem_modes.POWERINERTIAL);
        }
        private void on_radio_change_modes_encoder_gravitatory_toggled (object o, EventArgs args)
        {
-                       changeMode (Constants.Menuitem_modes.POWERGRAVITATORY);
+               changeMode (Constants.Menuitem_modes.POWERGRAVITATORY);
        }
        private void on_radio_change_modes_encoder_inertial_toggled (object o, EventArgs args)
        {
-                       changeMode (Constants.Menuitem_modes.POWERINERTIAL);
+               changeMode (Constants.Menuitem_modes.POWERINERTIAL);
        }
 
        private void on_button_selector_start_force_sensor_clicked(object o, EventArgs args)
diff --git a/src/gui/app1/encoder.cs b/src/gui/app1/encoder.cs
index 35fec92e..0c332d14 100644
--- a/src/gui/app1/encoder.cs
+++ b/src/gui/app1/encoder.cs
@@ -5349,7 +5349,7 @@ public partial class ChronoJumpWindow
        
        /* called on:
         * encoderPersonChanged()
-        * changeMode (Constants.Menuitem_modes m)
+        * changeModeCheckRadios (Constants.Menuitem_modes m)
         */
        private void blankEncoderInterface()
        {
diff --git a/src/gui/networks.cs b/src/gui/networks.cs
index 2926efb3..7a987e32 100644
--- a/src/gui/networks.cs
+++ b/src/gui/networks.cs
@@ -198,7 +198,7 @@ public partial class ChronoJumpWindow
 
                        if(configChronojump.CompujumpStationMode != Constants.Menuitem_modes.UNDEFINED)
                        {
-                               //changeMode (configChronojump.CompujumpStationMode);
+                               //changeModeCheckRadios (configChronojump.CompujumpStationMode);
                                //better do like this because radiobuttons are not set. TODO: remove 
radiobuttons checks
                                if(configChronojump.CompujumpStationMode == 
Constants.Menuitem_modes.RUNSINTERVALLIC)
                                        on_button_selector_start_runs_intervallic_clicked(new object (), new 
EventArgs());
@@ -507,7 +507,7 @@ public partial class ChronoJumpWindow
                /*
                if(linuxType == linuxTypeEnum.NETWORKS) {
                        //mostrar directament el power
-                       changeMode (Constants.Menuitem_modes.POWER);
+                       changeModeCheckRadios (Constants.Menuitem_modes.POWER);
                        
                        //no mostrar menu
                        
diff --git a/src/gui/sendLog.cs b/src/gui/sendLog.cs
index 0967b775..f77a6592 100644
--- a/src/gui/sendLog.cs
+++ b/src/gui/sendLog.cs
@@ -146,7 +146,7 @@ public partial class ChronoJumpWindow
                        SqlitePreferences.Update(SqlitePreferences.LoadLastModeAtStart, false, false);
 
                        // 2) change mode
-                       changeMode(preferences.lastMode);
+                       changeModeCheckRadios (preferences.lastMode);
 
                        // 3) put preference to true again
                        SqlitePreferences.Update(SqlitePreferences.LoadLastModeAtStart, true, false);


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