[chronojump] Doing queryServer.cs



commit c64ff0bda52868ae3497a6f13c550944433e191a
Author: Xavier de Blas <xaviblas gmail com>
Date:   Fri Aug 21 20:50:30 2009 +0200

    Doing queryServer.cs
    server menu / view server website
    server manually ping / returns online or offline
    bigger button to end repetitive tests
    
    fixed four bugs:
    -fixed crash on repair jump reactive with some "-1".
    when a tc or tf is not present, was converted to "-" by Util.TrimDecimals(string, int)
    changed and now verifying doesn't affect to other places
    -fixed bug (can be a crash) on exportSession, exporting runInterval takes limited db column instead of simualted
    -fixed report_web_style.css adding
    -fixed multiChronopic and runAnalysis calls on menus
    
    manual converted to book style, done pulses, MultiChronopic, preferences, AVG SD RjIndex, AVG SD QIndex. Fixed export info
    
    supressed some debug WriteLines

 TODO.txt                                    |   14 +
 chronojump_server/bin/chronojumpServer.dll  |  Bin 266752 -> 267776 bytes
 chronojump_server/chronojumpServerCSharp.cs |    2 +
 glade/chronojump.glade                      | 1085 ++++++++++++++++++++++++-
 manual/chronojump_manual_es.lyx             | 1161 +++++++++++++++++++++++----
 manual/chronojump_manual_es.lyx~            | 1168 +++++++++++++++++++++++----
 manual/chronojump_manual_es.pdf             |  Bin 1068448 -> 1262595 bytes
 src/Makefile.am                             |    1 +
 src/constants.cs                            |   15 +
 src/exportSession.cs                        |    2 +-
 src/gui/chronojump.cs                       |   59 ++-
 src/gui/jump.cs                             |    3 +-
 src/gui/person.cs                           |    2 +-
 src/gui/queryServer.cs                      |  590 ++++++++++++++
 src/jumpType.cs                             |    1 +
 src/multiChronopic.cs                       |    3 -
 src/treeViewMultiChronopic.cs               |    4 -
 src/util.cs                                 |   19 +-
 src/utilGtk.cs                              |    6 +
 19 files changed, 3751 insertions(+), 384 deletions(-)
---
diff --git a/TODO.txt b/TODO.txt
index 563fc16..4c64575 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -1,5 +1,19 @@
 TODO: 
 
+continue server menu / Query
+
+updating manual. Pending:
+-graphs 6.3, 6.1  to same theme than others
+-server
+-check all again
+
+do something to disallow to execute chronojump two times
+
+check all software (for the Util.TrimDecimals change)
+create accept license on uploading
+add accept license on uploading, and a way to retreive it from server
+
+
 website velleman put retardo de desactivacion instead of tiempo de respuesta ajustable
 
 
diff --git a/chronojump_server/bin/chronojumpServer.dll b/chronojump_server/bin/chronojumpServer.dll
index 9c0fb0a..f741255 100755
Binary files a/chronojump_server/bin/chronojumpServer.dll and b/chronojump_server/bin/chronojumpServer.dll differ
diff --git a/chronojump_server/chronojumpServerCSharp.cs b/chronojump_server/chronojumpServerCSharp.cs
index 6fc187c..21726b1 100755
--- a/chronojump_server/chronojumpServerCSharp.cs
+++ b/chronojump_server/chronojumpServerCSharp.cs
@@ -45,6 +45,8 @@ public class ChronojumpServer {
 			return true;
 		else if(action == Constants.ServerActionStats && clientVersion >= 0.8)
 			return true;
+		else if(action == Constants.ServerActionQuery && clientVersion >= 0.895) //0.8.9.5
+			return true;
 
 		return false;
 	}
diff --git a/glade/chronojump.glade b/glade/chronojump.glade
index 723f168..9fdb67b 100644
--- a/glade/chronojump.glade
+++ b/glade/chronojump.glade
@@ -8686,7 +8686,7 @@ suitable for agility tests)</property>
 		      <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="image4339">
+			<widget class="GtkImage" id="image4444">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-new</property>
 			  <property name="icon_size">1</property>
@@ -8707,7 +8707,7 @@ suitable for agility tests)</property>
 		      <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="image4340">
+			<widget class="GtkImage" id="image4445">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-open</property>
 			  <property name="icon_size">1</property>
@@ -8728,7 +8728,7 @@ suitable for agility tests)</property>
 		      <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="image4341">
+			<widget class="GtkImage" id="image4446">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-edit</property>
 			  <property name="icon_size">1</property>
@@ -8750,7 +8750,7 @@ suitable for agility tests)</property>
 		      <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="image4342">
+			<widget class="GtkImage" id="image4447">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-remove</property>
 			  <property name="icon_size">1</property>
@@ -8778,7 +8778,7 @@ suitable for agility tests)</property>
 		      <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="image4343">
+			<widget class="GtkImage" id="image4448">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-convert</property>
 			  <property name="icon_size">1</property>
@@ -8813,7 +8813,7 @@ suitable for agility tests)</property>
 		      <property name="use_underline">True</property>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4344">
+			<widget class="GtkImage" id="image4449">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-connect</property>
 			  <property name="icon_size">1</property>
@@ -8830,13 +8830,19 @@ suitable for agility tests)</property>
 			  <child>
 			    <widget class="GtkMenuItem" id="menuitem_server_ping">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Ping</property>
+			      <property name="label" translatable="yes">Check Connection</property>
 			      <property name="use_underline">True</property>
 			      <signal name="activate" handler="on_menuitem_server_ping" last_modification_time="Wed, 14 Jan 2009 12:29:25 GMT"/>
 			    </widget>
 			  </child>
 
 			  <child>
+			    <widget class="GtkSeparatorMenuItem" id="separador23">
+			      <property name="visible">True</property>
+			    </widget>
+			  </child>
+
+			  <child>
 			    <widget class="GtkMenuItem" id="menuitem_server_evaluator_data">
 			      <property name="visible">True</property>
 			      <property name="label" translatable="yes">Evaluator data</property>
@@ -8855,6 +8861,21 @@ suitable for agility tests)</property>
 			  </child>
 
 			  <child>
+			    <widget class="GtkSeparatorMenuItem" id="separador24">
+			      <property name="visible">True</property>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkMenuItem" id="menuitem_server_query">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Query</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_menuitem_server_query_activate" last_modification_time="Fri, 21 Aug 2009 08:44:59 GMT"/>
+			    </widget>
+			  </child>
+
+			  <child>
 			    <widget class="GtkMenuItem" id="menuitem_server_stats">
 			      <property name="visible">True</property>
 			      <property name="label" translatable="yes">Stats</property>
@@ -8862,6 +8883,21 @@ suitable for agility tests)</property>
 			      <signal name="activate" handler="on_menuitem_server_stats" last_modification_time="Thu, 22 Jan 2009 13:19:24 GMT"/>
 			    </widget>
 			  </child>
+
+			  <child>
+			    <widget class="GtkSeparatorMenuItem" id="separador25">
+			      <property name="visible">True</property>
+			    </widget>
+			  </child>
+
+			  <child>
+			    <widget class="GtkMenuItem" id="menuitem_goto_server_website">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Goto server website</property>
+			      <property name="use_underline">True</property>
+			      <signal name="activate" handler="on_menuitem_goto_server_website_activate" last_modification_time="Fri, 21 Aug 2009 08:44:59 GMT"/>
+			    </widget>
+			  </child>
 			</widget>
 		      </child>
 		    </widget>
@@ -8881,7 +8917,7 @@ suitable for agility tests)</property>
 		      <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="image4345">
+			<widget class="GtkImage" id="image4450">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-preferences</property>
 			  <property name="icon_size">1</property>
@@ -8908,7 +8944,7 @@ suitable for agility tests)</property>
 		      <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="image4346">
+			<widget class="GtkImage" id="image4451">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-quit</property>
 			  <property name="icon_size">1</property>
@@ -8942,7 +8978,7 @@ suitable for agility tests)</property>
 		      <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="image4347">
+			<widget class="GtkImage" id="image4452">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-new</property>
 			  <property name="icon_size">1</property>
@@ -8963,7 +8999,7 @@ suitable for agility tests)</property>
 		      <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="image4348">
+			<widget class="GtkImage" id="image4453">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-new</property>
 			  <property name="icon_size">1</property>
@@ -8990,7 +9026,7 @@ suitable for agility tests)</property>
 		      <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="image4349">
+			<widget class="GtkImage" id="image4454">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-open</property>
 			  <property name="icon_size">1</property>
@@ -9011,7 +9047,7 @@ suitable for agility tests)</property>
 		      <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="image4350">
+			<widget class="GtkImage" id="image4455">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-open</property>
 			  <property name="icon_size">1</property>
@@ -9038,7 +9074,7 @@ suitable for agility tests)</property>
 		      <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="image4351">
+			<widget class="GtkImage" id="image4456">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-edit</property>
 			  <property name="icon_size">1</property>
@@ -9059,7 +9095,7 @@ suitable for agility tests)</property>
 		      <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="image4352">
+			<widget class="GtkImage" id="image4457">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-index</property>
 			  <property name="icon_size">1</property>
@@ -9086,7 +9122,7 @@ suitable for agility tests)</property>
 		      <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="image4353">
+			<widget class="GtkImage" id="image4458">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-remove</property>
 			  <property name="icon_size">1</property>
@@ -9223,7 +9259,7 @@ suitable for agility tests)</property>
 			      <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="image4354">
+				<widget class="GtkImage" id="image4459">
 				  <property name="visible">True</property>
 				  <property name="stock">gtk-add</property>
 				  <property name="icon_size">1</property>
@@ -9248,7 +9284,7 @@ suitable for agility tests)</property>
 		      <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="image4355">
+			<widget class="GtkImage" id="image4460">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-edit</property>
 			  <property name="icon_size">1</property>
@@ -9269,7 +9305,7 @@ suitable for agility tests)</property>
 		      <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="image4356">
+			<widget class="GtkImage" id="image4461">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-remove</property>
 			  <property name="icon_size">1</property>
@@ -9350,7 +9386,7 @@ suitable for agility tests)</property>
 			      <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="image4357">
+				<widget class="GtkImage" id="image4462">
 				  <property name="visible">True</property>
 				  <property name="stock">gtk-add</property>
 				  <property name="icon_size">1</property>
@@ -9375,7 +9411,7 @@ suitable for agility tests)</property>
 		      <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="image4358">
+			<widget class="GtkImage" id="image4463">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-edit</property>
 			  <property name="icon_size">1</property>
@@ -9396,7 +9432,7 @@ suitable for agility tests)</property>
 		      <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="image4359">
+			<widget class="GtkImage" id="image4464">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-preferences</property>
 			  <property name="icon_size">1</property>
@@ -9417,7 +9453,7 @@ suitable for agility tests)</property>
 		      <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="image4360">
+			<widget class="GtkImage" id="image4465">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-remove</property>
 			  <property name="icon_size">1</property>
@@ -9444,7 +9480,7 @@ suitable for agility tests)</property>
 		      <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="image4361">
+			<widget class="GtkImage" id="image4466">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-new</property>
 			  <property name="icon_size">1</property>
@@ -9607,7 +9643,7 @@ suitable for agility tests)</property>
 			      <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="image4362">
+				<widget class="GtkImage" id="image4467">
 				  <property name="visible">True</property>
 				  <property name="stock">gtk-add</property>
 				  <property name="icon_size">1</property>
@@ -9632,7 +9668,7 @@ suitable for agility tests)</property>
 		      <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="image4363">
+			<widget class="GtkImage" id="image4468">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-edit</property>
 			  <property name="icon_size">1</property>
@@ -9653,7 +9689,7 @@ suitable for agility tests)</property>
 		      <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="image4364">
+			<widget class="GtkImage" id="image4469">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-remove</property>
 			  <property name="icon_size">1</property>
@@ -9734,7 +9770,7 @@ suitable for agility tests)</property>
 			      <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="image4365">
+				<widget class="GtkImage" id="image4470">
 				  <property name="visible">True</property>
 				  <property name="stock">gtk-add</property>
 				  <property name="icon_size">1</property>
@@ -9759,7 +9795,7 @@ suitable for agility tests)</property>
 		      <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="image4366">
+			<widget class="GtkImage" id="image4471">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-edit</property>
 			  <property name="icon_size">1</property>
@@ -9780,7 +9816,7 @@ suitable for agility tests)</property>
 		      <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="image4367">
+			<widget class="GtkImage" id="image4472">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-preferences</property>
 			  <property name="icon_size">1</property>
@@ -9801,7 +9837,7 @@ suitable for agility tests)</property>
 		      <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="image4368">
+			<widget class="GtkImage" id="image4473">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-remove</property>
 			  <property name="icon_size">1</property>
@@ -9828,7 +9864,7 @@ suitable for agility tests)</property>
 		      <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="image4369">
+			<widget class="GtkImage" id="image4474">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-new</property>
 			  <property name="icon_size">1</property>
@@ -9932,7 +9968,7 @@ suitable for agility tests)</property>
 		      <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="image4370">
+			<widget class="GtkImage" id="image4475">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-refresh</property>
 			  <property name="icon_size">1</property>
@@ -9953,7 +9989,7 @@ suitable for agility tests)</property>
 		      <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="image4371">
+			<widget class="GtkImage" id="image4476">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-refresh</property>
 			  <property name="icon_size">1</property>
@@ -10021,7 +10057,7 @@ suitable for agility tests)</property>
 		      <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="image4372">
+			<widget class="GtkImage" id="image4477">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-info</property>
 			  <property name="icon_size">1</property>
@@ -10057,7 +10093,7 @@ suitable for agility tests)</property>
 		      <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="image4373">
+			<widget class="GtkImage" id="image4478">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-about</property>
 			  <property name="icon_size">1</property>
@@ -10084,7 +10120,7 @@ suitable for agility tests)</property>
 		      <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="image4374">
+			<widget class="GtkImage" id="image4479">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-dialog-error</property>
 			  <property name="icon_size">1</property>
@@ -18862,7 +18898,6 @@ Test&lt;/b&gt;</property>
 
 	  <child>
 	    <widget class="GtkButton" id="button_finish">
-	      <property name="width_request">50</property>
 	      <property name="visible">True</property>
 	      <property name="tooltip" translatable="yes">Finish jump (save jump until this moment)</property>
 	      <property name="can_default">True</property>
@@ -18878,7 +18913,6 @@ Test&lt;/b&gt;</property>
 	      <property name="right_attach">3</property>
 	      <property name="top_attach">0</property>
 	      <property name="bottom_attach">1</property>
-	      <property name="x_options">fill</property>
 	    </packing>
 	  </child>
 	</widget>
@@ -29323,4 +29357,977 @@ by you</property>
   </child>
 </widget>
 
+<widget class="GtkWindow" id="query_server_window">
+  <property name="border_width">10</property>
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">Query to server</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">True</property>
+  <property name="resizable">False</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
+  <property name="urgency_hint">False</property>
+  <signal name="delete_event" handler="on_delete_event" last_modification_time="Fri, 21 Aug 2009 14:46:41 GMT"/>
+
+  <child>
+    <widget class="GtkVBox" id="vbox191">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">8</property>
+
+      <child>
+	<widget class="GtkLabel" id="label754">
+	  <property name="visible">True</property>
+	  <property name="label" translatable="yes">Perform a query to the server.</property>
+	  <property name="use_underline">False</property>
+	  <property name="use_markup">False</property>
+	  <property name="justify">GTK_JUSTIFY_LEFT</property>
+	  <property name="wrap">False</property>
+	  <property name="selectable">False</property>
+	  <property name="xalign">0.5</property>
+	  <property name="yalign">0.5</property>
+	  <property name="xpad">0</property>
+	  <property name="ypad">0</property>
+	  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	  <property name="width_chars">-1</property>
+	  <property name="single_line_mode">False</property>
+	  <property name="angle">0</property>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkFrame" id="frame48">
+	  <property name="visible">True</property>
+	  <property name="label_xalign">0</property>
+	  <property name="label_yalign">0.5</property>
+	  <property name="shadow_type">GTK_SHADOW_NONE</property>
+
+	  <child>
+	    <widget class="GtkAlignment" id="alignment142">
+	      <property name="visible">True</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xscale">1</property>
+	      <property name="yscale">1</property>
+	      <property name="top_padding">0</property>
+	      <property name="bottom_padding">0</property>
+	      <property name="left_padding">12</property>
+	      <property name="right_padding">0</property>
+
+	      <child>
+		<widget class="GtkTable" id="table71">
+		  <property name="visible">True</property>
+		  <property name="n_rows">3</property>
+		  <property name="n_columns">3</property>
+		  <property name="homogeneous">False</property>
+		  <property name="row_spacing">4</property>
+		  <property name="column_spacing">4</property>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox_combo_tests">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<placeholder/>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">2</property>
+		      <property name="right_attach">3</property>
+		      <property name="top_attach">1</property>
+		      <property name="bottom_attach">2</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox_combo_test_types">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<placeholder/>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">2</property>
+		      <property name="right_attach">3</property>
+		      <property name="top_attach">0</property>
+		      <property name="bottom_attach">1</property>
+		      <property name="x_options">fill</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label755">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Type of test</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">0</property>
+		      <property name="bottom_attach">1</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label747">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Test</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">1</property>
+		      <property name="bottom_attach">2</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkImage" id="image_test_type">
+		      <property name="visible">True</property>
+		      <property name="stock">gtk-no</property>
+		      <property name="icon_size">4</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">0</property>
+		      <property name="bottom_attach">1</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options">fill</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label763">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Variable</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">2</property>
+		      <property name="bottom_attach">3</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox_combo_variables">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<placeholder/>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">2</property>
+		      <property name="right_attach">3</property>
+		      <property name="top_attach">2</property>
+		      <property name="bottom_attach">3</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options">fill</property>
+		    </packing>
+		  </child>
+		</widget>
+	      </child>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label746">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">&lt;b&gt;Test variables&lt;/b&gt;</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">True</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="type">label_item</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkFrame" id="frame49">
+	  <property name="visible">True</property>
+	  <property name="label_xalign">0</property>
+	  <property name="label_yalign">0.5</property>
+	  <property name="shadow_type">GTK_SHADOW_NONE</property>
+
+	  <child>
+	    <widget class="GtkAlignment" id="alignment143">
+	      <property name="visible">True</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xscale">1</property>
+	      <property name="yscale">1</property>
+	      <property name="top_padding">0</property>
+	      <property name="bottom_padding">0</property>
+	      <property name="left_padding">12</property>
+	      <property name="right_padding">0</property>
+
+	      <child>
+		<widget class="GtkTable" id="table70">
+		  <property name="visible">True</property>
+		  <property name="n_rows">7</property>
+		  <property name="n_columns">3</property>
+		  <property name="homogeneous">False</property>
+		  <property name="row_spacing">4</property>
+		  <property name="column_spacing">4</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label748">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Sex</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">0</property>
+		      <property name="bottom_attach">1</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label_age">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Age</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">1</property>
+		      <property name="bottom_attach">2</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label_country">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Country</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">3</property>
+		      <property name="bottom_attach">4</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label751">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Sport</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">4</property>
+		      <property name="bottom_attach">5</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label752">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Level</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">6</property>
+		      <property name="bottom_attach">7</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label_speciallity">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Speciallity</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">5</property>
+		      <property name="bottom_attach">6</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox_combo_sexes">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<placeholder/>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">2</property>
+		      <property name="right_attach">3</property>
+		      <property name="top_attach">0</property>
+		      <property name="bottom_attach">1</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options">fill</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox_combo_ages">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<placeholder/>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">2</property>
+		      <property name="right_attach">3</property>
+		      <property name="top_attach">1</property>
+		      <property name="bottom_attach">2</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options">fill</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox_combo_countries">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<placeholder/>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">2</property>
+		      <property name="right_attach">3</property>
+		      <property name="top_attach">3</property>
+		      <property name="bottom_attach">4</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options">fill</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox_combo_sports">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<placeholder/>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">2</property>
+		      <property name="right_attach">3</property>
+		      <property name="top_attach">4</property>
+		      <property name="bottom_attach">5</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options">fill</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox_combo_speciallities">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<placeholder/>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">2</property>
+		      <property name="right_attach">3</property>
+		      <property name="top_attach">5</property>
+		      <property name="bottom_attach">6</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options">fill</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox_combo_levels">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<placeholder/>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">2</property>
+		      <property name="right_attach">3</property>
+		      <property name="top_attach">6</property>
+		      <property name="bottom_attach">7</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options">fill</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label762">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Continent</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">False</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">2</property>
+		      <property name="bottom_attach">3</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox_combo_continents">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<placeholder/>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">2</property>
+		      <property name="right_attach">3</property>
+		      <property name="top_attach">2</property>
+		      <property name="bottom_attach">3</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options">fill</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkImage" id="image_country">
+		      <property name="visible">True</property>
+		      <property name="stock">gtk-no</property>
+		      <property name="icon_size">4</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">3</property>
+		      <property name="bottom_attach">4</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options">fill</property>
+		    </packing>
+		  </child>
+		</widget>
+	      </child>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label756">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">&lt;b&gt;Person variables&lt;/b&gt;</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">True</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="type">label_item</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkFrame" id="frame50">
+	  <property name="visible">True</property>
+	  <property name="label_xalign">0</property>
+	  <property name="label_yalign">0.5</property>
+	  <property name="shadow_type">GTK_SHADOW_NONE</property>
+
+	  <child>
+	    <widget class="GtkAlignment" id="alignment144">
+	      <property name="visible">True</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xscale">1</property>
+	      <property name="yscale">1</property>
+	      <property name="top_padding">0</property>
+	      <property name="bottom_padding">0</property>
+	      <property name="left_padding">12</property>
+	      <property name="right_padding">0</property>
+
+	      <child>
+		<widget class="GtkVBox" id="vbox195">
+		  <property name="visible">True</property>
+		  <property name="homogeneous">False</property>
+		  <property name="spacing">8</property>
+
+		  <child>
+		    <widget class="GtkScrolledWindow" id="scrolledwindow37">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
+		      <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+		      <property name="shadow_type">GTK_SHADOW_IN</property>
+		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+		      <child>
+			<widget class="GtkTextView" id="textview_query">
+			  <property name="visible">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="editable">False</property>
+			  <property name="overwrite">False</property>
+			  <property name="accepts_tab">False</property>
+			  <property name="justification">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap_mode">GTK_WRAP_WORD</property>
+			  <property name="cursor_visible">False</property>
+			  <property name="pixels_above_lines">0</property>
+			  <property name="pixels_below_lines">0</property>
+			  <property name="pixels_inside_wrap">0</property>
+			  <property name="left_margin">0</property>
+			  <property name="right_margin">0</property>
+			  <property name="indent">0</property>
+			  <property name="text" translatable="yes"></property>
+			</widget>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox364">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">8</property>
+
+		      <child>
+			<widget class="GtkButton" id="button_search">
+			  <property name="visible">True</property>
+			  <property name="can_default">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="label">gtk-find</property>
+			  <property name="use_stock">True</property>
+			  <property name="relief">GTK_RELIEF_NORMAL</property>
+			  <property name="focus_on_click">True</property>
+			  <signal name="clicked" handler="on_button_search_clicked" last_modification_time="Fri, 21 Aug 2009 11:02:47 GMT"/>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkTable" id="table72">
+			  <property name="visible">True</property>
+			  <property name="n_rows">2</property>
+			  <property name="n_columns">2</property>
+			  <property name="homogeneous">False</property>
+			  <property name="row_spacing">4</property>
+			  <property name="column_spacing">4</property>
+
+			  <child>
+			    <widget class="GtkLabel" id="label758">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Number of results:</property>
+			      <property name="use_underline">False</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">0</property>
+			      <property name="right_attach">1</property>
+			      <property name="top_attach">0</property>
+			      <property name="bottom_attach">1</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkLabel" id="label759">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Average:</property>
+			      <property name="use_underline">False</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">0</property>
+			      <property name="right_attach">1</property>
+			      <property name="top_attach">1</property>
+			      <property name="bottom_attach">2</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkLabel" id="label_results_num">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes"></property>
+			      <property name="use_underline">False</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">1</property>
+			      <property name="right_attach">2</property>
+			      <property name="top_attach">0</property>
+			      <property name="bottom_attach">1</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkLabel" id="label_results_avg">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes"></property>
+			      <property name="use_underline">False</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">1</property>
+			      <property name="right_attach">2</property>
+			      <property name="top_attach">1</property>
+			      <property name="bottom_attach">2</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">True</property>
+			  <property name="fill">True</property>
+			</packing>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+		</widget>
+	      </child>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label757">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">&lt;b&gt;Execute query&lt;/b&gt;</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">True</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="type">label_item</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">8</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHButtonBox" id="hbuttonbox46">
+	  <property name="visible">True</property>
+	  <property name="layout_style">GTK_BUTTONBOX_DEFAULT_STYLE</property>
+	  <property name="spacing">0</property>
+
+	  <child>
+	    <widget class="GtkButton" id="button_close">
+	      <property name="visible">True</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label">gtk-close</property>
+	      <property name="use_stock">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <signal name="clicked" handler="on_button_close_clicked" last_modification_time="Fri, 21 Aug 2009 11:02:54 GMT"/>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
 </glade-interface>
diff --git a/manual/chronojump_manual_es.lyx b/manual/chronojump_manual_es.lyx
index 34da783..9179071 100644
--- a/manual/chronojump_manual_es.lyx
+++ b/manual/chronojump_manual_es.lyx
@@ -2,10 +2,11 @@
 \lyxformat 345
 \begin_document
 \begin_header
-\textclass article
+\textclass book
 \begin_preamble
 \usepackage{a4wide}
 \usepackage{url}
+\pagenumbering{roman}
 \end_preamble
 \use_default_options false
 \language spanish
@@ -40,7 +41,7 @@
 \papersides 1
 \paperpagestyle default
 \tracking_changes false
-\output_changes true
+\output_changes false
 \author "" 
 \author "" 
 \end_header
@@ -64,23 +65,63 @@ Xavier de Blas Foix
 \end_layout
 
 \begin_layout Standard
-\begin_inset Newpage newpage
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+frontmatter
+\end_layout
+
 \end_inset
 
 
+\end_layout
+
+\begin_layout Standard
 \begin_inset CommandInset toc
 LatexCommand tableofcontents
 
 \end_inset
 
 
-\begin_inset Newpage newpage
+\end_layout
+
+\begin_layout Standard
+\begin_inset FloatList table
+
 \end_inset
 
 
 \end_layout
 
-\begin_layout Section
+\begin_layout Standard
+\begin_inset FloatList figure
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+mainmatter
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Chapter
 Introducción: Chronojump un proyecto colaborativo de software libre en las
  ciencias del deporte
 \end_layout
@@ -158,7 +199,7 @@ Otros tests
 Obtención y configuración del software y el hardware
 \end_layout
 
-\begin_layout Section
+\begin_layout Chapter
 Obtención del software y el hardware
 \end_layout
 
@@ -212,7 +253,7 @@ Ordenador con sistema operativo Windows o Linux, conectando al cronómetro
 A continuación se explica cada uno de estos apartados
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Instalación del software Chronojump
 \end_layout
 
@@ -248,7 +289,7 @@ http://www.chronojump.org/faq_software_es.html
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Construcción del dispositivo de detección
 \end_layout
 
@@ -268,7 +309,7 @@ http://chronojump.org/multimedia_es.html
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 \begin_inset CommandInset label
 LatexCommand label
 name "sub:Construcción-y-obtención-chronopic"
@@ -300,7 +341,7 @@ http://chronojump.org/multimedia_es.html
 
 \end_layout
 
-\begin_layout Section
+\begin_layout Chapter
 \begin_inset CommandInset label
 LatexCommand label
 name "par:Chronopic:-concepto-y-configuracion"
@@ -831,7 +872,7 @@ En septiembre de 2007, existe el Chronopic 1.0 y se está desarrollando Chronopi
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Montaje de Chronopic3
 \end_layout
 
@@ -890,7 +931,7 @@ Montaje del Chronopic3.
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Conexiones de Chronopic
 \end_layout
 
@@ -954,7 +995,7 @@ vos de detección.
  cronometrar ritmos complejos u otras aplicaciones.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Funcionamiento de Chronopic
 \end_layout
 
@@ -971,7 +1012,7 @@ Chronopic dispone de una luz que cuando está encendida indica que el sujeto
  misma.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 \begin_inset CommandInset label
 LatexCommand label
 name "sub:Alimentación-de-Chronopic"
@@ -996,7 +1037,7 @@ Continuando con las antiguas Chronopics serie, la conexión de la batería
  Esta es una buena prueba para saber si la alimentación es la correcta.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 \begin_inset CommandInset label
 LatexCommand label
 name "sub:Chronopic-puertos-serie-usb"
@@ -1296,7 +1337,7 @@ Nombres de puerto en cada sistema operativo.
 El uso del driver se explica en el siguiente apartado.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Driver USB para Windows
 \end_layout
 
@@ -1355,7 +1396,7 @@ Nuevo hardware encontrado
  es necesario, en el resto de los casos será necesario ejecutar el driver.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Uso del driver
 \end_layout
 
@@ -1379,7 +1420,7 @@ Nuevo hardware encontrado
  para futuras reinstalaciones del sistema operativo.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Chronopic3 en GNU/Linux
 \end_layout
 
@@ -1470,7 +1511,7 @@ url{http://msdark.
  no suponen ningún problema.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 \begin_inset CommandInset label
 LatexCommand label
 name "sub:Detección-del-puerto"
@@ -1647,7 +1688,7 @@ http://mail.gnome.org/archives/chronojump-list/2008-January/msg00012.html
  Se recomienda desactivar éste.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 \begin_inset CommandInset label
 LatexCommand label
 name "sub:Modificación-del-puerto"
@@ -1725,7 +1766,7 @@ reference "sub:Detección-del-puerto"
 .
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Solución de problemas con Chronopic
 \end_layout
 
@@ -1845,14 +1886,11 @@ aceptar
  plataforma conectada si lo desea.
 \end_layout
 
-\begin_layout Standard
-\begin_inset Newpage newpage
-\end_inset
-
-
+\begin_layout Part
+Uso de Chronojump
 \end_layout
 
-\begin_layout Part
+\begin_layout Chapter
 Uso de Chronojump
 \end_layout
 
@@ -2050,7 +2088,7 @@ Todas las modificaciones de sesiones, sujetos y tests, serán actualizadas
  la pérdida de datos ante un error informático.
 \end_layout
 
-\begin_layout Section
+\begin_layout Subsection
 Sesiones
 \end_layout
 
@@ -2169,7 +2207,7 @@ Nueva sesión.
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Creación
 \end_layout
 
@@ -2184,7 +2222,7 @@ Archivo / Crear sesión
  añadir comentarios.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Carga (load)
 \end_layout
 
@@ -2199,7 +2237,7 @@ Archivo / Cargar sesión
  sujetos inscritos en cada una de ellas y de los tests realizados.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Edición
 \end_layout
 
@@ -2213,7 +2251,7 @@ Archivo / Editar sesión
  la evolución de la misma.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Borrado
 \end_layout
 
@@ -2230,7 +2268,7 @@ Archivo / Borrar sesión
  Le aparecerá una ventana de confirmación.
 \end_layout
 
-\begin_layout Section
+\begin_layout Subsection
 Sujetos
 \end_layout
 
@@ -2300,7 +2338,7 @@ Creación de un sujeto.
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Sujeto actual
 \end_layout
 
@@ -2327,7 +2365,7 @@ sujeto actual
 .
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Creación
 \end_layout
 
@@ -2412,7 +2450,7 @@ Creación de diversos sujeto de forma simultánea.
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Carga (load)
 \end_layout
 
@@ -2542,7 +2580,7 @@ Cargar atletas de otra sesión
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Visualización de tests de sujeto
 \end_layout
 
@@ -2555,7 +2593,7 @@ Mostrar todos los tests del sujeto actual
  También puede seleccionar otros sujetos de la sesión actual o de otras.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Edición
 \end_layout
 
@@ -2569,7 +2607,7 @@ Editar sujeto
  Puede aprovechar también para añadir comentarios.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Borrado
 \end_layout
 
@@ -2598,19 +2636,28 @@ sujeto actual
  se cree o cargue un sujeto.
 \end_layout
 
-\begin_layout Section
-Manejo de tests
+\begin_layout Subsection
+Tests
 \end_layout
 
 \begin_layout Standard
-Hasta el momento Chronojump maneja cuatro tipos de tests: saltos, carreras,
- tiempos de reacción y ritmos.
+Hasta el momento Chronojump maneja cinco tipos de tests: saltos, carreras,
+ tiempos de reacción, ritmos y MultiChronopic.
  Más adelante Chronojump podrá manejar otros tests.
  Estos tests son detectados por las señales enviadas por la plataforma de
  contactos cuando el sujeto pisa o despega de la misma.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Chapter
+Tests
+\end_layout
+
+\begin_layout Standard
+Se describe a continuación el manejo de los cinco tipos de tests que permite
+ Chronojump.
+\end_layout
+
+\begin_layout Section
 Saltos
 \end_layout
 
@@ -2657,7 +2704,7 @@ Suponiendo que la posición de despegue del cuerpo sea la misma que en el
  centro de gravedad del deportista.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Ejecución de saltos simples
 \end_layout
 
@@ -2757,7 +2804,7 @@ Plataforma
  mostrará la progresión del salto, que podrá ser detenido haciendo clic
  en el botón 
 \emph on
-Detener
+Terminar
 \emph default
  o cancelado con 
 \emph on
@@ -2848,7 +2895,7 @@ Plataforma
  mostrará la progresión del salto, que podrá ser detenido haciendo clic
  en el botón 
 \emph on
-Detener
+Terminar
 \emph default
  o cancelado con 
 \emph on
@@ -2858,7 +2905,7 @@ Cancelar
  Los saltos repetitivos de tipo ilimitado sólo serán almacenados cuando
  se haga clic en 
 \emph on
-Detener
+Terminar
 \emph default
 .
 \end_layout
@@ -2876,7 +2923,7 @@ Más
  para que otra persona pueda realizar el mismo salto.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Feedback auditivo y visual en los saltos repetitivos: campanas
 \end_layout
 
@@ -2949,7 +2996,7 @@ Campanas - feedback auditivo y visual.
 
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Visualización de saltos
 \end_layout
 
@@ -3005,21 +3052,16 @@ reference "sec:Preferencias"
 \begin_layout Standard
 Puede usar los botones de 
 \emph on
-lupa aumentar
-\emph default
- y 
-\emph on
-lupa disminuir
+lupa
 \emph default
- para facilitar la visualización de los saltos.
- En los saltos repetitivos se muestra además el botón de 
+ (o CTRL z)
 \emph on
-lupa expandir óptimo
+ 
 \emph default
-.
+para facilitar la visualización de los saltos.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Edición de saltos
 \end_layout
 
@@ -3040,7 +3082,7 @@ En los saltos reactivos, ya que por definición están compuestos por un conjunt
  sólo sea seleccionado.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Reparación de saltos reactivos
 \end_layout
 
@@ -3062,7 +3104,7 @@ n
  inferior de dicha ventana.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Borrado de saltos
 \end_layout
 
@@ -3093,7 +3135,7 @@ En los saltos reactivos, ya que por definición están compuestos por un conjunt
  sólo sea seleccionado.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Creación de nuevos tipos de saltos
 \end_layout
 
@@ -3203,7 +3245,7 @@ Creación de nuevo tipo de salto.
 
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Ejemplos de creación de tipos de saltos
 \end_layout
 
@@ -3689,7 +3731,7 @@ Ejemplos de tipos de saltos creados por el usuario.
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Carreras
 \end_layout
 
@@ -3824,7 +3866,7 @@ n
  .
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Ejecución de carreras simples
 \end_layout
 
@@ -3950,7 +3992,7 @@ Plataforma
  abandono, llegada a la segunda pltaforma), que podrá ser detenida haciendo
  clic en el botón 
 \emph on
-Detener
+Terminar
 \emph default
  o cancelada con 
 \emph on
@@ -3973,7 +4015,7 @@ Más
  para que otra persona pueda realizar la misma carrera.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Ejecución de carreras con tramos
 \end_layout
 
@@ -4049,7 +4091,7 @@ Plataforma
  mostrará la progresión de la carrera, que podrá ser detenida haciendo clic
  en el botón 
 \emph on
-Detener
+Terminar
 \emph default
  o cancelada con 
 \emph on
@@ -4059,7 +4101,7 @@ Cancelar
  Las carreras con tramos de tipo ilimitado sólo serán almacenadas cuando
  se haga clic en 
 \emph on
-Detener
+Terminar
 \emph default
 .
 \end_layout
@@ -4078,7 +4120,7 @@ Más
  para que otra persona pueda realizar la misma carrera.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Feedback auditivo y visual en las carreras con tramos: campanas
 \end_layout
 
@@ -4101,7 +4143,7 @@ Campanas
 , podrá configurar estas acciones.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Visualización de carreras
 \end_layout
 
@@ -4157,21 +4199,12 @@ reference "sec:Preferencias"
 \begin_layout Standard
 Puede usar los botones de 
 \emph on
-lupa aumentar
-\emph default
- y 
-\emph on
-lupa disminuir
-\emph default
- para facilitar la visualización de los carreras.
- En las carreras con tramos se muestra además el botón de 
-\emph on
-lupa expandir óptimo
+lupa
 \emph default
-.
+ (o CTRL z) para facilitar la visualización de los carreras.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Edición de carreras
 \end_layout
 
@@ -4192,7 +4225,7 @@ En las carreras con tramos, ya que por definición están compuestas por un
  uno sólo sea seleccionado.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Reparación de carreras con tramos
 \end_layout
 
@@ -4214,7 +4247,7 @@ n
  inferior de dicha ventana.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Borrado de carreras
 \end_layout
 
@@ -4246,7 +4279,7 @@ En los saltos reactivos, ya que por definición están compuestos por un conjunt
  
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Creación de nuevos tipos de carreras
 \end_layout
 
@@ -4954,7 +4987,7 @@ Ejemplos de tipos de carreras creados por el usuario.
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Tiempo de reacción
 \end_layout
 
@@ -4967,7 +5000,7 @@ El programa dispone de un botón que permite detectar el tiempo de reacción
  
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Protocolo
 \end_layout
 
@@ -4982,7 +5015,7 @@ El ayudante estará pulsando algún tipo de pulsador o plataforma, y cuando
  anticipar su acción.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Ejecución de tiempo de reacción
 \end_layout
 
@@ -5013,7 +5046,7 @@ Plataforma
  mostrará la progresión del salto, que podrá ser detenido haciendo clic
  en el botón 
 \emph on
-Detener
+Terminar
 \emph default
  o cancelado con 
 \emph on
@@ -5022,7 +5055,7 @@ Cancelar
 .
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Visualización de tiempo de reacción
 \end_layout
 
@@ -5045,16 +5078,16 @@ Los tiempos de reacción se encuentran asociados a los ejecutantes.
 \begin_layout Standard
 Puede usar los botones de 
 \emph on
-lupa aumentar
+lupa
 \emph default
- y 
+ (o CTRL z)
 \emph on
-lupa disminuir
+ 
 \emph default
- para facilitar la visualización de los tests.
+para facilitar la visualización de los tests.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Edición de tiempos de reacción
 \end_layout
 
@@ -5069,7 +5102,7 @@ Editar tiempo de reacción seleccionado
  
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Borrado de tiempos de reacción
 \end_layout
 
@@ -5095,23 +5128,634 @@ reference "sec:Preferencias"
 ).
 \end_layout
 
+\begin_layout Section
+Pulsos (Ritmos simples)
+\end_layout
+
+\begin_layout Standard
+El programa dispone de un botón que permite realizar un seguimiento de la
+ capacidad de un sujeto en seguir un pulso (ritmo simple).
+ Note que si usted desea detectar un ritmo complejo puede usar la pestaña
+ 
+\begin_inset CommandInset ref
+LatexCommand vref
+reference "sub:MultiChronopic"
+
+\end_inset
+
+
+\emph on
+.
+\end_layout
+
+\begin_layout Standard
+Existen dos tipos de pulsos que usted puede usar:
+\end_layout
+
+\begin_layout Description
+Libre El sujeto evaluado tratará de ser constante en la pulsación que esté
+ manteniendo.
+ El evaluador hará decidirá en qué momento finaliza el registro de datos.
+\end_layout
+
+\begin_layout Description
+Personalizado El sujeto deberá adaptarse a un tempo predefinido y se podrá
+ seleccionar si se desea que el pulso tenga alguna duración concreta o en
+ caso contrario, el evaluador hará decidirá en qué momento finaliza el registro
+ de datos.
+\begin_inset Newline newline
+\end_inset
+
+En cuanto a la definición del tempo, se facilitan dos métodos:
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+segundos permite indicar cuantos segundos deben transcurrir entre un pulso
+ y el siguiente
+\end_layout
+
+\begin_layout Description
+ppm permite indicar cuantas pulsaciones se deberán realizar por minuto
+\end_layout
+
+\begin_layout Standard
+Note que los dos métodos están relacionados de manera que si selecciona
+ un valor en segundos, éste modificará el valor de ppm, de manera que, por
+ ejemplo 0,5 segundos corresponderán a 120 ppm.
+ El usuario decide qué método le resulta más conveniente.
+ 
+\end_layout
+
+\end_deeper
 \begin_layout Subsection
-Pulsos (Ritmos)
+Ejecución de pulsos
 \end_layout
 
 \begin_layout Standard
-[Pendiente de documentar]
+Desde la pestaña de 
+\emph on
+pulso
+\emph default
+ y con el ayudante sin tocar el pulsador o plataforma, haga clic en el botón:
+ 
+\emph on
+Libre
+\emph default
+, o en el botón 
+\emph on
+Personalizado.
+\end_layout
+
+\begin_layout Standard
+En caso de que esté seleccionado el valor 
+\emph on
+Simulado
+\emph default
+ en el menú de 
+\emph on
+Plataforma
+\emph default
+, el programa simulará un pulso.
+ La Barra de desplazamiento de la parte inferior izquierda de la pantalla
+ mostrará la progresión del test, que podrá ser detenido haciendo clic en
+ el botón 
+\emph on
+Terminar
+\emph default
+ o cancelado con 
+\emph on
+Cancelar
+\emph default
+.
 \end_layout
 
 \begin_layout Subsection
-MultiChronopic
+Visualización de pulsos
 \end_layout
 
 \begin_layout Standard
-[Pendiente de documentar]
+Desde la pestaña de 
+\emph on
+pulse
+\emph default
+ podrá ver los tests del mismo tipo que se han realizado en una sesión.
+ 
+\end_layout
+
+\begin_layout Standard
+Los tests se encuentran asociados a los ejecutantes.
+ El orden de aparición de los tests en cada ejecutante es el cronológico
+ de forma que el último realizado por un sujeto aparecerá al final del listado
+ de sus tests.
+\end_layout
+
+\begin_layout Standard
+Puede usar los botones de 
+\emph on
+lupa
+\emph default
+ (o CTRL z) para facilitar la visualización de los tests.
+\end_layout
+
+\begin_layout Subsection
+Edición pulsos
+\end_layout
+
+\begin_layout Standard
+Puede añadir comentarios a un test o cambiar el ejecutante (si olvidó modificar
+ el sujeto actual previamente) seleccionando el test deseado y haciendo
+ clic en el botón de 
+\emph on
+Editar pulso seleccionado
+\emph default
+ o en su equivalente en el menú.
+ 
+\end_layout
+
+\begin_layout Subsection
+Borrado de pulsos
+\end_layout
+
+\begin_layout Standard
+Para borrar un pulso, selecciónelo y haga clic en el botón 
+\emph on
+Borrar pulso seleccionado
+\emph default
+ o su equivalente en el menú.
+ El borrado del test pedirá confirmación en caso de que la opción de confirmació
+n de borrado de tests esté activada en el menú de 
+\emph on
+Preferencias
+\emph default
+ (más información en la sección 
+\begin_inset CommandInset ref
+LatexCommand vref
+reference "sec:Preferencias"
+
+\end_inset
+
+).
 \end_layout
 
 \begin_layout Section
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:MultiChronopic"
+
+\end_inset
+
+MultiChronopic
+\end_layout
+
+\begin_layout Standard
+MultiChronopic permite realizar cualquier tipo de test en que se usen dos,
+ tres o cuatro Chronopics para mediciones independientes.
+ Recuerde que para el resto de tests se pueden conectar múltiples dispositivos
+ a un sólo Chronopic al mismo tiempo, pero se entiende que se estará en
+ contacto con sólo o uno de ellos.
+ A diferencia de los tests anteriores, MultiChronopic permite el uso de
+ varios Chronopics, cada uno de ellos conectados a uno o más dispostivos
+ de detección, de manera que se pueda estar en contacto con más de uno a
+ la vez.
+ Su uso depende del usuario del programa, pero a continuación se indican
+ algunos ejemplos:
+\end_layout
+
+\begin_layout Itemize
+Test de marcha estático sobre dos plataformas: se pretende evaluar el tempo
+ de pisada del pie izquierdo y el derecho, pero como el practicante está
+ a menudo pisando ambas plataformas, se requiere que cada una de ellas esté
+ conectada a un Chronopic y sean independientes.
+\end_layout
+
+\begin_layout Itemize
+Estudio de los tiempos de contacto en la batida de un salto de voleibol:
+ Un pie pisa una plataforma, el otro pisa la otra, y ambos despegan.
+ Para conocer los distintos tiempos es necesario 2 plataformas y 2 chronopics
+ independientes.
+\end_layout
+
+\begin_layout Itemize
+Plate Tapping con acción coordinativa extra: Contruimos un dispositivo de
+ detección de tipo Plate Tapping en que el evaluado debe tocar un lado y
+ otro cuanto más rápido posible con una sóla mano.
+ A cada uno de los dos lados colocamos alguna pieza conductiva que conectada
+ a un sólo Chronopic nos registre los distintos tiempos.
+ Además, si pretendemos que, por ejemplo, cada 3 contactos el sujeto deba
+ realizar alguna acción con el pie, podemos situar una plataforma de contacto
+ en el suelo y conectarla a un segundo Chronopic.
+\end_layout
+
+\begin_layout Itemize
+Cronometrado de dos, tres o cuatro sujetos en carreras de ida y vuelta en
+ una pista: Se coloca una plataforma en el inicio de cada carril y una en
+ el final, ambas conectadas a un Chronopic pues un sujeto no puede estar
+ en ambas a la vez.
+ De este modo, si hay 4 sujetos tendremos 4 carriles, 4 Chronopics y 8 plataform
+as.
+ Podremos medir los tiempos y por tanto velocidades de los 4 de forma independie
+nte.
+ 
+\end_layout
+
+\begin_layout Subsection
+Sincronización
+\end_layout
+
+\begin_layout Standard
+Algunos de estos tests requerirán de una sincronización pues se pretende
+ que los distintos Chronopics inicien en el mismo momento.
+ En otros, en cambio, la sincronización no será necesaria.
+ En los tres primeros ejemplos citados, la sincronización es obligatoria
+ para que no haya error en la comparación del tiempo que transcurre entre
+ una pisada y la otra (ejemplo 1 y 2), o entre un contacto con el tapping
+ y la pisada en el suelo (ejemplo 3).
+ Dicha sincronización es seleccionable a partir de una casilla de verificación
+ y se llevará a cabo realizando contacto con varios dispositivos a la vez,
+ o tocando el botón 
+\emph on
+Test
+\emph default
+ de los Chronopics.
+ En el Foro de Chronojump 
+\begin_inset Flex URL
+status open
+
+\begin_layout Plain Layout
+
+http://foro.chronojump.org
+\end_layout
+
+\end_inset
+
+ se describirá un método para la contrucción de un dispositivo de sincronización
+ profesional.
+\end_layout
+
+\begin_layout Standard
+La sincronización en el cuarto ejemplo requiere discusión.
+ Si los sujetos salen en el momento que quieren y lo que se pretende únicamente
+ es registrar el tiempo entre un contacto y el siguiente, no será necesaria
+ la sincronización.
+ Por otro lado, sí que será necesaria la sincronización en caso de que se
+ realice una salida a partir de la señal de un evaluador externo, y se pretende
+ conocer el tiempo entre dicha señal (a partir de algún contacto) y el primer
+ contacto de cada atleta.
+\end_layout
+
+\begin_layout Subsection
+Borrado del primer tiempo
+\end_layout
+
+\begin_layout Standard
+En algunos tests, el tiempo des del inicio del mismo hasta el primer cambio
+ de estado no es relevante.
+ Tal vez el sujeto pueda iniciar el test cuando lo desee, y si se desea
+ comparar la capacidad del sujeto de seguir una pulsación independiente
+ con ambas manos (dos Chronopics), el tiempo desde que inició el test hasta
+ que se produjo el primer contacto no es relevante y debe ser eliminado
+ para que no contamine los promedios.
+\end_layout
+
+\begin_layout Subsection
+Configuración de los puertos
+\end_layout
+
+\begin_layout Standard
+Si el primer Chronopic se encuentra activado, se iluminará el círculo verde
+ a la derecha del número 1 (ver figura 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Gráfico-de-multiChronopic_mc"
+
+\end_inset
+
+).
+ No se podrá realizar un test MultiChronopic hasta que otro Chronopic sea
+ activado.
+ Para activar un segundo, tercer y cuarto Chronopic, haremos click en la
+ caja de selección a la derecha de los círculos, seleccionando el puerto
+ en el que está conectado (Se recuerda que la información sobre los puertos
+ para la conexión con Chronopic se trata en el apartado 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "par:Chronopic:-concepto-y-configuracion"
+
+\end_inset
+
+).
+ Cuando hayamos seleccionado el puerto, haremos click en el botón de la
+ derecha para realizar la conexión.
+ Para cada activación exitosa uno de los círculos rojos se convertirá en
+ verde.
+\end_layout
+
+\begin_layout Subsection
+Visualización de resultados de MultiChronopic
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+	filename multiChronopic_mc.png
+	lyxscale 50
+	scale 48
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Gráfico-de-multiChronopic_mc"
+
+\end_inset
+
+Captura de pantalla de MultiChronopic.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+En la ventana de resultados, vemos distintas columnas, en el caso de que
+ se hayan usado dos Chronopics:
+\end_layout
+
+\begin_layout Itemize
+Tiempo: El tiempo desde el inicio del test
+\end_layout
+
+\begin_layout Itemize
+Estado CP1 y CP2: Información sobre qué cambio ha sucedido en cada Chronopic
+ (si lo ha habido) en el momento temporal indicado en la columna anterior.
+\end_layout
+
+\begin_layout Itemize
+Cambio CP1 y CP2: Tiempo transcurrido desde el último cambio de estado en
+ cada Chronopic.
+\end_layout
+
+\begin_layout Itemize
+IN-IN CP1 y CP2: Tiempo transcurrido desde que cada Chronopic cambió a estado
+ 
+\emph on
+Dentro
+\emph default
+ hasta que volvió al mismo estado.
+\end_layout
+
+\begin_layout Itemize
+OUT-OUT CP1 y CP2: Tiempo transcurrido desde que cada Chronopic cambió a
+ estado 
+\emph on
+Fuera
+\emph default
+ hasta que volvió al mismo estado.
+\end_layout
+
+\begin_layout Itemize
+Descripción: Comentarios opcionales sobre el test ejecutado en concreto.
+\end_layout
+
+\begin_layout Standard
+En el ejemplo de la figura 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Gráfico-de-multiChronopic_mc"
+
+\end_inset
+
+, se muestra un test MultiChronopic de duración: 0,928 segundos en que hay
+ 10 cambios de estado.
+ Se denomina 
+\emph on
+MultiChronopic 1, 2, 10n
+\emph default
+ porque se ha realizado con 2 Chronopics (Chronopics 1 y 2), y tiene 10
+ cambios.
+ Si observamos el cambio número 5, se produce a los 0,539 segundos.
+ Ã?ste representa un cambio de estado del Chronopic 1 de 
+\emph on
+Fuera 
+\emph default
+(sin contacto) a 
+\emph on
+Dentro 
+\emph default
+(contacto).
+ Tal y como indica en 
+\emph on
+Cambio CP1
+\emph default
+, han transcurrido 0,225 segundos desde que dicho Chronopic estuvo en su
+ estado anterior (
+\emph on
+Fuera
+\emph default
+) y 0,353 segundos desde que este Chronopic estuvo 
+\emph on
+(Dentro
+\emph default
+) tal y como refleja IN-IN CP1.
+\end_layout
+
+\begin_layout Standard
+Observe también que las columnas IN-IN y OUT-OUT disponen de un promedio
+ de valores y una desviación estándard (SD).
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace defskip
+\end_inset
+
+Del mismo modo que el resto de tests, los tests se encuentran asociados
+ a los ejecutantes.
+ El orden de aparición de cada test en cada ejecutante es el cronológico
+ de forma que el último realizado por un sujeto aparecerá al final del listado
+ de sus tests.
+ Puede usar los botones de 
+\emph on
+lupa
+\emph default
+ (o CTRL z)
+\emph on
+ 
+\emph default
+para facilitar la visualización de los tests.
+\end_layout
+
+\begin_layout Subsection
+Edición y visualización de test MultiChronopic
+\end_layout
+
+\begin_layout Standard
+Puede añadir comentarios a un test o cambiar el ejecutante (si olvidó modificar
+ el sujeto actual previamente) seleccionando el test deseado y haciendo
+ clic en el botón de 
+\emph on
+Editar MultiChronopic
+\emph default
+ o en su equivalente en el menú.
+ 
+\end_layout
+
+\begin_layout Standard
+Para borrar un test MultiChronopic, selecciónelo y haga clic en el botón
+ 
+\emph on
+Borrar MultiChronopic seleccionado
+\emph default
+ o su equivalente en el menú.
+ El borrado del test pedirá confirmación en caso de que la opción de confirmació
+n de borrado de tests esté activada en el menú de 
+\emph on
+Preferencias
+\emph default
+ (más información en la sección 
+\begin_inset CommandInset ref
+LatexCommand vref
+reference "sec:Preferencias"
+
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Subsection
+Análisis de carrera
+\end_layout
+
+\begin_layout Standard
+Además de los ejemplos propuestos, se ha incluido un test para analizar
+ las carreras elaborado por Josep Ma Padullés como parte de su Tésis Doctoral.
+ Como dispositivos de detección se usan dos barreras de fotocéluas y una
+ pista de plataformas de contactos.
+ 
+\end_layout
+
+\begin_layout Standard
+Las dos fotocélulas irán conectadas a un único Chronopic y permitirán conocer
+ el tiempo entre las mismas.
+ El evaluador indicará al programa la distancia entre ellas y de este modo
+ se conocerá la velocidad media.
+ La pista de plataformas irá conectada a otro Chronopic que captará los
+ tiempos de contacto y de vuelo.
+ En este caso no se requiere sincronización entre ambos Chronopics.
+\end_layout
+
+\begin_layout Standard
+A partir de los datos obtenidos por ambos Chronopics, se obtienen la velocidad
+ media de la carrera, así como los siguientes datos para cada uno de los
+ pasos:
+\end_layout
+
+\begin_layout Itemize
+Tiempos de contacto
+\end_layout
+
+\begin_layout Itemize
+Tiempos de vuelo
+\end_layout
+
+\begin_layout Itemize
+Tiempo total
+\end_layout
+
+\begin_layout Itemize
+Frecuencia
+\end_layout
+
+\begin_layout Itemize
+Amplitud
+\end_layout
+
+\begin_layout Itemize
+Altura
+\end_layout
+
+\begin_layout Itemize
+Ã?ngulo de despegue
+\end_layout
+
+\begin_layout Standard
+Puede ver un ejemplo en la figura 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Gráfico-de-multiChronopic_ra"
+
+\end_inset
+
+.
+ Note que el botón de ejecución de Análisis de Carrera se activa cuando
+ se haya introducido la distancia entre las fotocélulas.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+	filename multiChronopic_ra.png
+	lyxscale 50
+	scale 50
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Gráfico-de-multiChronopic_ra"
+
+\end_inset
+
+Captura de pantalla de MultiChronopic con resultados para 
+\emph on
+Análisis de carrera
+\emph default
+.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Chapter
 Estadísticas y gráficas
 \end_layout
 
@@ -5177,7 +5821,7 @@ La versión 0.4 de Chronojump sólo contempla estadísticos referentes a saltos.
  En futuras versiones se incluirán también estadísticos de carreras.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Tipos, subtipos y aplicación de estadísticas
 \end_layout
 
@@ -5263,7 +5907,7 @@ reference "sub:Exportación-a-hoja"
 .
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Sumario de sesión
 \end_layout
 
@@ -5273,7 +5917,7 @@ Ofrece un listado de las medias o valores máximos de varios estadísticos.
  puede configurarse la aplicación a diferentes sujetos o saltos.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Sumario de saltador
 \end_layout
 
@@ -5288,7 +5932,7 @@ aplicación
 , se refiere al sujeto al que es aplicado el estadístico.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Saltos simples
 \end_layout
 
@@ -5317,7 +5961,7 @@ Fuerza-velocidad
 Picos de potencia de Lewis, Harman, Sayers (2), Shetty, Cannavan, Lara(5)
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Sin índices
 \end_layout
 
@@ -5330,7 +5974,7 @@ aplicación
 .
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Fuerza-velocidad
 \end_layout
 
@@ -5345,7 +5989,7 @@ Estadísitico de salto simple en que se muestra la relación de fuerza-velocidad
  sin carga adicional.
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Ã?ndice de elasticidad
 \end_layout
 
@@ -5358,7 +6002,7 @@ Estadísitico de salto simple en que se muestra el índice de elasticidad
 entre los saltos SJ y CMJ.
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 �ndice de utilización de brazos
 \end_layout
 
@@ -5371,7 +6015,7 @@ Estadísitico de salto simple en que se muestra el índice de utilización
 entre los saltos CMJ y ABK.
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Picos de potencia
 \end_layout
 
@@ -5430,7 +6074,7 @@ Estadísticas de saltos simples.
 
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Saltos con tiempo de contacto
 \end_layout
 
@@ -5458,7 +6102,7 @@ aplicación
 , se refiere al tipo de salto al que es aplicado el estadístico.
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Ã?ndice Dj
 \end_layout
 
@@ -5471,7 +6115,7 @@ Estudio de la relación tiempo de vuelo / tiempo de contacto en un salto
 .
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Ã?ndice Q
 \end_layout
 
@@ -5485,7 +6129,7 @@ Estudio de la relación tiempo de vuelo / tiempo de contacto en un salto
  
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Saltos reactivos
 \end_layout
 
@@ -5510,11 +6154,11 @@ Evolución
 \end_layout
 
 \begin_layout Itemize
-Desviación estándard del promedio usando RjIndex
+Promedio y Desviación estándard usando RjIndex
 \end_layout
 
 \begin_layout Itemize
-Desviación estándard del promedio usando QIndex
+Promedio y Desviación estándard usando QIndex
 \end_layout
 
 \begin_layout Standard
@@ -5525,7 +6169,7 @@ aplicación
 , se refiere al tipo de salto al que es aplicado el estadístico.
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Ã?ndice medio
 \end_layout
 
@@ -5538,7 +6182,7 @@ Estudio de la relación tiempo de vuelo / tiempo de contacto en un salto
 .
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Potencia (Bosco)
 \end_layout
 
@@ -5551,7 +6195,7 @@ Estudio de la relación tiempo de vuelo / tiempo de contacto en un salto
  .
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Evolución
 \end_layout
 
@@ -5579,23 +6223,33 @@ marcar los mejores 'n' consecutivos
  Si selecciona el valor 1 entonces el mejor subsalto será resaltado.
 \end_layout
 
-\begin_layout Paragraph
-Desviación estándard del promedio usando RjIndex
+\begin_layout Subsubsection
+Promedio y Desviación estándard usando RjIndex
 \end_layout
 
 \begin_layout Standard
-[Pendiente de documentar]
+Estudio del índice 
+\begin_inset Formula $RjIndex=\frac{TV-TC}{TC}*100$
+\end_inset
+
+ para cada uno de los saltos de un test reactivo.
+ Se muestra el promedio y la desviación estándard conseguidos.
 \end_layout
 
-\begin_layout Paragraph
-Desviación estándard del promedio usando QIndex
+\begin_layout Subsubsection
+Promedio y Desviación estándard usando QIndex
 \end_layout
 
 \begin_layout Standard
-[Pendiente de documentar]
+Estudio del índice 
+\begin_inset Formula $IndiceQ=\frac{TV}{TC}*100$
+\end_inset
+
+ para cada uno de los saltos de un test reactivo.
+ Se muestra el promedio y la desviación estándard conseguidos.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Estadísticas multisesión
 \end_layout
 
@@ -5623,7 +6277,7 @@ Seleccionar
  la sesión actual entre las mismas.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Selección de saltos a mostrar
 \end_layout
 
@@ -5685,7 +6339,7 @@ La mayoría de los estadísticos ofrecen las cuatro opciones, en los que se
  omita alguno de estos modos es porque se cree que no tendría sentido generarlo.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Otras configuraciones
 \end_layout
 
@@ -5694,7 +6348,7 @@ Se presentan a continuación otros botones de acción vinculados al estadístico
  mostrado.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Enunciado de los estadísticos
 \end_layout
 
@@ -5705,7 +6359,7 @@ Todo estadístico dispone de un enunciado que se crea automáticamente en
  El enunciado puede ayudarle a entender el estadístico.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Distinción de sexo
 \end_layout
 
@@ -5731,7 +6385,7 @@ Cuando las filas de resultado de los estadísticos correspondan con saltadores,
 Este botón podrá ayudarle a realizar comparaciones intra e intersexos.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Actualización automática
 \end_layout
 
@@ -5752,7 +6406,7 @@ Actualizar estadísticas
  siempre que desee que los datos de estadíticos sea regenerados.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Marcado de filas
 \end_layout
 
@@ -5782,7 +6436,7 @@ reference "sec:Generación-de-Informes"
  respectivamente.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Creación de gráficos
 \begin_inset CommandInset label
 LatexCommand label
@@ -5852,7 +6506,7 @@ Ejemplo de gráfico de �ndice DJ (los nombres de los saltadores se han ocultado
 
 \end_layout
 
-\begin_layout Section
+\begin_layout Chapter
 Informes y exportaciones
 \end_layout
 
@@ -5873,7 +6527,7 @@ Exportación a hoja de cálculo
  de propósito general (hojas de cálculo).
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Generación de informes
 \begin_inset CommandInset label
 LatexCommand label
@@ -5964,7 +6618,7 @@ name "fig:Ejemplo-de-informe"
 
 \end_inset
 
-Ejemplo de informe
+Ejemplo de informe.
 \end_layout
 
 \end_inset
@@ -5977,7 +6631,7 @@ Ejemplo de informe
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Exportación a hoja de cálculo
 \begin_inset CommandInset label
 LatexCommand label
@@ -6000,22 +6654,20 @@ Archivo / Exportar sesión a formato CSV
 \end_layout
 
 \begin_layout Standard
-En caso de que tenga problemas en la importación de los datos, seguramente
- causados por un problema de 
+Para la exportación a CSV hemos elegido el carácter 
+\emph on
+punto y coma
+\emph default
+ ';' (en lugar del carácter coma
 \emph on
-localización
+) para
 \emph default
- en que se confunde el carácter coma ',' en los decimales con el mismo caracter
- usado para la separación entre valores o números -problema que se ha detectado
- en algunas versiones de Microsft Excel-, se recomienda abrir el fichero
- con OpenOffice o con algún editor de texto que permita reemplazar de forma
- automatizada los carácteres conflictivos y después guardar el archivo de
- forma que MS Excel pueda abrirlo.
- En un futuro breve se estudiará qué carácter da menos problemas en los
- distintos programas de hoja de cálculo.
+ separar las distintas columnas de datos.
+ Recuerde indicarlo en el momento en que importe el archivo CSV en su hoja
+ de cálculo.
 \end_layout
 
-\begin_layout Section
+\begin_layout Chapter
 Preferencias
 \begin_inset CommandInset label
 LatexCommand label
@@ -6027,14 +6679,35 @@ name "sec:Preferencias"
 \end_layout
 
 \begin_layout Standard
-Se ha previsto una ventana de preferencias en 
+La ventana de preferencias 
 \emph on
 Archivos / Preferencias
 \emph default
- con la finalidad de cambiar el puerto en el que está conectado Chronopic.
- Se muestra una ventana de ayuda sobre puertos haciendo clic en el icono
- situado en la parte superior derecha de la ventana (en la imagen se muestra
- como un flotador).
+, se divide en 4 pestañas:
+\end_layout
+
+\begin_layout Description
+Puerto
+\begin_inset space ~
+\end_inset
+
+de
+\begin_inset space ~
+\end_inset
+
+Chronopic (figura 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Preferencias1"
+
+\end_inset
+
+) Permite cambiar el puerto en el que está conectado Chronopic, y se muestra
+ una ventana de ayuda sobre puertos haciendo clic en el botón 
+\emph on
+Ayuda con el puerto
+\emph default
+.
  La conexión con el cronómetro Chronopic se trata específicamente en el
  apartado 
 \begin_inset CommandInset ref
@@ -6046,10 +6719,136 @@ reference "par:Chronopic:-concepto-y-configuracion"
 .
 \end_layout
 
+\begin_layout Description
+Base
+\begin_inset space ~
+\end_inset
+
+de
+\begin_inset space ~
+\end_inset
+
+datos (figura 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Preferencias2"
+
+\end_inset
+
+) Muestra donde se encuentra, permite abrir la carpeta, y también permite
+ realizar una copia de la misma en algún directorio de elección del usuario.
+ Se muestran dos posibles ubicaciones de la base de datos pues algunos sistemas
+ operativos ofrecen un lugar donde guardar los datos mientras el programa
+ se ejecuta, y otro cuando éste se ha cerrado.
+ 
+\end_layout
+
+\begin_layout Description
+Mostrar (figura 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Preferencias3"
+
+\end_inset
+
+) Opciones sobre qué columnas de información se desea mostrar en las ventanas
+ de datos y la ventana de estadísticas.
+\end_layout
+
+\begin_layout Description
+Otros (figura 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Preferencias4"
+
+\end_inset
+
+) Las dos primeras opciones se refieren al número de decimales (recomendado
+ 3), y al borrado de tests.
+ La última acción es específica de los saltos reactivos limitados por tiempo.
+ Si usted usa dichos tests, seleccione aquí cuál es el comportamiento que
+ usted prefiere en el caso de que un sujeto se encuentre en el aire en el
+ momento en que se termine el tiempo definido.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+	filename Preferencias-1.png
+	scale 50
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Preferencias1"
+
+\end_inset
+
+Preferencias - pestaña 1.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
 \begin_layout Standard
-Además esta ventana permite modificar el número de decimales mostrados,
- las unidades usadas, la visualización de columnas y la pertinencia de la
- pregunta de confirmación del borrado de tests.
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+	filename Preferencias-2.png
+	scale 50
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Preferencias2"
+
+\end_inset
+
+Preferencias - pestaña 2.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
 \end_layout
 
 \begin_layout Standard
@@ -6061,7 +6860,7 @@ status open
 \begin_layout Plain Layout
 \align center
 \begin_inset Graphics
-	filename Captura-Preferencias.png
+	filename Preferencias-3.png
 	scale 50
 
 \end_inset
@@ -6075,11 +6874,51 @@ status open
 \begin_layout Plain Layout
 \begin_inset CommandInset label
 LatexCommand label
-name "fig:Preferencias"
+name "fig:Preferencias3"
 
 \end_inset
 
-Preferencias
+Preferencias - pestaña 3.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+	filename Preferencias-4.png
+	scale 50
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Preferencias4"
+
+\end_inset
+
+Preferencias - pestaña 4.
 \end_layout
 
 \end_inset
diff --git a/manual/chronojump_manual_es.lyx~ b/manual/chronojump_manual_es.lyx~
index 34da783..13da17a 100644
--- a/manual/chronojump_manual_es.lyx~
+++ b/manual/chronojump_manual_es.lyx~
@@ -2,10 +2,11 @@
 \lyxformat 345
 \begin_document
 \begin_header
-\textclass article
+\textclass book
 \begin_preamble
 \usepackage{a4wide}
 \usepackage{url}
+\pagenumbering{roman}
 \end_preamble
 \use_default_options false
 \language spanish
@@ -40,7 +41,7 @@
 \papersides 1
 \paperpagestyle default
 \tracking_changes false
-\output_changes true
+\output_changes false
 \author "" 
 \author "" 
 \end_header
@@ -64,23 +65,72 @@ Xavier de Blas Foix
 \end_layout
 
 \begin_layout Standard
-\begin_inset Newpage newpage
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+frontmatter
+\end_layout
+
 \end_inset
 
 
+\end_layout
+
+\begin_layout Standard
 \begin_inset CommandInset toc
 LatexCommand tableofcontents
 
 \end_inset
 
 
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
 \begin_inset Newpage newpage
 \end_inset
 
 
 \end_layout
 
-\begin_layout Section
+\begin_layout Standard
+\begin_inset FloatList table
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset FloatList figure
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+mainmatter
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Chapter
 Introducción: Chronojump un proyecto colaborativo de software libre en las
  ciencias del deporte
 \end_layout
@@ -158,7 +208,7 @@ Otros tests
 Obtención y configuración del software y el hardware
 \end_layout
 
-\begin_layout Section
+\begin_layout Chapter
 Obtención del software y el hardware
 \end_layout
 
@@ -212,7 +262,7 @@ Ordenador con sistema operativo Windows o Linux, conectando al cronómetro
 A continuación se explica cada uno de estos apartados
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Instalación del software Chronojump
 \end_layout
 
@@ -248,7 +298,7 @@ http://www.chronojump.org/faq_software_es.html
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Construcción del dispositivo de detección
 \end_layout
 
@@ -268,7 +318,7 @@ http://chronojump.org/multimedia_es.html
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 \begin_inset CommandInset label
 LatexCommand label
 name "sub:Construcción-y-obtención-chronopic"
@@ -300,7 +350,7 @@ http://chronojump.org/multimedia_es.html
 
 \end_layout
 
-\begin_layout Section
+\begin_layout Chapter
 \begin_inset CommandInset label
 LatexCommand label
 name "par:Chronopic:-concepto-y-configuracion"
@@ -831,7 +881,7 @@ En septiembre de 2007, existe el Chronopic 1.0 y se está desarrollando Chronopi
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Montaje de Chronopic3
 \end_layout
 
@@ -890,7 +940,7 @@ Montaje del Chronopic3.
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Conexiones de Chronopic
 \end_layout
 
@@ -954,7 +1004,7 @@ vos de detección.
  cronometrar ritmos complejos u otras aplicaciones.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Funcionamiento de Chronopic
 \end_layout
 
@@ -971,7 +1021,7 @@ Chronopic dispone de una luz que cuando está encendida indica que el sujeto
  misma.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 \begin_inset CommandInset label
 LatexCommand label
 name "sub:Alimentación-de-Chronopic"
@@ -996,7 +1046,7 @@ Continuando con las antiguas Chronopics serie, la conexión de la batería
  Esta es una buena prueba para saber si la alimentación es la correcta.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 \begin_inset CommandInset label
 LatexCommand label
 name "sub:Chronopic-puertos-serie-usb"
@@ -1296,7 +1346,7 @@ Nombres de puerto en cada sistema operativo.
 El uso del driver se explica en el siguiente apartado.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Driver USB para Windows
 \end_layout
 
@@ -1355,7 +1405,7 @@ Nuevo hardware encontrado
  es necesario, en el resto de los casos será necesario ejecutar el driver.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Uso del driver
 \end_layout
 
@@ -1379,7 +1429,7 @@ Nuevo hardware encontrado
  para futuras reinstalaciones del sistema operativo.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Chronopic3 en GNU/Linux
 \end_layout
 
@@ -1470,7 +1520,7 @@ url{http://msdark.
  no suponen ningún problema.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 \begin_inset CommandInset label
 LatexCommand label
 name "sub:Detección-del-puerto"
@@ -1647,7 +1697,7 @@ http://mail.gnome.org/archives/chronojump-list/2008-January/msg00012.html
  Se recomienda desactivar éste.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 \begin_inset CommandInset label
 LatexCommand label
 name "sub:Modificación-del-puerto"
@@ -1725,7 +1775,7 @@ reference "sub:Detección-del-puerto"
 .
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Solución de problemas con Chronopic
 \end_layout
 
@@ -1845,14 +1895,11 @@ aceptar
  plataforma conectada si lo desea.
 \end_layout
 
-\begin_layout Standard
-\begin_inset Newpage newpage
-\end_inset
-
-
+\begin_layout Part
+Uso de Chronojump
 \end_layout
 
-\begin_layout Part
+\begin_layout Chapter
 Uso de Chronojump
 \end_layout
 
@@ -2050,7 +2097,7 @@ Todas las modificaciones de sesiones, sujetos y tests, serán actualizadas
  la pérdida de datos ante un error informático.
 \end_layout
 
-\begin_layout Section
+\begin_layout Subsection
 Sesiones
 \end_layout
 
@@ -2169,7 +2216,7 @@ Nueva sesión.
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Creación
 \end_layout
 
@@ -2184,7 +2231,7 @@ Archivo / Crear sesión
  añadir comentarios.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Carga (load)
 \end_layout
 
@@ -2199,7 +2246,7 @@ Archivo / Cargar sesión
  sujetos inscritos en cada una de ellas y de los tests realizados.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Edición
 \end_layout
 
@@ -2213,7 +2260,7 @@ Archivo / Editar sesión
  la evolución de la misma.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Borrado
 \end_layout
 
@@ -2230,7 +2277,7 @@ Archivo / Borrar sesión
  Le aparecerá una ventana de confirmación.
 \end_layout
 
-\begin_layout Section
+\begin_layout Subsection
 Sujetos
 \end_layout
 
@@ -2300,7 +2347,7 @@ Creación de un sujeto.
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Sujeto actual
 \end_layout
 
@@ -2327,7 +2374,7 @@ sujeto actual
 .
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Creación
 \end_layout
 
@@ -2412,7 +2459,7 @@ Creación de diversos sujeto de forma simultánea.
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Carga (load)
 \end_layout
 
@@ -2542,7 +2589,7 @@ Cargar atletas de otra sesión
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Visualización de tests de sujeto
 \end_layout
 
@@ -2555,7 +2602,7 @@ Mostrar todos los tests del sujeto actual
  También puede seleccionar otros sujetos de la sesión actual o de otras.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Edición
 \end_layout
 
@@ -2569,7 +2616,7 @@ Editar sujeto
  Puede aprovechar también para añadir comentarios.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Subsubsection
 Borrado
 \end_layout
 
@@ -2598,19 +2645,28 @@ sujeto actual
  se cree o cargue un sujeto.
 \end_layout
 
-\begin_layout Section
-Manejo de tests
+\begin_layout Subsection
+Tests
 \end_layout
 
 \begin_layout Standard
-Hasta el momento Chronojump maneja cuatro tipos de tests: saltos, carreras,
- tiempos de reacción y ritmos.
+Hasta el momento Chronojump maneja cinco tipos de tests: saltos, carreras,
+ tiempos de reacción, ritmos y MultiChronopic.
  Más adelante Chronojump podrá manejar otros tests.
  Estos tests son detectados por las señales enviadas por la plataforma de
  contactos cuando el sujeto pisa o despega de la misma.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Chapter
+Tests
+\end_layout
+
+\begin_layout Standard
+Se describe a continuación el manejo de los cinco tipos de tests que permite
+ Chronojump.
+\end_layout
+
+\begin_layout Section
 Saltos
 \end_layout
 
@@ -2657,7 +2713,7 @@ Suponiendo que la posición de despegue del cuerpo sea la misma que en el
  centro de gravedad del deportista.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Ejecución de saltos simples
 \end_layout
 
@@ -2757,7 +2813,7 @@ Plataforma
  mostrará la progresión del salto, que podrá ser detenido haciendo clic
  en el botón 
 \emph on
-Detener
+Terminar
 \emph default
  o cancelado con 
 \emph on
@@ -2848,7 +2904,7 @@ Plataforma
  mostrará la progresión del salto, que podrá ser detenido haciendo clic
  en el botón 
 \emph on
-Detener
+Terminar
 \emph default
  o cancelado con 
 \emph on
@@ -2858,7 +2914,7 @@ Cancelar
  Los saltos repetitivos de tipo ilimitado sólo serán almacenados cuando
  se haga clic en 
 \emph on
-Detener
+Terminar
 \emph default
 .
 \end_layout
@@ -2876,7 +2932,7 @@ Más
  para que otra persona pueda realizar el mismo salto.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Feedback auditivo y visual en los saltos repetitivos: campanas
 \end_layout
 
@@ -2949,7 +3005,7 @@ Campanas - feedback auditivo y visual.
 
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Visualización de saltos
 \end_layout
 
@@ -3005,21 +3061,16 @@ reference "sec:Preferencias"
 \begin_layout Standard
 Puede usar los botones de 
 \emph on
-lupa aumentar
-\emph default
- y 
-\emph on
-lupa disminuir
+lupa
 \emph default
- para facilitar la visualización de los saltos.
- En los saltos repetitivos se muestra además el botón de 
+ (o CTRL z)
 \emph on
-lupa expandir óptimo
+ 
 \emph default
-.
+para facilitar la visualización de los saltos.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Edición de saltos
 \end_layout
 
@@ -3040,7 +3091,7 @@ En los saltos reactivos, ya que por definición están compuestos por un conjunt
  sólo sea seleccionado.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Reparación de saltos reactivos
 \end_layout
 
@@ -3062,7 +3113,7 @@ n
  inferior de dicha ventana.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Borrado de saltos
 \end_layout
 
@@ -3093,7 +3144,7 @@ En los saltos reactivos, ya que por definición están compuestos por un conjunt
  sólo sea seleccionado.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Creación de nuevos tipos de saltos
 \end_layout
 
@@ -3203,7 +3254,7 @@ Creación de nuevo tipo de salto.
 
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Ejemplos de creación de tipos de saltos
 \end_layout
 
@@ -3689,7 +3740,7 @@ Ejemplos de tipos de saltos creados por el usuario.
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Carreras
 \end_layout
 
@@ -3824,7 +3875,7 @@ n
  .
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Ejecución de carreras simples
 \end_layout
 
@@ -3950,7 +4001,7 @@ Plataforma
  abandono, llegada a la segunda pltaforma), que podrá ser detenida haciendo
  clic en el botón 
 \emph on
-Detener
+Terminar
 \emph default
  o cancelada con 
 \emph on
@@ -3973,7 +4024,7 @@ Más
  para que otra persona pueda realizar la misma carrera.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Ejecución de carreras con tramos
 \end_layout
 
@@ -4049,7 +4100,7 @@ Plataforma
  mostrará la progresión de la carrera, que podrá ser detenida haciendo clic
  en el botón 
 \emph on
-Detener
+Terminar
 \emph default
  o cancelada con 
 \emph on
@@ -4059,7 +4110,7 @@ Cancelar
  Las carreras con tramos de tipo ilimitado sólo serán almacenadas cuando
  se haga clic en 
 \emph on
-Detener
+Terminar
 \emph default
 .
 \end_layout
@@ -4078,7 +4129,7 @@ Más
  para que otra persona pueda realizar la misma carrera.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Feedback auditivo y visual en las carreras con tramos: campanas
 \end_layout
 
@@ -4101,7 +4152,7 @@ Campanas
 , podrá configurar estas acciones.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Visualización de carreras
 \end_layout
 
@@ -4157,21 +4208,12 @@ reference "sec:Preferencias"
 \begin_layout Standard
 Puede usar los botones de 
 \emph on
-lupa aumentar
-\emph default
- y 
-\emph on
-lupa disminuir
-\emph default
- para facilitar la visualización de los carreras.
- En las carreras con tramos se muestra además el botón de 
-\emph on
-lupa expandir óptimo
+lupa
 \emph default
-.
+ (o CTRL z) para facilitar la visualización de los carreras.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Edición de carreras
 \end_layout
 
@@ -4192,7 +4234,7 @@ En las carreras con tramos, ya que por definición están compuestas por un
  uno sólo sea seleccionado.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Reparación de carreras con tramos
 \end_layout
 
@@ -4214,7 +4256,7 @@ n
  inferior de dicha ventana.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Borrado de carreras
 \end_layout
 
@@ -4246,7 +4288,7 @@ En los saltos reactivos, ya que por definición están compuestos por un conjunt
  
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Creación de nuevos tipos de carreras
 \end_layout
 
@@ -4954,7 +4996,7 @@ Ejemplos de tipos de carreras creados por el usuario.
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Tiempo de reacción
 \end_layout
 
@@ -4967,7 +5009,7 @@ El programa dispone de un botón que permite detectar el tiempo de reacción
  
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Protocolo
 \end_layout
 
@@ -4982,7 +5024,7 @@ El ayudante estará pulsando algún tipo de pulsador o plataforma, y cuando
  anticipar su acción.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Ejecución de tiempo de reacción
 \end_layout
 
@@ -5013,7 +5055,7 @@ Plataforma
  mostrará la progresión del salto, que podrá ser detenido haciendo clic
  en el botón 
 \emph on
-Detener
+Terminar
 \emph default
  o cancelado con 
 \emph on
@@ -5022,7 +5064,7 @@ Cancelar
 .
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Visualización de tiempo de reacción
 \end_layout
 
@@ -5045,16 +5087,16 @@ Los tiempos de reacción se encuentran asociados a los ejecutantes.
 \begin_layout Standard
 Puede usar los botones de 
 \emph on
-lupa aumentar
+lupa
 \emph default
- y 
+ (o CTRL z)
 \emph on
-lupa disminuir
+ 
 \emph default
- para facilitar la visualización de los tests.
+para facilitar la visualización de los tests.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Edición de tiempos de reacción
 \end_layout
 
@@ -5069,7 +5111,7 @@ Editar tiempo de reacción seleccionado
  
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Borrado de tiempos de reacción
 \end_layout
 
@@ -5095,23 +5137,634 @@ reference "sec:Preferencias"
 ).
 \end_layout
 
+\begin_layout Section
+Pulsos (Ritmos simples)
+\end_layout
+
+\begin_layout Standard
+El programa dispone de un botón que permite realizar un seguimiento de la
+ capacidad de un sujeto en seguir un pulso (ritmo simple).
+ Note que si usted desea detectar un ritmo complejo puede usar la pestaña
+ 
+\begin_inset CommandInset ref
+LatexCommand vref
+reference "sub:MultiChronopic"
+
+\end_inset
+
+
+\emph on
+.
+\end_layout
+
+\begin_layout Standard
+Existen dos tipos de pulsos que usted puede usar:
+\end_layout
+
+\begin_layout Description
+Libre El sujeto evaluado tratará de ser constante en la pulsación que esté
+ manteniendo.
+ El evaluador hará decidirá en qué momento finaliza el registro de datos.
+\end_layout
+
+\begin_layout Description
+Personalizado El sujeto deberá adaptarse a un tempo predefinido y se podrá
+ seleccionar si se desea que el pulso tenga alguna duración concreta o en
+ caso contrario, el evaluador hará decidirá en qué momento finaliza el registro
+ de datos.
+\begin_inset Newline newline
+\end_inset
+
+En cuanto a la definición del tempo, se facilitan dos métodos:
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+segundos permite indicar cuantos segundos deben transcurrir entre un pulso
+ y el siguiente
+\end_layout
+
+\begin_layout Description
+ppm permite indicar cuantas pulsaciones se deberán realizar por minuto
+\end_layout
+
+\begin_layout Standard
+Note que los dos métodos están relacionados de manera que si selecciona
+ un valor en segundos, éste modificará el valor de ppm, de manera que, por
+ ejemplo 0,5 segundos corresponderán a 120 ppm.
+ El usuario decide qué método le resulta más conveniente.
+ 
+\end_layout
+
+\end_deeper
 \begin_layout Subsection
-Pulsos (Ritmos)
+Ejecución de pulsos
+\end_layout
+
+\begin_layout Standard
+Desde la pestaña de 
+\emph on
+pulso
+\emph default
+ y con el ayudante sin tocar el pulsador o plataforma, haga clic en el botón:
+ 
+\emph on
+Libre
+\emph default
+, o en el botón 
+\emph on
+Personalizado.
 \end_layout
 
 \begin_layout Standard
-[Pendiente de documentar]
+En caso de que esté seleccionado el valor 
+\emph on
+Simulado
+\emph default
+ en el menú de 
+\emph on
+Plataforma
+\emph default
+, el programa simulará un pulso.
+ La Barra de desplazamiento de la parte inferior izquierda de la pantalla
+ mostrará la progresión del test, que podrá ser detenido haciendo clic en
+ el botón 
+\emph on
+Terminar
+\emph default
+ o cancelado con 
+\emph on
+Cancelar
+\emph default
+.
 \end_layout
 
 \begin_layout Subsection
-MultiChronopic
+Visualización de pulsos
+\end_layout
+
+\begin_layout Standard
+Desde la pestaña de 
+\emph on
+pulse
+\emph default
+ podrá ver los tests del mismo tipo que se han realizado en una sesión.
+ 
 \end_layout
 
 \begin_layout Standard
-[Pendiente de documentar]
+Los tests se encuentran asociados a los ejecutantes.
+ El orden de aparición de los tests en cada ejecutante es el cronológico
+ de forma que el último realizado por un sujeto aparecerá al final del listado
+ de sus tests.
+\end_layout
+
+\begin_layout Standard
+Puede usar los botones de 
+\emph on
+lupa
+\emph default
+ (o CTRL z) para facilitar la visualización de los tests.
+\end_layout
+
+\begin_layout Subsection
+Edición pulsos
+\end_layout
+
+\begin_layout Standard
+Puede añadir comentarios a un test o cambiar el ejecutante (si olvidó modificar
+ el sujeto actual previamente) seleccionando el test deseado y haciendo
+ clic en el botón de 
+\emph on
+Editar pulso seleccionado
+\emph default
+ o en su equivalente en el menú.
+ 
+\end_layout
+
+\begin_layout Subsection
+Borrado de pulsos
+\end_layout
+
+\begin_layout Standard
+Para borrar un pulso, selecciónelo y haga clic en el botón 
+\emph on
+Borrar pulso seleccionado
+\emph default
+ o su equivalente en el menú.
+ El borrado del test pedirá confirmación en caso de que la opción de confirmació
+n de borrado de tests esté activada en el menú de 
+\emph on
+Preferencias
+\emph default
+ (más información en la sección 
+\begin_inset CommandInset ref
+LatexCommand vref
+reference "sec:Preferencias"
+
+\end_inset
+
+).
 \end_layout
 
 \begin_layout Section
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:MultiChronopic"
+
+\end_inset
+
+MultiChronopic
+\end_layout
+
+\begin_layout Standard
+MultiChronopic permite realizar cualquier tipo de test en que se usen dos,
+ tres o cuatro Chronopics para mediciones independientes.
+ Recuerde que para el resto de tests se pueden conectar múltiples dispositivos
+ a un sólo Chronopic al mismo tiempo, pero se entiende que se estará en
+ contacto con sólo o uno de ellos.
+ A diferencia de los tests anteriores, MultiChronopic permite el uso de
+ varios Chronopics, cada uno de ellos conectados a uno o más dispostivos
+ de detección, de manera que se pueda estar en contacto con más de uno a
+ la vez.
+ Su uso depende del usuario del programa, pero a continuación se indican
+ algunos ejemplos:
+\end_layout
+
+\begin_layout Itemize
+Test de marcha estático sobre dos plataformas: se pretende evaluar el tempo
+ de pisada del pie izquierdo y el derecho, pero como el practicante está
+ a menudo pisando ambas plataformas, se requiere que cada una de ellas esté
+ conectada a un Chronopic y sean independientes.
+\end_layout
+
+\begin_layout Itemize
+Estudio de los tiempos de contacto en la batida de un salto de voleibol:
+ Un pie pisa una plataforma, el otro pisa la otra, y ambos despegan.
+ Para conocer los distintos tiempos es necesario 2 plataformas y 2 chronopics
+ independientes.
+\end_layout
+
+\begin_layout Itemize
+Plate Tapping con acción coordinativa extra: Contruimos un dispositivo de
+ detección de tipo Plate Tapping en que el evaluado debe tocar un lado y
+ otro cuanto más rápido posible con una sóla mano.
+ A cada uno de los dos lados colocamos alguna pieza conductiva que conectada
+ a un sólo Chronopic nos registre los distintos tiempos.
+ Además, si pretendemos que, por ejemplo, cada 3 contactos el sujeto deba
+ realizar alguna acción con el pie, podemos situar una plataforma de contacto
+ en el suelo y conectarla a un segundo Chronopic.
+\end_layout
+
+\begin_layout Itemize
+Cronometrado de dos, tres o cuatro sujetos en carreras de ida y vuelta en
+ una pista: Se coloca una plataforma en el inicio de cada carril y una en
+ el final, ambas conectadas a un Chronopic pues un sujeto no puede estar
+ en ambas a la vez.
+ De este modo, si hay 4 sujetos tendremos 4 carriles, 4 Chronopics y 8 plataform
+as.
+ Podremos medir los tiempos y por tanto velocidades de los 4 de forma independie
+nte.
+ 
+\end_layout
+
+\begin_layout Subsection
+Sincronización
+\end_layout
+
+\begin_layout Standard
+Algunos de estos tests requerirán de una sincronización pues se pretende
+ que los distintos Chronopics inicien en el mismo momento.
+ En otros, en cambio, la sincronización no será necesaria.
+ En los tres primeros ejemplos citados, la sincronización es obligatoria
+ para que no haya error en la comparación del tiempo que transcurre entre
+ una pisada y la otra (ejemplo 1 y 2), o entre un contacto con el tapping
+ y la pisada en el suelo (ejemplo 3).
+ Dicha sincronización es seleccionable a partir de una casilla de verificación
+ y se llevará a cabo realizando contacto con varios dispositivos a la vez,
+ o tocando el botón 
+\emph on
+Test
+\emph default
+ de los Chronopics.
+ En el Foro de Chronojump 
+\begin_inset Flex URL
+status open
+
+\begin_layout Plain Layout
+
+http://foro.chronojump.org
+\end_layout
+
+\end_inset
+
+ se describirá un método para la contrucción de un dispositivo de sincronización
+ profesional.
+\end_layout
+
+\begin_layout Standard
+La sincronización en el cuarto ejemplo requiere discusión.
+ Si los sujetos salen en el momento que quieren y lo que se pretende únicamente
+ es registrar el tiempo entre un contacto y el siguiente, no será necesaria
+ la sincronización.
+ Por otro lado, sí que será necesaria la sincronización en caso de que se
+ realice una salida a partir de la señal de un evaluador externo, y se pretende
+ conocer el tiempo entre dicha señal (a partir de algún contacto) y el primer
+ contacto de cada atleta.
+\end_layout
+
+\begin_layout Subsection
+Borrado del primer tiempo
+\end_layout
+
+\begin_layout Standard
+En algunos tests, el tiempo des del inicio del mismo hasta el primer cambio
+ de estado no es relevante.
+ Tal vez el sujeto pueda iniciar el test cuando lo desee, y si se desea
+ comparar la capacidad del sujeto de seguir una pulsación independiente
+ con ambas manos (dos Chronopics), el tiempo desde que inició el test hasta
+ que se produjo el primer contacto no es relevante y debe ser eliminado
+ para que no contamine los promedios.
+\end_layout
+
+\begin_layout Subsection
+Configuración de los puertos
+\end_layout
+
+\begin_layout Standard
+Si el primer Chronopic se encuentra activado, se iluminará el círculo verde
+ a la derecha del número 1 (ver figura 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Gráfico-de-multiChronopic_mc"
+
+\end_inset
+
+).
+ No se podrá realizar un test MultiChronopic hasta que otro Chronopic sea
+ activado.
+ Para activar un segundo, tercer y cuarto Chronopic, haremos click en la
+ caja de selección a la derecha de los círculos, seleccionando el puerto
+ en el que está conectado (Se recuerda que la información sobre los puertos
+ para la conexión con Chronopic se trata en el apartado 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "par:Chronopic:-concepto-y-configuracion"
+
+\end_inset
+
+).
+ Cuando hayamos seleccionado el puerto, haremos click en el botón de la
+ derecha para realizar la conexión.
+ Para cada activación exitosa uno de los círculos rojos se convertirá en
+ verde.
+\end_layout
+
+\begin_layout Subsection
+Visualización de resultados de MultiChronopic
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+	filename multiChronopic_mc.png
+	lyxscale 50
+	scale 48
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Gráfico-de-multiChronopic_mc"
+
+\end_inset
+
+Captura de pantalla de MultiChronopic.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+En la ventana de resultados, vemos distintas columnas, en el caso de que
+ se hayan usado dos Chronopics:
+\end_layout
+
+\begin_layout Itemize
+Tiempo: El tiempo desde el inicio del test
+\end_layout
+
+\begin_layout Itemize
+Estado CP1 y CP2: Información sobre qué cambio ha sucedido en cada Chronopic
+ (si lo ha habido) en el momento temporal indicado en la columna anterior.
+\end_layout
+
+\begin_layout Itemize
+Cambio CP1 y CP2: Tiempo transcurrido desde el último cambio de estado en
+ cada Chronopic.
+\end_layout
+
+\begin_layout Itemize
+IN-IN CP1 y CP2: Tiempo transcurrido desde que cada Chronopic cambió a estado
+ 
+\emph on
+Dentro
+\emph default
+ hasta que volvió al mismo estado.
+\end_layout
+
+\begin_layout Itemize
+OUT-OUT CP1 y CP2: Tiempo transcurrido desde que cada Chronopic cambió a
+ estado 
+\emph on
+Fuera
+\emph default
+ hasta que volvió al mismo estado.
+\end_layout
+
+\begin_layout Itemize
+Descripción: Comentarios opcionales sobre el test ejecutado en concreto.
+\end_layout
+
+\begin_layout Standard
+En el ejemplo de la figura 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Gráfico-de-multiChronopic_mc"
+
+\end_inset
+
+, se muestra un test MultiChronopic de duración: 0,928 segundos en que hay
+ 10 cambios de estado.
+ Se denomina 
+\emph on
+MultiChronopic 1, 2, 10n
+\emph default
+ porque se ha realizado con 2 Chronopics (Chronopics 1 y 2), y tiene 10
+ cambios.
+ Si observamos el cambio número 5, se produce a los 0,539 segundos.
+ Ã?ste representa un cambio de estado del Chronopic 1 de 
+\emph on
+Fuera 
+\emph default
+(sin contacto) a 
+\emph on
+Dentro 
+\emph default
+(contacto).
+ Tal y como indica en 
+\emph on
+Cambio CP1
+\emph default
+, han transcurrido 0,225 segundos desde que dicho Chronopic estuvo en su
+ estado anterior (
+\emph on
+Fuera
+\emph default
+) y 0,353 segundos desde que este Chronopic estuvo 
+\emph on
+(Dentro
+\emph default
+) tal y como refleja IN-IN CP1.
+\end_layout
+
+\begin_layout Standard
+Observe también que las columnas IN-IN y OUT-OUT disponen de un promedio
+ de valores y una desviación estándard (SD).
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace defskip
+\end_inset
+
+Del mismo modo que el resto de tests, los tests se encuentran asociados
+ a los ejecutantes.
+ El orden de aparición de cada test en cada ejecutante es el cronológico
+ de forma que el último realizado por un sujeto aparecerá al final del listado
+ de sus tests.
+ Puede usar los botones de 
+\emph on
+lupa
+\emph default
+ (o CTRL z)
+\emph on
+ 
+\emph default
+para facilitar la visualización de los tests.
+\end_layout
+
+\begin_layout Subsection
+Edición y visualización de test MultiChronopic
+\end_layout
+
+\begin_layout Standard
+Puede añadir comentarios a un test o cambiar el ejecutante (si olvidó modificar
+ el sujeto actual previamente) seleccionando el test deseado y haciendo
+ clic en el botón de 
+\emph on
+Editar MultiChronopic
+\emph default
+ o en su equivalente en el menú.
+ 
+\end_layout
+
+\begin_layout Standard
+Para borrar un test MultiChronopic, selecciónelo y haga clic en el botón
+ 
+\emph on
+Borrar MultiChronopic seleccionado
+\emph default
+ o su equivalente en el menú.
+ El borrado del test pedirá confirmación en caso de que la opción de confirmació
+n de borrado de tests esté activada en el menú de 
+\emph on
+Preferencias
+\emph default
+ (más información en la sección 
+\begin_inset CommandInset ref
+LatexCommand vref
+reference "sec:Preferencias"
+
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Subsection
+Análisis de carrera
+\end_layout
+
+\begin_layout Standard
+Además de los ejemplos propuestos, se ha incluido un test para analizar
+ las carreras elaborado por Josep Ma Padullés como parte de su Tésis Doctoral.
+ Como dispositivos de detección se usan dos barreras de fotocéluas y una
+ pista de plataformas de contactos.
+ 
+\end_layout
+
+\begin_layout Standard
+Las dos fotocélulas irán conectadas a un único Chronopic y permitirán conocer
+ el tiempo entre las mismas.
+ El evaluador indicará al programa la distancia entre ellas y de este modo
+ se conocerá la velocidad media.
+ La pista de plataformas irá conectada a otro Chronopic que captará los
+ tiempos de contacto y de vuelo.
+ En este caso no se requiere sincronización entre ambos Chronopics.
+\end_layout
+
+\begin_layout Standard
+A partir de los datos obtenidos por ambos Chronopics, se obtienen la velocidad
+ media de la carrera, así como los siguientes datos para cada uno de los
+ pasos:
+\end_layout
+
+\begin_layout Itemize
+Tiempos de contacto
+\end_layout
+
+\begin_layout Itemize
+Tiempos de vuelo
+\end_layout
+
+\begin_layout Itemize
+Tiempo total
+\end_layout
+
+\begin_layout Itemize
+Frecuencia
+\end_layout
+
+\begin_layout Itemize
+Amplitud
+\end_layout
+
+\begin_layout Itemize
+Altura
+\end_layout
+
+\begin_layout Itemize
+Ã?ngulo de despegue
+\end_layout
+
+\begin_layout Standard
+Puede ver un ejemplo en la figura 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Gráfico-de-multiChronopic_ra"
+
+\end_inset
+
+.
+ Note que el botón de ejecución de Análisis de Carrera se activa cuando
+ se haya introducido la distancia entre las fotocélulas.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+	filename multiChronopic_ra.png
+	lyxscale 50
+	scale 50
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Gráfico-de-multiChronopic_ra"
+
+\end_inset
+
+Captura de pantalla de MultiChronopic con resultados para 
+\emph on
+Análisis de carrera
+\emph default
+.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Chapter
 Estadísticas y gráficas
 \end_layout
 
@@ -5177,7 +5830,7 @@ La versión 0.4 de Chronojump sólo contempla estadísticos referentes a saltos.
  En futuras versiones se incluirán también estadísticos de carreras.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Tipos, subtipos y aplicación de estadísticas
 \end_layout
 
@@ -5263,7 +5916,7 @@ reference "sub:Exportación-a-hoja"
 .
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Sumario de sesión
 \end_layout
 
@@ -5273,7 +5926,7 @@ Ofrece un listado de las medias o valores máximos de varios estadísticos.
  puede configurarse la aplicación a diferentes sujetos o saltos.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Sumario de saltador
 \end_layout
 
@@ -5288,7 +5941,7 @@ aplicación
 , se refiere al sujeto al que es aplicado el estadístico.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Saltos simples
 \end_layout
 
@@ -5317,7 +5970,7 @@ Fuerza-velocidad
 Picos de potencia de Lewis, Harman, Sayers (2), Shetty, Cannavan, Lara(5)
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Sin índices
 \end_layout
 
@@ -5330,7 +5983,7 @@ aplicación
 .
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Fuerza-velocidad
 \end_layout
 
@@ -5345,7 +5998,7 @@ Estadísitico de salto simple en que se muestra la relación de fuerza-velocidad
  sin carga adicional.
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Ã?ndice de elasticidad
 \end_layout
 
@@ -5358,7 +6011,7 @@ Estadísitico de salto simple en que se muestra el índice de elasticidad
 entre los saltos SJ y CMJ.
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 �ndice de utilización de brazos
 \end_layout
 
@@ -5371,7 +6024,7 @@ Estadísitico de salto simple en que se muestra el índice de utilización
 entre los saltos CMJ y ABK.
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Picos de potencia
 \end_layout
 
@@ -5430,7 +6083,7 @@ Estadísticas de saltos simples.
 
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Saltos con tiempo de contacto
 \end_layout
 
@@ -5458,7 +6111,7 @@ aplicación
 , se refiere al tipo de salto al que es aplicado el estadístico.
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Ã?ndice Dj
 \end_layout
 
@@ -5471,7 +6124,7 @@ Estudio de la relación tiempo de vuelo / tiempo de contacto en un salto
 .
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Ã?ndice Q
 \end_layout
 
@@ -5485,7 +6138,7 @@ Estudio de la relación tiempo de vuelo / tiempo de contacto en un salto
  
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Saltos reactivos
 \end_layout
 
@@ -5510,11 +6163,11 @@ Evolución
 \end_layout
 
 \begin_layout Itemize
-Desviación estándard del promedio usando RjIndex
+Promedio y Desviación estándard usando RjIndex
 \end_layout
 
 \begin_layout Itemize
-Desviación estándard del promedio usando QIndex
+Promedio y Desviación estándard usando QIndex
 \end_layout
 
 \begin_layout Standard
@@ -5525,7 +6178,7 @@ aplicación
 , se refiere al tipo de salto al que es aplicado el estadístico.
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Ã?ndice medio
 \end_layout
 
@@ -5538,7 +6191,7 @@ Estudio de la relación tiempo de vuelo / tiempo de contacto en un salto
 .
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Potencia (Bosco)
 \end_layout
 
@@ -5551,7 +6204,7 @@ Estudio de la relación tiempo de vuelo / tiempo de contacto en un salto
  .
 \end_layout
 
-\begin_layout Paragraph
+\begin_layout Subsubsection
 Evolución
 \end_layout
 
@@ -5579,23 +6232,33 @@ marcar los mejores 'n' consecutivos
  Si selecciona el valor 1 entonces el mejor subsalto será resaltado.
 \end_layout
 
-\begin_layout Paragraph
-Desviación estándard del promedio usando RjIndex
+\begin_layout Subsubsection
+Promedio y Desviación estándard usando RjIndex
 \end_layout
 
 \begin_layout Standard
-[Pendiente de documentar]
+Estudio del índice 
+\begin_inset Formula $RjIndex=\frac{TV-TC}{TC}*100$
+\end_inset
+
+ para cada uno de los saltos de un test reactivo.
+ Se muestra el promedio y la desviación estándard conseguidos.
 \end_layout
 
-\begin_layout Paragraph
-Desviación estándard del promedio usando QIndex
+\begin_layout Subsubsection
+Promedio y Desviación estándard usando QIndex
 \end_layout
 
 \begin_layout Standard
-[Pendiente de documentar]
+Estudio del índice 
+\begin_inset Formula $IndiceQ=\frac{TV}{TC}*100$
+\end_inset
+
+ para cada uno de los saltos de un test reactivo.
+ Se muestra el promedio y la desviación estándard conseguidos.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Estadísticas multisesión
 \end_layout
 
@@ -5623,7 +6286,7 @@ Seleccionar
  la sesión actual entre las mismas.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Selección de saltos a mostrar
 \end_layout
 
@@ -5685,7 +6348,7 @@ La mayoría de los estadísticos ofrecen las cuatro opciones, en los que se
  omita alguno de estos modos es porque se cree que no tendría sentido generarlo.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Otras configuraciones
 \end_layout
 
@@ -5694,7 +6357,7 @@ Se presentan a continuación otros botones de acción vinculados al estadístico
  mostrado.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Enunciado de los estadísticos
 \end_layout
 
@@ -5705,7 +6368,7 @@ Todo estadístico dispone de un enunciado que se crea automáticamente en
  El enunciado puede ayudarle a entender el estadístico.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Distinción de sexo
 \end_layout
 
@@ -5731,7 +6394,7 @@ Cuando las filas de resultado de los estadísticos correspondan con saltadores,
 Este botón podrá ayudarle a realizar comparaciones intra e intersexos.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Actualización automática
 \end_layout
 
@@ -5752,7 +6415,7 @@ Actualizar estadísticas
  siempre que desee que los datos de estadíticos sea regenerados.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Marcado de filas
 \end_layout
 
@@ -5782,7 +6445,7 @@ reference "sec:Generación-de-Informes"
  respectivamente.
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Creación de gráficos
 \begin_inset CommandInset label
 LatexCommand label
@@ -5852,7 +6515,7 @@ Ejemplo de gráfico de �ndice DJ (los nombres de los saltadores se han ocultado
 
 \end_layout
 
-\begin_layout Section
+\begin_layout Chapter
 Informes y exportaciones
 \end_layout
 
@@ -5873,7 +6536,7 @@ Exportación a hoja de cálculo
  de propósito general (hojas de cálculo).
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Generación de informes
 \begin_inset CommandInset label
 LatexCommand label
@@ -5964,7 +6627,7 @@ name "fig:Ejemplo-de-informe"
 
 \end_inset
 
-Ejemplo de informe
+Ejemplo de informe.
 \end_layout
 
 \end_inset
@@ -5977,7 +6640,7 @@ Ejemplo de informe
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Exportación a hoja de cálculo
 \begin_inset CommandInset label
 LatexCommand label
@@ -6000,22 +6663,20 @@ Archivo / Exportar sesión a formato CSV
 \end_layout
 
 \begin_layout Standard
-En caso de que tenga problemas en la importación de los datos, seguramente
- causados por un problema de 
+Para la exportación a CSV hemos elegido el carácter 
 \emph on
-localización
+punto y coma
 \emph default
- en que se confunde el carácter coma ',' en los decimales con el mismo caracter
- usado para la separación entre valores o números -problema que se ha detectado
- en algunas versiones de Microsft Excel-, se recomienda abrir el fichero
- con OpenOffice o con algún editor de texto que permita reemplazar de forma
- automatizada los carácteres conflictivos y después guardar el archivo de
- forma que MS Excel pueda abrirlo.
- En un futuro breve se estudiará qué carácter da menos problemas en los
- distintos programas de hoja de cálculo.
+ ';' (en lugar del carácter coma
+\emph on
+) para
+\emph default
+ separar las distintas columnas de datos.
+ Recuerde indicarlo en el momento en que importe el archivo CSV en su hoja
+ de cálculo.
 \end_layout
 
-\begin_layout Section
+\begin_layout Chapter
 Preferencias
 \begin_inset CommandInset label
 LatexCommand label
@@ -6027,14 +6688,35 @@ name "sec:Preferencias"
 \end_layout
 
 \begin_layout Standard
-Se ha previsto una ventana de preferencias en 
+La ventana de preferencias 
 \emph on
 Archivos / Preferencias
 \emph default
- con la finalidad de cambiar el puerto en el que está conectado Chronopic.
- Se muestra una ventana de ayuda sobre puertos haciendo clic en el icono
- situado en la parte superior derecha de la ventana (en la imagen se muestra
- como un flotador).
+, se divide en 4 pestañas:
+\end_layout
+
+\begin_layout Description
+Puerto
+\begin_inset space ~
+\end_inset
+
+de
+\begin_inset space ~
+\end_inset
+
+Chronopic (figura 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Preferencias1"
+
+\end_inset
+
+) Permite cambiar el puerto en el que está conectado Chronopic, y se muestra
+ una ventana de ayuda sobre puertos haciendo clic en el botón 
+\emph on
+Ayuda con el puerto
+\emph default
+.
  La conexión con el cronómetro Chronopic se trata específicamente en el
  apartado 
 \begin_inset CommandInset ref
@@ -6046,10 +6728,176 @@ reference "par:Chronopic:-concepto-y-configuracion"
 .
 \end_layout
 
+\begin_layout Description
+Base
+\begin_inset space ~
+\end_inset
+
+de
+\begin_inset space ~
+\end_inset
+
+datos (figura 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Preferencias2"
+
+\end_inset
+
+) Muestra donde se encuentra, permite abrir la carpeta, y también permite
+ realizar una copia de la misma en algún directorio de elección del usuario.
+ Se muestran dos posibles ubicaciones de la base de datos pues algunos sistemas
+ operativos ofrecen un lugar donde guardar los datos mientras el programa
+ se ejecuta, y otro cuando éste se ha cerrado.
+ 
+\end_layout
+
+\begin_layout Description
+Mostrar (figura 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Preferencias3"
+
+\end_inset
+
+) Opciones sobre qué columnas de información se desea mostrar en las ventanas
+ de datos y la ventana de estadísticas.
+\end_layout
+
+\begin_layout Description
+Otros (figura 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Preferencias4"
+
+\end_inset
+
+) Las dos primeras opciones se refieren al número de decimales (recomendado
+ 3), y al borrado de tests.
+ La última acción es específica de los saltos reactivos limitados por tiempo.
+ Si usted usa dichos tests, seleccione aquí cuál es el comportamiento que
+ usted prefiere en el caso de que un sujeto se encuentre en el aire en el
+ momento en que se termine el tiempo definido.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+	filename Preferencias-1.png
+	scale 50
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Preferencias1"
+
+\end_inset
+
+Preferencias - pestaña 1.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+	filename Preferencias-2.png
+	scale 50
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Preferencias2"
+
+\end_inset
+
+Preferencias - pestaña 2.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
 \begin_layout Standard
-Además esta ventana permite modificar el número de decimales mostrados,
- las unidades usadas, la visualización de columnas y la pertinencia de la
- pregunta de confirmación del borrado de tests.
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+	filename Preferencias-3.png
+	scale 50
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Preferencias3"
+
+\end_inset
+
+Preferencias - pestaña 3.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
 \end_layout
 
 \begin_layout Standard
@@ -6061,7 +6909,7 @@ status open
 \begin_layout Plain Layout
 \align center
 \begin_inset Graphics
-	filename Captura-Preferencias.png
+	filename Preferencias-4.png
 	scale 50
 
 \end_inset
@@ -6075,11 +6923,11 @@ status open
 \begin_layout Plain Layout
 \begin_inset CommandInset label
 LatexCommand label
-name "fig:Preferencias"
+name "fig:Preferencias4"
 
 \end_inset
 
-Preferencias
+Preferencias - pestaña 4.
 \end_layout
 
 \end_inset
diff --git a/manual/chronojump_manual_es.pdf b/manual/chronojump_manual_es.pdf
index cade02f..4c64ba0 100644
Binary files a/manual/chronojump_manual_es.pdf and b/manual/chronojump_manual_es.pdf differ
diff --git a/src/Makefile.am b/src/Makefile.am
index 259a9aa..bf8d1e0 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -93,6 +93,7 @@ FILES = \
 	gui/server.cs\
 	gui/dialogServerStats.cs\
  	gui/evaluator.cs\
+ 	gui/queryServer.cs\
 	statType.cs\
 	stats/main.cs\
 	stats/global.cs\
diff --git a/src/constants.cs b/src/constants.cs
index 517fd7a..32a896c 100644
--- a/src/constants.cs
+++ b/src/constants.cs
@@ -35,6 +35,8 @@ public class Constants
 		"Andoni Morales (http://ylatuya.es)\n" + Catalog.GetString("Installation support: Autotools, packaging, bundle.") 
 	};
 	
+	public static string ChronojumpWebsite = "http://www.chronojump.org";;
+	
 	//formulas
 	public static string DjIndexFormula = "Dj Index (tv-tc)/tc *100)";
 	public static string QIndexFormula = "Q index (tv/tc)";
@@ -44,6 +46,12 @@ public class Constants
 
 	//tests types
 	public enum TestTypes { JUMP, JUMP_RJ, RUN, RUN_I, RT, PULSE, MULTICHRONOPIC }
+	public static string JumpSimpleName = "Jump simple";
+	public static string JumpReactiveName = "Jump reactive";
+	public static string RunSimpleName = "Run simple";
+	public static string RunIntervallicName = "Run interval";
+	public static string ReactionTimeName = "Reaction Time";
+	public static string PulseName = "Pulse";
 
 	//sqlite tables
 	//instead of typing the tableName directly (that can crash if it's bad written and it's not detected by compiler)
@@ -79,12 +87,16 @@ public class Constants
 	public const string ReactionTimeTypeTable = "reactionTimeType";
 
 	public const string UndefinedDefault = "Undefined";
+	public const string Any = "Any";
+	public const string Males = "Males";
+	public const string Females = "Females";
 
 	//server	
 	public const string ServerPingTable = "SPing"; 
 	public const string ServerEvaluatorTable = "SEvaluator"; 
 	public const string IPUnknown = "Unknown"; 
 	public static int ServerUndefinedID = -1;
+	public static string ServerOnline = Catalog.GetString("Server is connected.");
 	public static string ServerOffline = Catalog.GetString("Sorry, server is currently offline. Try later.");
 	public enum ServerSessionStates {
 		NOTHING, UPLOADINGSESSION, UPLOADINGDATA, DONE
@@ -94,6 +106,7 @@ public class Constants
 	}
 	public const string ServerActionUploadSession = "uploadSession"; 
 	public const string ServerActionStats = "stats"; 
+	public const string ServerActionQuery = "query"; 
 	
 	public const string ChronometerCp1 = "Chronopic1";
 	public const string ChronometerCp2 = "Chronopic2";
@@ -301,7 +314,9 @@ public class Constants
 
 	public static int SportUndefinedID = 1;
 	public static string SportUndefined = "--Undefined";
+	public static string SportAny = "--Any";
 	private static string dumbVariableForTranslatingSportUndefined = Catalog.GetString("--Undefined");
+	private static string dumbVariableForTranslatingSportAny = Catalog.GetString("--Any");
 	public static int SportNoneID = 2;
 	public static string SportNone = "-None";
 	private static string dumbVariableForTranslatingSportNone = Catalog.GetString("-None");
diff --git a/src/exportSession.cs b/src/exportSession.cs
index 9ac2719..ae26774 100644
--- a/src/exportSession.cs
+++ b/src/exportSession.cs
@@ -535,7 +535,7 @@ public class ExportSession
 					Util.TrimDecimals(Util.GetSpeed(myStr[5], myStr[6], true), dec) + ":" + 	//speed AVG in m/s(true)
 					myStr[7] + ":" + 	 	//run.distanceInterval
 					myStr[9] + ":" +  Util.GetLimitedRounded(myStr[11], dec) + ":" + 	//tracks, limited
-					Util.RemoveNewLine(myStr[10]) + ":" + Util.SimulatedTestNoYes(Convert.ToInt32(myStr[11]))	//description, simulated
+					Util.RemoveNewLine(myStr[10]) + ":" + Util.SimulatedTestNoYes(Convert.ToInt32(myStr[12]))	//description, simulated
 				   );
 			
 			if(showSubruns) {
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index 207cb4a..e39f34a 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -138,7 +138,9 @@ public class ChronoJumpWindow
 
 	//multiChronopic
 	[Widget] Gtk.Table table_multi_chronopic_buttons;
+	[Widget] Gtk.MenuItem menuitem_multi_chronopic_start;
 	[Widget] Gtk.Button button_multi_chronopic_start;
+	[Widget] Gtk.MenuItem menuitem_run_analysis;
 	[Widget] Gtk.Button button_run_analysis;
 	[Widget] Gtk.Entry entry_run_analysis_distance;
 	[Widget] Gtk.ComboBox combo_port_linux;
@@ -206,7 +208,6 @@ public class ChronoJumpWindow
 	[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.Entry entry_multi_chronopic_cp2;
 
@@ -365,6 +366,7 @@ public class ChronoJumpWindow
 	GenericWindow genericWin;
 		
 	EvaluatorWindow evalWin;
+	QueryServerWindow queryServerWin;
 	PersonNotUploadWindow personNotUploadWin; 
 	
 	static EventExecuteWindow eventExecuteWin;
@@ -1010,9 +1012,37 @@ public class ChronoJumpWindow
 		}
 	}
 	
+	private void on_menuitem_server_query_activate (object o, EventArgs args) {
+		queryServerWin = QueryServerWindow.Show();
+		/*
+		string versionAvailable = Server.Ping(false, "", ""); //false: don't do insertion
+		if(versionAvailable != Constants.ServerOffline) { //false: don't do insertion
+			if(Server.CanI(Constants.ServerActionQuery, Util.VersionToDouble(progVersion))) {
+				ChronojumpServer myServer = new ChronojumpServer();
+				Log.WriteLine(myServer.ConnectDatabase());
+			
+				//string [] statsServer = myServer.Query();
+			
+				Log.WriteLine(myServer.DisConnectDatabase());
+
+				//new DialogMessage();
+			} else {
+				new DialogMessage(Constants.MessageTypes.WARNING, 
+						Catalog.GetString("Your version of Chronojump is too old for this.") + "\n\n" + 
+						Catalog.GetString("Please, update to new version: ") + versionAvailable + "\n");
+			}
+		} else {
+			new DialogMessage(Constants.MessageTypes.WARNING, Constants.ServerOffline);
+		}
+		*/
+	}
+	
 	private void on_menuitem_server_ping (object o, EventArgs args) {
-		new DialogMessage(Constants.MessageTypes.INFO, 
-				Server.Ping(true, progName, progVersion)); //do insertion (will show versionAvailable)
+		string str = Server.Ping(false, progName, progVersion); //don't do insertion (will show versionAvailable)
+		//show online or offline (not the next version of client available)
+		if(str != Constants.ServerOffline)
+			str = Catalog.GetString(Constants.ServerOnline);
+		new DialogMessage(Constants.MessageTypes.INFO, str);
 	}
 	
 	bool uploadSessionAfter;
@@ -1068,6 +1098,10 @@ public class ChronoJumpWindow
 		server_upload_session();
 	}
 
+	private void on_menuitem_goto_server_website_activate (object o, EventArgs args) {
+		System.Diagnostics.Process.Start(Path.Combine(Constants.ChronojumpWebsite, "server.html"));
+	}
+
 	/* 
 	 * SERVER CODE
 	 */
@@ -1814,6 +1848,7 @@ public class ChronoJumpWindow
 	private void createComboMultiChronopic() 
 	{
 		table_multi_chronopic_buttons.Sensitive = false;
+		menuitem_run_analysis.Sensitive = false;
 		button_connect_cp.Sensitive = false;
 		image_cp1_yes.Hide();
 		image_cp2_yes.Hide();
@@ -2466,10 +2501,13 @@ public class ChronoJumpWindow
 				
 			if(currentCp >= 2) {
 				table_multi_chronopic_buttons.Sensitive = true;
-				if(Util.IsNumber(entry_run_analysis_distance.Text, false))
+				if(Util.IsNumber(entry_run_analysis_distance.Text, false)) {
+					menuitem_run_analysis.Sensitive = true;
 					button_run_analysis.Sensitive = true;
-				else
+				} else {
+					menuitem_run_analysis.Sensitive = false;
 					button_run_analysis.Sensitive = false;
+				}
 			}
 	
 			//disallow selection of that port for other chronopics
@@ -4146,18 +4184,21 @@ Console.WriteLine("X");
 	 */
 
 	private void on_entry_run_analysis_distance_changed (object o, EventArgs args) {
-		if(Util.IsNumber(entry_run_analysis_distance.Text, false) && entry_run_analysis_distance.Text != "0")
+		if(Util.IsNumber(entry_run_analysis_distance.Text, false) && entry_run_analysis_distance.Text != "0") {
+			menuitem_run_analysis.Sensitive = true;
 			button_run_analysis.Sensitive = true;
-		else
+		} else {
+			menuitem_run_analysis.Sensitive = false;
 			button_run_analysis.Sensitive = false;
+		}
 	}
 
 	private void on_multi_chronopic_start_clicked (object o, EventArgs args) {
 		Log.WriteLine("multi chronopic accepted");
 		
-		if(o == (object) button_multi_chronopic_start) 
+		if(o == (object) button_multi_chronopic_start || o == (object) menuitem_multi_chronopic_start) 
 			currentMultiChronopicType = new MultiChronopicType(Constants.MultiChronopicName);
-		else if(o == (object) button_run_analysis)
+		else if(o == (object) button_run_analysis || o == (object) menuitem_run_analysis)
 			currentMultiChronopicType = new MultiChronopicType(Constants.RunAnalysisName);
 
 		//used by cancel and finish
diff --git a/src/gui/jump.cs b/src/gui/jump.cs
index 61b60f9..250145c 100644
--- a/src/gui/jump.cs
+++ b/src/gui/jump.cs
@@ -593,8 +593,9 @@ public class RepairJumpRjWindow
 					myTv = Util.TrimDecimals(tvArray[count], pDN);
 				else
 					myTv = "";
-				
+
 				store.AppendValues ( (count+1).ToString(), Util.TrimDecimals(myTc, pDN), myTv );
+
 				count ++;
 			}
 		}
diff --git a/src/gui/person.cs b/src/gui/person.cs
index 2c6be99..62a99e6 100644
--- a/src/gui/person.cs
+++ b/src/gui/person.cs
@@ -818,7 +818,7 @@ public class PersonAddModifyWindow
 	int speciallityID;
 	string [] speciallities;
 	string [] speciallitiesTranslated;
-	String level;
+	//String level;
 	string [] levels;
 	string [] continents;
 	string [] continentsTranslated;
diff --git a/src/gui/queryServer.cs b/src/gui/queryServer.cs
new file mode 100644
index 0000000..d402059
--- /dev/null
+++ b/src/gui/queryServer.cs
@@ -0,0 +1,590 @@
+/*
+ * This file is part of ChronoJump
+ *
+ * ChronoJump is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or   
+ *    (at your option) any later version.
+ *    
+ * ChronoJump is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
+ *    GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Xavier de Blas: 
+ */
+
+using System;
+using Gtk;
+using Gdk;
+using Glade;
+using GLib; //for Value
+using Mono.Unix;
+
+
+public class QueryServerWindow
+{
+	[Widget] Gtk.Window query_server_window;
+
+	[Widget] Gtk.Box hbox_combo_test_types;
+	[Widget] Gtk.Box hbox_combo_tests;
+	[Widget] Gtk.Box hbox_combo_variables;
+	[Widget] Gtk.Box hbox_combo_sexes;
+	//[Widget] Gtk.Box hbox_combo_ages;
+	[Widget] Gtk.Box hbox_combo_continents;
+	[Widget] Gtk.Box hbox_combo_countries;
+	[Widget] Gtk.Box hbox_combo_sports;
+	[Widget] Gtk.Box hbox_combo_speciallities;
+	[Widget] Gtk.Box hbox_combo_levels;
+
+	[Widget] Gtk.ComboBox combo_test_types;
+	[Widget] Gtk.ComboBox combo_tests;
+	[Widget] Gtk.ComboBox combo_variables;
+	[Widget] Gtk.ComboBox combo_sexes;
+	//[Widget] Gtk.ComboBox combo_ages;
+	[Widget] Gtk.ComboBox combo_continents;
+	[Widget] Gtk.ComboBox combo_countries;
+	[Widget] Gtk.ComboBox combo_sports;
+	[Widget] Gtk.ComboBox combo_speciallities;
+	[Widget] Gtk.ComboBox combo_levels;
+
+	[Widget] Gtk.TextView textview_query;
+	
+	[Widget] Gtk.Label label_age;
+	[Widget] Gtk.Label label_speciallity;
+	[Widget] Gtk.Label label_results_num;
+	[Widget] Gtk.Label label_results_avg;
+	
+	[Widget] Gtk.Image image_test_type;
+	[Widget] Gtk.Image image_country;
+	
+	[Widget] Gtk.Button button_search;
+
+	string [] testTypes = {
+		Catalog.GetString(Constants.UndefinedDefault), //needs to be defined
+		Catalog.GetString(Constants.JumpSimpleName),
+		Catalog.GetString(Constants.JumpReactiveName),
+		Catalog.GetString(Constants.RunSimpleName),
+		//Catalog.GetString(Constants.RunIntervallicName),
+		//Catalog.GetString(Constants.ReactionTimeName), //has no types or is not relevant
+		//Catalog.GetString(Constants.PulseName),
+		//Catalog.GetString(Constants.MultiChronopicName), //has no types or is not relevant
+	};
+	
+	string [] tests = {
+		Catalog.GetString(Constants.UndefinedDefault), //needs to be defined
+	};
+	
+	string [] variables = {
+		Catalog.GetString(Constants.UndefinedDefault), //needs to be defined
+	};
+	
+	private static string [] variablesJumpSimple = {
+		Catalog.GetString("TV"), 
+	};
+	private static string [] variablesJumpSimpleWithTC = {
+		Catalog.GetString("TV"), 
+		Catalog.GetString("TC"), 
+		Constants.DjIndexFormula,
+		Constants.QIndexFormula
+	};
+	private static string [] variablesJumpReactive = {
+		Catalog.GetString("Average Index"), 
+		Constants.RJPotencyBoscoFormula,
+		//Catalog.GetString("Evolution"), is same as RjIndex but showing every tc, tf
+		Constants.RJAVGSDRjIndexName,
+		Constants.RJAVGSDQIndexName
+	};
+	private static string [] variablesRunSimple = {
+		Catalog.GetString("Time"), 
+	};
+	
+	string [] sexes = {
+		Catalog.GetString(Constants.Any), 
+		Catalog.GetString(Constants.Males), 
+		Catalog.GetString(Constants.Females), 
+	};
+
+	Sport sport;
+	string [] sports;
+	string [] sportsTranslated;
+	string [] speciallities;
+	string [] speciallitiesTranslated;
+	string [] levels;
+	string [] continents;
+	string [] continentsTranslated;
+	string [] countries;
+	string [] countriesTranslated;
+	
+	static QueryServerWindow QueryServerWindowBox;
+	
+	public QueryServerWindow ()
+	{
+		Glade.XML gladeXML;
+		gladeXML = Glade.XML.FromAssembly (Util.GetGladePath() + "chronojump.glade", "query_server_window", null);
+		gladeXML.Autoconnect(this);
+		
+		//put an icon to window
+		UtilGtk.IconWindow(query_server_window);
+		
+		createAllCombos();
+	}
+
+	static public QueryServerWindow Show ()
+	{
+		if (QueryServerWindowBox == null) {
+			QueryServerWindowBox = new QueryServerWindow();
+		}
+		QueryServerWindowBox.query_server_window.Show ();
+		
+		QueryServerWindowBox.fillDialog ();
+		
+		return QueryServerWindowBox;
+	}
+		
+	/*
+	   combos create
+	 */	
+
+	private void createAllCombos() {
+		button_search.Sensitive = false;
+
+		createComboTestTypes();
+		createComboTests();
+		createComboVariables();
+		createComboContinents();
+		createComboCountries();
+		createComboSexes();
+		//createComboAges();
+		
+		createComboSports();
+		createComboSpeciallities(-1);
+		
+		createComboLevels();
+	}
+	
+	private void createComboTestTypes() {
+		combo_test_types = ComboBox.NewText ();
+		UtilGtk.ComboUpdate(combo_test_types, testTypes, "");
+		combo_test_types.Active = UtilGtk.ComboMakeActive(testTypes, Catalog.GetString(Constants.UndefinedDefault));
+		combo_test_types.Changed += new EventHandler (on_combo_test_types_changed);
+		UtilGtk.ComboPackShowAndSensitive(hbox_combo_test_types, combo_test_types);
+	}
+
+	private void createComboTests() {
+		combo_tests = ComboBox.NewText ();
+		tests = Util.StringToStringArray(Constants.UndefinedDefault);
+		UtilGtk.ComboUpdate(combo_tests, Util.StringToStringArray(Constants.UndefinedDefault), "");
+		combo_tests.Active = UtilGtk.ComboMakeActive(tests, Catalog.GetString(Constants.UndefinedDefault));
+		combo_tests.Changed += new EventHandler (on_combo_tests_changed);
+		UtilGtk.ComboPackShowAndSensitive(hbox_combo_tests, combo_tests);
+	}
+
+	private void createComboVariables() {
+		combo_variables = ComboBox.NewText ();
+		variables = Util.StringToStringArray(Constants.UndefinedDefault);
+		UtilGtk.ComboUpdate(combo_variables, variables, "");
+		combo_variables.Active = UtilGtk.ComboMakeActive(variables, Catalog.GetString(Constants.UndefinedDefault));
+		combo_variables.Changed += new EventHandler (on_combo_variables_changed);
+		UtilGtk.ComboPackShowAndSensitive(hbox_combo_variables, combo_variables);
+	}
+
+	private void createComboContinents() {
+		combo_continents = ComboBox.NewText ();
+		continents = Constants.Continents;
+		//first value has to be any
+		continents[0] = Constants.Any + ":" + Catalog.GetString(Constants.Any); 
+
+		//create continentsTranslated, only with translated stuff
+		continentsTranslated = new String[Constants.Continents.Length];
+		int i = 0;
+		foreach(string continent in continents) 
+			continentsTranslated[i++] = Util.FetchName(continent);
+
+		UtilGtk.ComboUpdate(combo_continents, continentsTranslated, "");
+		combo_continents.Active = UtilGtk.ComboMakeActive(continentsTranslated, 
+				Catalog.GetString(Constants.Any));
+
+		combo_continents.Changed += new EventHandler (on_combo_continents_changed);
+		UtilGtk.ComboPackShowAndSensitive(hbox_combo_continents, combo_continents);
+	}
+
+	private void createComboCountries() {
+		combo_countries = ComboBox.NewText ();
+
+		countries = new String[1];
+		//record countries with id:english name:translatedName
+		countries [0] = Constants.CountryUndefinedID + ":" + Constants.CountryUndefined + ":" + Catalog.GetString(Constants.CountryUndefined);
+
+		string [] myCountries = new String[1];
+		myCountries [0] = Catalog.GetString(Constants.CountryUndefined);
+		UtilGtk.ComboUpdate(combo_countries, myCountries, "");
+		combo_countries.Active = UtilGtk.ComboMakeActive(myCountries, 
+				Catalog.GetString(Constants.CountryUndefined));
+
+		combo_countries.Changed += new EventHandler (on_combo_countries_changed);
+		UtilGtk.ComboPackShowAndSensitive(hbox_combo_countries, combo_countries);
+	}
+	
+	private void createComboSexes() {
+		combo_sexes = ComboBox.NewText ();
+		UtilGtk.ComboUpdate(combo_sexes, sexes, "");
+		combo_sexes.Active = UtilGtk.ComboMakeActive(sexes, Catalog.GetString(Constants.Any));
+		UtilGtk.ComboPackShowAndSensitive(hbox_combo_sexes, combo_sexes);
+	}
+
+	private void createComboAges() {
+	}
+
+	private void createComboSports() {
+		combo_sports = ComboBox.NewText ();
+		sports = SqliteSport.SelectAll();
+		
+		//first value has to be any
+		sports[0] = Constants.SportUndefinedID + ":" + //no problem using the undefinedID
+			Constants.SportAny + ":" + Catalog.GetString(Constants.SportAny); //is "--Any" to be the first in sort
+			
+		//create sports translated, only with translated stuff
+		sportsTranslated = new String[sports.Length];
+		int i = 0;
+		foreach(string row in sports) {
+			string [] myStrFull = row.Split(new char[] {':'});
+			sportsTranslated[i++] = myStrFull[2];
+			}
+		
+		//sort array (except second row)
+		System.Array.Sort(sportsTranslated, 2, sportsTranslated.Length-2);
+		
+		UtilGtk.ComboUpdate(combo_sports, sportsTranslated, "");
+		combo_sports.Active = UtilGtk.ComboMakeActive(sportsTranslated, 
+				Catalog.GetString(Constants.SportAny));
+		
+		combo_sports.Changed += new EventHandler (on_combo_sports_changed);
+	
+		UtilGtk.ComboPackShowAndSensitive(hbox_combo_sports, combo_sports);
+	}
+	
+	private void createComboSpeciallities(int sportID) {
+		combo_speciallities = ComboBox.NewText ();
+		speciallities = SqliteSpeciallity.SelectAll(true, sportID); //show undefined, filter by sport
+		
+		//first value has to be any
+		speciallities[0] = "-1:" + Constants.Any + ":" + Catalog.GetString(Constants.Any);
+		
+		//create speciallities translated, only with translated stuff
+		speciallitiesTranslated = new String[speciallities.Length];
+		int i = 0;
+		foreach(string row in speciallities) {
+			string [] myStrFull = row.Split(new char[] {':'});
+			speciallitiesTranslated[i++] = myStrFull[2];
+			}
+		
+		//sort array (except first row)
+		System.Array.Sort(speciallities, 1, speciallities.Length-1);
+
+		UtilGtk.ComboUpdate(combo_speciallities, speciallitiesTranslated, "");
+		combo_speciallities.Active = UtilGtk.ComboMakeActive(speciallitiesTranslated, 
+				Catalog.GetString(Constants.Any));
+
+		hbox_combo_speciallities.PackStart(combo_speciallities, true, true, 0);
+		hbox_combo_speciallities.ShowAll();
+		combo_speciallities.Sensitive = true;
+		UtilGtk.ComboPackShowAndSensitive(hbox_combo_speciallities, combo_speciallities);
+	}
+	
+	private void createComboLevels() {
+		combo_levels = ComboBox.NewText ();
+		levels = Constants.Levels;
+		
+		//first value has to be any (but is ok to put the id value of the LevelUndefinedID)
+		levels[0] = Constants.LevelUndefinedID.ToString() + ":" + Catalog.GetString(Constants.Any);
+		
+		UtilGtk.ComboUpdate(combo_levels, levels, "");
+		combo_levels.Active = UtilGtk.ComboMakeActive(levels, 
+				Constants.LevelUndefinedID.ToString() + ":" + 
+				Catalog.GetString(Constants.Any));
+
+		hbox_combo_levels.PackStart(combo_levels, true, true, 0);
+		hbox_combo_levels.ShowAll();
+		combo_levels.Sensitive = false; //level is shown when sport is not "undefined" and not "none"
+		UtilGtk.ComboPackShowAndSensitive(hbox_combo_levels, combo_levels);
+	}
+
+
+	/*
+	   combos changed signals
+	 */	
+
+	private void on_combo_test_types_changed(object o, EventArgs args) 
+	{
+		if (UtilGtk.ComboGetActive(combo_test_types) == Catalog.GetString(Constants.UndefinedDefault)) {
+			tests = new String[1];
+			tests [0] = Catalog.GetString(Constants.UndefinedDefault);
+			UtilGtk.ComboUpdate(combo_tests, tests, "");
+			UtilGtk.ComboUpdate(combo_variables, tests, "");
+		}
+		else if (UtilGtk.ComboGetActive(combo_test_types) == Catalog.GetString(Constants.JumpSimpleName))
+			UtilGtk.ComboUpdate(combo_tests, 
+					SqliteJumpType.SelectJumpTypes("", "", true), "");
+		else if (UtilGtk.ComboGetActive(combo_test_types) == Catalog.GetString(Constants.JumpReactiveName))
+			UtilGtk.ComboUpdate(combo_tests, 
+					SqliteJumpType.SelectJumpRjTypes("", true), "");
+		else if (UtilGtk.ComboGetActive(combo_test_types) == Catalog.GetString(Constants.RunSimpleName))
+			UtilGtk.ComboUpdate(combo_tests, 
+					SqliteRunType.SelectRunTypes("", true), "");
+
+		combo_tests.Active = 0;
+
+		on_entries_required_changed(new object(), new EventArgs());
+	}
+	
+	
+	
+	private void on_combo_tests_changed(object o, EventArgs args) 
+	{
+		if (UtilGtk.ComboGetActive(combo_test_types) == Catalog.GetString(Constants.UndefinedDefault)) 
+			UtilGtk.ComboUpdate(combo_variables, Util.StringToStringArray(Constants.UndefinedDefault), "");
+		else if (UtilGtk.ComboGetActive(combo_test_types) == Catalog.GetString(Constants.JumpSimpleName)) {
+			JumpType jt = SqliteJumpType.SelectAndReturnJumpType(UtilGtk.ComboGetActive(combo_tests));
+			if(jt.StartIn)
+				UtilGtk.ComboUpdate(combo_variables, variablesJumpSimple, "");
+			else
+				UtilGtk.ComboUpdate(combo_variables, variablesJumpSimpleWithTC, "");
+		}
+		else if (UtilGtk.ComboGetActive(combo_test_types) == Catalog.GetString(Constants.JumpReactiveName)) 
+			UtilGtk.ComboUpdate(combo_variables, variablesJumpReactive, "");
+		else if (UtilGtk.ComboGetActive(combo_test_types) == Catalog.GetString(Constants.RunSimpleName)) 
+			UtilGtk.ComboUpdate(combo_variables, variablesRunSimple, "");
+		else
+			new DialogMessage(Constants.MessageTypes.WARNING, "Problem on tests");
+		
+		combo_variables.Active = 0;
+
+		on_entries_required_changed(new object(), new EventArgs());
+	}
+	
+	private void on_combo_variables_changed(object o, EventArgs args) {
+		on_entries_required_changed(new object(), new EventArgs());
+	}
+
+	private void on_combo_continents_changed(object o, EventArgs args) {
+		if(UtilGtk.ComboGetActive(combo_continents) == Catalog.GetString(Constants.Any)) {
+			countries [0] = Constants.CountryUndefinedID + ":" + Constants.CountryUndefined + ":" + Catalog.GetString(Constants.CountryUndefined);
+			countriesTranslated = new String[1];
+			countriesTranslated [0] = Catalog.GetString(Constants.CountryUndefined);
+			combo_countries.Sensitive = false;
+		}
+		else {
+			//get the active continent
+			string continentEnglish = Util.FindOnArray(':', 1, 0, UtilGtk.ComboGetActive(combo_continents), continents); 
+			countries = SqliteCountry.SelectCountriesOfAContinent(continentEnglish, true); //put undefined first
+
+			//create countries translated, only with translated stuff
+			countriesTranslated = new String[countries.Length];
+			int i = 0;
+			foreach(string row in countries) {
+				string [] myStrFull = row.Split(new char[] {':'});
+				countriesTranslated[i++] = myStrFull[2];
+			}
+		}
+		//sort array (except first row)
+		System.Array.Sort(countriesTranslated, 1, countriesTranslated.Length-1);
+
+		UtilGtk.ComboUpdate(combo_countries, countriesTranslated, "");
+		combo_countries.Active = UtilGtk.ComboMakeActive(countriesTranslated, 
+				Catalog.GetString(Constants.CountryUndefined));
+
+		combo_countries.Sensitive = true;
+
+		on_entries_required_changed(new object(), new EventArgs());
+	}
+
+	private void on_combo_countries_changed(object o, EventArgs args) {
+		on_entries_required_changed(new object(), new EventArgs());
+	}
+
+	private void on_combo_sports_changed(object o, EventArgs args) {
+		ComboBox combo = o as ComboBox;
+		if (o == null)
+			return;
+
+		//Log.WriteLine("changed");
+		try {
+			int sportID = Convert.ToInt32(Util.FindOnArray(':', 2, 0, UtilGtk.ComboGetActive(combo_sports), sports));
+			sport = SqliteSport.Select(sportID);
+
+			if(Catalog.GetString(sport.Name) == Catalog.GetString(Constants.SportAny)) {
+				//if sport is undefined, level should be undefined, and unsensitive
+				try { 
+					combo_levels.Active = UtilGtk.ComboMakeActive(levels, 
+							Constants.LevelUndefinedID.ToString() + ":" + 
+							Catalog.GetString(Constants.LevelUndefined));
+					combo_levels.Sensitive = false;
+					combo_speciallities.Active = UtilGtk.ComboMakeActive(speciallitiesTranslated, 
+							Catalog.GetString(Constants.SpeciallityUndefined));
+					label_speciallity.Hide();
+					combo_speciallities.Hide();
+				}
+				catch { Log.WriteLine("do later"); }
+			} else if(Catalog.GetString(sport.Name) == Catalog.GetString(Constants.SportNone)) {
+				//if sport is none, level should be sedentary and unsensitive
+				try { 
+					combo_levels.Active = UtilGtk.ComboMakeActive(levels, 
+							Constants.LevelSedentaryID.ToString() + ":" + 
+							Catalog.GetString(Constants.LevelSedentary));
+					combo_levels.Sensitive = false;
+
+					combo_speciallities.Active = UtilGtk.ComboMakeActive(speciallitiesTranslated, 
+							Catalog.GetString(Constants.SpeciallityUndefined));
+
+					label_speciallity.Hide();
+					combo_speciallities.Hide();
+				}
+				catch { Log.WriteLine("do later"); }
+			} else {
+				//sport is not undefined and not none
+
+				//if level is "sedentary", then change level to "undefined"
+				if(UtilGtk.ComboGetActive(combo_levels) ==
+						Constants.LevelSedentaryID.ToString() + ":" + 
+					       	Catalog.GetString(Constants.LevelSedentary)) {
+					combo_levels.Active = UtilGtk.ComboMakeActive(levels,
+							Constants.LevelUndefinedID.ToString() + ":" + 
+						       	Catalog.GetString(Constants.LevelUndefined));
+				}
+
+				//show level
+				combo_levels.Sensitive = true;
+		
+				if(sport.HasSpeciallities) {
+					combo_speciallities.Destroy();
+					createComboSpeciallities(sport.UniqueID);
+					label_speciallity.Show();
+					combo_speciallities.Show();
+				} else {
+					Log.Write("hide");
+					combo_speciallities.Active = UtilGtk.ComboMakeActive(speciallitiesTranslated,
+						       	Catalog.GetString(Constants.SpeciallityUndefined));
+					label_speciallity.Hide();
+					combo_speciallities.Hide();
+				}
+			}
+		} catch { 
+			//Log.WriteLine("do later");
+		}
+
+		on_entries_required_changed(new object(), new EventArgs());
+		Log.WriteLine(sport.ToString());
+	}
+	
+
+	void sqlBuildSelect (bool requiredDataOk) 
+	{
+		if( ! requiredDataOk) {
+			TextBuffer tb = new TextBuffer (new TextTagTable());
+			tb.Text = "";
+			textview_query.Buffer = tb;
+			return;
+		}
+		
+		//TODO: convert to tableName
+		string testType = UtilGtk.ComboGetActive(combo_test_types);
+		string tableName = "";
+		int countryID = 1;
+	
+		//convert country to ID
+		//...
+		//UtilGtk.ComboGetActive(combo_countries),
+
+		string sqlString = Util.SQLBuildString(
+				tableName, 
+				UtilGtk.ComboGetActive(combo_tests),
+				UtilGtk.ComboGetActive(combo_variables),
+				UtilGtk.ComboGetActive(combo_sexes),
+				//UtilGtk.ComboGetActive(combo_age),
+				countryID,
+				UtilGtk.ComboGetActive(combo_sports),
+				UtilGtk.ComboGetActive(combo_speciallities),
+				UtilGtk.ComboGetActive(combo_levels)
+				);
+
+
+
+	}
+
+
+	void on_entries_required_changed (object o, EventArgs args)
+	{
+		bool allOk = true;
+		
+		if ( UtilGtk.ComboGetActive(combo_test_types) != Catalog.GetString(Constants.UndefinedDefault) ) {
+			image_test_type.Hide();
+			combo_tests.Sensitive = true;
+			combo_variables.Sensitive = true;
+		} else {
+			image_test_type.Show();
+			combo_tests.Sensitive = false;
+			combo_variables.Sensitive = false;
+			allOk = false;
+		}
+
+		//a continent cannot be searched without selecting the country
+		if ( UtilGtk.ComboGetActive(combo_continents) == Catalog.GetString(Constants.Any) ) {
+			combo_countries.Sensitive = false;
+			image_country.Hide();
+		}
+		else { 
+			combo_countries.Sensitive = true;
+			if ( UtilGtk.ComboGetActive(combo_countries) == Catalog.GetString(Constants.UndefinedDefault) ) {
+				image_country.Show();
+				allOk = false;
+			} else
+				image_country.Hide();
+		}
+		
+	
+		if(allOk) {
+			sqlBuildSelect(true);
+			button_search.Sensitive = true;
+		}
+		else {
+			sqlBuildSelect(false);
+			button_search.Sensitive = false;
+		}
+	}
+
+	private void fillDialog ()
+	{
+		combo_tests.Sensitive = false;
+		combo_variables.Sensitive = false;
+		label_speciallity.Hide();
+		combo_speciallities.Hide();
+		label_age.Hide(); //currently no age support
+		
+		on_entries_required_changed(new object(), new EventArgs());
+	}
+
+	protected void on_button_search_clicked (object o, EventArgs args)
+	{
+	}
+	
+	protected void on_button_close_clicked (object o, EventArgs args)
+	{
+		QueryServerWindowBox.query_server_window.Hide();
+		QueryServerWindowBox = null;
+	}
+	
+	protected void on_delete_event (object o, DeleteEventArgs args)
+	{
+		QueryServerWindowBox.query_server_window.Hide();
+		QueryServerWindowBox = null;
+	}
+
+	~QueryServerWindow() {}
+	
+}
+
diff --git a/src/jumpType.cs b/src/jumpType.cs
index 3605a4b..1bc61f1 100644
--- a/src/jumpType.cs
+++ b/src/jumpType.cs
@@ -165,6 +165,7 @@ public class JumpType : EventType
 			imageFileName = "jump_rj_in.png";
 		} else if(name == Constants.RunAnalysisName) { //like a Rj(unlimited). but starting out
 			//Josep Ma Padullés test
+			//TODO: check if this code is used, because that test is a multiChronopic now
 			startIn 	= false;
 			hasWeight 	= false;
 			isRepetitive 	= true;
diff --git a/src/multiChronopic.cs b/src/multiChronopic.cs
index 3f59abf..d12dcd5 100644
--- a/src/multiChronopic.cs
+++ b/src/multiChronopic.cs
@@ -172,12 +172,9 @@ public class MultiChronopic : Event
 			returnLine[count++] = ""; //description column (unused because this array if for eg. treeview subLines)
 			returnLine[count++] = "-1"; //mark to non select here, select first line 
 			returnArray.Add(Util.StringArrayToString(returnLine, ":"));
-
-			Console.WriteLine(Util.StringArrayToString(returnLine, ":"));
 		}
 		array = returnArray;
 		arrayDone = true;
-			Console.WriteLine("BB4");
 		return array;
 	}
 		
diff --git a/src/treeViewMultiChronopic.cs b/src/treeViewMultiChronopic.cs
index 27a68d6..8e873fe 100644
--- a/src/treeViewMultiChronopic.cs
+++ b/src/treeViewMultiChronopic.cs
@@ -213,7 +213,6 @@ public class TreeViewMultiChronopic : TreeViewEvent
 	protected override string [] getSubLineToStore(System.Object myObject, int lineCount)
 	{
 		MultiChronopic mc = (MultiChronopic)myObject;
-Console.WriteLine("AA");
 		//write line for treeview
 		string [] myData = new String [19+1];
 
@@ -251,7 +250,6 @@ Console.WriteLine("AA");
 
 		//not runAnalsysis
 		if(lineCount == 0) {
-			Console.WriteLine("AA2b");
 			int count=0;
 			myData[count++] = "0";
 			myData[count++] = "0";
@@ -267,9 +265,7 @@ Console.WriteLine("AA");
 			myData[count++] = "-1"; //mark to non select here, select first line 
 			return mc.DeleteCols(myData, maxCPs, false);
 		} else {
-			Console.WriteLine("AA3");
 			ArrayList array = mc.AsArrayList(pDN);
-			Console.WriteLine("AA4");
 			return mc.DeleteCols( array[lineCount-1].ToString().Split(new char[] {':'} ), maxCPs, false );
 		}
 
diff --git a/src/util.cs b/src/util.cs
index c59209a..080786f 100644
--- a/src/util.cs
+++ b/src/util.cs
@@ -90,11 +90,12 @@ public class Util
 	}
 
 	public static string TrimDecimals (string time, int prefsDigitsNumber) {
-		if(time == "-1" || time == "-") {
+		if(time == "-1") 
+			return "-1";
+		else if(time == "-") 
 			return "-";
-		} else {
+		else 
 			return Math.Round(Convert.ToDouble(time), prefsDigitsNumber).ToString();
-		}
 	}
 	
 	public static double GetMax (string values)
@@ -695,11 +696,11 @@ public class Util
 	}
 
 	public static string GetDataDir(){
-		return System.IO.Path.Combine(GetPrefixDir(),"share");
+		return System.IO.Path.Combine(GetPrefixDir(),"share/chronojump");
 	}
 
 	public static string GetImagesDir(){
-		return System.IO.Path.Combine(GetDataDir(),"chronojump/images");
+		return System.IO.Path.Combine(GetDataDir(),"images");
 	}
 
 	public static string GetCssDir(){
@@ -1121,5 +1122,13 @@ public class Util
 		return searchedValue;
 	}
 
+	public static string SQLBuildString (string tableName, string test, string variable,
+			string sex, 
+			//string age, //interval...
+			int countryID, string sport, string speciallity, string level)
+	{
+		//string str = "SELECT " + tableName + "AVG(
+		return "A";
+	}
 
 }
diff --git a/src/utilGtk.cs b/src/utilGtk.cs
index 1175452..a04380c 100644
--- a/src/utilGtk.cs
+++ b/src/utilGtk.cs
@@ -143,4 +143,10 @@ public class UtilGtk
 		return (val1-val2);
 	}
 
+	public static void ComboPackShowAndSensitive (Gtk.Box box, Gtk.ComboBox combo) {
+		box.PackStart(combo, true, true, 0);
+		box.ShowAll();
+		combo.Sensitive = true;
+	}
+
 }



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