[chronojump] DB:1.94 ForceSensorAnalyzeOptions on SQL with LSqlEnTrans



commit ac90225f0c95d526b063b726fe8ed6f9f6ad7789
Author: Xavier de Blas <xaviblas gmail com>
Date:   Tue Apr 28 17:15:23 2020 +0200

    DB:1.94 ForceSensorAnalyzeOptions on SQL with LSqlEnTrans

 src/gui/app1/runEncoder.cs        | 38 ++++++++--------
 src/gui/app1/runEncoderAnalyze.cs | 95 ++++++++++++++++++++++++++++-----------
 src/preferences.cs                | 27 +++++++++++
 src/sqlite/main.cs                | 19 +++++++-
 src/sqlite/preferences.cs         | 14 ++++++
 5 files changed, 147 insertions(+), 46 deletions(-)
---
diff --git a/src/gui/app1/runEncoder.cs b/src/gui/app1/runEncoder.cs
index 1d27d3d0..9b50ce6f 100644
--- a/src/gui/app1/runEncoder.cs
+++ b/src/gui/app1/runEncoder.cs
@@ -91,6 +91,7 @@ public partial class ChronoJumpWindow
        {
                createRunEncoderExerciseCombo();
                createRunEncoderAnalyzeCombos();
+               setRunEncoderAnalyzeWidgets();
        }
 
        //no GTK here
@@ -955,24 +956,25 @@ public partial class ChronoJumpWindow
                else
                        dateTimeGraph = UtilDate.ToFile(runEncoderTimeStartCapture);
 
-               bool plotRawAccel = ( check_run_encoder_analyze_accel.Active && (
-                                       UtilGtk.ComboGetActive(combo_run_encoder_analyze_accel) == 
Catalog.GetString(runEncoderAnalyzeRawName) ||
-                                       UtilGtk.ComboGetActive(combo_run_encoder_analyze_accel) == 
Catalog.GetString(runEncoderAnalyzeBothName) ) );
-               bool plotFittedAccel = ( check_run_encoder_analyze_accel.Active && (
-                                       UtilGtk.ComboGetActive(combo_run_encoder_analyze_accel) == 
Catalog.GetString(runEncoderAnalyzeFittedName) ||
-                                       UtilGtk.ComboGetActive(combo_run_encoder_analyze_accel) == 
Catalog.GetString(runEncoderAnalyzeBothName) ) );
-               bool plotRawForce = ( check_run_encoder_analyze_force.Active && (
-                                       UtilGtk.ComboGetActive(combo_run_encoder_analyze_force) == 
Catalog.GetString(runEncoderAnalyzeRawName) ||
-                                       UtilGtk.ComboGetActive(combo_run_encoder_analyze_force) == 
Catalog.GetString(runEncoderAnalyzeBothName) ) );
-               bool plotFittedForce = ( check_run_encoder_analyze_force.Active && (
-                                       UtilGtk.ComboGetActive(combo_run_encoder_analyze_force) == 
Catalog.GetString(runEncoderAnalyzeFittedName) ||
-                                       UtilGtk.ComboGetActive(combo_run_encoder_analyze_force) == 
Catalog.GetString(runEncoderAnalyzeBothName) ) );
-               bool plotRawPower = ( check_run_encoder_analyze_power.Active && (
-                                       UtilGtk.ComboGetActive(combo_run_encoder_analyze_power) == 
Catalog.GetString(runEncoderAnalyzeRawName) ||
-                                       UtilGtk.ComboGetActive(combo_run_encoder_analyze_power) == 
Catalog.GetString(runEncoderAnalyzeBothName) ) );
-               bool plotFittedPower = ( check_run_encoder_analyze_power.Active && (
-                                       UtilGtk.ComboGetActive(combo_run_encoder_analyze_power) == 
Catalog.GetString(runEncoderAnalyzeFittedName) ||
-                                       UtilGtk.ComboGetActive(combo_run_encoder_analyze_power) == 
Catalog.GetString(runEncoderAnalyzeBothName) ) );
+
+               bool plotRawAccel =
+                       ( Preferences.runEncoderAnalyzeAccel.SqlCurrentName ==  
Preferences.runEncoderAnalyzeAFPSqlRAW ||
+                        Preferences.runEncoderAnalyzeAccel.SqlCurrentName == 
Preferences.runEncoderAnalyzeAFPSqlBOTH );
+               bool plotFittedAccel =
+                       ( Preferences.runEncoderAnalyzeAccel.SqlCurrentName == 
Preferences.runEncoderAnalyzeAFPSqlFITTED ||
+                        Preferences.runEncoderAnalyzeAccel.SqlCurrentName == 
Preferences.runEncoderAnalyzeAFPSqlBOTH );
+               bool plotRawForce =
+                       ( Preferences.runEncoderAnalyzeForce.SqlCurrentName ==  
Preferences.runEncoderAnalyzeAFPSqlRAW ||
+                        Preferences.runEncoderAnalyzeForce.SqlCurrentName == 
Preferences.runEncoderAnalyzeAFPSqlBOTH );
+               bool plotFittedForce =
+                       ( Preferences.runEncoderAnalyzeForce.SqlCurrentName == 
Preferences.runEncoderAnalyzeAFPSqlFITTED ||
+                        Preferences.runEncoderAnalyzeForce.SqlCurrentName == 
Preferences.runEncoderAnalyzeAFPSqlBOTH );
+               bool plotRawPower =
+                       ( Preferences.runEncoderAnalyzePower.SqlCurrentName ==  
Preferences.runEncoderAnalyzeAFPSqlRAW ||
+                        Preferences.runEncoderAnalyzePower.SqlCurrentName == 
Preferences.runEncoderAnalyzeAFPSqlBOTH );
+               bool plotFittedPower =
+                       ( Preferences.runEncoderAnalyzePower.SqlCurrentName == 
Preferences.runEncoderAnalyzeAFPSqlFITTED ||
+                        Preferences.runEncoderAnalyzePower.SqlCurrentName == 
Preferences.runEncoderAnalyzeAFPSqlBOTH );
 
                //create graph
                RunEncoderGraph reg = new RunEncoderGraph(
diff --git a/src/gui/app1/runEncoderAnalyze.cs b/src/gui/app1/runEncoderAnalyze.cs
index 986f1106..6e665d0c 100644
--- a/src/gui/app1/runEncoderAnalyze.cs
+++ b/src/gui/app1/runEncoderAnalyze.cs
@@ -22,6 +22,7 @@ using System;
 using System.IO;
 using Gtk;
 using Glade;
+using System.Collections.Generic; //List<T>
 using Mono.Unix;
 
 
@@ -39,26 +40,6 @@ public partial class ChronoJumpWindow
        [Widget] Gtk.Button button_run_encoder_image_save;
 
 
-       private string runEncoderAnalyzeRawName = "RAW";
-       private string runEncoderAnalyzeFittedName = "Fitted";
-       private string runEncoderAnalyzeBothName = "Both";
-
-       private string [] runEncoderAnalyzeOptions (bool translated)
-       {
-               if(translated)
-                       return new string [] {
-                               Catalog.GetString(runEncoderAnalyzeRawName),
-                                       Catalog.GetString(runEncoderAnalyzeFittedName),
-                                       Catalog.GetString(runEncoderAnalyzeBothName)
-                       };
-               else
-                       return new string [] {
-                               runEncoderAnalyzeRawName,
-                                       runEncoderAnalyzeFittedName,
-                                       runEncoderAnalyzeBothName
-                       };
-       }
-
        private void createRunEncoderAnalyzeCombos ()
        {
                /*
@@ -69,13 +50,40 @@ public partial class ChronoJumpWindow
                 * <property name="items"/>
                 */
 
-               UtilGtk.ComboUpdate(combo_run_encoder_analyze_accel, runEncoderAnalyzeOptions(true), "");
-               UtilGtk.ComboUpdate(combo_run_encoder_analyze_force, runEncoderAnalyzeOptions(true), "");
-               UtilGtk.ComboUpdate(combo_run_encoder_analyze_power, runEncoderAnalyzeOptions(true), "");
+               //do not put the "NO" in the combo, the NO is the checkbox
+               //note accel, force, power have the same options
+               List<string> optionsWithoutNo = new List<string>();
+               for(int i = 1; i < Preferences.runEncoderAnalyzeAccel.L_trans.Count; i ++)
+                       optionsWithoutNo.Add(Preferences.runEncoderAnalyzeAccel.L_trans[i]);
+
+               UtilGtk.ComboUpdate(combo_run_encoder_analyze_accel, optionsWithoutNo);
+               UtilGtk.ComboUpdate(combo_run_encoder_analyze_force, optionsWithoutNo);
+               UtilGtk.ComboUpdate(combo_run_encoder_analyze_power, optionsWithoutNo);
+               combo_run_encoder_analyze_accel.Active = Preferences.runEncoderAnalyzeAccel.SqlCurrent;
+               combo_run_encoder_analyze_force.Active = Preferences.runEncoderAnalyzeForce.SqlCurrent;
+               combo_run_encoder_analyze_power.Active = Preferences.runEncoderAnalyzePower.SqlCurrent;
+       }
 
-               combo_run_encoder_analyze_accel.Active = 0;
-               combo_run_encoder_analyze_force.Active = 0;
-               combo_run_encoder_analyze_power.Active = 0;
+       private void setRunEncoderAnalyzeWidgets()
+       {
+               setRunEncoderAnalyzeWidgetsDo (Preferences.runEncoderAnalyzeAccel,
+                               check_run_encoder_analyze_accel, combo_run_encoder_analyze_accel);
+               setRunEncoderAnalyzeWidgetsDo (Preferences.runEncoderAnalyzeForce,
+                               check_run_encoder_analyze_force, combo_run_encoder_analyze_force);
+               setRunEncoderAnalyzeWidgetsDo (Preferences.runEncoderAnalyzePower,
+                               check_run_encoder_analyze_power, combo_run_encoder_analyze_power);
+       }
+       private void setRunEncoderAnalyzeWidgetsDo (LSqlEnTrans lsql, Gtk.CheckButton check, Gtk.ComboBox 
combo)
+       {
+               if(lsql.SqlCurrentName == Preferences.runEncoderAnalyzeAFPSqlNO)
+               {
+                       check.Active = false;
+                       combo.Visible = false;
+               } else {
+                       check.Active = true;
+                       combo.Visible = true;
+               }
+               combo.Active = UtilGtk.ComboMakeActive(combo, lsql.TranslatedCurrent);
        }
 
        private void on_check_run_encoder_analyze_accel_clicked (object o, EventArgs args)
@@ -98,6 +106,41 @@ public partial class ChronoJumpWindow
        }
        private void on_button_run_encoder_analyze_options_close_clicked (object o, EventArgs args)
        {
+               // 1 change stuff on Sqlite if needed
+
+               Sqlite.Open();
+
+               //accel
+               if( ! check_run_encoder_analyze_accel.Active )
+                       
Preferences.runEncoderAnalyzeAccel.SetCurrentFromSQL(Preferences.runEncoderAnalyzeAFPSqlNO);
+               else
+                       Preferences.runEncoderAnalyzeAccel.SetCurrentFromComboTranslated(
+                               UtilGtk.ComboGetActive(combo_run_encoder_analyze_accel));
+
+               SqlitePreferences.Update(Preferences.runEncoderAnalyzeAccel.Name, 
Preferences.runEncoderAnalyzeAccel.SqlCurrentName, true);
+
+               //force
+               if( ! check_run_encoder_analyze_force.Active )
+                       
Preferences.runEncoderAnalyzeForce.SetCurrentFromSQL(Preferences.runEncoderAnalyzeAFPSqlNO);
+               else
+                       Preferences.runEncoderAnalyzeForce.SetCurrentFromComboTranslated(
+                               UtilGtk.ComboGetActive(combo_run_encoder_analyze_force));
+
+               SqlitePreferences.Update(Preferences.runEncoderAnalyzeForce.Name, 
Preferences.runEncoderAnalyzeForce.SqlCurrentName, true);
+
+               //power
+               if( ! check_run_encoder_analyze_power.Active )
+                       
Preferences.runEncoderAnalyzePower.SetCurrentFromSQL(Preferences.runEncoderAnalyzeAFPSqlNO);
+               else
+                       Preferences.runEncoderAnalyzePower.SetCurrentFromComboTranslated(
+                               UtilGtk.ComboGetActive(combo_run_encoder_analyze_power));
+
+               SqlitePreferences.Update(Preferences.runEncoderAnalyzePower.Name, 
Preferences.runEncoderAnalyzePower.SqlCurrentName, true);
+
+               Sqlite.Close();
+
+               // 2 change sensitivity of widgets
+
                notebook_run_encoder_analyze_or_options.CurrentPage = 0;
                runEncoderButtonsSensitive(true);
        }
diff --git a/src/preferences.cs b/src/preferences.cs
index ffc2f204..e9943184 100644
--- a/src/preferences.cs
+++ b/src/preferences.cs
@@ -20,6 +20,7 @@
 
 using System;
 using System.Data;
+using System.Collections.Generic; //List<T>
 
 public class Preferences 
 {
@@ -110,6 +111,32 @@ public class Preferences
        //runEncoder
        public double runEncoderMinAccel;
 
+       public static string runEncoderAnalyzeAFPSqlNO = "NO";
+       public static string runEncoderAnalyzeAFPSqlFITTED = "FITTED";
+       public static string runEncoderAnalyzeAFPSqlRAW = "RAW";
+       public static string runEncoderAnalyzeAFPSqlBOTH = "BOTH";
+
+       public static List<string> runEncoderAnalyzeAFPSql_l = new List<string> {
+               runEncoderAnalyzeAFPSqlNO, runEncoderAnalyzeAFPSqlFITTED,
+               runEncoderAnalyzeAFPSqlRAW, runEncoderAnalyzeAFPSqlBOTH
+       };
+
+       public static LSqlEnTrans runEncoderAnalyzeAccel = new LSqlEnTrans(
+                       "runEncoderAnalyzeAccel",
+                       runEncoderAnalyzeAFPSql_l,
+                       1, 1,
+                       new List<string> {"No", "Fitted", "Raw", "Both"});
+       public static LSqlEnTrans runEncoderAnalyzeForce = new LSqlEnTrans(
+                       "runEncoderAnalyzeForce",
+                       runEncoderAnalyzeAFPSql_l,
+                       1, 1,
+                       new List<string> {"No", "Fitted", "Raw", "Both"});
+       public static LSqlEnTrans runEncoderAnalyzePower = new LSqlEnTrans(
+                       "runEncoderAnalyzePower",
+                       runEncoderAnalyzeAFPSql_l,
+                       1, 1,
+                       new List<string> {"No", "Fitted", "Raw", "Both"});
+
        //advanced tab
        public bool askDeletion;
        public int digitsNumber;
diff --git a/src/sqlite/main.cs b/src/sqlite/main.cs
index 64677c46..f6336e70 100644
--- a/src/sqlite/main.cs
+++ b/src/sqlite/main.cs
@@ -129,9 +129,10 @@ class Sqlite
        /*
         * Important, change this if there's any update to database
         */
-       static string lastChronojumpDatabaseVersion = "1.93";
+       static string lastChronojumpDatabaseVersion = "1.94";
 
-       public Sqlite() {
+       public Sqlite()
+       {
        }
 
        protected virtual void createTable(string tableName) {
@@ -2698,6 +2699,19 @@ class Sqlite
 
                                currentVersion = updateVersion("1.93");
                        }
+                       if(currentVersion == "1.93")
+                       {
+                               LogB.SQL("Inserted into preferences: RunEncoderAnalyzeAccel/Force/Power");
+
+                               SqlitePreferences.Insert (Preferences.runEncoderAnalyzeAccel.Name,
+                                       Preferences.runEncoderAnalyzeAccel.SqlDefaultName);
+                               SqlitePreferences.Insert (Preferences.runEncoderAnalyzeForce.Name,
+                                       Preferences.runEncoderAnalyzeForce.SqlDefaultName);
+                               SqlitePreferences.Insert (Preferences.runEncoderAnalyzePower.Name,
+                                       Preferences.runEncoderAnalyzePower.SqlDefaultName);
+
+                               currentVersion = updateVersion("1.94");
+                       }
 
                        /*
                        if(currentVersion == "1.79")
@@ -2912,6 +2926,7 @@ class Sqlite
                //changes [from - to - desc]
 //just testing: 1.79 - 1.80 Converted DB to 1.80 Created table ForceSensorElasticBandGlue and moved 
stiffnessString records there
 //
+               //1.93 - 1.94 Converted DB to 1.94 Inserted into preferences: 
RunEncoderAnalyzeAccel/Force/Power
                //1.92 - 1.93 Converted DB to 1.93 Inserted into preferences: EncoderCaptureInfinite, 
LogoAnimatedShow
                //1.91 - 1.92 Converted DB to 1.92 Inserted into preferences: menuType
                //1.90 - 1.91 Converted DB to 1.91 Inserted into preferences: ColorBackground
diff --git a/src/sqlite/preferences.cs b/src/sqlite/preferences.cs
index fb1240bb..87b7e1e2 100644
--- a/src/sqlite/preferences.cs
+++ b/src/sqlite/preferences.cs
@@ -249,6 +249,13 @@ class SqlitePreferences : Sqlite
                                //runEncoder
                                Insert (RunEncoderMinAccel, "10.0", dbcmdTr);
 
+                               Insert (Preferences.runEncoderAnalyzeAccel.Name,
+                                       Preferences.runEncoderAnalyzeAccel.SqlDefaultName, dbcmdTr);
+                               Insert (Preferences.runEncoderAnalyzeForce.Name,
+                                       Preferences.runEncoderAnalyzeForce.SqlDefaultName, dbcmdTr);
+                               Insert (Preferences.runEncoderAnalyzePower.Name,
+                                       Preferences.runEncoderAnalyzePower.SqlDefaultName, dbcmdTr);
+
                                //multimedia
                                Insert ("videoDevice", "", dbcmdTr); //first
                                Insert ("videoDevicePixelFormat", "", dbcmdTr);
@@ -602,6 +609,13 @@ class SqlitePreferences : Sqlite
                                preferences.runEncoderMinAccel = Convert.ToDouble(
                                                Util.ChangeDecimalSeparator(reader[1].ToString()));
 
+                       else if(reader[0].ToString() == Preferences.runEncoderAnalyzeAccel.Name)
+                               Preferences.runEncoderAnalyzeAccel.SetCurrentFromSQL(reader[1].ToString());
+                       else if(reader[0].ToString() == Preferences.runEncoderAnalyzeForce.Name)
+                               Preferences.runEncoderAnalyzeForce.SetCurrentFromSQL(reader[1].ToString());
+                       else if(reader[0].ToString() == Preferences.runEncoderAnalyzePower.Name)
+                               Preferences.runEncoderAnalyzePower.SetCurrentFromSQL(reader[1].ToString());
+
                        //advanced tab
                        else if(reader[0].ToString() == "digitsNumber")
                                preferences.digitsNumber = Convert.ToInt32(reader[1].ToString());


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