[chronojump] Returning from encoderConfigurationWin Mantains eccon, anchorage, extraWeightN
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] Returning from encoderConfigurationWin Mantains eccon, anchorage, extraWeightN
- Date: Sun, 8 Jan 2017 11:58:23 +0000 (UTC)
commit 5e468c7c10525a30d99e56a8a8f13718b151d7f0
Author: Xavier de Blas <xaviblas gmail com>
Date: Sun Jan 8 12:39:02 2017 +0100
Returning from encoderConfigurationWin Mantains eccon, anchorage, extraWeightN
chronojump.csproj | 2 +-
src/gui/encoder.cs | 14 +++++++-----
src/gui/encoderConfiguration.cs | 40 +++++++++++++++++++++++++++++++++++---
3 files changed, 45 insertions(+), 11 deletions(-)
---
diff --git a/chronojump.csproj b/chronojump.csproj
index 3216ca4..275bc98 100644
--- a/chronojump.csproj
+++ b/chronojump.csproj
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -1000,7 +1001,6 @@
<Compile Include="src\gui\encoderOverview.cs" />
<Compile Include="src\threshold.cs" />
<Compile Include="src\gui\dialogThreshold.cs" />
- <Compile Include="src\sqlite\encoderConfiguration.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="src\" />
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index 6ac88e6..ffc30c7 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -428,8 +428,9 @@ public partial class ChronoJumpWindow
void on_button_encoder_select_clicked (object o, EventArgs args)
{
encoder_configuration_win = EncoderConfigurationWindow.View(
- currentEncoderGI,
- SqliteEncoderConfiguration.SelectActive(currentEncoderGI));
+ currentEncoderGI, SqliteEncoderConfiguration.SelectActive(currentEncoderGI),
+ UtilGtk.ComboGetActive(combo_encoder_anchorage), (int)
spin_encoder_im_weights_n.Value); //used on inertial
+
encoder_configuration_win.Button_accept.Clicked += new
EventHandler(on_encoder_configuration_win_accepted);
//unregister eventHandler first, then register. This avoids to have registered twice
@@ -449,6 +450,7 @@ public partial class ChronoJumpWindow
encoder_configuration_win.Button_accept.Clicked -= new
EventHandler(on_encoder_configuration_win_accepted);
EncoderConfiguration eConfNew = encoder_configuration_win.GetAcceptedValues();
+
if(encoderConfigurationCurrent == eConfNew)
return;
@@ -464,15 +466,15 @@ public partial class ChronoJumpWindow
if(encoderConfigurationCurrent.has_inertia) {
if(combo_encoder_anchorage_should_update) {
UtilGtk.ComboUpdate(combo_encoder_anchorage,
encoderConfigurationCurrent.list_d);
- combo_encoder_anchorage.Active = 0;
+ combo_encoder_anchorage.Active = UtilGtk.ComboMakeActive(
+ combo_encoder_anchorage,
+ encoderConfigurationCurrent.d.ToString()
+ );
}
encoderConfigurationCurrent.extraWeightN = (int) spin_encoder_im_weights_n.Value;
encoderConfigurationCurrent.inertiaTotal =
UtilEncoder.CalculeInertiaTotal(encoderConfigurationCurrent);
label_encoder_im_total.Text = encoderConfigurationCurrent.inertiaTotal.ToString();
-
- //if inertial, select ecc-con
- combo_encoder_eccon.Active = 1;
}
label_encoder_selected.Text = encoderConfigurationCurrent.code;
diff --git a/src/gui/encoderConfiguration.cs b/src/gui/encoderConfiguration.cs
index 5a3ee8b..2486040 100644
--- a/src/gui/encoderConfiguration.cs
+++ b/src/gui/encoderConfiguration.cs
@@ -116,6 +116,14 @@ public class EncoderConfigurationWindow
Constants.EncoderGI encoderGI;
+ /*
+ * this params are used on inertial
+ * and must be retrieved when this window is closed
+ */
+ string main_gui_anchorage_str;
+ int main_gui_extraWeightN;
+
+
EncoderConfigurationWindow () {
Glade.XML gladeXML;
gladeXML = Glade.XML.FromAssembly (Util.GetGladePath() + "encoder_configuration.glade",
"encoder_configuration", "chronojump");
@@ -138,7 +146,9 @@ public class EncoderConfigurationWindow
UtilGtk.IconWindow(encoder_configuration);
}
- static public EncoderConfigurationWindow View (Constants.EncoderGI encoderGI,
EncoderConfigurationSQLObject econfSO)
+ static public EncoderConfigurationWindow View (
+ Constants.EncoderGI encoderGI, EncoderConfigurationSQLObject econfSO,
+ string anchorage_str, int extraWeightN)
{
if (EncoderConfigurationWindowBox == null) {
EncoderConfigurationWindowBox = new EncoderConfigurationWindow ();
@@ -146,6 +156,8 @@ public class EncoderConfigurationWindow
EncoderConfigurationWindowBox.encoderGI = encoderGI;
EncoderConfigurationWindowBox.updateGUIFromEncoderConfiguration(econfSO.encoderConfiguration);
+ EncoderConfigurationWindowBox.main_gui_anchorage_str = anchorage_str;
+ EncoderConfigurationWindowBox.main_gui_extraWeightN = extraWeightN;
EncoderConfigurationWindowBox.createAndFillTreeView(
SqliteEncoderConfiguration.Select(false, encoderGI, ""), //all
@@ -391,7 +403,7 @@ public class EncoderConfigurationWindow
* because that is stored in gui/encoder as
* encoderConfigurationCurrent
*/
- public EncoderConfiguration GetAcceptedValues()
+ public EncoderConfiguration GetAcceptedValues()
{
EncoderConfiguration ec = (EncoderConfiguration) list[listCurrent];
@@ -403,9 +415,27 @@ public class EncoderConfigurationWindow
ec.inertiaMachine = -1;
if(ec.has_d) {
- if(ec.has_inertia) {
+ if(ec.has_inertia)
+ {
ec.list_d = get_list_d();
- ec.d = ec.list_d[0]; //selected value is the first
+
+ bool found = false;
+ if(Util.IsNumber(main_gui_anchorage_str, true))
+ {
+ LogB.Information("main_gui_anchorage = " + main_gui_anchorage_str);
+ double guiAnchorage = Convert.ToDouble(main_gui_anchorage_str);
+ foreach(double d in ec.list_d) {
+ LogB.Information("d = " + d.ToString());
+ if(d == guiAnchorage) {
+ ec.d = guiAnchorage;
+ found = true;
+ break;
+ }
+ }
+ }
+
+ if(! found)
+ ec.d = ec.list_d[0]; //selected value is the first //TODO: change
this and use the value in main gui
}
else
ec.d = (double) spin_d.Value;
@@ -423,6 +453,7 @@ public class EncoderConfigurationWindow
if(ec.has_inertia) {
ec.inertiaMachine = (int) spin_inertia_machine.Value;
ec.inertiaTotal = (int) spin_inertia_machine.Value;
+ ec.extraWeightN = main_gui_extraWeightN;
ec.extraWeightGrams = (int) spin_inertia_mass.Value;
ec.extraWeightLength = (double) spin_inertia_length.Value;
}
@@ -677,6 +708,7 @@ public class EncoderConfigurationWindow
}
}
+ //TODO: select another row (and "active" it)
//TODO: cannot delete if only there's the only on this encoderGI
void on_button_delete_clicked (object o, EventArgs args)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]