chronojump r472 - in trunk: . build/data glade images images/mini src src/execute src/gui src/sqlite web/data/langs/_es/Pages web/html_created_no_edit/print



Author: xaviblas
Date: Fri Mar 20 09:08:11 2009
New Revision: 472
URL: http://svn.gnome.org/viewvc/chronojump?rev=472&view=rev

Log:
0.8.2.8
db 0.67
done takeoff, added in db, created images

RunAnalysis done (only remains to export, report ok)
db 0.66

Added a pulsebar (activity) on upload session
 	
improved running at graphs. Improved margaria graph
	
Better thread on pinging at start


Added:
   trunk/images/mini/take_off.png   (contents, props changed)
   trunk/images/take_off.png   (contents, props changed)
Modified:
   trunk/Makefile
   trunk/build/data/chronojump.prg
   trunk/build/data/chronojump_mini.prg
   trunk/build/data/version.txt
   trunk/changelog.txt
   trunk/glade/chronojump.glade
   trunk/images/margaria.png
   trunk/images/mini/margaria.png
   trunk/images/mini/run_interval.png
   trunk/images/mini/run_simple.png
   trunk/images/run_interval.png
   trunk/images/run_simple.png
   trunk/src/chronojump.cs
   trunk/src/constants.cs
   trunk/src/execute/jump.cs
   trunk/src/gui/chronojump.cs
   trunk/src/gui/event.cs
   trunk/src/gui/eventExecute.cs
   trunk/src/gui/jump.cs
   trunk/src/gui/run.cs
   trunk/src/gui/server.cs
   trunk/src/jumpType.cs
   trunk/src/server.cs
   trunk/src/sqlite/jumpType.cs
   trunk/src/sqlite/main.cs
   trunk/src/treeViewJump.cs
   trunk/src/util.cs
   trunk/version.txt
   trunk/web/data/langs/_es/Pages/construction_contact_platform
   trunk/web/data/langs/_es/Pages/construction_modular_circuit_platform
   trunk/web/html_created_no_edit/print/construction_contact_platform_es.html

Modified: trunk/Makefile
==============================================================================
--- trunk/Makefile	(original)
+++ trunk/Makefile	Fri Mar 20 09:08:11 2009
@@ -73,6 +73,7 @@
 		-resource:images/pulse_free.png,pulse_free.png 			-resource:images/mini/pulse_free.png,mini/pulse_free.png \
 		-resource:images/pulse_custom.png,pulse_custom.png		-resource:images/mini/pulse_custom.png,mini/pulse_custom.png \
 		-resource:images/mtgug.png,mtgug.png				-resource:images/mini/mtgug.png,mini/mtgug.png \
+		-resource:images/take_off.png,take_off.png			-resource:images/mini/take_off.png,mini/take_off.png \
 		-resource:images/chronopic1.jpg,chronopic1.jpg			-resource:images/mini/chronopic1.jpg,mini/chronopic1.jpg \
 		-resource:images/chronopic2.jpg,chronopic2.jpg			-resource:images/mini/chronopic2.jpg,mini/chronopic2.jpg \
 		-resource:images/chronopic3.jpg,chronopic3.jpg			-resource:images/mini/chronopic3.jpg,mini/chronopic3.jpg \

Modified: trunk/build/data/chronojump.prg
==============================================================================
Binary files. No diff available.

Modified: trunk/build/data/chronojump_mini.prg
==============================================================================
Binary files. No diff available.

Modified: trunk/build/data/version.txt
==============================================================================
--- trunk/build/data/version.txt	(original)
+++ trunk/build/data/version.txt	Fri Mar 20 09:08:11 2009
@@ -1 +1 @@
-0.8.2.7
+0.8.2.8

Modified: trunk/changelog.txt
==============================================================================
--- trunk/changelog.txt	(original)
+++ trunk/changelog.txt	Fri Mar 20 09:08:11 2009
@@ -2,8 +2,8 @@
 
 Add Cabedo's tests
 
-add a link to the server page. Develop web stats and survey on web site. Maybe done by R script and calling
-to database
+add a link to the server page. Develop web stats and survey on web site. Maybe
+done by R script and calling to database
 http://cran.r-project.org/web/packages/RSQLite/index.html
 http://cran.r-project.org/web/packages/RSQLite/INSTALL
 http://cran.r-project.org/web/packages/DBI/index.html
@@ -12,6 +12,56 @@
 
 do the ping gets real IP
 
+put thread in other server situations:
+-upload evaluator
+-upload session
+
+do the graph of last jump plot values of jumps before
+(maybe show last jumps of this kind on different people, and the avg of this
+user and all users (this two in different color))
+
+http://en.csharp-online.net/ASP.NET_Security_Hacks¿Avoiding_SQL_Injection
+http://ferruh.mavituna.com/sql-injection-cheatsheet-oku/
+every string that gets on server or complex object, sanitize it: see on sql or
+c# books. Or look for ; and after alter, insert, delete, drop, update, ...
+(low and hight case)
+i think there will be no problems because all is parametrized
+
+Fix bug on thread sqlite at start (see png at Desktop)
+
+Put pictures and description of runAnalysis. Do svn add, Makefile, ...
+
+
+intersession stats only have to show one max or avg, not n max or all jumps
+
+stats all and limit is not updating the treeview stats. 
+
+
+two chronopics in chronojump
+
+when person weight is updated, description of eg. margaria (with power)
+doesn't change. Should change or use another thing. Recreate all time in
+session.... also same when edit jump.
+Maybe is better to don't have it (the power) recorded at any place but generate when it's
+required
+
+in execution graph put avgs as horizontal lines
+and plot all tests of same type of same person
+
+
+19 mar 2009
+        0.8.2.8
+        db 0.67
+	done takeoff, added in db, created images
+
+        RunAnalysis done (only remains to export, report ok)
+        db 0.66
+
+	Added a pulsebar (activity) on upload session
+ 	
+	improved running at graphs. Improved margaria graph
+	
+	Better thread on pinging at start
 
 10 mar 2009
 	0.8.2.7

Modified: trunk/glade/chronojump.glade
==============================================================================
--- trunk/glade/chronojump.glade	(original)
+++ trunk/glade/chronojump.glade	Fri Mar 20 09:08:11 2009
@@ -8487,7 +8487,7 @@
 		      <signal name="activate" handler="on_new_activate" last_modification_time="Wed, 22 Sep 2004 23:55:11 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4031">
+			<widget class="GtkImage" id="image4171">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-new</property>
 			  <property name="icon_size">1</property>
@@ -8508,7 +8508,7 @@
 		      <signal name="activate" handler="on_open_activate" last_modification_time="Wed, 22 Sep 2004 23:55:11 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4032">
+			<widget class="GtkImage" id="image4172">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-open</property>
 			  <property name="icon_size">1</property>
@@ -8529,7 +8529,7 @@
 		      <signal name="activate" handler="on_edit_session_activate" last_modification_time="Tue, 26 Jul 2005 19:12:07 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4033">
+			<widget class="GtkImage" id="image4173">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-edit</property>
 			  <property name="icon_size">1</property>
@@ -8551,7 +8551,7 @@
 		      <signal name="activate" handler="on_delete_session_activate" last_modification_time="Thu, 28 Jul 2005 13:37:42 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4034">
+			<widget class="GtkImage" id="image4174">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-remove</property>
 			  <property name="icon_size">1</property>
@@ -8579,7 +8579,7 @@
 		      <signal name="activate" handler="on_export_session_activate" last_modification_time="Sat, 12 Feb 2005 21:57:07 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4035">
+			<widget class="GtkImage" id="image4175">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-convert</property>
 			  <property name="icon_size">1</property>
@@ -8614,7 +8614,7 @@
 		      <property name="use_underline">True</property>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4036">
+			<widget class="GtkImage" id="image4176">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-connect</property>
 			  <property name="icon_size">1</property>
@@ -8682,7 +8682,7 @@
 		      <signal name="activate" handler="on_preferences_activate" last_modification_time="Mon, 04 Oct 2004 19:19:19 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4037">
+			<widget class="GtkImage" id="image4177">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-preferences</property>
 			  <property name="icon_size">1</property>
@@ -8709,7 +8709,7 @@
 		      <signal name="activate" handler="on_quit1_activate" last_modification_time="Wed, 22 Sep 2004 23:17:31 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4038">
+			<widget class="GtkImage" id="image4178">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-quit</property>
 			  <property name="icon_size">1</property>
@@ -8743,7 +8743,7 @@
 		      <signal name="activate" handler="on_person_add_single_activate" last_modification_time="Thu, 18 Aug 2005 23:07:39 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4039">
+			<widget class="GtkImage" id="image4179">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-new</property>
 			  <property name="icon_size">1</property>
@@ -8764,7 +8764,7 @@
 		      <signal name="activate" handler="on_person_add_multiple_activate" last_modification_time="Thu, 18 Aug 2005 23:01:23 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4040">
+			<widget class="GtkImage" id="image4180">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-new</property>
 			  <property name="icon_size">1</property>
@@ -8791,7 +8791,7 @@
 		      <signal name="activate" handler="on_recuperate_person_activate" last_modification_time="Sun, 12 Dec 2004 00:40:31 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4041">
+			<widget class="GtkImage" id="image4181">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-open</property>
 			  <property name="icon_size">1</property>
@@ -8812,7 +8812,7 @@
 		      <signal name="activate" handler="on_recuperate_persons_from_session_activate" last_modification_time="Tue, 26 Jul 2005 19:12:07 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4042">
+			<widget class="GtkImage" id="image4182">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-open</property>
 			  <property name="icon_size">1</property>
@@ -8839,7 +8839,7 @@
 		      <signal name="activate" handler="on_edit_current_person_clicked" last_modification_time="Sun, 17 Oct 2004 11:43:33 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4043">
+			<widget class="GtkImage" id="image4183">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-edit</property>
 			  <property name="icon_size">1</property>
@@ -8860,7 +8860,7 @@
 		      <signal name="activate" handler="on_show_all_person_events_activate" last_modification_time="Mon, 29 Aug 2005 09:51:24 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4044">
+			<widget class="GtkImage" id="image4184">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-index</property>
 			  <property name="icon_size">1</property>
@@ -8887,7 +8887,7 @@
 		      <signal name="activate" handler="on_delete_current_person_from_session_activate" last_modification_time="Thu, 28 Jul 2005 15:49:38 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4045">
+			<widget class="GtkImage" id="image4185">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-remove</property>
 			  <property name="icon_size">1</property>
@@ -8992,6 +8992,21 @@
 			  </child>
 
 			  <child>
+			    <widget class="GtkMenuItem" id="menuitem_take_off">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Take Off</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_normal_jump_activate" last_modification_time="Thu, 19 Mar 2009 19:02:53 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkSeparatorMenuItem" id="separador21">
+			      <property name="visible">True</property>
+			    </widget>
+			  </child>
+
+			  <child>
 			    <widget class="GtkImageMenuItem" id="more_simple_jumps">
 			      <property name="visible">True</property>
 			      <property name="label" translatable="yes">More simple jumps</property>
@@ -8999,7 +9014,7 @@
 			      <signal name="activate" handler="on_button_more_clicked" last_modification_time="Thu, 10 Mar 2005 18:52:25 GMT"/>
 
 			      <child internal-child="image">
-				<widget class="GtkImage" id="image4046">
+				<widget class="GtkImage" id="image4186">
 				  <property name="visible">True</property>
 				  <property name="stock">gtk-add</property>
 				  <property name="icon_size">1</property>
@@ -9024,7 +9039,7 @@
 		      <signal name="activate" handler="on_edit_selected_jump_clicked" last_modification_time="Sun, 17 Oct 2004 11:47:42 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4047">
+			<widget class="GtkImage" id="image4187">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-edit</property>
 			  <property name="icon_size">1</property>
@@ -9045,7 +9060,7 @@
 		      <signal name="activate" handler="on_delete_selected_jump_clicked" last_modification_time="Tue, 19 Oct 2004 11:54:17 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4048">
+			<widget class="GtkImage" id="image4188">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-remove</property>
 			  <property name="icon_size">1</property>
@@ -9104,6 +9119,30 @@
 			  </child>
 
 			  <child>
+			    <widget class="GtkMenuItem" id="menuitem_hexagon">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Hexagon</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_rj_activate" last_modification_time="Tue, 17 Mar 2009 13:11:03 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkMenuItem" id="menuitem_run_analysis">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Run analysis</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_rj_activate" last_modification_time="Tue, 17 Mar 2009 13:11:03 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkSeparatorMenuItem" id="separador20">
+			      <property name="visible">True</property>
+			    </widget>
+			  </child>
+
+			  <child>
 			    <widget class="GtkImageMenuItem" id="more_rj">
 			      <property name="visible">True</property>
 			      <property name="label" translatable="yes">More reactive jumps</property>
@@ -9111,7 +9150,7 @@
 			      <signal name="activate" handler="on_button_more_rj_clicked" last_modification_time="Fri, 11 Mar 2005 14:45:23 GMT"/>
 
 			      <child internal-child="image">
-				<widget class="GtkImage" id="image4049">
+				<widget class="GtkImage" id="image4189">
 				  <property name="visible">True</property>
 				  <property name="stock">gtk-add</property>
 				  <property name="icon_size">1</property>
@@ -9136,7 +9175,7 @@
 		      <signal name="activate" handler="on_edit_selected_jump_rj_clicked" last_modification_time="Sun, 07 Nov 2004 17:37:37 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4050">
+			<widget class="GtkImage" id="image4190">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-edit</property>
 			  <property name="icon_size">1</property>
@@ -9157,7 +9196,7 @@
 		      <signal name="activate" handler="on_repair_selected_reactive_jump_clicked" last_modification_time="Wed, 07 Dec 2005 01:14:11 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4051">
+			<widget class="GtkImage" id="image4191">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-preferences</property>
 			  <property name="icon_size">1</property>
@@ -9178,7 +9217,7 @@
 		      <signal name="activate" handler="on_delete_selected_jump_rj_clicked" last_modification_time="Sun, 07 Nov 2004 17:37:37 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4052">
+			<widget class="GtkImage" id="image4192">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-remove</property>
 			  <property name="icon_size">1</property>
@@ -9205,7 +9244,7 @@
 		      <signal name="activate" handler="on_jump_type_add_activate" last_modification_time="Thu, 10 Mar 2005 18:52:25 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4053">
+			<widget class="GtkImage" id="image4193">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-new</property>
 			  <property name="icon_size">1</property>
@@ -9359,7 +9398,7 @@
 			      <signal name="activate" handler="on_button_run_more_clicked" last_modification_time="Fri, 22 Apr 2005 14:37:06 GMT"/>
 
 			      <child internal-child="image">
-				<widget class="GtkImage" id="image4054">
+				<widget class="GtkImage" id="image4194">
 				  <property name="visible">True</property>
 				  <property name="stock">gtk-add</property>
 				  <property name="icon_size">1</property>
@@ -9384,7 +9423,7 @@
 		      <signal name="activate" handler="on_edit_selected_run_clicked" last_modification_time="Fri, 22 Apr 2005 14:34:58 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4055">
+			<widget class="GtkImage" id="image4195">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-edit</property>
 			  <property name="icon_size">1</property>
@@ -9405,7 +9444,7 @@
 		      <signal name="activate" handler="on_delete_selected_run_clicked" last_modification_time="Fri, 22 Apr 2005 14:34:58 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4056">
+			<widget class="GtkImage" id="image4196">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-remove</property>
 			  <property name="icon_size">1</property>
@@ -9473,6 +9512,12 @@
 			  </child>
 
 			  <child>
+			    <widget class="GtkSeparatorMenuItem" id="separador19">
+			      <property name="visible">True</property>
+			    </widget>
+			  </child>
+
+			  <child>
 			    <widget class="GtkImageMenuItem" id="more_interval_runs">
 			      <property name="visible">True</property>
 			      <property name="label" translatable="yes">More intervallic runs</property>
@@ -9480,7 +9525,7 @@
 			      <signal name="activate" handler="on_button_run_interval_more_clicked" last_modification_time="Tue, 16 Aug 2005 01:18:41 GMT"/>
 
 			      <child internal-child="image">
-				<widget class="GtkImage" id="image4057">
+				<widget class="GtkImage" id="image4197">
 				  <property name="visible">True</property>
 				  <property name="stock">gtk-add</property>
 				  <property name="icon_size">1</property>
@@ -9505,7 +9550,7 @@
 		      <signal name="activate" handler="on_edit_selected_run_interval_clicked" last_modification_time="Tue, 16 Aug 2005 12:33:39 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4058">
+			<widget class="GtkImage" id="image4198">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-edit</property>
 			  <property name="icon_size">1</property>
@@ -9526,7 +9571,7 @@
 		      <signal name="activate" handler="on_repair_selected_run_interval_clicked" last_modification_time="Wed, 03 May 2006 15:15:38 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4059">
+			<widget class="GtkImage" id="image4199">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-preferences</property>
 			  <property name="icon_size">1</property>
@@ -9547,7 +9592,7 @@
 		      <signal name="activate" handler="on_delete_selected_run_interval_clicked" last_modification_time="Tue, 16 Aug 2005 12:33:39 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4060">
+			<widget class="GtkImage" id="image4200">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-remove</property>
 			  <property name="icon_size">1</property>
@@ -9574,7 +9619,7 @@
 		      <signal name="activate" handler="on_run_type_add_activate" last_modification_time="Fri, 22 Apr 2005 14:34:58 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4061">
+			<widget class="GtkImage" id="image4201">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-new</property>
 			  <property name="icon_size">1</property>
@@ -9654,7 +9699,7 @@
 		      <signal name="activate" handler="on_menuitem_view_stats_activate" last_modification_time="Tue, 26 Jul 2005 23:54:29 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4062">
+			<widget class="GtkImage" id="image4202">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-refresh</property>
 			  <property name="icon_size">1</property>
@@ -9675,7 +9720,7 @@
 		      <signal name="activate" handler="on_show_report_activate" last_modification_time="Tue, 06 Sep 2005 09:10:32 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4063">
+			<widget class="GtkImage" id="image4203">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-refresh</property>
 			  <property name="icon_size">1</property>
@@ -9743,7 +9788,7 @@
 		      <signal name="activate" handler="on_menuitem_manual_activate" last_modification_time="Wed, 03 Oct 2007 23:31:41 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4064">
+			<widget class="GtkImage" id="image4204">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-info</property>
 			  <property name="icon_size">1</property>
@@ -9779,7 +9824,7 @@
 		      <signal name="activate" handler="on_about1_activate" last_modification_time="Wed, 22 Sep 2004 23:17:31 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4065">
+			<widget class="GtkImage" id="image4205">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-about</property>
 			  <property name="icon_size">1</property>
@@ -9806,7 +9851,7 @@
 		      <signal name="activate" handler="on_debug_crash_activate" last_modification_time="Thu, 23 Oct 2008 22:57:02 GMT"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4066">
+			<widget class="GtkImage" id="image4206">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-dialog-error</property>
 			  <property name="icon_size">1</property>
@@ -10383,6 +10428,25 @@
 					  </child>
 
 					  <child>
+					    <widget class="GtkButton" id="button_take_off">
+					      <property name="visible">True</property>
+					      <property name="tooltip" translatable="yes">Only first contact time is recorded</property>
+					      <property name="can_focus">True</property>
+					      <property name="label">TakeOff</property>
+					      <property name="use_underline">True</property>
+					      <property name="relief">GTK_RELIEF_NORMAL</property>
+					      <property name="focus_on_click">True</property>
+					      <signal name="clicked" handler="on_normal_jump_activate" last_modification_time="Sat, 02 Oct 2004 20:21:23 GMT"/>
+					      <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 19:40:46 GMT"/>
+					    </widget>
+					    <packing>
+					      <property name="padding">0</property>
+					      <property name="expand">False</property>
+					      <property name="fill">False</property>
+					    </packing>
+					  </child>
+
+					  <child>
 					    <widget class="GtkAlignment" id="alignment_jump_more">
 					      <property name="visible">True</property>
 					      <property name="xalign">0.5</property>
@@ -10807,7 +10871,6 @@
 					  <child>
 					    <widget class="GtkButton" id="button_rj_hexagon">
 					      <property name="visible">True</property>
-					      <property name="tooltip" translatable="yes">Reactive Jump unlimited (until finish button is clicked)</property>
 					      <property name="can_focus">True</property>
 					      <property name="label" translatable="yes">Hexagon</property>
 					      <property name="use_underline">True</property>
@@ -10824,6 +10887,24 @@
 					  </child>
 
 					  <child>
+					    <widget class="GtkButton" id="button_run_analysis">
+					      <property name="visible">True</property>
+					      <property name="can_focus">True</property>
+					      <property name="label" translatable="yes">Run analysis</property>
+					      <property name="use_underline">True</property>
+					      <property name="relief">GTK_RELIEF_NORMAL</property>
+					      <property name="focus_on_click">True</property>
+					      <signal name="clicked" handler="on_rj_activate" last_modification_time="Tue, 17 Mar 2009 13:07:59 GMT"/>
+					      <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:57:33 GMT"/>
+					    </widget>
+					    <packing>
+					      <property name="padding">0</property>
+					      <property name="expand">False</property>
+					      <property name="fill">False</property>
+					    </packing>
+					  </child>
+
+					  <child>
 					    <widget class="GtkAlignment" id="alignment_more_rj">
 					      <property name="visible">True</property>
 					      <property name="xalign">0.5</property>
@@ -25106,6 +25187,21 @@
 	  </child>
 
 	  <child>
+	    <widget class="GtkProgressBar" id="pulsebar">
+	      <property name="visible">True</property>
+	      <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
+	      <property name="fraction">0</property>
+	      <property name="pulse_step">0.10000000149</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
+
+	  <child>
 	    <widget class="GtkProgressBar" id="progressbar">
 	      <property name="visible">True</property>
 	      <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>

Modified: trunk/images/margaria.png
==============================================================================
Binary files. No diff available.

Modified: trunk/images/mini/margaria.png
==============================================================================
Binary files. No diff available.

Modified: trunk/images/mini/run_interval.png
==============================================================================
Binary files. No diff available.

Modified: trunk/images/mini/run_simple.png
==============================================================================
Binary files. No diff available.

Added: trunk/images/mini/take_off.png
==============================================================================
Binary file. No diff available.

Modified: trunk/images/run_interval.png
==============================================================================
Binary files. No diff available.

Modified: trunk/images/run_simple.png
==============================================================================
Binary files. No diff available.

Added: trunk/images/take_off.png
==============================================================================
Binary file. No diff available.

Modified: trunk/src/chronojump.cs
==============================================================================
--- trunk/src/chronojump.cs	(original)
+++ trunk/src/chronojump.cs	Fri Mar 20 09:08:11 2009
@@ -106,7 +106,8 @@
 
 	//variables to manage the ping thread
 	string versionAvailable;
-	bool pinging;
+	bool pingStart;
+	bool pingEnd;
 	bool pulseGTKPingShouldEnd;
 
 	protected void sqliteThings () {
@@ -246,13 +247,19 @@
 
 		//connect to server to Ping
 		versionAvailable = "";
-		pinging = false;
+		pingStart = false;
+		pingEnd = false;
 			
 		thread = new Thread(new ThreadStart(findVersion));
 		GLib.Idle.Add (new GLib.IdleHandler (PulseGTKPing));
 		thread.Start(); 
 
-		while(pinging) {
+		//wait until pinging process start
+		while(! pingStart) {
+		}
+
+		//wait until pinging ends (or it's cancelled)
+		while(! pingEnd) {
 		}
 
 		string versionAvailableKnown = SqlitePreferences.Select("versionAvailable");
@@ -295,7 +302,7 @@
 	}
 
 	private void findVersion() {
-		pinging = true;
+		pingStart = true;
 		pulseGTKPingShouldEnd = false;
 		splashShowButton = true;
 		
@@ -305,14 +312,14 @@
 		
 		splashShowButton = false;
 		Console.Write(" version:  " + versionAvailable);
-		pinging = false;
+		pingEnd = true;
 	}
 		
 	private void on_find_version_cancelled(object o, EventArgs args) {
 		splashShowButton = false;
 		pulseGTKPingShouldEnd = true;
 		versionAvailable = Constants.ServerOffline;
-		pinging = false;
+		pingEnd = true;
 	}
 
 	protected void readMessageToStart() {
@@ -386,10 +393,10 @@
 	
 	protected bool PulseGTK ()
 	{
-		if( ( needEndSplashWin && ! pinging) 
+		if( ( needEndSplashWin && pingEnd ) 
 				|| ! thread.IsAlive) {
 			fakeSplashButton.Click();
-			Log.Write("splash window dying here");
+			Log.Write("splash window ending here");
 			return false;
 		}
 		//need to do this, if not it crashes because chronopicWin gets died by thread ending

Modified: trunk/src/constants.cs
==============================================================================
--- trunk/src/constants.cs	(original)
+++ trunk/src/constants.cs	Fri Mar 20 09:08:11 2009
@@ -94,7 +94,7 @@
 	
 	public const string ChronometerCp1 = "Chronopic1";
 	public const string ChronometerCp2 = "Chronopic2";
-	public const string ChronometerCp3 = "Chronopic3";
+	public const string ChronometerCp3 = "Chronopic32";
 	public static string [] Chronometers = {
 		UndefinedDefault, 
 		ChronometerCp1,
@@ -113,6 +113,10 @@
 	};
 	
 	
+	public static string RunAnalysisName = "RunAnalysis"; //Josep Ma PadullÃs test
+	public static string TakeOffName = "TakeOff"; //translate (take off?)
+	public static string TakeOffWeightName = "TakeOffWeight"; //translate (take off?)
+
 
 
 /*	OLD, check this

Modified: trunk/src/execute/jump.cs
==============================================================================
--- trunk/src/execute/jump.cs	(original)
+++ trunk/src/execute/jump.cs	Fri Mar 20 09:08:11 2009
@@ -291,6 +291,14 @@
 						//record the TC
 						tc = timestamp / 1000.0;
 						
+						//takeOff jump (only one TC)
+						//if(fixedValue == 0.5) {
+						if(type == Constants.TakeOffName || type == Constants.TakeOffWeightName) {
+							tv = 0;
+							write ();
+							success = true;
+						}
+
 						//update event progressbar
 Log.Write("w7 ");			
 						//eventExecuteWin.ProgressBarEventOrTimePreExecution(
@@ -380,7 +388,6 @@
 		//event will be raised, and managed in chronojump.cs
 		fakeButtonFinished.Click();
 		
-		//eventExecuteWin.PrepareJumpSimpleGraph(tv, tc);
 		prepareEventGraphJumpSimple = new PrepareEventGraphJumpSimple(tv, tc);
 		needUpdateGraphType = eventType.JUMP;
 		needUpdateGraph = true;
@@ -905,6 +912,28 @@
 			}
 		}
 
+		if(type == Constants.RunAnalysisName) {
+			double speed = (fall /10) / Util.GetTotalTime(tcString, tvString);
+	
+	/*		
+			string tcStringWithoutFirst = Util.DeleteFirstSubEvent(tcString);
+			string tvStringWithoutFirst = Util.DeleteFirstSubEvent(tvString);
+		
+			double averagePlatformTimes = ( Util.GetAverage(tcStringWithoutFirst) + Util.GetAverage(tvStringWithoutFirst) ) / 2;
+			double freq = 1 / averagePlatformTimes;
+
+			//amplitud
+			double range = speed / freq;
+			
+			//don't put "=" because can appear problems in different parts of the code
+			description = 
+				Catalog.GetString ("AVG speed") + "->" + Util.TrimDecimals(speed.ToString(), pDN) + "m/s, " +
+				Catalog.GetString ("AVG frequencies") + "->" + Util.TrimDecimals(freq.ToString(), pDN) + "Hz, " +
+				Catalog.GetString ("AVG range") + "->" + Util.TrimDecimals(range.ToString(), pDN) + "m.";
+				*/
+		}
+
+
 		if(tempTable) 
 			SqliteJumpRj.Insert(false, Constants.TempJumpRjTable, "NULL", personID, sessionID, 
 					type, Util.GetMax(tvString), Util.GetMax(tcString), 

Modified: trunk/src/gui/chronojump.cs
==============================================================================
--- trunk/src/gui/chronojump.cs	(original)
+++ trunk/src/gui/chronojump.cs	Fri Mar 20 09:08:11 2009
@@ -104,6 +104,7 @@
 	[Widget] Gtk.Button button_abk;
 	[Widget] Gtk.Button button_dj;
 	[Widget] Gtk.Button button_rocket;
+	[Widget] Gtk.Button button_take_off;
 	[Widget] Gtk.Button button_more;
 	[Widget] Gtk.Button button_rj_j;
 	[Widget] Gtk.Button button_rj_t;
@@ -123,6 +124,7 @@
 	[Widget] Gtk.Button button_run_interval_by_laps;
 	[Widget] Gtk.Button button_run_interval_by_time;
 	[Widget] Gtk.Button button_run_interval_unlimited;
+	[Widget] Gtk.Button button_run_analysis;
 	[Widget] Gtk.Button button_run_interval_mtgug;
 	[Widget] Gtk.Button button_reaction_time_execute;
 	[Widget] Gtk.Button button_pulse_free;
@@ -155,6 +157,7 @@
 	[Widget] Gtk.MenuItem abk;
 	[Widget] Gtk.MenuItem dj;
 	[Widget] Gtk.MenuItem menuitem_jump_rocket;
+	[Widget] Gtk.MenuItem menuitem_take_off;
 	[Widget] Gtk.MenuItem more_simple_jumps;
 	[Widget] Gtk.MenuItem more_rj;
 	[Widget] Gtk.MenuItem menuitem_jump_type_add;
@@ -177,6 +180,7 @@
 	[Widget] Gtk.MenuItem menuitem_run_interval_by_time;
 	[Widget] Gtk.MenuItem menuitem_run_interval_unlimited;
 	[Widget] Gtk.MenuItem menuitem_run_interval_mtgug;
+	[Widget] Gtk.MenuItem menuitem_run_analysis;
 
 	[Widget] Gtk.Button button_edit_current_person;
 	[Widget] Gtk.MenuItem menuitem_edit_current_person;
@@ -2400,6 +2404,8 @@
 			currentEventType = new JumpType("DJ");
 		} else 	if(o == (object) button_rocket) {
 			currentEventType = new JumpType("Rocket");
+		} else 	if(o == (object) button_take_off) {
+			currentEventType = new JumpType(Constants.TakeOffName);
 		//jumpRJ
 		} else 	if(o == (object) button_rj_j) {
 			currentEventType = new JumpType("RJ(j)");
@@ -2441,6 +2447,7 @@
 			currentEventType = new RunType("byTime");
 		} else 	if(o == (object) button_run_interval_unlimited) {
 			currentEventType = new RunType("unlimited");
+//TODO: RunAnalysis
 		} else 	if(o == (object) button_run_interval_mtgug) {
 			currentEventType = new RunType("MTGUG");
 		//reactionTime
@@ -2601,9 +2608,11 @@
 			currentJumpType = new JumpType("ABK");
 		} else if (o == (object) button_rocket || o == (object) menuitem_jump_rocket) {
 			currentJumpType = new JumpType("Rocket");
+		} else if (o == (object) button_take_off || o == (object) menuitem_take_off) {
+			currentJumpType = new JumpType(Constants.TakeOffName);
 		} else {
 		}
-		
+	
 		changeTestImage(EventType.Types.JUMP.ToString(), currentJumpType.Name, currentJumpType.ImageFileName);
 			
 		double jumpWeight = 0;
@@ -2616,7 +2625,9 @@
 			}
 		}
 		int myFall = 0;
-		if( ! currentJumpType.StartIn ) {
+		if(currentJumpType.Name == Constants.TakeOffName || currentJumpType.Name == Constants.TakeOffWeightName)
+			myFall = 0;
+		else if( ! currentJumpType.StartIn) {
 			myFall = jumpExtraWin.Fall;
 		}
 			
@@ -2632,8 +2643,10 @@
 		
 		//show the event doing window
 		double myLimit = 3; //3 phases for show the Dj
-		if( currentJumpType.StartIn )
-			myLimit = 2; //2 for normal jump
+		if( currentJumpType.StartIn || 
+				currentJumpType.Name == Constants.TakeOffName || 
+				currentJumpType.Name == Constants.TakeOffWeightName)
+			myLimit = 2; //2 for normal jump (or take off)
 			
 		//don't let update until test finishes
 		if(createdStatsWin)
@@ -2785,6 +2798,16 @@
 
 			//in this jump type, don't ask for limit of jumps or seconds
 			on_rj_accepted(o, args);
+		} else if(o == (object) button_run_analysis || o == (object) menuitem_run_analysis) 
+		{
+			//ATTENTION: run analysis is considered a reactive jump
+			//because all tc and tf's have to be recorded
+			currentJumpType = new JumpType(Constants.RunAnalysisName);
+
+			//on_rj_accepted(o, args);
+			//need to ask for horizontal distance between photocells
+			jumpExtraWin = JumpExtraWindow.Show(app1, currentJumpType);
+			jumpExtraWin.Button_accept.Clicked += new EventHandler(on_rj_accepted);
 		}
 	}
 	private void on_rj_accepted (object o, EventArgs args) 
@@ -2815,10 +2838,9 @@
 			}
 		}
 		int myFall = 0;
-		if( ! currentJumpType.StartIn ) {
+		if( ! currentJumpType.StartIn || currentJumpType.Name	== Constants.RunAnalysisName)
 			myFall = jumpExtraWin.Fall;
-		}
-
+			
 		//used by cancel and finish
 		//currentEventType = new JumpType();
 		currentEventType = currentJumpType;

Modified: trunk/src/gui/event.cs
==============================================================================
--- trunk/src/gui/event.cs	(original)
+++ trunk/src/gui/event.cs	Fri Mar 20 09:08:11 2009
@@ -264,7 +264,7 @@
 		 */
 	}
 
-	protected void fillTv(Event myEvent) {
+	protected virtual void fillTv(Event myEvent) {
 		Jump myJump = (Jump) myEvent;
 		entryTv = myJump.Tv.ToString();
 
@@ -409,6 +409,13 @@
 	private void on_entry_description_changed (object o, EventArgs args) {
 		entry_description.Text = Util.RemoveTildeAndColonAndDot(entry_description.Text.ToString());
 	}
+	
+	protected virtual void on_radio_mtgug_1_toggled(object o, EventArgs args) { }
+	protected virtual void on_radio_mtgug_2_toggled(object o, EventArgs args) { }
+	protected virtual void on_radio_mtgug_3_toggled(object o, EventArgs args) { }
+	protected virtual void on_radio_mtgug_4_toggled(object o, EventArgs args) { }
+	protected virtual void on_radio_mtgug_5_toggled(object o, EventArgs args) { }
+	protected virtual void on_radio_mtgug_6_toggled(object o, EventArgs args) { }
 
 	protected virtual void on_button_cancel_clicked (object o, EventArgs args)
 	{

Modified: trunk/src/gui/eventExecute.cs
==============================================================================
--- trunk/src/gui/eventExecute.cs	(original)
+++ trunk/src/gui/eventExecute.cs	Fri Mar 20 09:08:11 2009
@@ -917,9 +917,12 @@
 			}
 		
 			//blue for TF
-			pixmap.DrawLine(pen_azul, ancho*1/6 +10, alto, ancho*1/6 +10, calculatePaintHeight(tvNow, alto, maxValue, minValue, topMargin, bottomMargin));
-			pixmap.DrawLine(pen_azul, ancho*3/6 +10, alto, ancho*3/6 +10, calculatePaintHeight(tvPerson, alto, maxValue, minValue, topMargin, bottomMargin));
-			pixmap.DrawLine(pen_azul, ancho*5/6 +10, alto, ancho*5/6 +10, calculatePaintHeight(tvSession, alto, maxValue, minValue, topMargin, bottomMargin));
+			//check it's not a take off
+			if(tvNow > 0) {
+				pixmap.DrawLine(pen_azul, ancho*1/6 +10, alto, ancho*1/6 +10, calculatePaintHeight(tvNow, alto, maxValue, minValue, topMargin, bottomMargin));
+				pixmap.DrawLine(pen_azul, ancho*3/6 +10, alto, ancho*3/6 +10, calculatePaintHeight(tvPerson, alto, maxValue, minValue, topMargin, bottomMargin));
+				pixmap.DrawLine(pen_azul, ancho*5/6 +10, alto, ancho*5/6 +10, calculatePaintHeight(tvSession, alto, maxValue, minValue, topMargin, bottomMargin));
+			}
 			
 			//circles
 			if(eventGraphConfigureWin.PaintCircle) {
@@ -928,9 +931,12 @@
 					pixmap.DrawArc(pen_rojo, true, ancho*3/6 - radio/2 + arcSystemCorrection, calculatePaintHeight(tcPerson, alto, maxValue, minValue, topMargin, bottomMargin) -radio/2, radio , radio, 0, 360*64);
 					pixmap.DrawArc(pen_rojo, true, ancho*5/6 - radio/2 + arcSystemCorrection, calculatePaintHeight(tcSession, alto, maxValue, minValue, topMargin, bottomMargin) -radio/2, radio , radio, 0, 360*64);
 				}
-				pixmap.DrawArc(pen_azul, true, ancho*1/6 +10 - radio/2 + arcSystemCorrection, calculatePaintHeight(tvNow, alto, maxValue, minValue, topMargin, bottomMargin) -radio/2, radio , radio, 0, 360*64);
-				pixmap.DrawArc(pen_azul, true, ancho*3/6 +10 - radio/2 + arcSystemCorrection, calculatePaintHeight(tvPerson, alto, maxValue, minValue, topMargin, bottomMargin) -radio/2, radio , radio, 0, 360*64);
-				pixmap.DrawArc(pen_azul, true, ancho*5/6 +10 - radio/2 + arcSystemCorrection, calculatePaintHeight(tvSession, alto, maxValue, minValue, topMargin, bottomMargin) -radio/2, radio , radio, 0, 360*64);
+				//check it's not a take off
+				if(tvNow > 0) {
+					pixmap.DrawArc(pen_azul, true, ancho*1/6 +10 - radio/2 + arcSystemCorrection, calculatePaintHeight(tvNow, alto, maxValue, minValue, topMargin, bottomMargin) -radio/2, radio , radio, 0, 360*64);
+					pixmap.DrawArc(pen_azul, true, ancho*3/6 +10 - radio/2 + arcSystemCorrection, calculatePaintHeight(tvPerson, alto, maxValue, minValue, topMargin, bottomMargin) -radio/2, radio , radio, 0, 360*64);
+					pixmap.DrawArc(pen_azul, true, ancho*5/6 +10 - radio/2 + arcSystemCorrection, calculatePaintHeight(tvSession, alto, maxValue, minValue, topMargin, bottomMargin) -radio/2, radio , radio, 0, 360*64);
+				}
 			}	
 			
 	
@@ -1426,7 +1432,6 @@
 					//progressbar.Text = "";
 					label_value.Text = "";
 				else 
-					//progressbar.Text = Math.Round(events,3).ToString() + " / " + limit.ToString();
 					label_value.Text = Math.Round(events,3).ToString();
 			} else {
 				//activity mode

Modified: trunk/src/gui/jump.cs
==============================================================================
--- trunk/src/gui/jump.cs	(original)
+++ trunk/src/gui/jump.cs	Fri Mar 20 09:08:11 2009
@@ -109,6 +109,20 @@
 		return myTypes;
 	}
 
+	protected override void fillTv(Event myEvent) {
+		Jump myJump = (Jump) myEvent;
+		entryTv = myJump.Tv.ToString();
+
+		//show all the decimals for not triming there in edit window using
+		//(and having different values in formulae like GetHeightInCm ...)
+		//entry_tv_value.Text = Util.TrimDecimals(entryTv, pDN);
+		entry_tv_value.Text = entryTv;
+	
+		//hide tv if it's only a takeoff	
+		if(myEvent.Type == Constants.TakeOffName || myEvent.Type == Constants.TakeOffWeightName) 
+			entry_tv_value.Sensitive = false;
+	}
+
 	protected override void fillTc (Event myEvent) {
 		//on normal jumps fills Tc and Fall
 		Jump myJump = (Jump) myEvent;
@@ -170,6 +184,14 @@
 		//if the distance of the new runType is fixed, put this distance
 		//if not conserve the old
 		JumpType myJumpType = new JumpType (UtilGtk.ComboGetActive(combo_eventType));
+
+		if(myJumpType.Name == Constants.TakeOffName || myJumpType.Name == Constants.TakeOffWeightName) {
+			entry_tv_value.Text = "0";
+			entry_tv_value.Sensitive = false;
+		} else 
+			entry_tv_value.Sensitive = true;
+
+
 		if(myJumpType.HasWeight) {
 			if(weightOldStore != "0")
 				entry_weight_value.Text = weightOldStore;
@@ -762,6 +784,10 @@
 	[Widget] Gtk.Label label_weight;
 	[Widget] Gtk.Label label_fall;
 	[Widget] Gtk.Label label_cm;
+	
+	//for RunAnalysis
+	//but will be used and recorded with "fall"
+	static int distance;
 
 	static string option = "Kg";
 	static double limited = 10;
@@ -788,6 +814,23 @@
 			JumpExtraWindowBox = new JumpExtraWindow (parent);
 		}
 		
+		if(myJumpType.Name == Constants.RunAnalysisName) {
+			hideRepetitiveData();	
+			hideWeightData();	
+			distance = 100; //100cm
+			
+			JumpExtraWindowBox.spinbutton_fall.Value = distance;
+			JumpExtraWindowBox.label_fall.Text = Catalog.GetString("Distance between photocells");
+
+			JumpExtraWindowBox.spinbutton_fall.Sensitive = true;
+			JumpExtraWindowBox.label_fall.Sensitive = true;
+			JumpExtraWindowBox.label_cm.Sensitive = true;
+		
+			JumpExtraWindowBox.jump_extra.Show ();
+
+			return JumpExtraWindowBox;
+		}
+		
 		if(myJumpType.IsRepetitive) {
 			string jumpsName = Catalog.GetString("jumps");
 			string secondsName = Catalog.GetString("seconds");
@@ -809,7 +852,7 @@
 		if(! myJumpType.HasWeight) {
 			hideWeightData();	
 		}
-		if(myJumpType.StartIn) {
+		if(myJumpType.StartIn || myJumpType.Name == Constants.TakeOffName || myJumpType.Name == Constants.TakeOffWeightName) {
 			hideFallData();	
 		}
 		
@@ -862,6 +905,7 @@
 		limited = (double) spinbutton_limit.Value;
 		weight = (int) spinbutton_weight.Value;
 		fall = (int) spinbutton_fall.Value;
+		distance = (int) spinbutton_fall.Value;
 		
 		JumpExtraWindowBox.jump_extra.Hide();
 		JumpExtraWindowBox = null;
@@ -900,6 +944,7 @@
 		get { return limited;	}
 	}
 	
+	
 	public string LimitString
 	{
 		get { 

Modified: trunk/src/gui/run.cs
==============================================================================
--- trunk/src/gui/run.cs	(original)
+++ trunk/src/gui/run.cs	Fri Mar 20 09:08:11 2009
@@ -305,7 +305,7 @@
 		toggleRaisesSignal = true;
 	}
 
-	private void on_radio_mtgug_1_toggled(object o, EventArgs args) {
+	protected override void on_radio_mtgug_1_toggled(object o, EventArgs args) {
 		if(toggleRaisesSignal) {
 			string [] d = entry_description.Text.Split(new char[] {' '});
 			if(radio_mtgug_1_undef.Active)
@@ -324,7 +324,7 @@
 		}
 	}
 
-	private void on_radio_mtgug_2_toggled(object o, EventArgs args) {
+	protected override void on_radio_mtgug_2_toggled(object o, EventArgs args) {
 		if(toggleRaisesSignal) {
 			string [] d = entry_description.Text.Split(new char[] {' '});
 			if(radio_mtgug_2_undef.Active)
@@ -343,7 +343,7 @@
 		}
 	}
 
-	private void on_radio_mtgug_3_toggled(object o, EventArgs args) {
+	protected override void on_radio_mtgug_3_toggled(object o, EventArgs args) {
 		if(toggleRaisesSignal) {
 			string [] d = entry_description.Text.Split(new char[] {' '});
 			if(radio_mtgug_3_undef.Active)
@@ -362,7 +362,7 @@
 		}
 	}
 
-	private void on_radio_mtgug_4_toggled(object o, EventArgs args) {
+	protected override void on_radio_mtgug_4_toggled(object o, EventArgs args) {
 		if(toggleRaisesSignal) {
 			string [] d = entry_description.Text.Split(new char[] {' '});
 			if(radio_mtgug_4_undef.Active)
@@ -381,7 +381,7 @@
 		}
 	}
 
-	private void on_radio_mtgug_5_toggled(object o, EventArgs args) {
+	protected override void on_radio_mtgug_5_toggled(object o, EventArgs args) {
 		if(toggleRaisesSignal) {
 			string [] d = entry_description.Text.Split(new char[] {' '});
 			if(radio_mtgug_5_undef.Active)
@@ -400,7 +400,7 @@
 		}
 	}
 
-	private void on_radio_mtgug_6_toggled(object o, EventArgs args) {
+	protected override void on_radio_mtgug_6_toggled(object o, EventArgs args) {
 		if(toggleRaisesSignal) {
 			string [] d = entry_description.Text.Split(new char[] {' '});
 			if(radio_mtgug_6_undef.Active)

Modified: trunk/src/gui/server.cs
==============================================================================
--- trunk/src/gui/server.cs	(original)
+++ trunk/src/gui/server.cs	Fri Mar 20 09:08:11 2009
@@ -91,6 +91,7 @@
 
 	[Widget] Gtk.Button button_close;
 	
+	[Widget] Gtk.ProgressBar pulsebar;
 	[Widget] Gtk.ProgressBar progressbar;
 
 
@@ -243,6 +244,10 @@
 		progressbar.Pulse();
 	}
 
+	public void UpdatePulsebar () {
+		pulsebar.Pulse();
+	}
+
 	public void UpdateProgressbar (double fraction) {
 		if(fraction < 0)
 			fraction = 0;
@@ -253,6 +258,7 @@
 	}
 		
 	public void UploadFinished() {
+		pulsebar.Fraction =1;
 		label_thanks.Show();
 		button_close.Sensitive = true;
 	}

Modified: trunk/src/jumpType.cs
==============================================================================
--- trunk/src/jumpType.cs	(original)
+++ trunk/src/jumpType.cs	Fri Mar 20 09:08:11 2009
@@ -29,6 +29,7 @@
 	protected bool isRepetitive;
 	protected bool jumpsLimited;
 	protected double fixedValue;	//0 no fixed value
+					//0.5 if we want only to registry a TC
 	protected bool unlimited;
 
 
@@ -113,6 +114,22 @@
 				description	= Catalog.GetString("Abalakov Jump with extra weight");
 				imageFileName = "jump_abk_l.png";
 			}
+		} else if(name == Constants.TakeOffName) { //special case, will record only TC
+			startIn 	= false;
+			hasWeight 	= false;
+			isRepetitive 	= false; //for repetitive
+			jumpsLimited 	= false; //for repetitive
+			fixedValue 	= 0; //for repetitive
+			description	= Catalog.GetString("Take off");
+			imageFileName = "take_off.png"; 
+		} else if(name == Constants.TakeOffWeightName) { //special case, will record only TC
+			startIn 	= false;
+			hasWeight 	= true;
+			isRepetitive 	= false; //for repetitive
+			jumpsLimited 	= false; //for repetitive
+			fixedValue 	= 0; //for repetitive
+			description	= Catalog.GetString("Take off with weight");
+			imageFileName = "";
 		} else if(name == "DJ") {
 			startIn 	= false;
 			hasWeight 	= false;
@@ -147,6 +164,17 @@
 			unlimited 	= true;
 			description	= Catalog.GetString("Reactive Jump unlimited (until finish button is clicked)");
 			imageFileName = "jump_rj_in.png";
+		} else if(name == Constants.RunAnalysisName) { //like a Rj(unlimited). but starting out
+			//Josep Ma PadullÃs test
+			startIn 	= false;
+			hasWeight 	= false;
+			isRepetitive 	= true;
+			jumpsLimited 	= true;	//will finish in a concrete jump, not in a concrete second
+			fixedValue 	= -1;	//don't ask for limit of jumps or seconds
+			unlimited 	= true;
+			description	= Catalog.GetString("Run between two photocells recording contact and flight times in contact platform/s.") + 
+				" " + Catalog.GetString("Until finish button is clicked.");
+			imageFileName = "jump_rj_in.png";
 		} else if(name == "RJ(hexagon)") {
 			startIn 	= true;
 			hasWeight 	= false;

Modified: trunk/src/server.cs
==============================================================================
--- trunk/src/server.cs	(original)
+++ trunk/src/server.cs	Fri Mar 20 09:08:11 2009
@@ -129,6 +129,9 @@
 		if(countPersons == 0)
 			sessionUploadWin.PulseProgressbar();
 
+		//activity on pulsebar
+		sessionUploadWin.UpdatePulsebar();
+
 		if(needUpdateServerSession && !updatingServerSession) {
 			//prevent that FillData is called again with same data
 			updatingServerSession = true;

Modified: trunk/src/sqlite/jumpType.cs
==============================================================================
--- trunk/src/sqlite/jumpType.cs	(original)
+++ trunk/src/sqlite/jumpType.cs	Fri Mar 20 09:08:11 2009
@@ -38,7 +38,7 @@
 		dbcmd.CommandText = 
 			"CREATE TABLE " + Constants.JumpTypeTable + " ( " +
 			"uniqueID INTEGER PRIMARY KEY, " +
-			"name TEXT, " +
+			"name TEXT, " + //if name it's Constants.TakeOffName or Constants.TakeOffWeightName it's an exception and will record only one tc
 			"startIn INT, " + //if it starts inside or outside the platform
 			"weight INT, " + 
 			"description TEXT )";		
@@ -58,7 +58,9 @@
 			"ABK:1:0:ABK jump", 
 			"ABKl:1:1:ABK jump with weight", 
 			"DJ:0:0:DJ jump",
-			"Rocket:1:0:Rocket jump"
+			"Rocket:1:0:Rocket jump",
+			"TakeOff:0:0:Take off",
+			"TakeOffWeight:0:1:Take off with weight"
 		};
 		conversionSubRateTotal = iniJumpTypes.Length;
 		conversionSubRate = 0;
@@ -119,7 +121,8 @@
 			"RJ(t):0:0:0:0:RJ limited by time",
 			"RJ(unlimited):1:0:1:-1:Jump unlimited until finish is clicked",
 			"RJ(hexagon):1:0:1:18:Reactive Jump on a hexagon until three full revolutions are done",
-			"triple jump:0:0:1:3:Triple jump"
+			"triple jump:0:0:1:3:Triple jump",
+			"RunAnalysis:0:0:1:-1:Run between two photocells recording contact and flight times in contact platform/s. Until finish button is clicked."
 		};
 		foreach(string myJumpType in iniJumpTypes) {
 			JumpRjTypeInsert(myJumpType, true);

Modified: trunk/src/sqlite/main.cs
==============================================================================
--- trunk/src/sqlite/main.cs	(original)
+++ trunk/src/sqlite/main.cs	Fri Mar 20 09:08:11 2009
@@ -72,7 +72,7 @@
 	 * Important, change this if there's any update to database
 	 * Important2: if database version get numbers higher than 1, check if the comparisons with currentVersion works ok
 	 */
-	static string lastChronojumpDatabaseVersion = "0.65";
+	static string lastChronojumpDatabaseVersion = "0.67";
 
 	public Sqlite() {
 	}
@@ -841,6 +841,27 @@
 				dbcon.Close();
 				currentVersion = "0.65";
 			}
+			if(currentVersion == "0.65") {
+				dbcon.Open();
+				SqliteJumpType.JumpRjTypeInsert ("RunAnalysis:0:0:1:-1:Run between two photocells recording contact and flight times in contact platform/s. Until finish button is clicked.", true);
+
+				SqlitePreferences.Update ("databaseVersion", "0.66", true); 
+				
+				Log.WriteLine("Converted DB to 0.66 (added RunAnalysis Reactive jump)"); 
+				dbcon.Close();
+				currentVersion = "0.66";
+			}
+			if(currentVersion == "0.66") {
+				dbcon.Open();
+				SqliteJumpType.JumpTypeInsert ("TakeOff:0:0:Take off", true);
+				SqliteJumpType.JumpTypeInsert ("TakeOffWeight:0:0:Take off with weight", true);
+
+				SqlitePreferences.Update ("databaseVersion", "0.67", true); 
+				
+				Log.WriteLine("Converted DB to 0.67 (added TakeOff jumps)"); 
+				dbcon.Close();
+				currentVersion = "0.67";
+			}
 
 		}
 
@@ -959,6 +980,8 @@
 		SqliteCountry.initialize();
 		
 		//changes [from - to - desc]
+		//0.66 - 0.67 added TakeOff jumps 
+		//0.65 - 0.66 added run analysis (JumpRj test (masked as run interval))
 		//0.64 - 0.65 added Sevaluator on client
 		//0.63 - 0.64 added margaria test
 		//0.62 - 0.63 added 'versionAvailable' to preferences

Modified: trunk/src/treeViewJump.cs
==============================================================================
--- trunk/src/treeViewJump.cs	(original)
+++ trunk/src/treeViewJump.cs	Fri Mar 20 09:08:11 2009
@@ -268,7 +268,11 @@
 		if(newJumpRj.Simulated == Constants.Simulated)
 			title += " (s) ";
 
-		string myTypeComplet = title + "(" + Util.GetLimitedRounded(newJumpRj.Limited, pDN) + ")";
+		string myTypeComplet = "";
+		if(newJumpRj.Type == Constants.RunAnalysisName) 
+			myTypeComplet = title + "(" + newJumpRj.Fall + " cm)"; //distance is recorded as fall in RunAnalysis
+		else
+			myTypeComplet = title + "(" + Util.GetLimitedRounded(newJumpRj.Limited, pDN) + ")";
 		
 		string [] myData = new String [getColsNum()];
 		int count = 0;
@@ -295,17 +299,26 @@
 	
 	protected override string [] getSubLineToStore(System.Object myObject, int lineCount)
 	{
-		JumpRj newJumprRj = (JumpRj)myObject;
+		JumpRj newJumpRj = (JumpRj)myObject;
 
 		//find tv and tc of this lineCount
-		string [] myStringTv = newJumprRj.TvString.Split(new char[] {'='});
+		string [] myStringTv = newJumpRj.TvString.Split(new char[] {'='});
 		string thisTv = myStringTv[lineCount];
-		string [] myStringTc = newJumprRj.TcString.Split(new char[] {'='});
+		string [] myStringTc = newJumpRj.TcString.Split(new char[] {'='});
 		string thisTc = myStringTc[lineCount];
 
 		string [] myData = new String [getColsNum()];
 		int count = 0;
-		myData[count++] = (lineCount +1).ToString();
+
+		if(newJumpRj.Type == Constants.RunAnalysisName) {
+			if(lineCount == 0)
+				myData[count++] = Catalog.GetString("First photocell");
+			else
+				myData[count++] = (lineCount).ToString();
+		}
+		else
+			myData[count++] = (lineCount +1).ToString();
+
 		myData[count++] = Util.TrimDecimals( thisTc, pDN );
 		myData[count++] = Util.TrimDecimals( thisTv, pDN );
 		myData[count++] = ""; 
@@ -358,13 +371,24 @@
 	protected override string [] printAVG(System.Object myObject, int cols) {
 		JumpRj newJumpRj = (JumpRj)myObject;
 
-		//littleOptimization
-		double tcAVGDouble = Util.GetAverage(newJumpRj.TcString);
-		double tvAVGDouble = Util.GetAverage(newJumpRj.TvString);
+		string tcString = newJumpRj.TcString;
+		string tvString = newJumpRj.TvString;
+
+		if(newJumpRj.Type == Constants.RunAnalysisName) {
+			tcString = Util.DeleteFirstSubEvent(tcString);
+			tvString = Util.DeleteFirstSubEvent(tvString);
+		}
+
+		double tcAVGDouble = Util.GetAverage(tcString);
+		double tvAVGDouble = Util.GetAverage(tvString);
 
 		string [] myData = new String [getColsNum()];
 		int count = 0;
-		myData[count++] = Catalog.GetString("AVG");
+		if(newJumpRj.Type == Constants.RunAnalysisName) 
+			myData[count++] = Catalog.GetString("AVG") + " (" + Catalog.GetString("photocells not included") + ")";
+		else
+			myData[count++] = Catalog.GetString("AVG");
+
 		myData[count++] = Util.TrimDecimals(tcAVGDouble.ToString(), pDN);
 		myData[count++] = Util.TrimDecimals(tvAVGDouble.ToString(), pDN);
 		myData[count++] = ""; //weight
@@ -398,19 +422,31 @@
 	
 	protected override string [] printSD(System.Object myObject, int cols) {
 		JumpRj newJumpRj = (JumpRj)myObject;
+		
+		string tcString = newJumpRj.TcString;
+		string tvString = newJumpRj.TvString;
+
+		if(newJumpRj.Type == Constants.RunAnalysisName) {
+			tcString = Util.DeleteFirstSubEvent(tcString);
+			tvString = Util.DeleteFirstSubEvent(tvString);
+		}
 
 		string [] myData = new String [getColsNum()];
 		int count = 0;
-		myData[count++] = Catalog.GetString("SD");
+		if(newJumpRj.Type == Constants.RunAnalysisName) 
+			myData[count++] = Catalog.GetString("SD") + " (" + Catalog.GetString("photocells not included") + ")";
+		else
+			myData[count++] = Catalog.GetString("SD");
+
 		myData[count++] = Util.TrimDecimals(Util.CalculateSD(
-			Util.ChangeEqualForColon(newJumpRj.TcString),
-			Util.GetTotalTime(newJumpRj.TcString),
-			Util.GetNumberOfJumps(newJumpRj.TcString, false)).ToString(),
+			Util.ChangeEqualForColon(tcString),
+			Util.GetTotalTime(tcString),
+			Util.GetNumberOfJumps(tcString, false)).ToString(),
 				pDN);
 		myData[count++] = Util.TrimDecimals(Util.CalculateSD(
-			Util.ChangeEqualForColon(newJumpRj.TvString),
-			Util.GetTotalTime(newJumpRj.TvString),
-			Util.GetNumberOfJumps(newJumpRj.TvString, false)).ToString(),
+			Util.ChangeEqualForColon(tvString),
+			Util.GetTotalTime(tvString),
+			Util.GetNumberOfJumps(tvString, false)).ToString(),
 				pDN);
 		
 		

Modified: trunk/src/util.cs
==============================================================================
--- trunk/src/util.cs	(original)
+++ trunk/src/util.cs	Fri Mar 20 09:08:11 2009
@@ -410,6 +410,16 @@
 			return false;	//eventsTime are lower than timeLimit: no problem
 	}
 	
+	public static string DeleteFirstSubEvent (string myString)
+	{
+		int firstEqualPos = myString.IndexOf('=');
+		if(firstEqualPos > 0) {
+			return myString.Substring(firstEqualPos +1);
+		} else
+			return myString;
+	}
+
+	
 	public static string DeleteLastSubEvent (string myString)
 	{
 		int lastEqualPos = myString.LastIndexOf('=');

Modified: trunk/version.txt
==============================================================================
--- trunk/version.txt	(original)
+++ trunk/version.txt	Fri Mar 20 09:08:11 2009
@@ -1 +1 @@
-0.8.2.7
+0.8.2.8

Modified: trunk/web/data/langs/_es/Pages/construction_contact_platform
==============================================================================
--- trunk/web/data/langs/_es/Pages/construction_contact_platform	(original)
+++ trunk/web/data/langs/_es/Pages/construction_contact_platform	Fri Mar 20 09:08:11 2009
@@ -124,5 +124,6 @@
 <li>Vea este vÃdeo (en catalÃn) sobre cÃmo construir la plataforma de contactos y otros dispositivos: <a href="http://www.vimeo.com/1205809";>Construccià de dispositius de mesura per a Chronojump</a>.
 <li>Consulte informaciÃn sobre <a href="construction_contact_platform_buy_stuff_es.html">dÃnde&nbsp;comprar&nbsp;componentes</a> (o actualice dicha informaciÃn).
 <li>Acceda a <a href="construction_contact_platform_comments_es.html">Comentarios sobre la fabricaciÃn</a>.
+<li>Discuta esta informaciÃn en el foro: <a href="http://foro.chronojump.org/showthread.php?tid=13";>Plataforma de contactos de varillas (foro de Chronojump)</a>.
 </ul>
 

Modified: trunk/web/data/langs/_es/Pages/construction_modular_circuit_platform
==============================================================================
--- trunk/web/data/langs/_es/Pages/construction_modular_circuit_platform	(original)
+++ trunk/web/data/langs/_es/Pages/construction_modular_circuit_platform	Fri Mar 20 09:08:11 2009
@@ -90,6 +90,9 @@
 <li>SÃlo queda comprar una funda de plÃstico plegable y opcionalmente aÃadirle un velcro con cinta de doble cara.
 </ol>
 
+<hr width ="50%">
+Discuta esta informaciÃn en el foro: <a href="http://foro.chronojump.org/showthread.php?tid=11";>Nueva plataforma modular. Instrucciones para la construcciÃn (foro de Chronojump)</a>.
+
 <p>
 Josep Ma PadullÃs, Xavier de Blas
 <br>

Modified: trunk/web/html_created_no_edit/print/construction_contact_platform_es.html
==============================================================================
--- trunk/web/html_created_no_edit/print/construction_contact_platform_es.html	(original)
+++ trunk/web/html_created_no_edit/print/construction_contact_platform_es.html	Fri Mar 20 09:08:11 2009
@@ -139,6 +139,7 @@
 <li>Vea este v&iacute;deo (en catal&aacute;n) sobre c&oacute;mo construir la plataforma de contactos y otros dispositivos: <a href="http://www.vimeo.com/1205809";>Construcci&oacute; de dispositius de mesura per a Chronojump</a>.
 <li>Consulte informaci&oacute;n sobre <a href="construction_contact_platform_buy_stuff_es.html">d&oacute;nde&nbsp;comprar&nbsp;componentes</a> (o actualice dicha informaci&oacute;n).
 <li>Acceda a <a href="construction_contact_platform_comments_es.html">Comentarios sobre la fabricaci&oacute;n</a>.
+<li>Discuta esta informaci&oacute;n en el foro: <a href="http://foro.chronojump.org/showthread.php?tid=13";>Plataforma de contactos de varillas (foro de Chronojump)</a>.
 </ul>
 
 </body></html>
\ No newline at end of file



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