[chronojump] analyze compare curves main gui 80%



commit 966d05a660e9c5b28ebda792fbf31dabec5c7429
Author: Xavier de Blas <xaviblas gmail com>
Date:   Wed Mar 6 01:11:41 2013 +0100

    analyze compare curves main gui 80%

 glade/chronojump.glade |  616 +++++++++++++++++++++++++----------------------
 src/gui/encoder.cs     |  100 ++++++---
 2 files changed, 399 insertions(+), 317 deletions(-)
---
diff --git a/glade/chronojump.glade b/glade/chronojump.glade
index 43ca6e7..4c76011 100644
--- a/glade/chronojump.glade
+++ b/glade/chronojump.glade
@@ -12306,7 +12306,7 @@ on current Chronojump version.</property>
                                                             </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">True</property>
+                                                            <property name="expand">False</property>
                                                             <property name="fill">True</property>
                                                             <property name="position">0</property>
                                                             </packing>
@@ -12354,8 +12354,8 @@ on current Chronojump version.</property>
                                                             </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">True</property>
-                                                            <property name="fill">True</property>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
                                                             <property name="position">1</property>
                                                             </packing>
                                                             </child>
@@ -12380,7 +12380,7 @@ on current Chronojump version.</property>
                                                             </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">True</property>
+                                                            <property name="expand">False</property>
                                                             <property name="fill">True</property>
                                                             <property name="position">0</property>
                                                             </packing>
@@ -12398,8 +12398,8 @@ on current Chronojump version.</property>
                                                             <property name="draw_indicator">True</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">True</property>
-                                                            <property name="fill">True</property>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
                                                             <property name="position">1</property>
                                                             </packing>
                                                             </child>
@@ -13153,18 +13153,18 @@ on current Chronojump version.</property>
                                         <property name="can_focus">False</property>
                                         <property name="spacing">6</property>
                                         <child>
-                                          <widget class="GtkAlignment" id="alignment20">
+                                          <widget class="GtkAlignment" id="alignment33">
                                             <property name="visible">True</property>
                                             <property name="can_focus">False</property>
                                             <property name="top_padding">6</property>
                                             <property name="left_padding">6</property>
                                             <property name="right_padding">6</property>
                                             <child>
-                                              <widget class="GtkTable" id="table1">
+                                              <widget class="GtkTable" id="table9">
                                                 <property name="visible">True</property>
                                                 <property name="can_focus">False</property>
-                                                <property name="n_rows">3</property>
-                                                <property name="n_columns">3</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>
@@ -13224,9 +13224,13 @@ on current Chronojump version.</property>
                                                           </packing>
                                                         </child>
                                                         <child>
-                                                          <widget class="GtkHBox" 
id="hbox_encoder_user_curves_num">
+                                                          <widget class="GtkHBox" 
id="hbox_encoder_user_curves">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkHBox" 
id="hbox_encoder_user_curves_num">
                                                             <property name="visible">True</property>
-                                                            <property name="sensitive">False</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="spacing">2</property>
                                                             <child>
@@ -13293,6 +13297,57 @@ on current Chronojump version.</property>
                                                             <property name="position">4</property>
                                                             </packing>
                                                             </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkButton" 
id="button_encoder_analyze_data_select_curves">
+                                                            <property name="label" 
translatable="yes">Select</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">True</property>
+                                                            <property 
name="use_action_appearance">False</property>
+                                                            <signal name="clicked" 
handler="on_button_encoder_analyze_data_select_curves_clicked" swapped="no"/>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkHBox" 
id="hbox_encoder_analyze_data_compare">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">2</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkButton" 
id="button_encoder_analyze_data_compare">
+                                                            <property name="label" 
translatable="yes">Compare</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">True</property>
+                                                            <property 
name="use_action_appearance">False</property>
+                                                            <signal name="clicked" 
handler="on_button_encoder_analyze_data_compare_clicked" swapped="no"/>
+                                                            </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>
@@ -13307,50 +13362,6 @@ on current Chronojump version.</property>
                                                         <property name="position">1</property>
                                                       </packing>
                                                     </child>
-                                                    <child>
-                                                      <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_data_compare_curves">
-                                                        <property name="label" translatable="yes">Compare 
curves</property>
-                                                        <property name="visible">True</property>
-                                                        <property name="can_focus">True</property>
-                                                        <property name="receives_default">False</property>
-                                                        <property 
name="use_action_appearance">False</property>
-                                                        <property name="draw_indicator">True</property>
-                                                        <property 
name="group">radiobutton_encoder_analyze_data_current_signal</property>
-                                                        <signal name="toggled" 
handler="on_radiobutton_encoder_analyze_data_compare_curves_toggled" swapped="no"/>
-                                                      </widget>
-                                                      <packing>
-                                                        <property name="expand">False</property>
-                                                        <property name="fill">False</property>
-                                                        <property name="position">2</property>
-                                                      </packing>
-                                                    </child>
-                                                    <child>
-                                                      <widget class="GtkVSeparator" id="vseparator2">
-                                                        <property name="visible">True</property>
-                                                        <property name="can_focus">False</property>
-                                                      </widget>
-                                                      <packing>
-                                                        <property name="expand">False</property>
-                                                        <property name="fill">True</property>
-                                                        <property name="position">3</property>
-                                                      </packing>
-                                                    </child>
-                                                    <child>
-                                                      <widget class="GtkButton" 
id="button_encoder_analyze_data_select_curves">
-                                                        <property name="label" 
translatable="yes">Select</property>
-                                                        <property name="visible">True</property>
-                                                        <property name="sensitive">False</property>
-                                                        <property name="can_focus">True</property>
-                                                        <property name="receives_default">True</property>
-                                                        <property 
name="use_action_appearance">False</property>
-                                                        <signal name="clicked" 
handler="on_button_encoder_analyze_data_select_curves_clicked" swapped="no"/>
-                                                      </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>
@@ -13360,132 +13371,211 @@ on current Chronojump version.</property>
                                                   </packing>
                                                 </child>
                                                 <child>
-                                                  <widget class="GtkLabel" id="label72">
-                                                    <property name="visible">True</property>
-                                                    <property name="can_focus">False</property>
-                                                    <property name="xalign">0</property>
-                                                    <property name="label" 
translatable="yes">Mode:</property>
-                                                  </widget>
-                                                  <packing>
-                                                    <property name="top_attach">1</property>
-                                                    <property name="bottom_attach">2</property>
-                                                    <property name="x_options"/>
-                                                    <property name="y_options">GTK_EXPAND</property>
-                                                  </packing>
-                                                </child>
-                                                <child>
-                                                  <widget class="GtkHBox" id="hbox109">
+                                                  <widget class="GtkTable" id="table12">
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">False</property>
-                                                    <property name="spacing">12</property>
-                                                    <child>
-                                                      <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_powerbars">
-                                                        <property name="label" translatable="yes">Power 
bars</property>
-                                                        <property name="visible">True</property>
-                                                        <property name="can_focus">True</property>
-                                                        <property name="receives_default">False</property>
-                                                        <property 
name="use_action_appearance">False</property>
-                                                        <property name="active">True</property>
-                                                        <property name="draw_indicator">True</property>
-                                                        <signal name="toggled" 
handler="on_radiobutton_encoder_analyze_powerbars_toggled" swapped="no"/>
-                                                      </widget>
-                                                      <packing>
-                                                        <property name="expand">False</property>
-                                                        <property name="fill">True</property>
-                                                        <property name="position">0</property>
-                                                      </packing>
-                                                    </child>
+                                                    <property name="n_rows">2</property>
+                                                    <property name="n_columns">2</property>
+                                                    <property name="column_spacing">8</property>
+                                                    <property name="row_spacing">6</property>
                                                     <child>
-                                                      <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_cross">
-                                                        <property name="label" translatable="yes">Cross 
variables</property>
+                                                      <widget class="GtkHBox" id="hbox109">
                                                         <property name="visible">True</property>
-                                                        <property name="can_focus">True</property>
-                                                        <property name="receives_default">False</property>
-                                                        <property 
name="use_action_appearance">False</property>
-                                                        <property name="draw_indicator">True</property>
-                                                        <property 
name="group">radiobutton_encoder_analyze_powerbars</property>
-                                                        <signal name="toggled" 
handler="on_radiobutton_encoder_analyze_cross_toggled" swapped="no"/>
+                                                        <property name="can_focus">False</property>
+                                                        <property name="spacing">12</property>
+                                                        <child>
+                                                          <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_powerbars">
+                                                            <property name="label" translatable="yes">Power 
bars</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property 
name="receives_default">False</property>
+                                                            <property 
name="use_action_appearance">False</property>
+                                                            <property name="active">True</property>
+                                                            <property name="draw_indicator">True</property>
+                                                            <signal name="toggled" 
handler="on_radiobutton_encoder_analyze_powerbars_toggled" swapped="no"/>
+                                                          </widget>
+                                                          <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                          </packing>
+                                                        </child>
+                                                        <child>
+                                                          <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_cross">
+                                                            <property name="label" translatable="yes">Cross 
variables</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property 
name="receives_default">False</property>
+                                                            <property 
name="use_action_appearance">False</property>
+                                                            <property name="draw_indicator">True</property>
+                                                            <property 
name="group">radiobutton_encoder_analyze_powerbars</property>
+                                                            <signal name="toggled" 
handler="on_radiobutton_encoder_analyze_cross_toggled" swapped="no"/>
+                                                          </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_side">
+                                                            <property name="label" translatable="yes">Side 
compare</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property 
name="receives_default">False</property>
+                                                            <property 
name="use_action_appearance">False</property>
+                                                            <property name="draw_indicator">True</property>
+                                                            <property 
name="group">radiobutton_encoder_analyze_powerbars</property>
+                                                            <signal name="toggled" 
handler="on_radiobutton_encoder_analyze_side_toggled" swapped="no"/>
+                                                          </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_single">
+                                                            <property name="label" translatable="yes">Single 
curve</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property 
name="receives_default">False</property>
+                                                            <property 
name="use_action_appearance">False</property>
+                                                            <property name="draw_indicator">True</property>
+                                                            <property 
name="group">radiobutton_encoder_analyze_powerbars</property>
+                                                            <signal name="toggled" 
handler="on_radiobutton_encoder_analyze_single_toggled" swapped="no"/>
+                                                          </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">True</property>
-                                                        <property name="position">1</property>
-                                                      </packing>
                                                     </child>
                                                     <child>
-                                                      <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_side">
-                                                        <property name="label" translatable="yes">Side 
compare</property>
+                                                      <widget class="GtkButton" id="button_encoder_analyze">
+                                                        <property name="width_request">150</property>
                                                         <property name="visible">True</property>
+                                                        <property name="sensitive">False</property>
                                                         <property name="can_focus">True</property>
-                                                        <property name="receives_default">False</property>
+                                                        <property name="can_default">True</property>
+                                                        <property name="receives_default">True</property>
                                                         <property 
name="use_action_appearance">False</property>
-                                                        <property name="draw_indicator">True</property>
-                                                        <property 
name="group">radiobutton_encoder_analyze_powerbars</property>
-                                                        <signal name="toggled" 
handler="on_radiobutton_encoder_analyze_side_toggled" swapped="no"/>
+                                                        <property name="use_underline">True</property>
+                                                        <property name="xalign">1</property>
+                                                        <signal name="clicked" 
handler="on_button_encoder_analyze_clicked" swapped="no"/>
+                                                        <child>
+                                                          <widget class="GtkHBox" id="hbox81">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">4</property>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_encoder_analyze_stats">
+                                                            <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">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label94">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" 
translatable="yes">Analyze</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>
+                                                        <property name="left_attach">1</property>
+                                                        <property name="right_attach">2</property>
+                                                        <property name="x_options">GTK_FILL</property>
+                                                        <property name="y_options">GTK_FILL</property>
                                                       </packing>
                                                     </child>
                                                     <child>
-                                                      <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_single">
-                                                        <property name="label" translatable="yes">Single 
curve</property>
+                                                      <widget class="GtkHBox" id="hbox72">
                                                         <property name="visible">True</property>
-                                                        <property name="can_focus">True</property>
-                                                        <property name="receives_default">False</property>
-                                                        <property 
name="use_action_appearance">False</property>
-                                                        <property name="draw_indicator">True</property>
-                                                        <property 
name="group">radiobutton_encoder_analyze_powerbars</property>
-                                                        <signal name="toggled" 
handler="on_radiobutton_encoder_analyze_single_toggled" swapped="no"/>
+                                                        <property name="can_focus">False</property>
+                                                        <property name="spacing">6</property>
+                                                        <child>
+                                                          <widget class="GtkProgressBar" 
id="encoder_pulsebar_analyze">
+                                                            <property name="width_request">150</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="activity_mode">True</property>
+                                                            <property name="show_text">True</property>
+                                                            <property 
name="pulse_step">0.10000000149</property>
+                                                          </widget>
+                                                          <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                          </packing>
+                                                        </child>
+                                                        <child>
+                                                          <widget class="GtkButton" 
id="button_encoder_analyze_cancel">
+                                                            <property name="visible">True</property>
+                                                            <property name="sensitive">False</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="can_default">True</property>
+                                                            <property name="receives_default">True</property>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="tooltip" 
translatable="yes">Cancel process</property>
+                                                            <property 
name="use_action_appearance">False</property>
+                                                            <property name="use_underline">True</property>
+                                                            <signal name="clicked" 
handler="on_button_encoder_cancel_clicked" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkImage" id="image26">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="stock">gtk-cancel</property>
+                                                            </widget>
+                                                            </child>
+                                                          </widget>
+                                                          <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="pack_type">end</property>
+                                                            <property name="position">1</property>
+                                                          </packing>
+                                                        </child>
                                                       </widget>
                                                       <packing>
-                                                        <property name="expand">False</property>
-                                                        <property name="fill">True</property>
-                                                        <property name="position">3</property>
+                                                        <property name="left_attach">1</property>
+                                                        <property name="right_attach">2</property>
+                                                        <property name="top_attach">1</property>
+                                                        <property name="bottom_attach">2</property>
+                                                        <property name="x_options">GTK_FILL</property>
+                                                        <property name="y_options">GTK_FILL</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>
-                                                    <property name="x_options">GTK_FILL</property>
-                                                  </packing>
-                                                </child>
-                                                <child>
-                                                  <widget class="GtkHBox" id="hbox92">
-                                                    <property name="visible">True</property>
-                                                    <property name="can_focus">False</property>
-                                                    <property name="spacing">12</property>
                                                     <child>
-                                                      <widget class="GtkCheckButton" 
id="check_encoder_analyze_eccon_together">
-                                                        <property name="label" translatable="yes">EC 
together</property>
+                                                      <widget class="GtkHBox" id="hbox92">
                                                         <property name="visible">True</property>
-                                                        <property name="can_focus">True</property>
-                                                        <property name="receives_default">False</property>
-                                                        <property name="tooltip" 
translatable="yes">Eccentric-concentric together</property>
-                                                        <property 
name="use_action_appearance">False</property>
-                                                        <property name="active">True</property>
-                                                        <property name="draw_indicator">True</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_encoder_analyze_curve_num">
                                                         <property name="can_focus">False</property>
-                                                        <property name="spacing">6</property>
+                                                        <property name="spacing">12</property>
                                                         <child>
-                                                          <widget class="GtkLabel" id="label83">
+                                                          <widget class="GtkCheckButton" 
id="check_encoder_analyze_eccon_together">
+                                                            <property name="label" translatable="yes">EC 
together</property>
                                                             <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="label" translatable="yes">Curve 
num.</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property 
name="receives_default">False</property>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="tooltip" 
translatable="yes">Eccentric-concentric together</property>
+                                                            <property 
name="use_action_appearance">False</property>
+                                                            <property name="active">True</property>
+                                                            <property name="draw_indicator">True</property>
                                                           </widget>
                                                           <packing>
                                                             <property name="expand">False</property>
@@ -13494,12 +13584,35 @@ on current Chronojump version.</property>
                                                           </packing>
                                                         </child>
                                                         <child>
-                                                          <widget class="GtkHBox" 
id="hbox_combo_encoder_analyze_curve_num_combo">
+                                                          <widget class="GtkHBox" 
id="hbox_encoder_analyze_curve_num">
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label83">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" translatable="yes">Curve 
num.</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>
                                                             <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>
@@ -13507,155 +13620,104 @@ on current Chronojump version.</property>
                                                             <property name="position">1</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="GtkHBox" 
id="hbox_combo_encoder_analyze_cross">
-                                                        <property name="can_focus">False</property>
                                                         <child>
-                                                          <placeholder/>
+                                                          <widget class="GtkHBox" 
id="hbox_combo_encoder_analyze_cross">
+                                                            <property name="can_focus">False</property>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
+                                                          </widget>
+                                                          <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">2</property>
+                                                          </packing>
                                                         </child>
-                                                      </widget>
-                                                      <packing>
-                                                        <property name="expand">False</property>
-                                                        <property name="fill">False</property>
-                                                        <property name="position">2</property>
-                                                      </packing>
-                                                    </child>
-                                                    <child>
-                                                      <widget class="GtkHBox" 
id="hbox_encoder_analyze_mean_or_max">
-                                                        <property name="can_focus">False</property>
-                                                        <property name="spacing">4</property>
                                                         <child>
-                                                          <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_mean">
+                                                          <widget class="GtkHBox" 
id="hbox_encoder_analyze_mean_or_max">
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">4</property>
+                                                            <child>
+                                                            <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_mean">
                                                             <property name="label" 
translatable="yes">Mean</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">Mean 
values</property>
                                                             <property 
name="use_action_appearance">False</property>
                                                             <property name="active">True</property>
                                                             <property name="draw_indicator">True</property>
-                                                          </widget>
-                                                          <packing>
+                                                            </widget>
+                                                            <packing>
                                                             <property name="expand">True</property>
                                                             <property name="fill">True</property>
                                                             <property name="position">0</property>
-                                                          </packing>
-                                                        </child>
-                                                        <child>
-                                                          <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_max">
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkRadioButton" 
id="radiobutton_encoder_analyze_max">
                                                             <property name="label" 
translatable="yes">Max</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">Max 
values</property>
                                                             <property 
name="use_action_appearance">False</property>
                                                             <property name="draw_indicator">True</property>
                                                             <property 
name="group">radiobutton_encoder_analyze_mean</property>
-                                                          </widget>
-                                                          <packing>
+                                                            </widget>
+                                                            <packing>
                                                             <property name="expand">True</property>
                                                             <property name="fill">True</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>
-                                                    <child>
-                                                      <widget class="GtkLabel" 
id="label_encoder_analyze_side_max">
-                                                        <property name="can_focus">False</property>
-                                                        <property name="tooltip" translatable="yes">Side 
compare allows a maximum of 12 graphs.</property>
-                                                        <property name="label" translatable="yes">Maximum 12 
graphs</property>
-                                                      </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">2</property>
-                                                    <property name="bottom_attach">3</property>
-                                                  </packing>
-                                                </child>
-                                                <child>
-                                                  <widget class="GtkButton" id="button_encoder_analyze">
-                                                    <property name="width_request">150</property>
-                                                    <property name="visible">True</property>
-                                                    <property name="sensitive">False</property>
-                                                    <property name="can_focus">True</property>
-                                                    <property name="can_default">True</property>
-                                                    <property name="receives_default">True</property>
-                                                    <property name="use_action_appearance">False</property>
-                                                    <property name="use_underline">True</property>
-                                                    <property name="xalign">1</property>
-                                                    <signal name="clicked" 
handler="on_button_encoder_analyze_clicked" swapped="no"/>
-                                                    <child>
-                                                      <widget class="GtkHBox" id="hbox81">
-                                                        <property name="visible">True</property>
-                                                        <property name="can_focus">False</property>
-                                                        <property name="spacing">4</property>
-                                                        <child>
-                                                          <widget class="GtkImage" 
id="image_encoder_analyze_stats">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
+                                                            </packing>
+                                                            </child>
                                                           </widget>
                                                           <packing>
                                                             <property name="expand">False</property>
                                                             <property name="fill">False</property>
-                                                            <property name="position">0</property>
+                                                            <property name="position">3</property>
                                                           </packing>
                                                         </child>
                                                         <child>
-                                                          <widget class="GtkLabel" id="label94">
-                                                            <property name="visible">True</property>
+                                                          <widget class="GtkLabel" 
id="label_encoder_analyze_side_max">
                                                             <property name="can_focus">False</property>
-                                                            <property name="label" 
translatable="yes">Analyze</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">Maximum 12 graphs</property>
                                                           </widget>
                                                           <packing>
-                                                            <property name="expand">True</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">1</property>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">4</property>
                                                           </packing>
                                                         </child>
                                                       </widget>
+                                                      <packing>
+                                                        <property name="top_attach">1</property>
+                                                        <property name="bottom_attach">2</property>
+                                                      </packing>
                                                     </child>
                                                   </widget>
                                                   <packing>
-                                                    <property name="left_attach">2</property>
-                                                    <property name="right_attach">3</property>
+                                                    <property name="left_attach">1</property>
+                                                    <property name="right_attach">2</property>
                                                     <property name="top_attach">1</property>
                                                     <property name="bottom_attach">2</property>
-                                                    <property name="x_options">GTK_FILL</property>
+                                                    <property name="y_options">GTK_FILL</property>
                                                   </packing>
                                                 </child>
                                                 <child>
-                                                  <widget class="GtkHBox" id="hbox72">
+                                                  <widget class="GtkVBox" id="vbox43">
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">False</property>
-                                                    <property name="spacing">6</property>
                                                     <child>
-                                                      <widget class="GtkProgressBar" 
id="encoder_pulsebar_analyze">
-                                                        <property name="width_request">150</property>
+                                                      <widget class="GtkLabel" id="label72">
                                                         <property name="visible">True</property>
                                                         <property name="can_focus">False</property>
-                                                        <property name="activity_mode">True</property>
-                                                        <property name="show_text">True</property>
-                                                        <property name="pulse_step">0.10000000149</property>
+                                                        <property name="xalign">0</property>
+                                                        <property name="label" 
translatable="yes">Mode:</property>
                                                       </widget>
                                                       <packing>
                                                         <property name="expand">True</property>
@@ -13664,53 +13726,31 @@ on current Chronojump version.</property>
                                                       </packing>
                                                     </child>
                                                     <child>
-                                                      <widget class="GtkButton" 
id="button_encoder_analyze_cancel">
+                                                      <widget class="GtkLabel" id="label117">
                                                         <property name="visible">True</property>
-                                                        <property name="sensitive">False</property>
-                                                        <property name="can_focus">True</property>
-                                                        <property name="can_default">True</property>
-                                                        <property name="receives_default">True</property>
-                                                        <property name="has_tooltip">True</property>
-                                                        <property name="tooltip" translatable="yes">Cancel 
process</property>
-                                                        <property 
name="use_action_appearance">False</property>
-                                                        <property name="use_underline">True</property>
-                                                        <signal name="clicked" 
handler="on_button_encoder_cancel_clicked" swapped="no"/>
-                                                        <child>
-                                                          <widget class="GtkImage" id="image26">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="stock">gtk-cancel</property>
-                                                          </widget>
-                                                        </child>
+                                                        <property name="can_focus">False</property>
+                                                        <property name="xalign">0</property>
+                                                        <property name="label" translatable="yes">     
</property>
                                                       </widget>
                                                       <packing>
-                                                        <property name="expand">False</property>
-                                                        <property name="fill">False</property>
-                                                        <property name="pack_type">end</property>
+                                                        <property name="expand">True</property>
+                                                        <property name="fill">True</property>
                                                         <property name="position">1</property>
                                                       </packing>
                                                     </child>
                                                   </widget>
                                                   <packing>
-                                                    <property name="left_attach">2</property>
-                                                    <property name="right_attach">3</property>
-                                                    <property name="top_attach">2</property>
-                                                    <property name="bottom_attach">3</property>
-                                                    <property name="x_options">GTK_FILL</property>
+                                                    <property name="top_attach">1</property>
+                                                    <property name="bottom_attach">2</property>
+                                                    <property name="x_options"/>
                                                   </packing>
                                                 </child>
-                                                <child>
-                                                  <placeholder/>
-                                                </child>
-                                                <child>
-                                                  <placeholder/>
-                                                </child>
                                               </widget>
                                             </child>
                                           </widget>
                                           <packing>
                                             <property name="expand">False</property>
-                                            <property name="fill">False</property>
+                                            <property name="fill">True</property>
                                             <property name="position">0</property>
                                           </packing>
                                         </child>
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index 44b432d..62b5049 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -75,11 +75,13 @@ public partial class ChronoJumpWindow
        [Widget] Gtk.Button button_encoder_analyze_cancel;
        [Widget] Gtk.RadioButton radiobutton_encoder_analyze_data_current_signal;
        [Widget] Gtk.RadioButton radiobutton_encoder_analyze_data_user_curves;
-       [Widget] Gtk.RadioButton radiobutton_encoder_analyze_data_compare_curves;
-       [Widget] Gtk.Box hbox_encoder_user_curves_num;
+       [Widget] Gtk.Box hbox_encoder_user_curves;
        [Widget] Gtk.Label label_encoder_user_curves_active_num;
        [Widget] Gtk.Label label_encoder_user_curves_all_num;
-       [Widget] Gtk.Button button_encoder_analyze_data_select_curves;
+       [Widget] Gtk.Box hbox_encoder_analyze_data_compare;
+       [Widget] Gtk.ComboBox combo_encoder_analyze_data_compare;
+       [Widget] Gtk.Button button_encoder_analyze_data_compare;
+
        [Widget] Gtk.RadioButton radiobutton_encoder_analyze_powerbars;
        [Widget] Gtk.RadioButton radiobutton_encoder_analyze_cross;
        [Widget] Gtk.RadioButton radiobutton_encoder_analyze_single;
@@ -483,8 +485,11 @@ public partial class ChronoJumpWindow
                
                encoderButtonsSensitive(encoderSensEnumStored);
        }
+       
+       void on_button_encoder_analyze_data_compare_clicked (object o, EventArgs args) 
+       {
+       }
 
-               
        void on_button_encoder_load_signal_clicked (object o, EventArgs args) 
        {
                ArrayList data = SqliteEncoder.Select(
@@ -1119,7 +1124,7 @@ public partial class ChronoJumpWindow
                        writer.Flush();
                        ((IDisposable)writer).Dispose();
                        //Sqlite.Close();       
-               } else {
+               } else {        //current signal
                        ep = new EncoderParams(
                                        (int) spin_encoder_capture_min_height.Value, 
                                        Convert.ToInt32(
@@ -1169,8 +1174,7 @@ public partial class ChronoJumpWindow
                }
                button_encoder_analyze.Sensitive = analyze_sensitive;
                
-               hbox_encoder_user_curves_num.Sensitive = false;
-               button_encoder_analyze_data_select_curves.Sensitive = false;
+               hbox_encoder_user_curves.Sensitive = false;
 
                if(ecconLast != "c")
                        rows = rows / 2;
@@ -1208,23 +1212,13 @@ public partial class ChronoJumpWindow
                }
                button_encoder_analyze.Sensitive = analyze_sensitive;
                
-               hbox_encoder_user_curves_num.Sensitive = currentPerson != null;
-               button_encoder_analyze_data_select_curves.Sensitive = currentPerson != null;
+               hbox_encoder_user_curves.Sensitive = currentPerson != null;
                
                radiobutton_encoder_analyze_powerbars.Sensitive = true;
                radiobutton_encoder_analyze_single.Sensitive = true;
                radiobutton_encoder_analyze_side.Sensitive = true;
        }
 
-       private void on_radiobutton_encoder_analyze_data_compare_curves_toggled (object obj, EventArgs args) {
-               hbox_encoder_user_curves_num.Sensitive = false;
-               button_encoder_analyze_data_select_curves.Sensitive = true;
-
-               radiobutton_encoder_analyze_powerbars.Sensitive = false;
-               radiobutton_encoder_analyze_single.Sensitive = false;
-               radiobutton_encoder_analyze_side.Sensitive = false;
-               radiobutton_encoder_analyze_cross.Active = true;
-       }
 
        private void on_radiobutton_encoder_analyze_single_toggled (object obj, EventArgs args) {
                hbox_encoder_analyze_curve_num.Visible=true;
@@ -1355,6 +1349,7 @@ public partial class ChronoJumpWindow
        string [] encoderExercisesTranslationAndBodyPWeight;
        string [] encoderEcconTranslation;
        string [] encoderLateralityTranslation;
+       string [] encoderDataCompareTranslation;
        string [] encoderAnalyzeCrossTranslation;
 
        protected void createEncoderCombos() {
@@ -1401,6 +1396,27 @@ public partial class ChronoJumpWindow
                combo_encoder_laterality.Active = UtilGtk.ComboMakeActive(combo_encoder_laterality, 
                                Catalog.GetString(comboLateralityOptions[0]));
                
+               //create combo analyze data compare (variables)
+               string [] comboDataCompareOptions = { 
+                       "No compare", "Between persons", "Between sessions"};
+               string [] comboDataCompareOptionsTranslated = { 
+                       Catalog.GetString("No compare"),
+                       Catalog.GetString("Between persons"),
+                       Catalog.GetString("Between sessions")
+               };
+               encoderDataCompareTranslation = new String [comboDataCompareOptions.Length];
+               for(int j=0; j < 3 ; j++)
+                       encoderDataCompareTranslation[j] = 
+                               comboDataCompareOptions[j] + ":" + comboDataCompareOptionsTranslated[j];
+               combo_encoder_analyze_data_compare = ComboBox.NewText ();
+               UtilGtk.ComboUpdate(combo_encoder_analyze_data_compare, comboDataCompareOptionsTranslated, 
"");
+               combo_encoder_analyze_data_compare.Active = UtilGtk.ComboMakeActive(
+                               combo_encoder_analyze_data_compare, 
+                               Catalog.GetString(comboDataCompareOptions[0]));
+               combo_encoder_analyze_data_compare.Changed += 
+                       new EventHandler(on_combo_encoder_analyze_data_compare_changed );
+
+               
                //create combo analyze cross (variables)
                string [] comboAnalyzeCrossOptions = { 
                        "Speed / Load", "Force / Load", "Power / Load", "Speed,Power / Load", "Force / 
Speed", "Power / Speed", "1RM Prediction"};
@@ -1440,6 +1456,10 @@ public partial class ChronoJumpWindow
                hbox_combo_encoder_laterality.ShowAll();
                combo_encoder_laterality.Sensitive = true;
                
+               hbox_encoder_analyze_data_compare.PackStart(combo_encoder_analyze_data_compare, true, true, 
0);
+               hbox_encoder_analyze_data_compare.ShowAll();
+               combo_encoder_analyze_data_compare.Sensitive = true;
+               
                hbox_combo_encoder_analyze_cross.PackStart(combo_encoder_analyze_cross, true, true, 0);
                hbox_combo_encoder_analyze_cross.ShowAll(); 
                combo_encoder_analyze_cross.Sensitive = true;
@@ -1455,6 +1475,23 @@ public partial class ChronoJumpWindow
        {
        }
 
+       void on_combo_encoder_analyze_data_compare_changed (object o, EventArgs args)
+       {
+               if(Util.FindOnArray(':',1,0,UtilGtk.ComboGetActive(combo_encoder_analyze_data_compare),
+                                       encoderDataCompareTranslation) == "No compare") {
+                       radiobutton_encoder_analyze_powerbars.Sensitive = true;
+                       radiobutton_encoder_analyze_single.Sensitive = true;
+                       radiobutton_encoder_analyze_side.Sensitive = true;
+                       button_encoder_analyze_data_compare.Visible = false;
+               } else {
+                       radiobutton_encoder_analyze_powerbars.Sensitive = false;
+                       radiobutton_encoder_analyze_single.Sensitive = false;
+                       radiobutton_encoder_analyze_side.Sensitive = false;
+                       radiobutton_encoder_analyze_cross.Active = true;
+                       button_encoder_analyze_data_compare.Visible = true;
+               }
+       }
+
        void on_combo_encoder_analyze_cross_changed (object o, EventArgs args)
        {
                if(Util.FindOnArray(':',1,0,UtilGtk.ComboGetActive(combo_encoder_analyze_cross),
@@ -1714,7 +1751,7 @@ public partial class ChronoJumpWindow
                if(radiobutton_encoder_analyze_data_user_curves.Active) {
                        curvesData = SqliteEncoder.Select(
                                        false, -1, currentPerson.UniqueID, currentSession.UniqueID, "curve", 
true);
-               } else {
+               } else {        //current signal
                        exerciseName = UtilGtk.ComboGetActive(combo_encoder_exercise);
                        mass = findMass(false);
                }
@@ -2164,7 +2201,7 @@ Log.WriteLine("l");
                        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[0]);
-               } else {
+               } else {        //current signal
                        updateComboEncoderAnalyzeCurveNum(data, activeCurvesNum);       
                }
        
@@ -2187,7 +2224,7 @@ Log.WriteLine("l");
                //      and images: image_encoder_capture , image_encoder_analyze.Sensitive. Update: both NOT 
managed here
                //c4 button_encoder_delete_curve , button_encoder_save_curve, entry_encoder_curve_comment
                //c5 button_encoder_analyze
-               //c6 button_encoder_analyze_data_select_curves
+               //c6 hbox_encoder_user_curves
                //c7 button_encoder_capture_cancel (on capture and analyze)
                //c8 button_encoder_capture_finish (only on capture)
 
@@ -2195,7 +2232,7 @@ Log.WriteLine("l");
                //c5 True needs 
                //      (signal && treeviewEncoder has rows) || 
                //      (! radiobutton_encoder_analyze_data_current_signal.Active && user has curves))
-               //c6 True needs ! radiobutton_encoder_analyze_data_current_signal.Active
+               //c6 True needs radiobutton_encoder_analyze_data_user_curves.Active
 
                if(option != encoderSensEnum.PROCESSINGCAPTURE && option != encoderSensEnum.PROCESSINGR)
                        encoderSensEnumStored = option;
@@ -2259,12 +2296,17 @@ Log.WriteLine("l");
                button_encoder_save_curve.Sensitive = Util.IntToBool(table[4]);
                entry_encoder_curve_comment.Sensitive = Util.IntToBool(table[3]);
 
-               bool signal = radiobutton_encoder_analyze_data_current_signal.Active;
-
                bool analyze_sensitive = 
-                       (Util.IntToBool(table[5]) && 
-                        (signal && UtilGtk.CountRows(encoderCaptureListStore) > 0 ||
-                         (! signal && Convert.ToInt32(label_encoder_user_curves_all_num.Text) >0)));
+                       (
+                        Util.IntToBool(table[5]) && 
+                        (
+                         (radiobutton_encoder_analyze_data_current_signal.Active && 
+                          UtilGtk.CountRows(encoderCaptureListStore) > 0) 
+                         ||
+                         (radiobutton_encoder_analyze_data_user_curves.Active && 
+                          Convert.ToInt32(label_encoder_user_curves_all_num.Text) >0)
+                         )
+                        );
                if(analyze_sensitive && radiobutton_encoder_analyze_side.Active) {
                        analyze_sensitive = curvesNumOkToSideCompare();
                        label_encoder_analyze_side_max.Visible = ! analyze_sensitive;
@@ -2272,8 +2314,8 @@ Log.WriteLine("l");
                        label_encoder_analyze_side_max.Visible = false;
                button_encoder_analyze.Sensitive = analyze_sensitive;
 
-               button_encoder_analyze_data_select_curves.Sensitive = 
-                       (Util.IntToBool(table[6]) && ! 
radiobutton_encoder_analyze_data_current_signal.Active);
+               hbox_encoder_user_curves.Sensitive = 
+                       (Util.IntToBool(table[6]) && radiobutton_encoder_analyze_data_user_curves.Active);
                
                button_encoder_capture_cancel.Sensitive = Util.IntToBool(table[7]);
                button_encoder_analyze_cancel.Sensitive = Util.IntToBool(table[7]);


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