[chronojump] gui: event execute complete for jump and rj



commit f33b66449a6ff12ab4db2b15d2186aed1c1d6649
Author: Xavier de Blas <xaviblas gmail com>
Date:   Wed Mar 23 21:31:48 2011 +0100

    gui: event execute complete for jump and rj

 glade/chronojump.glade          |  183 ++++++++++++++++++++++-----------------
 src/execute/event.cs            |   82 ++++++++++--------
 src/execute/jump.cs             |   10 ++-
 src/execute/multiChronopic.cs   |    3 +-
 src/execute/pulse.cs            |    7 +-
 src/execute/reactionTime.cs     |    3 +-
 src/execute/run.cs              |   12 ++-
 src/gui/chronojump.cs           |   38 +++++---
 src/gui/chronopic.cs            |   12 ++-
 src/gui/eventExecute.cs         |   60 ++++++++++---
 src/gui/usefulObjects.cs        |  142 ++++++++++++++++++++++++++++++-
 src/prepareEventGraphObjects.cs |  139 -----------------------------
 12 files changed, 386 insertions(+), 305 deletions(-)
---
diff --git a/glade/chronojump.glade b/glade/chronojump.glade
index b10f1f7..ae476c3 100644
--- a/glade/chronojump.glade
+++ b/glade/chronojump.glade
@@ -18185,6 +18185,7 @@ weight</property>
                                                             <child>
                                                             <widget class="GtkLabel" id="extra_window_jumps_rj_label_limit_units">
                                                             <property name="visible">True</property>
+                                                            <property name="xalign">0</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="position">1</property>
@@ -18458,28 +18459,46 @@ weight</property>
                                               </packing>
                                             </child>
                                             <child>
-                                              <widget class="GtkEventBox" id="eventbox_image_test">
+                                              <widget class="GtkVBox" id="vbox28">
                                                 <property name="visible">True</property>
                                                 <child>
-                                                  <widget class="GtkVBox" id="vbox_image_test">
+                                                  <widget class="GtkLabel" id="label9">
                                                     <property name="visible">True</property>
+                                                    <property name="label" translatable="yes">Description</property>
+                                                  </widget>
+                                                  <packing>
+                                                    <property name="expand">False</property>
+                                                    <property name="position">0</property>
+                                                  </packing>
+                                                </child>
+                                                <child>
+                                                  <widget class="GtkAspectFrame" id="aspectframe1">
+                                                    <property name="visible">True</property>
+                                                    <property name="label_xalign">0</property>
+                                                    <property name="shadow_type">in</property>
                                                     <child>
-                                                      <widget class="GtkHBox" id="hbox_image_test">
+                                                      <widget class="GtkEventBox" id="eventbox_image_test">
                                                         <property name="visible">True</property>
                                                         <child>
-                                                          <widget class="GtkLabel" id="label_image_test">
+                                                          <widget class="GtkVBox" id="vbox_image_test">
+                                                            <property name="visible">True</property>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox_image_test">
+                                                            <property name="visible">True</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label_image_test">
                                                             <property name="visible">True</property>
                                                             <property name="use_markup">True</property>
                                                             <property name="ellipsize">end</property>
                                                             <property name="width_chars">15</property>
-                                                          </widget>
-                                                          <packing>
+                                                            </widget>
+                                                            <packing>
                                                             <property name="fill">False</property>
                                                             <property name="position">0</property>
-                                                          </packing>
-                                                        </child>
-                                                        <child>
-                                                          <widget class="GtkAlignment" id="alignment106">
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkAlignment" id="alignment106">
                                                             <property name="visible">True</property>
                                                             <property name="xalign">1</property>
                                                             <child>
@@ -18495,33 +18514,42 @@ weight</property>
                                                             </child>
                                                             </widget>
                                                             </child>
-                                                          </widget>
-                                                          <packing>
+                                                            </widget>
+                                                            <packing>
                                                             <property name="expand">False</property>
                                                             <property name="pack_type">end</property>
                                                             <property name="position">1</property>
-                                                          </packing>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkImage" id="image_test">
+                                                            <property name="visible">True</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="pack_type">end</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                          </widget>
                                                         </child>
                                                       </widget>
-                                                      <packing>
-                                                        <property name="expand">False</property>
-                                                        <property name="position">0</property>
-                                                      </packing>
-                                                    </child>
-                                                    <child>
-                                                      <widget class="GtkImage" id="image_test">
-                                                        <property name="visible">True</property>
-                                                      </widget>
-                                                      <packing>
-                                                        <property name="expand">False</property>
-                                                        <property name="pack_type">end</property>
-                                                        <property name="position">1</property>
-                                                      </packing>
                                                     </child>
                                                   </widget>
+                                                  <packing>
+                                                    <property name="expand">False</property>
+                                                    <property name="position">1</property>
+                                                  </packing>
                                                 </child>
                                               </widget>
                                               <packing>
+                                                <property name="expand">False</property>
                                                 <property name="position">1</property>
                                               </packing>
                                             </child>
@@ -18579,27 +18607,14 @@ weight</property>
                                                   <widget class="GtkVBox" id="vbox18">
                                                     <property name="visible">True</property>
                                                     <child>
-                                                      <widget class="GtkLabel" id="event_execute_label_phases_name">
-                                                        <property name="visible">True</property>
-                                                      </widget>
-                                                      <packing>
-                                                        <property name="expand">False</property>
-                                                        <property name="fill">False</property>
-                                                        <property name="position">0</property>
-                                                      </packing>
-                                                    </child>
-                                                    <child>
-                                                      <widget class="GtkHBox" id="hbox14">
+                                                      <widget class="GtkHBox" id="hbox32">
                                                         <property name="visible">True</property>
                                                         <child>
-                                                          <widget class="GtkProgressBar" id="event_execute_progressbar_event">
-                                                            <property name="width_request">148</property>
-                                                            <property name="height_request">22</property>
+                                                          <widget class="GtkLabel" id="event_execute_label_phases_name">
                                                             <property name="visible">True</property>
-                                                            <property name="pulse_step">0.10000000149</property>
+                                                            <property name="label" translatable="yes">Phases</property>
                                                           </widget>
                                                           <packing>
-                                                            <property name="expand">False</property>
                                                             <property name="position">0</property>
                                                           </packing>
                                                         </child>
@@ -18617,7 +18632,16 @@ weight</property>
                                                         </child>
                                                       </widget>
                                                       <packing>
-                                                        <property name="expand">False</property>
+                                                        <property name="position">0</property>
+                                                      </packing>
+                                                    </child>
+                                                    <child>
+                                                      <widget class="GtkProgressBar" id="event_execute_progressbar_event">
+                                                        <property name="height_request">22</property>
+                                                        <property name="visible">True</property>
+                                                        <property name="pulse_step">0.10000000149</property>
+                                                      </widget>
+                                                      <packing>
                                                         <property name="position">1</property>
                                                       </packing>
                                                     </child>
@@ -18631,29 +18655,14 @@ weight</property>
                                                     <property name="visible">True</property>
                                                     <property name="spacing">4</property>
                                                     <child>
-                                                      <widget class="GtkLabel" id="label251">
-                                                        <property name="visible">True</property>
-                                                        <property name="label" translatable="yes">Time</property>
-                                                      </widget>
-                                                      <packing>
-                                                        <property name="expand">False</property>
-                                                        <property name="fill">False</property>
-                                                        <property name="position">0</property>
-                                                      </packing>
-                                                    </child>
-                                                    <child>
-                                                      <widget class="GtkHBox" id="hbox15">
+                                                      <widget class="GtkHBox" id="hbox14">
                                                         <property name="visible">True</property>
-                                                        <property name="spacing">4</property>
                                                         <child>
-                                                          <widget class="GtkProgressBar" id="event_execute_progressbar_time">
-                                                            <property name="width_request">148</property>
-                                                            <property name="height_request">22</property>
+                                                          <widget class="GtkLabel" id="label251">
                                                             <property name="visible">True</property>
-                                                            <property name="pulse_step">0.10000000149</property>
+                                                            <property name="label" translatable="yes">Time</property>
                                                           </widget>
                                                           <packing>
-                                                            <property name="expand">False</property>
                                                             <property name="position">0</property>
                                                           </packing>
                                                         </child>
@@ -18670,7 +18679,16 @@ weight</property>
                                                         </child>
                                                       </widget>
                                                       <packing>
-                                                        <property name="expand">False</property>
+                                                        <property name="position">0</property>
+                                                      </packing>
+                                                    </child>
+                                                    <child>
+                                                      <widget class="GtkProgressBar" id="event_execute_progressbar_time">
+                                                        <property name="height_request">22</property>
+                                                        <property name="visible">True</property>
+                                                        <property name="pulse_step">0.10000000149</property>
+                                                      </widget>
+                                                      <packing>
                                                         <property name="position">1</property>
                                                       </packing>
                                                     </child>
@@ -18892,7 +18910,7 @@ weight</property>
                                         <child>
                                           <widget class="GtkVBox" id="vbox22">
                                             <property name="visible">True</property>
-                                            <property name="spacing">8</property>
+                                            <property name="spacing">10</property>
                                             <child>
                                               <widget class="GtkVBox" id="vbox26">
                                                 <property name="visible">True</property>
@@ -18902,7 +18920,6 @@ weight</property>
                                                     <child>
                                                       <widget class="GtkLabel" id="event_graph_label_graph_person">
                                                         <property name="visible">True</property>
-                                                        <property name="xalign">0</property>
                                                       </widget>
                                                       <packing>
                                                         <property name="position">0</property>
@@ -18911,7 +18928,6 @@ weight</property>
                                                     <child>
                                                       <widget class="GtkLabel" id="event_graph_label_graph_test">
                                                         <property name="visible">True</property>
-                                                        <property name="xalign">0</property>
                                                       </widget>
                                                       <packing>
                                                         <property name="position">1</property>
@@ -18924,12 +18940,19 @@ weight</property>
                                                   </packing>
                                                 </child>
                                                 <child>
-                                                  <widget class="GtkDrawingArea" id="event_execute_drawingarea">
-                                                    <property name="width_request">300</property>
-                                                    <property name="height_request">200</property>
+                                                  <widget class="GtkAspectFrame" id="aspectframe2">
                                                     <property name="visible">True</property>
-                                                    <signal name="expose_event" handler="on_event_execute_drawingarea_expose_event"/>
-                                                    <signal name="configure_event" handler="on_event_execute_drawingarea_configure_event"/>
+                                                    <property name="label_xalign">0</property>
+                                                    <property name="shadow_type">in</property>
+                                                    <child>
+                                                      <widget class="GtkDrawingArea" id="event_execute_drawingarea">
+                                                        <property name="width_request">300</property>
+                                                        <property name="height_request">200</property>
+                                                        <property name="visible">True</property>
+                                                        <signal name="expose_event" handler="on_event_execute_drawingarea_expose_event"/>
+                                                        <signal name="configure_event" handler="on_event_execute_drawingarea_configure_event"/>
+                                                      </widget>
+                                                    </child>
                                                   </widget>
                                                   <packing>
                                                     <property name="expand">False</property>
@@ -19003,6 +19026,7 @@ weight</property>
                                                     <property name="visible">True</property>
                                                     <property name="n_rows">2</property>
                                                     <property name="n_columns">2</property>
+                                                    <property name="row_spacing">4</property>
                                                     <child>
                                                       <widget class="GtkTable" id="event_execute_table_jump_simple_values">
                                                         <property name="visible">True</property>
@@ -19251,7 +19275,7 @@ weight</property>
                                                         <property name="n_rows">4</property>
                                                         <property name="n_columns">2</property>
                                                         <property name="column_spacing">4</property>
-                                                        <property name="row_spacing">2</property>
+                                                        <property name="row_spacing">4</property>
                                                         <child>
                                                           <widget class="GtkEventBox" id="event_execute_eventbox_jump_reactive_tc">
                                                             <property name="visible">True</property>
@@ -19502,7 +19526,7 @@ weight</property>
                                                         <property name="n_rows">4</property>
                                                         <property name="n_columns">2</property>
                                                         <property name="column_spacing">4</property>
-                                                        <property name="row_spacing">2</property>
+                                                        <property name="row_spacing">4</property>
                                                         <property name="homogeneous">True</property>
                                                         <child>
                                                           <widget class="GtkLabel" id="label267">
@@ -19616,7 +19640,6 @@ weight</property>
                                                         </child>
                                                       </widget>
                                                       <packing>
-                                                        <property name="expand">False</property>
                                                         <property name="position">1</property>
                                                       </packing>
                                                     </child>
@@ -19641,6 +19664,7 @@ weight</property>
                                                     <property name="visible">True</property>
                                                     <property name="n_rows">2</property>
                                                     <property name="n_columns">2</property>
+                                                    <property name="row_spacing">4</property>
                                                     <child>
                                                       <widget class="GtkHBox" id="event_execute_hbox_run_simple_titles">
                                                         <property name="visible">True</property>
@@ -19894,7 +19918,7 @@ weight</property>
                                                         <property name="n_rows">3</property>
                                                         <property name="n_columns">2</property>
                                                         <property name="column_spacing">4</property>
-                                                        <property name="row_spacing">2</property>
+                                                        <property name="row_spacing">4</property>
                                                         <child>
                                                           <widget class="GtkEventBox" id="event_execute_eventbox_run_interval_speed">
                                                             <property name="visible">True</property>
@@ -20045,7 +20069,7 @@ weight</property>
                                                         <property name="n_rows">3</property>
                                                         <property name="n_columns">2</property>
                                                         <property name="column_spacing">4</property>
-                                                        <property name="row_spacing">2</property>
+                                                        <property name="row_spacing">4</property>
                                                         <property name="homogeneous">True</property>
                                                         <child>
                                                           <widget class="GtkLabel" id="label305">
@@ -20131,7 +20155,6 @@ weight</property>
                                                         </child>
                                                       </widget>
                                                       <packing>
-                                                        <property name="expand">False</property>
                                                         <property name="position">1</property>
                                                       </packing>
                                                     </child>
@@ -20156,6 +20179,7 @@ weight</property>
                                                     <property name="visible">True</property>
                                                     <property name="n_rows">2</property>
                                                     <property name="n_columns">2</property>
+                                                    <property name="row_spacing">4</property>
                                                     <child>
                                                       <widget class="GtkHBox" id="event_execute_hbox_reaction_time_titles">
                                                         <property name="visible">True</property>
@@ -20331,7 +20355,7 @@ weight</property>
                                                         <property name="n_rows">2</property>
                                                         <property name="n_columns">2</property>
                                                         <property name="column_spacing">4</property>
-                                                        <property name="row_spacing">2</property>
+                                                        <property name="row_spacing">4</property>
                                                         <child>
                                                           <widget class="GtkLabel" id="label309">
                                                             <property name="visible">True</property>
@@ -20399,7 +20423,7 @@ weight</property>
                                                         <property name="n_rows">2</property>
                                                         <property name="n_columns">2</property>
                                                         <property name="column_spacing">4</property>
-                                                        <property name="row_spacing">2</property>
+                                                        <property name="row_spacing">4</property>
                                                         <property name="homogeneous">True</property>
                                                         <child>
                                                           <widget class="GtkLabel" id="label313">
@@ -20457,7 +20481,6 @@ weight</property>
                                                         </child>
                                                       </widget>
                                                       <packing>
-                                                        <property name="expand">False</property>
                                                         <property name="position">1</property>
                                                       </packing>
                                                     </child>
diff --git a/src/execute/event.cs b/src/execute/event.cs
index d3cc200..6d48b8f 100644
--- a/src/execute/event.cs
+++ b/src/execute/event.cs
@@ -61,13 +61,13 @@ public class EventExecute
 	protected bool needShowSyncMessage;
 
 	//instances with the info to create
-	protected PrepareEventGraphJumpSimple prepareEventGraphJumpSimple; 
-	protected PrepareEventGraphJumpReactive prepareEventGraphJumpReactive;
-	protected PrepareEventGraphRunSimple prepareEventGraphRunSimple;
-	protected PrepareEventGraphRunInterval prepareEventGraphRunInterval;
-	protected PrepareEventGraphPulse prepareEventGraphPulse;
-	protected PrepareEventGraphReactionTime prepareEventGraphReactionTime;
-	protected PrepareEventGraphMultiChronopic prepareEventGraphMultiChronopic;
+	public PrepareEventGraphJumpSimple PrepareEventGraphJumpSimpleObject; 
+	public PrepareEventGraphJumpReactive PrepareEventGraphJumpReactiveObject;
+	public PrepareEventGraphRunSimple PrepareEventGraphRunSimpleObject;
+	public PrepareEventGraphRunInterval PrepareEventGraphRunIntervalObject;
+	public PrepareEventGraphPulse PrepareEventGraphPulseObject;
+	public PrepareEventGraphReactionTime PrepareEventGraphReactionTimeObject;
+	public PrepareEventGraphMultiChronopic PrepareEventGraphMultiChronopicObject;
 	
 	protected bool needEndEvent;
 	
@@ -111,6 +111,7 @@ public class EventExecute
 	protected int timesForSavingRepetitive; //number of times that this repetive event needs for being recorded in temporal table
 
 	//for raise a signal and manage it on chronojump.cs
+	protected Gtk.Button fakeButtonUpdateGraph;
 	protected Gtk.Button fakeButtonFinished;
 	protected Gtk.Button fakeButtonEventEnded;
 	
@@ -439,72 +440,75 @@ public class EventExecute
 	}
 			
 	private void updateGraph() {
+		fakeButtonUpdateGraph.Click();
+	}
+
 		/*
 		 * TODO: decide where Prepare methods should be. maybe here?, then need to pass layout, pixmap, drawingarea, ...
 		switch(needUpdateGraphType) {
 			case eventType.JUMP:
 				Log.Write("update graph: JUMP");
 				app1.PrepareJumpSimpleGraph(
-						prepareEventGraphJumpSimple.tv, 
-						prepareEventGraphJumpSimple.tc);
+						PrepareEventGraphJumpSimpleObject.tv, 
+						PrepareEventGraphJumpSimpleObject.tc);
 				break;
 			case eventType.JUMPREACTIVE:
 				Log.Write("update graph: JUMPREACTIVE");
 				app1.PrepareJumpReactiveGraph(
-						prepareEventGraphJumpReactive.lastTv, 
-						prepareEventGraphJumpReactive.lastTc,
-						prepareEventGraphJumpReactive.tvString,
-						prepareEventGraphJumpReactive.tcString,
+						PrepareEventGraphJumpReactiveObject.lastTv, 
+						PrepareEventGraphJumpReactiveObject.lastTc,
+						PrepareEventGraphJumpReactiveObject.tvString,
+						PrepareEventGraphJumpReactiveObject.tcString,
 						volumeOn, repetitiveConditionsWin);
 				break;
 			case eventType.RUN:
 				Log.Write("update graph: RUN");
 				app1.PrepareRunSimpleGraph(
-						prepareEventGraphRunSimple.time, 
-						prepareEventGraphRunSimple.speed);
+						PrepareEventGraphRunSimpleObject.time, 
+						PrepareEventGraphRunSimpleObject.speed);
 				break;
 			case eventType.RUNINTERVAL:
 				Log.Write("update graph: RUNINTERVAL");
 				app1.PrepareRunIntervalGraph(
-						prepareEventGraphRunInterval.distance, 
-						prepareEventGraphRunInterval.lastTime,
-						prepareEventGraphRunInterval.timesString,
-						prepareEventGraphRunInterval.distanceTotal,
-						prepareEventGraphRunInterval.distancesString,
+						PrepareEventGraphRunIntervalObject.distance, 
+						PrepareEventGraphRunIntervalObject.lastTime,
+						PrepareEventGraphRunIntervalObject.timesString,
+						PrepareEventGraphRunIntervalObject.distanceTotal,
+						PrepareEventGraphRunIntervalObject.distancesString,
 						volumeOn, repetitiveConditionsWin);
 				break;
 			case eventType.PULSE:
 				Log.Write("update graph: PULSE");
 				app1.PreparePulseGraph(
-						prepareEventGraphPulse.lastTime, 
-						prepareEventGraphPulse.timesString);
+						PrepareEventGraphPulse.lastTime, 
+						PrepareEventGraphPulse.timesString);
 				break;
 			case eventType.REACTIONTIME:
 				Log.Write("update graph: REACTIONTIME");
 				app1.PrepareReactionTimeGraph(
-						prepareEventGraphReactionTime.time); 
+						PrepareEventGraphReactionTimeObject.time); 
 				break;
 			case eventType.MULTICHRONOPIC:
 				Log.Write("update graph: MULTICHRONOPIC");
 				app1.PrepareMultiChronopicGraph(
-						//prepareEventGraphMultiChronopic.timestamp, 
-						prepareEventGraphMultiChronopic.cp1StartedIn, 
-						prepareEventGraphMultiChronopic.cp2StartedIn, 
-						prepareEventGraphMultiChronopic.cp3StartedIn, 
-						prepareEventGraphMultiChronopic.cp4StartedIn, 
-						prepareEventGraphMultiChronopic.cp1InStr, 
-						prepareEventGraphMultiChronopic.cp1OutStr,
-						prepareEventGraphMultiChronopic.cp2InStr, 
-						prepareEventGraphMultiChronopic.cp2OutStr,
-						prepareEventGraphMultiChronopic.cp3InStr, 
-						prepareEventGraphMultiChronopic.cp3OutStr,
-						prepareEventGraphMultiChronopic.cp4InStr, 
-						prepareEventGraphMultiChronopic.cp4OutStr
+						//PrepareEventGraphMultiChronopicObject.timestamp, 
+						PrepareEventGraphMultiChronopicObject.cp1StartedIn, 
+						PrepareEventGraphMultiChronopicObject.cp2StartedIn, 
+						PrepareEventGraphMultiChronopicObject.cp3StartedIn, 
+						PrepareEventGraphMultiChronopicObject.cp4StartedIn, 
+						PrepareEventGraphMultiChronopicObject.cp1InStr, 
+						PrepareEventGraphMultiChronopicObject.cp1OutStr,
+						PrepareEventGraphMultiChronopicObject.cp2InStr, 
+						PrepareEventGraphMultiChronopicObject.cp2OutStr,
+						PrepareEventGraphMultiChronopicObject.cp3InStr, 
+						PrepareEventGraphMultiChronopicObject.cp3OutStr,
+						PrepareEventGraphMultiChronopicObject.cp4InStr, 
+						PrepareEventGraphMultiChronopicObject.cp4OutStr
 						);
 				break;
 		}
 		*/
-	}
+//	}
 	
 	protected virtual bool shouldFinishByTime() {
 		return true;
@@ -559,6 +563,10 @@ public class EventExecute
 		Console.WriteLine("at event.cs");
 	}
 			
+	public Gtk.Button FakeButtonUpdateGraph {
+		get { return fakeButtonUpdateGraph; }
+	}
+
 	public Gtk.Button FakeButtonFinished {
 		get { return fakeButtonFinished; }
 	}
diff --git a/src/execute/jump.cs b/src/execute/jump.cs
index 7f590fb..a1f6218 100644
--- a/src/execute/jump.cs
+++ b/src/execute/jump.cs
@@ -75,6 +75,7 @@ public class JumpExecute : EventExecute
 			hasFall = false;
 		}
 		
+		fakeButtonUpdateGraph = new Gtk.Button();
 		fakeButtonEventEnded = new Gtk.Button();
 		fakeButtonFinished = new Gtk.Button();
 		
@@ -403,7 +404,7 @@ Log.Write("wb ");
 		//event will be raised, and managed in chronojump.cs
 		fakeButtonFinished.Click();
 		
-		prepareEventGraphJumpSimple = new PrepareEventGraphJumpSimple(tv, tc);
+		PrepareEventGraphJumpSimpleObject = new PrepareEventGraphJumpSimple(tv, tc);
 		needUpdateGraphType = eventType.JUMP;
 		needUpdateGraph = true;
 		
@@ -502,6 +503,7 @@ public class JumpRjExecute : JumpExecute
 		if(TypeHasFall) { hasFall = true; } 
 		else { hasFall = false; }
 		
+		fakeButtonUpdateGraph = new Gtk.Button();
 		fakeButtonEventEnded = new Gtk.Button();
 		fakeButtonFinished = new Gtk.Button();
 		
@@ -679,7 +681,7 @@ public class JumpRjExecute : JumpExecute
 							needUpdateEventProgressBar = true;
 							
 							//update graph
-							prepareEventGraphJumpReactive = new PrepareEventGraphJumpReactive(lastTv, lastTc, tvString, tcString);
+							PrepareEventGraphJumpReactiveObject = new PrepareEventGraphJumpReactive(lastTv, lastTc, tvString, tcString);
 							needUpdateGraphType = eventType.JUMPREACTIVE;
 							needUpdateGraph = true;
 
@@ -722,7 +724,7 @@ public class JumpRjExecute : JumpExecute
 							needUpdateEventProgressBar = true;
 							
 							//update graph
-							prepareEventGraphJumpReactive = new PrepareEventGraphJumpReactive(lastTv, lastTc, tvString, tcString);
+							PrepareEventGraphJumpReactiveObject = new PrepareEventGraphJumpReactive(lastTv, lastTc, tvString, tcString);
 							needUpdateGraphType = eventType.JUMPREACTIVE;
 							needUpdateGraph = true;
 						}
@@ -880,7 +882,7 @@ public class JumpRjExecute : JumpExecute
 			}
 			if(deletedEvent) {
 				//update graph if a event was deleted
-				prepareEventGraphJumpReactive = new PrepareEventGraphJumpReactive(Util.GetLast(tvString), Util.GetLast(tcString), tvString, tcString);
+				PrepareEventGraphJumpReactiveObject = new PrepareEventGraphJumpReactive(Util.GetLast(tvString), Util.GetLast(tcString), tvString, tcString);
 				needUpdateGraphType = eventType.JUMPREACTIVE;
 				needUpdateGraph = true;
 
diff --git a/src/execute/multiChronopic.cs b/src/execute/multiChronopic.cs
index 936dcb7..04c1101 100644
--- a/src/execute/multiChronopic.cs
+++ b/src/execute/multiChronopic.cs
@@ -181,6 +181,7 @@ public class MultiChronopicExecute : EventExecute
 
 
 	private void initValues() {
+		fakeButtonUpdateGraph = new Gtk.Button();
 		fakeButtonEventEnded = new Gtk.Button();
 		fakeButtonFinished = new Gtk.Button();
 		simulated = false;
@@ -462,7 +463,7 @@ public class MultiChronopicExecute : EventExecute
 							}
 						}
 
-						prepareEventGraphMultiChronopic = new PrepareEventGraphMultiChronopic(
+						PrepareEventGraphMultiChronopicObject = new PrepareEventGraphMultiChronopic(
 								//timestamp/1000.0, 
 								cp1StartedIn, cp2StartedIn, cp3StartedIn, cp4StartedIn,
 								cp1InStr, cp1OutStr, cp2InStr, cp2OutStr, cp3InStr, cp3OutStr, cp4InStr, cp4OutStr);
diff --git a/src/execute/pulse.cs b/src/execute/pulse.cs
index 933c435..b86a51a 100644
--- a/src/execute/pulse.cs
+++ b/src/execute/pulse.cs
@@ -76,6 +76,7 @@ public class PulseExecute : EventExecute
 //		this.progressbarLimit = progressbarLimit;
 		this.egd = egd;
 	
+		fakeButtonUpdateGraph = new Gtk.Button();
 		fakeButtonEventEnded = new Gtk.Button();
 		fakeButtonFinished = new Gtk.Button();
 
@@ -223,7 +224,7 @@ public class PulseExecute : EventExecute
 
 								//update graph
 								//preparePulseGraph(timestamp/1000.0, timesString);
-								prepareEventGraphPulse = new PrepareEventGraphPulse(timestamp/1000.0, timesString);
+								PrepareEventGraphPulseObject = new PrepareEventGraphPulse(timestamp/1000.0, timesString);
 								needUpdateGraphType = eventType.PULSE;
 								needUpdateGraph = true;
 
@@ -259,7 +260,7 @@ public class PulseExecute : EventExecute
 
 								//update graph
 								//preparePulseGraph(timestamp/1000.0, timesString);
-								prepareEventGraphPulse = new PrepareEventGraphPulse(timestamp/1000.0, timesString);
+								PrepareEventGraphPulseObject = new PrepareEventGraphPulse(timestamp/1000.0, timesString);
 								needUpdateGraphType = eventType.PULSE;
 								needUpdateGraph = true;
 
@@ -354,7 +355,7 @@ public class PulseExecute : EventExecute
 		fakeButtonFinished.Click();
 		
 		//app1.PreparePulseGraph(Util.GetLast(timesString), timesString);
-		prepareEventGraphPulse = new PrepareEventGraphPulse(Util.GetLast(timesString), timesString);
+		PrepareEventGraphPulseObject = new PrepareEventGraphPulse(Util.GetLast(timesString), timesString);
 		needUpdateGraphType = eventType.PULSE;
 		needUpdateGraph = true;
 		needEndEvent = true; //used for hiding some buttons on eventWindow, and also for updateTimeProgressBar here
diff --git a/src/execute/reactionTime.cs b/src/execute/reactionTime.cs
index e690901..840fd65 100644
--- a/src/execute/reactionTime.cs
+++ b/src/execute/reactionTime.cs
@@ -58,6 +58,7 @@ public class ReactionTimeExecute : EventExecute
 		this.progressbarLimit = progressbarLimit;
 		this.egd = egd;
 	
+		fakeButtonUpdateGraph = new Gtk.Button();
 		fakeButtonEventEnded = new Gtk.Button();
 		fakeButtonFinished = new Gtk.Button();
 		
@@ -261,7 +262,7 @@ Log.Write("wb ");
 		fakeButtonFinished.Click();
 		
 		//app1.PrepareJumpSimpleGraph(tv, tc);
-		prepareEventGraphReactionTime = new PrepareEventGraphReactionTime(time);
+		PrepareEventGraphReactionTimeObject = new PrepareEventGraphReactionTime(time);
 		needUpdateGraphType = eventType.REACTIONTIME;
 		needUpdateGraph = true;
 		
diff --git a/src/execute/run.cs b/src/execute/run.cs
index 31919ee..103189b 100644
--- a/src/execute/run.cs
+++ b/src/execute/run.cs
@@ -68,6 +68,7 @@ public class RunExecute : EventExecute
 		this.progressbarLimit = progressbarLimit;
 		this.egd = egd;
 		
+		fakeButtonUpdateGraph = new Gtk.Button();
 		fakeButtonEventEnded = new Gtk.Button();
 		fakeButtonFinished = new Gtk.Button();
 
@@ -330,7 +331,7 @@ Log.WriteLine("MANAGE(3)!!!!");
 		fakeButtonFinished.Click();
 		
 		//app1.PrepareRunSimpleGraph(time, distance/time);
-		prepareEventGraphRunSimple = new PrepareEventGraphRunSimple(time, distance/time);
+		PrepareEventGraphRunSimpleObject = new PrepareEventGraphRunSimple(time, distance/time);
 		needUpdateGraphType = eventType.RUN;
 		needUpdateGraph = true;
 		
@@ -407,6 +408,7 @@ public class RunIntervalExecute : RunExecute
 		this.progressbarLimit = progressbarLimit;
 		this.egd = egd;
 	
+		fakeButtonUpdateGraph = new Gtk.Button();
 		fakeButtonEventEnded = new Gtk.Button();
 		fakeButtonFinished = new Gtk.Button();
 
@@ -494,7 +496,7 @@ public class RunIntervalExecute : RunExecute
 							distanceTotal = Util.GetRunITotalDistance(distanceInterval, distancesString, tracks);
 
 							//update graph
-							prepareEventGraphRunInterval = new PrepareEventGraphRunInterval(
+							PrepareEventGraphRunIntervalObject = new PrepareEventGraphRunInterval(
 									distanceIntervalFixed, myRaceTime, intervalTimesString, distanceTotal, distancesString);
 
 							needUpdateGraphType = eventType.RUNINTERVAL;
@@ -547,7 +549,7 @@ public class RunIntervalExecute : RunExecute
 								distanceTotal = Util.GetRunITotalDistance(distanceInterval, distancesString, tracks);
 							
 								//update graph
-								prepareEventGraphRunInterval = new PrepareEventGraphRunInterval(
+								PrepareEventGraphRunIntervalObject = new PrepareEventGraphRunInterval(
 										distanceIntervalFixed, myRaceTime, intervalTimesString, distanceTotal, distancesString);
 
 								needUpdateGraphType = eventType.RUNINTERVAL;
@@ -601,7 +603,7 @@ public class RunIntervalExecute : RunExecute
 								distanceTotal = Util.GetRunITotalDistance(distanceInterval, distancesString, tracks);
 							
 								//update graph
-								prepareEventGraphRunInterval = new PrepareEventGraphRunInterval(
+								PrepareEventGraphRunIntervalObject = new PrepareEventGraphRunInterval(
 										distanceIntervalFixed, myRaceTime, intervalTimesString, distanceTotal, distancesString);
 
 								needUpdateGraphType = eventType.RUNINTERVAL;
@@ -825,7 +827,7 @@ public class RunIntervalExecute : RunExecute
 			//event will be raised, and managed in chronojump.cs
 			fakeButtonFinished.Click();
 
-			prepareEventGraphRunInterval = new PrepareEventGraphRunInterval(
+			PrepareEventGraphRunIntervalObject = new PrepareEventGraphRunInterval(
 					distanceIntervalFixed, Util.GetLast(intervalTimesString), intervalTimesString, distanceTotal, distancesString);
 			needUpdateGraphType = eventType.RUNINTERVAL;
 			needUpdateGraph = true;
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index 7181e7a..2259c3d 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -328,6 +328,7 @@ public partial class ChronoJumpWindow
 
 	private static JumpType currentJumpType;
 	private static JumpType currentJumpRjType;
+	bool thisJumpIsSimple;	//needed on updating
 	bool lastJumpIsSimple;	//needed on update
 	private static RunType currentRunType;
 	private static RunType currentRunIntervalType;
@@ -2951,7 +2952,6 @@ Console.WriteLine("X");
 	//suitable for all jumps not repetitive
 	private void on_normal_jump_activate (object o, EventArgs args) 
 	{
-Log.WriteLine("a");
 		double jumpWeight = 0;
 		if(currentJumpType.HasWeight) {
 			if(extra_window_jumps_option == "%") 
@@ -2959,7 +2959,6 @@ Log.WriteLine("a");
 			else 
 				jumpWeight = Util.WeightFromKgToPercent(extra_window_jumps_weight, currentPersonSession.Weight);
 		}
-Log.WriteLine("b");
 		double myFall = 0;
 		if(currentJumpType.Name == Constants.TakeOffName || currentJumpType.Name == Constants.TakeOffWeightName)
 			myFall = 0;
@@ -2968,12 +2967,10 @@ Log.WriteLine("b");
 		}
 		
 			
-Log.WriteLine("c");
 		//used by cancel and finish
 		//currentEventType = new JumpType();
 		currentEventType = currentJumpType;
 			
-Log.WriteLine("d");
 		//hide jumping buttons
 		sensitiveGuiEventDoing();
 
@@ -2981,7 +2978,6 @@ Log.WriteLine("d");
 		//update, don't do this now, because it's buggy with currentJump on More
 		//notebooks_change(0);
 		
-Log.WriteLine("e");
 		//show the event doing window
 		double progressbarLimit = 3; //3 phases for show the Dj
 		if( currentJumpType.StartIn || 
@@ -2989,14 +2985,14 @@ Log.WriteLine("e");
 				currentJumpType.Name == Constants.TakeOffWeightName)
 			progressbarLimit = 2; //2 for normal jump (or take off)
 			
-Log.WriteLine("f");
 		//don't let update until test finishes
 		if(createdStatsWin)
 			statsWin.HideUpdateStatsButton();
 
-Log.WriteLine("g");
 		//eventExecuteWin = EventExecuteWindow.Show(
 		ExecutingGraphData egd = event_execute_initializeVariables(
+			currentPerson.UniqueID, 
+			currentPerson.Name, 
 //			Catalog.GetString("Execute Jump"), //windowTitle
 			Catalog.GetString("Phases"),  	  //name of the different moments
 //			currentPerson.UniqueID, currentPerson.Name, 
@@ -3008,39 +3004,35 @@ Log.WriteLine("g");
 //			chronopicWin.Connected
 			);
 
-Log.WriteLine("h");
 		//eventExecuteWin.ButtonCancel.Clicked += new EventHandler(on_cancel_clicked);
 		//eventExecuteWin.ButtonFinish.Clicked += new EventHandler(on_finish_clicked);
 		event_execute_ButtonCancel.Clicked += new EventHandler(on_cancel_clicked);
 		event_execute_ButtonFinish.Clicked += new EventHandler(on_finish_clicked);
 
-Log.WriteLine("i");
 		//when user clicks on update the eventExecute window 
 		//(for showing with his new confgured values: max, min and guides
 		event_execute_ButtonUpdate.Clicked -= new EventHandler(on_update_clicked); //if we don't do this, on_update_clicked it's called 'n' times when 'n' events are done
 		event_execute_ButtonUpdate.Clicked += new EventHandler(on_update_clicked);
 
-Log.WriteLine("j");
 		//currentEventExecute = new JumpExecute(eventExecuteWin, currentPerson.UniqueID, currentPerson.Name, 
 		currentEventExecute = new JumpExecute(currentPerson.UniqueID, currentPerson.Name, 
 				currentSession.UniqueID, currentJumpType.Name, myFall, jumpWeight,
 				chronopicWin.CP, appbar2, app1, prefsDigitsNumber, volumeOn,
 				progressbarLimit, egd);
 
-Log.WriteLine("k");
 		if (!chronopicWin.Connected) 
 			currentEventExecute.SimulateInitValues(rand);
 		
-Log.WriteLine("l");
 		if( currentJumpType.StartIn ) 
 			currentEventExecute.Manage();
 		 else 
 			currentEventExecute.ManageFall();
-
-Log.WriteLine("m");
+		
+		thisJumpIsSimple = true; //used by: on_event_execute_update_graph_in_progress_clicked
+		currentEventExecute.FakeButtonUpdateGraph.Clicked += 
+			new EventHandler(on_event_execute_update_graph_in_progress_clicked);
 		currentEventExecute.FakeButtonEventEnded.Clicked += new EventHandler(on_event_execute_EventEnded);
 		currentEventExecute.FakeButtonFinished.Clicked += new EventHandler(on_jump_finished);
-Log.WriteLine("n");
 	}	
 
 	
@@ -3136,6 +3128,8 @@ Log.WriteLine("n");
 		//show the event doing window
 		//eventExecuteWin = EventExecuteWindow.Show(
 		ExecutingGraphData egd = event_execute_initializeVariables(
+			currentPerson.UniqueID, 
+			currentPerson.Name, 
 //			Catalog.GetString("Execute Reactive Jump"), //windowTitle
 			Catalog.GetString("Jumps"),  	  //name of the different moments
 //			currentPerson.UniqueID, currentPerson.Name, 
@@ -3170,6 +3164,10 @@ Log.WriteLine("n");
 			currentEventExecute.SimulateInitValues(rand);
 		
 		currentEventExecute.Manage();
+		
+		thisJumpIsSimple = false; //used by: on_event_execute_update_graph_in_progress_clicked
+		currentEventExecute.FakeButtonUpdateGraph.Clicked += 
+			new EventHandler(on_event_execute_update_graph_in_progress_clicked);
 		currentEventExecute.FakeButtonEventEnded.Clicked += new EventHandler(on_event_execute_EventEnded);
 		currentEventExecute.FakeButtonFinished.Clicked += new EventHandler(on_jump_rj_finished);
 	}
@@ -3379,6 +3377,8 @@ Log.WriteLine("n");
 
 		//eventExecuteWin = EventExecuteWindow.Show(
 		ExecutingGraphData egd = event_execute_initializeVariables(
+			currentPerson.UniqueID, 
+			currentPerson.Name, 
 //			Catalog.GetString("Execute Run"), //windowTitle
 			Catalog.GetString("Phases"),  	  //name of the different moments
 //			currentPerson.UniqueID, currentPerson.Name, 
@@ -3588,6 +3588,8 @@ Log.WriteLine("n");
 		//show the event doing window
 		//eventExecuteWin = EventExecuteWindow.Show(
 		ExecutingGraphData egd = event_execute_initializeVariables(
+			currentPerson.UniqueID, 
+			currentPerson.Name, 
 		//	Catalog.GetString("Execute Intervallic Run"), //windowTitle
 			Catalog.GetString("Tracks"),  	  //name of the different moments
 //			currentPerson.UniqueID, currentPerson.Name, 
@@ -3720,6 +3722,8 @@ Log.WriteLine("n");
 
 		//eventExecuteWin = EventExecuteWindow.Show(
 		ExecutingGraphData egd = event_execute_initializeVariables(
+			currentPerson.UniqueID, 
+			currentPerson.Name, 
 //			Catalog.GetString("Execute Jump"), //windowTitle
 //			Catalog.GetString("Execute Reaction Time"), //windowTitle
 			Catalog.GetString("Phases"),  	  //name of the different moments
@@ -3885,6 +3889,8 @@ Log.WriteLine("n");
 		//show the event doing window
 //		eventExecuteWin = EventExecuteWindow.Show(
 		ExecutingGraphData egd = event_execute_initializeVariables(
+			currentPerson.UniqueID, 
+			currentPerson.Name, 
 //			Catalog.GetString("Execute Pulse"), //windowTitle
 			Catalog.GetString("Pulses"),  	  //name of the different moments
 //			currentPerson.UniqueID, currentPerson.Name, 
@@ -4060,6 +4066,8 @@ Log.WriteLine("n");
 		//show the event doing window
 		//eventExecuteWin = EventExecuteWindow.Show(
 		ExecutingGraphData egd = event_execute_initializeVariables(
+			currentPerson.UniqueID, 
+			currentPerson.Name, 
 //			Catalog.GetString("Execute Multi Chronopic"), //windowTitle
 			Catalog.GetString("Changes"),  	  //name of the different moments
 //			currentPerson.UniqueID, currentPerson.Name, 
diff --git a/src/gui/chronopic.cs b/src/gui/chronopic.cs
index 917e5c9..bef3250 100644
--- a/src/gui/chronopic.cs
+++ b/src/gui/chronopic.cs
@@ -462,13 +462,15 @@ public class ChronopicWindow
 		}
 		if(! success) {
 			returnString = Catalog.GetString("Problems communicating to chronopic.");
-			if(currentCp == 1) 
+			if(currentCp == 1) {
 				returnString += " " + Catalog.GetString("Changed platform to 'Simulated'");
-			if(isWindows) {
-				returnString += Catalog.GetString("\n\nOn Windows we recommend to remove and connect USB or serial cable from the computer after every unsuccessful port test.");
-				returnString += Catalog.GetString("\n... And after cancelling Chronopic detection.");
-				//returnString += Catalog.GetString("\n\n... Later, when you close Chronojump it will probably get frozen. If this happens, let's press CTRL+C on the black screen.");
+				returnString += Catalog.GetString("\n\nWe recommend to remove and connect USB cable.");
 			}
+			//if(isWindows) {
+				//returnString += Catalog.GetString("\n\nOn Windows we recommend to remove and connect USB or serial cable from the computer after every unsuccessful port test.");
+				//returnString += Catalog.GetString("\n... And after cancelling Chronopic detection.");
+				//returnString += Catalog.GetString("\n\n... Later, when you close Chronojump it will probably get frozen. If this happens, let's press CTRL+C on the black screen.");
+			//}
 
 			//this will raise on_radiobutton_simulated_ativate and 
 			//will put cpRunning to false, and simulated to true and cp.Close()
diff --git a/src/gui/eventExecute.cs b/src/gui/eventExecute.cs
index 7c34054..b9798dd 100644
--- a/src/gui/eventExecute.cs
+++ b/src/gui/eventExecute.cs
@@ -39,6 +39,8 @@ public partial class ChronoJumpWindow
 //	[Widget] Gtk.Label event_execute_label_event_type;
 	[Widget] Gtk.Label event_execute_label_phases_name;
 	[Widget] Gtk.Label event_execute_label_sync_message;
+	[Widget] Gtk.Label event_graph_label_graph_person;
+	[Widget] Gtk.Label event_graph_label_graph_test;
 	
 	[Widget] Gtk.ProgressBar event_execute_progressbar_event;
 	[Widget] Gtk.ProgressBar event_execute_progressbar_time;
@@ -144,8 +146,9 @@ public partial class ChronoJumpWindow
 	//[Widget] Gtk.HBox hbox_capture;
 
 
-	//int personID;	
-	//int sessionID;	
+	int event_execute_personID;	
+	//int sessionID;
+	//string event_execute_personName;	
 	string event_execute_tableName;	
 	string event_execute_eventType;	
 	
@@ -228,8 +231,10 @@ public partial class ChronoJumpWindow
 	*/
 
 	ExecutingGraphData event_execute_initializeVariables (
+			int personID,
+			string personName,
 			string phasesName, 
-			string event_execute_tableName,
+			string tableName,
 			string event_execute_eventType
 //			double event_execute_limit
 			) 
@@ -243,14 +248,19 @@ public partial class ChronoJumpWindow
 		}
 
 		event_execute_configureColors();
+	
+		event_graph_label_graph_person.Text = personName;
+		event_graph_label_graph_test.Text = event_execute_eventType;
 
 
 //		event_execute.Title = windowTitle;
+		//this.event_execute_personName.Text = event_execute_personName; 	//"Jumps" (rjInterval), "Runs" (runInterval), "Ticks" (pulses), 
 		this.event_execute_label_phases_name.Text = phasesName; 	//"Jumps" (rjInterval), "Runs" (runInterval), "Ticks" (pulses), 
 								//"Phases" (simple jumps, dj, simple runs)
 //		this.personID = personID;
+		this.event_execute_personID = personID;
 //		this.event_execute_label_person.Text = personName;
-		this.event_execute_tableName = event_execute_tableName;
+		this.event_execute_tableName = tableName;
 //		this.sessionID = sessionID;
 
 		this.event_execute_eventType = event_execute_eventType;
@@ -590,17 +600,17 @@ public partial class ChronoJumpWindow
 
 		
 		//obtain data
-		string []jumps = SqliteJump.SelectJumps(currentSession.UniqueID, currentPerson.UniqueID, "", event_execute_eventType);
+		string []jumps = SqliteJump.SelectJumps(currentSession.UniqueID, event_execute_personID, "", event_execute_eventType);
 
 Log.WriteLine("Preparing simple A");
-		double tvPersonAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, currentPerson.UniqueID, event_execute_tableName, event_execute_eventType, "TV");
+		double tvPersonAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, event_execute_personID, event_execute_tableName, event_execute_eventType, "TV");
 		double tvSessionAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, -1, event_execute_tableName, event_execute_eventType, "TV");
 Log.WriteLine("Preparing simple B");
 
 		double tcPersonAVG = 0; 
 		double tcSessionAVG = 0; 
 		if(tc > 0) {
-			tcPersonAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, currentPerson.UniqueID, event_execute_tableName, event_execute_eventType, "TC");
+			tcPersonAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, event_execute_personID, event_execute_tableName, event_execute_eventType, "TC");
 			tcSessionAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, -1, event_execute_tableName, event_execute_eventType, "TC");
 		}
 		
@@ -749,19 +759,19 @@ Log.WriteLine("Preparing reactive A");
 			paintTime = true;
 		
 		//obtain data
-		string [] runs = SqliteRun.SelectRuns(currentSession.UniqueID, currentPerson.UniqueID, event_execute_eventType);
+		string [] runs = SqliteRun.SelectRuns(currentSession.UniqueID, event_execute_personID, event_execute_eventType);
 
-		double timePersonAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, currentPerson.UniqueID, event_execute_tableName, event_execute_eventType, "time");
+		double timePersonAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, event_execute_personID, event_execute_tableName, event_execute_eventType, "time");
 		double timeSessionAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, -1, event_execute_tableName, event_execute_eventType, "time");
 
-		//double distancePersonAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, currentPerson.UniqueID, event_execute_tableName, event_execute_eventType, "distance");
+		//double distancePersonAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, event_execute_personID, event_execute_tableName, event_execute_eventType, "distance");
 		//double distanceSessionAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, -1, event_execute_tableName, event_execute_eventType, "distance");
 		//better to know speed like:
 		//SELECT AVG(distance/time) from run; than 
 		//SELECT AVG(distance) / SELECT AVG(time) 
 		//first is ok, because is the speed AVG
 		//2nd is not good because it tries to do an AVG of all distances and times
-		double speedPersonAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, currentPerson.UniqueID, event_execute_tableName, event_execute_eventType, "distance/time");
+		double speedPersonAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, event_execute_personID, event_execute_tableName, event_execute_eventType, "distance/time");
 		double speedSessionAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, -1, event_execute_tableName, event_execute_eventType, "distance/time");
 
 		double maxValue = 0;
@@ -941,9 +951,9 @@ Log.WriteLine("Preparing reactive A");
 
 		
 		//obtain data
-		string [] rts = SqliteReactionTime.SelectReactionTimes(currentSession.UniqueID, currentPerson.UniqueID);
+		string [] rts = SqliteReactionTime.SelectReactionTimes(currentSession.UniqueID, event_execute_personID);
 
-		double timePersonAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, currentPerson.UniqueID, event_execute_tableName, event_execute_eventType, "time");
+		double timePersonAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, event_execute_personID, event_execute_tableName, event_execute_eventType, "time");
 		double timeSessionAVG = SqliteSession.SelectAVGEventsOfAType(currentSession.UniqueID, -1, event_execute_tableName, event_execute_eventType, "time");
 
 		double maxValue = 0;
@@ -1795,8 +1805,30 @@ Log.WriteLine("Preparing reactive A");
 		event_execute_label_message2.UseMarkup = true;
 	}
 	*/
+			
+	private void on_event_execute_update_graph_in_progress_clicked(object o, EventArgs args) {
+		switch (currentEventType.Type) {
+			case EventType.Types.JUMP:
+				if(thisJumpIsSimple) {
+					Log.Write("update graph: JUMP");
+					PrepareJumpSimpleGraph(
+							currentEventExecute.PrepareEventGraphJumpSimpleObject.tv, 
+							currentEventExecute.PrepareEventGraphJumpSimpleObject.tc);
+				} else {
+					Log.Write("update graph: JUMPREACTIVE");
+					PrepareJumpReactiveGraph(
+							currentEventExecute.PrepareEventGraphJumpReactiveObject.lastTv, 
+							currentEventExecute.PrepareEventGraphJumpReactiveObject.lastTc,
+							currentEventExecute.PrepareEventGraphJumpReactiveObject.tvString,
+							currentEventExecute.PrepareEventGraphJumpReactiveObject.tcString,
+							volumeOn, repetitiveConditionsWin);
+				}
+				break;
+		}
+
+	}
 	
-	public void on_event_execute_EventEnded(object o, EventArgs args) {
+	private void on_event_execute_EventEnded(object o, EventArgs args) {
 		hideButtons();
 		eventHasEnded = true;
 		
diff --git a/src/gui/usefulObjects.cs b/src/gui/usefulObjects.cs
index 57a1059..f5259bb 100644
--- a/src/gui/usefulObjects.cs
+++ b/src/gui/usefulObjects.cs
@@ -22,7 +22,7 @@ using System;
 using System.Data;
 using Gtk;
 
-//only to easy pass data
+//this file has classes to allow to pass gui objectes easily
 public class ExecutingGraphData
 {
 	public Gtk.Button Button_cancel;
@@ -55,3 +55,143 @@ public class ExecutingGraphData
 	public ExecutingGraphData() {
 	}
 }	
+
+public class PrepareEventGraphJumpSimple {
+	public double tv;
+	public double tc;
+
+	public PrepareEventGraphJumpSimple() {
+	}
+
+	public PrepareEventGraphJumpSimple(double tv, double tc) {
+		this.tv = tv;
+		this.tc = tc;
+	}
+
+	~PrepareEventGraphJumpSimple() {}
+}
+
+public class PrepareEventGraphJumpReactive {
+	public double lastTv;
+	public double lastTc;
+	public string tvString;
+	public string tcString;
+
+	public PrepareEventGraphJumpReactive() {
+	}
+
+	public PrepareEventGraphJumpReactive(double lastTv, double lastTc, string tvString, string tcString) {
+		this.lastTv = lastTv;
+		this.lastTc = lastTc;
+		this.tvString = tvString;
+		this.tcString = tcString;
+	}
+
+	~PrepareEventGraphJumpReactive() {}
+}
+
+public class PrepareEventGraphRunSimple {
+	public double time;
+	public double speed;
+
+	public PrepareEventGraphRunSimple() {
+	}
+
+	public PrepareEventGraphRunSimple(double time, double speed) {
+		this.time = time;
+		this.speed = speed;
+	}
+
+	~PrepareEventGraphRunSimple() {}
+}
+
+public class PrepareEventGraphRunInterval {
+	public double distance;
+	public double lastTime;
+	public string timesString;
+	public double distanceTotal; //we pass this because it's dificult to calculate in runs with variable distances
+	public string distancesString; //we pass this because it's dificult to calculate in runs with variable distances
+
+	public PrepareEventGraphRunInterval() {
+	}
+
+	public PrepareEventGraphRunInterval(double distance, double lastTime, string timesString, double distanceTotal, string distancesString) {
+		this.distance = distance;
+		this.lastTime = lastTime;
+		this.timesString = timesString;
+		this.distanceTotal = distanceTotal;
+		this.distancesString = distancesString;
+	}
+
+	~PrepareEventGraphRunInterval() {}
+}
+
+public class PrepareEventGraphPulse {
+	public double lastTime;
+	public string timesString;
+
+	public PrepareEventGraphPulse() {
+	}
+
+	public PrepareEventGraphPulse(double lastTime, string timesString) {
+		this.lastTime = lastTime;
+		this.timesString = timesString;
+	}
+
+	~PrepareEventGraphPulse() {}
+}
+
+public class PrepareEventGraphReactionTime {
+	public double time;
+
+	public PrepareEventGraphReactionTime() {
+	}
+
+	public PrepareEventGraphReactionTime(double time) {
+		this.time = time;
+	}
+
+	~PrepareEventGraphReactionTime() {}
+}
+
+public class PrepareEventGraphMultiChronopic {
+	//public double timestamp;
+	public string cp1InStr;
+	public string cp1OutStr;
+	public string cp2InStr;
+	public string cp2OutStr;
+	public string cp3InStr;
+	public string cp3OutStr;
+	public string cp4InStr;
+	public string cp4OutStr;
+	public bool cp1StartedIn;
+	public bool cp2StartedIn;
+	public bool cp3StartedIn;
+	public bool cp4StartedIn;
+
+	public PrepareEventGraphMultiChronopic() {
+	}
+
+	public PrepareEventGraphMultiChronopic(
+			//double timestamp, 
+			bool cp1StartedIn, bool cp2StartedIn, bool cp3StartedIn, bool cp4StartedIn,
+			string cp1InStr, string cp1OutStr, string cp2InStr, string cp2OutStr, 
+			string cp3InStr, string cp3OutStr, string cp4InStr, string cp4OutStr) {
+		//this.timestamp = timestamp;
+		this.cp1StartedIn = cp1StartedIn; 
+		this.cp2StartedIn = cp2StartedIn; 
+		this.cp3StartedIn = cp3StartedIn; 
+		this.cp4StartedIn = cp4StartedIn;
+		this.cp1InStr = cp1InStr;
+		this.cp1OutStr = cp1OutStr;
+		this.cp2InStr = cp2InStr;
+		this.cp2OutStr = cp2OutStr;
+		this.cp3InStr = cp3InStr;
+		this.cp3OutStr = cp3OutStr;
+		this.cp4InStr = cp4InStr;
+		this.cp4OutStr = cp4OutStr;
+	}
+
+	~PrepareEventGraphMultiChronopic() {}
+}
+
diff --git a/src/prepareEventGraphObjects.cs b/src/prepareEventGraphObjects.cs
index 389c5da..e394274 100644
--- a/src/prepareEventGraphObjects.cs
+++ b/src/prepareEventGraphObjects.cs
@@ -24,142 +24,3 @@
  * PulseGTK has to call this graph creation
  */
 
-public class PrepareEventGraphJumpSimple {
-	public double tv;
-	public double tc;
-
-	public PrepareEventGraphJumpSimple() {
-	}
-
-	public PrepareEventGraphJumpSimple(double tv, double tc) {
-		this.tv = tv;
-		this.tc = tc;
-	}
-
-	~PrepareEventGraphJumpSimple() {}
-}
-
-public class PrepareEventGraphJumpReactive {
-	public double lastTv;
-	public double lastTc;
-	public string tvString;
-	public string tcString;
-
-	public PrepareEventGraphJumpReactive() {
-	}
-
-	public PrepareEventGraphJumpReactive(double lastTv, double lastTc, string tvString, string tcString) {
-		this.lastTv = lastTv;
-		this.lastTc = lastTc;
-		this.tvString = tvString;
-		this.tcString = tcString;
-	}
-
-	~PrepareEventGraphJumpReactive() {}
-}
-
-public class PrepareEventGraphRunSimple {
-	public double time;
-	public double speed;
-
-	public PrepareEventGraphRunSimple() {
-	}
-
-	public PrepareEventGraphRunSimple(double time, double speed) {
-		this.time = time;
-		this.speed = speed;
-	}
-
-	~PrepareEventGraphRunSimple() {}
-}
-
-public class PrepareEventGraphRunInterval {
-	public double distance;
-	public double lastTime;
-	public string timesString;
-	public double distanceTotal; //we pass this because it's dificult to calculate in runs with variable distances
-	public string distancesString; //we pass this because it's dificult to calculate in runs with variable distances
-
-	public PrepareEventGraphRunInterval() {
-	}
-
-	public PrepareEventGraphRunInterval(double distance, double lastTime, string timesString, double distanceTotal, string distancesString) {
-		this.distance = distance;
-		this.lastTime = lastTime;
-		this.timesString = timesString;
-		this.distanceTotal = distanceTotal;
-		this.distancesString = distancesString;
-	}
-
-	~PrepareEventGraphRunInterval() {}
-}
-
-public class PrepareEventGraphPulse {
-	public double lastTime;
-	public string timesString;
-
-	public PrepareEventGraphPulse() {
-	}
-
-	public PrepareEventGraphPulse(double lastTime, string timesString) {
-		this.lastTime = lastTime;
-		this.timesString = timesString;
-	}
-
-	~PrepareEventGraphPulse() {}
-}
-
-public class PrepareEventGraphReactionTime {
-	public double time;
-
-	public PrepareEventGraphReactionTime() {
-	}
-
-	public PrepareEventGraphReactionTime(double time) {
-		this.time = time;
-	}
-
-	~PrepareEventGraphReactionTime() {}
-}
-
-public class PrepareEventGraphMultiChronopic {
-	//public double timestamp;
-	public string cp1InStr;
-	public string cp1OutStr;
-	public string cp2InStr;
-	public string cp2OutStr;
-	public string cp3InStr;
-	public string cp3OutStr;
-	public string cp4InStr;
-	public string cp4OutStr;
-	public bool cp1StartedIn;
-	public bool cp2StartedIn;
-	public bool cp3StartedIn;
-	public bool cp4StartedIn;
-
-	public PrepareEventGraphMultiChronopic() {
-	}
-
-	public PrepareEventGraphMultiChronopic(
-			//double timestamp, 
-			bool cp1StartedIn, bool cp2StartedIn, bool cp3StartedIn, bool cp4StartedIn,
-			string cp1InStr, string cp1OutStr, string cp2InStr, string cp2OutStr, 
-			string cp3InStr, string cp3OutStr, string cp4InStr, string cp4OutStr) {
-		//this.timestamp = timestamp;
-		this.cp1StartedIn = cp1StartedIn; 
-		this.cp2StartedIn = cp2StartedIn; 
-		this.cp3StartedIn = cp3StartedIn; 
-		this.cp4StartedIn = cp4StartedIn;
-		this.cp1InStr = cp1InStr;
-		this.cp1OutStr = cp1OutStr;
-		this.cp2InStr = cp2InStr;
-		this.cp2OutStr = cp2OutStr;
-		this.cp3InStr = cp3InStr;
-		this.cp3OutStr = cp3OutStr;
-		this.cp4InStr = cp4InStr;
-		this.cp4OutStr = cp4OutStr;
-	}
-
-	~PrepareEventGraphMultiChronopic() {}
-}
-



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