[chronojump] New feature: Jumps simple capture graph can show all persons



commit 6b9c44c6f25af7e11da4ff1e085b0b76a08e4ed9
Author: Xavier de Blas <xaviblas gmail com>
Date:   Sat Jun 13 17:46:54 2020 +0200

    New feature: Jumps simple capture graph can show all persons

 glade/app1.glade           | 1470 +++++++++++++++++++++++---------------------
 src/event.cs               |    4 +-
 src/execute/event.cs       |    2 +
 src/execute/jump.cs        |    9 +-
 src/gui/app1/chronojump.cs |   32 +-
 src/gui/app1/jump.cs       |    4 +-
 src/gui/eventExecute.cs    |  278 +++++++--
 src/gui/usefulObjects.cs   |   26 +-
 src/jump.cs                |    2 +-
 src/jumpsEvolution.cs      |    2 +-
 src/sqlite/jump.cs         |   59 +-
 11 files changed, 1122 insertions(+), 766 deletions(-)
---
diff --git a/glade/app1.glade b/glade/app1.glade
index eff22359..7a091654 100644
--- a/glade/app1.glade
+++ b/glade/app1.glade
@@ -1068,7 +1068,7 @@
                                                             <property 
name="secondary_icon_activatable">False</property>
                                                             <property 
name="primary_icon_sensitive">True</property>
                                                             <property 
name="secondary_icon_sensitive">True</property>
-                                                            <property name="adjustment">0 0 199 1 10 
0</property>
+                                                            <property name="adjustment">5 0 199 1 10 
0</property>
                                                             <property name="numeric">True</property>
                                                             </widget>
                                                             <packing>
@@ -7773,63 +7773,17 @@ EncoderInertialCapture</property>
                                                             <widget class="GtkHBox" id="hbox22">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <child>
-                                                            <widget class="GtkLabel" 
id="event_graph_label_graph_test">
-                                                            <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="GtkAlignment" id="alignment17">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="right_padding">25</property>
-                                                            <child>
-                                                            <widget class="GtkHBox" id="hbox61">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <child>
-                                                            <widget class="GtkHBox" id="hbox_results_legend">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
                                                             <property name="spacing">12</property>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox122">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="spacing">8</property>
-                                                            <child>
-                                                            <widget class="GtkLabel" id="label160">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="label" 
translatable="yes">Group</property>
-                                                            </widget>
-                                                            <packing>
-                                                            <property name="expand">True</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">0</property>
-                                                            </packing>
-                                                            </child>
-                                                            <child>
-                                                            <widget class="GtkHBox" id="hbox200">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="spacing">8</property>
-                                                            <child>
-                                                            <widget class="GtkHBox" id="hbox197">
+                                                            <widget class="GtkHBox" 
id="hbox_contacts_graph_last_limit">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="spacing">4</property>
+                                                            <property name="spacing">6</property>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="image_line_session_avg">
+                                                            <widget class="GtkLabel" id="label542">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            <property name="label" 
translatable="yes">Last</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
@@ -7838,10 +7792,17 @@ EncoderInertialCapture</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label162">
+                                                            <widget class="GtkSpinButton" 
id="spin_contacts_graph_last_limit">
                                                             <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="label" 
translatable="yes">Average</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="invisible_char">●</property>
+                                                            <property 
name="primary_icon_activatable">False</property>
+                                                            <property 
name="secondary_icon_activatable">False</property>
+                                                            <property 
name="primary_icon_sensitive">True</property>
+                                                            <property 
name="secondary_icon_sensitive">True</property>
+                                                            <property name="adjustment">10 5 30 1 10 
0</property>
+                                                            <property name="numeric">True</property>
+                                                            <signal name="value_changed" 
handler="on_spin_contacts_graph_last_limit_value_changed" swapped="no"/>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
@@ -7851,33 +7812,15 @@ EncoderInertialCapture</property>
                                                             </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">True</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">0</property>
-                                                            </packing>
-                                                            </child>
-                                                            <child>
-                                                            <widget class="GtkHBox" id="hbox184">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="spacing">4</property>
-                                                            <child>
-                                                            <widget class="GtkImage" 
id="image_line_session_max">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property 
name="stock">gtk-missing-image</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="label161">
+                                                            <widget class="GtkLabel" 
id="event_graph_label_graph_test">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="label" 
translatable="yes">Best</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
@@ -7885,13 +7828,37 @@ EncoderInertialCapture</property>
                                                             <property name="position">1</property>
                                                             </packing>
                                                             </child>
+                                                            <child>
+                                                            <widget class="GtkHBox" 
id="hbox_contacts_graph_person">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkRadioButton" 
id="radio_contacts_graph_currentPerson">
+                                                            <property name="label">Current person</property>
+                                                            <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">True</property>
+                                                            <signal name="toggled" 
handler="on_radio_contacts_graph_person_toggled" swapped="no"/>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">True</property>
                                                             <property name="fill">True</property>
-                                                            <property name="position">1</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
+                                                            <child>
+                                                            <widget class="GtkRadioButton" 
id="radio_contacts_graph_allPersons">
+                                                            <property name="label" translatable="yes">All 
persons</property>
+                                                            <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">True</property>
+                                                            <property 
name="group">radio_contacts_graph_currentPerson</property>
+                                                            <signal name="toggled" 
handler="on_radio_contacts_graph_person_toggled" swapped="no"/>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">True</property>
@@ -7901,71 +7868,70 @@ EncoderInertialCapture</property>
                                                             </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">True</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">0</property>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">2</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkVSeparator" id="vseparator1">
+                                                            <widget class="GtkButton" 
id="button_inspect_last_test_run_intervallic">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">True</property>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="tooltip" 
translatable="yes">Inspect</property>
+                                                            <signal name="clicked" 
handler="on_button_inspect_last_test_clicked" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_test_inspect1">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            </widget>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">1</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="pack_type">end</property>
+                                                            <property name="position">3</property>
                                                             </packing>
                                                             </child>
-                                                            <child>
-                                                            <widget class="GtkHBox" id="hbox201">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="spacing">6</property>
-                                                            <child>
-                                                            <widget class="GtkLabel" id="label165">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="label" 
translatable="yes">Person</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">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox202">
+                                                            <widget class="GtkVBox" id="vbox85">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="spacing">6</property>
+                                                            <property name="spacing">4</property>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox204">
+                                                            <widget class="GtkHBox" id="hbox103">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="spacing">4</property>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="image_line_person_avg">
+                                                            <widget class="GtkFrame" id="frame5">
                                                             <property name="visible">True</property>
+                                                            <property name="sensitive">False</property>
                                                             <property name="can_focus">False</property>
-                                                            <property 
name="stock">gtk-missing-image</property>
-                                                            </widget>
-                                                            <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">False</property>
-                                                            <property name="position">0</property>
-                                                            </packing>
-                                                            </child>
+                                                            <property name="label_xalign">0</property>
+                                                            <property name="shadow_type">none</property>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label167">
+                                                            <widget class="GtkDrawingArea" 
id="event_execute_drawingarea">
                                                             <property name="visible">True</property>
+                                                            <property name="sensitive">False</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="label" 
translatable="yes">Average</property>
+                                                            <signal name="configure_event" 
handler="on_event_execute_drawingarea_configure_event" swapped="no"/>
+                                                            <signal name="expose_event" 
handler="on_event_execute_drawingarea_expose_event" swapped="no"/>
                                                             </widget>
+                                                            </child>
+                                                            <child>
+                                                            <placeholder/>
                                                             <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">False</property>
-                                                            <property name="position">1</property>
+                                                            <property name="type">label_item</property>
                                                             </packing>
                                                             </child>
                                                             </widget>
@@ -7976,63 +7942,88 @@ EncoderInertialCapture</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox203">
-                                                            <property name="visible">True</property>
+                                                            <widget class="GtkVBox" id="vbox17">
                                                             <property name="can_focus">False</property>
-                                                            <property name="spacing">4</property>
+                                                            <property name="spacing">3</property>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="image_line_person_max">
+                                                            <widget class="GtkVBox" id="vbox20">
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">2</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label68">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            <property name="label">W</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
-                                                            <property name="fill">False</property>
+                                                            <property name="fill">True</property>
                                                             <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label166">
+                                                            <widget class="GtkHBox" 
id="hbox_combo_graph_results_width">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="label" 
translatable="yes">Best</property>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
-                                                            <property name="fill">False</property>
+                                                            <property name="fill">True</property>
                                                             <property name="position">1</property>
                                                             </packing>
                                                             </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label69">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label">H</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">True</property>
+                                                            <property name="expand">False</property>
                                                             <property name="fill">True</property>
-                                                            <property name="position">1</property>
+                                                            <property name="position">2</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox106">
+                                                            <widget class="GtkHBox" 
id="hbox_combo_graph_results_height">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="spacing">4</property>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="image_line_person_max_all_sessions">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            <placeholder/>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
-                                                            <property name="fill">False</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">3</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="GtkLabel" id="label163">
+                                                            <widget class="GtkButton" 
id="event_execute_button_properties">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">True</property>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="tooltip" 
translatable="yes">Properties</property>
+                                                            <signal name="clicked" 
handler="on_event_execute_button_properties_clicked" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkImage" id="image1664">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="label" translatable="yes">Best 
(all sessions)</property>
+                                                            <property name="stock">gtk-properties</property>
+                                                            <property name="icon-size">1</property>
+                                                            </widget>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
@@ -8041,87 +8032,93 @@ EncoderInertialCapture</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkButton" 
id="button_person_max_all_sessions_info">
-                                                            <property name="visible">True</property>
+                                                            <widget class="GtkButton" 
id="event_execute_button_update">
                                                             <property name="can_focus">True</property>
                                                             <property name="receives_default">True</property>
-                                                            <signal name="clicked" 
handler="on_button_person_max_all_sessions_info_clicked" swapped="no"/>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="tooltip" 
translatable="yes">Update</property>
+                                                            <signal name="clicked" 
handler="on_event_execute_button_update_clicked" swapped="no"/>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="image_info_sessions_info">
+                                                            <widget class="GtkImage" id="image1665">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="stock">gtk-info</property>
+                                                            <property name="stock">gtk-refresh</property>
                                                             <property name="icon-size">1</property>
                                                             </widget>
                                                             </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">True</property>
+                                                            <property name="expand">False</property>
                                                             <property name="fill">True</property>
                                                             <property name="position">2</property>
                                                             </packing>
                                                             </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">True</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">2</property>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
                                                             </packing>
                                                             </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">True</property>
                                                             <property name="fill">True</property>
-                                                            <property name="position">1</property>
-                                                            </packing>
-                                                            </child>
-                                                            </widget>
-                                                            <packing>
-                                                            <property name="expand">True</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">2</property>
-                                                            </packing>
-                                                            </child>
-                                                            </widget>
-                                                            <packing>
-                                                            <property name="expand">True</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">0</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkButton" 
id="button_inspect_last_test_run_intervallic">
+                                                            <widget class="GtkNotebook" 
id="notebook_results_data">
+                                                            <property name="can_focus">False</property>
+                                                            <property name="show_tabs">False</property>
+                                                            <property name="show_border">False</property>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox30">
                                                             <property name="visible">True</property>
-                                                            <property name="can_focus">True</property>
-                                                            <property name="receives_default">True</property>
-                                                            <property name="has_tooltip">True</property>
-                                                            <property name="tooltip" 
translatable="yes">Inspect</property>
-                                                            <signal name="clicked" 
handler="on_button_inspect_last_test_clicked" swapped="no"/>
+                                                            <property name="can_focus">False</property>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="image_test_inspect1">
+                                                            <widget class="GtkTable" 
id="event_execute_table_jump_reactive">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property 
name="stock">gtk-missing-image</property>
-                                                            </widget>
-                                                            </child>
+                                                            <property name="n_rows">5</property>
+                                                            <property name="n_columns">2</property>
+                                                            <property name="column_spacing">4</property>
+                                                            <property name="row_spacing">4</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label290">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">False</property>
-                                                            <property name="pack_type">end</property>
-                                                            <property name="position">1</property>
+                                                            <property name="left_attach">1</property>
+                                                            <property name="right_attach">2</property>
+                                                            <property name="x_options">GTK_FILL</property>
+                                                            <property name="y_options"/>
                                                             </packing>
                                                             </child>
-                                                            </widget>
-                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label291">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">False</property>
-                                                            <property name="pack_type">end</property>
-                                                            <property name="position">1</property>
+                                                            <property name="x_options">GTK_FILL</property>
+                                                            <property name="y_options"/>
                                                             </packing>
                                                             </child>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox226">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">5</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label448">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="label" 
translatable="yes">TC</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
@@ -8130,222 +8127,282 @@ EncoderInertialCapture</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkVBox" id="vbox85">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="spacing">4</property>
-                                                            <child>
-                                                            <widget class="GtkHBox" id="hbox103">
+                                                            <widget class="GtkHBox" id="hbox227">
+                                                            <property name="width_request">16</property>
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <child>
-                                                            <widget class="GtkFrame" id="frame5">
+                                                            <widget class="GtkImage" 
id="event_execute_image_jump_reactive_tc_good">
+                                                            <property name="width_request">16</property>
+                                                            <property name="height_request">16</property>
                                                             <property name="visible">True</property>
-                                                            <property name="sensitive">False</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="label_xalign">0</property>
-                                                            <property name="shadow_type">out</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
                                                             <child>
-                                                            <widget class="GtkDrawingArea" 
id="event_execute_drawingarea">
+                                                            <widget class="GtkImage" 
id="event_execute_image_jump_reactive_tc_bad">
+                                                            <property name="width_request">16</property>
+                                                            <property name="height_request">16</property>
                                                             <property name="visible">True</property>
-                                                            <property name="sensitive">False</property>
                                                             <property name="can_focus">False</property>
-                                                            <signal name="configure_event" 
handler="on_event_execute_drawingarea_configure_event" swapped="no"/>
-                                                            <signal name="expose_event" 
handler="on_event_execute_drawingarea_expose_event" swapped="no"/>
                                                             </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="pack_type">end</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
                                                             </child>
-                                                            <child>
-                                                            <placeholder/>
+                                                            </widget>
                                                             <packing>
-                                                            <property name="type">label_item</property>
+                                                            <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">True</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">0</property>
+                                                            <property name="left_attach">1</property>
+                                                            <property name="right_attach">2</property>
+                                                            <property name="top_attach">3</property>
+                                                            <property name="bottom_attach">4</property>
+                                                            <property name="x_options">GTK_FILL</property>
+                                                            <property name="y_options">GTK_FILL</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkVBox" id="vbox17">
+                                                            <widget class="GtkHBox" id="hbox224">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="spacing">3</property>
-                                                            <child>
-                                                            <widget class="GtkVBox" id="vbox20">
-                                                            <property name="can_focus">False</property>
-                                                            <property name="spacing">2</property>
+                                                            <property name="spacing">5</property>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label68">
+                                                            <widget class="GtkLabel" id="label447">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="label">W</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="label" 
translatable="yes">TF</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
-                                                            <property name="fill">True</property>
+                                                            <property name="fill">False</property>
                                                             <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" 
id="hbox_combo_graph_results_width">
+                                                            <widget class="GtkHBox" id="hbox225">
+                                                            <property name="width_request">16</property>
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <child>
-                                                            <placeholder/>
-                                                            </child>
+                                                            <widget class="GtkImage" 
id="event_execute_image_jump_reactive_tf_good">
+                                                            <property name="width_request">16</property>
+                                                            <property name="height_request">16</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">False</property>
+                                                            <property name="expand">True</property>
                                                             <property name="fill">True</property>
-                                                            <property name="position">1</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label69">
+                                                            <widget class="GtkImage" 
id="event_execute_image_jump_reactive_tf_bad">
+                                                            <property name="width_request">16</property>
+                                                            <property name="height_request">16</property>
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="label">H</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">False</property>
+                                                            <property name="expand">True</property>
                                                             <property name="fill">True</property>
-                                                            <property name="position">2</property>
+                                                            <property name="pack_type">end</property>
+                                                            <property name="position">1</property>
                                                             </packing>
                                                             </child>
-                                                            <child>
-                                                            <widget class="GtkHBox" 
id="hbox_combo_graph_results_height">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <child>
-                                                            <placeholder/>
-                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">3</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="pack_type">end</property>
+                                                            <property name="position">1</property>
                                                             </packing>
                                                             </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">True</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">0</property>
+                                                            <property name="left_attach">1</property>
+                                                            <property name="right_attach">2</property>
+                                                            <property name="top_attach">2</property>
+                                                            <property name="bottom_attach">3</property>
+                                                            <property name="x_options">GTK_FILL</property>
+                                                            <property name="y_options">GTK_FILL</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkButton" 
id="event_execute_button_properties">
+                                                            <widget class="GtkHBox" id="hbox222">
                                                             <property name="visible">True</property>
-                                                            <property name="can_focus">True</property>
-                                                            <property name="receives_default">True</property>
-                                                            <property name="has_tooltip">True</property>
-                                                            <property name="tooltip" 
translatable="yes">Properties</property>
-                                                            <signal name="clicked" 
handler="on_event_execute_button_properties_clicked" swapped="no"/>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">5</property>
                                                             <child>
-                                                            <widget class="GtkImage" id="image1664">
+                                                            <widget class="GtkLabel" id="label446">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="stock">gtk-properties</property>
-                                                            <property name="icon-size">1</property>
-                                                            </widget>
-                                                            </child>
+                                                            <property name="xalign">0</property>
+                                                            <property name="label" 
translatable="yes">Height</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
                                                             <property name="fill">False</property>
-                                                            <property name="position">1</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkButton" 
id="event_execute_button_update">
-                                                            <property name="can_focus">True</property>
-                                                            <property name="receives_default">True</property>
-                                                            <property name="has_tooltip">True</property>
-                                                            <property name="tooltip" 
translatable="yes">Update</property>
-                                                            <signal name="clicked" 
handler="on_event_execute_button_update_clicked" swapped="no"/>
+                                                            <widget class="GtkHBox" id="hbox223">
+                                                            <property name="width_request">16</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
                                                             <child>
-                                                            <widget class="GtkImage" id="image1665">
+                                                            <widget class="GtkImage" 
id="event_execute_image_jump_reactive_height_good">
+                                                            <property name="width_request">16</property>
+                                                            <property name="height_request">16</property>
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="stock">gtk-refresh</property>
-                                                            <property name="icon-size">1</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="event_execute_image_jump_reactive_height_bad">
+                                                            <property name="width_request">16</property>
+                                                            <property name="height_request">16</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">False</property>
+                                                            <property name="expand">True</property>
                                                             <property name="fill">True</property>
-                                                            <property name="position">2</property>
+                                                            <property name="pack_type">end</property>
+                                                            <property name="position">1</property>
                                                             </packing>
                                                             </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">True</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">0</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="GtkNotebook" 
id="notebook_results_data">
+                                                            <widget class="GtkEventBox" 
id="event_execute_eventbox_jump_reactive_tf_tc">
+                                                            <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="show_tabs">False</property>
-                                                            <property name="show_border">False</property>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox30">
+                                                            <widget class="GtkLabel" id="label444">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="label" translatable="yes"> 
</property>
+                                                            </widget>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="top_attach">4</property>
+                                                            <property name="bottom_attach">5</property>
+                                                            <property name="x_options">GTK_FILL</property>
+                                                            <property name="y_options"/>
+                                                            </packing>
+                                                            </child>
                                                             <child>
-                                                            <widget class="GtkTable" 
id="event_execute_table_jump_reactive">
+                                                            <widget class="GtkEventBox" 
id="event_execute_eventbox_jump_reactive_tc">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="n_rows">5</property>
-                                                            <property name="n_columns">2</property>
-                                                            <property name="column_spacing">4</property>
-                                                            <property name="row_spacing">4</property>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label290">
+                                                            <widget class="GtkLabel" id="label288">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
+                                                            <property name="label" translatable="yes"> 
</property>
+                                                            </widget>
+                                                            </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="left_attach">1</property>
-                                                            <property name="right_attach">2</property>
+                                                            <property name="top_attach">3</property>
+                                                            <property name="bottom_attach">4</property>
                                                             <property name="x_options">GTK_FILL</property>
                                                             <property name="y_options"/>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label291">
+                                                            <widget class="GtkEventBox" 
id="event_execute_eventbox_jump_reactive_tf">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label292">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
+                                                            <property name="label" translatable="yes"> 
</property>
+                                                            </widget>
+                                                            </child>
                                                             </widget>
                                                             <packing>
+                                                            <property name="top_attach">2</property>
+                                                            <property name="bottom_attach">3</property>
                                                             <property name="x_options">GTK_FILL</property>
                                                             <property name="y_options"/>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox226">
+                                                            <widget class="GtkEventBox" 
id="event_execute_eventbox_jump_reactive_height">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label118">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="label" translatable="yes"> 
</property>
+                                                            </widget>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="top_attach">1</property>
+                                                            <property name="bottom_attach">2</property>
+                                                            <property name="x_options">GTK_FILL</property>
+                                                            <property name="y_options"/>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox137">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="spacing">5</property>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label448">
+                                                            <widget class="GtkLabel" id="label117">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
-                                                            <property name="label" 
translatable="yes">TC</property>
+                                                            <property name="label" translatable="yes">TF / 
TC</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
@@ -8354,12 +8411,12 @@ EncoderInertialCapture</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox227">
+                                                            <widget class="GtkHBox" id="hbox138">
                                                             <property name="width_request">16</property>
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="event_execute_image_jump_reactive_tc_good">
+                                                            <widget class="GtkImage" 
id="event_execute_image_jump_reactive_tf_tc_good">
                                                             <property name="width_request">16</property>
                                                             <property name="height_request">16</property>
                                                             <property name="visible">True</property>
@@ -8372,7 +8429,7 @@ EncoderInertialCapture</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="event_execute_image_jump_reactive_tc_bad">
+                                                            <widget class="GtkImage" 
id="event_execute_image_jump_reactive_tf_tc_bad">
                                                             <property name="width_request">16</property>
                                                             <property name="height_request">16</property>
                                                             <property name="visible">True</property>
@@ -8397,154 +8454,214 @@ EncoderInertialCapture</property>
                                                             <packing>
                                                             <property name="left_attach">1</property>
                                                             <property name="right_attach">2</property>
-                                                            <property name="top_attach">3</property>
-                                                            <property name="bottom_attach">4</property>
+                                                            <property name="top_attach">4</property>
+                                                            <property name="bottom_attach">5</property>
                                                             <property name="x_options">GTK_FILL</property>
                                                             <property name="y_options">GTK_FILL</property>
                                                             </packing>
                                                             </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox224">
+                                                            <widget class="GtkTable" 
id="event_execute_table_jump_reactive_values">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="spacing">5</property>
+                                                            <property name="n_rows">5</property>
+                                                            <property name="n_columns">2</property>
+                                                            <property name="column_spacing">4</property>
+                                                            <property name="row_spacing">4</property>
+                                                            <property name="homogeneous">True</property>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label447">
+                                                            <widget class="GtkLabel" id="label267">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
-                                                            <property name="label" 
translatable="yes">TF</property>
+                                                            <property name="label" translatable="yes">Last 
jump</property>
+                                                            <property name="justify">center</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">False</property>
-                                                            <property name="position">0</property>
+                                                            <property name="x_options">GTK_EXPAND</property>
+                                                            <property name="y_options"/>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox225">
-                                                            <property name="width_request">16</property>
+                                                            <widget class="GtkLabel" id="label268">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="label" 
translatable="yes">AVG</property>
+                                                            <property name="justify">center</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="left_attach">1</property>
+                                                            <property name="right_attach">2</property>
+                                                            <property name="x_options">GTK_EXPAND</property>
+                                                            <property name="y_options"/>
+                                                            </packing>
+                                                            </child>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="event_execute_image_jump_reactive_tf_good">
-                                                            <property name="width_request">16</property>
-                                                            <property name="height_request">16</property>
+                                                            <widget class="GtkLabel" 
id="event_execute_label_jump_reactive_tf_now">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="justify">center</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">True</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">0</property>
+                                                            <property name="top_attach">2</property>
+                                                            <property name="bottom_attach">3</property>
+                                                            <property name="x_options"/>
+                                                            <property name="y_options"/>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="event_execute_image_jump_reactive_tf_bad">
-                                                            <property name="width_request">16</property>
-                                                            <property name="height_request">16</property>
+                                                            <widget class="GtkLabel" 
id="event_execute_label_jump_reactive_tf_avg">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="justify">center</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">True</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="pack_type">end</property>
-                                                            <property name="position">1</property>
+                                                            <property name="left_attach">1</property>
+                                                            <property name="right_attach">2</property>
+                                                            <property name="top_attach">2</property>
+                                                            <property name="bottom_attach">3</property>
+                                                            <property name="x_options"/>
+                                                            <property name="y_options"/>
                                                             </packing>
                                                             </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" 
id="event_execute_label_jump_reactive_tc_avg">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="justify">center</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="left_attach">1</property>
+                                                            <property name="right_attach">2</property>
+                                                            <property name="top_attach">3</property>
+                                                            <property name="bottom_attach">4</property>
+                                                            <property name="x_options"/>
+                                                            <property name="y_options"/>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" 
id="event_execute_label_jump_reactive_tc_now">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="justify">center</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="top_attach">3</property>
+                                                            <property name="bottom_attach">4</property>
+                                                            <property name="x_options"/>
+                                                            <property name="y_options"/>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" 
id="event_execute_label_jump_reactive_tf_tc_now">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="justify">center</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">False</property>
-                                                            <property name="pack_type">end</property>
-                                                            <property name="position">1</property>
+                                                            <property name="top_attach">4</property>
+                                                            <property name="bottom_attach">5</property>
+                                                            <property name="x_options"/>
+                                                            <property name="y_options"/>
                                                             </packing>
                                                             </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" 
id="event_execute_label_jump_reactive_tf_tc_avg">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="justify">center</property>
                                                             </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>
-                                                            <property name="x_options">GTK_FILL</property>
-                                                            <property name="y_options">GTK_FILL</property>
+                                                            <property name="top_attach">4</property>
+                                                            <property name="bottom_attach">5</property>
+                                                            <property name="x_options"/>
+                                                            <property name="y_options"/>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox222">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="spacing">5</property>
-                                                            <child>
-                                                            <widget class="GtkLabel" id="label446">
+                                                            <widget class="GtkLabel" 
id="event_execute_label_jump_reactive_height_now">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
-                                                            <property name="label" 
translatable="yes">Height</property>
+                                                            <property name="justify">center</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">False</property>
-                                                            <property name="position">0</property>
+                                                            <property name="top_attach">1</property>
+                                                            <property name="bottom_attach">2</property>
+                                                            <property name="x_options"/>
+                                                            <property name="y_options"/>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox223">
-                                                            <property name="width_request">16</property>
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <child>
-                                                            <widget class="GtkImage" 
id="event_execute_image_jump_reactive_height_good">
-                                                            <property name="width_request">16</property>
-                                                            <property name="height_request">16</property>
+                                                            <widget class="GtkLabel" 
id="event_execute_label_jump_reactive_height_avg">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="justify">center</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">True</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">0</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"/>
+                                                            <property name="y_options"/>
                                                             </packing>
                                                             </child>
-                                                            <child>
-                                                            <widget class="GtkImage" 
id="event_execute_image_jump_reactive_height_bad">
-                                                            <property name="width_request">16</property>
-                                                            <property name="height_request">16</property>
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">True</property>
                                                             <property name="fill">True</property>
-                                                            <property name="pack_type">end</property>
                                                             <property name="position">1</property>
                                                             </packing>
                                                             </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>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label14">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label">jump multiple</property>
                                                             </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>
-                                                            <property name="y_options">GTK_FILL</property>
+                                                            <property name="tab_fill">False</property>
+                                                            <property name="type">tab</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkEventBox" 
id="event_execute_eventbox_jump_reactive_tf_tc">
+                                                            <widget class="GtkHBox" id="hbox31">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label444">
+                                                            <widget class="GtkTable" 
id="event_execute_table_run_interval">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="n_rows">3</property>
+                                                            <property name="n_columns">2</property>
+                                                            <property name="column_spacing">4</property>
+                                                            <property name="row_spacing">4</property>
+                                                            <child>
+                                                            <widget class="GtkEventBox" 
id="event_execute_eventbox_run_interval_speed">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label300">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
@@ -8553,38 +8670,42 @@ EncoderInertialCapture</property>
                                                             </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="top_attach">4</property>
-                                                            <property name="bottom_attach">5</property>
+                                                            <property name="top_attach">2</property>
+                                                            <property name="bottom_attach">3</property>
                                                             <property name="x_options">GTK_FILL</property>
                                                             <property name="y_options"/>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkEventBox" 
id="event_execute_eventbox_jump_reactive_tc">
+                                                            <widget class="GtkLabel" id="label302">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="left_attach">1</property>
+                                                            <property name="right_attach">2</property>
+                                                            <property name="x_options">GTK_FILL</property>
+                                                            <property name="y_options"/>
+                                                            </packing>
+                                                            </child>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label288">
+                                                            <widget class="GtkLabel" id="label303">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
-                                                            <property name="label" translatable="yes"> 
</property>
-                                                            </widget>
-                                                            </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="top_attach">3</property>
-                                                            <property name="bottom_attach">4</property>
                                                             <property name="x_options">GTK_FILL</property>
                                                             <property name="y_options"/>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkEventBox" 
id="event_execute_eventbox_jump_reactive_tf">
+                                                            <widget class="GtkEventBox" 
id="event_execute_eventbox_run_interval_time">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label292">
+                                                            <widget class="GtkLabel" id="label304">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
@@ -8593,43 +8714,51 @@ EncoderInertialCapture</property>
                                                             </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="top_attach">2</property>
-                                                            <property name="bottom_attach">3</property>
+                                                            <property name="top_attach">1</property>
+                                                            <property name="bottom_attach">2</property>
                                                             <property name="x_options">GTK_FILL</property>
                                                             <property name="y_options"/>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkEventBox" 
id="event_execute_eventbox_jump_reactive_height">
+                                                            <widget class="GtkHBox" id="hbox220">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
+                                                            <property name="spacing">5</property>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label118">
+                                                            <widget class="GtkLabel" id="label440">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
-                                                            <property name="label" translatable="yes"> 
</property>
+                                                            <property name="label" 
translatable="yes">Speed</property>
                                                             </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
                                                             </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="top_attach">1</property>
-                                                            <property name="bottom_attach">2</property>
+                                                            <property name="left_attach">1</property>
+                                                            <property name="right_attach">2</property>
+                                                            <property name="top_attach">2</property>
+                                                            <property name="bottom_attach">3</property>
                                                             <property name="x_options">GTK_FILL</property>
-                                                            <property name="y_options"/>
+                                                            <property name="y_options">GTK_FILL</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox137">
+                                                            <widget class="GtkHBox" id="hbox219">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="spacing">5</property>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label117">
+                                                            <widget class="GtkLabel" id="label439">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
-                                                            <property name="label" translatable="yes">TF / 
TC</property>
+                                                            <property name="label" 
translatable="yes">Time</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
@@ -8638,14 +8767,12 @@ EncoderInertialCapture</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox138">
-                                                            <property name="width_request">16</property>
+                                                            <widget class="GtkHBox" id="hbox221">
+                                                            <property name="width_request">24</property>
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="event_execute_image_jump_reactive_tf_tc_good">
-                                                            <property name="width_request">16</property>
-                                                            <property name="height_request">16</property>
+                                                            <widget class="GtkImage" 
id="event_execute_image_run_interval_time_good">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             </widget>
@@ -8656,9 +8783,8 @@ EncoderInertialCapture</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="event_execute_image_jump_reactive_tf_tc_bad">
-                                                            <property name="width_request">16</property>
-                                                            <property name="height_request">16</property>
+                                                            <widget class="GtkImage" 
id="event_execute_image_run_interval_time_bad">
+                                                            <property name="width_request">24</property>
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             </widget>
@@ -8681,8 +8807,8 @@ EncoderInertialCapture</property>
                                                             <packing>
                                                             <property name="left_attach">1</property>
                                                             <property name="right_attach">2</property>
-                                                            <property name="top_attach">4</property>
-                                                            <property name="bottom_attach">5</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>
@@ -8695,20 +8821,23 @@ EncoderInertialCapture</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkTable" 
id="event_execute_table_jump_reactive_values">
+                                                            <widget class="GtkTable" 
id="event_execute_table_run_interval_values">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="n_rows">5</property>
-                                                            <property name="n_columns">2</property>
+                                                            <property name="n_rows">3</property>
+                                                            <property name="n_columns">3</property>
                                                             <property name="column_spacing">4</property>
                                                             <property name="row_spacing">4</property>
                                                             <property name="homogeneous">True</property>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label267">
+                                                            <placeholder/>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label305">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
-                                                            <property name="label" translatable="yes">Last 
jump</property>
+                                                            <property name="label" translatable="yes">Last 
lap</property>
                                                             <property name="justify">center</property>
                                                             </widget>
                                                             <packing>
@@ -8717,7 +8846,7 @@ EncoderInertialCapture</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label268">
+                                                            <widget class="GtkLabel" id="label306">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
@@ -8732,21 +8861,21 @@ EncoderInertialCapture</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" 
id="event_execute_label_jump_reactive_tf_now">
+                                                            <widget class="GtkLabel" 
id="event_execute_label_run_interval_time_now">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
                                                             <property name="justify">center</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="top_attach">2</property>
-                                                            <property name="bottom_attach">3</property>
+                                                            <property name="top_attach">1</property>
+                                                            <property name="bottom_attach">2</property>
                                                             <property name="x_options"/>
                                                             <property name="y_options"/>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" 
id="event_execute_label_jump_reactive_tf_avg">
+                                                            <widget class="GtkLabel" 
id="event_execute_label_run_interval_time_avg">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
@@ -8755,14 +8884,14 @@ EncoderInertialCapture</property>
                                                             <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>
+                                                            <property name="top_attach">1</property>
+                                                            <property name="bottom_attach">2</property>
                                                             <property name="x_options"/>
                                                             <property name="y_options"/>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" 
id="event_execute_label_jump_reactive_tc_avg">
+                                                            <widget class="GtkLabel" 
id="event_execute_label_run_interval_speed_avg">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
@@ -8771,80 +8900,51 @@ EncoderInertialCapture</property>
                                                             <packing>
                                                             <property name="left_attach">1</property>
                                                             <property name="right_attach">2</property>
-                                                            <property name="top_attach">3</property>
-                                                            <property name="bottom_attach">4</property>
-                                                            <property name="x_options"/>
-                                                            <property name="y_options"/>
-                                                            </packing>
-                                                            </child>
-                                                            <child>
-                                                            <widget class="GtkLabel" 
id="event_execute_label_jump_reactive_tc_now">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
-                                                            <property name="justify">center</property>
-                                                            </widget>
-                                                            <packing>
-                                                            <property name="top_attach">3</property>
-                                                            <property name="bottom_attach">4</property>
-                                                            <property name="x_options"/>
-                                                            <property name="y_options"/>
-                                                            </packing>
-                                                            </child>
-                                                            <child>
-                                                            <widget class="GtkLabel" 
id="event_execute_label_jump_reactive_tf_tc_now">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
-                                                            <property name="justify">center</property>
-                                                            </widget>
-                                                            <packing>
-                                                            <property name="top_attach">4</property>
-                                                            <property name="bottom_attach">5</property>
+                                                            <property name="top_attach">2</property>
+                                                            <property name="bottom_attach">3</property>
                                                             <property name="x_options"/>
                                                             <property name="y_options"/>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" 
id="event_execute_label_jump_reactive_tf_tc_avg">
+                                                            <widget class="GtkLabel" 
id="event_execute_label_run_interval_speed_now">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
                                                             <property name="justify">center</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="left_attach">1</property>
-                                                            <property name="right_attach">2</property>
-                                                            <property name="top_attach">4</property>
-                                                            <property name="bottom_attach">5</property>
+                                                            <property name="top_attach">2</property>
+                                                            <property name="bottom_attach">3</property>
                                                             <property name="x_options"/>
                                                             <property name="y_options"/>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" 
id="event_execute_label_jump_reactive_height_now">
+                                                            <widget class="GtkLabel" id="label151">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
+                                                            <property name="label" 
translatable="yes">Total</property>
                                                             <property name="justify">center</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="top_attach">1</property>
-                                                            <property name="bottom_attach">2</property>
-                                                            <property name="x_options"/>
+                                                            <property name="left_attach">2</property>
+                                                            <property name="right_attach">3</property>
+                                                            <property name="x_options">GTK_EXPAND</property>
                                                             <property name="y_options"/>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" 
id="event_execute_label_jump_reactive_height_avg">
+                                                            <widget class="GtkLabel" 
id="event_execute_label_run_interval_time_total">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
                                                             <property name="justify">center</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="left_attach">1</property>
-                                                            <property name="right_attach">2</property>
+                                                            <property name="left_attach">2</property>
+                                                            <property name="right_attach">3</property>
                                                             <property name="top_attach">1</property>
                                                             <property name="bottom_attach">2</property>
                                                             <property name="x_options"/>
@@ -8859,52 +8959,52 @@ EncoderInertialCapture</property>
                                                             </packing>
                                                             </child>
                                                             </widget>
+                                                            <packing>
+                                                            <property name="position">1</property>
+                                                            </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label14">
+                                                            <widget class="GtkLabel" id="label17">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="label">jump multiple</property>
+                                                            <property name="label">run interval</property>
                                                             </widget>
                                                             <packing>
+                                                            <property name="position">1</property>
                                                             <property name="tab_fill">False</property>
                                                             <property name="type">tab</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox31">
+                                                            <widget class="GtkHBox" id="hbox37">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <child>
-                                                            <widget class="GtkTable" 
id="event_execute_table_run_interval">
+                                                            <widget class="GtkTable" 
id="event_execute_table_pulse">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="n_rows">3</property>
+                                                            <property name="n_rows">2</property>
                                                             <property name="n_columns">2</property>
                                                             <property name="column_spacing">4</property>
                                                             <property name="row_spacing">4</property>
                                                             <child>
-                                                            <widget class="GtkEventBox" 
id="event_execute_eventbox_run_interval_speed">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <child>
-                                                            <widget class="GtkLabel" id="label300">
+                                                            <widget class="GtkLabel" id="label309">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
-                                                            <property name="label" translatable="yes"> 
</property>
-                                                            </widget>
-                                                            </child>
+                                                            <property name="label" 
translatable="yes">Time</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="top_attach">2</property>
-                                                            <property name="bottom_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"/>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label302">
+                                                            <widget class="GtkLabel" id="label310">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
@@ -8917,7 +9017,7 @@ EncoderInertialCapture</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label303">
+                                                            <widget class="GtkLabel" id="label311">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
@@ -8928,11 +9028,11 @@ EncoderInertialCapture</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkEventBox" 
id="event_execute_eventbox_run_interval_time">
+                                                            <widget class="GtkEventBox" 
id="event_execute_eventbox_pulse_time">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label304">
+                                                            <widget class="GtkLabel" id="label312">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
@@ -8947,465 +9047,445 @@ EncoderInertialCapture</property>
                                                             <property name="y_options"/>
                                                             </packing>
                                                             </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox220">
+                                                            <widget class="GtkTable" 
id="event_execute_table_pulse_values">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="spacing">5</property>
+                                                            <property name="n_rows">2</property>
+                                                            <property name="n_columns">2</property>
+                                                            <property name="column_spacing">4</property>
+                                                            <property name="row_spacing">4</property>
+                                                            <property name="homogeneous">True</property>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label440">
+                                                            <widget class="GtkLabel" id="label313">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
-                                                            <property name="label" 
translatable="yes">Speed</property>
+                                                            <property name="label" translatable="yes">Last 
pulse</property>
+                                                            <property name="justify">center</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">False</property>
-                                                            <property name="position">0</property>
+                                                            <property name="x_options">GTK_EXPAND</property>
+                                                            <property name="y_options"/>
                                                             </packing>
                                                             </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label314">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="label" 
translatable="yes">AVG</property>
+                                                            <property name="justify">center</property>
                                                             </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>
-                                                            <property name="x_options">GTK_FILL</property>
-                                                            <property name="y_options">GTK_FILL</property>
+                                                            <property name="x_options">GTK_EXPAND</property>
+                                                            <property name="y_options"/>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox219">
+                                                            <widget class="GtkLabel" 
id="event_execute_label_pulse_now">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="spacing">5</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="justify">center</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="top_attach">1</property>
+                                                            <property name="bottom_attach">2</property>
+                                                            <property name="x_options"/>
+                                                            <property name="y_options"/>
+                                                            </packing>
+                                                            </child>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label439">
+                                                            <widget class="GtkLabel" 
id="event_execute_label_pulse_avg">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
                                                             <property name="xalign">0</property>
-                                                            <property name="label" 
translatable="yes">Time</property>
+                                                            <property name="justify">center</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">False</property>
-                                                            <property name="position">0</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"/>
+                                                            <property name="y_options"/>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="position">2</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox221">
-                                                            <property name="width_request">24</property>
+                                                            <widget class="GtkLabel" id="label38">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
+                                                            <property name="label">pulse</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="position">2</property>
+                                                            <property name="tab_fill">False</property>
+                                                            <property name="type">tab</property>
+                                                            </packing>
+                                                            </child>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="event_execute_image_run_interval_time_good">
+                                                            <widget class="GtkLabel" id="label63">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
+                                                            <property name="label" 
translatable="yes">Deleted test</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">True</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="position">0</property>
+                                                            <property name="position">3</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="event_execute_image_run_interval_time_bad">
-                                                            <property name="width_request">24</property>
+                                                            <widget class="GtkLabel" id="label62">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
+                                                            <property name="label">deleted test</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">True</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="pack_type">end</property>
-                                                            <property name="position">1</property>
+                                                            <property name="position">3</property>
+                                                            <property name="tab_fill">False</property>
+                                                            <property name="type">tab</property>
                                                             </packing>
                                                             </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="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>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">1</property>
                                                             </packing>
                                                             </child>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox61">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox_results_legend">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">12</property>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox122">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">8</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label160">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" 
translatable="yes">Group</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">False</property>
+                                                            <property name="expand">True</property>
                                                             <property name="fill">True</property>
                                                             <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkTable" 
id="event_execute_table_run_interval_values">
+                                                            <widget class="GtkHBox" id="hbox200">
                                                             <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="column_spacing">4</property>
-                                                            <property name="row_spacing">4</property>
-                                                            <property name="homogeneous">True</property>
+                                                            <property name="spacing">8</property>
                                                             <child>
-                                                            <placeholder/>
-                                                            </child>
+                                                            <widget class="GtkHBox" id="hbox197">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">4</property>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label305">
+                                                            <widget class="GtkImage" 
id="image_line_session_avg">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
-                                                            <property name="label" translatable="yes">Last 
lap</property>
-                                                            <property name="justify">center</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="x_options">GTK_EXPAND</property>
-                                                            <property name="y_options"/>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label306">
+                                                            <widget class="GtkLabel" id="label162">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
-                                                            <property name="label" 
translatable="yes">AVG</property>
-                                                            <property name="justify">center</property>
+                                                            <property name="label" 
translatable="yes">Average</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="left_attach">1</property>
-                                                            <property name="right_attach">2</property>
-                                                            <property name="x_options">GTK_EXPAND</property>
-                                                            <property name="y_options"/>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
                                                             </packing>
                                                             </child>
-                                                            <child>
-                                                            <widget class="GtkLabel" 
id="event_execute_label_run_interval_time_now">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
-                                                            <property name="justify">center</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="top_attach">1</property>
-                                                            <property name="bottom_attach">2</property>
-                                                            <property name="x_options"/>
-                                                            <property name="y_options"/>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" 
id="event_execute_label_run_interval_time_avg">
+                                                            <widget class="GtkHBox" id="hbox184">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
-                                                            <property name="justify">center</property>
-                                                            </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"/>
-                                                            <property name="y_options"/>
-                                                            </packing>
-                                                            </child>
+                                                            <property name="spacing">4</property>
                                                             <child>
-                                                            <widget class="GtkLabel" 
id="event_execute_label_run_interval_speed_avg">
+                                                            <widget class="GtkImage" 
id="image_line_session_max">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
-                                                            <property name="justify">center</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
                                                             </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>
-                                                            <property name="x_options"/>
-                                                            <property name="y_options"/>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" 
id="event_execute_label_run_interval_speed_now">
+                                                            <widget class="GtkLabel" id="label161">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
-                                                            <property name="justify">center</property>
+                                                            <property name="label" 
translatable="yes">Best</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="top_attach">2</property>
-                                                            <property name="bottom_attach">3</property>
-                                                            <property name="x_options"/>
-                                                            <property name="y_options"/>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
                                                             </packing>
                                                             </child>
-                                                            <child>
-                                                            <widget class="GtkLabel" id="label151">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
-                                                            <property name="label" 
translatable="yes">Total</property>
-                                                            <property name="justify">center</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="left_attach">2</property>
-                                                            <property name="right_attach">3</property>
-                                                            <property name="x_options">GTK_EXPAND</property>
-                                                            <property name="y_options"/>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">1</property>
                                                             </packing>
                                                             </child>
-                                                            <child>
-                                                            <widget class="GtkLabel" 
id="event_execute_label_run_interval_time_total">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
-                                                            <property name="justify">center</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="left_attach">2</property>
-                                                            <property name="right_attach">3</property>
-                                                            <property name="top_attach">1</property>
-                                                            <property name="bottom_attach">2</property>
-                                                            <property name="x_options"/>
-                                                            <property name="y_options"/>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">1</property>
                                                             </packing>
                                                             </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">True</property>
                                                             <property name="fill">True</property>
-                                                            <property name="position">1</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
+                                                            <child>
+                                                            <widget class="GtkVSeparator" id="vseparator1">
+                                                            <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">1</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label17">
+                                                            <widget class="GtkHBox" id="hbox201">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="label">run interval</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label165">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" 
translatable="yes">Person</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="position">1</property>
-                                                            <property name="tab_fill">False</property>
-                                                            <property name="type">tab</property>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox37">
+                                                            <widget class="GtkHBox" id="hbox202">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
                                                             <child>
-                                                            <widget class="GtkTable" 
id="event_execute_table_pulse">
+                                                            <widget class="GtkHBox" id="hbox204">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="n_rows">2</property>
-                                                            <property name="n_columns">2</property>
-                                                            <property name="column_spacing">4</property>
-                                                            <property name="row_spacing">4</property>
+                                                            <property name="spacing">4</property>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label309">
+                                                            <widget class="GtkImage" 
id="image_line_person_avg">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
-                                                            <property name="label" 
translatable="yes">Time</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
                                                             </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>
-                                                            <property name="y_options"/>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label310">
+                                                            <widget class="GtkLabel" id="label167">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
+                                                            <property name="label" 
translatable="yes">Average</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="left_attach">1</property>
-                                                            <property name="right_attach">2</property>
-                                                            <property name="x_options">GTK_FILL</property>
-                                                            <property name="y_options"/>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
                                                             </packing>
                                                             </child>
-                                                            <child>
-                                                            <widget class="GtkLabel" id="label311">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="x_options">GTK_FILL</property>
-                                                            <property name="y_options"/>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkEventBox" 
id="event_execute_eventbox_pulse_time">
+                                                            <widget class="GtkHBox" id="hbox203">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
+                                                            <property name="spacing">4</property>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label312">
+                                                            <widget class="GtkImage" 
id="image_line_person_max">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
-                                                            <property name="label" translatable="yes"> 
</property>
+                                                            <property 
name="stock">gtk-missing-image</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="label166">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" 
translatable="yes">Best</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="top_attach">1</property>
-                                                            <property name="bottom_attach">2</property>
-                                                            <property name="x_options">GTK_FILL</property>
-                                                            <property name="y_options"/>
+                                                            <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="expand">True</property>
                                                             <property name="fill">True</property>
-                                                            <property name="position">0</property>
+                                                            <property name="position">1</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkTable" 
id="event_execute_table_pulse_values">
+                                                            <widget class="GtkHBox" id="hbox106">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="n_rows">2</property>
-                                                            <property name="n_columns">2</property>
-                                                            <property name="column_spacing">4</property>
-                                                            <property name="row_spacing">4</property>
-                                                            <property name="homogeneous">True</property>
+                                                            <property name="spacing">4</property>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label313">
+                                                            <widget class="GtkImage" 
id="image_line_person_max_all_sessions">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
-                                                            <property name="label" translatable="yes">Last 
pulse</property>
-                                                            <property name="justify">center</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="x_options">GTK_EXPAND</property>
-                                                            <property name="y_options"/>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" id="label314">
+                                                            <widget class="GtkLabel" id="label163">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
-                                                            <property name="label" 
translatable="yes">AVG</property>
-                                                            <property name="justify">center</property>
+                                                            <property name="label" translatable="yes">Best 
(all sessions)</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="left_attach">1</property>
-                                                            <property name="right_attach">2</property>
-                                                            <property name="x_options">GTK_EXPAND</property>
-                                                            <property name="y_options"/>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkLabel" 
id="event_execute_label_pulse_now">
+                                                            <widget class="GtkButton" 
id="button_person_max_all_sessions_info">
                                                             <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
-                                                            <property name="justify">center</property>
-                                                            </widget>
-                                                            <packing>
-                                                            <property name="top_attach">1</property>
-                                                            <property name="bottom_attach">2</property>
-                                                            <property name="x_options"/>
-                                                            <property name="y_options"/>
-                                                            </packing>
-                                                            </child>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">True</property>
+                                                            <signal name="clicked" 
handler="on_button_person_max_all_sessions_info_clicked" swapped="no"/>
                                                             <child>
-                                                            <widget class="GtkLabel" 
id="event_execute_label_pulse_avg">
+                                                            <widget class="GtkImage" 
id="image_info_sessions_info">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="xalign">0</property>
-                                                            <property name="justify">center</property>
+                                                            <property name="stock">gtk-info</property>
+                                                            <property name="icon-size">1</property>
                                                             </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"/>
-                                                            <property name="y_options"/>
-                                                            </packing>
                                                             </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">True</property>
                                                             <property name="fill">True</property>
-                                                            <property name="position">1</property>
-                                                            </packing>
-                                                            </child>
-                                                            </widget>
-                                                            <packing>
                                                             <property name="position">2</property>
                                                             </packing>
                                                             </child>
-                                                            <child>
-                                                            <widget class="GtkLabel" id="label38">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="label">pulse</property>
                                                             </widget>
                                                             <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
                                                             <property name="position">2</property>
-                                                            <property name="tab_fill">False</property>
-                                                            <property name="type">tab</property>
                                                             </packing>
                                                             </child>
-                                                            <child>
-                                                            <widget class="GtkLabel" id="label63">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="label" 
translatable="yes">Deleted test</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="position">3</property>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">1</property>
                                                             </packing>
                                                             </child>
-                                                            <child>
-                                                            <widget class="GtkLabel" id="label62">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="label">deleted test</property>
                                                             </widget>
                                                             <packing>
-                                                            <property name="position">3</property>
-                                                            <property name="tab_fill">False</property>
-                                                            <property name="type">tab</property>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">2</property>
                                                             </packing>
                                                             </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">False</property>
+                                                            <property name="expand">True</property>
                                                             <property name="fill">False</property>
-                                                            <property name="position">1</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             </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">2</property>
                                                             </packing>
                                                             </child>
                                                             </widget>
@@ -23973,6 +24053,12 @@ Concentric</property>
                                                             <child>
                                                             <placeholder/>
                                                             </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
@@ -34761,6 +34847,12 @@ then click this button.</property>
                                                             <child>
                                                             <placeholder/>
                                                             </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
diff --git a/src/event.cs b/src/event.cs
index b3e0b1d7..ca0bb5ed 100644
--- a/src/event.cs
+++ b/src/event.cs
@@ -85,10 +85,12 @@ public class Event
                get { return simulated; }
                set { simulated = value; }
        }
-       
+
        public string PersonName
        {
                //get { return personName; }
+
+               //this is very inneficient if we are processing a list of events, eg. jumps
                get { return SqlitePerson.SelectAttribute(personID, Constants.Name); }
        }
        
diff --git a/src/execute/event.cs b/src/execute/event.cs
index 0aaeb51e..b399c9fc 100644
--- a/src/execute/event.cs
+++ b/src/execute/event.cs
@@ -79,6 +79,8 @@ public class EventExecute
        
        protected bool volumeOn;
        protected Preferences.GstreamerTypes gstreamer;
+       protected int graphLimit;
+       protected bool graphAllPersons;
        protected double progressbarLimit;
        protected RepetitiveConditionsWindow repetitiveConditionsWin;
 
diff --git a/src/execute/jump.cs b/src/execute/jump.cs
index a260456c..7abea0e7 100644
--- a/src/execute/jump.cs
+++ b/src/execute/jump.cs
@@ -60,7 +60,7 @@ public class JumpExecute : EventExecute
                        bool volumeOn, Preferences.GstreamerTypes gstreamer,
                        double progressbarLimit, ExecutingGraphData egd, string description,
                        bool avoidGraph, //on configChronojump.Exhibition do not show graph because it gets 
too slow with big database
-                       bool jumpsDjGraphHeights
+                       bool jumpsDjGraphHeights, int graphLimit, bool graphAllPersons
                        )
        {
                this.personID = personID;
@@ -81,6 +81,8 @@ public class JumpExecute : EventExecute
                this.description = description;
                this.avoidGraph = avoidGraph;
                this.jumpsDjGraphHeights = jumpsDjGraphHeights;
+               this.graphLimit = graphLimit;
+               this.graphAllPersons = graphAllPersons;
        
                if(TypeHasFall) {
                        hasFall = true;
@@ -481,7 +483,10 @@ public class JumpExecute : EventExecute
                if(! avoidGraph)
                {
                        PrepareEventGraphJumpSimpleObject = new PrepareEventGraphJumpSimple(
-                                       tv, tc, sessionID, personID, table, type, jumpsDjGraphHeights);
+                                       tv, tc, sessionID,
+                                       personID, graphAllPersons, graphLimit,
+                                       table, type, jumpsDjGraphHeights);
+
                        needUpdateGraphType = eventType.JUMP;
                        needUpdateGraph = true;
                }
diff --git a/src/gui/app1/chronojump.cs b/src/gui/app1/chronojump.cs
index 5e55de3b..03702856 100644
--- a/src/gui/app1/chronojump.cs
+++ b/src/gui/app1/chronojump.cs
@@ -936,6 +936,9 @@ public partial class ChronoJumpWindow
                        sensitiveLastTestButtons(false);
                        notebooks_change(Constants.Menuitem_modes.OTHER);
                        on_extra_window_pulses_test_changed(obj, args);
+
+                       hbox_contacts_graph_last_limit.Visible = false;
+                       hbox_contacts_graph_person.Visible = false;
                        hbox_results_legend.Visible = false;
                }
        }
@@ -946,6 +949,9 @@ public partial class ChronoJumpWindow
                        sensitiveLastTestButtons(false);
                        notebooks_change(Constants.Menuitem_modes.OTHER);
                        on_extra_window_multichronopic_test_changed(obj, args);
+
+                       hbox_contacts_graph_last_limit.Visible = false;
+                       hbox_contacts_graph_person.Visible = false;
                        hbox_results_legend.Visible = false;
                }
        }
@@ -2901,7 +2907,11 @@ public partial class ChronoJumpWindow
                        {
                                notebooks_change(m);
                                on_extra_window_jumps_test_changed(new object(), new EventArgs());
+
+                               hbox_contacts_graph_last_limit.Visible = true;
+                               hbox_contacts_graph_person.Visible = true;
                                hbox_results_legend.Visible = true;
+
                                frame_jumps_automatic.Visible = true;
                                pixbufModeCurrent = new Pixbuf (null, Util.GetImagePath(false) + 
"image_jump_simple.png");
 
@@ -2913,7 +2923,11 @@ public partial class ChronoJumpWindow
                                notebooks_change(m);
                                button_contacts_bells.Sensitive = true;
                                on_extra_window_jumps_rj_test_changed(new object(), new EventArgs());
+
+                               hbox_contacts_graph_last_limit.Visible = false;
+                               hbox_contacts_graph_person.Visible = false;
                                hbox_results_legend.Visible = false;
+
                                pixbufModeCurrent = new Pixbuf (null, Util.GetImagePath(false) + 
"image_jump_reactive.png");
 
                                if(radio_mode_contacts_jumps_profile.Active || 
radio_mode_contacts_jumps_dj_optimal_fall.Active ||
@@ -2933,7 +2947,11 @@ public partial class ChronoJumpWindow
                        {
                                notebooks_change(m);
                                on_extra_window_runs_test_changed(new object(), new EventArgs());
+
+                               hbox_contacts_graph_last_limit.Visible = true;
+                               hbox_contacts_graph_person.Visible = true;
                                hbox_results_legend.Visible = true;
+
                                frame_run_simple_double_contacts.Visible = true;
                                pixbufModeCurrent = new Pixbuf (null, Util.GetImagePath(false) + 
"image_run_simple.png");
                        }
@@ -2943,7 +2961,11 @@ public partial class ChronoJumpWindow
                                notebooks_change(m);
                                button_contacts_bells.Sensitive = true;
                                on_extra_window_runs_interval_test_changed(new object(), new EventArgs());
+
+                               hbox_contacts_graph_last_limit.Visible = false;
+                               hbox_contacts_graph_person.Visible = false;
                                hbox_results_legend.Visible = false;
+
                                createTreeView_runs_interval_sprint (treeview_runs_interval_sprint);
                                pixbufModeCurrent = new Pixbuf (null, Util.GetImagePath(false) + 
"image_run_multiple.png");
 
@@ -3077,6 +3099,9 @@ public partial class ChronoJumpWindow
                        button_threshold.Visible = false;
                        button_force_sensor_adjust.Visible = true;
                        //notebook_capture_analyze.GetNthPage(2).Hide(); //hide jumpsProfile on other tests
+
+                       hbox_contacts_graph_last_limit.Visible = false;
+                       hbox_contacts_graph_person.Visible = false;
                        hbox_results_legend.Visible = false;
 
                        //on force sensor only show table
@@ -3101,6 +3126,9 @@ public partial class ChronoJumpWindow
                        hbox_contacts_sup_capture_analyze_two_buttons.Visible = true;
                        button_threshold.Visible = false;
                        //notebook_capture_analyze.GetNthPage(2).Hide(); //hide jumpsProfile on other tests
+
+                       hbox_contacts_graph_last_limit.Visible = false;
+                       hbox_contacts_graph_person.Visible = false;
                        hbox_results_legend.Visible = false;
 
                        //on run encoder only show table
@@ -3958,7 +3986,9 @@ public partial class ChronoJumpWindow
                                //chronopicWin.CP, event_execute_label_message, app1, 
preferences.digitsNumber, preferences.volumeOn,
                                cp2016.CP, app1, preferences.digitsNumber,
                                preferences.volumeOn, preferences.gstreamer,
-                               progressbarLimit, egd, description, configChronojump.Exhibition, 
preferences.jumpsDjGraphHeights);
+                               progressbarLimit, egd, description, configChronojump.Exhibition,
+                               preferences.jumpsDjGraphHeights,
+                               Convert.ToInt32(spin_contacts_graph_last_limit.Value), 
radio_contacts_graph_allPersons.Active);
 
 
                //UtilGtk.ChronopicColors(viewport_chronopics, label_chronopics, label_connected_chronopics, 
chronopicWin.Connected);
diff --git a/src/gui/app1/jump.cs b/src/gui/app1/jump.cs
index 0536dd66..8423c591 100644
--- a/src/gui/app1/jump.cs
+++ b/src/gui/app1/jump.cs
@@ -270,7 +270,9 @@ public partial class ChronoJumpWindow
                        );
 
                PrepareEventGraphJumpSimple eventGraph = new PrepareEventGraphJumpSimple(
-                               tv, tc, currentSession.UniqueID, currentPerson.UniqueID, Constants.JumpTable, 
currentEventType.Name, preferences.jumpsDjGraphHeights);
+                               tv, tc, currentSession.UniqueID,
+                               currentPerson.UniqueID, radio_contacts_graph_allPersons.Active, 
Convert.ToInt32(spin_contacts_graph_last_limit.Value),
+                               Constants.JumpTable, currentEventType.Name, preferences.jumpsDjGraphHeights);
                
                if(eventGraph.personMAXAtSQLAllSessions > 0 || eventGraph.jumpsAtSQL.Count > 0)
                        PrepareJumpSimpleGraph(eventGraph, false); //don't animate
diff --git a/src/gui/eventExecute.cs b/src/gui/eventExecute.cs
index b1002093..fd773f08 100644
--- a/src/gui/eventExecute.cs
+++ b/src/gui/eventExecute.cs
@@ -44,6 +44,13 @@ public partial class ChronoJumpWindow
        [Widget] Gtk.Label event_execute_label_phases_name;
        [Widget] Gtk.Label event_execute_label_message;
        [Widget] Gtk.Label event_graph_label_graph_test;
+
+
+       [Widget] Gtk.HBox hbox_contacts_graph_last_limit;
+       [Widget] Gtk.SpinButton spin_contacts_graph_last_limit;
+       [Widget] Gtk.HBox hbox_contacts_graph_person;
+       [Widget] Gtk.RadioButton radio_contacts_graph_currentPerson;
+       [Widget] Gtk.RadioButton radio_contacts_graph_allPersons;
        
        [Widget] Gtk.ProgressBar event_execute_progressbar_event;
        [Widget] Gtk.ProgressBar event_execute_progressbar_time;
@@ -186,7 +193,7 @@ public partial class ChronoJumpWindow
        
                event_execute_label_simulated = "";
                if(simulated) 
-                       event_execute_label_simulated = Catalog.GetString("Simulated");
+                       event_execute_label_simulated = "(" + Catalog.GetString("Simulated") + ")";
 
                event_graph_label_graph_test.Text = "<b>" + event_execute_eventType + "</b>";
                event_graph_label_graph_test.UseMarkup = true;
@@ -307,13 +314,18 @@ public partial class ChronoJumpWindow
        
        private void showJumpSimpleLabels() 
        {
+               hbox_contacts_graph_last_limit.Visible = true;
+               hbox_contacts_graph_person.Visible = true;
                hbox_results_legend.Visible = true;
+
                notebook_results_data.Visible = false;
        }
        
        
        private void showJumpReactiveLabels() 
        {
+               hbox_contacts_graph_last_limit.Visible = false;
+               hbox_contacts_graph_person.Visible = false;
                hbox_results_legend.Visible = false;
 
                //show reactive info
@@ -336,12 +348,17 @@ public partial class ChronoJumpWindow
        
        private void showRunSimpleLabels() 
        {
+               hbox_contacts_graph_last_limit.Visible = true;
+               hbox_contacts_graph_person.Visible = true;
                hbox_results_legend.Visible = true;
+
                notebook_results_data.Visible = false;
        }
                
        private void showRunIntervalLabels() 
        {
+               hbox_contacts_graph_last_limit.Visible = false;
+               hbox_contacts_graph_person.Visible = false;
                hbox_results_legend.Visible = false;
 
                //show run interval info
@@ -361,12 +378,17 @@ public partial class ChronoJumpWindow
        
        private void showReactionTimeLabels() 
        {
+               hbox_contacts_graph_last_limit.Visible = true;
+               hbox_contacts_graph_person.Visible = true;
                hbox_results_legend.Visible = true;
+
                notebook_results_data.Visible = false;
        }
 
        private void showPulseLabels() 
        {
+               hbox_contacts_graph_last_limit.Visible = false;
+               hbox_contacts_graph_person.Visible = false;
                hbox_results_legend.Visible = false;
 
                //show pulse info
@@ -467,7 +489,7 @@ public partial class ChronoJumpWindow
 
        public void on_event_execute_drawingarea_expose_event(object o, ExposeEventArgs args)
        {
-               LogB.Information("EXPOSE START");
+               //LogB.Information("EXPOSE START");
                Gdk.Rectangle allocation = event_execute_drawingarea.Allocation;
 
                /* in some mono installations, configure_event is not called, but expose_event yes. 
@@ -498,7 +520,7 @@ public partial class ChronoJumpWindow
 
                if(sizeChanged)
                {
-                       LogB.Information("caring for resize screen and correctly update 
event_execute_drawingarea");
+                       //LogB.Information("caring for resize screen and correctly update 
event_execute_drawingarea");
                        if(current_menuitem_mode == Constants.Menuitem_modes.JUMPSSIMPLE)
                                on_extra_window_jumps_test_changed(o, new EventArgs ());
                        else if(current_menuitem_mode == Constants.Menuitem_modes.JUMPSREACTIVE)
@@ -520,7 +542,7 @@ public partial class ChronoJumpWindow
 
                allocationXOld = allocation.Width;
                allocationYOld = allocation.Height;
-               LogB.Information("EXPOSE END");
+               //LogB.Information("EXPOSE END");
        }
 
        
@@ -593,7 +615,7 @@ public partial class ChronoJumpWindow
                double maxValue = 0;
                double minValue = 0;
                int topMargin = 20; 
-               int bottomMargin = 0; 
+               int bottomMargin = 0;
 
                //if max value of graph is automatic
                if(eventGraphConfigureWin.Max == -1) {
@@ -993,6 +1015,7 @@ public partial class ChronoJumpWindow
        }
        
        
+       /*
        //used on simple tests
        private void plotSimulatedMessageIfNeededAtLast(int x, int alto) {
                if(event_execute_label_simulated != "") {
@@ -1008,6 +1031,7 @@ public partial class ChronoJumpWindow
                                        layoutBig);
                }
        }
+       */
        //used on jumps reactive, runs interval
        private void plotSimulatedMessageIfNeededAtCenter(int ancho, int alto) {
                if(event_execute_label_simulated != "") {
@@ -1015,7 +1039,7 @@ public partial class ChronoJumpWindow
                        int lWidth = 1;
                        int lHeight = 1;
                        layoutBig.GetPixelSize(out lWidth, out lHeight); 
-                       event_execute_pixmap.DrawLayout (pen_black, 
+                       event_execute_pixmap.DrawLayout (pen_gris,
                                        Convert.ToInt32(ancho/2 - lWidth/2), 
                                        Convert.ToInt32(alto/2 - lHeight/2), 
                                        layoutBig);
@@ -1028,6 +1052,10 @@ public partial class ChronoJumpWindow
                int ancho=drawingarea.Allocation.Width;
                int alto=drawingarea.Allocation.Height;
 
+               //person name or test type
+               //note that this could be a problem if there is a jump with Description of several lines and 
current person, current test is used
+               bool showTextOnBar = true;
+
                if(eventGraph.tc > 0)
                        addUnitsToLabel("s");
                else
@@ -1044,19 +1072,38 @@ public partial class ChronoJumpWindow
                if(maxValue - minValue <= 0)
                        return;
                
-               //paint first the horizontal guides in order to be behind the bars of each jump
-               drawGuideOrAVG(pen_black_90, eventGraph.sessionMAXAtSQL, alto, ancho, topMargin, 
bottomMargin, maxValue, minValue, guideWidthEnum.FULL);
-               drawGuideOrAVG(pen_black_discont, eventGraph.sessionAVGAtSQL, alto, ancho, topMargin, 
bottomMargin, maxValue, minValue, guideWidthEnum.FULL);
-               
-               drawGuideOrAVG(pen_magenta, eventGraph.personMAXAtSQLAllSessions, alto, ancho, topMargin, 
bottomMargin, maxValue, minValue, guideWidthEnum.FULL);
-
                //if currentPerson has not jumped on this session, 
                // if has jumped on another session, magenta line: personMAXAtSQLAllSessions will be displayed
                // if other persons have been jumped on this session, eventGraph.sessionMAXAtSQL and 
eventGraph.sessionAVGAtSQL will be displayed
                // don't need the rest of the method
                if(eventGraph.jumpsAtSQL.Count == 0)
                        return;
+
+               int countToDraw = eventGraph.jumpsAtSQL.Count;
+               int countJumps = eventGraph.jumpsAtSQL.Count;
+               int maxRowsForText = 0;
+
+               Pango.Layout layout = layoutMid;
+               if(eventGraph.tc > 0 && eventGraph.tv > 0 && countJumps > 4)
+               {
+                       //small layout when tc and tv and there are more than 4 jumps
+                       layout = layoutSmall;
+               }
+
+               Pango.Layout layoutText = layout;
+               if (showTextOnBar)
+               {
+                       layoutText = calculateLayoutFontForText (eventGraph.jumpsAtSQL, layoutText, ancho);
+                       maxRowsForText = calculateMaxRowsForText (eventGraph.jumpsAtSQL); //also adds +1 if 
simulated
+                       bottomMargin = calculateBottomMarginForText (maxRowsForText, layoutText);
+               }
+
+               //paint first the horizontal guides in order to be behind the bars of each jump
+               drawGuideOrAVG(pen_black_90, eventGraph.sessionMAXAtSQL, alto, ancho, topMargin, 
bottomMargin, maxValue, minValue, guideWidthEnum.FULL);
+               drawGuideOrAVG(pen_black_discont, eventGraph.sessionAVGAtSQL, alto, ancho, topMargin, 
bottomMargin, maxValue, minValue, guideWidthEnum.FULL);
                
+               drawGuideOrAVG(pen_magenta, eventGraph.personMAXAtSQLAllSessions, alto, ancho, topMargin, 
bottomMargin, maxValue, minValue, guideWidthEnum.FULL);
+
                //if person max in all sessions == person max this session, this session max will be only at 
left,
                //overwriting maxAllSesions that will be only at right
                if(eventGraph.personMAXAtSQLAllSessions == eventGraph.personMAXAtSQL)
@@ -1078,24 +1125,21 @@ public partial class ChronoJumpWindow
 
                if(eventGraph.tc > 0)
                        tctfSep = Convert.ToInt32(.3*distanceBetweenCols);
+
+               //TODO: when we mix tests we need to also manage tctfSep
+
                int barWidth = Convert.ToInt32(.3*distanceBetweenCols);
                int barDesplLeft = Convert.ToInt32(.5*barWidth);
 
                bool animateBar = animate;
                int x = 0;
                int y = 0;
-               int countToDraw = eventGraph.jumpsAtSQL.Count;
-               int countJumps = eventGraph.jumpsAtSQL.Count;
 
                foreach(Jump jump in eventGraph.jumpsAtSQL)
                {
                        //if tc, maybe also tv  
-                       if(eventGraph.tc > 0) {
-                               //small layout when tc and tv and there are more than 4 jumps
-                               Pango.Layout layout = layoutMid;
-                               if(eventGraph.tv > 0 && countJumps > 4)
-                                       layout = layoutSmall;
-                               
+                       if(eventGraph.tc > 0)
+                       {
                                //do not animate last tc, if tv is animated because then tc is not shown
                                if(eventGraph.tv >0)
                                        animateBar = false;
@@ -1106,9 +1150,9 @@ public partial class ChronoJumpWindow
 
                                x = 
Convert.ToInt32((ancho-event_execute_rightMargin)*(countToDraw-.5)/countJumps)-barDesplLeft;
                                y = calculatePaintHeight(valueToPlot, alto, maxValue, minValue, topMargin, 
bottomMargin);
-                               
-                               drawBar(x, y, barWidth, alto, pen_rojo, countToDraw == countJumps,
-                                               jump.Simulated == -1, valueToPlot, layout, animateBar);
+
+                               drawBar(x, y, barWidth, alto, bottomMargin, pen_rojo, countToDraw == 
countJumps,
+                                               valueToPlot, layout, animateBar);
 
                                //tv
                                if(eventGraph.tv > 0)
@@ -1120,8 +1164,11 @@ public partial class ChronoJumpWindow
                                        x = 
Convert.ToInt32((ancho-event_execute_rightMargin)*(countToDraw-.5)/countJumps)-barDesplLeft +tctfSep;
                                        y = calculatePaintHeight(valueToPlot, alto, maxValue, minValue, 
topMargin, bottomMargin);
                                        
-                                       drawBar(x, y, barWidth, alto, pen_azul_claro, countToDraw == 
countJumps,
-                                                       jump.Simulated == -1, valueToPlot, layout, 
animateBar);
+                                       drawBar(x, y, barWidth, alto, bottomMargin, pen_azul_claro, 
countToDraw == countJumps,
+                                                       valueToPlot, layout, animateBar);
+
+                                       //adjust x for plotSimulatedMessage() and plotTextOnBar()
+                                       x -= Convert.ToInt32(.5 * tctfSep);
                                }
 
                        } else { //has not tc. Show only height
@@ -1129,9 +1176,17 @@ public partial class ChronoJumpWindow
                                y = calculatePaintHeight(Util.GetHeightInCentimeters(jump.Tv),
                                                alto, maxValue, minValue, topMargin, bottomMargin);
 
-                               drawBar(x, y, barWidth, alto, pen_azul_claro, countToDraw == countJumps,
-                                               jump.Simulated == -1, Util.GetHeightInCentimeters(jump.Tv), 
layoutMid, animateBar);
+                               drawBar(x, y, barWidth, alto, bottomMargin, pen_azul_claro, countToDraw == 
countJumps,
+                                               Util.GetHeightInCentimeters(jump.Tv), layout, animateBar);
                        }
+
+                       //these two methods are out of drawBar because can be related to two bars TC,TF
+                       if(jump.Simulated == -1)
+                               plotSimulatedMessage(x + barWidth/2, alto, layout);
+
+                       if (showTextOnBar && jump.Description != "")
+                               plotTextOnBar(x + barWidth/2, y, alto, jump.Description, layoutText, 
maxRowsForText);
+
                        countToDraw --;
                }
 
@@ -1151,24 +1206,21 @@ public partial class ChronoJumpWindow
 
        MovingBar movingBar;
 
-       //TODO: if last tc and tf have to be painted, tc is not painted
-       private void drawBar(int x, int y, int barWidth, int alto, Gdk.GC pen_bar_bg, 
-                       bool isLast, bool simulated, double result, Pango.Layout layout, bool animate)
+       private void drawBar(int x, int y, int barWidth, int alto, int bottomMargin, Gdk.GC pen_bar_bg,
+                       bool isLast, double result, Pango.Layout layout, bool animate)
        {
                if(isLast && animate) {
                        timerBar = true;
-                       movingBar = new MovingBar(x, y + alto, barWidth, y, alto, pen_bar_bg, simulated, 
result, layout);
+                       movingBar = new MovingBar(x, alto - bottomMargin, barWidth, y, alto - bottomMargin,
+                                       pen_bar_bg, result, layout);
                        GLib.Timeout.Add(1, new GLib.TimeoutHandler(OnTimerBar));
                }
                else {
-                       Rectangle rect = new Rectangle(x, y, barWidth, alto-y-1);
+                       Rectangle rect = new Rectangle(x, y, barWidth, alto-bottomMargin-y-1);
                        event_execute_pixmap.DrawRectangle(pen_bar_bg, true, rect);
                        event_execute_pixmap.DrawRectangle(pen_black, false, rect);
-                       
-                       if(simulated)
-                               plotSimulatedMessage(x + barWidth/2, alto, layout);
 
-                       plotResultOnBar(x + barWidth/2, y, alto, result, layout);
+                       plotResultOnBar(x + barWidth/2, y, alto - bottomMargin, result, layout);
                }
        }
 
@@ -1180,6 +1232,7 @@ public partial class ChronoJumpWindow
                
                movingBar.Next();
                Rectangle rect = new Rectangle(movingBar.X, movingBar.Y, movingBar.Width, movingBar.Step);
+
                //paint the 0 line
                event_execute_pixmap.DrawLine(pen_black_90,
                                movingBar.X, movingBar.AltoTop -1,
@@ -1187,13 +1240,14 @@ public partial class ChronoJumpWindow
 
                event_execute_pixmap.DrawRectangle(movingBar.Pen_bar_bg, true, rect);
                event_execute_drawingarea.QueueDrawArea(movingBar.X, movingBar.Y, movingBar.Width, 
movingBar.Step);
-               
-               if(movingBar.Y <= movingBar.YTop) {
-                       rect = new Rectangle(movingBar.X, movingBar.YTop, movingBar.Width, movingBar.AltoTop);
+
+               if(movingBar.Y <= movingBar.YTop)
+               {
+                       rect = new Rectangle(movingBar.X, movingBar.YTop, movingBar.Width, 
movingBar.AltoTop-movingBar.YTop -1);
                        event_execute_pixmap.DrawRectangle(pen_black, false, rect);
 
-                       if(movingBar.Simulated)
-                               plotSimulatedMessage(movingBar.X + movingBar.Width/2, movingBar.AltoTop, 
movingBar.Layout);
+                       //LogB.Information(string.Format("movinBar: Y: {0}, YTop: {1}, AltoTop: {2}",
+                       //                      movingBar.Y, movingBar.YTop, movingBar.AltoTop));
 
                        plotResultOnBar(movingBar.X + movingBar.Width/2, movingBar.YTop, movingBar.AltoTop, 
movingBar.Result, movingBar.Layout);
                        
@@ -1204,17 +1258,127 @@ public partial class ChronoJumpWindow
                }
 
                return true;
-       }      
-       private void plotSimulatedMessage(int x, int alto, Pango.Layout layout) {
+       }
+
+       private void plotSimulatedMessage(int x, int y, Pango.Layout layout)
+       {
                layout.SetMarkup(event_execute_label_simulated);
                int lWidth = 1;
                int lHeight = 1;
                layout.GetPixelSize(out lWidth, out lHeight); 
-               event_execute_pixmap.DrawLayout (pen_black, 
+               event_execute_pixmap.DrawLayout (pen_gris,
                                Convert.ToInt32(x - lWidth/2), 
-                               alto - lHeight, 
+                               y - lHeight,
                                layout);
        }
+
+       private int calculateMaxRowsForText (List<Jump> jumps)
+       {
+               int maxRows = 0;
+
+               foreach(Jump jump in jumps)
+               {
+                       int rows = jump.Description.Split(new char[] {' '}).Length;
+
+                       if(jump.Simulated == -1)
+                               rows ++;
+                       if(rows > maxRows)
+                               maxRows = rows;
+               }
+
+               return maxRows;
+       }
+
+       private int calculateBottomMarginForText (int maxRows, Pango.Layout layout)
+       {
+
+               layout.SetMarkup("a");
+               int lWidth = 1;
+               int lHeight = 1;
+               layout.GetPixelSize(out lWidth, out lHeight);
+
+               return lHeight * maxRows;
+       }
+
+       private Pango.Layout calculateLayoutFontForText (List<Jump> jumps, Pango.Layout layout, int ancho)
+       {
+               int maxLength = 0;
+
+               //set marginBetweenTexts to 1.1 character
+               layout.SetMarkup("a");
+               int lWidth = 1;
+               int lHeight = 1;
+               layout.GetPixelSize(out lWidth, out lHeight);
+               int marginBetweenTexts = Convert.ToInt32(1.1 * lWidth);
+
+               foreach(Jump jump in jumps)
+               {
+                       string [] textArray = jump.Description.Split(new char[] {' '});
+                       foreach(string text in textArray)
+                       {
+                               if(text.Length > maxLength)
+                                       maxLength = text.Length;
+                               if(jump.Simulated == -1 && event_execute_label_simulated.Length > maxLength)
+                                      maxLength = event_execute_label_simulated.Length;
+                       }
+               }
+
+               string longestString = new string('*', maxLength);
+
+               layout.SetMarkup(longestString);
+               lWidth = 1;
+               lHeight = 1;
+               layout.GetPixelSize(out lWidth, out lHeight);
+
+               int savedFontSize = Convert.ToInt32(layout.FontDescription.Size / Pango.Scale.PangoScale);
+               if(jumps.Count * (lWidth + marginBetweenTexts) > ancho)
+               {
+                       int i = 1;
+                       do {
+                               layout.FontDescription.Size -= Convert.ToInt32(Pango.Scale.PangoScale);
+                               if(layout.FontDescription.Size / Pango.Scale.PangoScale < 1)
+                                       break;
+
+                               layout.SetMarkup(longestString);
+                               layout.GetPixelSize(out lWidth, out lHeight);
+
+                               i ++;
+                       } while (jumps.Count * (lWidth + marginBetweenTexts) > ancho);
+               }
+
+               return layout;
+       }
+
+       //person name or test type
+       //this can separate name with spaces on rows
+       private void plotTextOnBar(int x, int y, int alto, string text, Pango.Layout layout, int 
maxRowsForText)
+       {
+               // 1) to get the height of the font
+               layout.SetMarkup(text);
+               int lWidth = 1;
+               int lHeight = 1;
+               layout.GetPixelSize(out lWidth, out lHeight);
+
+               // 2 )separate in rows and send it to plotTextOnBarDo()
+               string [] textArray = text.Split(new char[] {' '});
+
+               for(int i = 1; i <= textArray.Length; i ++)
+                       plotTextOnBarDo(x,
+                                       Convert.ToInt32(alto - (maxRowsForText -i +1) * lHeight),
+                                       textArray[i-1], layout);
+       }
+       private void plotTextOnBarDo(int x, int y, string text, Pango.Layout layout)
+       {
+               //just to get the width of every row
+               layout.SetMarkup(text);
+               int lWidth = 1;
+               int lHeight = 1;
+               layout.GetPixelSize(out lWidth, out lHeight);
+
+               //write text
+               event_execute_pixmap.DrawLayout (pen_black, Convert.ToInt32(x - lWidth/2), y, layout);
+       }
+
        private void plotResultOnBar(int x, int y, int alto, double result, Pango.Layout layout)
        {
                layout.SetMarkup(Util.TrimDecimals(result,2));
@@ -1386,8 +1550,8 @@ public partial class ChronoJumpWindow
                                y = calculatePaintHeight(Convert.ToDouble(run[5])/Convert.ToDouble(run[6]), 
alto, maxValue, minValue, 
                                                topMargin, bottomMargin);
 
-                               drawBar(x, y, barWidth, alto, pen_azul_claro, count == 
eventGraph.runsAtSQL.Length,
-                                               run[8] == "-1", 
Convert.ToDouble(run[5])/Convert.ToDouble(run[6]), layoutMid, animate);
+                               drawBar(x, y, barWidth, alto, bottomMargin, pen_azul_claro, count == 
eventGraph.runsAtSQL.Length,
+                                               Convert.ToDouble(run[5])/Convert.ToDouble(run[6]), layoutMid, 
animate);//, "", layoutMid, 0, animate);
                        }
 
                        count --;
@@ -1444,8 +1608,8 @@ public partial class ChronoJumpWindow
                        y = calculatePaintHeight(Convert.ToDouble(rts[5]), alto, maxValue, minValue, 
                                        topMargin, bottomMargin);
 
-                       drawBar(x, y, barWidth, alto, pen_azul_claro, count == eventGraph.rtsAtSQL.Length,
-                                       rts[7] == "-1", Convert.ToDouble(rts[5]), layoutMid, animate);
+                       drawBar(x, y, barWidth, alto, bottomMargin, pen_azul_claro, count == 
eventGraph.rtsAtSQL.Length,
+                                       Convert.ToDouble(rts[5]), layoutMid, animate);//, "", layoutMid, 0, 
animate);
 
                        count --;
                }
@@ -2320,6 +2484,22 @@ public partial class ChronoJumpWindow
                event_execute_pixmap.DrawLayout (pen_gris, 20, yCp2Out -20, layoutSmall);
        }
 
+       private void on_radio_contacts_graph_person_toggled (object o, EventArgs args)
+       {
+               if(current_menuitem_mode == Constants.Menuitem_modes.JUMPSSIMPLE)
+                       updateGraphJumpsSimple ();
+
+               //TODO: run simple, rt
+       }
+       private void on_spin_contacts_graph_last_limit_value_changed (object o, EventArgs args)
+       {
+               if(current_menuitem_mode == Constants.Menuitem_modes.JUMPSSIMPLE)
+                       updateGraphJumpsSimple ();
+
+
+               //TODO: run simple, rt
+       }
+
        private void on_event_execute_update_graph_in_progress_clicked(object o, EventArgs args)
        {
                bool animate = true;
diff --git a/src/gui/usefulObjects.cs b/src/gui/usefulObjects.cs
index 3850111b..6e1475ea 100644
--- a/src/gui/usefulObjects.cs
+++ b/src/gui/usefulObjects.cs
@@ -80,10 +80,19 @@ public class PrepareEventGraphJumpSimple
        public PrepareEventGraphJumpSimple() {
        }
 
-       public PrepareEventGraphJumpSimple(double tv, double tc, int sessionID, int personID, string table, 
string type, bool djShowHeights)
+       //allPersons is for searching the jumps of current of allpersons
+       //personID we need to the personsMAX/AVG sql calls
+       public PrepareEventGraphJumpSimple(double tv, double tc, int sessionID,
+                       int personID, bool allPersons, int limit,
+                       string table, string type, bool djShowHeights)
        {
-               jumpsAtSQL = SqliteJump.SelectJumps (sessionID, personID, type,
-                               Sqlite.Orders_by.ID_DESC, 10); //select only last 10
+               int personIDTemp = personID;
+               if(allPersons)
+                       personIDTemp = -1;
+
+               jumpsAtSQL = SqliteJump.SelectJumps (sessionID, personIDTemp, type,
+                               Sqlite.Orders_by.ID_DESC, limit,
+                               allPersons); //show names on comments only if "all persons"
 
                Sqlite.Open();
 
@@ -389,14 +398,14 @@ public class MovingStartButton
 public class MovingBar 
 {
        public int X;
-       public int Y; 
+       public int Y;  //current value on animation
        /*
         * y will go from (y + alto -speed) to (ytop)
         * eg a vertical bar that goes from the bottom to the top, will go from:
         * YTop 37, Y 380
         * to
         * YTop 37, Y 37
-        * so y will be decreasing
+        * so it will be decreasing
         */
        
        public int Width;
@@ -405,20 +414,19 @@ public class MovingBar
        public int AltoTop; //stored alto value
        
        public Gdk.GC Pen_bar_bg;
-       public bool Simulated;
        public double Result;
        public int Step;
        public Pango.Layout Layout;
-       
+
        public MovingBar(int x, int y, int width, int yTop, int altoTop, 
-                       Gdk.GC pen_bar_bg, bool simulated, double result, Pango.Layout layout) {
+                       Gdk.GC pen_bar_bg, double result, Pango.Layout layout)
+       {
                this.X = x;
                this.Y = y;
                this.Width = width;
                this.YTop = yTop;
                this.AltoTop = altoTop;
                this.Pen_bar_bg = pen_bar_bg;
-               this.Simulated = simulated;
                this.Result = result;
                this.Layout = layout;
        } 
diff --git a/src/jump.cs b/src/jump.cs
index 0ac56646..6305ca6b 100644
--- a/src/jump.cs
+++ b/src/jump.cs
@@ -91,7 +91,7 @@ public class Jump : Event
        
 
        public override string ToString() {
-               return uniqueID + ":" + personID + ":" + sessionID + ":" + type + ":" + tv + ":" + tc + ":" + 
datetime; //...
+               return uniqueID + ":" + personID + ":" + sessionID + ":" + type + ":" + tv + ":" + tc + ":" + 
datetime + ":" + description;
        }
 
        public virtual bool TypeHasWeight {
diff --git a/src/jumpsEvolution.cs b/src/jumpsEvolution.cs
index f00a5005..9723f964 100644
--- a/src/jumpsEvolution.cs
+++ b/src/jumpsEvolution.cs
@@ -36,7 +36,7 @@ public class JumpsEvolution
        public void Calculate (int personID, string jumpType)
        {
                //1 get data
-                List<Jump> jump_l = SqliteJump.SelectJumps (-1, personID, jumpType, 
Sqlite.Orders_by.DEFAULT, -1);
+                List<Jump> jump_l = SqliteJump.SelectJumps (-1, personID, jumpType, 
Sqlite.Orders_by.DEFAULT, -1, false);
 
                //2 convert to list of PointF
                point_l = new List<PointF>();
diff --git a/src/sqlite/jump.cs b/src/sqlite/jump.cs
index 785f437b..9cc6242d 100644
--- a/src/sqlite/jump.cs
+++ b/src/sqlite/jump.cs
@@ -193,20 +193,44 @@ class SqliteJump : Sqlite
                return myJumps;
        }
 
-       //like SelectJumpsSA above method but much better: return list of jumps
-       //sID -1 means all sessions
-       //limit -1 means no limit
-       public static List<Jump> SelectJumps (int sID, int pID, string jumpType, Orders_by order, int limit)
+       /*
+        * like SelectJumpsSA above method but much better: return list of jumps
+        * sID -1 means all sessions
+        * pID -1 means all persons
+        * limit -1 means no limit
+        * personNameInComment is used to be able to display names in graphs
+        *   because event.PersonName makes individual SQL SELECTs
+        */
+       public static List<Jump> SelectJumps (int sID, int pID, string jumpType, Orders_by order, int limit, 
bool personNameInComment)
        {
          //jumps previous to DB 1.82 have no datetime on jump
          //find session datetime for that jumps
          List<Session> session_l = SqliteSession.SelectAll();
 
-         string filterSessionString = "";
+         //for personNameInComment
+         List<Person> person_l =
+                       SqlitePersonSession.SelectCurrentSessionPersonsAsList(sID);
+
+         string andString = "";
+         string sessionString = "";
          if(sID != -1)
-                 filterSessionString = " AND sessionID == " + sID.ToString();
+         {
+                 sessionString = " sessionID == " + sID.ToString();
+                 andString = " AND ";
+         }
 
-         string personID = pID.ToString();
+         string personString = "";
+         if(pID != -1)
+         {
+                 personString = andString + " personID == " + pID.ToString();
+                 andString = " AND ";
+         }
+
+         string jumpTypeString = andString + " jump.type = \"" + jumpType + "\"";
+
+         string whereString = "";
+         if(sessionString != "" || personString != "" || jumpTypeString != "")
+                 whereString = " WHERE ";
 
          string orderByString = " ORDER BY jump.uniqueID ";
          if(order == Orders_by.ID_DESC)
@@ -217,11 +241,11 @@ class SqliteJump : Sqlite
                  limitString = " LIMIT " + limit;
 
 
-         Sqlite.Open();
+         Sqlite.Open(); //  --------------------
 
          // Selecciona les dades de tots els salts
-         dbcmd.CommandText = "SELECT * FROM jump WHERE personID = " + personID +
-                 filterSessionString +  " AND jump.type = \"" + jumpType + "\"" +
+         dbcmd.CommandText = "SELECT * FROM jump " +
+                 whereString + sessionString + personString + jumpTypeString +
                  orderByString + limitString;
 
          LogB.SQL(dbcmd.CommandText.ToString());
@@ -230,10 +254,10 @@ class SqliteJump : Sqlite
          SqliteDataReader reader;
          reader = dbcmd.ExecuteReader();
 
-         List<Jump> jmp_l = DataReaderToJump (reader, session_l);
+         List<Jump> jmp_l = DataReaderToJump (reader, session_l, person_l, personNameInComment);
 
          reader.Close();
-         Sqlite.Close();
+         Sqlite.Close(); // --------------------
 
          return jmp_l;
        }
@@ -352,6 +376,11 @@ class SqliteJump : Sqlite
        }
 
        private static List<Jump> DataReaderToJump (SqliteDataReader reader, List<Session> session_l)
+       {
+               return DataReaderToJump (reader, session_l, new List<Person> (), false);
+       }
+       private static List<Jump> DataReaderToJump (SqliteDataReader reader, List<Session> session_l,
+                       List<Person> person_l, bool personNameInComment)
        {
          List<Jump> jmp_l = new List<Jump>();
          Jump jmp;
@@ -385,6 +414,12 @@ class SqliteJump : Sqlite
                                  if(session.UniqueID == jmp.SessionID)
                                          jmp.Datetime = UtilDate.ToFile(session.Date);
 
+                 if(personNameInComment)
+                         foreach(Person person in person_l)
+                                 if(person.UniqueID == jmp.PersonID)
+                                         jmp.Description = person.Name;
+
+
                  jmp_l.Add(jmp);
                  LogB.Information(jmp.ToString());
          }


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