[chronojump] Stiffness formula shown on Preferences GUI
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] Stiffness formula shown on Preferences GUI
- Date: Wed, 7 Jan 2015 19:58:47 +0000 (UTC)
commit 421d97950250ec225dd8773813e6bba149042491
Author: Xavier de Blas <xaviblas gmail com>
Date: Wed Jan 7 20:58:24 2015 +0100
Stiffness formula shown on Preferences GUI
glade/chronojump.glade | 425 ++++++++++++++++++++++++++++++++++++++--------
src/gui/dialogMessage.cs | 13 ++-
src/gui/preferences.cs | 32 +++-
src/preferences.cs | 1 +
4 files changed, 396 insertions(+), 75 deletions(-)
---
diff --git a/glade/chronojump.glade b/glade/chronojump.glade
index ee30d46..b36b30f 100644
--- a/glade/chronojump.glade
+++ b/glade/chronojump.glade
@@ -6369,6 +6369,9 @@ Second Chronopic to platforms.</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
<packing>
<property name="expand">True</property>
@@ -7114,6 +7117,9 @@ Second Chronopic to platforms.</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
</child>
<child>
@@ -8111,6 +8117,9 @@ Second Chronopic to platforms.</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
<packing>
<property name="position">2</property>
@@ -8749,6 +8758,9 @@ Second Chronopic to platforms.</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
<packing>
<property name="position">4</property>
@@ -18044,38 +18056,7 @@ Just select and then close this window.</property>
<widget class="GtkVBox" id="dialog-vbox4">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">4</property>
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area4">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="layout_style">end</property>
- <child>
- <widget class="GtkButton" id="close_button">
- <property name="label">gtk-close</property>
- <property name="response_id">-7</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="receives_default">False</property>
- <property name="use_stock">True</property>
- <signal name="clicked" handler="on_close_button_clicked" swapped="no"/>
- <accelerator key="Escape" signal="clicked"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">end</property>
- <property name="position">0</property>
- </packing>
- </child>
+ <property name="spacing">8</property>
<child>
<widget class="GtkHBox" id="hbox138">
<property name="visible">True</property>
@@ -18122,13 +18103,207 @@ Just select and then close this window.</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label_message">
+ <widget class="GtkVBox" id="vbox4">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="xalign">0</property>
- <property name="use_markup">True</property>
- <property name="wrap">True</property>
- <property name="selectable">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">8</property>
+ <child>
+ <widget class="GtkHBox" id="hbox_stiffness_formula">
+ <property name="can_focus">False</property>
+ <property name="spacing">4</property>
+ <child>
+ <widget class="GtkLabel" id="label8">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="yalign">0.30000001192092896</property>
+ <property name="label" translatable="yes">Stiffness</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label10">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="yalign">0.30000001192092896</property>
+ <property name="label"> = </property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkVBox" id="vbox1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <widget class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"><u>M * ᴨ ( Tf + Tc )</u></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">4</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">3</property>
+ <child>
+ <widget class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">Tc² (</property>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkVBox" id="vbox2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <widget class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"><u>Tf + Tc</u ></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label9">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">ᴨ</property>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">-</property>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkVBox" id="vbox3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <widget class="GtkLabel" id="label6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"><u>Tc</u></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label7">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">4</property>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">)</property>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </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">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label_message">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="xalign">0</property>
+ <property name="use_markup">True</property>
+ <property name="wrap">True</property>
+ <property name="selectable">True</property>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="expand">True</property>
@@ -18140,8 +18315,38 @@ Just select and then close this window.</property>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <widget class="GtkButton" id="close_button">
+ <property name="label">gtk-close</property>
+ <property name="response_id">-7</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_stock">True</property>
+ <signal name="clicked" handler="on_close_button_clicked" swapped="no"/>
+ <accelerator key="Escape" signal="clicked"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
<property name="pack_type">end</property>
- <property name="position">2</property>
+ <property name="position">1</property>
</packing>
</child>
</widget>
@@ -18522,6 +18727,9 @@ by you</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
</child>
</widget>
@@ -19068,6 +19276,9 @@ by you</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
</child>
</widget>
@@ -20106,6 +20317,9 @@ by you</property>
<placeholder/>
</child>
<child>
+ <placeholder/>
+ </child>
+ <child>
<widget class="GtkButton" id="button_video_url">
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -20201,6 +20415,9 @@ by you</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
<packing>
<property name="expand">True</property>
@@ -29165,6 +29382,24 @@ options</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
</child>
</widget>
@@ -31091,6 +31326,9 @@ To differentiate between male and female, use the values 1/0, or m/f, or M/F on
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
</child>
</widget>
@@ -31675,6 +31913,9 @@ To differentiate between male and female, use the values 1/0, or m/f, or M/F on
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
</child>
</widget>
@@ -32051,13 +32292,43 @@ To differentiate between male and female, use the values 1/0, or m/f, or M/F on
<property name="can_focus">False</property>
<property name="n_rows">2</property>
<property name="n_columns">2</property>
- <property name="column_spacing">8</property>
+ <property name="column_spacing">12</property>
<property name="row_spacing">8</property>
<child>
+ <widget class="GtkCheckButton" id="checkbutton_initial_speed">
+ <property name="label" translatable="yes">Initial
speed</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkCheckButton" id="checkbutton_angle">
+ <property name="label" translatable="yes">Knee
angle</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</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>
+ </packing>
+ </child>
+ <child>
<widget class="GtkHBox" id="hbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">8</property>
+ <property name="spacing">12</property>
<child>
<widget class="GtkCheckButton" id="checkbutton_power">
<property name="label"
translatable="yes">Power</property>
@@ -32090,44 +32361,49 @@ To differentiate between male and female, use the values 1/0, or m/f, or M/F on
</packing>
</child>
</widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- </packing>
</child>
<child>
- <widget class="GtkCheckButton" id="checkbutton_initial_speed">
- <property name="label" translatable="yes">Initial
speed</property>
+ <widget class="GtkHBox" id="hbox13">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- </packing>
- </child>
- <child>
- <widget class="GtkCheckButton" id="checkbutton_angle">
- <property name="label" translatable="yes">Knee
angle</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">12</property>
+ <child>
+ <widget class="GtkCheckButton" id="checkbutton_stiffness">
+ <property name="label"
translatable="yes">Stiffness</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="clicked"
handler="on_checkbutton_stiffness_clicked" swapped="no"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkButton" id="button_help_stiffness">
+ <property name="label">gtk-help</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ <signal name="clicked"
handler="on_button_help_stiffness_clicked" swapped="no"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
</packing>
</child>
- <child>
- <placeholder/>
- </child>
</widget>
<packing>
<property name="expand">False</property>
@@ -34246,6 +34522,9 @@ show elevation as:</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
<packing>
<property name="left_attach">2</property>
@@ -34456,6 +34735,9 @@ show elevation as:</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
</child>
</widget>
@@ -34681,6 +34963,9 @@ show elevation as:</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
</child>
</widget>
diff --git a/src/gui/dialogMessage.cs b/src/gui/dialogMessage.cs
index 1c7f344..4f4d7c2 100644
--- a/src/gui/dialogMessage.cs
+++ b/src/gui/dialogMessage.cs
@@ -15,7 +15,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
- * Copyright (C) 2004-2014 Xavier de Blas <xaviblas gmail com>
+ * Copyright (C) 2004-2015 Xavier de Blas <xaviblas gmail com>
*/
using System;
@@ -30,6 +30,8 @@ public class DialogMessage
[Widget] Gtk.Image image_warning;
[Widget] Gtk.Image image_info;
[Widget] Gtk.Image image_help;
+
+ [Widget] Gtk.Box hbox_stiffness_formula;
public DialogMessage (string title, Constants.MessageTypes type, string message)
{
@@ -39,6 +41,14 @@ public class DialogMessage
{
initialize("", type, message);
}
+ //special caller to show stiffness formula or others
+ public DialogMessage (Constants.MessageTypes type, string message, string objectToShow)
+ {
+ initialize("", type, message);
+ if(objectToShow == "hbox_stiffness_formula")
+ hbox_stiffness_formula.Show();
+ }
+
private void initialize(string title, Constants.MessageTypes type, string message)
{
@@ -80,7 +90,6 @@ public class DialogMessage
label_message.Show();
dialog_message.Show();
}
-
public void on_close_button_clicked (object obj, EventArgs args) {
dialog_message.Destroy ();
diff --git a/src/gui/preferences.cs b/src/gui/preferences.cs
index abab505..ffadc04 100644
--- a/src/gui/preferences.cs
+++ b/src/gui/preferences.cs
@@ -52,10 +52,12 @@ public class PreferencesWindow {
[Widget] Gtk.ComboBox combo_decimals;
[Widget] Gtk.CheckButton checkbutton_power;
+ [Widget] Gtk.CheckButton checkbutton_stiffness;
[Widget] Gtk.CheckButton checkbutton_initial_speed;
[Widget] Gtk.CheckButton checkbutton_angle;
[Widget] Gtk.Button button_help_power;
+ [Widget] Gtk.Button button_help_stiffness;
[Widget] Gtk.CheckButton checkbutton_show_tv_tc_index;
[Widget] Gtk.Box hbox_indexes;
@@ -158,6 +160,14 @@ public class PreferencesWindow {
PreferencesWindowBox.button_help_power.Sensitive = false;
}
+ if(preferences.showStiffness) {
+ PreferencesWindowBox.checkbutton_stiffness.Active = true;
+ PreferencesWindowBox.button_help_stiffness.Sensitive = true;
+ } else {
+ PreferencesWindowBox.checkbutton_stiffness.Active = false;
+ PreferencesWindowBox.button_help_stiffness.Sensitive = false;
+ }
+
if(preferences.showInitialSpeed)
PreferencesWindowBox.checkbutton_initial_speed.Active = true;
else
@@ -316,23 +326,39 @@ public class PreferencesWindow {
//Catalog.GetString("Jumps with TC & TF: Bosco Relative Power (W/Kg)") +
//"\n" +
//Catalog.GetString("P = 24.6 * (Total time + Flight time) / Contact time") +
- Catalog.GetString("Jumps with TC & TF:") + " " + Catalog.GetString("Developed
by Chronojump team") +
+ Catalog.GetString("Jumps with TC and TF:") + " " +
Catalog.GetString("Developed by Chronojump team") +
"\n" +
Catalog.GetString("Calcule the potential energies on fall and after the
jump.") + "\n" +
Catalog.GetString("Divide them by time during force is applied.") +
- "\n" +
+ "\n\n" +
//P = mass * g * ( fallHeight + 1.226 * Math.Pow(tf,2) ) / (Double)tt;
"P = " + Catalog.GetString("mass") + " * g * ( " +
Catalog.GetString("falling height") + " + 1.226 * " +
Catalog.GetString("flight time") + " ^ 2 ) / " +
Catalog.GetString("total_time") +
"\n\n" +
Catalog.GetString("Jumps without TC: Lewis Peak Power 1974 (W)") +
- "\n" +
+ "\n\n" +
Catalog.GetString("P = SQRT(4.9) * 9.8 * (body weight+extra weight) *
SQRT(jump height in meters)") +
"\n\n" +
Catalog.GetString("If you want to use other formulas, go to Statistics."));
}
+ private void on_checkbutton_stiffness_clicked (object o, EventArgs args) {
+ button_help_stiffness.Sensitive = checkbutton_stiffness.Active;
+ }
+ private void on_button_help_stiffness_clicked (object o, EventArgs args) {
+ new DialogMessage(Constants.MessageTypes.INFO,
+ "M: " + Catalog.GetString("Mass") + "\n" +
+ "Tc: " + Catalog.GetString("Contact Time") + "\n" +
+ "Tf: " + Catalog.GetString("Flight Time") + "\n\n" +
+ Catalog.GetString("See:") + "\n" +
+ "Dalleau, G; Belli, A; Viale, F; Lacour, JR; and Bourdin, M. (2004). " +
+ "A simple method for field measurements of leg stiffness in hopping. " +
+ "Int J Sports Med 25: 170–176"
+ ,
+ "hbox_stiffness_formula");
+ }
+
void on_button_cancel_clicked (object o, EventArgs args)
{
PreferencesWindowBox.preferences_win.Hide();
diff --git a/src/preferences.cs b/src/preferences.cs
index ee0c1c4..c8ce9b9 100644
--- a/src/preferences.cs
+++ b/src/preferences.cs
@@ -29,6 +29,7 @@ public class Preferences
public int digitsNumber;
public bool showPower;
+ public bool showStiffness;
public bool showInitialSpeed;
public bool showAngle;
public bool showQIndex;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]