[chronojump] ForceSensor feedback rectangle with checkbox (better gui)



commit d8e4f39b26bb09216e9de16921a98a06c46a36a4
Author: Xavier de Blas <xaviblas gmail com>
Date:   Thu Sep 26 12:06:30 2019 +0200

    ForceSensor feedback rectangle with checkbox (better gui)

 glade/app1.glade       | 47 +++++++++++++++++++++++++++++++++++++++++------
 src/gui/chronojump.cs  |  4 ++--
 src/gui/forceSensor.cs | 23 ++++++++++++++++-------
 3 files changed, 59 insertions(+), 15 deletions(-)
---
diff --git a/glade/app1.glade b/glade/app1.glade
index 99e6aa3f..a9a243e4 100644
--- a/glade/app1.glade
+++ b/glade/app1.glade
@@ -11296,10 +11296,36 @@ Inverted values</property>
                                                             </packing>
                                                             </child>
                                                             <child>
+                                                            <widget class="GtkAlignment" 
id="alignment_force_capture_feedback">
+                                                            <property name="can_focus">False</property>
+                                                            <property name="left_padding">20</property>
+                                                            <child>
                                                             <widget class="GtkVBox" 
id="vbox_force_capture_feedback">
+                                                            <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="spacing">4</property>
                                                             <child>
+                                                            <widget class="GtkCheckButton" 
id="check_force_sensor_capture_feedback">
+                                                            <property name="label" translatable="yes">Show 
feedback rectangle</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property 
name="receives_default">False</property>
+                                                            <property name="draw_indicator">True</property>
+                                                            <signal name="toggled" 
handler="on_check_force_sensor_capture_feedback_toggled" swapped="no"/>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkHBox" 
id="hbox_force_sensor_capture_feedback">
+                                                            <property name="visible">True</property>
+                                                            <property name="sensitive">False</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">12</property>
+                                                            <child>
                                                             <widget class="GtkHBox" id="hbox324">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
@@ -11308,7 +11334,7 @@ Inverted values</property>
                                                             <widget class="GtkLabel" id="label395">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="label">Feedback at</property>
+                                                            <property name="label">at</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
@@ -11326,7 +11352,7 @@ Inverted values</property>
                                                             <property 
name="secondary_icon_activatable">False</property>
                                                             <property 
name="primary_icon_sensitive">True</property>
                                                             <property 
name="secondary_icon_sensitive">True</property>
-                                                            <property name="adjustment">0 0 9999 1 10 
0</property>
+                                                            <property name="adjustment">100 -9999 9999 1 10 
0</property>
                                                             <property name="climb_rate">1</property>
                                                             <property name="numeric">True</property>
                                                             </widget>
@@ -11351,8 +11377,8 @@ Inverted values</property>
                                                             </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">True</property>
-                                                            <property name="fill">True</property>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
                                                             <property name="position">0</property>
                                                             </packing>
                                                             </child>
@@ -11365,7 +11391,7 @@ Inverted values</property>
                                                             <widget class="GtkLabel" id="label396">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="label">Feedback range</property>
+                                                            <property name="label">range</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
@@ -11383,7 +11409,7 @@ Inverted values</property>
                                                             <property 
name="secondary_icon_activatable">False</property>
                                                             <property 
name="primary_icon_sensitive">True</property>
                                                             <property 
name="secondary_icon_sensitive">True</property>
-                                                            <property name="adjustment">50 0 2000 1 10 
0</property>
+                                                            <property name="adjustment">40 2 200 1 10 
0</property>
                                                             <property name="climb_rate">1</property>
                                                             <property name="numeric">True</property>
                                                             </widget>
@@ -11408,12 +11434,21 @@ Inverted values</property>
                                                             </child>
                                                             </widget>
                                                             <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
                                                             <property name="expand">True</property>
                                                             <property name="fill">True</property>
                                                             <property name="position">1</property>
                                                             </packing>
                                                             </child>
                                                             </widget>
+                                                            </child>
+                                                            </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
                                                             <property name="fill">False</property>
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index 828465b8..82654100 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -3208,7 +3208,7 @@ public partial class ChronoJumpWindow
                radio_mode_contacts_sprint.Visible = false;
                notebook_analyze.CurrentPage = Convert.ToInt32(notebook_analyze_pages.STATISTICS);
                button_inspect_last_test.Visible = false;
-               vbox_force_capture_feedback.Visible = false;
+               alignment_force_capture_feedback.Visible = false;
                button_force_sensor_adjust.Visible = false;
                hbox_race_analyzer_device.Visible = false;
 
@@ -3410,7 +3410,7 @@ public partial class ChronoJumpWindow
                        notebook_capture_graph_table.CurrentPage = 1; //"Show table"
                        notebook_capture_graph_table.ShowTabs = false;
 
-                       vbox_force_capture_feedback.Visible = true;
+                       alignment_force_capture_feedback.Visible = true;
                }
                else if(m == Constants.Menuitem_modes.RUNSENCODER)
                {
diff --git a/src/gui/forceSensor.cs b/src/gui/forceSensor.cs
index 9163b556..e22d1c72 100644
--- a/src/gui/forceSensor.cs
+++ b/src/gui/forceSensor.cs
@@ -90,7 +90,9 @@ public partial class ChronoJumpWindow
        [Widget] Gtk.SpinButton spin_force_sensor_calibration_kg_value;
        [Widget] Gtk.Button button_force_sensor_image_save_signal;
        [Widget] Gtk.DrawingArea force_capture_drawingarea;
-       [Widget] Gtk.VBox vbox_force_capture_feedback;
+       [Widget] Gtk.Alignment alignment_force_capture_feedback;
+       [Widget] Gtk.CheckButton check_force_sensor_capture_feedback;
+       [Widget] Gtk.HBox hbox_force_sensor_capture_feedback;
        [Widget] Gtk.SpinButton spin_force_sensor_capture_feedback_at;
        [Widget] Gtk.SpinButton spin_force_sensor_capture_feedback_range;
 
@@ -408,7 +410,9 @@ public partial class ChronoJumpWindow
                hbox_force_sensor_lat_and_comments.Sensitive = sensitive;
                button_execute_test.Sensitive = sensitive;
                button_force_sensor_analyze_load.Sensitive = sensitive;
-               vbox_force_capture_feedback.Sensitive = sensitive;
+
+               //right now cannot be changed dinamically while capturing
+               alignment_force_capture_feedback.Sensitive = sensitive;
 
                vbox_contacts_camera.Sensitive = sensitive;
 
@@ -420,6 +424,11 @@ public partial class ChronoJumpWindow
                hbox_chronopics_and_more.Sensitive = sensitive;
        }
 
+       private void on_check_force_sensor_capture_feedback_toggled (object o, EventArgs args)
+       {
+               hbox_force_sensor_capture_feedback.Sensitive = check_force_sensor_capture_feedback.Active;
+       }
+
        private void forceSensorPersonChanged()
        {
                blankForceSensorInterface();
@@ -1823,10 +1832,10 @@ LogB.Information(" fs R ");
                int at = Convert.ToInt32(spin_force_sensor_capture_feedback_at.Value);
                int range = Convert.ToInt32(spin_force_sensor_capture_feedback_range.Value);
 
-               if(at == 0 || range == 0)
-                       forceSensorTopRectangleAtOperationStart = 0;
-               else
+               if(check_force_sensor_capture_feedback.Active)
                        forceSensorTopRectangleAtOperationStart = Convert.ToInt32(at + range /2);
+               else
+                       forceSensorTopRectangleAtOperationStart = 0;
        }
        //This function calculates the max value between the sent force and the top of the feedback rectangle
        private int getForceSensorMaxForceIncludingRectangle(double forceValue)
@@ -2100,7 +2109,7 @@ LogB.Information(" fs R ");
        {
                hbox_force_capture_buttons.Sensitive = false;
                button_force_sensor_adjust.Sensitive = false;
-               vbox_force_capture_feedback.Sensitive = false;
+               alignment_force_capture_feedback.Sensitive = false;
 
                button_force_sensor_adjust.Visible = false;
                hbox_force_sensor_lat_and_comments.Visible = false;
@@ -2118,7 +2127,7 @@ LogB.Information(" fs R ");
        {
                hbox_force_capture_buttons.Sensitive = true;
                button_force_sensor_adjust.Sensitive = true;
-               vbox_force_capture_feedback.Sensitive = true;
+               alignment_force_capture_feedback.Sensitive = true;
 
                button_force_sensor_adjust.Visible = true;
                hbox_force_sensor_lat_and_comments.Visible = true;


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