[chronojump] 75% of 689655 - Add single-leg jumps



commit 1e6ac4d1a18d7eeb9961ce27d9d23e5a11fa700f
Author: Xavier de Blas <xaviblas gmail com>
Date:   Tue Dec 4 20:56:31 2012 +0100

    75% of 689655 - Add single-leg jumps

 encoder/pyserial_pyper.py |    2 +-
 glade/chronojump.glade    |  307 ++++++++++++++++++++++++++++++++++++++++++++-
 src/execute/jump.cs       |    7 +-
 src/gui/chronojump.cs     |   10 ++-
 src/gui/jump.cs           |   38 ++++++
 src/jumpType.cs           |   10 ++-
 src/sqlite/jumpType.cs    |    1 +
 src/sqlite/main.cs        |   13 ++-
 8 files changed, 374 insertions(+), 14 deletions(-)
---
diff --git a/encoder/pyserial_pyper.py b/encoder/pyserial_pyper.py
index 7094426..aaac3ac 100644
--- a/encoder/pyserial_pyper.py
+++ b/encoder/pyserial_pyper.py
@@ -358,7 +358,7 @@ def update_graph(paramName, paramList, lowCondition, highCondition, hasRightMarg
 	pygame.display.flip() #update the screen
 
 #option can be "start", "end",
-#or time left: "5s", "4s", ..
+#or time left: "5 s", "4 s", ..
 def printHeader(option):
 	s=pygame.Surface((792,32))
 	s.fill(ColorBackground) #color the surface
diff --git a/glade/chronojump.glade b/glade/chronojump.glade
index 2be852c..5437a26 100644
--- a/glade/chronojump.glade
+++ b/glade/chronojump.glade
@@ -1330,6 +1330,31 @@ Chronopic</property>
                                                             </packing>
                                                             </child>
                                                             <child>
+                                                            <widget class="GtkRadioButton" id="extra_window_radio_jump_slcmj">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">False</property>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="tooltip" translatable="yes">CounterMovement Jump</property>
+                                                            <property name="use_action_appearance">False</property>
+                                                            <property name="relief">none</property>
+                                                            <property name="draw_indicator">False</property>
+                                                            <property name="group">extra_window_radio_jump_free</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label_extra_window_radio_jump_slcmj">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label">slCMJ</property>
+                                                            </widget>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">5</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
                                                             <widget class="GtkRadioButton" id="extra_window_radio_jump_abk">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
@@ -1352,7 +1377,7 @@ Chronopic</property>
                                                             <packing>
                                                             <property name="expand">False</property>
                                                             <property name="fill">False</property>
-                                                            <property name="position">5</property>
+                                                            <property name="position">6</property>
                                                             </packing>
                                                             </child>
                                                             <child>
@@ -1378,7 +1403,7 @@ Chronopic</property>
                                                             <packing>
                                                             <property name="expand">False</property>
                                                             <property name="fill">False</property>
-                                                            <property name="position">6</property>
+                                                            <property name="position">7</property>
                                                             </packing>
                                                             </child>
                                                             <child>
@@ -1404,7 +1429,7 @@ Chronopic</property>
                                                             <packing>
                                                             <property name="expand">False</property>
                                                             <property name="fill">False</property>
-                                                            <property name="position">7</property>
+                                                            <property name="position">8</property>
                                                             </packing>
                                                             </child>
                                                             <child>
@@ -1430,7 +1455,7 @@ Chronopic</property>
                                                             <packing>
                                                             <property name="expand">False</property>
                                                             <property name="fill">False</property>
-                                                            <property name="position">8</property>
+                                                            <property name="position">9</property>
                                                             </packing>
                                                             </child>
                                                             <child>
@@ -1481,7 +1506,7 @@ Chronopic</property>
                                                             <property name="expand">False</property>
                                                             <property name="fill">False</property>
                                                             <property name="padding">8</property>
-                                                            <property name="position">9</property>
+                                                            <property name="position">10</property>
                                                             </packing>
                                                             </child>
                                                             </widget>
@@ -3504,6 +3529,7 @@ weight</property>
                                                             <packing>
                                                             <property name="expand">False</property>
                                                             <property name="fill">True</property>
+                                                            <property name="padding">6</property>
                                                             <property name="position">2</property>
                                                             </packing>
                                                             </child>
@@ -3569,6 +3595,277 @@ weight</property>
                                                             <property name="position">2</property>
                                                             </packing>
                                                             </child>
+                                                            <child>
+                                                            <widget class="GtkVBox" id="vbox_extra_window_jumps_single_leg">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">4</property>
+                                                            <child>
+                                                            <widget class="GtkVBox" id="vbox82">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label101">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="label" translatable="yes">Type</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkAlignment" id="alignment26">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="left_padding">12</property>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox97">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkRadioButton" id="extra_window_jumps_radiobutton_single_leg_mode_vertical">
+                                                            <property name="label" translatable="yes">Vertical</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">False</property>
+                                                            <property name="use_action_appearance">False</property>
+                                                            <property name="active">True</property>
+                                                            <property name="draw_indicator">True</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkRadioButton" id="extra_window_jumps_radiobutton_single_leg_mode_horizontal">
+                                                            <property name="label" translatable="yes">Horizontal</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">False</property>
+                                                            <property name="use_action_appearance">False</property>
+                                                            <property name="active">True</property>
+                                                            <property name="draw_indicator">True</property>
+                                                            <property name="group">extra_window_jumps_radiobutton_single_leg_mode_vertical</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkRadioButton" id="extra_window_jumps_radiobutton_single_leg_mode_lateral">
+                                                            <property name="label" translatable="yes">Lateral</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">False</property>
+                                                            <property name="use_action_appearance">False</property>
+                                                            <property name="draw_indicator">True</property>
+                                                            <property name="group">extra_window_jumps_radiobutton_single_leg_mode_vertical</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">2</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkVBox" id="vbox73">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label99">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="label" translatable="yes">Limb</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkAlignment" id="alignment25">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="left_padding">12</property>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox98">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkRadioButton" id="extra_window_jumps_radiobutton_single_leg_right">
+                                                            <property name="label" translatable="yes">Right</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">False</property>
+                                                            <property name="use_action_appearance">False</property>
+                                                            <property name="active">True</property>
+                                                            <property name="draw_indicator">True</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkRadioButton" id="extra_window_jumps_radiobutton_single_leg_left">
+                                                            <property name="label" translatable="yes">Left</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">False</property>
+                                                            <property name="use_action_appearance">False</property>
+                                                            <property name="draw_indicator">True</property>
+                                                            <property name="group">extra_window_jumps_radiobutton_single_leg_right</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkVBox" id="vbox81">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label100">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="label" translatable="yes">Dominance</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkAlignment" id="alignment23">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="left_padding">12</property>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox99">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
+                                                            <child>
+                                                            <widget class="GtkRadioButton" id="extra_window_jumps_radiobutton_single_leg_this_limb">
+                                                            <property name="label" translatable="yes">This limb</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">False</property>
+                                                            <property name="use_action_appearance">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="draw_indicator">True</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkRadioButton" id="extra_window_jumps_radiobutton_single_leg_opposite">
+                                                            <property name="label" translatable="yes">Opposite</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">False</property>
+                                                            <property name="use_action_appearance">False</property>
+                                                            <property name="draw_indicator">True</property>
+                                                            <property name="group">extra_window_jumps_radiobutton_single_leg_this_limb</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkRadioButton" id="extra_window_jumps_radiobutton_single_leg_unknown">
+                                                            <property name="label" translatable="yes">Unknown</property>
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">False</property>
+                                                            <property name="use_action_appearance">False</property>
+                                                            <property name="active">True</property>
+                                                            <property name="draw_indicator">True</property>
+                                                            <property name="group">extra_window_jumps_radiobutton_single_leg_this_limb</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">2</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">2</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">3</property>
+                                                            </packing>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
diff --git a/src/execute/jump.cs b/src/execute/jump.cs
index d4801d6..89885e4 100644
--- a/src/execute/jump.cs
+++ b/src/execute/jump.cs
@@ -50,7 +50,7 @@ public class JumpExecute : EventExecute
 	//jump execution
 	public JumpExecute(int personID, string personName, int sessionID, string type, double fall, double weight,  
 			Chronopic cp, Gtk.TextView event_execute_textview_message, Gtk.Window app, int pDN, bool volumeOn,
-			double progressbarLimit, ExecutingGraphData egd 
+			double progressbarLimit, ExecutingGraphData egd, string description
 			)
 	{
 		this.personID = personID;
@@ -68,6 +68,7 @@ public class JumpExecute : EventExecute
 		this.volumeOn = volumeOn;
 		this.progressbarLimit = progressbarLimit;
 		this.egd = egd;
+		this.description = description;
 	
 		if(TypeHasFall) {
 			hasFall = true;
@@ -392,11 +393,11 @@ public class JumpExecute : EventExecute
 
 		uniqueID = SqliteJump.Insert(false, Constants.JumpTable, "NULL", personID, sessionID, 
 				type, tv, tc, fall,  //type, tv, tc, fall
-				weight, "", angle, Util.BoolToNegativeInt(simulated)); //weight, description, simulated
+				weight, description, angle, Util.BoolToNegativeInt(simulated));
 
 		//define the created object
 		eventDone = new Jump(uniqueID, personID, sessionID, type, tv, tc, fall, 
-				weight, "", angle, Util.BoolToNegativeInt(simulated)); 
+				weight, description, angle, Util.BoolToNegativeInt(simulated)); 
 		
 		//event will be raised, and managed in chronojump.cs
 		fakeButtonFinished.Click();
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index 265f046..14cb84c 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -587,6 +587,7 @@ public partial class ChronoJumpWindow
 		UtilGtk.ColorsTestLabel(label_extra_window_radio_jump_sjl);
 		UtilGtk.ColorsTestLabel(label_extra_window_radio_jump_cmj);
 		UtilGtk.ColorsTestLabel(label_extra_window_radio_jump_cmjl);
+		UtilGtk.ColorsTestLabel(label_extra_window_radio_jump_slcmj);
 		UtilGtk.ColorsTestLabel(label_extra_window_radio_jump_abk);
 		UtilGtk.ColorsTestLabel(label_extra_window_radio_jump_dj);
 		UtilGtk.ColorsTestLabel(label_extra_window_radio_jump_rocket);
@@ -598,6 +599,7 @@ public partial class ChronoJumpWindow
 		UtilGtk.ColorsRadio(extra_window_radio_jump_sjl);
 		UtilGtk.ColorsRadio(extra_window_radio_jump_cmj);
 		UtilGtk.ColorsRadio(extra_window_radio_jump_cmjl);
+		UtilGtk.ColorsRadio(extra_window_radio_jump_slcmj);
 		UtilGtk.ColorsRadio(extra_window_radio_jump_abk);
 		UtilGtk.ColorsRadio(extra_window_radio_jump_dj);
 		UtilGtk.ColorsRadio(extra_window_radio_jump_rocket);
@@ -3058,7 +3060,11 @@ Console.WriteLine("X");
 		else if( ! currentJumpType.StartIn) {
 			myFall = extra_window_jumps_fall;
 		}
-		
+
+		string description = "";
+		if(currentJumpType.Name == "slCMJ") {
+			description = slCMJString(); 
+		}
 			
 		//used by cancel and finish
 		//currentEventType = new JumpType();
@@ -3097,7 +3103,7 @@ Console.WriteLine("X");
 		currentEventExecute = new JumpExecute(currentPerson.UniqueID, currentPerson.Name, 
 				currentSession.UniqueID, currentJumpType.Name, myFall, jumpWeight,
 				chronopicWin.CP, event_execute_textview_message, app1, prefsDigitsNumber, volumeOn,
-				progressbarLimit, egd);
+				progressbarLimit, egd, description);
 
 		if (!chronopicWin.Connected) 
 			currentEventExecute.SimulateInitValues(rand);
diff --git a/src/gui/jump.cs b/src/gui/jump.cs
index e5c06b4..4f29616 100644
--- a/src/gui/jump.cs
+++ b/src/gui/jump.cs
@@ -808,6 +808,16 @@ partial class ChronoJumpWindow
 	[Widget] Gtk.CheckButton extra_window_jumps_check_dj_arms;
 	[Widget] Gtk.Label extra_window_label_jumps_no_options;
 	
+	[Widget] Gtk.Box vbox_extra_window_jumps_single_leg;
+	[Widget] Gtk.RadioButton extra_window_jumps_radiobutton_single_leg_mode_vertical;
+	[Widget] Gtk.RadioButton extra_window_jumps_radiobutton_single_leg_mode_horizontal;
+	[Widget] Gtk.RadioButton extra_window_jumps_radiobutton_single_leg_mode_lateral;
+	[Widget] Gtk.RadioButton extra_window_jumps_radiobutton_single_leg_right;
+	[Widget] Gtk.RadioButton extra_window_jumps_radiobutton_single_leg_left;
+	[Widget] Gtk.RadioButton extra_window_jumps_radiobutton_single_leg_this_limb;
+	[Widget] Gtk.RadioButton extra_window_jumps_radiobutton_single_leg_opposite;
+	[Widget] Gtk.RadioButton extra_window_jumps_radiobutton_single_leg_unknown;
+	
 	//options jumps_rj
 	[Widget] Gtk.Label extra_window_jumps_rj_label_limit;
 	[Widget] Gtk.SpinButton extra_window_jumps_rj_spinbutton_limit;
@@ -827,6 +837,7 @@ partial class ChronoJumpWindow
 	[Widget] Gtk.Label label_extra_window_radio_jump_sjl;
 	[Widget] Gtk.Label label_extra_window_radio_jump_cmj;
 	[Widget] Gtk.Label label_extra_window_radio_jump_cmjl;
+	[Widget] Gtk.Label label_extra_window_radio_jump_slcmj;
 	[Widget] Gtk.Label label_extra_window_radio_jump_abk;
 	[Widget] Gtk.Label label_extra_window_radio_jump_dj;
 	[Widget] Gtk.Label label_extra_window_radio_jump_rocket;
@@ -839,6 +850,7 @@ partial class ChronoJumpWindow
 	[Widget] Gtk.RadioButton extra_window_radio_jump_sjl;
 	[Widget] Gtk.RadioButton extra_window_radio_jump_cmj;
 	[Widget] Gtk.RadioButton extra_window_radio_jump_cmjl;
+	[Widget] Gtk.RadioButton extra_window_radio_jump_slcmj;
 	[Widget] Gtk.RadioButton extra_window_radio_jump_abk;
 	[Widget] Gtk.RadioButton extra_window_radio_jump_dj;
 	[Widget] Gtk.RadioButton extra_window_radio_jump_rocket;
@@ -888,6 +900,7 @@ partial class ChronoJumpWindow
 		else if(extra_window_radio_jump_sjl.Active) currentJumpType = new JumpType("SJl");
 		else if(extra_window_radio_jump_cmj.Active) currentJumpType = new JumpType("CMJ");
 		else if(extra_window_radio_jump_cmjl.Active) currentJumpType = new JumpType("CMJl");
+		else if(extra_window_radio_jump_slcmj.Active) currentJumpType = new JumpType("slCMJ");
 		else if(extra_window_radio_jump_abk.Active) currentJumpType = new JumpType("ABK");
 		else if(extra_window_radio_jump_dj.Active) currentJumpType = new JumpType("DJ");
 		else if(extra_window_radio_jump_rocket.Active) currentJumpType = new JumpType("Rocket");
@@ -980,6 +993,10 @@ partial class ChronoJumpWindow
 			extra_window_jumps_radiobutton_weight.Active = true;
 		}
 
+		extra_window_showSingleLegStuff(myJumpType.Name == "slCMJ");
+		if(myJumpType.Name == "slCMJ")
+			hasOptions = true;
+
 		extra_window_jumps_showNoOptions(myJumpType, hasOptions);
 	}
 	
@@ -1130,6 +1147,7 @@ partial class ChronoJumpWindow
 		else if(type.Name == "SJl") extra_window_radio_jump_sjl.Active = true;
 		else if(type.Name == "CMJ") extra_window_radio_jump_cmj.Active = true;
 		else if(type.Name == "CMJl") extra_window_radio_jump_cmjl.Active = true;
+		else if(type.Name == "slCMJ") extra_window_radio_jump_slcmj.Active = true;
 		else if(type.Name == "ABK") extra_window_radio_jump_abk.Active = true;
 //		else if(type.Name == "DJ") extra_window_radio_jump_dj.Active = true;
 		else if(type.Name == "Rocket") extra_window_radio_jump_rocket.Active = true;
@@ -1197,6 +1215,9 @@ partial class ChronoJumpWindow
 		extra_window_jumps_rj_label_limit_units.Visible = show;
 	}
 	
+	private void extra_window_showSingleLegStuff(bool show) {
+		vbox_extra_window_jumps_single_leg.Visible = show;
+	}
 			
 	private void extra_window_jumps_showNoOptions(JumpType myJumpType, bool hasOptions) {
 		if(myJumpType.IsRepetitive) 
@@ -1235,6 +1256,23 @@ partial class ChronoJumpWindow
 		else 
 			return extra_window_jumps_rj_limited.ToString() + "T";
 	}
+	
+	private string slCMJString()
+	{
+		string str = "";
+		if(extra_window_jumps_radiobutton_single_leg_mode_vertical.Active) str = "V";		//Vertical
+		else if(extra_window_jumps_radiobutton_single_leg_mode_horizontal.Active) str = "H";	//Horizontal
+		else str = "L"; 									//Lateral
+		
+		if(extra_window_jumps_radiobutton_single_leg_right.Active) str += " R";			//Right
+		else str += " L"; 									//Left
+		
+		if(extra_window_jumps_radiobutton_single_leg_this_limb.Active) str += " T";		//This limb
+		else if(extra_window_jumps_radiobutton_single_leg_opposite.Active) str += " O";		//Opposite
+		else str += " U"; 									//Unknown
+
+		return str;
+	}
 
 }
 
diff --git a/src/jumpType.cs b/src/jumpType.cs
index 5c69b8d..72e371a 100644
--- a/src/jumpType.cs
+++ b/src/jumpType.cs
@@ -40,7 +40,7 @@ public class JumpType : EventType
 	public override bool FindIfIsPredefined() {
 		string [] predefinedTests = {
 			"Free", "SJ", "CMJ", "ABK", "Rocket",
-			"SJl", "CMJl", "ABKl", "DJa", "DJna",
+			"SJl", "CMJl", "slCMJ", "ABKl", "DJa", "DJna",
 			"RJ(j)", "RJ(t)", "RJ(unlimited)",
 			"RJ(hexagon)", "triple jump"
 		};
@@ -64,7 +64,8 @@ public class JumpType : EventType
 		imageFileName = "";
 		
 		//if this changes, sqlite/jumpType.cs initialize tables should change
-		if(name == "Free" || name == "SJ" || name == "CMJ" || name == "ABK" || name == "Rocket") {
+		if(name == "Free" || name == "SJ" || name == "CMJ" || name == "slCMJ" || 
+				name == "ABK" || name == "Rocket") {
 			startIn 	= true;
 			hasWeight 	= false;
 			isRepetitive 	= false;
@@ -90,6 +91,11 @@ public class JumpType : EventType
 					"Hands are on the hips";
 
 			} 
+			else if (name == "slCMJ") {
+				//imageFileName = "jump_cmj.png";
+				description	= Catalog.GetString("Single-leg CounterMovement Jump");
+				longDescription	= "";
+			} 
 			else if (name == "ABK") {
 				description	= Catalog.GetString("Abalakov Jump");
 				imageFileName = "jump_abk.png";
diff --git a/src/sqlite/jumpType.cs b/src/sqlite/jumpType.cs
index 7e1e90f..4d5f560 100644
--- a/src/sqlite/jumpType.cs
+++ b/src/sqlite/jumpType.cs
@@ -55,6 +55,7 @@ class SqliteJumpType : Sqlite
 			"SJl:1:1:SJ jump with weight", 
 			"CMJ:1:0:CMJ jump", 
 			"CMJl:1:1:CMJ jump with weight", 
+			"slCMJ:1:0:Single-leg CMJ jump",
 			"ABK:1:0:ABK jump", 
 			"ABKl:1:1:ABK jump with weight", 
 			"Max:1:0:;Maximum jump", 
diff --git a/src/sqlite/main.cs b/src/sqlite/main.cs
index 052ef02..67dabd2 100644
--- a/src/sqlite/main.cs
+++ b/src/sqlite/main.cs
@@ -72,7 +72,7 @@ class Sqlite
 	 * Important, change this if there's any update to database
 	 * Important2: if database version get numbers higher than 1, check if the comparisons with currentVersion works ok
 	 */
-	static string lastChronojumpDatabaseVersion = "0.84";
+	static string lastChronojumpDatabaseVersion = "0.85";
 
 	public Sqlite() {
 	}
@@ -1153,6 +1153,16 @@ class Sqlite
 				dbcon.Close();
 				currentVersion = "0.84";
 			}
+			if(currentVersion == "0.84") {
+				dbcon.Open();
+				SqliteJumpType.JumpTypeInsert ("slCMJ:1:0:Single-leg CMJ jump", true);
+
+				SqlitePreferences.Update ("databaseVersion", "0.85", true); 
+				
+				Log.WriteLine("Converted DB to 0.85 (added slCMJ jump)"); 
+				dbcon.Close();
+				currentVersion = "0.85";
+			}
 		}
 
 		//if changes are made here, remember to change also in CreateTables()
@@ -1291,6 +1301,7 @@ class Sqlite
 		SqliteCountry.initialize();
 		
 		//changes [from - to - desc]
+		//0.84 - 0.85 Converted DB to 0.85 Added slCMJ jump 
 		//0.83 - 0.84 Converted DB to 0.84 Added first RSA test 
 		//0.82 - 0.83 Converted DB to 0.83 Created encoder table
 		//0.81 - 0.82 Converted DB to 0.82 Added videoOn 



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