[chronojump] Encoder analyze instantaneous options done!



commit 5a24c3831468c900fa3fdd74581777e827c02685
Author: Xavier de Blas <xaviblas gmail com>
Date:   Thu Apr 5 09:27:21 2018 +0200

    Encoder analyze instantaneous options done!

 encoder/graph.R                          |    9 +-
 glade/app1.glade                         |  932 ++++++++++++++++++++++++------
 images/encoder-analyze-all-set.png       |  Bin 0 -> 460 bytes
 images/encoder-analyze-instantaneous.png |  Bin 0 -> 440 bytes
 images/encoder-analyze-single.png        |  Bin 439 -> 478 bytes
 images/md/ic_build_blue_16dp_1x.png      |  Bin 0 -> 442 bytes
 images/svg/icons.svg                     |  304 ++++++++---
 src/Makefile.am                          |    7 +-
 src/constants.cs                         |    4 +-
 src/gui/chronojumpIcons.cs               |   24 +-
 src/gui/encoder.cs                       |  309 ++++++----
 src/gui/forceSensorAnalyze.cs            |    1 -
 12 files changed, 1214 insertions(+), 376 deletions(-)
---
diff --git a/encoder/graph.R b/encoder/graph.R
index 6297467..b7966f6 100644
--- a/encoder/graph.R
+++ b/encoder/graph.R
@@ -3043,7 +3043,7 @@ doProcess <- function(options)
         #print(curves)
         
         
-        if(op$Analysis=="single") 
+        if(op$Analysis == "single" || op$Analysis == "singleAllSet")
         {
                 showPosition <- (op$AnalysisVariables[1] == "Position")
                 showSpeed <- (op$AnalysisVariables[2] == "Speed")
@@ -3052,7 +3052,8 @@ doProcess <- function(options)
                 showPower <- (op$AnalysisVariables[5] == "Power")
                 df = NULL
                 
-                if(op$Jump>0) {
+               if(op$Analysis == "single")
+               {
                         myStart = curves[op$Jump,1]
                         myEnd = curves[op$Jump,2]
                         
@@ -3118,7 +3119,9 @@ doProcess <- function(options)
                         
                         #prepare dataframe (will be written later)
                         df=data.frame(cbind(getPositionSmoothed(kn$displ,smoothingTemp), kn$speedy, 
kn$accely, kn$force, kn$power))
-                } else {
+                }
+               else    # op$Analysis == "singleAllSet"
+               {
                         #1) find maxPowerAtAnyRep
                         maxPowerAtAnyRep <- 0
                         for(i in 1:n) {
diff --git a/glade/app1.glade b/glade/app1.glade
index d8dc9ba..54fd7e7 100644
--- a/glade/app1.glade
+++ b/glade/app1.glade
@@ -1667,6 +1667,12 @@
                                                             <placeholder/>
                                                             </child>
                                                             <child>
+                                                            <placeholder/>
+                                                            </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
+                                                            <child>
                                                             <widget class="GtkLabel" 
id="label_start_selector_jumps">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
@@ -21922,7 +21928,7 @@ then click this button.</property>
                                                     <property name="left_padding">6</property>
                                                     <property name="right_padding">6</property>
                                                     <child>
-                                                      <widget class="GtkTable" id="table9">
+                                                      <widget class="GtkTable" 
id="table_encoder_analyze_options">
                                                         <property name="visible">True</property>
                                                         <property name="can_focus">False</property>
                                                         <property name="n_rows">2</property>
@@ -22371,7 +22377,7 @@ then click this button.</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_single">
+                                                            <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_instantaneous">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property 
name="receives_default">False</property>
@@ -22380,9 +22386,9 @@ then click this button.</property>
                                                             <property name="active">True</property>
                                                             <property name="draw_indicator">False</property>
                                                             <property 
name="group">radiobutton_encoder_analyze_powerbars</property>
-                                                            <signal name="toggled" 
handler="on_radiobutton_encoder_analyze_single_toggled" swapped="no"/>
+                                                            <signal name="toggled" 
handler="on_radiobutton_encoder_analyze_instantaneous_toggled" swapped="no"/>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="image_encoder_analyze_single">
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_instantaneous">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property 
name="stock">gtk-missing-image</property>
@@ -22397,57 +22403,6 @@ then click this button.</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_side">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">True</property>
-                                                            <property 
name="receives_default">False</property>
-                                                            <property name="has_tooltip">True</property>
-                                                            <property name="tooltip" translatable="yes">Side 
compare</property>
-                                                            <property name="active">True</property>
-                                                            <property name="draw_indicator">False</property>
-                                                            <property 
name="group">radiobutton_encoder_analyze_powerbars</property>
-                                                            <signal name="toggled" 
handler="on_radiobutton_encoder_analyze_side_toggled" swapped="no"/>
-                                                            <child>
-                                                            <widget class="GtkImage" 
id="image_encoder_analyze_side">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property 
name="stock">gtk-missing-image</property>
-                                                            <property name="icon-size">2</property>
-                                                            </widget>
-                                                            </child>
-                                                            </widget>
-                                                            <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">4</property>
-                                                            </packing>
-                                                            </child>
-                                                            <child>
-                                                            <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_superpose">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">True</property>
-                                                            <property 
name="receives_default">False</property>
-                                                            <property name="has_tooltip">True</property>
-                                                            <property name="tooltip" 
translatable="yes">Superpose</property>
-                                                            <property name="draw_indicator">False</property>
-                                                            <property 
name="group">radiobutton_encoder_analyze_powerbars</property>
-                                                            <signal name="toggled" 
handler="on_radiobutton_encoder_analyze_superpose_toggled" swapped="no"/>
-                                                            <child>
-                                                            <widget class="GtkImage" 
id="image_encoder_analyze_superpose">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property 
name="stock">gtk-missing-image</property>
-                                                            <property name="icon-size">2</property>
-                                                            </widget>
-                                                            </child>
-                                                            </widget>
-                                                            <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">5</property>
-                                                            </packing>
-                                                            </child>
-                                                            <child>
                                                             <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_neuromuscular_profile">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
@@ -22470,7 +22425,7 @@ then click this button.</property>
                                                             <packing>
                                                             <property name="expand">False</property>
                                                             <property name="fill">True</property>
-                                                            <property name="position">6</property>
+                                                            <property name="position">4</property>
                                                             </packing>
                                                             </child>
                                                             </widget>
@@ -22653,60 +22608,6 @@ then click this button.</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" 
id="label_encoder_analyze_side_max">
-                                                            <property name="can_focus">False</property>
-                                                            <property name="has_tooltip">True</property>
-                                                            <property name="tooltip" translatable="yes">Side 
compare allows a maximum of 12 graphs.</property>
-                                                            <property name="label" translatable="yes">Max. 
12 graphs</property>
-                                                            </widget>
-                                                            <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">False</property>
-                                                            <property name="position">5</property>
-                                                            </packing>
-                                                            </child>
-                                                            <child>
-                                                            <widget class="GtkHBox" 
id="hbox_encoder_analyze_curve_num">
-                                                            <property name="can_focus">False</property>
-                                                            <property name="spacing">8</property>
-                                                            <child>
-                                                            <widget class="GtkLabel" id="label83">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="has_tooltip">True</property>
-                                                            <property name="tooltip" 
translatable="yes">Repetition number</property>
-                                                            <property name="label">nº</property>
-                                                            </widget>
-                                                            <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">False</property>
-                                                            <property name="position">0</property>
-                                                            </packing>
-                                                            </child>
-                                                            <child>
-                                                            <widget class="GtkHBox" 
id="hbox_combo_encoder_analyze_curve_num_combo">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="has_tooltip">True</property>
-                                                            <property name="tooltip" 
translatable="yes">Repetition number</property>
-                                                            <child>
-                                                            <placeholder/>
-                                                            </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">False</property>
-                                                            <property name="fill">False</property>
-                                                            <property name="position">6</property>
-                                                            </packing>
-                                                            </child>
-                                                            <child>
                                                             <widget class="GtkHBox" 
id="hbox_combo_encoder_analyze_cross_sup">
                                                             <property name="can_focus">False</property>
                                                             <property name="spacing">6</property>
@@ -22740,7 +22641,7 @@ then click this button.</property>
                                                             <packing>
                                                             <property name="expand">False</property>
                                                             <property name="fill">False</property>
-                                                            <property name="position">7</property>
+                                                            <property name="position">5</property>
                                                             </packing>
                                                             </child>
                                                             <child>
@@ -22753,7 +22654,7 @@ then click this button.</property>
                                                             <packing>
                                                             <property name="expand">False</property>
                                                             <property name="fill">False</property>
-                                                            <property name="position">8</property>
+                                                            <property name="position">6</property>
                                                             </packing>
                                                             </child>
                                                             <child>
@@ -22764,7 +22665,7 @@ then click this button.</property>
                                                             <packing>
                                                             <property name="expand">False</property>
                                                             <property name="fill">True</property>
-                                                            <property name="position">9</property>
+                                                            <property name="position">7</property>
                                                             </packing>
                                                             </child>
                                                             <child>
@@ -22865,14 +22766,25 @@ then click this button.</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" 
id="hbox_encoder_analyze_show_SAFE">
+                                                            <widget class="GtkHBox" 
id="hbox_encoder_analyze_instantaneous">
                                                             <property name="can_focus">False</property>
                                                             <property name="spacing">8</property>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label298">
+                                                            <widget class="GtkButton" 
id="button_encoder_analyze_mode_options">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">True</property>
+                                                            <signal name="clicked" 
handler="on_button_encoder_analyze_mode_options_clicked" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox257">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="label" 
translatable="yes">Show:</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_mode_options">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">True</property>
@@ -22881,15 +22793,10 @@ then click this button.</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkCheckButton" 
id="check_encoder_analyze_show_position">
-                                                            <property name="label" 
translatable="yes">Position</property>
+                                                            <widget class="GtkLabel" id="label344">
                                                             <property name="visible">True</property>
-                                                            <property name="can_focus">True</property>
-                                                            <property 
name="receives_default">False</property>
-                                                            <property name="has_tooltip">True</property>
-                                                            <property name="tooltip" translatable="yes">Show 
position</property>
-                                                            <property name="active">True</property>
-                                                            <property name="draw_indicator">False</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label">Options</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">True</property>
@@ -22897,46 +22804,62 @@ then click this button.</property>
                                                             <property name="position">1</property>
                                                             </packing>
                                                             </child>
+                                                            </widget>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
                                                             <child>
-                                                            <widget class="GtkCheckButton" 
id="check_encoder_analyze_show_speed">
+                                                            <widget class="GtkHBox" id="hbox266">
                                                             <property name="visible">True</property>
-                                                            <property name="can_focus">True</property>
-                                                            <property 
name="receives_default">False</property>
-                                                            <property name="has_tooltip">True</property>
-                                                            <property name="tooltip" translatable="yes">Show 
speed</property>
-                                                            <property name="active">True</property>
-                                                            <property name="draw_indicator">False</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">8</property>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="image_encoder_analyze_speed">
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_selected_single">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property 
name="stock">gtk-missing-image</property>
                                                             <property name="icon-size">2</property>
                                                             </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
                                                             </child>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_selected_side">
+                                                            <property name="can_focus">False</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            <property name="icon-size">2</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">True</property>
                                                             <property name="fill">True</property>
-                                                            <property name="position">2</property>
+                                                            <property name="position">1</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkCheckButton" 
id="check_encoder_analyze_show_accel">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">True</property>
-                                                            <property 
name="receives_default">False</property>
-                                                            <property name="has_tooltip">True</property>
-                                                            <property name="tooltip" translatable="yes">Show 
acceleration</property>
-                                                            <property name="draw_indicator">False</property>
-                                                            <child>
-                                                            <widget class="GtkImage" 
id="image_encoder_analyze_accel">
-                                                            <property name="visible">True</property>
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_selected_superpose">
                                                             <property name="can_focus">False</property>
                                                             <property 
name="stock">gtk-missing-image</property>
                                                             <property name="icon-size">2</property>
                                                             </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">2</property>
+                                                            </packing>
                                                             </child>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_selected_all_set">
+                                                            <property name="can_focus">False</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            <property name="icon-size">2</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">True</property>
@@ -22945,21 +22868,84 @@ then click this button.</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkCheckButton" 
id="check_encoder_analyze_show_force">
+                                                            <widget class="GtkLabel" 
id="label_encoder_analyze_selected">
                                                             <property name="visible">True</property>
-                                                            <property name="can_focus">True</property>
-                                                            <property 
name="receives_default">False</property>
-                                                            <property name="has_tooltip">True</property>
-                                                            <property name="tooltip" translatable="yes">Show 
force</property>
-                                                            <property name="draw_indicator">False</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" translatable="yes">Single 
repetition</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">4</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="image_encoder_analyze_force">
+                                                            <widget class="GtkHBox" 
id="hbox_encoder_analyze_show_SAFE">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">8</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label343">
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" 
translatable="yes">Show:</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkHSeparator" id="hseparator3">
+                                                            <property name="width_request">12</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" 
id="label_encoder_analyze_show_SAFE_position">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" 
translatable="yes">Position</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">2</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_show_SAFE_speed">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
+                                                            <property name="tooltip" translatable="yes">Show 
speed</property>
                                                             <property 
name="stock">gtk-missing-image</property>
                                                             <property name="icon-size">2</property>
                                                             </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">3</property>
+                                                            </packing>
                                                             </child>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_show_SAFE_accel">
+                                                            <property name="can_focus">False</property>
+                                                            <property name="tooltip" translatable="yes">Show 
acceleration</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            <property name="icon-size">2</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">True</property>
@@ -22968,56 +22954,105 @@ then click this button.</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkCheckButton" 
id="check_encoder_analyze_show_power">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">True</property>
-                                                            <property 
name="receives_default">False</property>
-                                                            <property name="has_tooltip">True</property>
-                                                            <property name="tooltip" translatable="yes">Show 
power</property>
-                                                            <property name="active">True</property>
-                                                            <property name="draw_indicator">False</property>
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_show_SAFE_force">
+                                                            <property name="can_focus">False</property>
+                                                            <property name="tooltip" translatable="yes">Show 
force</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            <property name="icon-size">2</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">5</property>
+                                                            </packing>
+                                                            </child>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="image_encoder_analyze_power">
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_show_SAFE_power">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
+                                                            <property name="tooltip" translatable="yes">Show 
power</property>
                                                             <property 
name="stock">gtk-missing-image</property>
                                                             <property name="icon-size">2</property>
                                                             </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">6</property>
+                                                            </packing>
                                                             </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">True</property>
                                                             <property name="fill">True</property>
-                                                            <property name="position">5</property>
+                                                            <property name="position">2</property>
                                                             </packing>
                                                             </child>
+                                                            <child>
+                                                            <widget class="GtkHBox" 
id="hbox_encoder_analyze_curve_num">
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">8</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label83">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="tooltip" 
translatable="yes">Repetition number</property>
+                                                            <property name="label">nº</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">1</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkCheckButton" 
id="checkbutton_encoder_analyze_side_share_x">
-                                                            <property name="label" translatable="yes">Same X 
scale</property>
-                                                            <property name="can_focus">True</property>
-                                                            <property 
name="receives_default">False</property>
-                                                            <property name="active">True</property>
-                                                            <property name="draw_indicator">True</property>
-                                                            <signal name="toggled" 
handler="on_checkbutton_encoder_analyze_side_share_x_toggled" swapped="no"/>
+                                                            <widget class="GtkHBox" 
id="hbox_combo_encoder_analyze_curve_num_combo">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="tooltip" 
translatable="yes">Repetition number</property>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </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">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">3</property>
+                                                            </packing>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">True</property>
                                                             <property name="fill">True</property>
-                                                            <property name="position">2</property>
+                                                            <property name="position">1</property>
                                                             </packing>
                                                             </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
                                                             <property name="fill">False</property>
-                                                            <property name="position">10</property>
+                                                            <property name="position">8</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" 
id="label_encoder_analyze_side_max">
+                                                            <property name="can_focus">False</property>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="tooltip" translatable="yes">Side 
compare allows a maximum of 12 graphs.</property>
+                                                            <property name="label" translatable="yes">Max. 
12 graphs</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">9</property>
                                                             </packing>
                                                             </child>
                                                             </widget>
@@ -23172,6 +23207,553 @@ then click this button.</property>
                                                   </packing>
                                                 </child>
                                                 <child>
+                                                  <widget class="GtkFrame" 
id="frame_encoder_analyze_options">
+                                                    <property name="can_focus">False</property>
+                                                    <property name="label_xalign">0</property>
+                                                    <property name="shadow_type">none</property>
+                                                    <child>
+                                                      <widget class="GtkAlignment" id="alignment42">
+                                                        <property name="visible">True</property>
+                                                        <property name="can_focus">False</property>
+                                                        <property name="left_padding">12</property>
+                                                        <child>
+                                                          <widget class="GtkTable" id="table15">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="border_width">16</property>
+                                                            <property name="n_rows">2</property>
+                                                            <property name="n_columns">2</property>
+                                                            <property name="column_spacing">12</property>
+                                                            <property name="row_spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label350">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="label" 
translatable="yes">Option:</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="x_options">GTK_FILL</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label298">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="label" 
translatable="yes">Show:</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="top_attach">1</property>
+                                                            <property name="bottom_attach">2</property>
+                                                            <property name="x_options">GTK_FILL</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkHBox" 
id="hbox_encoder_analyze_show_SAFE_check">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">8</property>
+                                                            <child>
+                                                            <widget class="GtkCheckButton" 
id="check_encoder_analyze_show_position">
+                                                            <property name="label" 
translatable="yes">Position</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property 
name="receives_default">False</property>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="tooltip" translatable="yes">Show 
position</property>
+                                                            <property name="active">True</property>
+                                                            <property name="draw_indicator">False</property>
+                                                            <signal name="toggled" 
handler="on_check_encoder_analyze_show_option_toggled" swapped="no"/>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkCheckButton" 
id="check_encoder_analyze_show_speed">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property 
name="receives_default">False</property>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="active">True</property>
+                                                            <property name="draw_indicator">False</property>
+                                                            <signal name="toggled" 
handler="on_check_encoder_analyze_show_option_toggled" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox259">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_speed">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            <property name="icon-size">2</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label346">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" 
translatable="yes">Speed</property>
+                                                            </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>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkCheckButton" 
id="check_encoder_analyze_show_accel">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property 
name="receives_default">False</property>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="draw_indicator">False</property>
+                                                            <signal name="toggled" 
handler="on_check_encoder_analyze_show_option_toggled" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox260">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_accel">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            <property name="icon-size">2</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label347">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" 
translatable="yes">Acceleration</property>
+                                                            </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>
+                                                            <property name="position">2</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkCheckButton" 
id="check_encoder_analyze_show_force">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property 
name="receives_default">False</property>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="draw_indicator">False</property>
+                                                            <signal name="toggled" 
handler="on_check_encoder_analyze_show_option_toggled" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox261">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_force">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            <property name="icon-size">2</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label348">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" 
translatable="yes">Force</property>
+                                                            </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>
+                                                            <property name="position">3</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkCheckButton" 
id="check_encoder_analyze_show_power">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property 
name="receives_default">False</property>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="active">True</property>
+                                                            <property name="draw_indicator">False</property>
+                                                            <signal name="toggled" 
handler="on_check_encoder_analyze_show_option_toggled" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox262">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_power">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            <property name="icon-size">2</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label349">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" 
translatable="yes">Power</property>
+                                                            </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>
+                                                            <property name="position">4</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="left_attach">1</property>
+                                                            <property name="right_attach">2</property>
+                                                            <property name="top_attach">1</property>
+                                                            <property name="bottom_attach">2</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox255">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">20</property>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox256">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">10</property>
+                                                            <child>
+                                                            <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_single">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property 
name="receives_default">False</property>
+                                                            <property name="active">True</property>
+                                                            <property name="draw_indicator">False</property>
+                                                            <signal name="toggled" 
handler="on_radiobutton_encoder_analyze_instantaneous_options_toggled" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox263">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_single">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            <property name="icon-size">2</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label351">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" translatable="yes">Single 
repetition</property>
+                                                            </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>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_side">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property 
name="receives_default">False</property>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="draw_indicator">False</property>
+                                                            <property 
name="group">radiobutton_encoder_analyze_single</property>
+                                                            <signal name="toggled" 
handler="on_radiobutton_encoder_analyze_instantaneous_options_toggled" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox264">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_side">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            <property name="icon-size">2</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label352">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" translatable="yes">Side 
compare</property>
+                                                            </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">True</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_superpose">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property 
name="receives_default">False</property>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="draw_indicator">False</property>
+                                                            <property 
name="group">radiobutton_encoder_analyze_single</property>
+                                                            <signal name="toggled" 
handler="on_radiobutton_encoder_analyze_instantaneous_options_toggled" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox265">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_superpose">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            <property name="icon-size">2</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label353">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" 
translatable="yes">Superpose</property>
+                                                            </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">True</property>
+                                                            <property name="position">2</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_all_set">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property 
name="receives_default">False</property>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="draw_indicator">False</property>
+                                                            <property 
name="group">radiobutton_encoder_analyze_single</property>
+                                                            <signal name="toggled" 
handler="on_radiobutton_encoder_analyze_instantaneous_options_toggled" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox267">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_all_set">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            <property name="icon-size">2</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label354">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" translatable="yes">All 
set</property>
+                                                            </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">True</property>
+                                                            <property name="position">3</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkCheckButton" 
id="checkbutton_encoder_analyze_side_share_x">
+                                                            <property name="label" translatable="yes">Same X 
scale</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property 
name="receives_default">False</property>
+                                                            <property name="active">True</property>
+                                                            <property name="draw_indicator">True</property>
+                                                            <signal name="toggled" 
handler="on_checkbutton_encoder_analyze_side_share_x_toggled" swapped="no"/>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="left_attach">1</property>
+                                                            <property name="right_attach">2</property>
+                                                            </packing>
+                                                            </child>
+                                                          </widget>
+                                                        </child>
+                                                      </widget>
+                                                    </child>
+                                                    <child>
+                                                      <widget class="GtkButton" 
id="button_encoder_analyze_mode_options_close">
+                                                        <property name="visible">True</property>
+                                                        <property name="can_focus">True</property>
+                                                        <property name="receives_default">True</property>
+                                                        <signal name="clicked" 
handler="on_button_encoder_analyze_mode_options_close_clicked" swapped="no"/>
+                                                        <accelerator key="Escape" signal="clicked"/>
+                                                        <child>
+                                                          <widget class="GtkHBox" id="hbox258">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_mode_options_close">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label345">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" 
translatable="yes">Close</property>
+                                                            </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="type">label_item</property>
+                                                      </packing>
+                                                    </child>
+                                                  </widget>
+                                                  <packing>
+                                                    <property name="expand">False</property>
+                                                    <property name="fill">False</property>
+                                                    <property name="position">1</property>
+                                                  </packing>
+                                                </child>
+                                                <child>
                                                   <widget class="GtkVBox" id="vbox_analyze_results">
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">False</property>
@@ -25021,6 +25603,12 @@ then click this button.</property>
                                                             <child>
                                                             <placeholder/>
                                                             </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
@@ -25393,7 +25981,7 @@ then click this button.</property>
                                                   <packing>
                                                     <property name="expand">True</property>
                                                     <property name="fill">True</property>
-                                                    <property name="position">1</property>
+                                                    <property name="position">2</property>
                                                   </packing>
                                                 </child>
                                               </widget>
diff --git a/images/encoder-analyze-all-set.png b/images/encoder-analyze-all-set.png
new file mode 100644
index 0000000..9918c52
Binary files /dev/null and b/images/encoder-analyze-all-set.png differ
diff --git a/images/encoder-analyze-instantaneous.png b/images/encoder-analyze-instantaneous.png
new file mode 100644
index 0000000..c1d86d5
Binary files /dev/null and b/images/encoder-analyze-instantaneous.png differ
diff --git a/images/encoder-analyze-single.png b/images/encoder-analyze-single.png
index b664ba5..9862517 100644
Binary files a/images/encoder-analyze-single.png and b/images/encoder-analyze-single.png differ
diff --git a/images/md/ic_build_blue_16dp_1x.png b/images/md/ic_build_blue_16dp_1x.png
new file mode 100644
index 0000000..bc0f22a
Binary files /dev/null and b/images/md/ic_build_blue_16dp_1x.png differ
diff --git a/images/svg/icons.svg b/images/svg/icons.svg
index 3309a29..e04b705 100644
--- a/images/svg/icons.svg
+++ b/images/svg/icons.svg
@@ -7256,9 +7256,9 @@
      borderopacity="1.0"
      inkscape:pageopacity="0"
      inkscape:pageshadow="2"
-     inkscape:zoom="4.0390625"
-     inkscape:cx="88.05039"
-     inkscape:cy="313.10745"
+     inkscape:zoom="3.7578996"
+     inkscape:cx="122.80214"
+     inkscape:cy="319.32099"
      inkscape:document-units="px"
      inkscape:current-layer="capa1"
      showgrid="false"
@@ -7339,6 +7339,11 @@
        orientation="1,0"
        id="guide3073"
        inkscape:locked="false" />
+    <sodipodi:guide
+       position="203.97274,316.60733"
+       orientation="1,0"
+       id="guide6521"
+       inkscape:locked="false" />
   </sodipodi:namedview>
   <metadata
      id="metadata7">
@@ -7367,13 +7372,13 @@
     <text
        xml:space="preserve"
        
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
-       x="-52.289913"
-       y="1015.6473"
+       x="-53.334869"
+       y="958.17468"
        id="text3938"><tspan
          sodipodi:role="line"
          id="tspan3940"
-         x="-52.289913"
-         y="1015.6473"
+         x="-53.334869"
+         y="958.17468"
          
style="font-size:2px;line-height:1.25;font-family:sans-serif">encoder-analyze-eccon-together.png</tspan></text>
     <text
        xml:space="preserve"
@@ -7389,20 +7394,20 @@
     <text
        xml:space="preserve"
        
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
-       x="-18.355436"
-       y="971.22943"
+       x="-19.400393"
+       y="913.75684"
        id="text3963"><tspan
          sodipodi:role="line"
          id="tspan3965"
-         x="-18.355436"
-         y="971.22943"
+         x="-19.400393"
+         y="913.75684"
          style="font-size:5.68163776px;line-height:1.25;font-family:sans-serif">all 16x16px</tspan></text>
     <g
        id="g5297"
        
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-analyze-powerbars.png"
        inkscape:export-xdpi="89.989998"
        inkscape:export-ydpi="89.989998"
-       transform="translate(-30,-13.226589)">
+       transform="translate(-31.044957,-70.699197)">
       <rect
          y="1003.4709"
          x="-58.672874"
@@ -7416,21 +7421,21 @@
          height="7.4570293"
          width="5.1947846"
          id="rect3967"
-         
style="fill:#ff6347;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
 />
+         
style="fill:#ff6347;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
       <rect
          y="1004.6004"
          x="-49.751221"
          height="13.741044"
          width="3.3514738"
          id="rect3967-0"
-         
style="fill:#8b3626;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
 />
+         
style="fill:#8b3626;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
     </g>
     <g
        id="g5334"
-       
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-analyze-single.png"
-       inkscape:export-xdpi="89.989998"
-       inkscape:export-ydpi="89.989998"
-       transform="translate(30.986869,-13.72549)">
+       
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-analyze-instantaneous.png"
+       inkscape:export-xdpi="96.000046"
+       inkscape:export-ydpi="96.000046"
+       transform="translate(-22.961264,-71.788782)">
       <rect
          y="1003.9698"
          x="14.208096"
@@ -7460,7 +7465,7 @@
        
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-analyze-nmp.png"
        inkscape:export-xdpi="89.989998"
        inkscape:export-ydpi="89.989998"
-       transform="translate(30.986869,-13.72549)">
+       transform="translate(5.9516404,-70.724843)">
       <rect
          y="1003.9698"
          x="39.249966"
@@ -7497,64 +7502,64 @@
     <text
        xml:space="preserve"
        
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
-       x="-97.635895"
-       y="978.15656"
+       x="-98.680855"
+       y="920.68396"
        id="text3938-3-5"><tspan
          sodipodi:role="line"
          id="tspan3940-6-4"
-         x="-97.635895"
-         y="978.15656"
+         x="-98.680855"
+         y="920.68396"
          
style="font-size:2px;line-height:1.25;font-family:sans-serif">encoder-analyze-powerbars.png</tspan></text>
     <text
        xml:space="preserve"
        
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
-       x="-70.645142"
-       y="981.80341"
+       x="-71.690102"
+       y="924.33081"
        id="text3938-3-5-7"><tspan
          sodipodi:role="line"
          id="tspan3940-6-4-1"
-         x="-70.645142"
-         y="981.80341"
+         x="-71.690102"
+         y="924.33081"
          
style="font-size:2px;line-height:1.25;font-family:sans-serif">encoder-analyze-cross.png</tspan></text>
     <text
        xml:space="preserve"
        
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
-       x="-17.313906"
-       y="978.15656"
+       x="-42.641403"
+       y="972.97766"
        id="text3938-3-5-7-5"><tspan
          sodipodi:role="line"
          id="tspan3940-6-4-1-9"
-         x="-17.313906"
-         y="978.15656"
+         x="-42.641403"
+         y="972.97766"
          
style="font-size:2px;line-height:1.25;font-family:sans-serif">encoder-analyze-side.png</tspan></text>
     <text
        xml:space="preserve"
        
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
-       x="40.068802"
-       y="981.80341"
+       x="-13.879331"
+       y="923.74017"
        id="text3938-3-5-7-5-9"><tspan
          sodipodi:role="line"
          id="tspan3940-6-4-1-9-8"
-         x="40.068802"
-         y="981.80341"
-         
style="font-size:2px;line-height:1.25;font-family:sans-serif">encoder-analyze-single.png</tspan></text>
+         x="-13.879331"
+         y="923.74017"
+         
style="font-size:2px;line-height:1.25;font-family:sans-serif">encoder-analyze-instantaneous.png</tspan></text>
     <text
        xml:space="preserve"
        
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
-       x="59.725075"
-       y="978.15656"
+       x="34.689846"
+       y="921.15723"
        id="text3938-3-5-7-5-9-8"><tspan
          sodipodi:role="line"
          id="tspan3940-6-4-1-9-8-2"
-         x="59.725075"
-         y="978.15656"
+         x="34.689846"
+         y="921.15723"
          style="font-size:2px;line-height:1.25;font-family:sans-serif">encoder-analyze-nmp.png</tspan></text>
     <g
        id="g5316"
        
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-analyze-side.png"
        inkscape:export-xdpi="89.989998"
        inkscape:export-ydpi="89.989998"
-       transform="translate(1.663137,-15.738761)">
+       transform="translate(-23.664357,-20.917636)">
       <rect
          y="1003.9698"
          x="-10.833775"
@@ -7567,17 +7572,17 @@
          id="g5183">
         <g
            id="g5139"
-           transform="translate(7.5363335e-4,0)">
+           transform="translate(7.5363335e-4)">
           <g
              id="g5089">
             <path
-               
style="fill:none;stroke:#ffffff;stroke-width:1.43404114;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+               
style="fill:none;stroke:#ffffff;stroke-width:1.43404114;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
                d="m -9.6251942,1018.0966 c 3.5599046,0.1505 1.1347346,-5.3596 5.8138922,-5.0473"
                id="path3792-5-6-0-9-82"
                inkscape:connector-curvature="0"
                sodipodi:nodetypes="cc" />
             <path
-               
style="fill:none;stroke:#000000;stroke-width:1.08639479;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+               
style="fill:none;stroke:#000000;stroke-width:1.08639479;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
                d="m -9.5493126,1018.0983 c 3.3589836,-0.061 1.3722632,-5.2562 5.662129,-5.0547"
                id="path3792-5-6-0-9"
                inkscape:connector-curvature="0"
@@ -7585,15 +7590,15 @@
           </g>
           <g
              id="g5089-4"
-             transform="translate(7.7674398,0)">
+             transform="translate(7.7674398)">
             <path
-               
style="fill:none;stroke:#ffffff;stroke-width:1.43404114;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+               
style="fill:none;stroke:#ffffff;stroke-width:1.43404114;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
                d="m -9.6251942,1018.0966 c 3.5599046,0.1505 1.1347346,-5.3596 5.8138922,-5.0473"
                id="path3792-5-6-0-9-82-7"
                inkscape:connector-curvature="0"
                sodipodi:nodetypes="cc" />
             <path
-               
style="fill:none;stroke:#000000;stroke-width:1.08639479;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+               
style="fill:none;stroke:#000000;stroke-width:1.08639479;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
                d="m -9.5493126,1018.0983 c 3.3589836,-0.061 1.3722632,-5.2562 5.662129,-5.0547"
                id="path3792-5-6-0-9-4"
                inkscape:connector-curvature="0"
@@ -7606,13 +7611,13 @@
           <g
              id="g5089-3">
             <path
-               
style="fill:none;stroke:#ffffff;stroke-width:1.43404114;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+               
style="fill:none;stroke:#ffffff;stroke-width:1.43404114;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
                d="m -9.6251942,1018.0966 c 3.5599046,0.1505 1.1347346,-5.3596 5.8138922,-5.0473"
                id="path3792-5-6-0-9-82-9"
                inkscape:connector-curvature="0"
                sodipodi:nodetypes="cc" />
             <path
-               
style="fill:none;stroke:#000000;stroke-width:1.08639479;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+               
style="fill:none;stroke:#000000;stroke-width:1.08639479;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
                d="m -9.5493126,1018.0983 c 3.3589836,-0.061 1.3722632,-5.2562 5.662129,-5.0547"
                id="path3792-5-6-0-9-9"
                inkscape:connector-curvature="0"
@@ -7620,15 +7625,15 @@
           </g>
           <g
              id="g5089-4-7"
-             transform="translate(7.7674398,0)">
+             transform="translate(7.7674398)">
             <path
-               
style="fill:none;stroke:#ffffff;stroke-width:1.43404114;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+               
style="fill:none;stroke:#ffffff;stroke-width:1.43404114;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
                d="m -9.6251942,1018.0966 c 3.5599046,0.1505 1.1347346,-5.3596 5.8138922,-5.0473"
                id="path3792-5-6-0-9-82-7-8"
                inkscape:connector-curvature="0"
                sodipodi:nodetypes="cc" />
             <path
-               
style="fill:none;stroke:#000000;stroke-width:1.08639479;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+               
style="fill:none;stroke:#000000;stroke-width:1.08639479;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
                d="m -9.5493126,1018.0983 c 3.3589836,-0.061 1.3722632,-5.2562 5.662129,-5.0547"
                id="path3792-5-6-0-9-4-6"
                inkscape:connector-curvature="0"
@@ -7695,7 +7700,7 @@
        
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-analyze-cross.png"
        inkscape:export-xdpi="89.989998"
        inkscape:export-ydpi="89.989998"
-       transform="translate(-29.442427,-13.143517)">
+       transform="translate(-30.487384,-70.616125)">
       <rect
          y="1003.9698"
          x="-35.875648"
@@ -10092,30 +10097,31 @@
     <text
        xml:space="preserve"
        
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
-       x="76.398582"
-       y="1048.9115"
+       x="152.59258"
+       y="1023.3558"
        id="text5579"><tspan
          sodipodi:role="line"
          id="tspan5581"
-         x="76.398582"
-         y="1048.9115"
+         x="152.59258"
+         y="1023.3558"
          style="font-size:6.40506601px;line-height:1.25;font-family:sans-serif">dj-from-out.png 
16x16px</tspan></text>
     <text
        xml:space="preserve"
        
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
-       x="78.383598"
-       y="1012.819"
+       x="154.57759"
+       y="987.26324"
        id="text5579-9"><tspan
          sodipodi:role="line"
          id="tspan5581-1"
-         x="78.383598"
-         y="1012.819"
+         x="154.57759"
+         y="987.26324"
          style="font-size:6.40506601px;line-height:1.25;font-family:sans-serif">dj-from-in.png 
16x16px</tspan></text>
     <g
        id="g16051"
        
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/dj-from-in.png"
        inkscape:export-xdpi="125.23"
-       inkscape:export-ydpi="125.23">
+       inkscape:export-ydpi="125.23"
+       transform="translate(76.193992,-25.555749)">
       <rect
          y="991.28235"
          x="118.51299"
@@ -10135,13 +10141,14 @@
          inkscape:connector-curvature="0"
          id="path3792-0-1-3"
          d="m 121.1628,1001.6481 c 1.05928,-5.62007 2.73875,-5.37307 4.23542,0 0.77778,-1.3172 
1.06468,-8.06537 1.06468,-8.06537"
-         
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#TriangleOutS)"
 />
+         
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutS)"
 />
     </g>
     <g
        id="g16066"
        
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/dj-from-out.png"
        inkscape:export-xdpi="125.23"
-       inkscape:export-ydpi="125.23">
+       inkscape:export-ydpi="125.23"
+       transform="translate(76.193992,-25.555749)">
       <rect
          y="1037.5801"
          x="120.37041"
@@ -10163,7 +10170,7 @@
            x="139.76294"
            y="1026.3796" />
         <path
-           
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#TriangleOutS)"
+           
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutS)"
            d="m 142.39258,1032.7342 c 1.60137,0.028 2.7791,-0.01 4.27576,4.0112 0.77779,-1.3172 
1.06469,-8.0653 1.06469,-8.0653"
            id="path3792-0-1-9-9"
            inkscape:connector-curvature="0"
@@ -10172,7 +10179,7 @@
     </g>
     <g
        id="g5441"
-       transform="translate(45.514245,23.458884)"
+       transform="translate(44.469288,-34.013724)"
        
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-analyze-1RM.png"
        inkscape:export-xdpi="90"
        inkscape:export-ydpi="90">
@@ -10209,13 +10216,13 @@
     <text
        xml:space="preserve"
        
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
-       x="-42.132053"
-       y="981.16022"
+       x="-43.17701"
+       y="923.68762"
        id="text3938-3-5-7-2"><tspan
          sodipodi:role="line"
          id="tspan3940-6-4-1-8"
-         x="-42.132053"
-         y="981.16022"
+         x="-43.17701"
+         y="923.68762"
          style="font-size:2px;line-height:1.25;font-family:sans-serif">encoder-analyze-1RM.png</tspan></text>
     <text
        xml:space="preserve"
@@ -11311,7 +11318,8 @@
        id="g3270"
        
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-analyze-superpose.png"
        inkscape:export-xdpi="96"
-       inkscape:export-ydpi="96">
+       inkscape:export-ydpi="96"
+       transform="translate(-20.496827,-4.4633624)">
       <rect
          y="988.12585"
          x="17.239494"
@@ -11350,13 +11358,159 @@
     <text
        xml:space="preserve"
        
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
-       x="11.457384"
-       y="976.92218"
+       x="-9.0394297"
+       y="972.45886"
        id="text3938-3-5-7-5-9-2"><tspan
          sodipodi:role="line"
          id="tspan3940-6-4-1-9-8-8"
-         x="11.457384"
-         y="976.92218"
+         x="-9.0394297"
+         y="972.45886"
          
style="font-size:2px;line-height:1.25;font-family:sans-serif">encoder-analyze-superpose.png</tspan></text>
+    <g
+       id="g6529"
+       transform="translate(-169.37931,17.064093)"
+       
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-analyze-single.png"
+       inkscape:export-xdpi="96"
+       inkscape:export-ydpi="96">
+      <rect
+         y="966.50214"
+         x="97.56707"
+         height="16"
+         width="16"
+         id="rect2985-6-67"
+         style="fill:#ffffff;fill-opacity:0;fill-rule:nonzero;stroke:none" />
+      <g
+         transform="translate(83.358969,-37.467505)"
+         id="g5217-5">
+        <path
+           
style="fill:none;stroke:#ffffff;stroke-width:2.71259522;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 17.03509,1016.4423 c 6.83937,0.041 1.801391,-8.8682 10.346018,-8.9454"
+           id="path3792-5-6-0-3"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cc" />
+        <path
+           
style="fill:none;stroke:#000000;stroke-width:1.93756807;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 17.158939,1016.4823 c 5.990696,-0.1088 2.447411,-9.3744 10.09832,-9.015"
+           id="path3792-5-6-5"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cc" />
+      </g>
+      <text
+         id="text6513"
+         y="975.47833"
+         x="97.93055"
+         
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="font-size:9.33333302px"
+           y="975.47833"
+           x="97.93055"
+           id="tspan6511"
+           sodipodi:role="line">1</tspan></text>
+    </g>
+    <text
+       xml:space="preserve"
+       
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+       x="-82.020195"
+       y="979.73889"
+       id="text3938-3-5-7-5-9-6"><tspan
+         sodipodi:role="line"
+         id="tspan3940-6-4-1-9-8-29"
+         x="-82.020195"
+         y="979.73889"
+         
style="font-size:2px;line-height:1.25;font-family:sans-serif">encoder-analyze-single.png</tspan></text>
+    <g
+       id="g6734"
+       transform="translate(-6.3865464,3.1932732)"
+       
inkscape:export-filename="/home/xavier/informatica/progs_meus/chronojump/chronojump/images/encoder-analyze-all-set.png"
+       inkscape:export-xdpi="96.000046"
+       inkscape:export-ydpi="96.000046">
+      <g
+         transform="translate(0,-0.79167533)"
+         id="g6719">
+        <g
+           style="stroke:#ffffff;stroke-width:2.21664834;stroke-opacity:1"
+           id="g3328-2-6"
+           transform="matrix(0.43547399,0,0,0.46026194,33.959849,497.12589)">
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path3792-5-2-9-0-7-1"
+             d="m 28.953238,1076.5652 c -3.4244,-0.1141 -1.398989,-9.8289 -5.7724,-9.4521"
+             
style="fill:none;stroke:#ffffff;stroke-width:3.32497287;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path3792-5-2-9-3-0-2"
+             d="m 17.908438,1076.5652 c 3.424402,-0.1141 1.398989,-9.8289 5.7724,-9.4521"
+             
style="fill:none;stroke:#ffffff;stroke-width:3.32497287;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path3792-5-2-9-0-9-93-9"
+             d="m 17.808289,1076.5652 c -3.424401,-0.1141 -0.797795,-10.8358 -9.870154,-9.7398"
+             
style="fill:none;stroke:#ffffff;stroke-width:3.32497287;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path3792-5-2-9-0-9-7-60-3"
+             d="m 29.053388,1076.5652 c 3.424401,-0.1141 0.797795,-10.8358 9.870155,-9.7398"
+             
style="fill:none;stroke:#ffffff;stroke-width:3.32497287;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+        </g>
+        <g
+           style="stroke-width:2.37265873"
+           id="g3328-2"
+           transform="matrix(0.41507414,0,0,0.42146811,34.410886,538.66182)">
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path3792-5-2-9-0-7"
+             d="m 28.953238,1076.5652 c -3.4244,-0.1141 -1.398989,-9.8289 -5.7724,-9.4521"
+             
style="fill:none;stroke:#000000;stroke-width:3.55898809;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path3792-5-2-9-3-0"
+             d="m 17.908438,1076.5652 c 3.424402,-0.1141 1.398989,-9.8289 5.7724,-9.4521"
+             
style="fill:none;stroke:#000000;stroke-width:3.55898809;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path3792-5-2-9-0-9-93"
+             d="m 17.808289,1076.5652 c -3.424401,-0.1141 -0.797795,-10.8358 -9.870154,-9.7398"
+             
style="fill:none;stroke:#000000;stroke-width:3.55898809;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path3792-5-2-9-0-9-7-60"
+             d="m 29.053388,1076.5652 c 3.424401,-0.1141 0.797795,-10.8358 9.870155,-9.7398"
+             
style="fill:none;stroke:#000000;stroke-width:3.55898809;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+        </g>
+        <rect
+           style="fill:#ffffff;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-width:1"
+           id="rect2985-8-7-5-4-6"
+           width="13.486979"
+           height="6.7434897"
+           x="37.392933"
+           y="986.95892" />
+      </g>
+      <rect
+         y="981.35712"
+         x="36.166679"
+         height="16"
+         width="16"
+         id="rect2985-6-6-6"
+         style="fill:#ffffff;fill-opacity:0;fill-rule:nonzero;stroke:none" />
+    </g>
+    <text
+       xml:space="preserve"
+       
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+       x="23.570536"
+       y="975.02356"
+       id="text3938-3-5-7-5-9-2-9"><tspan
+         sodipodi:role="line"
+         id="tspan3940-6-4-1-9-8-8-4"
+         x="23.570536"
+         y="975.02356"
+         
style="font-size:2px;line-height:1.25;font-family:sans-serif">encoder-analyze-all-set.png</tspan></text>
   </g>
 </svg>
diff --git a/src/Makefile.am b/src/Makefile.am
index 9a44620..97fcee3 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -429,7 +429,8 @@ RESOURCES = \
        ../images/md/ic_directions_run_simple_blue_24dp_1x.png,image_run_simple.png \
        ../images/md/ic_directions_run_multiple_blue_24dp_1x.png,image_run_multiple.png \
        ../images/md/ic_directions_run_track_blue_24dp_1x.png,run_track_distance.png \
-       ../images/md/ic_build_blue_24dp_1x.png,image_build.png \
+       ../images/md/ic_build_blue_24dp_1x.png,image_build_24.png \
+       ../images/md/ic_build_blue_16dp_1x.png,image_build_16.png \
        ../images/md/ic_edit_blue_24dp_1x.png,image_edit.png \
        ../images/md/ic_add_blue_24dp_1x.png,image_add.png \
        ../images/md/ic_info_outline_blue_24dp_1x.png,image_info.png \
@@ -488,9 +489,11 @@ RESOURCES = \
        ../images/encoder-analyze-powerbars.png,encoder-analyze-powerbars.png \
        ../images/encoder-analyze-cross.png,encoder-analyze-cross.png \
        ../images/encoder-analyze-1RM.png,encoder-analyze-1RM.png \
+       ../images/encoder-analyze-instantaneous.png,encoder-analyze-instantaneous.png \
+       ../images/encoder-analyze-single.png,encoder-analyze-single.png \
        ../images/encoder-analyze-side.png,encoder-analyze-side.png \
        ../images/encoder-analyze-superpose.png,encoder-analyze-superpose.png \
-       ../images/encoder-analyze-single.png,encoder-analyze-single.png \
+       ../images/encoder-analyze-all-set.png,encoder-analyze-all-set.png \
        ../images/encoder-analyze-nmp.png,encoder-analyze-nmp.png \
        ../images/encoder-analyze-eccon-together.png,encoder-analyze-eccon-together.png \
        ../images/encoder-analyze-eccon-separated.png,encoder-analyze-eccon-separated.png \
diff --git a/src/constants.cs b/src/constants.cs
index c667768..dc3d510 100644
--- a/src/constants.cs
+++ b/src/constants.cs
@@ -469,9 +469,11 @@ public class Constants
        public static string FileNameEncoderAnalyzePowerbarsIcon = "encoder-analyze-powerbars.png";
        public static string FileNameEncoderAnalyzeCrossIcon = "encoder-analyze-cross.png";
        public static string FileNameEncoderAnalyze1RMIcon = "encoder-analyze-1RM.png";
+       public static string FileNameEncoderAnalyzeInstantaneousIcon = "encoder-analyze-instantaneous.png";
+       public static string FileNameEncoderAnalyzeSingleIcon = "encoder-analyze-single.png";
        public static string FileNameEncoderAnalyzeSideIcon = "encoder-analyze-side.png";
        public static string FileNameEncoderAnalyzeSuperposeIcon = "encoder-analyze-superpose.png";
-       public static string FileNameEncoderAnalyzeSingleIcon = "encoder-analyze-single.png";
+       public static string FileNameEncoderAnalyzeAllSetIcon = "encoder-analyze-all-set.png";
        public static string FileNameEncoderAnalyzeNmpIcon = "encoder-analyze-nmp.png";
        
        public static string FileNameEncoderAnalyzeEcconTogetherIcon = "encoder-analyze-eccon-together.png";
diff --git a/src/gui/chronojumpIcons.cs b/src/gui/chronojumpIcons.cs
index 246353b..13be49d 100644
--- a/src/gui/chronojumpIcons.cs
+++ b/src/gui/chronojumpIcons.cs
@@ -116,6 +116,8 @@ public partial class ChronoJumpWindow
        [Widget] Gtk.Image image_encoder_recalibrate;
        [Widget] Gtk.Image image_encoder_triggers;
        [Widget] Gtk.Image image_encoder_rhythm_rest;
+       [Widget] Gtk.Image image_encoder_analyze_mode_options;
+       [Widget] Gtk.Image image_encoder_analyze_mode_options_close;
 
        //force sensor
        [Widget] Gtk.Image image_selector_start_force_sensor;
@@ -256,9 +258,11 @@ public partial class ChronoJumpWindow
                image_recalculate.Pixbuf = pixbuf;
                image_force_sensor_analyze_recalculate.Pixbuf = pixbuf;
 
-               pixbuf = new Pixbuf (null, Util.GetImagePath(false) + "image_build.png");
+               pixbuf = new Pixbuf (null, Util.GetImagePath(false) + "image_build_24.png");
                image_encoder_configuration.Pixbuf = pixbuf;
                image_force_sensor_analyze_options.Pixbuf = pixbuf;
+               pixbuf = new Pixbuf (null, Util.GetImagePath(false) + "image_build_16.png");
+               image_encoder_analyze_mode_options.Pixbuf = pixbuf;
 
                pixbuf = new Pixbuf (null, Util.GetImagePath(false) + "image_exercise.png");
                image_encoder_exercise.Pixbuf = pixbuf;
@@ -300,6 +304,7 @@ public partial class ChronoJumpWindow
                pixbuf = new Pixbuf (null, Util.GetImagePath(false) + "image_close.png");
                image_encoder_exercise1.Pixbuf = pixbuf;
                image_force_sensor_analyze_options_close.Pixbuf = pixbuf;
+               image_encoder_analyze_mode_options_close.Pixbuf = pixbuf;
 
 
 
@@ -477,12 +482,11 @@ public partial class ChronoJumpWindow
                UtilGtk.DeviceColors(viewport_chronopics, true);
                UtilGtk.DeviceColors(viewport_chronopic_encoder, true);
 
+
                //encoder
                UtilGtk.ColorsRadio(viewport_chronopics, radiobutton_encoder_analyze_powerbars);
                UtilGtk.ColorsRadio(viewport_chronopics, radiobutton_encoder_analyze_cross);
-               UtilGtk.ColorsRadio(viewport_chronopics, radiobutton_encoder_analyze_side);
-               UtilGtk.ColorsRadio(viewport_chronopics, radiobutton_encoder_analyze_superpose);
-               UtilGtk.ColorsRadio(viewport_chronopics, radiobutton_encoder_analyze_single);
+               UtilGtk.ColorsRadio(viewport_chronopics, radiobutton_encoder_analyze_instantaneous);
                UtilGtk.ColorsRadio(viewport_chronopics, radiobutton_encoder_analyze_neuromuscular_profile);
                
                UtilGtk.ColorsCheckbox(viewport_chronopics, check_encoder_analyze_show_position);
@@ -547,12 +551,20 @@ public partial class ChronoJumpWindow
                image_encoder_analyze_1RM.Pixbuf = pixbuf;
                image_encoder_analyze_1RM_save.Pixbuf = pixbuf;
 
+               pixbuf = new Pixbuf (null, Util.GetImagePath(false) + 
Constants.FileNameEncoderAnalyzeInstantaneousIcon);
+               image_encoder_analyze_instantaneous.Pixbuf = pixbuf;
                pixbuf = new Pixbuf (null, Util.GetImagePath(false) + 
Constants.FileNameEncoderAnalyzeSideIcon);
                image_encoder_analyze_side.Pixbuf = pixbuf;
+               image_encoder_analyze_selected_side.Pixbuf = pixbuf;
                pixbuf = new Pixbuf (null, Util.GetImagePath(false) + 
Constants.FileNameEncoderAnalyzeSuperposeIcon);
                image_encoder_analyze_superpose.Pixbuf = pixbuf;
+               image_encoder_analyze_selected_superpose.Pixbuf = pixbuf;
                pixbuf = new Pixbuf (null, Util.GetImagePath(false) + 
Constants.FileNameEncoderAnalyzeSingleIcon);
                image_encoder_analyze_single.Pixbuf = pixbuf;
+               image_encoder_analyze_selected_single.Pixbuf = pixbuf;
+               pixbuf = new Pixbuf (null, Util.GetImagePath(false) + 
Constants.FileNameEncoderAnalyzeAllSetIcon);
+               image_encoder_analyze_all_set.Pixbuf = pixbuf;
+               image_encoder_analyze_selected_all_set.Pixbuf = pixbuf;
                pixbuf = new Pixbuf (null, Util.GetImagePath(false) + 
Constants.FileNameEncoderAnalyzeNmpIcon);
                image_encoder_analyze_nmp.Pixbuf = pixbuf;
                
@@ -563,12 +575,16 @@ public partial class ChronoJumpWindow
 
                pixbuf = new Pixbuf (null, Util.GetImagePath(false) + 
Constants.FileNameEncoderAnalyzeSpeedIcon);
                image_encoder_analyze_speed.Pixbuf = pixbuf;
+               image_encoder_analyze_show_SAFE_speed.Pixbuf = pixbuf;
                pixbuf = new Pixbuf (null, Util.GetImagePath(false) + 
Constants.FileNameEncoderAnalyzeAccelIcon);
                image_encoder_analyze_accel.Pixbuf = pixbuf;
+               image_encoder_analyze_show_SAFE_accel.Pixbuf = pixbuf;
                pixbuf = new Pixbuf (null, Util.GetImagePath(false) + 
Constants.FileNameEncoderAnalyzeForceIcon);
                image_encoder_analyze_force.Pixbuf = pixbuf;
+               image_encoder_analyze_show_SAFE_force.Pixbuf = pixbuf;
                pixbuf = new Pixbuf (null, Util.GetImagePath(false) + 
Constants.FileNameEncoderAnalyzePowerIcon);
                image_encoder_analyze_power.Pixbuf = pixbuf;
+               image_encoder_analyze_show_SAFE_power.Pixbuf = pixbuf;
                
                pixbuf = new Pixbuf (null, Util.GetImagePath(false) + 
Constants.FileNameEncoderAnalyzeMeanIcon);
                image_encoder_analyze_mean.Pixbuf = pixbuf;
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index e4730e2..bd6be2a 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -159,13 +159,22 @@ public partial class ChronoJumpWindow
        [Widget] Gtk.CheckButton check_encoder_analyze_show_time_to_peak_power;
        [Widget] Gtk.CheckButton check_encoder_analyze_show_range;
 
-       [Widget] Gtk.Box hbox_encoder_analyze_show_SAFE;
+       [Widget] Gtk.Button button_encoder_analyze_mode_options;
+       [Widget] Gtk.HBox hbox_encoder_analyze_instantaneous;
        [Widget] Gtk.CheckButton check_encoder_analyze_show_position;
        [Widget] Gtk.CheckButton check_encoder_analyze_show_speed;
        [Widget] Gtk.CheckButton check_encoder_analyze_show_accel;
        [Widget] Gtk.CheckButton check_encoder_analyze_show_force;
        [Widget] Gtk.CheckButton check_encoder_analyze_show_power;
        [Widget] Gtk.CheckButton checkbutton_encoder_analyze_side_share_x;
+
+       [Widget] Gtk.Frame frame_encoder_analyze_options;
+       [Widget] Gtk.Table table_encoder_analyze_options;
+       [Widget] Gtk.Label label_encoder_analyze_show_SAFE_position;
+       [Widget] Gtk.Image image_encoder_analyze_show_SAFE_speed;
+       [Widget] Gtk.Image image_encoder_analyze_show_SAFE_accel;
+       [Widget] Gtk.Image image_encoder_analyze_show_SAFE_force;
+       [Widget] Gtk.Image image_encoder_analyze_show_SAFE_power;
        
        [Widget] Gtk.CheckButton checkbutton_crossvalidate;
        [Widget] Gtk.Button button_encoder_analyze;
@@ -232,17 +241,26 @@ public partial class ChronoJumpWindow
        [Widget] Gtk.RadioButton radiobutton_encoder_analyze_powerbars;
        [Widget] Gtk.RadioButton radiobutton_encoder_analyze_cross;
        [Widget] Gtk.RadioButton radiobutton_encoder_analyze_1RM;
+       [Widget] Gtk.RadioButton radiobutton_encoder_analyze_instantaneous;
        [Widget] Gtk.RadioButton radiobutton_encoder_analyze_single;
        [Widget] Gtk.RadioButton radiobutton_encoder_analyze_side;
        [Widget] Gtk.RadioButton radiobutton_encoder_analyze_superpose;
+       [Widget] Gtk.RadioButton radiobutton_encoder_analyze_all_set;
        [Widget] Gtk.RadioButton radiobutton_encoder_analyze_neuromuscular_profile;
        [Widget] Gtk.Image image_encoder_analyze_powerbars;
        [Widget] Gtk.Image image_encoder_analyze_cross;
        [Widget] Gtk.Image image_encoder_analyze_1RM;
+       [Widget] Gtk.Image image_encoder_analyze_instantaneous;
+       [Widget] Gtk.Image image_encoder_analyze_single;
        [Widget] Gtk.Image image_encoder_analyze_side;
        [Widget] Gtk.Image image_encoder_analyze_superpose;
-       [Widget] Gtk.Image image_encoder_analyze_single;
+       [Widget] Gtk.Image image_encoder_analyze_all_set;
        [Widget] Gtk.Image image_encoder_analyze_nmp;
+       [Widget] Gtk.Image image_encoder_analyze_selected_single;
+       [Widget] Gtk.Image image_encoder_analyze_selected_side;
+       [Widget] Gtk.Image image_encoder_analyze_selected_superpose;
+       [Widget] Gtk.Image image_encoder_analyze_selected_all_set;
+       [Widget] Gtk.Label label_encoder_analyze_selected;
        [Widget] Gtk.HBox hbox_encoder_analyze_intersession;
        [Widget] Gtk.CheckButton check_encoder_intersession_x_is_date;
        [Widget] Gtk.HBox hbox_combo_encoder_analyze_weights;
@@ -1252,14 +1270,13 @@ public partial class ChronoJumpWindow
                        else {
                                if(! radio_encoder_eccon_concentric.Active)
                                        curvesNum = curvesNum / 2;
-                       
-                               string [] activeCurvesList = new String[curvesNum +1];
-                               activeCurvesList[0] = Catalog.GetString("All");
-                               for(int i=1; i <= curvesNum; i++)
-                                       activeCurvesList[i] = i.ToString();
+
+                               string [] activeCurvesList = new String[curvesNum];
+                               for(int i=0; i < curvesNum; i++)
+                                       activeCurvesList[i] = (i+1).ToString();
                                UtilGtk.ComboUpdate(combo_encoder_analyze_curve_num_combo, activeCurvesList, 
"");
                                combo_encoder_analyze_curve_num_combo.Active = 
-                                       UtilGtk.ComboMakeActive(combo_encoder_analyze_curve_num_combo, 
activeCurvesList[1]);
+                                       UtilGtk.ComboMakeActive(combo_encoder_analyze_curve_num_combo, 
activeCurvesList[0]);
                                
                                encoderButtonsSensitive(encoderSensEnum.DONEYESSIGNAL);
                        }
@@ -2190,11 +2207,10 @@ public partial class ChronoJumpWindow
                if(rows == 0)
                        activeCurvesList = Util.StringToStringArray("");
                else {
-                       activeCurvesList = new String[rows +1];
-                       activeCurvesList[0] = Catalog.GetString("All");
-                       for(int i=1; i <= rows; i++)
-                               activeCurvesList[i] = i.ToString();
-                       defaultValue = 1;
+                       activeCurvesList = new String[rows];
+                       for(int i=0; i < rows; i++)
+                               activeCurvesList[i] = (i+1).ToString();
+                       defaultValue = 0;
                }
 
                UtilGtk.ComboUpdate(combo_encoder_analyze_curve_num_combo, activeCurvesList, "");
@@ -2686,7 +2702,7 @@ public partial class ChronoJumpWindow
                        }
                }
                
-               if(sendAnalysis == "powerBars" || sendAnalysis == "single" ||
+               if(sendAnalysis == "powerBars" || sendAnalysis == "single" || sendAnalysis == "singleAllSet" 
||
                                sendAnalysis == "side" || sendAnalysis == "sideShareX" || sendAnalysis == 
"superpose")
                {
                        analysisVariables = getAnalysisVariables(sendAnalysis);
@@ -2931,9 +2947,14 @@ public partial class ChronoJumpWindow
                        }
                        
                        //if combo_encoder_analyze_curve_num_combo "All" is selected, then use a 0, else get 
the number
-                       int curveNum = 0; //all
-                       if(Util.IsNumber(UtilGtk.ComboGetActive(combo_encoder_analyze_curve_num_combo), 
false))
-                               curveNum = 
Convert.ToInt32(UtilGtk.ComboGetActive(combo_encoder_analyze_curve_num_combo));
+                       int curveNum = 0;
+                       if(radiobutton_encoder_analyze_all_set.Active)
+                               curveNum = 0;
+                       else if(radiobutton_encoder_analyze_single.Active)
+                       {
+                               
if(Util.IsNumber(UtilGtk.ComboGetActive(combo_encoder_analyze_curve_num_combo), false))
+                                       curveNum = 
Convert.ToInt32(UtilGtk.ComboGetActive(combo_encoder_analyze_curve_num_combo));
+                       }
 
                        ep = new EncoderParams(
                                        
preferences.EncoderCaptureMinHeight(encoderConfigurationCurrent.has_inertia), 
@@ -3186,7 +3207,8 @@ public partial class ChronoJumpWindow
                        else
                                analysisVariables += ";NoRange";
                }
-               else {  //analysis == "single" || analysis == "side" || analysis == "sideShareX" || 
sendAnalysis == "superpose"
+               else {  //analysis == "single" || analysis == "singleAllSet" ||
+                       //analysis == "side" || analysis == "sideShareX" || sendAnalysis == "superpose"
                        if(check_encoder_analyze_show_position.Active)
                                analysisVariables = "Position";
                        else
@@ -3219,89 +3241,6 @@ public partial class ChronoJumpWindow
 
        //encoder analysis modes
 
-       private void on_radiobutton_encoder_analyze_single_toggled (object obj, EventArgs args) {
-               hbox_encoder_analyze_curve_num.Visible=true;
-               hbox_combo_encoder_analyze_curve_num_combo.Visible = true;
-               hbox_combo_encoder_analyze_cross_sup.Visible=false;
-               hbox_combo_encoder_analyze_1RM.Visible=false;
-               check_encoder_analyze_mean_or_max.Visible=false;
-               hbox_encoder_analyze_show_powerbars.Visible=false;
-               hbox_encoder_analyze_show_SAFE.Visible=true;
-               checkbutton_encoder_analyze_side_share_x.Visible = false;
-               encoderSelectedAnalysis = "single";
-               
-               //together, mandatory
-               check_encoder_analyze_eccon_together.Sensitive=false;
-               check_encoder_analyze_eccon_together.Active = true;
-       
-               button_encoder_analyze_help.Visible = false;
-               label_encoder_analyze_side_max.Visible = false;
-
-               //restore 1RM Bench Press sensitiveness
-               check_encoder_analyze_mean_or_max.Sensitive = true;
-               
-               encoderButtonsSensitive(encoderSensEnumStored);
-               button_encoder_analyze_sensitiveness();
-       }
-
-       private void on_radiobutton_encoder_analyze_superpose_toggled (object obj, EventArgs args) {
-               hbox_encoder_analyze_curve_num.Visible=false;
-               hbox_combo_encoder_analyze_curve_num_combo.Visible = false;
-               hbox_combo_encoder_analyze_cross_sup.Visible=false;
-               hbox_combo_encoder_analyze_1RM.Visible=false;
-               check_encoder_analyze_mean_or_max.Visible=false;
-               hbox_encoder_analyze_show_powerbars.Visible=false;
-               hbox_encoder_analyze_show_SAFE.Visible=true;
-               checkbutton_encoder_analyze_side_share_x.Visible = false;
-               encoderSelectedAnalysis = "superpose";
-               
-               //together, mandatory
-               check_encoder_analyze_eccon_together.Sensitive=false;
-               check_encoder_analyze_eccon_together.Active = true;
-               
-               button_encoder_analyze_help.Visible = false;
-               
-               //restore 1RM Bench Press sensitiveness
-               check_encoder_analyze_mean_or_max.Sensitive = true;
-               
-               encoderButtonsSensitive(encoderSensEnumStored);
-               button_encoder_analyze_sensitiveness();
-       }
-
-       private void on_radiobutton_encoder_analyze_side_toggled (object obj, EventArgs args) {
-               hbox_encoder_analyze_curve_num.Visible=false;
-               hbox_combo_encoder_analyze_curve_num_combo.Visible = false;
-               hbox_combo_encoder_analyze_cross_sup.Visible=false;
-               hbox_combo_encoder_analyze_1RM.Visible=false;
-               check_encoder_analyze_mean_or_max.Visible=false;
-               hbox_encoder_analyze_show_powerbars.Visible=false;
-               hbox_encoder_analyze_show_SAFE.Visible=true;
-               checkbutton_encoder_analyze_side_share_x.Visible = true;
-
-               if(checkbutton_encoder_analyze_side_share_x.Active)
-                       encoderSelectedAnalysis = "sideShareX";
-               else
-                       encoderSelectedAnalysis = "side";
-               
-               //together, mandatory
-               check_encoder_analyze_eccon_together.Sensitive=false;
-               check_encoder_analyze_eccon_together.Active = true;
-
-               button_encoder_analyze_help.Visible = false;
-               
-               //restore 1RM Bench Press sensitiveness
-               check_encoder_analyze_mean_or_max.Sensitive = true;
-               
-               encoderButtonsSensitive(encoderSensEnumStored);
-               button_encoder_analyze_sensitiveness();
-       }
-       private void on_checkbutton_encoder_analyze_side_share_x_toggled (object o, EventArgs args)
-       {
-               if(checkbutton_encoder_analyze_side_share_x.Active)
-                       encoderSelectedAnalysis = "sideShareX";
-               else
-                       encoderSelectedAnalysis = "side";
-       }
        private void on_radiobutton_encoder_analyze_powerbars_toggled (object obj, EventArgs args) {
                hbox_encoder_analyze_curve_num.Visible=false;
                hbox_combo_encoder_analyze_curve_num_combo.Visible = false;
@@ -3309,7 +3248,7 @@ public partial class ChronoJumpWindow
                hbox_combo_encoder_analyze_1RM.Visible=false;
                check_encoder_analyze_mean_or_max.Visible=false;
                hbox_encoder_analyze_show_powerbars.Visible=true;
-               hbox_encoder_analyze_show_SAFE.Visible=false;
+               hbox_encoder_analyze_instantaneous.Visible=false;
                checkbutton_encoder_analyze_side_share_x.Visible = false;
                encoderSelectedAnalysis = "powerBars";
                
@@ -3333,7 +3272,7 @@ public partial class ChronoJumpWindow
                hbox_combo_encoder_analyze_1RM.Visible=false;
                check_encoder_analyze_mean_or_max.Visible=true;
                hbox_encoder_analyze_show_powerbars.Visible=false;
-               hbox_encoder_analyze_show_SAFE.Visible=false;
+               hbox_encoder_analyze_instantaneous.Visible=false;
                checkbutton_encoder_analyze_side_share_x.Visible = false;
                encoderSelectedAnalysis = "cross";
                
@@ -3357,7 +3296,7 @@ public partial class ChronoJumpWindow
                hbox_combo_encoder_analyze_1RM.Visible=true;
                check_encoder_analyze_mean_or_max.Visible=true;
                hbox_encoder_analyze_show_powerbars.Visible=false;
-               hbox_encoder_analyze_show_SAFE.Visible=false;
+               hbox_encoder_analyze_instantaneous.Visible=false;
                checkbutton_encoder_analyze_side_share_x.Visible = false;
                encoderSelectedAnalysis = "1RM";
                
@@ -3381,7 +3320,7 @@ public partial class ChronoJumpWindow
                hbox_combo_encoder_analyze_1RM.Visible=false;
                check_encoder_analyze_mean_or_max.Visible=false;
                hbox_encoder_analyze_show_powerbars.Visible=false;
-               hbox_encoder_analyze_show_SAFE.Visible=false;
+               hbox_encoder_analyze_instantaneous.Visible=false;
                checkbutton_encoder_analyze_side_share_x.Visible = false;
                encoderSelectedAnalysis = "neuromuscularProfile";
                
@@ -3392,13 +3331,148 @@ public partial class ChronoJumpWindow
                button_encoder_analyze_help.Visible = true;
                label_encoder_analyze_side_max.Visible = false;
                check_encoder_analyze_mean_or_max.Sensitive = false;
-               
+
                encoderButtonsSensitive(encoderSensEnumStored);
                button_encoder_analyze_sensitiveness();
        }
        
        //end of encoder analysis modes
 
+       //encoder analysis instantaneous options
+
+       private void on_radiobutton_encoder_analyze_instantaneous_toggled (object obj, EventArgs args)
+       {
+               //hbox_encoder_analyze_curve_num.Visible=true; //defined in "4 radiobuttons"
+               hbox_combo_encoder_analyze_curve_num_combo.Visible = true;
+               hbox_combo_encoder_analyze_cross_sup.Visible=false;
+               hbox_combo_encoder_analyze_1RM.Visible=false;
+               check_encoder_analyze_mean_or_max.Visible=false;
+               hbox_encoder_analyze_show_powerbars.Visible=false;
+               hbox_encoder_analyze_instantaneous.Visible=true;
+               //checkbutton_encoder_analyze_side_share_x.Visible = false; //defined in "4 radiobuttons"
+               encoderSelectedAnalysis = "single";
+
+               //together, mandatory
+               check_encoder_analyze_eccon_together.Sensitive=false;
+               check_encoder_analyze_eccon_together.Active = true;
+
+               button_encoder_analyze_help.Visible = false;
+               label_encoder_analyze_side_max.Visible = false;
+
+               //restore 1RM Bench Press sensitiveness
+               check_encoder_analyze_mean_or_max.Sensitive = true;
+
+               //4 radiobuttons
+               if(radiobutton_encoder_analyze_single.Active)
+                       encoder_instantaneous_gui("single");
+               else if(radiobutton_encoder_analyze_side.Active)
+                       encoder_instantaneous_gui("side");
+               else if(radiobutton_encoder_analyze_superpose.Active)
+                       encoder_instantaneous_gui("superpose");
+               else if(radiobutton_encoder_analyze_all_set.Active)
+                       encoder_instantaneous_gui("singleAllSet");
+
+               encoderButtonsSensitive(encoderSensEnumStored);
+               button_encoder_analyze_sensitiveness();
+       }
+
+       private void on_button_encoder_analyze_mode_options_clicked (object o, EventArgs args)
+       {
+               encoderAnalyzeOptionsSensitivity(false);
+       }
+       private void on_button_encoder_analyze_mode_options_close_clicked (object o, EventArgs args)
+       {
+               encoderAnalyzeOptionsSensitivity(true);
+       }
+
+       private void encoderAnalyzeOptionsSensitivity(bool s) //s for sensitive. When show options frame is ! 
s
+       {
+               frame_encoder_analyze_options.Visible = ! s;
+
+               table_encoder_analyze_options.Sensitive = s;
+               main_menu.Sensitive = s;
+               notebook_session_person.Sensitive = s;
+               hbox_encoder_sup_capture_analyze_two_buttons.Sensitive = s;
+               hbox_top_person_encoder.Sensitive = s;
+       }
+
+       private void on_radiobutton_encoder_analyze_instantaneous_options_toggled (object o, EventArgs args)
+       {
+               hbox_encoder_analyze_curve_num.Visible = false;
+               checkbutton_encoder_analyze_side_share_x.Visible = false;
+
+               if(o == (object) radiobutton_encoder_analyze_single)
+                       encoder_instantaneous_gui("single");
+               else if(o == (object) radiobutton_encoder_analyze_side)
+                       encoder_instantaneous_gui("side");
+               else if(o == (object) radiobutton_encoder_analyze_superpose)
+                       encoder_instantaneous_gui("superpose");
+               else if(o == (object) radiobutton_encoder_analyze_all_set)
+                       encoder_instantaneous_gui("singleAllSet");
+       }
+
+       private void encoder_instantaneous_gui (string mode)
+       {
+               if(mode == "single")
+               {
+                       encoderSelectedAnalysis = "single";
+                       image_encoder_analyze_selected_single.Visible = 
(radiobutton_encoder_analyze_single.Active);
+                       label_encoder_analyze_selected.Text = Catalog.GetString("Single repetition");
+
+                       hbox_encoder_analyze_curve_num.Visible=true;
+               }
+               else if (mode == "side")
+               {
+                       if(checkbutton_encoder_analyze_side_share_x.Active)
+                               encoderSelectedAnalysis = "sideShareX";
+                       else
+                               encoderSelectedAnalysis = "side";
+
+                       image_encoder_analyze_selected_side.Visible = 
(radiobutton_encoder_analyze_side.Active);
+                       label_encoder_analyze_selected.Text = Catalog.GetString("Side compare");
+
+                       checkbutton_encoder_analyze_side_share_x.Visible = true;
+               }
+               else if (mode == "superpose")
+               {
+                       encoderSelectedAnalysis = "superpose";
+
+                       image_encoder_analyze_selected_superpose.Visible = 
(radiobutton_encoder_analyze_superpose.Active);
+                       label_encoder_analyze_selected.Text = Catalog.GetString("Superpose");
+               }
+               else if (mode == "singleAllSet")
+               {
+                       encoderSelectedAnalysis = "singleAllSet"; //TODO: define all this
+
+                       image_encoder_analyze_selected_all_set.Visible = 
(radiobutton_encoder_analyze_all_set.Active);
+                       label_encoder_analyze_selected.Text = Catalog.GetString("All set");
+               }
+       }
+
+       private void on_checkbutton_encoder_analyze_side_share_x_toggled (object o, EventArgs args)
+       {
+               if(checkbutton_encoder_analyze_side_share_x.Active)
+                       encoderSelectedAnalysis = "sideShareX";
+               else
+                       encoderSelectedAnalysis = "side";
+       }
+
+       private void on_check_encoder_analyze_show_option_toggled (object o, EventArgs args)
+       {
+               if(o == (object) check_encoder_analyze_show_position)
+                       label_encoder_analyze_show_SAFE_position.Visible = 
(check_encoder_analyze_show_position.Active);
+               else if(o == (object) check_encoder_analyze_show_speed)
+                       image_encoder_analyze_show_SAFE_speed.Visible = 
(check_encoder_analyze_show_speed.Active);
+               else if(o == (object) check_encoder_analyze_show_accel)
+                       image_encoder_analyze_show_SAFE_accel.Visible = 
(check_encoder_analyze_show_accel.Active);
+               else if(o == (object) check_encoder_analyze_show_force)
+                       image_encoder_analyze_show_SAFE_force.Visible = 
(check_encoder_analyze_show_force.Active);
+               else if(o == (object) check_encoder_analyze_show_power)
+                       image_encoder_analyze_show_SAFE_power.Visible = 
(check_encoder_analyze_show_power.Active);
+       }
+
+       //end of encoder analysis instantaneous options
+
        private void on_check_encoder_analyze_eccon_together_toggled (object obj, EventArgs args) {
                image_encoder_analyze_eccon_together.Visible = check_encoder_analyze_eccon_together.Active;
                image_encoder_analyze_eccon_separated.Visible = ! check_encoder_analyze_eccon_together.Active;
@@ -5286,11 +5360,11 @@ public partial class ChronoJumpWindow
                        }
 
                        image_encoder_width = UtilGtk.WidgetWidth(viewport_image_encoder_capture)-5; 
-                       if(image_encoder_width < 0)
+                       if(image_encoder_width < 100)
                                image_encoder_width = 100; //Not crash R with a png height of -1 or "figure 
margins too large"
 
                        image_encoder_height = UtilGtk.WidgetHeight(viewport_image_encoder_capture)-5;
-                       if(image_encoder_height < 0)
+                       if(image_encoder_height < 100)
                                image_encoder_height = 100; //Not crash R with a png height of -1 or "figure 
margins too large"
 
                        //don't need to be false because ItemToggled is deactivated during capture
@@ -5460,12 +5534,12 @@ public partial class ChronoJumpWindow
                                else
                                        image_encoder_width = Convert.ToInt32(UtilGtk.WidgetWidth(app1));
 
-                               if(image_encoder_width < 0)
+                               if(image_encoder_width < 100)
                                        image_encoder_width = 100; //Not crash R with a png height of -1 or 
"figure margins too large"
                                
                                //-2 to accomadate the width slider without needing a height slider
                                image_encoder_height = UtilGtk.WidgetHeight(viewport_image_encoder_capture) 
-2;
-                               if(image_encoder_height < 0)
+                               if(image_encoder_height < 100)
                                        image_encoder_height = 100; //Not crash R with a png height of -1 or 
"figure margins too large"
 
                                prepareEncoderGraphs(true, true);
@@ -5499,16 +5573,15 @@ public partial class ChronoJumpWindow
                        
                        //the -5 is because image is inside (is smaller than) viewport
                        image_encoder_width = UtilGtk.WidgetWidth(scrolledwindow_image_encoder_analyze)-10;
-                       if(image_encoder_width < 0)
+                       if(image_encoder_width < 100)
                                image_encoder_width = 100; //Not crash R with a png height of -1 or "figure 
margins too large"
 
                        image_encoder_height = UtilGtk.WidgetHeight(scrolledwindow_image_encoder_analyze)-10;
-                       if(image_encoder_height < 0)
+                       if(image_encoder_height < 100)
                                image_encoder_height = 100; //Not crash R with a png height of -1 or "figure 
margins too large"
 
-                       if(encoderSelectedAnalysis == "single") {
+                       if(encoderSelectedAnalysis == "single" || encoderSelectedAnalysis == "singleAllSet")
                                image_encoder_height -= UtilGtk.WidgetHeight(table_encoder_analyze_instant); 
//to allow hslides and table
-                       }
 
                        encoder_pulsebar_analyze.Text = Catalog.GetString("Please, wait.");
                        encoderRProcAnalyze.status = EncoderRProc.Status.WAITING;
@@ -5832,11 +5905,11 @@ public partial class ChronoJumpWindow
                if(needToCallPrepareEncoderGraphs) 
                {
                        image_encoder_width = UtilGtk.WidgetWidth(viewport_image_encoder_capture)-5; 
-                       if(image_encoder_width < 0)
+                       if(image_encoder_width < 100)
                                image_encoder_width = 100; //Not crash R with a png height of -1 or "figure 
margins too large"
 
                        image_encoder_height = UtilGtk.WidgetHeight(viewport_image_encoder_capture)-5;
-                       if(image_encoder_height < 0)
+                       if(image_encoder_height < 100)
                                image_encoder_height = 100; //Not crash R with a png height of -1 or "figure 
margins too large"
 
                        prepareEncoderGraphs(false, false); //do not erase them
@@ -6614,7 +6687,7 @@ public partial class ChronoJumpWindow
                                //TODO pensar en si s'ha de fer 1er amb mida petita i despres amb gran (en el 
zoom),
                                //o si es una sola i fa alguna edicio
                                
-                               if(encoderSelectedAnalysis == "single") {
+                               if(encoderSelectedAnalysis == "single" || encoderSelectedAnalysis == 
"singleAllSet") {
                                        drawingarea_encoder_analyze_cairo_pixbuf = UtilGtk.OpenPixbufSafe(
                                                        UtilEncoder.GetEncoderGraphTempFileName(),
                                                        drawingarea_encoder_analyze_cairo_pixbuf);
@@ -6656,7 +6729,7 @@ public partial class ChronoJumpWindow
                                        }
                                }
 
-                               if(encoderSelectedAnalysis == "single") {
+                               if(encoderSelectedAnalysis == "single" || encoderSelectedAnalysis == 
"singleAllSet") {
                                        eai = new EncoderAnalyzeInstant();
                                        eai.ReadArrayFile(UtilEncoder.GetEncoderInstantDataTempFileName());
                                        eai.ReadGraphParams(UtilEncoder.GetEncoderSpecialDataTempFileName());
diff --git a/src/gui/forceSensorAnalyze.cs b/src/gui/forceSensorAnalyze.cs
index 49a6785..34747ff 100644
--- a/src/gui/forceSensorAnalyze.cs
+++ b/src/gui/forceSensorAnalyze.cs
@@ -120,7 +120,6 @@ public partial class ChronoJumpWindow
                notebook_session_person.Sensitive = s;
                hbox_contacts_sup_capture_analyze_two_buttons.Sensitive = s;
                hbox_top_person.Sensitive = s;
-               hbox_top_person_encoder.Sensitive = s;
        }
 
        private void on_button_force_sensor_analyze_options_clicked (object o, EventArgs args)


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