chronojump r424 - in trunk: . build/data build/data/locale/ca/LC_MESSAGES glade images po src src/angle src/gui src/sqlite
- From: xaviblas svn gnome org
- To: svn-commits-list gnome org
- Subject: chronojump r424 - in trunk: . build/data build/data/locale/ca/LC_MESSAGES glade images po src src/angle src/gui src/sqlite
- Date: Tue, 28 Oct 2008 18:13:39 +0000 (UTC)
Author: xaviblas
Date: Tue Oct 28 18:13:39 2008
New Revision: 424
URL: http://svn.gnome.org/viewvc/chronojump?rev=424&view=rev
Log:
0.7.5.8
preferences:
-db: 0.59 (added angle to show angle to preferences database and
jump.angle is now double)
previous db version has commented the line:
"SqlitePreferences.Update ("databaseVersion", "0.58", true);" check if
there are problems on new conversion
-now is a notebook with three pages
-added show angle
gui changes in main window:
-treeview events are more compact now. zoom, edit, repair, delete icons are little now
and are at right.
-there is only one zoom button now (press z) that rolls in two or
three states
-added accelerators to right icons
-on treeview events, sorted by name of person instead of uniqueID
-create new type (jump or run) is now a button on treeviews
Improvements on treeviews and edit event:
-edit event shows time, tc, tf with all decimals for not triming and
do different calculations on eg. jump height, after accept
-Fast addition to descriptions: edit event default focus is in description now an entry (not
textview)(to allow a fast writing), and enter does "accept"
-edit events updates only it's line (if owner is the same). Now it's
easy to add comments
-selection of treeviews: jumpsRj, runsI, pulses, now only selects the
first line. "edit this", and "delete this".. changed to "selected"
-fixed bug treeviewjump, and rj shows now weight in kg if wanted
-fixed bug on simulated and person weight on jump, jumpRj treeviews
-edit jump manages better the sensitiveness on jump type (weight) changing
-treeviewshows angle
-on edit event, hiden accept if values are not correct instead not allow writing
-fixed bug in edit simulated events, they crash on reading "xxx
simulated" as int
-session add/edit now removes tilde and colon on entries and textview
export and report:
-fixed bug: now person weight and sport is ok
-now titles like "runs" only appear if there are runs
-simulated is printed as "No" or "Yes" with Util.NoYes
-newline is removed on descriptions (if not, creates new line in spreadsheet)
-added angle on jumps
more/last button on treeview runs now at side of tests (like other treeviews)
added again crash button to flush data on log
-fixed bug in treeviews events, the select-show-combo didn't worked
-changed "All jumps", runs, pulses to Constants...
kneeAngle: 1.4 lots of changes:
-adaptative threshold (solves problems with holes close to the
clothes) initial minimum threshold depends on brightness
-only validation points mode
-allow forward, fastForward,
-auto end before jump
-paint at different color, other holes
-toePointWidth better (done only at first)
-detection on skin started with small white markers surrounded by
black rectangle (see onlyValidationSkin)
Modified:
trunk/Makefile
trunk/build/data/chronojump.prg
trunk/build/data/chronojump_mini.prg
trunk/build/data/locale/ca/LC_MESSAGES/chronojump.mo
trunk/build/data/version.txt
trunk/changelog.txt
trunk/glade/chronojump.glade
trunk/images/gtk-zoom-fit.png
trunk/images/gtk-zoom-in-with-text.png
trunk/images/gtk-zoom-in.png
trunk/images/gtk-zoom-out.png
trunk/po/ca.po
trunk/src/angle/kneeAngle.cpp
trunk/src/angle/kneeAngleFunctions.cpp
trunk/src/angle/kneeAngleUtil.cpp
trunk/src/constants.cs
trunk/src/exportSession.cs
trunk/src/gui/chronojump.cs
trunk/src/gui/event.cs
trunk/src/gui/jump.cs
trunk/src/gui/jumpType.cs
trunk/src/gui/preferences.cs
trunk/src/gui/pulse.cs
trunk/src/gui/reactionTime.cs
trunk/src/gui/run.cs
trunk/src/gui/runType.cs
trunk/src/gui/session.cs
trunk/src/jump.cs
trunk/src/report.cs
trunk/src/sqlite/jump.cs
trunk/src/sqlite/jumpRj.cs
trunk/src/sqlite/main.cs
trunk/src/sqlite/personSession.cs
trunk/src/sqlite/preferences.cs
trunk/src/sqlite/pulse.cs
trunk/src/sqlite/reactionTime.cs
trunk/src/sqlite/run.cs
trunk/src/sqlite/runInterval.cs
trunk/src/sqlite/stat.cs
trunk/src/statType.cs
trunk/src/treeViewEvent.cs
trunk/src/treeViewJump.cs
trunk/src/treeViewPulse.cs
trunk/src/treeViewRun.cs
trunk/src/util.cs
trunk/version.txt
Modified: trunk/Makefile
==============================================================================
--- trunk/Makefile (original)
+++ trunk/Makefile Tue Oct 28 18:13:39 2008
@@ -83,10 +83,11 @@
-resource:images/chronojump_icon.png,chronojump_icon.png \
-resource:images/chronojump_icon_graph.png,chronojump_icon_graph.png \
-resource:images/gtk-zoom-fit.png,gtk-zoom-fit.png \
- -resource:images/gtk-zoom-out.png,gtk-zoom-out.png \
-resource:images/gtk-zoom-in.png,gtk-zoom-in.png \
-resource:images/gtk-zoom-in-with-text.png,gtk-zoom-in-with-text.png \
-resource:images/chronojump_320.png,chronojump_320.png \
+
+#-resource:images/gtk-zoom-out.png,gtk-zoom-out.png \
#logo is included as assemblie and as a file (with create_release.sh and installjammer)
#report_web_style.css only as a file (there were problems when copying into file at report with stream)
Modified: trunk/build/data/chronojump.prg
==============================================================================
Binary files. No diff available.
Modified: trunk/build/data/chronojump_mini.prg
==============================================================================
Binary files. No diff available.
Modified: trunk/build/data/locale/ca/LC_MESSAGES/chronojump.mo
==============================================================================
Binary files. No diff available.
Modified: trunk/build/data/version.txt
==============================================================================
--- trunk/build/data/version.txt (original)
+++ trunk/build/data/version.txt Tue Oct 28 18:13:39 2008
@@ -1 +1 @@
-0.7.5.4
+0.7.5.8
Modified: trunk/changelog.txt
==============================================================================
--- trunk/changelog.txt (original)
+++ trunk/changelog.txt Tue Oct 28 18:13:39 2008
@@ -1,5 +1,69 @@
CHRONOJUMP DETAILED CHANGELOG:
+28 oct 2008
+ 0.7.5.8
+ preferences:
+ -db: 0.59 (added angle to show angle to preferences database and
+ jump.angle is now double)
+ previous db version has commented the line:
+ "SqlitePreferences.Update ("databaseVersion", "0.58", true);" check if
+ there are problems on new conversion
+ -now is a notebook with three pages
+ -added show angle
+
+ gui changes in main window:
+ -treeview events are more compact now. zoom, edit, repair, delete icons are little now
+ and are at right.
+ -there is only one zoom button now (press z) that rolls in two or
+ three states
+ -added accelerators to right icons
+ -on treeview events, sorted by name of person instead of uniqueID
+ -create new type (jump or run) is now a button on treeviews
+
+ Improvements on treeviews and edit event:
+ -edit event shows time, tc, tf with all decimals for not triming and
+ do different calculations on eg. jump height, after accept
+ -Fast addition to descriptions: edit event default focus is in description now an entry (not
+ textview)(to allow a fast writing), and enter does "accept"
+ -edit events updates only it's line (if owner is the same). Now it's
+ easy to add comments
+ -selection of treeviews: jumpsRj, runsI, pulses, now only selects the
+ first line. "edit this", and "delete this".. changed to "selected"
+ -fixed bug treeviewjump, and rj shows now weight in kg if wanted
+ -fixed bug on simulated and person weight on jump, jumpRj treeviews
+ -edit jump manages better the sensitiveness on jump type (weight) changing
+ -treeviewshows angle
+ -on edit event, hiden accept if values are not correct instead not allow writing
+
+ -fixed bug in edit simulated events, they crash on reading "xxx
+ simulated" as int
+ -session add/edit now removes tilde and colon on entries and textview
+
+ export and report:
+ -fixed bug: now person weight and sport is ok
+ -now titles like "runs" only appear if there are runs
+ -simulated is printed as "No" or "Yes" with Util.NoYes
+ -newline is removed on descriptions (if not, creates new line in spreadsheet)
+ -added angle on jumps
+
+
+ more/last button on treeview runs now at side of tests (like other treeviews)
+ added again crash button to flush data on log
+
+ -fixed bug in treeviews events, the select-show-combo didn't worked
+ -changed "All jumps", runs, pulses to Constants...
+
+ kneeAngle: 1.4 lots of changes:
+ -adaptative threshold (solves problems with holes close to the
+ clothes) initial minimum threshold depends on brightness
+ -only validation points mode
+ -allow forward, fastForward,
+ -auto end before jump
+ -paint at different color, other holes
+ -toePointWidth better (done only at first)
+ -detection on skin started with small white markers surrounded by
+ black rectangle (see onlyValidationSkin)
+
21 oct 2008
0.7.5.4
fixed bug in add multiple, sex cannot be changed (in first calling to that
Modified: trunk/glade/chronojump.glade
==============================================================================
--- trunk/glade/chronojump.glade (original)
+++ trunk/glade/chronojump.glade Tue Oct 28 18:13:39 2008
@@ -2096,98 +2096,28 @@
<property name="spacing">4</property>
<child>
- <widget class="GtkHBox" id="hbox_language_row">
+ <widget class="GtkNotebook" id="notebook2">
+ <property name="border_width">6</property>
<property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label214">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Language</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>
+ <property name="can_focus">True</property>
+ <property name="show_tabs">True</property>
+ <property name="show_border">True</property>
+ <property name="tab_pos">GTK_POS_TOP</property>
+ <property name="scrollable">False</property>
+ <property name="enable_popup">False</property>
<child>
- <widget class="GtkHBox" id="hbox_combo_language">
+ <widget class="GtkVBox" id="vbox124">
+ <property name="border_width">8</property>
<property name="visible">True</property>
<property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <placeholder/>
- </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>
-
- <child>
- <widget class="GtkHSeparator" id="hseparator_language">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame30">
- <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="alignment114">
- <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>
+ <property name="spacing">10</property>
<child>
- <widget class="GtkTable" id="table48">
+ <widget class="GtkVBox" id="vbox125">
<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">8</property>
+ <property name="spacing">6</property>
<child>
<widget class="GtkLabel" id="label180">
@@ -2208,12 +2138,9 @@
<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>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
</packing>
</child>
@@ -2231,108 +2158,111 @@
<property name="width_chars">13</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"></property>
- <property name="y_options"></property>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
</packing>
</child>
+ </widget>
+ <packing>
+ <property name="padding">4</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button_help">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Help with Chronopic port</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_help_clicked" last_modification_time="Sun, 07 May 2006 13:15:48 GMT"/>
<child>
- <widget class="GtkButton" id="button_help">
+ <widget class="GtkAlignment" id="alignment109">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Help with Chronopic port</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_help_clicked" last_modification_time="Sun, 07 May 2006 13:15:48 GMT"/>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
<child>
- <widget class="GtkAlignment" id="alignment109">
+ <widget class="GtkHBox" id="hbox267">
<property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
<child>
- <widget class="GtkHBox" id="hbox267">
+ <widget class="GtkImage" id="image3128">
<property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">2</property>
-
- <child>
- <widget class="GtkImage" id="image3128">
- <property name="visible">True</property>
- <property name="stock">gtk-help</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="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <property name="stock">gtk-help</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="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkLabel" id="label506">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Port Help</property>
- <property name="use_underline">True</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="GtkLabel" id="label506">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Port Help</property>
+ <property name="use_underline">True</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>
</widget>
</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>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
</child>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
</widget>
+ <packing>
+ <property name="tab_expand">False</property>
+ <property name="tab_fill">True</property>
+ </packing>
</child>
<child>
- <widget class="GtkLabel" id="label518">
+ <widget class="GtkLabel" id="label524">
<property name="visible">True</property>
- <property name="label" translatable="yes"><b>Chronopic connection</b></property>
+ <property name="label" translatable="yes">Chronopic port</property>
<property name="use_underline">False</property>
- <property name="use_markup">True</property>
+ <property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
@@ -2346,115 +2276,105 @@
<property name="angle">0</property>
</widget>
<packing>
- <property name="type">label_item</property>
+ <property name="type">tab</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="GtkHSeparator" id="hseparator9">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame31">
- <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="alignment115">
+ <widget class="GtkVBox" id="vbox122">
+ <property name="border_width">7</property>
<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>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
<child>
- <widget class="GtkVBox" id="vbox122">
+ <widget class="GtkCheckButton" id="checkbutton_height">
<property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Show height</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkHBox" id="hbox87">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
+ <child>
+ <widget class="GtkCheckButton" id="checkbutton_initial_speed">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Show initial speed</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkLabel" id="label38">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Decimal number</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="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkCheckButton" id="checkbutton_angle">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Show angle</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkSpinButton" id="spinbutton_decimals">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="climb_rate">1</property>
- <property name="digits">0</property>
- <property name="numeric">False</property>
- <property name="update_policy">GTK_UPDATE_ALWAYS</property>
- <property name="snap_to_ticks">False</property>
- <property name="wrap">False</property>
- <property name="adjustment">1 1 3 1 10 10</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</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="GtkCheckButton" id="checkbutton_show_tv_tc_index">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Show indexes between TF and TC</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <signal name="clicked" handler="on_checkbutton_show_tv_tc_index_clicked" last_modification_time="Tue, 12 Sep 2006 23:35:11 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox_indexes">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
<child>
- <widget class="GtkCheckButton" id="checkbutton_height">
+ <widget class="GtkRadioButton" id="radiobutton_show_q_index">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="label" translatable="yes">Show height</property>
+ <property name="label" translatable="yes">QIndex</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
@@ -2463,23 +2383,24 @@
<property name="draw_indicator">True</property>
</widget>
<packing>
- <property name="padding">0</property>
+ <property name="padding">10</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
- <widget class="GtkCheckButton" id="checkbutton_initial_speed">
+ <widget class="GtkRadioButton" id="radiobutton_show_dj_index">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="label" translatable="yes">Show initial speed</property>
+ <property name="label" translatable="yes">DjIndex</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
+ <property name="group">radiobutton_show_q_index</property>
</widget>
<packing>
<property name="padding">0</property>
@@ -2487,19 +2408,130 @@
<property name="fill">False</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="GtkCheckButton" id="checkbutton_height_preferred">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Prefer height over TF</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="checkbutton_meters_seconds_preferred">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Prefer m/s over Km/h</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="checkbutton_percent_kg_preferred">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Prefer weight in % over Kg</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="tab_expand">False</property>
+ <property name="tab_fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label525">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Show</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="type">tab</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkVBox" id="vbox123">
+ <property name="border_width">8</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox87">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
<child>
- <widget class="GtkCheckButton" id="checkbutton_show_tv_tc_index">
+ <widget class="GtkLabel" id="label38">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Show indexes between TF and TC</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <signal name="clicked" handler="on_checkbutton_show_tv_tc_index_clicked" last_modification_time="Tue, 12 Sep 2006 23:35:11 GMT"/>
+ <property name="label" translatable="yes">Decimal number</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="padding">0</property>
@@ -2509,234 +2541,83 @@
</child>
<child>
- <widget class="GtkHBox" id="hbox_indexes">
+ <widget class="GtkSpinButton" id="spinbutton_decimals">
<property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
+ <property name="can_focus">True</property>
+ <property name="climb_rate">1</property>
+ <property name="digits">0</property>
+ <property name="numeric">False</property>
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+ <property name="adjustment">1 1 3 1 10 10</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkRadioButton" id="radiobutton_show_q_index">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">QIndex</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">10</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton_show_dj_index">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">DjIndex</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton_show_q_index</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</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="GtkCheckButton" id="checkbutton_height_preferred">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Prefer height over TF</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="checkbutton_meters_seconds_preferred">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Prefer m/s over Km/h</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="checkbutton_percent_kg_preferred">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Prefer weight in % over Kg</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkCheckButton" id="checkbutton_ask_deletion">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Ask user if really wants to delete a test</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Ask for confirm test deletion</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">True</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label519">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Show</b></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="GtkHSeparator" id="hseparator3">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame32">
- <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="alignment116">
- <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="vbox123">
+ <widget class="GtkCheckButton" id="checkbutton_allow_finish_rj_after_time">
<property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkCheckButton" id="checkbutton_allow_finish_rj_after_time">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">If a reactive jump is limited by time, and time has running out, allow finish jump</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Allow RJ's finish after time</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="checkbutton_ask_deletion">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Ask user if really wants to delete a test</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Ask for confirm test deletion</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">True</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <property name="tooltip" translatable="yes">If a reactive jump is limited by time, and time has running out, allow finish jump</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Allow RJ's finish after time</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
</widget>
+ <packing>
+ <property name="tab_expand">False</property>
+ <property name="tab_fill">True</property>
+ </packing>
</child>
<child>
- <widget class="GtkLabel" id="label520">
+ <widget class="GtkLabel" id="label526">
<property name="visible">True</property>
- <property name="label" translatable="yes"><b>Other</b></property>
+ <property name="label" translatable="yes">Other</property>
<property name="use_underline">False</property>
- <property name="use_markup">True</property>
+ <property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
@@ -2750,34 +2631,12 @@
<property name="angle">0</property>
</widget>
<packing>
- <property name="type">label_item</property>
+ <property name="type">tab</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHSeparator" id="hseparator16">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHSeparator" id="hseparator1">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
@@ -8096,7 +7955,7 @@
<signal name="activate" handler="on_new_activate" last_modification_time="Wed, 22 Sep 2004 23:55:11 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3131">
+ <widget class="GtkImage" id="image3292">
<property name="visible">True</property>
<property name="stock">gtk-new</property>
<property name="icon_size">1</property>
@@ -8117,7 +7976,7 @@
<signal name="activate" handler="on_open_activate" last_modification_time="Wed, 22 Sep 2004 23:55:11 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3132">
+ <widget class="GtkImage" id="image3293">
<property name="visible">True</property>
<property name="stock">gtk-open</property>
<property name="icon_size">1</property>
@@ -8138,7 +7997,7 @@
<signal name="activate" handler="on_edit_session_activate" last_modification_time="Tue, 26 Jul 2005 19:12:07 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3133">
+ <widget class="GtkImage" id="image3294">
<property name="visible">True</property>
<property name="stock">gtk-edit</property>
<property name="icon_size">1</property>
@@ -8160,7 +8019,7 @@
<signal name="activate" handler="on_delete_session_activate" last_modification_time="Thu, 28 Jul 2005 13:37:42 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3134">
+ <widget class="GtkImage" id="image3295">
<property name="visible">True</property>
<property name="stock">gtk-remove</property>
<property name="icon_size">1</property>
@@ -8188,7 +8047,7 @@
<signal name="activate" handler="on_export_session_activate" last_modification_time="Sat, 12 Feb 2005 21:57:07 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3135">
+ <widget class="GtkImage" id="image3296">
<property name="visible">True</property>
<property name="stock">gtk-convert</property>
<property name="icon_size">1</property>
@@ -8224,7 +8083,7 @@
<signal name="activate" handler="on_preferences_activate" last_modification_time="Mon, 04 Oct 2004 19:19:19 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3136">
+ <widget class="GtkImage" id="image3297">
<property name="visible">True</property>
<property name="stock">gtk-preferences</property>
<property name="icon_size">1</property>
@@ -8251,7 +8110,7 @@
<signal name="activate" handler="on_quit1_activate" last_modification_time="Wed, 22 Sep 2004 23:17:31 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3137">
+ <widget class="GtkImage" id="image3298">
<property name="visible">True</property>
<property name="stock">gtk-quit</property>
<property name="icon_size">1</property>
@@ -8285,7 +8144,7 @@
<signal name="activate" handler="on_person_add_single_activate" last_modification_time="Thu, 18 Aug 2005 23:07:39 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3138">
+ <widget class="GtkImage" id="image3299">
<property name="visible">True</property>
<property name="stock">gtk-new</property>
<property name="icon_size">1</property>
@@ -8306,7 +8165,7 @@
<signal name="activate" handler="on_person_add_multiple_activate" last_modification_time="Thu, 18 Aug 2005 23:01:23 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3139">
+ <widget class="GtkImage" id="image3300">
<property name="visible">True</property>
<property name="stock">gtk-new</property>
<property name="icon_size">1</property>
@@ -8333,7 +8192,7 @@
<signal name="activate" handler="on_recuperate_person_activate" last_modification_time="Sun, 12 Dec 2004 00:40:31 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3140">
+ <widget class="GtkImage" id="image3301">
<property name="visible">True</property>
<property name="stock">gtk-open</property>
<property name="icon_size">1</property>
@@ -8354,7 +8213,7 @@
<signal name="activate" handler="on_recuperate_persons_from_session_activate" last_modification_time="Tue, 26 Jul 2005 19:12:07 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3141">
+ <widget class="GtkImage" id="image3302">
<property name="visible">True</property>
<property name="stock">gtk-open</property>
<property name="icon_size">1</property>
@@ -8381,7 +8240,7 @@
<signal name="activate" handler="on_edit_current_person_clicked" last_modification_time="Sun, 17 Oct 2004 11:43:33 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3142">
+ <widget class="GtkImage" id="image3303">
<property name="visible">True</property>
<property name="stock">gtk-edit</property>
<property name="icon_size">1</property>
@@ -8402,7 +8261,7 @@
<signal name="activate" handler="on_show_all_person_events_activate" last_modification_time="Mon, 29 Aug 2005 09:51:24 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3143">
+ <widget class="GtkImage" id="image3304">
<property name="visible">True</property>
<property name="stock">gtk-index</property>
<property name="icon_size">1</property>
@@ -8429,7 +8288,7 @@
<signal name="activate" handler="on_delete_current_person_from_session_activate" last_modification_time="Thu, 28 Jul 2005 15:49:38 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3144">
+ <widget class="GtkImage" id="image3305">
<property name="visible">True</property>
<property name="stock">gtk-remove</property>
<property name="icon_size">1</property>
@@ -8541,7 +8400,7 @@
<signal name="activate" handler="on_button_more_clicked" last_modification_time="Thu, 10 Mar 2005 18:52:25 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3145">
+ <widget class="GtkImage" id="image3306">
<property name="visible">True</property>
<property name="stock">gtk-add</property>
<property name="icon_size">1</property>
@@ -8566,7 +8425,7 @@
<signal name="activate" handler="on_edit_selected_jump_clicked" last_modification_time="Sun, 17 Oct 2004 11:47:42 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3146">
+ <widget class="GtkImage" id="image3307">
<property name="visible">True</property>
<property name="stock">gtk-edit</property>
<property name="icon_size">1</property>
@@ -8587,7 +8446,7 @@
<signal name="activate" handler="on_delete_selected_jump_clicked" last_modification_time="Tue, 19 Oct 2004 11:54:17 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3147">
+ <widget class="GtkImage" id="image3308">
<property name="visible">True</property>
<property name="stock">gtk-remove</property>
<property name="icon_size">1</property>
@@ -8653,7 +8512,7 @@
<signal name="activate" handler="on_button_more_rj_clicked" last_modification_time="Fri, 11 Mar 2005 14:45:23 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3148">
+ <widget class="GtkImage" id="image3309">
<property name="visible">True</property>
<property name="stock">gtk-add</property>
<property name="icon_size">1</property>
@@ -8678,7 +8537,7 @@
<signal name="activate" handler="on_edit_selected_jump_rj_clicked" last_modification_time="Sun, 07 Nov 2004 17:37:37 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3149">
+ <widget class="GtkImage" id="image3310">
<property name="visible">True</property>
<property name="stock">gtk-edit</property>
<property name="icon_size">1</property>
@@ -8699,7 +8558,7 @@
<signal name="activate" handler="on_repair_selected_reactive_jump_clicked" last_modification_time="Wed, 07 Dec 2005 01:14:11 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3150">
+ <widget class="GtkImage" id="image3311">
<property name="visible">True</property>
<property name="stock">gtk-preferences</property>
<property name="icon_size">1</property>
@@ -8720,7 +8579,7 @@
<signal name="activate" handler="on_delete_selected_jump_rj_clicked" last_modification_time="Sun, 07 Nov 2004 17:37:37 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3151">
+ <widget class="GtkImage" id="image3312">
<property name="visible">True</property>
<property name="stock">gtk-remove</property>
<property name="icon_size">1</property>
@@ -8747,7 +8606,7 @@
<signal name="activate" handler="on_jump_type_add_activate" last_modification_time="Thu, 10 Mar 2005 18:52:25 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3152">
+ <widget class="GtkImage" id="image3313">
<property name="visible">True</property>
<property name="stock">gtk-new</property>
<property name="icon_size">1</property>
@@ -8892,7 +8751,7 @@
<signal name="activate" handler="on_button_run_more_clicked" last_modification_time="Fri, 22 Apr 2005 14:37:06 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3153">
+ <widget class="GtkImage" id="image3314">
<property name="visible">True</property>
<property name="stock">gtk-add</property>
<property name="icon_size">1</property>
@@ -8917,7 +8776,7 @@
<signal name="activate" handler="on_edit_selected_run_clicked" last_modification_time="Fri, 22 Apr 2005 14:34:58 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3154">
+ <widget class="GtkImage" id="image3315">
<property name="visible">True</property>
<property name="stock">gtk-edit</property>
<property name="icon_size">1</property>
@@ -8938,7 +8797,7 @@
<signal name="activate" handler="on_delete_selected_run_clicked" last_modification_time="Fri, 22 Apr 2005 14:34:58 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3155">
+ <widget class="GtkImage" id="image3316">
<property name="visible">True</property>
<property name="stock">gtk-remove</property>
<property name="icon_size">1</property>
@@ -9004,7 +8863,7 @@
<signal name="activate" handler="on_button_run_interval_more_clicked" last_modification_time="Tue, 16 Aug 2005 01:18:41 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3156">
+ <widget class="GtkImage" id="image3317">
<property name="visible">True</property>
<property name="stock">gtk-add</property>
<property name="icon_size">1</property>
@@ -9029,7 +8888,7 @@
<signal name="activate" handler="on_edit_selected_run_interval_clicked" last_modification_time="Tue, 16 Aug 2005 12:33:39 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3157">
+ <widget class="GtkImage" id="image3318">
<property name="visible">True</property>
<property name="stock">gtk-edit</property>
<property name="icon_size">1</property>
@@ -9050,7 +8909,7 @@
<signal name="activate" handler="on_repair_selected_run_interval_clicked" last_modification_time="Wed, 03 May 2006 15:15:38 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3158">
+ <widget class="GtkImage" id="image3319">
<property name="visible">True</property>
<property name="stock">gtk-preferences</property>
<property name="icon_size">1</property>
@@ -9071,7 +8930,7 @@
<signal name="activate" handler="on_delete_selected_run_interval_clicked" last_modification_time="Tue, 16 Aug 2005 12:33:39 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3159">
+ <widget class="GtkImage" id="image3320">
<property name="visible">True</property>
<property name="stock">gtk-remove</property>
<property name="icon_size">1</property>
@@ -9098,7 +8957,7 @@
<signal name="activate" handler="on_run_type_add_activate" last_modification_time="Fri, 22 Apr 2005 14:34:58 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3160">
+ <widget class="GtkImage" id="image3321">
<property name="visible">True</property>
<property name="stock">gtk-new</property>
<property name="icon_size">1</property>
@@ -9156,26 +9015,6 @@
<signal name="activate" handler="on_button_pulse_custom_activate" last_modification_time="Sat, 28 Oct 2006 08:57:53 GMT"/>
</widget>
</child>
-
- <child>
- <widget class="GtkImageMenuItem" id="menuitem_pulse_more">
- <property name="label" translatable="yes">More pulses</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_button_pulse_more_clicked" last_modification_time="Sat, 28 Oct 2006 08:57:53 GMT"/>
-
- <child internal-child="image">
- <widget class="GtkImage" id="image3161">
- <property name="visible">True</property>
- <property name="stock">gtk-add</property>
- <property name="icon_size">1</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- </child>
</widget>
</child>
</widget>
@@ -9198,7 +9037,7 @@
<signal name="activate" handler="on_menuitem_view_stats_activate" last_modification_time="Tue, 26 Jul 2005 23:54:29 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3162">
+ <widget class="GtkImage" id="image3322">
<property name="visible">True</property>
<property name="stock">gtk-refresh</property>
<property name="icon_size">1</property>
@@ -9219,7 +9058,7 @@
<signal name="activate" handler="on_show_report_activate" last_modification_time="Tue, 06 Sep 2005 09:10:32 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3163">
+ <widget class="GtkImage" id="image3323">
<property name="visible">True</property>
<property name="stock">gtk-refresh</property>
<property name="icon_size">1</property>
@@ -9287,7 +9126,7 @@
<signal name="activate" handler="on_menuitem_manual_activate" last_modification_time="Wed, 03 Oct 2007 23:31:41 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3164">
+ <widget class="GtkImage" id="image3324">
<property name="visible">True</property>
<property name="stock">gtk-info</property>
<property name="icon_size">1</property>
@@ -9323,7 +9162,7 @@
<signal name="activate" handler="on_about1_activate" last_modification_time="Wed, 22 Sep 2004 23:17:31 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image3165">
+ <widget class="GtkImage" id="image3325">
<property name="visible">True</property>
<property name="stock">gtk-about</property>
<property name="icon_size">1</property>
@@ -9335,15 +9174,42 @@
</child>
</widget>
</child>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
+
+ <child>
+ <widget class="GtkSeparatorMenuItem" id="separador17">
+ <property name="visible">True</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkImageMenuItem" id="menuitem_crash">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Crash application (debug purpose)</property>
+ <property name="use_underline">True</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="image3326">
+ <property name="visible">True</property>
+ <property name="stock">gtk-dialog-error</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
</packing>
</child>
@@ -9427,897 +9293,26 @@
</child>
<child>
- <widget class="GtkButton" id="button_recup_per">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Load person</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_recuperate_person_activate" last_modification_time="Sun, 12 Dec 2004 00:40:00 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image1471">
- <property name="visible">True</property>
- <property name="stock">gtk-open</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>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_edit_current_person">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Edit selected person</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_edit_current_person_clicked" last_modification_time="Sun, 07 Nov 2004 18:48:06 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image1977">
- <property name="visible">True</property>
- <property name="stock">gtk-edit</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>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_show_all_person_events">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">show all tests of this person</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_show_all_person_events_activate" last_modification_time="Mon, 29 Aug 2005 12:14:12 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image1188">
- <property name="visible">True</property>
- <property name="stock">gtk-dialog-info</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>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow24">
- <property name="width_request">145</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkTreeView" id="treeview_persons">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="headers_visible">True</property>
- <property name="rules_hint">False</property>
- <property name="reorderable">False</property>
- <property name="enable_search">True</property>
- <property name="fixed_height_mode">False</property>
- <property name="hover_selection">False</property>
- <property name="hover_expand">False</property>
- <signal name="button_release_event" handler="on_treeview_button_release_event" last_modification_time="Sun, 21 Oct 2007 00:32:56 GMT"/>
- </widget>
- </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="label197">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>persons</b></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="GtkAlignment" id="alignment_image_test">
- <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">6</property>
- <property name="bottom_padding">4</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkVBox" id="vbox_image_test">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox230">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkLabel" id="label_image_test">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></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_END</property>
- <property name="width_chars">15</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="GtkAlignment" id="alignment106">
- <property name="visible">True</property>
- <property name="xalign">1</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">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkButton" id="button_image_test_zoom">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Expand image and show description</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_image_test_zoom_clicked" last_modification_time="Wed, 07 Nov 2007 23:48:45 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image_test_zoom">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkImage" id="image_test">
- <property name="visible">True</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="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkNotebook" id="notebook">
- <property name="border_width">4</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="show_tabs">True</property>
- <property name="show_border">False</property>
- <property name="tab_pos">GTK_POS_TOP</property>
- <property name="scrollable">True</property>
- <property name="enable_popup">False</property>
- <signal name="switch_page" handler="on_notebook_change_by_user" last_modification_time="Mon, 20 Aug 2007 11:40:09 GMT"/>
-
- <child>
- <widget class="GtkVBox" id="vbox20">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkFrame" id="frame1">
- <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="alignment25">
- <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="GtkHBox" id="hbox_jumps">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkButton" id="button_free">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Simple jump with no special technique</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Free Jump</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_normal_jump_activate" last_modification_time="Sat, 17 Feb 2007 23:07:58 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 20:05:25 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_sj">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Squat Jump</property>
- <property name="can_focus">True</property>
- <property name="label">SJ</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_normal_jump_activate" last_modification_time="Sat, 02 Oct 2004 20:21:23 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 19:40:46 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_sj_l">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Squat Jump with extra weight</property>
- <property name="can_focus">True</property>
- <property name="label">SJl</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_jump_extra_activate" last_modification_time="Fri, 11 Mar 2005 13:16:40 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 19:51:43 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_cmj">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">CounterMovement Jump</property>
- <property name="can_focus">True</property>
- <property name="label">CMJ</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_normal_jump_activate" last_modification_time="Sat, 02 Oct 2004 20:21:34 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 19:51:52 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_abk">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Abalakov Jump</property>
- <property name="can_focus">True</property>
- <property name="label">ABK</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_normal_jump_activate" last_modification_time="Sat, 02 Oct 2004 20:26:49 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 20:00:28 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_dj">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Drop Jump</property>
- <property name="can_focus">True</property>
- <property name="label">DJ</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_jump_extra_activate" last_modification_time="Fri, 11 Mar 2005 13:16:30 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 20:00:36 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_rocket">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Rocket Jump</property>
- <property name="can_focus">True</property>
- <property name="label">Rocket</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_normal_jump_activate" last_modification_time="Sun, 29 Apr 2007 11:24:29 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 20:00:45 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkAlignment" id="alignment_jump_more">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <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">10</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkButton" id="button_more">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">More simple jumps</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">more</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_more_clicked" last_modification_time="Tue, 08 Mar 2005 16:17:45 GMT"/>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_last">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">last</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_last_clicked" last_modification_time="Wed, 20 Jul 2005 09:46:51 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label98">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>execute</b></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">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame2">
- <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="alignment26">
- <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="vbox38">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox11">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkButton" id="button_delete_selected_jump">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Delete selected jump</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_delete_selected_jump_clicked" last_modification_time="Sun, 07 Nov 2004 17:33:46 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image_jump_delete">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_edit_selected_jump">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Edit selected jump</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_edit_selected_jump_clicked" last_modification_time="Sun, 07 Nov 2004 17:35:04 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image1972">
- <property name="visible">True</property>
- <property name="stock">gtk-edit</property>
- <property name="icon_size">1</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_tv_expand">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Expand all</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_tv_expand_clicked" last_modification_time="Sun, 13 Feb 2005 16:00:22 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image_tv_expand">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_tv_collapse">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Collapse all</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_tv_collapse_clicked" last_modification_time="Sun, 13 Feb 2005 15:56:05 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image_tv_collapse">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkAlignment" id="alignment34">
- <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">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox_aligned_lef">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox_combo_jumps">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <placeholder/>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow1">
- <property name="width_request">200</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkTreeView" id="treeview_jumps">
- <property name="visible">True</property>
- <property name="headers_visible">True</property>
- <property name="rules_hint">True</property>
- <property name="reorderable">False</property>
- <property name="enable_search">False</property>
- <property name="fixed_height_mode">False</property>
- <property name="hover_selection">False</property>
- <property name="hover_expand">False</property>
- <signal name="button_release_event" handler="on_treeview_button_release_event" last_modification_time="Sun, 21 Oct 2007 00:33:23 GMT"/>
- </widget>
- </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="label99">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>view</b></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>
- </widget>
- <packing>
- <property name="tab_expand">False</property>
- <property name="tab_fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label91">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Jump</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="type">tab</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox21">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkFrame" id="frame3">
- <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="alignment27">
- <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="GtkHBox" id="hbox_jumps_rj">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkButton" id="button_rj_j">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Reactive Jump limited by Jumps</property>
- <property name="can_focus">True</property>
- <property name="label">RJ(j)</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_rj_activate" last_modification_time="Thu, 23 Sep 2004 00:45:53 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 20:06:07 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_rj_t">
+ <widget class="GtkButton" id="button_recup_per">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Reactive Jump limited by Time</property>
+ <property name="tooltip" translatable="yes">Load person</property>
+ <property name="can_default">True</property>
<property name="can_focus">True</property>
- <property name="label">RJ(t)</property>
- <property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_rj_activate" last_modification_time="Thu, 23 Sep 2004 00:45:53 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 20:08:00 GMT"/>
+ <signal name="clicked" handler="on_recuperate_person_activate" last_modification_time="Sun, 12 Dec 2004 00:40:00 GMT"/>
+
+ <child>
+ <widget class="GtkImage" id="image1471">
+ <property name="visible">True</property>
+ <property name="stock">gtk-open</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>
+ </child>
</widget>
<packing>
<property name="padding">0</property>
@@ -10327,16 +9322,25 @@
</child>
<child>
- <widget class="GtkButton" id="button_rj_unlimited">
+ <widget class="GtkButton" id="button_edit_current_person">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Reactive Jump unlimited (until finish button is clicked)</property>
+ <property name="tooltip" translatable="yes">Edit selected person</property>
<property name="can_focus">True</property>
- <property name="label" translatable="yes">Unlimited</property>
- <property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_rj_activate" last_modification_time="Thu, 23 Sep 2004 00:45:53 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 20:08:16 GMT"/>
+ <signal name="clicked" handler="on_edit_current_person_clicked" last_modification_time="Sun, 07 Nov 2004 18:48:06 GMT"/>
+
+ <child>
+ <widget class="GtkImage" id="image1977">
+ <property name="visible">True</property>
+ <property name="stock">gtk-edit</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>
+ </child>
</widget>
<packing>
<property name="padding">0</property>
@@ -10346,27 +9350,23 @@
</child>
<child>
- <widget class="GtkAlignment" id="alignment_more_rj">
+ <widget class="GtkButton" id="button_show_all_person_events">
<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">10</property>
- <property name="right_padding">0</property>
+ <property name="tooltip" translatable="yes">show all tests of this person</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_show_all_person_events_activate" last_modification_time="Mon, 29 Aug 2005 12:14:12 GMT"/>
<child>
- <widget class="GtkButton" id="button_rj_more">
+ <widget class="GtkImage" id="image1188">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">More reactive jumps</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">more</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_more_rj_clicked" last_modification_time="Fri, 11 Mar 2005 14:45:03 GMT"/>
+ <property name="stock">gtk-dialog-info</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>
</child>
</widget>
@@ -10376,146 +9376,234 @@
<property name="fill">False</property>
</packing>
</child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkScrolledWindow" id="scrolledwindow24">
+ <property name="width_request">145</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child>
- <widget class="GtkButton" id="button_rj_last">
+ <widget class="GtkTreeView" id="treeview_persons">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="label" translatable="yes">last</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_last_rj_clicked" last_modification_time="Wed, 20 Jul 2005 09:49:27 GMT"/>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">False</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">True</property>
+ <property name="fixed_height_mode">False</property>
+ <property name="hover_selection">False</property>
+ <property name="hover_expand">False</property>
+ <signal name="button_release_event" handler="on_treeview_button_release_event" last_modification_time="Sun, 21 Oct 2007 00:32:56 GMT"/>
</widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</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="label197">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>persons</b></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="GtkAlignment" id="alignment_image_test">
+ <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">6</property>
+ <property name="bottom_padding">4</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkVBox" id="vbox_image_test">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox230">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkLabel" id="label_image_test">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></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_END</property>
+ <property name="width_chars">15</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="GtkAlignment" id="alignment106">
+ <property name="visible">True</property>
+ <property name="xalign">1</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">0</property>
+ <property name="right_padding">0</property>
<child>
- <widget class="GtkButton" id="button_rj_bells">
+ <widget class="GtkButton" id="button_image_test_zoom">
<property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Expand image and show description</property>
<property name="can_focus">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_rj_bells_clicked" last_modification_time="Mon, 19 Mar 2007 15:43:46 GMT"/>
+ <signal name="clicked" handler="on_button_image_test_zoom_clicked" last_modification_time="Wed, 07 Nov 2007 23:48:45 GMT"/>
<child>
- <widget class="GtkAlignment" id="alignment81">
+ <widget class="GtkImage" id="image_test_zoom">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox169">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">2</property>
-
- <child>
- <widget class="GtkImage" id="image_jump_reactive_bell">
- <property name="visible">True</property>
- <property name="icon_name"></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="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label374">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Bells</property>
- <property name="use_underline">True</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>
- </widget>
- </child>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
</widget>
</child>
</widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
</child>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
</child>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
</child>
- <child>
- <widget class="GtkLabel" id="label100">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>execute</b></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>
+ <child>
+ <widget class="GtkImage" id="image_test">
+ <property name="visible">True</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>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
</packing>
</child>
</widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
</child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkNotebook" id="notebook">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="show_tabs">True</property>
+ <property name="show_border">False</property>
+ <property name="tab_pos">GTK_POS_TOP</property>
+ <property name="scrollable">True</property>
+ <property name="enable_popup">False</property>
+ <signal name="switch_page" handler="on_notebook_change_by_user" last_modification_time="Mon, 20 Aug 2007 11:40:09 GMT"/>
+
+ <child>
+ <widget class="GtkVBox" id="vbox20">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
<child>
- <widget class="GtkFrame" id="frame9">
+ <widget class="GtkFrame" id="frame36">
<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="alignment38">
+ <widget class="GtkAlignment" id="alignment120">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
@@ -10523,220 +9611,273 @@
<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="left_padding">0</property>
<property name="right_padding">0</property>
<child>
- <widget class="GtkVBox" id="vbox47">
+ <widget class="GtkVBox" id="vbox126">
<property name="visible">True</property>
<property name="homogeneous">False</property>
- <property name="spacing">0</property>
+ <property name="spacing">4</property>
<child>
- <widget class="GtkHBox" id="hbox84">
+ <widget class="GtkHBox" id="hbox272">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
- <widget class="GtkButton" id="button_delete_selected_jump_rj">
+ <widget class="GtkHBox" id="hbox_jumps">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Delete selected jump</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_delete_selected_jump_rj_clicked" last_modification_time="Sun, 07 Nov 2004 19:19:22 GMT"/>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
<child>
- <widget class="GtkImage" id="image_jump_reactive_delete">
+ <widget class="GtkButton" id="button_free">
<property name="visible">True</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="tooltip" translatable="yes">Simple jump with no special technique</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Free Jump</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_normal_jump_activate" last_modification_time="Sat, 17 Feb 2007 23:07:58 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 20:05:25 GMT"/>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_repair_selected_reactive_jump">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Repair selected reactive jump</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_repair_selected_reactive_jump_clicked" last_modification_time="Wed, 07 Dec 2005 01:01:09 GMT"/>
<child>
- <widget class="GtkImage" id="image_jump_reactive_repair">
+ <widget class="GtkButton" id="button_sj">
<property name="visible">True</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="tooltip" translatable="yes">Squat Jump</property>
+ <property name="can_focus">True</property>
+ <property name="label">SJ</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_normal_jump_activate" last_modification_time="Sat, 02 Oct 2004 20:21:23 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 19:40:46 GMT"/>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
- <child>
- <widget class="GtkButton" id="button_edit_selected_jump_rj">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Edit selected jump</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_edit_selected_jump_rj_clicked" last_modification_time="Sun, 07 Nov 2004 19:19:07 GMT"/>
+ <child>
+ <widget class="GtkButton" id="button_sj_l">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Squat Jump with extra weight</property>
+ <property name="can_focus">True</property>
+ <property name="label">SJl</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_jump_extra_activate" last_modification_time="Fri, 11 Mar 2005 13:16:40 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 19:51:43 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
<child>
- <widget class="GtkImage" id="image1971">
+ <widget class="GtkButton" id="button_cmj">
<property name="visible">True</property>
- <property name="stock">gtk-edit</property>
- <property name="icon_size">1</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="tooltip" translatable="yes">CounterMovement Jump</property>
+ <property name="can_focus">True</property>
+ <property name="label">CMJ</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_normal_jump_activate" last_modification_time="Sat, 02 Oct 2004 20:21:34 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 19:51:52 GMT"/>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
- <child>
- <widget class="GtkButton" id="button_tv_rj_expand">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Expand all</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_tv_rj_expand_clicked" last_modification_time="Sun, 13 Feb 2005 16:02:37 GMT"/>
+ <child>
+ <widget class="GtkButton" id="button_abk">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Abalakov Jump</property>
+ <property name="can_focus">True</property>
+ <property name="label">ABK</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_normal_jump_activate" last_modification_time="Sat, 02 Oct 2004 20:26:49 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 20:00:28 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
<child>
- <widget class="GtkImage" id="image_tv_rj_expand">
+ <widget class="GtkButton" id="button_dj">
<property name="visible">True</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="tooltip" translatable="yes">Drop Jump</property>
+ <property name="can_focus">True</property>
+ <property name="label">DJ</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_jump_extra_activate" last_modification_time="Fri, 11 Mar 2005 13:16:30 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 20:00:36 GMT"/>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
- <child>
- <widget class="GtkButton" id="button_tv_rj_optimal">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Optimal expand</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_tv_rj_optimal_clicked" last_modification_time="Sun, 13 Feb 2005 16:03:48 GMT"/>
+ <child>
+ <widget class="GtkButton" id="button_rocket">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Rocket Jump</property>
+ <property name="can_focus">True</property>
+ <property name="label">Rocket</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_normal_jump_activate" last_modification_time="Sun, 29 Apr 2007 11:24:29 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 20:00:45 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
<child>
- <widget class="GtkImage" id="image_tv_rj_fit">
+ <widget class="GtkAlignment" id="alignment_jump_more">
<property name="visible">True</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="xscale">1</property>
+ <property name="yscale">1</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">10</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkButton" id="button_more">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">More simple jumps</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_more_clicked" last_modification_time="Tue, 08 Mar 2005 16:17:45 GMT"/>
+
+ <child>
+ <widget class="GtkImage" id="image3167">
+ <property name="visible">True</property>
+ <property name="stock">gtk-add</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>
+ </child>
+ </widget>
+ </child>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
- <child>
- <widget class="GtkButton" id="button_tv_rj_collapse">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Collapse all</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_tv_rj_collapse_clicked" last_modification_time="Sun, 13 Feb 2005 16:01:36 GMT"/>
+ <child>
+ <widget class="GtkButton" id="button_last">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Repeat last</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_last_clicked" last_modification_time="Wed, 20 Jul 2005 09:46:51 GMT"/>
+
+ <child>
+ <widget class="GtkImage" id="image3168">
+ <property name="visible">True</property>
+ <property name="stock">gtk-redo</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>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
<child>
- <widget class="GtkImage" id="image_tv_rj_collapse">
+ <widget class="GtkButton" id="button20">
<property name="visible">True</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="tooltip" translatable="yes">Add jump type</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_jump_type_add_activate" last_modification_time="Thu, 23 Oct 2008 22:50:13 GMT"/>
+
+ <child>
+ <widget class="GtkImage" id="image3210">
+ <property name="visible">True</property>
+ <property name="stock">gtk-new</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>
+ </child>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
</packing>
</child>
<child>
- <widget class="GtkAlignment" id="alignment39">
+ <widget class="GtkHBox" id="hbox_combo_jumps">
<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">0</property>
- <property name="right_padding">0</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
<child>
- <widget class="GtkHBox" id="hbox85">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox_combo_jumps_rj">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <placeholder/>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
+ <placeholder/>
</child>
</widget>
<packing>
@@ -10748,72 +9889,170 @@
</widget>
<packing>
<property name="padding">0</property>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">4</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox276">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkVBox" id="vbox38">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkScrolledWindow" id="scrolledwindow1">
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow19">
- <property name="width_request">200</property>
+ <widget class="GtkTreeView" id="treeview_jumps">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkTreeView" id="treeview_jumps_rj">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="headers_visible">True</property>
- <property name="rules_hint">True</property>
- <property name="reorderable">False</property>
- <property name="enable_search">True</property>
- <property name="fixed_height_mode">False</property>
- <property name="hover_selection">False</property>
- <property name="hover_expand">False</property>
- <signal name="button_release_event" handler="on_treeview_button_release_event" last_modification_time="Sun, 21 Oct 2007 23:28:01 GMT"/>
- </widget>
- </child>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">True</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">False</property>
+ <property name="fixed_height_mode">False</property>
+ <property name="hover_selection">False</property>
+ <property name="hover_expand">False</property>
+ <signal name="button_release_event" handler="on_treeview_button_release_event" last_modification_time="Sun, 21 Oct 2007 00:33:23 GMT"/>
</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>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
</child>
<child>
- <widget class="GtkLabel" id="label141">
+ <widget class="GtkVBox" id="vbox133">
<property name="visible">True</property>
- <property name="label" translatable="yes"><b>view</b></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>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkButton" id="button_jumps_zoom">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Change zoom (z)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_jumps_zoom_clicked" last_modification_time="Fri, 24 Oct 2008 12:22:12 GMT"/>
+ <accelerator key="z" modifiers="0" signal="clicked"/>
+
+ <child>
+ <widget class="GtkImage" id="image_jumps_zoom">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button_edit_selected_jump">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Edit selected (e)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_edit_selected_jump_clicked" last_modification_time="Sun, 07 Nov 2004 17:35:04 GMT"/>
+ <accelerator key="e" modifiers="0" signal="clicked"/>
+
+ <child>
+ <widget class="GtkImage" id="image1972">
+ <property name="visible">True</property>
+ <property name="stock">gtk-edit</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button_delete_selected_jump">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Delete selected (d)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_delete_selected_jump_clicked" last_modification_time="Sun, 07 Nov 2004 17:33:46 GMT"/>
+ <accelerator key="d" modifiers="0" signal="clicked"/>
+
+ <child>
+ <widget class="GtkImage" id="image_jump_delete">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
</widget>
<packing>
- <property name="type">label_item</property>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
</packing>
</child>
</widget>
<packing>
- <property name="padding">0</property>
+ <property name="padding">2</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
@@ -10826,9 +10065,9 @@
</child>
<child>
- <widget class="GtkLabel" id="label92">
+ <widget class="GtkLabel" id="label91">
<property name="visible">True</property>
- <property name="label" translatable="yes">Jump Reactive</property>
+ <property name="label" translatable="yes">Jump</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -10849,137 +10088,59 @@
</child>
<child>
- <widget class="GtkVBox" id="vbox34">
+ <widget class="GtkVBox" id="vbox21">
<property name="visible">True</property>
<property name="homogeneous">False</property>
- <property name="spacing">6</property>
+ <property name="spacing">2</property>
<child>
- <widget class="GtkFrame" id="frame5">
+ <widget class="GtkFrame" id="frame37">
<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="alignment29">
- <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="GtkHBox" id="hbox_runs">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkTable" id="table41">
- <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">6</property>
-
- <child>
- <widget class="GtkLabel" id="label458">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Runs</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="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="label459">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Agility</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="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>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
+
+ <child>
+ <widget class="GtkAlignment" id="alignment121">
+ <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">0</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkVBox" id="vbox127">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox274">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
<child>
- <widget class="GtkHBox" id="hbox_runs_normal">
+ <widget class="GtkHBox" id="hbox_jumps_rj">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
- <widget class="GtkButton" id="button_run_custom">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Variable distance running</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Custom</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_run_extra_activate" last_modification_time="Thu, 21 Apr 2005 13:51:01 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:21 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_run_20m">
+ <widget class="GtkButton" id="button_rj_j">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Run 20 meters</property>
+ <property name="tooltip" translatable="yes">Reactive Jump limited by Jumps</property>
<property name="can_focus">True</property>
- <property name="label">20m</property>
+ <property name="label">RJ(j)</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Thu, 21 Apr 2005 13:51:12 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:30 GMT"/>
+ <signal name="clicked" handler="on_rj_activate" last_modification_time="Thu, 23 Sep 2004 00:45:53 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 20:06:07 GMT"/>
</widget>
<packing>
<property name="padding">0</property>
@@ -10989,16 +10150,16 @@
</child>
<child>
- <widget class="GtkButton" id="button_run_100m">
+ <widget class="GtkButton" id="button_rj_t">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Run 100 meters</property>
+ <property name="tooltip" translatable="yes">Reactive Jump limited by Time</property>
<property name="can_focus">True</property>
- <property name="label">100m</property>
+ <property name="label">RJ(t)</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Thu, 21 Apr 2005 13:51:12 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:38 GMT"/>
+ <signal name="clicked" handler="on_rj_activate" last_modification_time="Thu, 23 Sep 2004 00:45:53 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 20:08:00 GMT"/>
</widget>
<packing>
<property name="padding">0</property>
@@ -11008,16 +10169,16 @@
</child>
<child>
- <widget class="GtkButton" id="button_run_200m">
+ <widget class="GtkButton" id="button_rj_unlimited">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Run 200 meters</property>
+ <property name="tooltip" translatable="yes">Reactive Jump unlimited (until finish button is clicked)</property>
<property name="can_focus">True</property>
- <property name="label">200m</property>
+ <property name="label" translatable="yes">Unlimited</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Thu, 21 Apr 2005 13:51:12 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:47 GMT"/>
+ <signal name="clicked" handler="on_rj_activate" last_modification_time="Thu, 23 Sep 2004 00:45:53 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Tue, 01 May 2007 20:08:16 GMT"/>
</widget>
<packing>
<property name="padding">0</property>
@@ -11027,50 +10188,91 @@
</child>
<child>
- <widget class="GtkButton" id="button_run_400m">
+ <widget class="GtkAlignment" id="alignment_more_rj">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Run 400 meters</property>
- <property name="can_focus">True</property>
- <property name="label">400m</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Thu, 21 Apr 2005 13:51:12 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:56 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </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="y_options">fill</property>
- </packing>
- </child>
+ <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">10</property>
+ <property name="right_padding">0</property>
- <child>
- <widget class="GtkHBox" id="hbox_runs_agility">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
+ <child>
+ <widget class="GtkButton" id="button_rj_more">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">More reactive jumps</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_more_rj_clicked" last_modification_time="Fri, 11 Mar 2005 14:45:03 GMT"/>
- <child>
- <widget class="GtkButton" id="button_run_20yard">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">20Yard Agility test</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">20 Yard</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Fri, 04 May 2007 15:53:40 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:21 GMT"/>
+ <child>
+ <widget class="GtkAlignment" id="alignment125">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox273">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
+
+ <child>
+ <widget class="GtkImage" id="image3169">
+ <property name="visible">True</property>
+ <property name="stock">gtk-add</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="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label527">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">True</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>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
</widget>
<packing>
<property name="padding">0</property>
@@ -11080,16 +10282,25 @@
</child>
<child>
- <widget class="GtkButton" id="button_run_505">
+ <widget class="GtkButton" id="button_rj_last">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">505 Agility test</property>
+ <property name="tooltip" translatable="yes">Repeat last</property>
<property name="can_focus">True</property>
- <property name="label">505</property>
- <property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Fri, 04 May 2007 15:53:40 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:21 GMT"/>
+ <signal name="clicked" handler="on_button_last_rj_clicked" last_modification_time="Wed, 20 Jul 2005 09:49:27 GMT"/>
+
+ <child>
+ <widget class="GtkImage" id="image3170">
+ <property name="visible">True</property>
+ <property name="stock">gtk-redo</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>
+ </child>
</widget>
<packing>
<property name="padding">0</property>
@@ -11099,16 +10310,25 @@
</child>
<child>
- <widget class="GtkButton" id="button_run_illinois">
+ <widget class="GtkButton" id="button21">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Illinois Agility test</property>
+ <property name="tooltip" translatable="yes">Add jump type</property>
<property name="can_focus">True</property>
- <property name="label">Illinois</property>
- <property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Fri, 04 May 2007 15:53:40 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:21 GMT"/>
+ <signal name="clicked" handler="on_jump_type_add_activate" last_modification_time="Thu, 23 Oct 2008 22:50:13 GMT"/>
+
+ <child>
+ <widget class="GtkImage" id="image3211">
+ <property name="visible">True</property>
+ <property name="stock">gtk-new</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>
+ </child>
</widget>
<packing>
<property name="padding">0</property>
@@ -11118,16 +10338,76 @@
</child>
<child>
- <widget class="GtkButton" id="button_run_shuttle">
+ <widget class="GtkButton" id="button_rj_bells">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Shuttle Run Agility test</property>
+ <property name="tooltip" translatable="yes">Bells</property>
<property name="can_focus">True</property>
- <property name="label">Shuttle</property>
- <property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Fri, 04 May 2007 15:53:40 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:21 GMT"/>
+ <signal name="clicked" handler="on_button_rj_bells_clicked" last_modification_time="Mon, 19 Mar 2007 15:43:46 GMT"/>
+
+ <child>
+ <widget class="GtkAlignment" id="alignment81">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox169">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
+
+ <child>
+ <widget class="GtkImage" id="image_jump_reactive_bell">
+ <property name="visible">True</property>
+ <property name="icon_name"></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="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label374">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">True</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>
+ </widget>
+ </child>
+ </widget>
+ </child>
</widget>
<packing>
<property name="padding">0</property>
@@ -11135,33 +10415,42 @@
<property name="fill">False</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="GtkHBox" id="hbox84">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
<child>
- <widget class="GtkButton" id="button_run_zigzag">
+ <widget class="GtkHBox" id="hbox_combo_jumps_rj">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">ZigZag Agility test</property>
- <property name="can_focus">True</property>
- <property name="label">ZigZag</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Fri, 04 May 2007 15:53:40 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:21 GMT"/>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <placeholder/>
+ </child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
- <property name="fill">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</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>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
</packing>
</child>
</widget>
@@ -11171,113 +10460,27 @@
<property name="fill">True</property>
</packing>
</child>
-
- <child>
- <widget class="GtkAlignment" id="alignment_run_more">
- <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">10</property>
- <property name="bottom_padding">10</property>
- <property name="left_padding">5</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkButton" id="button_run_more">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">More simple runs</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">more</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_run_more_clicked" last_modification_time="Thu, 21 Apr 2005 13:51:37 GMT"/>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkAlignment" id="alignment_run_last">
- <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">10</property>
- <property name="bottom_padding">10</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkButton" id="button_run_last">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">last</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_run_last_clicked" last_modification_time="Wed, 20 Jul 2005 09:48:37 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>
</child>
-
- <child>
- <widget class="GtkLabel" id="label102">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>execute</b></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="padding">4</property>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frame6">
+ <widget class="GtkFrame" id="frame9">
<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="alignment30">
+ <widget class="GtkAlignment" id="alignment38">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
@@ -11285,166 +10488,167 @@
<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="left_padding">0</property>
<property name="right_padding">0</property>
<child>
- <widget class="GtkVBox" id="vbox40">
+ <widget class="GtkVBox" id="vbox47">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
- <widget class="GtkHBox" id="hbox61">
+ <widget class="GtkHBox" id="hbox278">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
- <widget class="GtkButton" id="button_delete_selected_run">
+ <widget class="GtkScrolledWindow" id="scrolledwindow19">
+ <property name="width_request">200</property>
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Delete selected jump</property>
<property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_delete_selected_run_clicked" last_modification_time="Thu, 21 Apr 2005 13:52:26 GMT"/>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child>
- <widget class="GtkImage" id="image_run_delete">
+ <widget class="GtkTreeView" id="treeview_jumps_rj">
<property name="visible">True</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="can_focus">True</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">True</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">True</property>
+ <property name="fixed_height_mode">False</property>
+ <property name="hover_selection">False</property>
+ <property name="hover_expand">False</property>
+ <signal name="button_release_event" handler="on_treeview_button_release_event" last_modification_time="Sun, 21 Oct 2007 23:28:01 GMT"/>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button_edit_selected_run">
+ <widget class="GtkVBox" id="vbox134">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Edit selected jump</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_edit_selected_run_clicked" last_modification_time="Thu, 21 Apr 2005 13:52:38 GMT"/>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
<child>
- <widget class="GtkImage" id="image1973">
+ <widget class="GtkButton" id="button_jumps_zoom_rj">
<property name="visible">True</property>
- <property name="stock">gtk-edit</property>
- <property name="icon_size">1</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
+ <property name="tooltip" translatable="yes">Change zoom (z)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_jumps_rj_zoom_clicked" last_modification_time="Fri, 24 Oct 2008 12:24:23 GMT"/>
+ <accelerator key="z" modifiers="0" signal="clicked"/>
- <child>
- <widget class="GtkButton" id="button_tv_run_expand">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Expand all</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_tv_run_expand_clicked" last_modification_time="Thu, 21 Apr 2005 14:00:22 GMT"/>
+ <child>
+ <widget class="GtkImage" id="image_jumps_rj_zoom">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
<child>
- <widget class="GtkImage" id="image_tv_run_expand">
+ <widget class="GtkButton" id="button_edit_selected_jump_rj">
<property name="visible">True</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="tooltip" translatable="yes">Edit selected (e)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_edit_selected_jump_rj_clicked" last_modification_time="Sun, 07 Nov 2004 19:19:07 GMT"/>
+ <accelerator key="e" modifiers="0" signal="clicked"/>
+
+ <child>
+ <widget class="GtkImage" id="image1971">
+ <property name="visible">True</property>
+ <property name="stock">gtk-edit</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_tv_run_collapse">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Collapse all</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_tv_run_collapse_clicked" last_modification_time="Thu, 21 Apr 2005 14:00:12 GMT"/>
<child>
- <widget class="GtkImage" id="image_tv_run_collapse">
+ <widget class="GtkButton" id="button_repair_selected_reactive_jump">
<property name="visible">True</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="tooltip" translatable="yes">Repair selected (r)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_repair_selected_reactive_jump_clicked" last_modification_time="Wed, 07 Dec 2005 01:01:09 GMT"/>
+ <accelerator key="r" modifiers="0" signal="clicked"/>
+
+ <child>
+ <widget class="GtkImage" id="image_jump_reactive_repair">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkAlignment" id="alignment36">
- <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">0</property>
- <property name="right_padding">0</property>
<child>
- <widget class="GtkHBox" id="hbox_left_aligned">
+ <widget class="GtkButton" id="button_delete_selected_jump_rj">
<property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
+ <property name="tooltip" translatable="yes">Delete selected (d)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_delete_selected_jump_rj_clicked" last_modification_time="Sun, 07 Nov 2004 19:19:22 GMT"/>
+ <accelerator key="d" modifiers="0" signal="clicked"/>
<child>
- <widget class="GtkHBox" id="hbox_combo_runs">
+ <widget class="GtkImage" id="image_jump_reactive_delete">
<property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <placeholder/>
- </child>
+ <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="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">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
</widget>
<packing>
@@ -11456,37 +10660,6 @@
</widget>
<packing>
<property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow15">
- <property name="width_request">200</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkTreeView" id="treeview_runs">
- <property name="visible">True</property>
- <property name="headers_visible">True</property>
- <property name="rules_hint">True</property>
- <property name="reorderable">False</property>
- <property name="enable_search">False</property>
- <property name="fixed_height_mode">False</property>
- <property name="hover_selection">False</property>
- <property name="hover_expand">False</property>
- <signal name="button_release_event" handler="on_treeview_button_release_event" last_modification_time="Sun, 21 Oct 2007 23:48:39 GMT"/>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
@@ -11495,29 +10668,6 @@
</child>
</widget>
</child>
-
- <child>
- <widget class="GtkLabel" id="label103">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>view</b></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>
@@ -11533,9 +10683,9 @@
</child>
<child>
- <widget class="GtkLabel" id="label96">
+ <widget class="GtkLabel" id="label92">
<property name="visible">True</property>
- <property name="label" translatable="yes">Run</property>
+ <property name="label" translatable="yes">Jump Reactive</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -11555,264 +10705,622 @@
</packing>
</child>
- <child>
- <widget class="GtkVBox" id="vbox36">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
+ <child>
+ <widget class="GtkVBox" id="vbox34">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkFrame" id="frame38">
+ <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="alignment122">
+ <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">0</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkVBox" id="vbox128">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">4</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox275">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox_runs">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkTable" id="table41">
+ <property name="visible">True</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">8</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">4</property>
+ <property name="column_spacing">2</property>
+
+ <child>
+ <widget class="GtkButton" id="button_run_custom">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Variable distance running</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Custom</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_run_extra_activate" last_modification_time="Thu, 21 Apr 2005 13:51:01 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:21 GMT"/>
+ </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="GtkButton" id="button_run_20yard">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">20Yard Agility test</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">20 Yard</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Fri, 04 May 2007 15:53:40 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:21 GMT"/>
+ </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="GtkButton" id="button_run_20m">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Run 20 meters</property>
+ <property name="can_focus">True</property>
+ <property name="label">20m</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Thu, 21 Apr 2005 13:51:12 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:30 GMT"/>
+ </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="GtkButton" id="button_run_100m">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Run 100 meters</property>
+ <property name="can_focus">True</property>
+ <property name="label">100m</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Thu, 21 Apr 2005 13:51:12 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:38 GMT"/>
+ </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"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button_run_200m">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Run 200 meters</property>
+ <property name="can_focus">True</property>
+ <property name="label">200m</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Thu, 21 Apr 2005 13:51:12 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:47 GMT"/>
+ </widget>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="right_attach">4</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="GtkButton" id="button_run_400m">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Run 400 meters</property>
+ <property name="can_focus">True</property>
+ <property name="label">400m</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Thu, 21 Apr 2005 13:51:12 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:56 GMT"/>
+ </widget>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="right_attach">5</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="GtkButton" id="button_run_505">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">505 Agility test</property>
+ <property name="can_focus">True</property>
+ <property name="label">505</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Fri, 04 May 2007 15:53:40 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:21 GMT"/>
+ </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="GtkButton" id="button_run_illinois">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Illinois Agility test</property>
+ <property name="can_focus">True</property>
+ <property name="label">Illinois</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Fri, 04 May 2007 15:53:40 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:21 GMT"/>
+ </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"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button_run_shuttle">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Shuttle Run Agility test</property>
+ <property name="can_focus">True</property>
+ <property name="label">Shuttle</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Fri, 04 May 2007 15:53:40 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:21 GMT"/>
+ </widget>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="right_attach">4</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="GtkButton" id="button_run_zigzag">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">ZigZag Agility test</property>
+ <property name="can_focus">True</property>
+ <property name="label">ZigZag</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_normal_run_activate" last_modification_time="Fri, 04 May 2007 15:53:40 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:56:21 GMT"/>
+ </widget>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="right_attach">5</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="GtkButton" id="button_run_more">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">More simple runs</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_run_more_clicked" last_modification_time="Thu, 21 Apr 2005 13:51:37 GMT"/>
- <child>
- <widget class="GtkFrame" id="frame7">
- <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="GtkImage" id="image3171">
+ <property name="visible">True</property>
+ <property name="stock">gtk-add</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">5</property>
+ <property name="right_attach">6</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="GtkAlignment" id="alignment31">
- <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="GtkButton" id="button_run_last">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Repeat last</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_run_last_clicked" last_modification_time="Wed, 20 Jul 2005 09:48:37 GMT"/>
- <child>
- <widget class="GtkHBox" id="hbox_runs_interval">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
+ <child>
+ <widget class="GtkImage" id="image3172">
+ <property name="visible">True</property>
+ <property name="stock">gtk-redo</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">6</property>
+ <property name="right_attach">7</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="GtkButton" id="button_run_interval_by_laps">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Intervallic run limited by Laps</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">By laps</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_run_interval_activate" last_modification_time="Tue, 16 Aug 2005 13:31:27 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:57:14 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkButton" id="button22">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Add run type</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_run_type_add_activate" last_modification_time="Thu, 23 Oct 2008 22:51:43 GMT"/>
- <child>
- <widget class="GtkButton" id="button_run_interval_by_time">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Intervallic run limited by Time</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">By time</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_run_interval_activate" last_modification_time="Tue, 16 Aug 2005 13:31:27 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:57:24 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkImage" id="image3212">
+ <property name="visible">True</property>
+ <property name="stock">gtk-new</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">7</property>
+ <property name="right_attach">8</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>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</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>
- <child>
- <widget class="GtkButton" id="button_run_interval_unlimited">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Intervallic run unlimited (until "finish" button is clicked)</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Unlimited</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_run_interval_activate" last_modification_time="Tue, 16 Aug 2005 13:32:42 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:57:33 GMT"/>
+ <child>
+ <widget class="GtkVBox" id="vbox136">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <placeholder/>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox_combo_runs">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
- <property name="fill">False</property>
+ <property name="fill">True</property>
</packing>
</child>
<child>
- <widget class="GtkAlignment" id="alignment_runIntervak_more">
+ <widget class="GtkHBox" id="hbox279">
<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">10</property>
- <property name="right_padding">0</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
<child>
- <widget class="GtkButton" id="button_run_interval_more">
+ <widget class="GtkScrolledWindow" id="scrolledwindow15">
+ <property name="width_request">200</property>
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">More intervallic runs</property>
<property name="can_focus">True</property>
- <property name="label" translatable="yes">more</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_run_interval_more_clicked" last_modification_time="Wed, 20 Jul 2005 09:20:15 GMT"/>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+ <child>
+ <widget class="GtkTreeView" id="treeview_runs">
+ <property name="visible">True</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">True</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">False</property>
+ <property name="fixed_height_mode">False</property>
+ <property name="hover_selection">False</property>
+ <property name="hover_expand">False</property>
+ <signal name="button_release_event" handler="on_treeview_button_release_event" last_modification_time="Sun, 21 Oct 2007 23:48:39 GMT"/>
+ </widget>
+ </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">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_run_interval_last">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">last</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_run_interval_last_clicked" last_modification_time="Wed, 20 Jul 2005 09:49:00 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_time_bells">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_time_bells_clicked" last_modification_time="Mon, 19 Mar 2007 22:02:39 GMT"/>
<child>
- <widget class="GtkAlignment" id="alignment103">
+ <widget class="GtkVBox" id="vbox135">
<property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
<child>
- <widget class="GtkHBox" id="hbox216">
+ <widget class="GtkButton" id="button_runs_zoom">
<property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">2</property>
+ <property name="tooltip" translatable="yes">Change zoom (z)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_runs_zoom_clicked" last_modification_time="Fri, 24 Oct 2008 12:33:20 GMT"/>
+ <accelerator key="z" modifiers="0" signal="clicked"/>
<child>
- <widget class="GtkImage" id="image_run_interval_bell">
+ <widget class="GtkImage" id="image_runs_zoom">
<property name="visible">True</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="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">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button_edit_selected_run">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Edit selected (e)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_edit_selected_run_clicked" last_modification_time="Thu, 21 Apr 2005 13:52:38 GMT"/>
+ <accelerator key="e" modifiers="0" signal="clicked"/>
<child>
- <widget class="GtkLabel" id="label438">
+ <widget class="GtkImage" id="image1973">
+ <property name="visible">True</property>
+ <property name="stock">gtk-edit</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button_delete_selected_run">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Delete selected (d)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_delete_selected_run_clicked" last_modification_time="Thu, 21 Apr 2005 13:52:26 GMT"/>
+ <accelerator key="d" modifiers="0" signal="clicked"/>
+
+ <child>
+ <widget class="GtkImage" id="image_run_delete">
<property name="visible">True</property>
- <property name="label" translatable="yes">Bells</property>
- <property name="use_underline">True</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>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
</packing>
</child>
</widget>
</child>
</widget>
</child>
-
- <child>
- <widget class="GtkLabel" id="label104">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>execute</b></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">False</property>
+ <property name="padding">4</property>
+ <property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
+ </widget>
+ <packing>
+ <property name="tab_expand">False</property>
+ <property name="tab_fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label96">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Run</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="type">tab</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkVBox" id="vbox36">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
<child>
- <widget class="GtkFrame" id="frame8">
+ <widget class="GtkFrame" id="frame39">
<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="alignment32">
+ <widget class="GtkAlignment" id="alignment123">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
@@ -11820,120 +11328,110 @@
<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="left_padding">0</property>
<property name="right_padding">0</property>
<child>
- <widget class="GtkVBox" id="vbox41">
+ <widget class="GtkVBox" id="vbox129">
<property name="visible">True</property>
<property name="homogeneous">False</property>
- <property name="spacing">6</property>
+ <property name="spacing">4</property>
<child>
- <widget class="GtkHBox" id="hbox64">
+ <widget class="GtkHBox" id="hbox_runs_interval">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
- <widget class="GtkButton" id="button_delete_selected_run_interval">
+ <widget class="GtkButton" id="button_run_interval_by_laps">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Delete selected jump</property>
+ <property name="tooltip" translatable="yes">Intervallic run limited by Laps</property>
<property name="can_focus">True</property>
+ <property name="label" translatable="yes">By laps</property>
+ <property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_delete_selected_run_interval_clicked" last_modification_time="Wed, 03 May 2006 15:12:22 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image_run_interval_delete">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
+ <signal name="clicked" handler="on_run_interval_activate" last_modification_time="Tue, 16 Aug 2005 13:31:27 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:57:14 GMT"/>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button_repair_selected_run_interval">
+ <widget class="GtkButton" id="button_run_interval_by_time">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Repair selected intervallic run</property>
+ <property name="tooltip" translatable="yes">Intervallic run limited by Time</property>
<property name="can_focus">True</property>
+ <property name="label" translatable="yes">By time</property>
+ <property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_repair_selected_run_interval_clicked" last_modification_time="Wed, 03 May 2006 15:12:13 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image_run_interval_repair">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
+ <signal name="clicked" handler="on_run_interval_activate" last_modification_time="Tue, 16 Aug 2005 13:31:27 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:57:24 GMT"/>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button_edit_selected_run_interval">
+ <widget class="GtkButton" id="button_run_interval_unlimited">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Edit selected jump</property>
+ <property name="tooltip" translatable="yes">Intervallic run unlimited (until "finish" button is clicked)</property>
<property name="can_focus">True</property>
+ <property name="label" translatable="yes">Unlimited</property>
+ <property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_edit_selected_run_interval_clicked" last_modification_time="Wed, 03 May 2006 15:08:25 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image1974">
- <property name="visible">True</property>
- <property name="stock">gtk-edit</property>
- <property name="icon_size">1</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
+ <signal name="clicked" handler="on_run_interval_activate" last_modification_time="Tue, 16 Aug 2005 13:32:42 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Wed, 02 May 2007 12:57:33 GMT"/>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button_tv_run_interval_expand">
+ <widget class="GtkAlignment" id="alignment_runIntervak_more">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Expand all</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_tv_run_interval_expand_clicked" last_modification_time="Wed, 03 May 2006 15:08:15 GMT"/>
+ <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">10</property>
+ <property name="right_padding">0</property>
<child>
- <widget class="GtkImage" id="image_tv_run_interval_expand">
+ <widget class="GtkButton" id="button_run_interval_more">
<property name="visible">True</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="tooltip" translatable="yes">More intervallic runs</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_run_interval_more_clicked" last_modification_time="Wed, 20 Jul 2005 09:20:15 GMT"/>
+
+ <child>
+ <widget class="GtkImage" id="image3173">
+ <property name="visible">True</property>
+ <property name="stock">gtk-add</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>
+ </child>
</widget>
</child>
</widget>
@@ -11941,22 +11439,23 @@
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button_tv_run_interval_optimal">
+ <widget class="GtkButton" id="button_run_interval_last">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Optimal expand</property>
+ <property name="tooltip" translatable="yes">Repeat last</property>
<property name="can_focus">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_tv_run_interval_optimal_clicked" last_modification_time="Wed, 03 May 2006 15:08:05 GMT"/>
+ <signal name="clicked" handler="on_button_run_interval_last_clicked" last_modification_time="Wed, 20 Jul 2005 09:49:00 GMT"/>
<child>
- <widget class="GtkImage" id="image_tv_run_interval_fit">
+ <widget class="GtkImage" id="image3174">
<property name="visible">True</property>
+ <property name="stock">gtk-redo</property>
+ <property name="icon_size">4</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
@@ -11968,22 +11467,23 @@
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button_tv_run_interval_collapse">
+ <widget class="GtkButton" id="button23">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Collapse all</property>
+ <property name="tooltip" translatable="yes">Add run type</property>
<property name="can_focus">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_tv_run_interval_collapse_clicked" last_modification_time="Wed, 03 May 2006 15:07:55 GMT"/>
+ <signal name="clicked" handler="on_run_type_add_activate" last_modification_time="Thu, 23 Oct 2008 22:51:43 GMT"/>
<child>
- <widget class="GtkImage" id="image_tv_run_interval_collapse">
+ <widget class="GtkImage" id="image3213">
<property name="visible">True</property>
+ <property name="stock">gtk-new</property>
+ <property name="icon_size">4</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
@@ -11995,43 +11495,76 @@
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
<child>
- <widget class="GtkAlignment" id="alignment37">
+ <widget class="GtkButton" id="button_time_bells">
<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">0</property>
- <property name="right_padding">0</property>
+ <property name="tooltip" translatable="yes">Bells</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_time_bells_clicked" last_modification_time="Mon, 19 Mar 2007 22:02:39 GMT"/>
<child>
- <widget class="GtkHBox" id="hbox_left_align">
+ <widget class="GtkAlignment" id="alignment103">
<property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
<child>
- <widget class="GtkHBox" id="hbox_combo_runs_interval">
+ <widget class="GtkHBox" id="hbox216">
<property name="visible">True</property>
<property name="homogeneous">False</property>
- <property name="spacing">0</property>
+ <property name="spacing">2</property>
+
+ <child>
+ <widget class="GtkImage" id="image_run_interval_bell">
+ <property name="visible">True</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="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
<child>
- <placeholder/>
+ <widget class="GtkLabel" id="label438">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">True</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>
</widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
</child>
</widget>
</child>
@@ -12039,7 +11572,25 @@
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
- <property name="fill">True</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox_combo_runs_interval">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
</widget>
@@ -12049,62 +11600,175 @@
<property name="fill">True</property>
</packing>
</child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">4</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox280">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkScrolledWindow" id="scrolledwindow16">
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+ <child>
+ <widget class="GtkTreeView" id="treeview_runs_interval">
+ <property name="visible">True</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">True</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">False</property>
+ <property name="fixed_height_mode">False</property>
+ <property name="hover_selection">False</property>
+ <property name="hover_expand">False</property>
+ <signal name="button_release_event" handler="on_treeview_button_release_event" last_modification_time="Sun, 21 Oct 2007 23:48:58 GMT"/>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkVBox" id="vbox137">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkButton" id="button_runs_interval_zoom">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Change zoom (z)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_runs_interval_zoom_clicked" last_modification_time="Fri, 24 Oct 2008 12:34:00 GMT"/>
+ <accelerator key="z" modifiers="0" signal="clicked"/>
+
+ <child>
+ <widget class="GtkImage" id="image_runs_interval_zoom">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button_edit_selected_run_interval">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Edit selected (e)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_edit_selected_run_interval_clicked" last_modification_time="Wed, 03 May 2006 15:08:25 GMT"/>
+ <accelerator key="e" modifiers="0" signal="clicked"/>
+
+ <child>
+ <widget class="GtkImage" id="image1974">
+ <property name="visible">True</property>
+ <property name="stock">gtk-edit</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button_repair_selected_run_interval">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Repair selected (r)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_repair_selected_run_interval_clicked" last_modification_time="Wed, 03 May 2006 15:12:13 GMT"/>
+ <accelerator key="r" modifiers="0" signal="clicked"/>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow16">
- <property name="width_request">200</property>
+ <widget class="GtkImage" id="image_run_interval_repair">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkTreeView" id="treeview_runs_interval">
- <property name="visible">True</property>
- <property name="headers_visible">True</property>
- <property name="rules_hint">True</property>
- <property name="reorderable">False</property>
- <property name="enable_search">False</property>
- <property name="fixed_height_mode">False</property>
- <property name="hover_selection">False</property>
- <property name="hover_expand">False</property>
- <signal name="button_release_event" handler="on_treeview_button_release_event" last_modification_time="Sun, 21 Oct 2007 23:48:58 GMT"/>
- </widget>
- </child>
+ <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="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">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
- </widget>
- </child>
- <child>
- <widget class="GtkLabel" id="label105">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>view</b></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>
+ <child>
+ <widget class="GtkButton" id="button_delete_selected_run_interval">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Delete selected (d)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_delete_selected_run_interval_clicked" last_modification_time="Wed, 03 May 2006 15:12:22 GMT"/>
+ <accelerator key="d" modifiers="0" signal="clicked"/>
+
+ <child>
+ <widget class="GtkImage" id="image_run_interval_delete">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
</widget>
<packing>
- <property name="type">label_item</property>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
</packing>
</child>
</widget>
@@ -12166,14 +11830,14 @@
<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="left_padding">0</property>
<property name="right_padding">0</property>
<child>
<widget class="GtkVBox" id="vbox94">
<property name="visible">True</property>
<property name="homogeneous">False</property>
- <property name="spacing">6</property>
+ <property name="spacing">0</property>
<child>
<widget class="GtkHBox" id="hbox142">
@@ -12182,116 +11846,6 @@
<property name="spacing">0</property>
<child>
- <widget class="GtkButton" id="button_delete_selected_reaction_time">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Delete selected reaction time</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_delete_selected_reaction_time_clicked" last_modification_time="Sun, 04 Mar 2007 19:12:08 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image_reaction_time_delete">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_edit_selected_reaction_time">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Edit selected reaction time</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_edit_selected_reaction_time_clicked" last_modification_time="Sun, 04 Mar 2007 19:11:53 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image1975">
- <property name="visible">True</property>
- <property name="stock">gtk-edit</property>
- <property name="icon_size">1</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_reaction_time_expand">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Expand all</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_reaction_time_expand_clicked" last_modification_time="Sun, 04 Mar 2007 19:11:43 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image_reaction_time_expand">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_reaction_time_collapse">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Collapse all</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_reaction_time_collapse_clicked" last_modification_time="Sun, 04 Mar 2007 19:11:30 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image_reaction_time_collapse">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
<widget class="GtkAlignment" id="alignment_reaction_time_execute">
<property name="visible">True</property>
<property name="xalign">0.5</property>
@@ -12323,45 +11877,154 @@
</child>
</widget>
<packing>
- <property name="padding">0</property>
+ <property name="padding">4</property>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox281">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkScrolledWindow" id="scrolledwindow27">
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+ <child>
+ <widget class="GtkTreeView" id="treeview_reaction_times">
+ <property name="visible">True</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">True</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">False</property>
+ <property name="fixed_height_mode">False</property>
+ <property name="hover_selection">False</property>
+ <property name="hover_expand">False</property>
+ <signal name="button_release_event" handler="on_treeview_button_release_event" last_modification_time="Sun, 21 Oct 2007 23:49:19 GMT"/>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkVBox" id="vbox138">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkButton" id="button_reaction_times_zoom">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Change zoom (z)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_reaction_times_zoom_clicked" last_modification_time="Fri, 24 Oct 2008 12:34:42 GMT"/>
+ <accelerator key="z" modifiers="0" signal="clicked"/>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow27">
- <property name="width_request">200</property>
+ <widget class="GtkImage" id="image_reaction_times_zoom">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkTreeView" id="treeview_reaction_times">
- <property name="visible">True</property>
- <property name="headers_visible">True</property>
- <property name="rules_hint">True</property>
- <property name="reorderable">False</property>
- <property name="enable_search">False</property>
- <property name="fixed_height_mode">False</property>
- <property name="hover_selection">False</property>
- <property name="hover_expand">False</property>
- <signal name="button_release_event" handler="on_treeview_button_release_event" last_modification_time="Sun, 21 Oct 2007 23:49:19 GMT"/>
- </widget>
- </child>
+ <child>
+ <widget class="GtkButton" id="button_edit_selected_reaction_time">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Edit selected (e)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_edit_selected_reaction_time_clicked" last_modification_time="Sun, 04 Mar 2007 19:11:53 GMT"/>
+ <accelerator key="e" modifiers="0" signal="clicked"/>
+
+ <child>
+ <widget class="GtkImage" id="image1975">
+ <property name="visible">True</property>
+ <property name="stock">gtk-edit</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button_delete_selected_reaction_time">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Delete selected (d)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_delete_selected_reaction_time_clicked" last_modification_time="Sun, 04 Mar 2007 19:12:08 GMT"/>
+ <accelerator key="d" modifiers="0" signal="clicked"/>
+
+ <child>
+ <widget class="GtkImage" id="image_reaction_time_delete">
+ <property name="visible">True</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="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">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
</child>
</widget>
<packing>
@@ -12404,161 +12067,17 @@
<widget class="GtkVBox" id="vbox67">
<property name="visible">True</property>
<property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkFrame" id="frame13">
- <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="alignment53">
- <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="GtkHBox" id="hbox_pulses">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkButton" id="button_pulse_free">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">start managing pulses freely</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Free</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_pulse_free_activate" last_modification_time="Mon, 01 May 2006 17:43:47 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Sat, 26 Jul 2008 22:08:49 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_pulse_custom">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">define desired pulse step</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Custom</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_pulse_custom_activate" last_modification_time="Mon, 01 May 2006 17:44:15 GMT"/>
- <signal name="enter" handler="on_button_enter" last_modification_time="Sat, 26 Jul 2008 22:09:00 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkAlignment" id="alignment_pulses_more">
- <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">10</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkButton" id="button_pulse_more">
- <property name="tooltip" translatable="yes">More pulse types</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">more</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_pulse_more_clicked" last_modification_time="Fri, 21 Apr 2006 16:32:16 GMT"/>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_pulse_last">
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">last</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_pulse_last_clicked" last_modification_time="Fri, 21 Apr 2006 16:32:25 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label199">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>execute</b></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">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
+ <property name="spacing">0</property>
<child>
- <widget class="GtkFrame" id="frame14">
+ <widget class="GtkFrame" id="frame40">
<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="alignment54">
+ <widget class="GtkAlignment" id="alignment124">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
@@ -12566,291 +12085,280 @@
<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="left_padding">0</property>
<property name="right_padding">0</property>
<child>
- <widget class="GtkVBox" id="vbox68">
+ <widget class="GtkVBox" id="vbox130">
<property name="visible">True</property>
<property name="homogeneous">False</property>
- <property name="spacing">0</property>
+ <property name="spacing">4</property>
<child>
- <widget class="GtkHBox" id="hbox128">
+ <widget class="GtkHBox" id="hbox271">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
- <widget class="GtkButton" id="button_delete_selected_pulse">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Delete selected pulse</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_delete_selected_pulse_clicked" last_modification_time="Fri, 21 Apr 2006 16:58:49 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image_pulse_delete">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_repair_selected_pulse">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Repair selected pulse</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_repair_selected_pulse_clicked" last_modification_time="Fri, 21 Apr 2006 16:58:40 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image_pulse_repair">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_edit_selected_pulse">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Edit selected pulse</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_edit_selected_pulse_clicked" last_modification_time="Fri, 21 Apr 2006 16:58:21 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image1976">
- <property name="visible">True</property>
- <property name="stock">gtk-edit</property>
- <property name="icon_size">1</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_pulse_expand">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Expand all</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_pulse_expand_clicked" last_modification_time="Tue, 21 Aug 2007 07:55:14 GMT"/>
-
- <child>
- <widget class="GtkImage" id="image_pulse_expand">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_pulse_optimal">
+ <widget class="GtkHBox" id="hbox_pulses">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Optimal expand</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_pulse_optimal_clicked" last_modification_time="Tue, 21 Aug 2007 07:55:00 GMT"/>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
<child>
- <widget class="GtkImage" id="image_pulse_fit">
+ <widget class="GtkButton" id="button_pulse_free">
<property name="visible">True</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="tooltip" translatable="yes">start managing pulses freely</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Free</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_pulse_free_activate" last_modification_time="Mon, 01 May 2006 17:43:47 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Sat, 26 Jul 2008 22:08:49 GMT"/>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button_pulse_collapse">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Collapse all</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_pulse_collapse_clicked" last_modification_time="Tue, 21 Aug 2007 07:55:07 GMT"/>
<child>
- <widget class="GtkImage" id="image_pulse_collapse">
+ <widget class="GtkButton" id="button_pulse_custom">
<property name="visible">True</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="tooltip" translatable="yes">define desired pulse step</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Custom</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_pulse_custom_activate" last_modification_time="Mon, 01 May 2006 17:44:15 GMT"/>
+ <signal name="enter" handler="on_button_enter" last_modification_time="Sat, 26 Jul 2008 22:09:00 GMT"/>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
</packing>
</child>
<child>
- <widget class="GtkAlignment" id="alignment55">
+ <widget class="GtkHBox" id="hbox128">
<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">0</property>
- <property name="right_padding">0</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
<child>
- <widget class="GtkHBox" id="hbox_left_align">
+ <widget class="GtkHBox" id="hbox_combo_pulses">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
- <widget class="GtkHBox" id="hbox_combo_pulses">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <placeholder/>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
+ <placeholder/>
</child>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">4</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow25">
- <property name="width_request">200</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+ <child>
+ <widget class="GtkHBox" id="hbox282">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
- <child>
- <widget class="GtkTreeView" id="treeview_pulses">
- <property name="visible">True</property>
- <property name="headers_visible">True</property>
- <property name="rules_hint">True</property>
- <property name="reorderable">False</property>
- <property name="enable_search">False</property>
- <property name="fixed_height_mode">False</property>
- <property name="hover_selection">False</property>
- <property name="hover_expand">False</property>
- <signal name="button_release_event" handler="on_treeview_button_release_event" last_modification_time="Sun, 21 Oct 2007 23:49:35 GMT"/>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkScrolledWindow" id="scrolledwindow25">
+ <property name="width_request">200</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+ <child>
+ <widget class="GtkTreeView" id="treeview_pulses">
+ <property name="visible">True</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">True</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">False</property>
+ <property name="fixed_height_mode">False</property>
+ <property name="hover_selection">False</property>
+ <property name="hover_expand">False</property>
+ <signal name="button_release_event" handler="on_treeview_button_release_event" last_modification_time="Sun, 21 Oct 2007 23:49:35 GMT"/>
</widget>
</child>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
</child>
<child>
- <widget class="GtkLabel" id="label200">
+ <widget class="GtkVBox" id="vbox139">
<property name="visible">True</property>
- <property name="label" translatable="yes"><b>view</b></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>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkButton" id="button_pulses_zoom">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Change zoom (z)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_pulses_zoom_clicked" last_modification_time="Fri, 24 Oct 2008 12:35:06 GMT"/>
+ <accelerator key="z" modifiers="0" signal="clicked"/>
+
+ <child>
+ <widget class="GtkImage" id="image_pulses_zoom">
+ <property name="visible">True</property>
+ <property name="stock">gtk-zoom-fit</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button_edit_selected_pulse">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Edit selected (e)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_edit_selected_pulse_clicked" last_modification_time="Fri, 21 Apr 2006 16:58:21 GMT"/>
+ <accelerator key="e" modifiers="0" signal="clicked"/>
+
+ <child>
+ <widget class="GtkImage" id="image1976">
+ <property name="visible">True</property>
+ <property name="stock">gtk-edit</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button_repair_selected_pulse">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Repair selected (r)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_repair_selected_pulse_clicked" last_modification_time="Fri, 21 Apr 2006 16:58:40 GMT"/>
+ <accelerator key="r" modifiers="0" signal="clicked"/>
+
+ <child>
+ <widget class="GtkImage" id="image_pulse_repair">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button_delete_selected_pulse">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Delete selected (d)</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_delete_selected_pulse_clicked" last_modification_time="Fri, 21 Apr 2006 16:58:49 GMT"/>
+ <accelerator key="d" modifiers="0" signal="clicked"/>
+
+ <child>
+ <widget class="GtkImage" id="image_pulse_delete">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
</widget>
<packing>
- <property name="type">label_item</property>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
</packing>
</child>
</widget>
@@ -12891,7 +12399,7 @@
</child>
</widget>
<packing>
- <property name="padding">0</property>
+ <property name="padding">4</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
@@ -21289,7 +20797,7 @@
<child>
<widget class="GtkTable" id="table42">
<property name="visible">True</property>
- <property name="n_rows">12</property>
+ <property name="n_rows">14</property>
<property name="n_columns">2</property>
<property name="homogeneous">False</property>
<property name="row_spacing">2</property>
@@ -21316,37 +20824,8 @@
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</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="GtkLabel" id="label462">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Description /
-comments</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">11</property>
- <property name="bottom_attach">12</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>
@@ -21373,8 +20852,8 @@
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</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>
@@ -21401,8 +20880,8 @@
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
- <property name="top_attach">8</property>
- <property name="bottom_attach">9</property>
+ <property name="top_attach">9</property>
+ <property name="bottom_attach">10</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
@@ -21429,8 +20908,8 @@
<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="top_attach">2</property>
+ <property name="bottom_attach">3</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
@@ -21457,8 +20936,8 @@
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
- <property name="top_attach">10</property>
- <property name="bottom_attach">11</property>
+ <property name="top_attach">12</property>
+ <property name="bottom_attach">13</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
@@ -21477,45 +20956,17 @@
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">10</property>
- <property name="bottom_attach">11</property>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label_event_id_title">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Identifier</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="top_attach">12</property>
+ <property name="bottom_attach">13</property>
<property name="x_options">fill</property>
- <property name="y_options"></property>
+ <property name="y_options">fill</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label_event_id_value">
+ <widget class="GtkLabel" id="label_event_id_title">
<property name="visible">True</property>
- <property name="label" translatable="yes"></property>
+ <property name="label" translatable="yes">Identifier</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -21531,10 +20982,10 @@
<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="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>
@@ -21561,8 +21012,8 @@
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
- <property name="top_attach">9</property>
- <property name="bottom_attach">10</property>
+ <property name="top_attach">10</property>
+ <property name="bottom_attach">11</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
@@ -21589,52 +21040,14 @@
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">9</property>
- <property name="bottom_attach">10</property>
+ <property name="top_attach">10</property>
+ <property name="bottom_attach">11</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow29">
- <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_NONE</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkTextView" id="textview_description">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="editable">True</property>
- <property name="overwrite">False</property>
- <property name="accepts_tab">True</property>
- <property name="justification">GTK_JUSTIFY_LEFT</property>
- <property name="wrap_mode">GTK_WRAP_NONE</property>
- <property name="cursor_visible">True</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="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">11</property>
- <property name="bottom_attach">12</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
<widget class="GtkLabel" id="label_tc_title">
<property name="visible">True</property>
<property name="label" translatable="yes">Contact time</property>
@@ -21655,8 +21068,8 @@
<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="top_attach">4</property>
+ <property name="bottom_attach">5</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
@@ -21678,8 +21091,8 @@
<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="top_attach">3</property>
+ <property name="bottom_attach">4</property>
<property name="y_options"></property>
</packing>
</child>
@@ -21700,8 +21113,8 @@
<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="top_attach">4</property>
+ <property name="bottom_attach">5</property>
<property name="y_options"></property>
</packing>
</child>
@@ -21722,8 +21135,8 @@
<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="top_attach">5</property>
+ <property name="bottom_attach">6</property>
<property name="y_options"></property>
</packing>
</child>
@@ -21744,8 +21157,8 @@
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">8</property>
- <property name="bottom_attach">9</property>
+ <property name="top_attach">9</property>
+ <property name="bottom_attach">10</property>
<property name="y_options"></property>
</packing>
</child>
@@ -21771,8 +21184,8 @@
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
- <property name="top_attach">5</property>
- <property name="bottom_attach">6</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>
@@ -21799,8 +21212,8 @@
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
- <property name="top_attach">6</property>
- <property name="bottom_attach">7</property>
+ <property name="top_attach">7</property>
+ <property name="bottom_attach">8</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
@@ -21827,8 +21240,8 @@
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
- <property name="top_attach">7</property>
- <property name="bottom_attach">8</property>
+ <property name="top_attach">8</property>
+ <property name="bottom_attach">9</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
@@ -21850,8 +21263,8 @@
<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="top_attach">6</property>
+ <property name="bottom_attach">7</property>
<property name="y_options"></property>
</packing>
</child>
@@ -21872,8 +21285,8 @@
<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="top_attach">7</property>
+ <property name="bottom_attach">8</property>
<property name="y_options"></property>
</packing>
</child>
@@ -21899,8 +21312,8 @@
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">7</property>
- <property name="bottom_attach">8</property>
+ <property name="top_attach">8</property>
+ <property name="bottom_attach">9</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
@@ -21919,12 +21332,181 @@
<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">fill</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox_identifier">
+ <property name="visible">True</property>
+ <property name="homogeneous">True</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkLabel" id="label_event_id_value">
+ <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="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label_simulated">
+ <property name="label" translatable="yes"><b>Simulated</b></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="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</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>
<property name="x_options">fill</property>
<property name="y_options">fill</property>
</packing>
</child>
+
+ <child>
+ <widget class="GtkEntry" id="entry_description">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ <signal name="changed" handler="on_entry_description_changed" last_modification_time="Thu, 23 Oct 2008 15:57:18 GMT"/>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">13</property>
+ <property name="bottom_attach">14</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label462">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Description /
+comments</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">13</property>
+ <property name="bottom_attach">14</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label_angle_title">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Angle</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">11</property>
+ <property name="bottom_attach">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="entry_angle_value">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">â</property>
+ <property name="activates_default">False</property>
+ <signal name="changed" handler="on_entry_angle_changed" last_modification_time="Thu, 23 Oct 2008 09:40:59 GMT"/>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">11</property>
+ <property name="bottom_attach">12</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="padding">0</property>
@@ -21962,6 +21544,7 @@
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="on_button_accept_clicked" last_modification_time="Tue, 28 Sep 2004 16:58:51 GMT"/>
+ <accelerator key="Return" modifiers="0" signal="clicked"/>
</widget>
</child>
</widget>
Modified: trunk/images/gtk-zoom-fit.png
==============================================================================
Binary files. No diff available.
Modified: trunk/images/gtk-zoom-in-with-text.png
==============================================================================
Binary files. No diff available.
Modified: trunk/images/gtk-zoom-in.png
==============================================================================
Binary files. No diff available.
Modified: trunk/images/gtk-zoom-out.png
==============================================================================
Binary files. No diff available.
Modified: trunk/src/angle/kneeAngle.cpp
==============================================================================
--- trunk/src/angle/kneeAngle.cpp (original)
+++ trunk/src/angle/kneeAngle.cpp Tue Oct 28 18:13:39 2008
@@ -23,7 +23,7 @@
* Xavier de Blas
* xaviblas gmail com
*
- * version: 1.3.3 (Oct, 7, 2008)
+ * version: 1.4 (Oct, 28, 2008)
*
*/
@@ -60,18 +60,18 @@
* of the largest connected contour in the thresholded image.This function returns
* the bounding rectangle of the largest contours and draws the largest contour on a temporay image.
*
- * Now the call to the function *FindHipPoint* find the x coordinate of the pixel fulfilling
+ * Now the call to the function *findHipPoint* find the x coordinate of the pixel fulfilling
* following criteria in the image containing maximum bounding rectangle :
*
* 1.white pixel with minimum x coordinate
* This gives the coordinate of the Hip of the person.
*
- * Now the call to the function *FindKneePoint* takes as argument the bounding rectangle
- * of the largest connected contours and the y coordinate of the hippoint calculated in the *FindHipPoint*.
+ * Now the call to the function *findKneePoint* takes as argument the bounding rectangle
+ * of the largest connected contours and the y coordinate of the hippoint calculated in the *findHipPoint*.
* The function returns the x coordinate of the white pixel having maximum x coordinate below the hip point.
* The white pixel with largest x coordinate below the hip point gives the coordinate of the Knee point of the leg.
*
- * Now the call to the function *FindToePoint* searches for the white pixels below the knee point
+ * Now the call to the function *findToePoint* searches for the white pixels below the knee point
* and having minimum x coordinate.This gives the coordinate of the toe point.
*
* Minimum Angle Calculation:
@@ -147,6 +147,10 @@
bool mixStickWithMinAngleWindow = true;
+//if true, don't analyse the pants angle, only the validation points on black pants
+bool onlyValidationBlack = false;
+
+bool onlyValidationSkin = false;
int main(int argc,char **argv)
@@ -157,9 +161,18 @@
exit(1);
}
+ //printf("argc: %d\n",argc);
int startAt = -1;
- if(argc == 3)
+ if(argc >= 3)
startAt = atoi(argv[2]);
+ if(argc == 4 && *argv[3] == 'b') {
+ onlyValidationBlack = true;
+ printf("only validation black!!\n");
+ }
+ if(argc == 4 && *argv[3] == 's') {
+ onlyValidationSkin = true;
+ printf("only validation skin!!\n");
+ }
CvCapture* capture = NULL;
capture = cvCaptureFromAVI(argv[1]);
@@ -196,7 +209,7 @@
// cvNamedWindow("output",1);
int kneePointWidth = -1;
- int toePointWidth;
+ int toePointWidth = -1;
//to make lines at resultPointsLines
CvPoint notFoundPoint;
@@ -219,8 +232,10 @@
CvSeq* kneeSeq = cvCreateSeq( CV_SEQ_KIND_GENERIC|CV_32SC2, sizeof(CvSeq), sizeof(CvPoint), stickStorage );
CvSeq* toeSeq = cvCreateSeq( CV_SEQ_KIND_GENERIC|CV_32SC2, sizeof(CvSeq), sizeof(CvPoint), stickStorage );
- sprintf(label, " fps a_black a_holes [ diff diff(%)] kneeDif a_supD a_infD");
- printf("%s\n" ,label);
+ if(! onlyValidationBlack && ! onlyValidationSkin) {
+ sprintf(label, " fps a_black a_holes [ diff diff(%)] kneeDif a_supD a_infD");
+ printf("%s\n" ,label);
+ }
double avgThetaDiff = 0;
double avgThetaDiffPercent = 0;
@@ -229,19 +244,58 @@
int framesDetected = 0;
int framesCount = 0;
+ //to advance fast and really fast
+ bool forward = false;
+ int forwardSpeed = 50;
+ bool forwardSuper = false;
+ int forwardSuperSpeed = 200;
+ int forwardCount = 0;
+
+ CvPoint hipHolesPoint = pointToZero();
+ CvPoint kneeHolesPoint = pointToZero();
+ CvPoint toeHolesPoint = pointToZero();
+ CvPoint hipOld = pointToZero();
+ CvPoint kneeOld = pointToZero();
+ CvPoint toeOld = pointToZero();
+
+ int legHolesDist = 0;
+ int legHolesDistMax = 0;
+
+ int brightness = -1;
+
while(!shouldEnd)
{
framesCount ++;
-
+
frame = cvQueryFrame(capture);
if(!frame)
break;
if(startAt > framesCount) {
continue;
}
+ if(forward || forwardSuper) {
+ if(
+ forward && (forwardCount < forwardSpeed) ||
+ forwardSuper && (forwardCount < forwardSuperSpeed)) {
+ forwardCount ++;
+ continue;
+ } else {
+ //end of forwarding
+ forwardCount = 0;
+ forward = false;
+ forwardSuper = false;
+
+ //mark that we are forwarding to the holesdetection
+ //then it will not need to match a point with previous point
+ hipOld = pointToZero();
+ kneeOld = pointToZero();
+ toeOld = pointToZero();
+ }
+ }
- if( !frame_copy )
+ if( !frame_copy )
frame_copy = cvCreateImage( cvSize(frame->width,frame->height),IPL_DEPTH_8U, frame->nChannels );
+
if( frame->origin == IPL_ORIGIN_TL )
cvCopy( frame, frame_copy, 0 );
else
@@ -264,217 +318,263 @@
cvSmooth(frame_copy,frame_copy,2,5,5);
cvCvtColor(frame_copy,gray,CV_BGR2GRAY);
+ // detect brightness
+ if(brightness == -1) {
+ brightness = calculateBrightness(gray);
+ printf("brightness: %d\n", brightness);
+ }
+
//created image like the contour but with holes and more (stores on segmentedValidationHoles)
- //recommended 30,255
- cvThreshold(gray,segmentedValidationHoles,0,255,CV_THRESH_BINARY_INV);
+ //recommended 25,255
+ //high threshold (40-60) detects more black things (useful to not confuse a hole when is close to the border)
+ //low threshold (5-10) detects less black things
+ //if the image is bright, a hight threshold is perfect to nice detect the shapes without detecting shadows
+ //int threshold = 35;
+ //put threshold min depending on brightnesss
+ //eg: nora: brightness 85 -> threshold 30
+ //eg: 44_lluis_puerta_salt6_m.MOV: brightness 73 -> threshold 10
+
+ //adjust better, because:
+ //12_carles_tejedor_salt3_m.MOV
+ //is bright:0, but if put thresh to 1 then detects bad. and to 10 is ok
+ //
+ //on the other side, 2_roger_miralles_salt3_m.MOV
+ //is really dark and it needs a thresh of 1 to work
+ //
+ //also it could be nice to have a thresh that detects three objects
+ //another option, could be to have the thresh 10 as really minimum and darker images are unsupported!
+ int threshold;
+ int briMax = 85;
+ int briMin = 65;
+// int briZero = 50;
+ int thresMax = 30;
+ int thresMin = 10;
+ if(brightness >= briMax)
+ threshold = thresMax;
+// else if(brightness <= briZero)
+// threshold = 10;
+ else if(brightness <= briMin)
+ threshold = thresMin;
+ else
+ threshold = brightness - briMin + thresMin;
+
+ int thresholdMax = 255;
+
+ CvRect maxrect;
+ int thresholdInc = 1;
+
+ //at first photogram if onlyValidationSkin, ask user for the points
+ //don't do like this, go to another method and have the flow there
+ //also the same for onlyValidationBlack
+ if(onlyValidationSkin) {
+ if(hipSkin.x == 0 ) {
+ cvNamedWindow( "toClick", 1 );
+ cvShowImage("toClick", gray);
+ cvSetMouseCallback( "toClick", on_mouse, 0 );
+ printf("Please, mark hip point, then knee, then toe, and finally press any key\n");
+ int c = cvWaitKey(0);
+ printf("hip: (%d,%d), knee: (%d,%d), toe:(%d,%d)\n",
+ hipSkin.x, hipSkin.y, kneeSkin.x, kneeSkin.y, toeSkin.x, toeSkin.y);
+
+ cvNamedWindow( "HolesBri", 1 );
+ int thresholdSkin = 150;
+ bool done = false;
+ do {
+ cvThreshold(gray,segmentedValidationHoles, thresholdSkin, thresholdMax,CV_THRESH_BINARY_INV);
+ cvShowImage("HolesBri", segmentedValidationHoles);
+ printf("threshold: %d ('+' increase, '-' decrease, 'q' done)\n", thresholdSkin);
+ key = (char) cvWaitKey(0);
+ if(key == 'q' || key == 'Q' )
+ done = true;
+ else if(key == '+')
+ thresholdSkin ++;
+ else if(key == '-')
+ thresholdSkin --;
+ } while(! done);
+
+ //backward doesn't work:
+ //cvSetCaptureProperty( capture, CV_CAP_PROP_POS_FRAMES, 600.0 );
+ //cvSetCaptureProperty( capture, CV_CAP_PROP_POS_AVI_RATIO, .7 );
+ //http://opencv.willowgarage.com/wiki/HighGui
+
+
+ } else {
+ cvThreshold(gray,segmentedValidationHoles, 150, thresholdMax,CV_THRESH_BINARY_INV);
+ cvCircle(segmentedValidationHoles,hipSkin,2, CV_RGB(255,0,0),1,8,0);
+ cvCircle(segmentedValidationHoles,kneeSkin,2, CV_RGB(255,0,0),1,8,0);
+ cvCircle(segmentedValidationHoles,toeSkin,2, CV_RGB(255,0,0),1,8,0);
+ cvShowImage("HolesBri", segmentedValidationHoles);
+ cvWaitKey(10);
+ }
+
+ continue;
+ //exit(0);
+ }
- //create the largest contour image (stored on temp)
- //recommended 30,255
- cvThreshold(gray,segmented,0,255,CV_THRESH_BINARY_INV);
- CvRect maxrect = findLargestContour(segmented, output, showContour);
-
- //search in output all the black places (pants) and
- //see if there's a hole in that pixel on segmentedValidationHoles
- CvSeq* seqHolesEnd = findHoles(output, segmentedValidationHoles, foundHoles, maxrect, frame_copy);
- CvPoint hipHolesPoint = *CV_GET_SEQ_ELEM( CvPoint, seqHolesEnd, 0);
- CvPoint kneeHolesPoint = *CV_GET_SEQ_ELEM( CvPoint, seqHolesEnd, 1 );
- CvPoint toeHolesPoint = *CV_GET_SEQ_ELEM( CvPoint, seqHolesEnd, 2 );
+ do {
+ cvThreshold(gray,segmentedValidationHoles, threshold, thresholdMax,CV_THRESH_BINARY_INV);
+
+ //create the largest contour image (stored on temp)
+ cvThreshold(gray,segmented,threshold,thresholdMax,CV_THRESH_BINARY_INV);
+ maxrect = findLargestContour(segmented, output, showContour);
+
+ //search in output all the black places (pants) and
+ //see if there's a hole in that pixel on segmentedValidationHoles
+ if(onlyValidationSkin)
+ ;
+ else {
+ CvSeq* seqHolesEnd = findHoles(
+ output, segmentedValidationHoles, foundHoles, frame_copy,
+ maxrect, hipOld, kneeOld, toeOld);
+
+ hipHolesPoint = *CV_GET_SEQ_ELEM( CvPoint, seqHolesEnd, 0);
+ kneeHolesPoint = *CV_GET_SEQ_ELEM( CvPoint, seqHolesEnd, 1 );
+ toeHolesPoint = *CV_GET_SEQ_ELEM( CvPoint, seqHolesEnd, 2 );
+ }
+ threshold += thresholdInc;
+ } while(
+ (pointIsNull(hipHolesPoint) || pointIsNull(kneeHolesPoint) || pointIsNull(toeHolesPoint))
+ && threshold < 100);
+
+ threshold -= thresholdInc;
+ hipOld = hipHolesPoint;
+ kneeOld = kneeHolesPoint;
+ toeOld = toeHolesPoint;
- CvPoint hipPointBack = FindHipPoint(output,maxrect);
- //provisionally ubicate hipPoint at horizontal 1/2
+ CvPoint hipPointBack;
CvPoint hipPoint;
- hipPoint.x = hipPointBack.x + (FindWidth(output, hipPointBack, true) /2);
- hipPoint.y = hipPointBack.y;
+ CvPoint kneePointBack;
+ CvPoint kneePointFront;
+ CvPoint kneePoint;
+ CvPoint toePoint;
+ //int area;
+
+
+ if( ! onlyValidationBlack) {
+ hipPointBack = findHipPoint(output,maxrect);
+
+ //provisionally ubicate hipPoint at horizontal 1/2
+ CvPoint hipPoint;
+ hipPoint.x = hipPointBack.x + (findWidth(output, hipPointBack, true) /2);
+ hipPoint.y = hipPointBack.y;
+
+ //knee
+ kneePointFront = findKneePointFront(output,maxrect,hipPointBack.y);
+ kneePointBack = findKneePointBack(output,maxrect,hipPointBack.y, kneePointFront.x); //hueco popliteo
+
+ //toe
+ CvPoint toePoint = findToePoint(output,maxrect,kneePointFront.x,kneePointFront.y);
+
+
+ foundAngle = false;
+ if(minwidth == 0)
+ minwidth = kneePointFront.x - hipPointBack.x;
+ else {
+ if((double)(kneePointFront.x- hipPointBack.x) > 1.15*minwidth
+ &&
+ upperSimilarThanLower(hipPoint, kneePointFront, toePoint)
+ && !pointIsNull(hipHolesPoint) && !pointIsNull(kneeHolesPoint) &&
+ !pointIsNull(toeHolesPoint)
+ )
+ /* get lower this 1.25 because now we use mid leg to solve the hand problem and width is lower*/
+ /*1.25 again, because we use hip y again*/
+ foundAngle = true;
+ foundAngleOneTime = true;
+ }
+ //Finds angle between Hip to Knee line and Knee to Toe line
+ if(foundAngle)
+ {
+ // ------------ knee stuff ----------
+ //find width of knee, only one time and will be used for all the photogrammes
+ if(kneePointWidth == -1)
+ kneePointWidth = findWidth(output, kneePointFront, false);
-//knee
- CvPoint kneePointFront = FindKneePointFront(output,maxrect,hipPointBack.y);
- CvPoint kneePointBack = FindKneePointBack(output,maxrect,hipPointBack.y, kneePointFront.x); //hueco popliteo
+ kneePoint = kneePointInNearMiddleOfFrontAndBack(
+ kneePointBack, kneePointFront, kneePointWidth, frame_copy);
+ cvCircle(frame_copy,kneePointBack,2, CV_RGB(128,128,128),1,8,0);
+ cvCircle(frame_copy,kneePointFront,2, CV_RGB(128,128,128),1,8,0);
+ cvLine(frame_copy,kneePointFront,kneePointBack,CV_RGB(128,128,128),1,1);
+ cvCircle(frame_copy,kneePoint,3, CV_RGB(255,255,0),1,8,0);
-/*
- * to know how the horizontal distance between the kneeHole and the right of the knee we can use this
- * as observed, distance only changes a bit, and is higher in maximum flexion
- * search X distance between kneeHoles and kneeRight
- */
-//printf("[%f]", getDistance(kneeHolesPoint, cvPoint(kneePointFront.x, kneeHolesPoint.y)));
+ // ------------ toe stuff ----------
+ /*
+ * don't find width of toe for each photogramme
+ * do it only at first, because if at any photogramme, as flexion advances,
+ * knee pointfront is an isolate point at the right of the lowest part of the pants
+ * because the back part of kneepoint has gone up
+ */
-
- CvPoint toePoint = FindToePoint(output,maxrect,kneePointFront.x,kneePointFront.y);
+ if(toePointWidth == -1)
+ toePointWidth = findWidth(output, toePoint, false);
+ cvCircle(frame_copy,toePoint,2, CV_RGB(128,128,128),1,8,0);
- foundAngle = false;
- if(minwidth == 0)
- {
- minwidth = kneePointFront.x - hipPointBack.x;
- }
- else
- {
- if((double)(kneePointFront.x- hipPointBack.x) > 1.15*minwidth
- &&
- upperSimilarThanLower(hipPoint, kneePointFront, toePoint)
- && !pointIsNull(hipHolesPoint) && !pointIsNull(kneeHolesPoint) &&
- !pointIsNull(toeHolesPoint)
- )
- /* get lower this 1.25 because now we use mid leg to solve the hand problem and width is lower*/
- /*1.25 again, because we use hip y again*/
- foundAngle = true;
- foundAngleOneTime = true;
- }
+ theta = findAngle(hipPoint, toePoint, kneePoint);
- //Finds angle between Hip to Knee line and Knee to Toe line
- if(foundAngle)
- {
- cvCircle(frame_copy,kneePointFront,2, CV_RGB(128,128,128),1,8,0);
-
- //find width of knee, only one time and will be used for all the photogrammes
- if(kneePointWidth == -1) {
- kneePointWidth = FindWidth(output, kneePointFront, false);
- }
+ //fix toepoint.x at the 1/2 of the toe width
+ //depending on kneeAngle
+ toePoint.x = fixToePointX(toePoint.x, toePointWidth, theta);
+ cvCircle(frame_copy,toePoint,3, CV_RGB(255,0,0),1,8,0);
-//knee stuff
- cvCircle(frame_copy,kneePointBack,2, CV_RGB(128,128,128),1,8,0);
- cvLine(frame_copy,kneePointFront,kneePointBack,CV_RGB(128,128,128),1,1);
- CvPoint kneePointBackPrima;
- kneePointBackPrima.x = kneePointBack.x - kneePointFront.x;
- kneePointBackPrima.y = kneePointBack.y - kneePointFront.y;
-
- //don't use horizontal knee distance on each photogramme
- //kneePointBackPrima.x += getDistance(kneePoint, kneePointBack) * .6;
- //use it on first photogramme: kneePointWidth
-
- double kneeXConvertedRatio = (double) abs(kneePointBackPrima.x) / (kneePointWidth *.4);
- kneePointBackPrima.x /= kneeXConvertedRatio;
- kneePointBackPrima.y /= kneeXConvertedRatio;
-
- CvPoint kneePoint;
- kneePoint.x = kneePointBackPrima.x + kneePointFront.x;
- kneePoint.y = kneePointBackPrima.y + kneePointFront.y;
- kneePoint.x = checkItsOk(kneePoint.x, 0, frame_copy->width);
- kneePoint.y = checkItsOk(kneePoint.y, 0, frame_copy->height);
- cvCircle(frame_copy,kneePoint,3, CV_RGB(255,255,0),1,8,0);
-
-
-cvLine(frame_copy,cvPoint(0,hipPoint.y),cvPoint(frame_copy->width, hipPoint.y),CV_RGB(255,255,0),1,1);
-cvLine(frame_copy,cvPoint(0,kneePoint.y),cvPoint(frame_copy->width, kneePoint.y),CV_RGB(255,255,0),1,1);
-
- //find width of toe for each photogramme
- toePointWidth = FindWidth(output, toePoint, false);
- cvCircle(frame_copy,toePoint,2, CV_RGB(128,128,128),1,8,0);
-
- theta = findAngle(hipPoint, toePoint, kneePoint);
- //fix toepoint.x at the 1/2 of the toe width
- //depending on kneeAngle
- toePoint.x = fixToePointX(toePoint.x, toePointWidth, theta);
- cvCircle(frame_copy,toePoint,3, CV_RGB(255,0,0),1,8,0);
+ // ------------ hip stuff ----------
-
- //fix hipPoint ...
- cvCircle(frame_copy,hipPointBack,2, CV_RGB(128,128,128),1,8,0);
-
- //... find at 3/2 of hip (surely under the hand) ...
- //theta = findAngle(hipPoint, toePoint, kneePoint);
- hipPoint = FixHipPoint1(output, hipPointBack.y, kneePoint, theta);
- cvCircle(frame_copy,hipPoint,2, CV_RGB(128,128,128),1,8,0);
-
- //... cross first hippoint with the knee-hippoint line to find real hippoint
- hipPoint = FixHipPoint2(output, hipPointBack.y, kneePoint, hipPoint);
- cvCircle(frame_copy,hipPoint,3, CV_RGB(255,0,0),1,8,0);
-
+ //fix hipPoint ...
+ cvCircle(frame_copy,hipPointBack,2, CV_RGB(128,128,128),1,8,0);
+ //... find at 3/2 of hip (surely under the hand) ...
+ //theta = findAngle(hipPoint, toePoint, kneePoint);
+ hipPoint = fixHipPoint1(output, hipPointBack.y, kneePoint, theta);
+ cvCircle(frame_copy,hipPoint,2, CV_RGB(128,128,128),1,8,0);
- //find flexion angle
- theta = findAngle(hipPoint, toePoint, kneePoint);
- //double thetaBack = findAngle(hipPoint, toePoint, kneePointBack);
- thetaHoles = findAngle(hipHolesPoint, toeHolesPoint, kneeHolesPoint);
-
- //draw 2 main lines
- cvLine(frame_copy,kneePoint,hipPoint,CV_RGB(255,0,0),1,1);
- cvLine(frame_copy,kneePoint,toePoint,CV_RGB(255,0,0),1,1);
-
- cvSeqPush( hipSeq, &hipPoint );
- cvSeqPush( kneeSeq, &kneePoint );
- cvSeqPush( toeSeq, &toePoint );
-
- /*draw line of knee distance between holes validation and black detection
- */
- /*
-
- if(kneeHolesPoint.x > 0)
- cvLine(frame_copy,kneeHolesPoint, kneePoint,CV_RGB(128,128,128),1,1);
- if(hipHolesPoint.x > 0)
- cvLine(frame_copy,hipHolesPoint, hipPoint,CV_RGB(128,128,128),1,1);
- if(toeHolesPoint.x > 0)
- cvLine(frame_copy,toeHolesPoint, toePoint,CV_RGB(128,128,128),1,1);
- */
-
- /*
- * draw perpendicular line (min distance)
- if(kneeHolesPoint.x > 0 && hipHolesPoint > 0) {
-
- CvPoint hipHolesPrima;
- hipHolesPrima.x = hipHolesPoint.x - kneeHolesPoint.x;
- hipHolesPrima.y = hipHolesPoint.y - kneeHolesPoint.y;
-
- CvPoint hipPrima;
- hipPrima.x = hipPoint.x - kneeHolesPoint.x;
- hipPrima.y = hipPoint.y - kneeHolesPoint.y;
-
- //find angle on knee
- int hip2KneeHoles = getDistance(hipPoint, kneeHolesPoint);
- int hipHoles2KneeHoles = getDistance(hipHolesPoint, kneeHolesPoint);
- double theta2 = (180.0/M_PI)*acos(((hipHolesPrima.x*hipPrima.x + hipHolesPrima.y*hipPrima.y))/(double)(hip2KneeHoles*hipHoles2KneeHoles));
- int d1 = hip2KneeHoles * sin((M_PI/180.0)*theta2);
- int d2 = hip2KneeHoles * cos((M_PI/180.0)*theta2);
-
-
- //angle of kneeHoles-hipHoles with horizontal
- double theta3 = (180.0/M_PI)*acos(((hipHolesPrima.x*hipHolesPrima.x + hipHolesPrima.y*0))/(double)(hipHoles2KneeHoles*hipHolesPrima.x));
- CvPoint crossPrima;
- crossPrima.y = hipHoles2KneeHoles * sin((M_PI/180.0)*theta3);
- crossPrima.x = hipHoles2KneeHoles * cos((M_PI/180.0)*theta3);
- CvPoint cross;
- cross.y = kneeHolesPoint.y + crossPrima.y;
- cross.x = kneeHolesPoint.x + crossPrima.x;
- cvCircle(frame_copy,cross,3, CV_RGB(128,128,128),1,8,0);
+ //... cross first hippoint with the knee-hippoint line to find real hippoint
+ hipPoint = fixHipPoint2(output, hipPointBack.y, kneePoint, hipPoint);
+ cvCircle(frame_copy,hipPoint,3, CV_RGB(255,0,0),1,8,0);
+ // ------------ flexion angle ----------
+ //find flexion angle
+ theta = findAngle(hipPoint, toePoint, kneePoint);
+ //double thetaBack = findAngle(hipPoint, toePoint, kneePointBack);
- sprintf(label, "a3: %f", theta3);
- cvPutText(frame_copy, label,
- cvPoint((hipHolesPoint.x+hipPoint.x)/2, 40),
- &font,cvScalar(0,0,255));
-
- sprintf(label, "h2kh: %d, hh2kh: %d", hip2KneeHoles, hipHoles2KneeHoles);
- cvPutText(frame_copy, label,
- cvPoint((hipHolesPoint.x+hipPoint.x)/2, 20),
- &font,cvScalar(0,0,255));
- sprintf(label, "a: %f, d1: %d, d2: %d", theta2, d1, d2);
- cvPutText(frame_copy, label,
- cvPoint((hipHolesPoint.x+hipPoint.x)/2, (hipHolesPoint.y+hipPoint.y)/2),
- &font,cvScalar(0,0,255));
- }
- */
+ //draw 2 main lines
+ cvLine(frame_copy,kneePoint,hipPoint,CV_RGB(255,0,0),1,1);
+ cvLine(frame_copy,kneePoint,toePoint,CV_RGB(255,0,0),1,1);
+ cvSeqPush( hipSeq, &hipPoint );
+ cvSeqPush( kneeSeq, &kneePoint );
+ cvSeqPush( toeSeq, &toePoint );
- //find total area
- int area = findTotalArea(gray, maxrect);
+ //find total area
+ //area = findTotalArea(gray, maxrect);
- //Finds the minimum angle between Hip to Knee line and Knee to Toe line
- if(thetaHoles < minThetaHoles)
- {
- minThetaHoles = thetaHoles;
+ if(theta < minTheta)
+ {
+ minTheta = theta;
+ cvCopy(frame_copy,result);
+ lowestAngleFrame = framesCount;
+ }
}
- if(theta < minTheta)
- {
- minTheta = theta;
- cvCopy(frame_copy,result);
- lowestAngleFrame = hipSeq->total -1;
+ else {
+ //angle not found
+ cvSeqPush( hipSeq, ¬FoundPoint );
+ cvSeqPush( kneeSeq, ¬FoundPoint );
+ cvSeqPush( toeSeq, ¬FoundPoint );
}
+ }
+
+
+ if(pointIsNull(hipHolesPoint) || pointIsNull(kneeHolesPoint) || pointIsNull(toeHolesPoint))
+ thetaHoles = -1;
+ else {
+ thetaHoles = findAngle(hipHolesPoint, toeHolesPoint, kneeHolesPoint);
+ if(thetaHoles < minThetaHoles)
+ minThetaHoles = thetaHoles;
cvRectangle(frame_copy,
@@ -482,46 +582,75 @@
cvPoint(maxrect.x + maxrect.width, maxrect.y + maxrect.height),
CV_RGB(255,0,0),1,1);
- //print data
- double thetaSup = findAngle(hipPoint, cvPoint(0,kneePoint.y), kneePoint);
- double thetaHolesSup = findAngle(hipHolesPoint, cvPoint(0, kneeHolesPoint.y), kneeHolesPoint);
-
- double thetaInf = findAngle(cvPoint(0,kneePoint.y), toePoint, kneePoint);
- double thetaHolesInf = findAngle(cvPoint(0,kneeHolesPoint.y), toeHolesPoint, kneeHolesPoint);
-
- sprintf(label, "%7d %7.2f %7.2f [%7.2f %7.2f] %7.2f %7.2f %7.2f [%7.2f %7.2f] [%7.2f] [%7.2f] ;%7d;", framesCount, theta, thetaHoles,
- thetaHoles-theta, relError(theta, thetaHoles),
- getDistance(kneePoint, kneeHolesPoint),
- thetaSup-thetaHolesSup, thetaInf-thetaHolesInf
- , getDistance(kneeHolesPoint, hipHolesPoint), getDistance(kneePoint, hipPoint)
- , getDistance(kneePoint, hipPointBack)
- , getDistance(kneePointBack, hipPointBack)
- , area
- );
- //cvLine(frame_copy, kneePointBack, hipPointBack,CV_RGB(0,0,255),1,1);
-
- /*
- cvCircle(frame_copy,hipHolesPoint,
- getDistance(hipHolesPoint, hipPointBack)),
- CV_RGB(128,128,128),1,8,0);
- */
- printf("%s\n" ,label);
-
- avgThetaDiff += abs(thetaHoles-theta);
- avgThetaDiffPercent += abs(relError(theta, thetaHoles));
- avgKneeDistance += getDistance(kneePoint, kneeHolesPoint);
- framesDetected ++;
- } else{
- cvSeqPush( hipSeq, ¬FoundPoint );
- cvSeqPush( kneeSeq, ¬FoundPoint );
- cvSeqPush( toeSeq, ¬FoundPoint );
+ //print frame variation of distances of leg
+ //soon find abduction, and then real flexion angle
+ legHolesDist = getDistance(hipHolesPoint, kneeHolesPoint) + getDistance(toeHolesPoint, kneeHolesPoint);
+ if(legHolesDist > legHolesDistMax)
+ legHolesDistMax = legHolesDist;
+
+ sprintf(label, "legSize: %d(%.1f\%)", legHolesDist, relError(legHolesDistMax, legHolesDist));
+ cvPutText(frame_copy, label, cvPoint(frame->width-150, frame->height-20),&font,CV_RGB(255,255,255));
+
+
+ sprintf(label, "frame: %d", framesCount);
+ cvPutText(frame_copy, label, cvPoint(10,frame->height-80),&font,CV_RGB(255,255,255));
+
+ //print holes angle detection data
+ sprintf(label, "threshold: %d", threshold);
+ cvPutText(frame_copy, label, cvPoint(10,frame->height-60),&font,CV_RGB(255,255,255));
+ sprintf(label, "H angle: %.2f", thetaHoles);
+ cvPutText(frame_copy, label, cvPoint(10,frame->height-40),&font,CV_RGB(255,255,255));
+ sprintf(label, "min H angle: %.2f", minThetaHoles);
+ cvPutText(frame_copy, label, cvPoint(10,frame->height-20),&font,CV_RGB(255,255,255));
+
+ if(foundAngle) {
+ //print data
+ double thetaSup = findAngle(hipPoint, cvPoint(0,kneePoint.y), kneePoint);
+ double thetaHolesSup = findAngle(hipHolesPoint, cvPoint(0, kneeHolesPoint.y), kneeHolesPoint);
+
+ double thetaInf = findAngle(cvPoint(0,kneePoint.y), toePoint, kneePoint);
+ double thetaHolesInf = findAngle(cvPoint(0,kneeHolesPoint.y), toeHolesPoint, kneeHolesPoint);
+
+ printf("%7d %7.2f %7.2f [%7.2f %7.2f] %7.2f %7.2f %7.2f [%7.2f %7.2f] [%7.2f] [%7.2f]\n", framesCount, theta, thetaHoles,
+ thetaHoles-theta, relError(theta, thetaHoles),
+ getDistance(kneePoint, kneeHolesPoint),
+ thetaSup-thetaHolesSup, thetaInf-thetaHolesInf
+ , getDistance(kneeHolesPoint, hipHolesPoint), getDistance(kneePoint, hipPoint)
+ , getDistance(kneePoint, hipPointBack)
+ , getDistance(kneePointBack, hipPointBack)
+ //, area
+ );
+
+ avgThetaDiff += abs(thetaHoles-theta);
+ avgThetaDiffPercent += abs(relError(theta, thetaHoles));
+ avgKneeDistance += getDistance(kneePoint, kneeHolesPoint);
+ framesDetected ++;
+ }
+
+ cvShowImage("result",frame_copy);
+
+
+ //Finds the minimum angle between Hip to Knee line and Knee to Toe line
+ if(thetaHoles == minThetaHoles) {
+ if(onlyValidationBlack) {
+ /*
+ * if only process validation points, then minimum angle should be obtained
+ * by the validation points
+ */
+
+ cvCopy(frame_copy,result);
+ //lowestAngleFrame = hipSeq->total -1;
+ lowestAngleFrame = framesCount;
+ }
+ }
+
+ //exit if we are going up and soon jumping.
+ //toe will be lost
+ //detected if minThetaHoles is littler than thetaHoles, when thetaHoles is big
+ if(thetaHoles > 140 && minThetaHoles +10 < thetaHoles)
+ shouldEnd = true;
}
-
- sprintf(label, "%d", framesCount);
- cvPutText(frame_copy, label, cvPoint(10,frame->height-20),&font,CV_RGB(255,255,255));
-
-
- cvShowImage("result",frame_copy);
+
/* wait key for pause
* if ESC, q, Q then exit
@@ -530,10 +659,14 @@
int myDelay = playDelay;
if(foundAngle)
myDelay = playDelayFoundAngle;
-
+
key = (char) cvWaitKey(myDelay);
if(key == 27 || key == 'q' || key == 'Q' ) // 'ESC'
shouldEnd = true;
+ else if(key == 'f') // 'FORWARD'
+ forward = true;
+ else if(key =='F') // 'FORWARD SUPER'
+ forwardSuper = true;
else if (key >0)
{
//if paused, print "pause"
@@ -547,7 +680,7 @@
}
//cvShowImage("gray",gray);
-
+
//cvShowImage("segmentedValidationHoles",segmentedValidationHoles);
double scale = 4;
IplImage* tempSmall = cvCreateImage( cvSize( cvRound (segmentedValidationHoles->width/scale), cvRound (segmentedValidationHoles->height/scale)), 8, 1 );
@@ -557,22 +690,27 @@
//cvShowImage("foundHoles",foundHoles);
//cvShowImage("output",output);
- //
}
-
- if(foundAngleOneTime) {
-
+
+ if(onlyValidationBlack) {
+ printf("*** Result ***\nMin angle: %.2f, lowest angle frame: %d\n", minThetaHoles, lowestAngleFrame);
+ cvNamedWindow("Minimum Frame",1);
+ cvShowImage("Minimum Frame", result);
+ cvWaitKey(0);
+ }
+ else if(foundAngleOneTime) {
+
avgThetaDiff = (double) avgThetaDiff / framesDetected;
avgThetaDiffPercent = (double) avgThetaDiffPercent / framesDetected;
avgKneeDistance = (double) avgKneeDistance / framesDetected;
-
+
printf("\n[%f %f] %f\n", avgThetaDiff, avgThetaDiffPercent, avgKneeDistance);
if(showStickThePoints ||
showStickTheLinesBetweenDifferentPoints ||
showStickTheLinesBetweenSamePoints) {
-
+
//remove unfound points at end (useful to paint end point)
CvPoint hipLast = *CV_GET_SEQ_ELEM( CvPoint, hipSeq, hipSeq->total-1);
do {
@@ -581,7 +719,7 @@
cvSeqPop( kneeSeq );
cvSeqPop( toeSeq );
}
-
+
hipLast = *CV_GET_SEQ_ELEM( CvPoint, hipSeq, hipSeq->total-1);
} while(pointIsNull(hipLast) );
@@ -599,35 +737,31 @@
cvShowImage("Stick Figure", resultStick);
}
}
-
+
printf("Minimum Frame\n");
sprintf(label, "minblack minholes diff diff(%)");
sprintf(label, "%8.2f %8.2f [%7.2f %7.2f]", minTheta, minThetaHoles,
- minThetaHoles-minTheta, relError(minTheta, minThetaHoles));
+ minThetaHoles-minTheta, relError(minTheta, minThetaHoles));
printf("%s\n" ,label);
-
+
cvWaitKey(0);
}
/* show all windows*/
/*
- cvNamedWindow("gray",1);
- cvShowImage("gray", gray);
-
- cvNamedWindow("segmented",1);
- cvShowImage("segmented", segmented);
+ cvNamedWindow("gray",1);
+ cvShowImage("gray", gray);
+ cvNamedWindow("segmented",1);
+ cvShowImage("segmented", segmented);
+ cvNamedWindow("edge",1);
+ cvShowImage("edge", edge);
+ cvNamedWindow("temp",1);
+ cvShowImage("temp", temp);
+ cvNamedWindow("output",1);
+ cvShowImage("output", output);
+ */
- cvNamedWindow("edge",1);
- cvShowImage("edge", edge);
- cvNamedWindow("temp",1);
- cvShowImage("temp", temp);
-
- cvNamedWindow("output",1);
- cvShowImage("output", output);
- */
-
-
cvClearMemStorage( stickStorage );
cvDestroyAllWindows();
Modified: trunk/src/angle/kneeAngleFunctions.cpp
==============================================================================
--- trunk/src/angle/kneeAngleFunctions.cpp (original)
+++ trunk/src/angle/kneeAngleFunctions.cpp Tue Oct 28 18:13:39 2008
@@ -66,7 +66,7 @@
* Hip point is the x coordinate of the white pixel having minimum x coordinate in the above bounding rectangle
* Returns the coordinate of the hip point
*/
-CvPoint FindHipPoint(IplImage* img,CvRect roirect)
+CvPoint findHipPoint(IplImage* img,CvRect roirect)
{
CvPoint pt;
pt.x =0;pt.y=0;
@@ -124,7 +124,7 @@
* Knee point is a white pixel below the hip point and having maximum x coordinate in the bounding box
* Returns the coordinate of the knee point
*/
-CvPoint FindKneePointFront(IplImage *img,CvRect roirect,int starty)
+CvPoint findKneePointFront(IplImage *img,CvRect roirect,int starty)
{
CvPoint pt;
pt.x = 0; pt.y = 0;
@@ -178,7 +178,7 @@
}
//hueco popliteo
-CvPoint FindKneePointBack(IplImage *img,CvRect roirect,int starty, int kneePointFrontX)
+CvPoint findKneePointBack(IplImage *img,CvRect roirect,int starty, int kneePointFrontX)
{
CvPoint pt;
pt.x = 0; pt.y = 0;
@@ -234,13 +234,40 @@
return pt;
}
+
+CvPoint kneePointInNearMiddleOfFrontAndBack(CvPoint kneePointBack, CvPoint kneePointFront,
+ int kneePointWidth, IplImage * frame_copy)
+{
+ CvPoint kneePointBackPrima;
+ kneePointBackPrima.x = kneePointBack.x - kneePointFront.x;
+ kneePointBackPrima.y = kneePointBack.y - kneePointFront.y;
+
+ //don't use horizontal knee distance on each photogramme
+ //kneePointBackPrima.x += getDistance(kneePoint, kneePointBack) * .6;
+ //use it on first photogramme: kneePointWidth
+
+ double kneeXConvertedRatio = (double) abs(kneePointBackPrima.x) / (kneePointWidth *.4);
+ kneePointBackPrima.x /= kneeXConvertedRatio;
+ kneePointBackPrima.y /= kneeXConvertedRatio;
+
+ CvPoint kneePoint;
+ kneePoint.x = kneePointBackPrima.x + kneePointFront.x;
+ kneePoint.y = kneePointBackPrima.y + kneePointFront.y;
+
+ kneePoint.x = checkItsOk(kneePoint.x, 0, frame_copy->width);
+ kneePoint.y = checkItsOk(kneePoint.y, 0, frame_copy->height);
+
+ return kneePoint;
+}
+
+
/*
* takes as input arguement the bounding rectangle of the largest contour,the image containing the bounding rectangle and the x and y coordinate of the knee point
* Calculates the toe point
* Toe point is a white pixel below the knee point and having minimum x coordinate
* Returns the coordinate of the hip point
*/
-CvPoint FindToePoint(IplImage *img,CvRect roirect,int startx,int starty)
+CvPoint findToePoint(IplImage *img,CvRect roirect,int startx,int starty)
{
CvPoint pt;
pt.x = 0; pt.y = 0;
@@ -289,7 +316,8 @@
* imgC (image Contour)
* imgH (image Holes)
*/
-CvSeq* findHoles(IplImage *imgC, IplImage *imgH, IplImage *foundHoles, CvRect roirect, IplImage *imgMain)
+CvSeq* findHoles(IplImage *imgC, IplImage *imgH, IplImage *foundHoles, IplImage *imgMain,
+ CvRect roirect, CvPoint hipOld, CvPoint kneeOld, CvPoint toeOld)
{
CvPoint pt;
pt.x =0;pt.y=0;
@@ -397,7 +425,7 @@
}
- CvSeq* seqIsValid = cvCreateSeq( 0, sizeof(CvSeq), sizeof(0), storage ); //'1' if is valid
+ CvSeq* seqIsValidSize = cvCreateSeq( 0, sizeof(CvSeq), sizeof(0), storage ); //'1' if is valid
int minSide = 6;
int maxSize = 10000;
@@ -413,9 +441,9 @@
sp2.x-sp1.x > minSide && sp2.y-sp1.y > minSide && //every side is bigger or equal to minSide
! (sp2.x-sp1.x > 3*(sp2.y-sp1.y)) && ! (3*(sp2.x-sp1.x) < (sp2.y-sp1.y)) //a side is not 3 times bigger than other (helps to delete shoes if appear)
) {
- cvSeqPush( seqIsValid, &validValue);
+ cvSeqPush( seqIsValidSize, &validValue);
} else {
- cvSeqPush( seqIsValid, &nonValidValue );
+ cvSeqPush( seqIsValidSize, &nonValidValue );
}
}
@@ -423,9 +451,9 @@
int sizeBig2 = 0;
int sizeBig3 = 0;
for( int i = 0; i < seqHolesSize->total; i++ ) {
- int valid = *CV_GET_SEQ_ELEM( int, seqIsValid, i );
+ int validSize = *CV_GET_SEQ_ELEM( int, seqIsValidSize, i );
int size = *CV_GET_SEQ_ELEM( int, seqHolesSize, i );
- if (valid==1) {
+ if (validSize == 1) {
if(size > sizeBig1) {
sizeBig3 = sizeBig2;
sizeBig2 = sizeBig1;
@@ -443,12 +471,29 @@
CvPoint kneePoint;
CvPoint toePoint;
hipPoint.x=0; kneePoint.x=0; toePoint.x=0;
- for( int i = 0; i < seqHolesSize->total; i++ ) {
- int valid = *CV_GET_SEQ_ELEM( int, seqIsValid, i );
+ for( int i = 0; i < seqHolesSize->total; i++ )
+ {
+ int validSize = *CV_GET_SEQ_ELEM( int, seqIsValidSize, i );
int size = *CV_GET_SEQ_ELEM( int, seqHolesSize, i );
- if (valid && (size == sizeBig1 || size == sizeBig2 || size == sizeBig3)) {
- CvPoint sp1 = *CV_GET_SEQ_ELEM( CvPoint, seqHolesUpLeft, i );
- CvPoint sp2 = *CV_GET_SEQ_ELEM( CvPoint, seqHolesDownRight, i );
+ CvPoint sp1 = *CV_GET_SEQ_ELEM( CvPoint, seqHolesUpLeft, i );
+ CvPoint sp2 = *CV_GET_SEQ_ELEM( CvPoint, seqHolesDownRight, i );
+
+ bool validSure = false;
+
+ //if size is valid
+ if (validSize) {
+ //if never found a point before, and this are the biggest points found
+ if(pointIsNull(hipOld) && pointIsNull(kneeOld) && pointIsNull(toeOld)) {
+ if(size == sizeBig1 || size == sizeBig2 || size == sizeBig3)
+ validSure = true;
+ }
+ //if found a point before, and this point is inside before point (ok at 300 fps)
+ //a point is also ok, if we come from a user forward (then, there's not need to be inside old point)
+ else if (pointInside(hipOld, sp1, sp2) || pointInside(kneeOld, sp1,sp2) || pointInside(toeOld, sp1,sp2))
+ validSure = true;
+ }
+
+ if(validSure) {
CvPoint center = *CV_GET_SEQ_ELEM( CvPoint, seqHolesCenter, i );
if(hipPoint.x == 0) {
cvRectangle(imgMain,
@@ -456,22 +501,25 @@
cvPoint(sp2.x+1, sp2.y+1),
CV_RGB(0,255,0),1,1);
hipPoint.x = center.x; hipPoint.y = center.y;
-// cvCircle(imgMain,center,1, CV_RGB(0,255,0),CV_FILLED,8,0);
} else if(kneePoint.x == 0) {
cvRectangle(imgMain,
cvPoint(sp1.x-1,sp1.y-1),
cvPoint(sp2.x+1, sp2.y+1),
CV_RGB(0,255,0),1,1);
kneePoint.x = center.x; kneePoint.y = center.y;
-// cvCircle(imgMain,center,1, CV_RGB(0,255,0),CV_FILLED,8,0);
} else {
cvRectangle(imgMain,
cvPoint(sp1.x-1,sp1.y-1),
cvPoint(sp2.x+1, sp2.y+1),
CV_RGB(0,255,0),1,1);
toePoint.x = center.x; toePoint.y = center.y;
-// cvCircle(imgMain,center,1, CV_RGB(0,255,0),CV_FILLED,8,0);
}
+ } else {
+ //paint rectangles in not-valid (or not big) holes.
+ cvRectangle(imgMain,
+ cvPoint(sp1.x-1,sp1.y-1),
+ cvPoint(sp2.x+1, sp2.y+1),
+ CV_RGB(0,255,255),1,1);
}
}
@@ -482,20 +530,6 @@
cvLine(imgMain,toePoint,kneePoint,CV_RGB(0,255,0),1,1);
}
- /* Test:
- * paint rectangles in all detected holes.
- */
-/*
- for( int i = 0; i < seqHolesSize->total; i++ ) {
- CvPoint sp1 = *CV_GET_SEQ_ELEM( CvPoint, seqHolesUpLeft, i );
- CvPoint sp2 = *CV_GET_SEQ_ELEM( CvPoint, seqHolesDownRight, i );
- int radious = (sp2.y - sp1.y) /2;
- if(radious < 1)
- radious = 1;
- cvRectangle(imgMain, sp1,sp2, CV_RGB(0,255,255),1,8,0);
- }
- */
- //end of test
CvPoint notFoundPoint;
notFoundPoint.x = 0; notFoundPoint.y = 0;
@@ -535,6 +569,15 @@
cvCopy(img,tempcopy);
CvMemStorage* storage = cvCreateMemStorage(0);
scanner = cvStartFindContours(img,storage,sizeof(CvContour),CV_RETR_EXTERNAL,CV_CHAIN_APPROX_SIMPLE);
+ //scanner = cvStartFindContours(img,storage,sizeof(CvContour),CV_RETR_EXTERNAL,CV_CHAIN_APPROX_TC89_L1); //nothing
+ //scanner = cvStartFindContours(img,storage,sizeof(CvContour),CV_RETR_LIST,CV_CHAIN_APPROX_TC89_L1); //nothing
+ //scanner = cvStartFindContours(img,storage,sizeof(CvContour),CV_RETR_EXTERNAL,CV_CHAIN_CODE); //nothing
+ //scanner = cvStartFindContours(img,storage,sizeof(CvChain),CV_RETR_EXTERNAL,CV_CHAIN_CODE); //segmentation fault
+ //scanner = cvStartFindContours(img,storage,sizeof(CvChain),CV_RETR_LIST,CV_CHAIN_CODE); //segmentation fault
+ //scanner = cvStartFindContours(img,storage,sizeof(CvContour),CV_RETR_LIST,CV_CHAIN_CODE); //nothing
+ //scanner = cvStartFindContours(img,storage,sizeof(CvContour),CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE); //== simple
+ //scanner = cvStartFindContours(img,storage,sizeof(CvContour),CV_RETR_EXTERNAL,CV_CHAIN_APPROX_TC89_KCOS); //== simple
+ //scanner = cvStartFindContours(img,storage,sizeof(CvContour),CV_RETR_LIST,CV_LINK_RUNS);
cvZero(temp);
CvRect maxrect;
maxrect.x=0;maxrect.y=0;maxrect.width=0;maxrect.height=0;
@@ -559,6 +602,7 @@
cvResize(temp, temp, CV_INTER_LINEAR);
double scale = 4;
+ //double scale = 1;
IplImage* tempSmall = cvCreateImage( cvSize( cvRound (img->width/scale), cvRound (img->height/scale)), 8, 1 );
cvResize( temp, tempSmall, CV_INTER_LINEAR );
@@ -602,7 +646,7 @@
return toeX;
}
-CvPoint FixHipPoint1(IplImage* img, int hipY, CvPoint knee, double kneeAngle)
+CvPoint fixHipPoint1(IplImage* img, int hipY, CvPoint knee, double kneeAngle)
{
CvPoint ptHK;
ptHK.x =0;ptHK.y=0;
@@ -656,7 +700,7 @@
return ptHK;
}
-CvPoint FixHipPoint2(IplImage* img, int hipY, CvPoint knee, CvPoint ptHK)
+CvPoint fixHipPoint2(IplImage* img, int hipY, CvPoint knee, CvPoint ptHK)
{
/* this was hippoint in 1/3 of the leg (close to the hip but just below the hand)
@@ -783,3 +827,63 @@
sprintf(label,"Last");
cvPutText(img, label,cvPoint(20, 60),&font,endColor);
}
+
+int calculateBrightness(IplImage* img)
+{
+ int starty = 0;
+ int endy = img->height;
+ int width = img->width;
+
+ IplImage * detectBrightness = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
+ cvThreshold(img, detectBrightness, 67, 255, CV_THRESH_BINARY_INV);
+
+ CvMat *srcmat,src_stub;
+ srcmat = cvGetMat(detectBrightness,&src_stub);
+ uchar *srcdata = srcmat->data.ptr;
+
+ int countBlack = 0;
+ int countWhite = 0;
+ for(int y=starty;y<endy;y++)
+ {
+ uchar *srcdataptr = srcdata + y*width;
+ for(int x=0; x < width; x++)
+ if(srcdataptr[x] == 0)
+ countBlack ++;
+ else
+ countWhite ++;
+ }
+
+ //cvNamedWindow("detectBrightness");
+ //cvShowImage("detectBrightness", detectBrightness);
+
+ if(countBlack == 0)
+ return 0;
+ else if(countWhite == 0)
+ return 100;
+ else
+ return (int) 100 * countBlack/(countWhite + countBlack);
+}
+
+CvPoint hipSkin;
+CvPoint kneeSkin;
+CvPoint toeSkin;
+
+void on_mouse( int event, int x, int y, int flags, void* param )
+{
+ switch( event )
+ {
+ case CV_EVENT_LBUTTONDOWN:
+ {
+ if(hipSkin.x == 0)
+ hipSkin = cvPoint(x,y);
+ else if(kneeSkin.x == 0)
+ kneeSkin = cvPoint(x,y);
+ else
+ toeSkin = cvPoint(x,y);
+ //printf("x:%d, y:%d\n", x, y);
+ //
+ }
+ break;
+ }
+}
+
Modified: trunk/src/angle/kneeAngleUtil.cpp
==============================================================================
--- trunk/src/angle/kneeAngleUtil.cpp (original)
+++ trunk/src/angle/kneeAngleUtil.cpp Tue Oct 28 18:13:39 2008
@@ -141,7 +141,7 @@
* at knee is called only done one time (because in max flexion, the back is line with the knee and there will be problems knowing knee width
* at foot is called all the time
*/
-int FindWidth(IplImage* img, CvPoint point, bool goRight)
+int findWidth(IplImage* img, CvPoint point, bool goRight)
{
CvMat *srcmat,src_stub;
srcmat = cvGetMat(img,&src_stub);
@@ -222,6 +222,14 @@
return false;
}
+bool pointInside(CvPoint pt, CvPoint upLeft, CvPoint downRight ) {
+ if(
+ pt.x >= upLeft.x && pt.x <= downRight.x &&
+ pt.y >= upLeft.y && pt.y <= downRight.y)
+ return true;
+ return false;
+}
+
double findAngle(CvPoint p1, CvPoint p2, CvPoint pc) //pc is center point
{
CvPoint d1, d2;
@@ -288,3 +296,9 @@
else
return group; //return group found
}
+
+CvPoint pointToZero() {
+ CvPoint point;
+ point.x=0; point.y=0;
+ return point;
+}
Modified: trunk/src/constants.cs
==============================================================================
--- trunk/src/constants.cs (original)
+++ trunk/src/constants.cs Tue Oct 28 18:13:39 2008
@@ -146,9 +146,9 @@
public static string TypeJumpsReactive = Catalog.GetString("Jumps: Reactive");
//strings
- public static string AllJumpsName = Catalog.GetString("All jumps");
- public static string AllRunsName = Catalog.GetString("All runs");
- public static string AllPulsesName = Catalog.GetString("All pulses");
+ public static string AllJumpsName = Catalog.GetString("See all jumps");
+ public static string AllRunsName = Catalog.GetString("See all runs");
+ public static string AllPulsesName = Catalog.GetString("See all pulses");
//fileNames
public static string FileNameLogo = "chronojump_logo.png";
@@ -159,7 +159,7 @@
public static string FileNameVersion = "version.txt";
public static string FileNameZoomFitIcon = "gtk-zoom-fit.png";
- public static string FileNameZoomOutIcon = "gtk-zoom-out.png";
+ //public static string FileNameZoomOutIcon = "gtk-zoom-out.png";
public static string FileNameZoomInIcon = "gtk-zoom-in.png";
public static string FileNameZoomInWithTextIcon = "gtk-zoom-in-with-text.png";
@@ -303,4 +303,7 @@
public enum MessageTypes {
WARNING, INFO, HELP
}
+
+ public static string No = Catalog.GetString("No");
+ public static string Yes = Catalog.GetString("Yes");
}
Modified: trunk/src/exportSession.cs
==============================================================================
--- trunk/src/exportSession.cs (original)
+++ trunk/src/exportSession.cs Tue Oct 28 18:13:39 2008
@@ -181,25 +181,19 @@
printTitles(Catalog.GetString("Persons"));
printJumpers();
- printTitles(Catalog.GetString("Simple jumps"));
- printJumps();
+ printJumps(Catalog.GetString("Simple jumps"));
- printTitles(Catalog.GetString("Reactive jumps") +
+ printJumpsRj(true, Catalog.GetString("Reactive jumps") +
" (" + Catalog.GetString("with subjumps") + ")");
- printJumpsRj(true);
- printTitles(Catalog.GetString("Simple runs"));
- printRuns();
+ printRuns(Catalog.GetString("Simple runs"));
- printTitles(Catalog.GetString("interval runs") +
+ printRunsInterval(true, Catalog.GetString("interval runs") +
" (" + Catalog.GetString("with tracks") + ")");
- printRunsInterval(true);
- printTitles(Catalog.GetString("Reaction times"));
- printReactionTimes();
+ printReactionTimes(Catalog.GetString("Reaction times"));
- printTitles(Catalog.GetString("Pulses"));
- printPulses();
+ printPulses(Catalog.GetString("Pulses"));
printFooter();
}
@@ -221,7 +215,7 @@
Catalog.GetString ("Date") + ":" +
Catalog.GetString ("Comments") );
myData.Add ( mySession.UniqueID + ":" + mySession.Name + ":" +
- mySession.Place + ":" + mySession.DateShort + ":" + mySession.Comments );
+ mySession.Place + ":" + mySession.DateShort + ":" + Util.RemoveNewLine(mySession.Comments) );
writeData(myData);
writeData("VERTICAL-SPACE");
}
@@ -244,14 +238,14 @@
myStr[2] + ":" + myStr[3] + ":" + //sex, dateborn
myStr[4] + ":" + myStr[5] + ":" + //height, weight
myStr[6] + ":" + myStr[7] + ":" + //sportName, speciallityName
- myStr[8] + ":" + myStr[9] //practiceLevel, desc
+ myStr[8] + ":" + Util.RemoveNewLine(myStr[9]) //practiceLevel, desc
);
}
writeData(myData);
writeData("VERTICAL-SPACE");
}
- protected void printJumps()
+ protected void printJumps(string title)
{
int dec=prefsDigitsNumber; //decimals
@@ -262,6 +256,8 @@
weightName += " Kg";
if(myJumps.Length > 0) {
+ printTitles(title);
+
ArrayList myData = new ArrayList(1);
myData.Add( "\n" +
Catalog.GetString("Jumper name") + ":" +
@@ -274,7 +270,7 @@
Catalog.GetString("Height") + ":" +
Catalog.GetString("Initial Speed") + ":" +
Catalog.GetString("Description") + ":" +
- //Catalog.GetString("Angle") + ":" +
+ Catalog.GetString("Angle") + ":" +
Catalog.GetString("Simulated")
);
@@ -299,9 +295,10 @@
Util.TrimDecimals(myWeight, dec) + ":" +
Util.TrimDecimals(Util.GetHeightInCentimeters(myStr[5]), dec) + ":" +
Util.TrimDecimals(Util.GetInitialSpeed(myStr[5], true), dec) + ":" + //true: m/s
- myStr[9] + ":" + //jump.description
- //myStr[10] + ":" + //jump.angle
- myStr[11] //jump.simulated
+ Util.RemoveNewLine(myStr[9]) + ":" + //jump.description
+ Util.TrimDecimals(myStr[10],dec) + ":" + //jump.angle
+ Util.NoYes(myStr[11]) //jump.simulated
+
);
}
writeData(myData);
@@ -309,13 +306,16 @@
}
}
- protected void printJumpsRj(bool showSubjumps)
+ protected void printJumpsRj(bool showSubjumps, string title)
{
int dec=prefsDigitsNumber; //decimals
ArrayList myData = new ArrayList(1);
bool isFirstHeader = true;
+ if(myJumpsRj.Length > 0)
+ printTitles(title);
+
foreach (string jump in myJumpsRj) {
if(showSubjumps) {
@@ -383,9 +383,9 @@
//myStr[8] + ":" + myStr[14] + ":" + //jumpRj.Weight, jumpRj.Jumps
Util.TrimDecimals(myWeight,dec) + ":" + myStr[14] + ":" + //jumpRj.Weight, jumpRj.Jumps
Util.TrimDecimals(myStr[15], dec) + ":" + Util.GetLimitedRounded(myStr[16],dec) + ":" + //jumpRj.Time, jumpRj.Limited
- myStr[9] + ":" + //jumpRj.Description
+ Util.RemoveNewLine(myStr[9]) + ":" + //jumpRj.Description
//myStr[17] + ":" + //jumpRj.Angle
- myStr[18] //simulated
+ Util.NoYes(myStr[18]) //simulated
);
if(showSubjumps) {
@@ -434,11 +434,13 @@
}
}
- protected void printRuns()
+ protected void printRuns(string title)
{
int dec=prefsDigitsNumber; //decimals
if(myRuns.Length > 0) {
+ printTitles(title);
+
ArrayList myData = new ArrayList(1);
myData.Add( "\n" +
Catalog.GetString("Runner name") + ":" +
@@ -458,7 +460,7 @@
myStr[4] + ":" + myStr[5] + ":" + //run.type, run.distance
Util.TrimDecimals(myStr[6], dec) + ":" + //run.time
Util.TrimDecimals(Util.GetSpeed(myStr[5], myStr[6], true), dec) + ":" + //speed in m/s (true)
- myStr[7] + ":" + myStr[8] //description, simulated
+ Util.RemoveNewLine(myStr[7]) + ":" + Util.NoYes(myStr[8]) //description, simulated
);
}
writeData(myData);
@@ -466,13 +468,16 @@
}
}
- protected void printRunsInterval(bool showSubruns)
+ protected void printRunsInterval(bool showSubruns, string title)
{
int dec=prefsDigitsNumber; //decimals
ArrayList myData = new ArrayList(1);
bool isFirstHeader = true;
+ if(myRunsInterval.Length > 0)
+ printTitles(title);
+
foreach (string runString in myRunsInterval) {
if(showSubruns) {
@@ -504,7 +509,7 @@
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
- myStr[10] + ":" + myStr[11] //description, simulated
+ Util.RemoveNewLine(myStr[10]) + ":" + Util.NoYes(myStr[11]) //description, simulated
);
if(showSubruns) {
@@ -550,11 +555,13 @@
}
}
- protected void printReactionTimes()
+ protected void printReactionTimes(string title)
{
int dec=prefsDigitsNumber; //decimals
if(myReactionTimes.Length > 0) {
+ printTitles(title);
+
ArrayList myData = new ArrayList(1);
myData.Add(
Catalog.GetString("Person") + ":" +
@@ -571,7 +578,7 @@
//myStr[2] + ":" + myStr[3] + ":" + //jump.personID, jump.sessionID
//myStr[4] + ":" + //type
Util.TrimDecimals(myStr[5], dec) + ":" + //time
- myStr[6] + ":" + myStr[7] //description, simulated
+ Util.RemoveNewLine(myStr[6]) + ":" + Util.NoYes(myStr[7]) //description, simulated
);
}
writeData(myData);
@@ -581,13 +588,16 @@
//protected void printPulses(bool showSubpulses)
//no need of bool because all the info is in the sub values
- protected void printPulses()
+ protected void printPulses(string title)
{
int dec=prefsDigitsNumber; //decimals
ArrayList myData = new ArrayList(1);
bool isFirstHeader = true;
+ if(myPulses.Length > 0)
+ printTitles(title);
+
foreach (string pulseString in myPulses) {
myData = new ArrayList(1);
@@ -604,7 +614,7 @@
myData.Add (
myStr[0] + ":" + myStr[1] + ":" + //person.name, pulse.uniqueID
myStr[4] + ":" + //type
- myStr[8] + ":" + myStr[9] //description, simulated
+ Util.RemoveNewLine(myStr[8]) + ":" + Util.NoYes(myStr[9]) //description, simulated
);
writeData(myData);
Modified: trunk/src/gui/chronojump.cs
==============================================================================
--- trunk/src/gui/chronojump.cs (original)
+++ trunk/src/gui/chronojump.cs Tue Oct 28 18:13:39 2008
@@ -122,13 +122,12 @@
[Widget] Gtk.Button button_reaction_time_execute;
[Widget] Gtk.Button button_pulse_free;
[Widget] Gtk.Button button_pulse_custom;
- [Widget] Gtk.Button button_pulse_more;
+ //[Widget] Gtk.Button button_pulse_more;
[Widget] Gtk.Button button_last;
[Widget] Gtk.Button button_rj_last;
[Widget] Gtk.Button button_run_last;
[Widget] Gtk.Button button_run_interval_last;
- [Widget] Gtk.Button button_pulse_last;
[Widget] Gtk.MenuItem menuitem_preferences;
[Widget] Gtk.MenuItem menuitem_export_csv;
[Widget] Gtk.MenuItem menuitem_export_xml;
@@ -201,7 +200,8 @@
[Widget] Gtk.Image image_run_interval_delete;
[Widget] Gtk.Image image_reaction_time_delete;
[Widget] Gtk.Image image_pulse_delete;
-
+
+ /*
[Widget] Gtk.Image image_tv_collapse;
[Widget] Gtk.Image image_tv_rj_collapse;
[Widget] Gtk.Image image_tv_run_collapse;
@@ -217,7 +217,15 @@
[Widget] Gtk.Image image_tv_rj_fit;
[Widget] Gtk.Image image_tv_run_interval_fit;
[Widget] Gtk.Image image_pulse_fit;
+ */
+ [Widget] Gtk.Image image_jumps_zoom;
+ [Widget] Gtk.Image image_jumps_rj_zoom;
+ [Widget] Gtk.Image image_runs_zoom;
+ [Widget] Gtk.Image image_runs_interval_zoom;
+ [Widget] Gtk.Image image_reaction_times_zoom;
+ [Widget] Gtk.Image image_pulses_zoom;
+
Random rand;
bool volumeOn;
@@ -255,6 +263,7 @@
private static int prefsDigitsNumber;
private static bool showHeight;
private static bool showInitialSpeed;
+ private static bool showAngle;
private static bool showQIndex;
private static bool showDjIndex;
private static bool simulated;
@@ -498,6 +507,7 @@
//zoom icons, done like this because there's one zoom icon created ad-hoc,
//and is not nice that the other are different for an user theme change
+ /*
pixbuf = new Pixbuf (null, Util.GetImagePath(false) + Constants.FileNameZoomOutIcon);
image_tv_collapse.Pixbuf = pixbuf;
image_tv_rj_collapse.Pixbuf = pixbuf;
@@ -518,6 +528,15 @@
image_tv_rj_fit.Pixbuf = pixbuf;
image_tv_run_interval_fit.Pixbuf = pixbuf;
image_pulse_fit.Pixbuf = pixbuf;
+ */
+
+ pixbuf = new Pixbuf (null, Util.GetImagePath(false) + Constants.FileNameZoomFitIcon);
+ image_jumps_zoom.Pixbuf = pixbuf;
+ image_jumps_rj_zoom.Pixbuf = pixbuf;
+ image_runs_zoom.Pixbuf = pixbuf;
+ image_runs_interval_zoom.Pixbuf = pixbuf;
+ image_reaction_times_zoom.Pixbuf = pixbuf;
+ image_pulses_zoom.Pixbuf = pixbuf;
//menuitems (done differently)
pixbuf = new Pixbuf (null, Util.GetImagePath(false) + "gpm-statistics.png");
@@ -528,7 +547,6 @@
protected bool PulseGTK ()
{
-
if(needUpdateChronopicWin || ! thread.IsAlive) {
fakeChronopicButton.Click();
Log.Write("dying");
@@ -653,6 +671,11 @@
else
showInitialSpeed = false;
+ if ( SqlitePreferences.Select("showAngle") == "True" )
+ showAngle = true;
+ else
+ showAngle = false;
+
//only one of showQIndex or showDjIndex can be true. Also none of them
if ( SqlitePreferences.Select("showQIndex") == "True" )
@@ -890,7 +913,7 @@
private void createTreeView_jumps (Gtk.TreeView tv) {
//myTreeViewJumps is a TreeViewJumps instance
//myTreeViewJumps = new TreeViewJumps( tv, showHeight, showInitialSpeed, showQIndex, showDjIndex, prefsDigitsNumber, metersSecondsPreferred );
- myTreeViewJumps = new TreeViewJumps( tv, showHeight, showInitialSpeed, showQIndex, showDjIndex, prefsDigitsNumber, weightPercentPreferred, metersSecondsPreferred, TreeViewEvent.ExpandStates.MINIMIZED);
+ myTreeViewJumps = new TreeViewJumps( tv, showHeight, showInitialSpeed, showAngle, showQIndex, showDjIndex, prefsDigitsNumber, weightPercentPreferred, metersSecondsPreferred, TreeViewEvent.ExpandStates.MINIMIZED);
//the glade cursor_changed does not work on mono 1.2.5 windows
tv.CursorChanged += on_treeview_jumps_cursor_changed;
@@ -905,6 +928,15 @@
expandOrMinimizeTreeView((TreeViewEvent) myTreeViewJumps, treeview_jumps);
}
+ private void on_button_jumps_zoom_clicked (object o, EventArgs args) {
+ myTreeViewJumps.ExpandState = myTreeViewJumps.ZoomChange(myTreeViewJumps.ExpandState);
+ if(myTreeViewJumps.ExpandState == TreeViewEvent.ExpandStates.MINIMIZED)
+ treeview_jumps.CollapseAll();
+ else
+ treeview_jumps.ExpandAll();
+ }
+
+ /*
private void on_button_tv_collapse_clicked (object o, EventArgs args) {
myTreeViewJumps.ExpandState =
TreeViewEvent.ExpandStates.MINIMIZED;
@@ -916,11 +948,12 @@
TreeViewEvent.ExpandStates.MAXIMIZED;
treeview_jumps.ExpandAll();
}
-
+ */
+
private void treeview_jumps_storeReset() {
myTreeViewJumps.RemoveColumns();
- myTreeViewJumps = new TreeViewJumps( treeview_jumps, showHeight, showInitialSpeed, showQIndex, showDjIndex, prefsDigitsNumber, weightPercentPreferred, metersSecondsPreferred, myTreeViewJumps.ExpandState );
+ myTreeViewJumps = new TreeViewJumps( treeview_jumps, showHeight, showInitialSpeed, showAngle, showQIndex, showDjIndex, prefsDigitsNumber, weightPercentPreferred, metersSecondsPreferred, myTreeViewJumps.ExpandState );
}
private void on_treeview_jumps_cursor_changed (object o, EventArgs args) {
@@ -939,14 +972,14 @@
Menu myMenu = new Menu ();
Gtk.MenuItem myItem;
- myItem = new MenuItem ( Catalog.GetString("Edit this") + " " + myJump.Type + " (" + myJump.PersonName + ")");
+ myItem = new MenuItem ( Catalog.GetString("Edit selected") + " " + myJump.Type + " (" + myJump.PersonName + ")");
myItem.Activated += on_edit_selected_jump_clicked;
myMenu.Attach( myItem, 0, 1, 0, 1 );
Gtk.SeparatorMenuItem mySep = new SeparatorMenuItem();
myMenu.Attach( mySep, 0, 1, 1, 2 );
- myItem = new MenuItem ( Catalog.GetString("Delete this") + " " + myJump.Type + " (" + myJump.PersonName + ")");
+ myItem = new MenuItem ( Catalog.GetString("Delete selected") + " " + myJump.Type + " (" + myJump.PersonName + ")");
myItem.Activated += on_delete_selected_jump_clicked;
myMenu.Attach( myItem, 0, 1, 2, 3 );
@@ -975,6 +1008,18 @@
}
+ private void on_button_jumps_rj_zoom_clicked (object o, EventArgs args) {
+ myTreeViewJumpsRj.ExpandState = myTreeViewJumpsRj.ZoomChange(myTreeViewJumpsRj.ExpandState);
+ if(myTreeViewJumpsRj.ExpandState == TreeViewEvent.ExpandStates.MINIMIZED)
+ treeview_jumps_rj.CollapseAll();
+ else if(myTreeViewJumpsRj.ExpandState == TreeViewEvent.ExpandStates.OPTIMAL) {
+ treeview_jumps_rj.CollapseAll();
+ myTreeViewJumpsRj.ExpandOptimal();
+ } else
+ treeview_jumps_rj.ExpandAll();
+ }
+
+ /*
private void on_button_tv_rj_collapse_clicked (object o, EventArgs args) {
myTreeViewJumpsRj.ExpandState =
TreeViewEvent.ExpandStates.MINIMIZED;
@@ -993,7 +1038,8 @@
TreeViewEvent.ExpandStates.MAXIMIZED;
treeview_jumps_rj.ExpandAll();
}
-
+ */
+
private void treeview_jumps_rj_storeReset() {
myTreeViewJumpsRj.RemoveColumns();
myTreeViewJumpsRj = new TreeViewJumpsRj( treeview_jumps_rj, showHeight, showInitialSpeed, showQIndex, showDjIndex, prefsDigitsNumber, weightPercentPreferred, metersSecondsPreferred, myTreeViewJumpsRj.ExpandState );
@@ -1005,6 +1051,9 @@
if (myTreeViewJumpsRj.EventSelectedID == 0) {
myTreeViewJumpsRj.Unselect();
showHideActionEventButtons(false, "JumpRj");
+ } else if (myTreeViewJumpsRj.EventSelectedID == -1) {
+ myTreeViewJumpsRj.SelectHeaderLine();
+ showHideActionEventButtons(true, "JumpRj");
} else {
showHideActionEventButtons(true, "JumpRj");
}
@@ -1014,18 +1063,18 @@
Menu myMenu = new Menu ();
Gtk.MenuItem myItem;
- myItem = new MenuItem ( Catalog.GetString("Edit this") + " " + myJump.Type + " (" + myJump.PersonName + ")");
+ myItem = new MenuItem ( Catalog.GetString("Edit selected") + " " + myJump.Type + " (" + myJump.PersonName + ")");
myItem.Activated += on_edit_selected_jump_rj_clicked;
myMenu.Attach( myItem, 0, 1, 0, 1 );
- myItem = new MenuItem ( Catalog.GetString("Repair this") + " " + myJump.Type + " (" + myJump.PersonName + ")");
+ myItem = new MenuItem ( Catalog.GetString("Repair selected") + " " + myJump.Type + " (" + myJump.PersonName + ")");
myItem.Activated += on_repair_selected_reactive_jump_clicked;
myMenu.Attach( myItem, 0, 1, 1, 2 );
Gtk.SeparatorMenuItem mySep = new SeparatorMenuItem();
myMenu.Attach( mySep, 0, 1, 2, 3 );
- myItem = new MenuItem ( Catalog.GetString("Delete this") + " " + myJump.Type + " (" + myJump.PersonName + ")");
+ myItem = new MenuItem ( Catalog.GetString("Delete selected") + " " + myJump.Type + " (" + myJump.PersonName + ")");
myItem.Activated += on_delete_selected_jump_rj_clicked;
myMenu.Attach( myItem, 0, 1, 3, 4 );
@@ -1054,6 +1103,15 @@
}
+ private void on_button_runs_zoom_clicked (object o, EventArgs args) {
+ myTreeViewRuns.ExpandState = myTreeViewRuns.ZoomChange(myTreeViewRuns.ExpandState);
+ if(myTreeViewRuns.ExpandState == TreeViewEvent.ExpandStates.MINIMIZED)
+ treeview_runs.CollapseAll();
+ else
+ treeview_runs.ExpandAll();
+ }
+
+ /*
private void on_button_tv_run_collapse_clicked (object o, EventArgs args) {
myTreeViewRuns.ExpandState =
TreeViewEvent.ExpandStates.MINIMIZED;
@@ -1065,6 +1123,7 @@
TreeViewEvent.ExpandStates.MAXIMIZED;
treeview_runs.ExpandAll();
}
+ */
private void treeview_runs_storeReset() {
myTreeViewRuns.RemoveColumns();
@@ -1086,14 +1145,14 @@
Menu myMenu = new Menu ();
Gtk.MenuItem myItem;
- myItem = new MenuItem ( Catalog.GetString("Edit this") + " " + myRun.Type + " (" + myRun.PersonName + ")");
+ myItem = new MenuItem ( Catalog.GetString("Edit selected") + " " + myRun.Type + " (" + myRun.PersonName + ")");
myItem.Activated += on_edit_selected_run_clicked;
myMenu.Attach( myItem, 0, 1, 0, 1 );
Gtk.SeparatorMenuItem mySep = new SeparatorMenuItem();
myMenu.Attach( mySep, 0, 1, 1, 2 );
- myItem = new MenuItem ( Catalog.GetString("Delete this") + " " + myRun.Type + " (" + myRun.PersonName + ")");
+ myItem = new MenuItem ( Catalog.GetString("Delete selected") + " " + myRun.Type + " (" + myRun.PersonName + ")");
myItem.Activated += on_delete_selected_run_clicked;
myMenu.Attach( myItem, 0, 1, 2, 3 );
@@ -1120,6 +1179,18 @@
expandOrMinimizeTreeView((TreeViewEvent) myTreeViewRunsInterval, treeview_runs_interval);
}
+ private void on_button_runs_interval_zoom_clicked (object o, EventArgs args) {
+ myTreeViewRunsInterval.ExpandState = myTreeViewRunsInterval.ZoomChange(myTreeViewRunsInterval.ExpandState);
+ if(myTreeViewRunsInterval.ExpandState == TreeViewEvent.ExpandStates.MINIMIZED)
+ treeview_runs_interval.CollapseAll();
+ else if(myTreeViewRunsInterval.ExpandState == TreeViewEvent.ExpandStates.OPTIMAL) {
+ treeview_runs_interval.CollapseAll();
+ myTreeViewRunsInterval.ExpandOptimal();
+ } else
+ treeview_runs_interval.ExpandAll();
+ }
+
+ /*
private void on_button_tv_run_interval_collapse_clicked (object o, EventArgs args) {
myTreeViewRunsInterval.ExpandState =
TreeViewEvent.ExpandStates.MINIMIZED;
@@ -1138,7 +1209,8 @@
TreeViewEvent.ExpandStates.MAXIMIZED;
treeview_runs_interval.ExpandAll();
}
-
+ */
+
private void treeview_runs_interval_storeReset() {
myTreeViewRunsInterval.RemoveColumns();
myTreeViewRunsInterval = new TreeViewRunsInterval( treeview_runs_interval,
@@ -1151,6 +1223,9 @@
if (myTreeViewRunsInterval.EventSelectedID == 0) {
myTreeViewRunsInterval.Unselect();
showHideActionEventButtons(false, "RunInterval");
+ } else if (myTreeViewRunsInterval.EventSelectedID == -1) {
+ myTreeViewRunsInterval.SelectHeaderLine();
+ showHideActionEventButtons(true, "RunInterval");
} else {
showHideActionEventButtons(true, "RunInterval");
}
@@ -1160,18 +1235,18 @@
Menu myMenu = new Menu ();
Gtk.MenuItem myItem;
- myItem = new MenuItem ( Catalog.GetString("Edit this") + " " + myRun.Type + " (" + myRun.PersonName + ")");
+ myItem = new MenuItem ( Catalog.GetString("Edit selected") + " " + myRun.Type + " (" + myRun.PersonName + ")");
myItem.Activated += on_edit_selected_run_interval_clicked;
myMenu.Attach( myItem, 0, 1, 0, 1 );
- myItem = new MenuItem ( Catalog.GetString("Repair this") + " " + myRun.Type + " (" + myRun.PersonName + ")");
+ myItem = new MenuItem ( Catalog.GetString("Repair selected") + " " + myRun.Type + " (" + myRun.PersonName + ")");
myItem.Activated += on_repair_selected_run_interval_clicked;
myMenu.Attach( myItem, 0, 1, 1, 2 );
Gtk.SeparatorMenuItem mySep = new SeparatorMenuItem();
myMenu.Attach( mySep, 0, 1, 2, 3 );
- myItem = new MenuItem ( Catalog.GetString("Delete this") + " " + myRun.Type + " (" + myRun.PersonName + ")");
+ myItem = new MenuItem ( Catalog.GetString("Delete selected") + " " + myRun.Type + " (" + myRun.PersonName + ")");
myItem.Activated += on_delete_selected_run_interval_clicked;
myMenu.Attach( myItem, 0, 1, 3, 4 );
@@ -1199,6 +1274,16 @@
expandOrMinimizeTreeView((TreeViewEvent) myTreeViewReactionTimes, treeview_reaction_times);
}
+ private void on_button_reaction_times_zoom_clicked (object o, EventArgs args) {
+ myTreeViewReactionTimes.ExpandState = myTreeViewReactionTimes.ZoomChange(
+ myTreeViewReactionTimes.ExpandState);
+ if(myTreeViewReactionTimes.ExpandState == TreeViewEvent.ExpandStates.MINIMIZED)
+ treeview_reaction_times.CollapseAll();
+ else
+ treeview_reaction_times.ExpandAll();
+ }
+
+ /*
private void on_button_reaction_time_collapse_clicked (object o, EventArgs args) {
myTreeViewReactionTimes.ExpandState =
TreeViewEvent.ExpandStates.MINIMIZED;
@@ -1210,7 +1295,8 @@
TreeViewEvent.ExpandStates.MAXIMIZED;
treeview_reaction_times.ExpandAll();
}
-
+ */
+
private void treeview_reaction_times_storeReset() {
myTreeViewReactionTimes.RemoveColumns();
myTreeViewReactionTimes = new TreeViewReactionTimes( treeview_reaction_times, prefsDigitsNumber, myTreeViewReactionTimes.ExpandState );
@@ -1231,14 +1317,14 @@
Menu myMenu = new Menu ();
Gtk.MenuItem myItem;
- myItem = new MenuItem ( Catalog.GetString("Edit this") + " " + myRt.Type + " (" + myRt.PersonName + ")");
+ myItem = new MenuItem ( Catalog.GetString("Edit selected") + " " + myRt.Type + " (" + myRt.PersonName + ")");
myItem.Activated += on_edit_selected_reaction_time_clicked;
myMenu.Attach( myItem, 0, 1, 0, 1 );
Gtk.SeparatorMenuItem mySep = new SeparatorMenuItem();
myMenu.Attach( mySep, 0, 1, 1, 2 );
- myItem = new MenuItem ( Catalog.GetString("Delete this") + " " + myRt.Type + " (" + myRt.PersonName + ")");
+ myItem = new MenuItem ( Catalog.GetString("Delete selected") + " " + myRt.Type + " (" + myRt.PersonName + ")");
myItem.Activated += on_delete_selected_reaction_time_clicked;
myMenu.Attach( myItem, 0, 1, 2, 3 );
@@ -1265,6 +1351,18 @@
expandOrMinimizeTreeView((TreeViewEvent) myTreeViewPulses, treeview_pulses);
}
+ private void on_button_pulses_zoom_clicked (object o, EventArgs args) {
+ myTreeViewPulses.ExpandState = myTreeViewPulses.ZoomChange(myTreeViewPulses.ExpandState);
+ if(myTreeViewPulses.ExpandState == TreeViewEvent.ExpandStates.MINIMIZED)
+ treeview_pulses.CollapseAll();
+ else if(myTreeViewPulses.ExpandState == TreeViewEvent.ExpandStates.OPTIMAL) {
+ treeview_pulses.CollapseAll();
+ myTreeViewPulses.ExpandOptimal();
+ } else
+ treeview_pulses.ExpandAll();
+ }
+
+ /*
private void on_button_pulse_collapse_clicked (object o, EventArgs args) {
myTreeViewPulses.ExpandState =
TreeViewEvent.ExpandStates.MINIMIZED;
@@ -1283,7 +1381,8 @@
TreeViewEvent.ExpandStates.MAXIMIZED;
treeview_pulses.ExpandAll();
}
-
+ */
+
private void treeview_pulses_storeReset() {
myTreeViewPulses.RemoveColumns();
myTreeViewPulses = new TreeViewPulses( treeview_pulses, prefsDigitsNumber, myTreeViewPulses.ExpandState );
@@ -1295,6 +1394,9 @@
if (myTreeViewPulses.EventSelectedID == 0) {
myTreeViewPulses.Unselect();
showHideActionEventButtons(false, "Pulse");
+ } else if (myTreeViewPulses.EventSelectedID == -1) {
+ myTreeViewPulses.SelectHeaderLine();
+ showHideActionEventButtons(true, "Pulse");
} else {
showHideActionEventButtons(true, "Pulse");
}
@@ -1304,18 +1406,18 @@
Menu myMenu = new Menu ();
Gtk.MenuItem myItem;
- myItem = new MenuItem ( Catalog.GetString("Edit this") + " " + myPulse.Type + " (" + myPulse.PersonName + ")");
+ myItem = new MenuItem ( Catalog.GetString("Edit selected") + " " + myPulse.Type + " (" + myPulse.PersonName + ")");
myItem.Activated += on_edit_selected_pulse_clicked;
myMenu.Attach( myItem, 0, 1, 0, 1 );
- myItem = new MenuItem ( Catalog.GetString("Repair this") + " " + myPulse.Type + " (" + myPulse.PersonName + ")");
+ myItem = new MenuItem ( Catalog.GetString("Repair selected") + " " + myPulse.Type + " (" + myPulse.PersonName + ")");
myItem.Activated += on_repair_selected_pulse_clicked;
myMenu.Attach( myItem, 0, 1, 1, 2 );
Gtk.SeparatorMenuItem mySep = new SeparatorMenuItem();
myMenu.Attach( mySep, 0, 1, 2, 3 );
- myItem = new MenuItem ( Catalog.GetString("Delete this") + " " + myPulse.Type + " (" + myPulse.PersonName + ")");
+ myItem = new MenuItem ( Catalog.GetString("Delete selected") + " " + myPulse.Type + " (" + myPulse.PersonName + ")");
myItem.Activated += on_delete_selected_pulse_clicked;
myMenu.Attach( myItem, 0, 1, 3, 4 );
@@ -1392,7 +1494,7 @@
}
private void on_combo_jumps_changed(object o, EventArgs args) {
- combo_jumps.Changed -= new EventHandler (on_combo_jumps_changed);
+ //combo_jumps.Changed -= new EventHandler (on_combo_jumps_changed);
ComboBox combo = o as ComboBox;
if (o == null)
@@ -1404,7 +1506,7 @@
}
private void on_combo_jumps_rj_changed(object o, EventArgs args) {
- combo_jumps_rj.Changed -= new EventHandler (on_combo_jumps_rj_changed);
+ //combo_jumps_rj.Changed -= new EventHandler (on_combo_jumps_rj_changed);
ComboBox combo = o as ComboBox;
if (o == null)
@@ -1416,7 +1518,7 @@
}
private void on_combo_runs_changed(object o, EventArgs args) {
- combo_runs.Changed -= new EventHandler (on_combo_runs_changed);
+ //combo_runs.Changed -= new EventHandler (on_combo_runs_changed);
ComboBox combo = o as ComboBox;
if (o == null)
@@ -1428,7 +1530,7 @@
}
private void on_combo_runs_interval_changed(object o, EventArgs args) {
- combo_runs_interval.Changed -= new EventHandler (on_combo_runs_interval_changed);
+ //combo_runs_interval.Changed -= new EventHandler (on_combo_runs_interval_changed);
ComboBox combo = o as ComboBox;
if (o == null)
@@ -1442,7 +1544,7 @@
//no need of reationTimes
private void on_combo_pulses_changed(object o, EventArgs args) {
- combo_pulses.Changed -= new EventHandler (on_combo_pulses_changed);
+ //combo_pulses.Changed -= new EventHandler (on_combo_pulses_changed);
ComboBox combo = o as ComboBox;
if (o == null)
@@ -1982,7 +2084,7 @@
private void on_preferences_activate (object o, EventArgs args) {
PreferencesWindow myWin = PreferencesWindow.Show(
- chronopicPort, prefsDigitsNumber, showHeight, showInitialSpeed, showQIndex, showDjIndex,
+ chronopicPort, prefsDigitsNumber, showHeight, showInitialSpeed, showAngle, showQIndex, showDjIndex,
askDeletion, weightPercentPreferred, heightPreferred, metersSecondsPreferred,
//System.Threading.Thread.CurrentThread.CurrentUICulture.ToString(),
SqlitePreferences.Select("language"),
@@ -2024,12 +2126,16 @@
showHeight = false;
- //update showInitialSpeed
if ( SqlitePreferences.Select("showInitialSpeed") == "True" )
showInitialSpeed = true;
else
showInitialSpeed = false;
+ if ( SqlitePreferences.Select("showAngle") == "True" )
+ showAngle = true;
+ else
+ showAngle = false;
+
//update showQIndex or showDjIndex
if ( SqlitePreferences.Select("showQIndex") == "True" )
@@ -3208,14 +3314,11 @@
* --------------------------------------------------------
*/
+ /*
private void on_button_pulse_more_clicked (object o, EventArgs args)
{
- appbar2.Push ( 1, "pulse more (NOT IMPLEMENTED YET)");
- /*
- runsIntervalMoreWin = RunsIntervalMoreWindow.Show(app1);
- runsIntervalMoreWin.Button_accept.Clicked += new EventHandler(on_more_runs_interval_accepted);
- */
}
+ */
private void on_more_pulse_accepted (object o, EventArgs args)
{
@@ -3240,14 +3343,12 @@
}
*/
}
-
+
+ /*
private void on_button_pulse_last_clicked (object o, EventArgs args)
{
- appbar2.Push ( 1, "pulse last (NOT IMPLEMENTED YET)");
- /*
- on_run_interval_activate(o, args);
- */
}
+ */
private void on_button_pulse_free_activate (object o, EventArgs args)
{
@@ -3411,7 +3512,9 @@
* ---------------- EVENTS EDIT ---------------------------
* --------------------------------------------------------
*/
-
+
+ int eventOldPerson;
+
private void on_edit_selected_jump_clicked (object o, EventArgs args) {
notebook_change(0);
Log.WriteLine("Edit selected jump (normal)");
@@ -3420,6 +3523,7 @@
if (myTreeViewJumps.EventSelectedID > 0) {
//3.- obtain the data of the selected jump
Jump myJump = SqliteJump.SelectJumpData( myTreeViewJumps.EventSelectedID );
+ eventOldPerson = myJump.PersonID;
//4.- edit this jump
editJumpWin = EditJumpWindow.Show(app1, myJump, weightPercentPreferred, prefsDigitsNumber);
@@ -3435,6 +3539,7 @@
if (myTreeViewJumpsRj.EventSelectedID > 0) {
//3.- obtain the data of the selected jump
JumpRj myJump = SqliteJumpRj.SelectJumpData( "jumpRj", myTreeViewJumpsRj.EventSelectedID );
+ eventOldPerson = myJump.PersonID;
//4.- edit this jump
editJumpRjWin = EditJumpRjWindow.Show(app1, myJump, weightPercentPreferred, prefsDigitsNumber);
@@ -3444,24 +3549,46 @@
private void on_edit_selected_jump_accepted (object o, EventArgs args) {
Log.WriteLine("edit selected jump accepted");
-
- treeview_jumps_storeReset();
- fillTreeView_jumps(UtilGtk.ComboGetActive(combo_jumps));
- if(createdStatsWin) {
- statsWin.FillTreeView_stats(false, false);
+ Jump myJump = SqliteJump.SelectJumpData( myTreeViewJumps.EventSelectedID );
+
+ //if person changed, fill treeview again, if not, only update it's line
+ if(eventOldPerson == myJump.PersonID) {
+ if(! weightPercentPreferred) {
+ double personWeight = SqlitePersonSession.SelectPersonWeight(myJump.PersonID, currentSession.UniqueID);
+ myJump.Weight = Util.WeightFromPercentToKg(myJump.Weight, personWeight);
+ }
+ myTreeViewJumps.Update(myJump);
+ }
+ else {
+ treeview_jumps_storeReset();
+ fillTreeView_jumps(UtilGtk.ComboGetActive(combo_jumps));
}
+
+ if(createdStatsWin)
+ statsWin.FillTreeView_stats(false, false);
}
private void on_edit_selected_jump_rj_accepted (object o, EventArgs args) {
Log.WriteLine("edit selected jump RJ accepted");
+
+ JumpRj myJump = SqliteJumpRj.SelectJumpData( "jumpRj", myTreeViewJumpsRj.EventSelectedID );
- treeview_jumps_rj_storeReset();
- fillTreeView_jumps_rj(UtilGtk.ComboGetActive(combo_jumps_rj));
-
- if(createdStatsWin) {
- statsWin.FillTreeView_stats(false, false);
+ //if person changed, fill treeview again, if not, only update it's line
+ if(eventOldPerson == myJump.PersonID) {
+ if(! weightPercentPreferred) {
+ double personWeight = SqlitePersonSession.SelectPersonWeight(myJump.PersonID, currentSession.UniqueID);
+ myJump.Weight = Util.WeightFromPercentToKg(myJump.Weight, personWeight);
+ }
+ myTreeViewJumpsRj.Update(myJump);
}
+ else {
+ treeview_jumps_rj_storeReset();
+ fillTreeView_jumps_rj(UtilGtk.ComboGetActive(combo_jumps_rj));
+ }
+
+ if(createdStatsWin)
+ statsWin.FillTreeView_stats(false, false);
}
private void on_edit_selected_run_clicked (object o, EventArgs args) {
@@ -3473,7 +3600,7 @@
//3.- obtain the data of the selected run
Run myRun = SqliteRun.SelectRunData( myTreeViewRuns.EventSelectedID );
myRun.MetersSecondsPreferred = metersSecondsPreferred;
- Log.WriteLine(myRun.ToString());
+ eventOldPerson = myRun.PersonID;
//4.- edit this run
editRunWin = EditRunWindow.Show(app1, myRun, prefsDigitsNumber, metersSecondsPreferred);
@@ -3489,7 +3616,7 @@
if (myTreeViewRunsInterval.EventSelectedID > 0) {
//3.- obtain the data of the selected run
RunInterval myRun = SqliteRunInterval.SelectRunData( "runInterval", myTreeViewRunsInterval.EventSelectedID );
- Log.WriteLine(myRun.ToString());
+ eventOldPerson = myRun.PersonID;
//4.- edit this run
editRunIntervalWin = EditRunIntervalWindow.Show(app1, myRun, prefsDigitsNumber, metersSecondsPreferred);
@@ -3500,23 +3627,35 @@
private void on_edit_selected_run_accepted (object o, EventArgs args) {
Log.WriteLine("edit selected run accepted");
- treeview_runs_storeReset();
- fillTreeView_runs(UtilGtk.ComboGetActive(combo_runs));
+ Run myRun = SqliteRun.SelectRunData( myTreeViewRuns.EventSelectedID );
- if(createdStatsWin) {
- statsWin.FillTreeView_stats(false, false);
+ //if person changed, fill treeview again, if not, only update it's line
+ if(eventOldPerson == myRun.PersonID)
+ myTreeViewRuns.Update(myRun);
+ else {
+ treeview_runs_storeReset();
+ fillTreeView_runs(UtilGtk.ComboGetActive(combo_runs));
}
+
+ if(createdStatsWin)
+ statsWin.FillTreeView_stats(false, false);
}
private void on_edit_selected_run_interval_accepted (object o, EventArgs args) {
Log.WriteLine("edit selected run interval accepted");
- treeview_runs_interval_storeReset();
- fillTreeView_runs_interval(UtilGtk.ComboGetActive(combo_runs_interval));
+ RunInterval myRun = SqliteRunInterval.SelectRunData( "runInterval", myTreeViewRunsInterval.EventSelectedID );
+
+ //if person changed, fill treeview again, if not, only update it's line
+ if(eventOldPerson == myRun.PersonID)
+ myTreeViewRunsInterval.Update(myRun);
+ else {
+ treeview_runs_interval_storeReset();
+ fillTreeView_runs_interval(UtilGtk.ComboGetActive(combo_runs_interval));
+ }
- if(createdStatsWin) {
+ if(createdStatsWin)
statsWin.FillTreeView_stats(false, false);
- }
}
private void on_edit_selected_reaction_time_clicked (object o, EventArgs args) {
@@ -3527,6 +3666,7 @@
if (myTreeViewReactionTimes.EventSelectedID > 0) {
//3.- obtain the data of the selected event
ReactionTime myRT = SqliteReactionTime.SelectReactionTimeData( myTreeViewReactionTimes.EventSelectedID );
+ eventOldPerson = myRT.PersonID;
//4.- edit this event
editReactionTimeWin = EditReactionTimeWindow.Show(app1, myRT, prefsDigitsNumber);
@@ -3537,8 +3677,15 @@
private void on_edit_selected_reaction_time_accepted (object o, EventArgs args) {
Log.WriteLine("edit selected reaction time accepted");
- treeview_reaction_times_storeReset();
- fillTreeView_reaction_times();
+ ReactionTime myRT = SqliteReactionTime.SelectReactionTimeData( myTreeViewReactionTimes.EventSelectedID );
+
+ //if person changed, fill treeview again, if not, only update it's line
+ if(eventOldPerson == myRT.PersonID)
+ myTreeViewReactionTimes.Update(myRT);
+ else {
+ treeview_reaction_times_storeReset();
+ fillTreeView_reaction_times();
+ }
//if(createdStatsWin) {
// statsWin.FillTreeView_stats(false, false);
@@ -3553,6 +3700,7 @@
if (myTreeViewPulses.EventSelectedID > 0) {
//3.- obtain the data of the selected event
Pulse myPulse = SqlitePulse.SelectPulseData( myTreeViewPulses.EventSelectedID );
+ eventOldPerson = myPulse.PersonID;
//4.- edit this event
editPulseWin = EditPulseWindow.Show(app1, myPulse, prefsDigitsNumber);
@@ -3563,8 +3711,15 @@
private void on_edit_selected_pulse_accepted (object o, EventArgs args) {
Log.WriteLine("edit selected pulse accepted");
- treeview_pulses_storeReset();
- fillTreeView_pulses(UtilGtk.ComboGetActive(combo_pulses));
+ Pulse myPulse = SqlitePulse.SelectPulseData( myTreeViewPulses.EventSelectedID );
+
+ //if person changed, fill treeview again, if not, only update it's line
+ if(eventOldPerson == myPulse.PersonID)
+ myTreeViewPulses.Update(myPulse);
+ else {
+ treeview_pulses_storeReset();
+ fillTreeView_pulses(UtilGtk.ComboGetActive(combo_pulses));
+ }
//if(createdStatsWin) {
// statsWin.FillTreeView_stats(false, false);
@@ -3718,7 +3873,7 @@
if (myTreeViewReactionTimes.EventSelectedID > 0) {
//3.- display confirmwindow of deletion
if (askDeletion) {
- confirmWinJumpRun = ConfirmWindowJumpRun.Show("Do you want to delete selected event?",
+ confirmWinJumpRun = ConfirmWindowJumpRun.Show("Do you want to delete selected test?",
"", "reactiontime", myTreeViewReactionTimes.EventSelectedID);
confirmWinJumpRun.Button_accept.Clicked += new EventHandler(on_delete_selected_reaction_time_accepted);
} else {
@@ -3753,7 +3908,7 @@
if (myTreeViewPulses.EventSelectedID > 0) {
//3.- display confirmwindow of deletion
if (askDeletion) {
- confirmWinJumpRun = ConfirmWindowJumpRun.Show("Do you want to delete selected event?",
+ confirmWinJumpRun = ConfirmWindowJumpRun.Show("Do you want to delete selected test?",
"", "pulses", myTreeViewPulses.EventSelectedID);
confirmWinJumpRun.Button_accept.Clicked += new EventHandler(on_delete_selected_pulse_accepted);
} else {
@@ -3779,150 +3934,6 @@
}
- /*
- private void on_last_delete (object o, EventArgs args) {
- Log.WriteLine("delete last event");
-
- string warningString = "";
- switch (lastEventType.Type) {
- case EventType.Types.JUMP:
- if (askDeletion) {
- int myID = myTreeViewJumps.EventSelectedID;
- if(lastJumpIsReactive) {
- notebook_change(1);
- warningString = Catalog.GetString("Attention: Deleting a Reactive subjump will delete the whole jump");
- myID = myTreeViewJumpsRj.EventSelectedID;
- } else {
- notebook_change(0);
- }
-
- confirmWinJumpRun = ConfirmWindowJumpRun.Show(
- Catalog.GetString("Do you want to delete last jump?"),
- warningString, "jump", myID);
- confirmWinJumpRun.Button_accept.Clicked += new EventHandler(on_last_jump_delete_accepted);
- } else {
- on_last_jump_delete_accepted(o, args);
- }
- break;
- case EventType.Types.RUN:
- if (askDeletion) {
- int myID = myTreeViewRuns.EventSelectedID;
- if (lastRunIsInterval) {
- notebook_change(3);
- warningString = Catalog.GetString("Attention: Deleting a intervalic sub-run will delete the whole run");
- myID = myTreeViewRunsInterval.EventSelectedID;
- } else {
- notebook_change(2);
- }
-
- confirmWinJumpRun = ConfirmWindowJumpRun.Show(
- Catalog.GetString("Do you want to delete last run?"),
- warningString, "run", myID);
- confirmWinJumpRun.Button_accept.Clicked += new EventHandler(on_last_run_delete_accepted);
- } else {
- on_last_run_delete_accepted(o, args);
- }
- break;
- case EventType.Types.REACTIONTIME:
- if (askDeletion) {
- int myID = myTreeViewReactionTimes.EventSelectedID;
- notebook_change(4);
- confirmWinJumpRun = ConfirmWindowJumpRun.Show(
- Catalog.GetString("Do you want to delete last reaction time?"),
- warningString, "reaction time", myID);
- confirmWinJumpRun.Button_accept.Clicked += new EventHandler(on_last_reaction_time_delete_accepted);
- } else {
- on_last_reaction_time_delete_accepted(o, args);
- }
- break;
- case EventType.Types.PULSE:
- if (askDeletion) {
- int myID = myTreeViewPulses.EventSelectedID;
- notebook_change(5);
- confirmWinJumpRun = ConfirmWindowJumpRun.Show(
- Catalog.GetString("Do you want to delete last pulse?"),
- warningString, "pulse", myID);
- confirmWinJumpRun.Button_accept.Clicked += new EventHandler(on_last_pulse_delete_accepted);
- } else {
- on_last_pulse_delete_accepted(o, args);
- }
- break;
- default:
- Log.WriteLine("on_last_delete default");
- break;
-
- }
- }
-
- private void on_last_jump_delete_accepted (object o, EventArgs args) {
- if(lastJumpIsReactive) {
- SqliteJump.Delete("jumpRj", currentJumpRj.UniqueID.ToString());
- myTreeViewJumpsRj.DelEvent(currentJumpRj.UniqueID);
- } else {
- SqliteJump.Delete("jump", currentJump.UniqueID.ToString());
- myTreeViewJumps.DelEvent(currentJump.UniqueID);
- }
-
- button_last_delete.Sensitive = false ;
- appbar2.Push( 1, string.Format(Catalog.GetString("Last {0} deleted"), Catalog.GetString("jump")) );
-
-
- if(createdStatsWin)
- statsWin.FillTreeView_stats(false, false);
- }
-
- private void on_last_run_delete_accepted (object o, EventArgs args) {
- if (lastRunIsInterval) {
- SqliteRun.Delete("runInterval", currentRunInterval.UniqueID.ToString());
- myTreeViewRunsInterval.DelEvent(currentRunInterval.UniqueID);
- } else {
- SqliteRun.Delete("run", currentRun.UniqueID.ToString());
- myTreeViewRuns.DelEvent(currentRun.UniqueID);
- }
-
- button_last_delete.Sensitive = false ;
- appbar2.Push( 1, string.Format(Catalog.GetString("Last {0} deleted"), Catalog.GetString("run")) );
-
- if(createdStatsWin)
- statsWin.FillTreeView_stats(false, false);
- }
-
- private void on_last_reaction_time_delete_accepted (object o, EventArgs args) {
- SqliteReactionTime.Delete(currentReactionTime.UniqueID.ToString());
-
- button_last_delete.Sensitive = false ;
-
- appbar2.Push( 1, Catalog.GetString("Last reaction time deleted") );
-
- myTreeViewReactionTimes.DelEvent(currentReactionTime.UniqueID);
-
-
- button_last_delete.Sensitive = false ;
- appbar2.Push( 1, string.Format(Catalog.GetString("Last {0} deleted"), Catalog.GetString("reaction time")) );
-
- if(createdStatsWin) {
- statsWin.FillTreeView_stats(false, false);
- }
- }
-
- private void on_last_pulse_delete_accepted (object o, EventArgs args) {
- SqlitePulse.Delete(currentPulse.UniqueID.ToString());
-
- button_last_delete.Sensitive = false ;
-
- appbar2.Push( 1, Catalog.GetString("Last pulse deleted") );
-
- myTreeViewPulses.DelEvent(currentPulse.UniqueID);
-
- button_last_delete.Sensitive = false ;
- appbar2.Push( 1, string.Format(Catalog.GetString("Last {0} deleted"), Catalog.GetString("pulse")) );
-
- if(createdStatsWin) {
- statsWin.FillTreeView_stats(false, false);
- }
- }
- */
-
/* ---------------------------------------------------------
* ---------------- EVENTS TYPE ADD -----------------------
@@ -4082,7 +4093,7 @@
private void on_menuitem_manual_activate (object o, EventArgs args) {
new DialogMessage(Constants.MessageTypes.HELP,
Catalog.GetString("There's a copy of Chronojump Manual at:") + "\n" +
- "<i>" + Path.GetFullPath(Util.GetManualDir()) + "</i>\n" +
+ "<i>" + Path.GetFullPath(Util.GetManualDir()) + "</i>\n\n" +
Catalog.GetString("Newer versions will be on this site:") +"\n" +
"<i>http://gnome.org/projects/chronojump/documents.html</i>");
}
@@ -4166,7 +4177,7 @@
button_rj_last.Sensitive=false;
button_run_last.Sensitive=false;
button_run_interval_last.Sensitive=false;
- button_pulse_last.Sensitive=false;
+ //button_pulse_last.Sensitive=false;
// button_last_delete.Sensitive = false;
}
@@ -4287,7 +4298,7 @@
break;
case EventType.Types.PULSE:
Log.WriteLine("sensitiveGuiEventDone pulse");
- button_pulse_last.Sensitive = true;
+ //button_pulse_last.Sensitive = true;
break;
default:
Log.WriteLine("sensitiveGuiEventDone default");
@@ -4357,10 +4368,14 @@
* voluntary crash for testing purposes
*/
- private void on_menuitem_debug_crash_activate (object o, EventArgs args) {
- errorWin = ErrorWindow.Show(Catalog.GetString("Done for testing purposes. Chronojump will crash now"));
- errorWin.Button_accept.Clicked += new EventHandler(crashing);
+ private void on_debug_crash_activate (object o, EventArgs args) {
+ //errorWin = ErrorWindow.Show(Catalog.GetString("Done for testing purposes. Chronojump will crash now"));
+ //errorWin.Button_accept.Clicked += new EventHandler(crashing);
+
+ ConfirmWindow confirmWin = ConfirmWindow.Show(Catalog.GetString("Done for testing purposes. Chronojump will exit badly"), "Are you sure you want to crash application?");
+ confirmWin.Button_accept.Clicked += new EventHandler(crashing);
}
+
private void crashing (object o, EventArgs args) {
string [] myString = new String [3];
Console.WriteLine(myString[5]);
Modified: trunk/src/gui/event.cs
==============================================================================
--- trunk/src/gui/event.cs (original)
+++ trunk/src/gui/event.cs Tue Oct 28 18:13:39 2008
@@ -36,6 +36,7 @@
public class EditEventWindow
{
[Widget] protected Gtk.Window edit_event;
+ protected bool weightPercentPreferred;
[Widget] protected Gtk.Button button_accept;
[Widget] protected Gtk.Label label_header;
[Widget] protected Gtk.Label label_type_title;
@@ -57,13 +58,17 @@
[Widget] protected Gtk.Entry entry_weight_value;
[Widget] protected Gtk.Label label_limited_title;
[Widget] protected Gtk.Label label_limited_value;
+ [Widget] protected Gtk.Label label_angle_title;
+ [Widget] protected Gtk.Entry entry_angle_value;
+ [Widget] protected Gtk.Label label_simulated;
[Widget] protected Gtk.Box hbox_combo_eventType;
[Widget] protected Gtk.ComboBox combo_eventType;
[Widget] protected Gtk.Box hbox_combo_person;
[Widget] protected Gtk.ComboBox combo_persons;
- [Widget] protected Gtk.TextView textview_description;
+ [Widget] protected Gtk.Entry entry_description;
+ //[Widget] protected Gtk.TextView textview_description;
static EditEventWindow EditEventWindowBox;
protected Gtk.Window parent;
@@ -77,6 +82,7 @@
protected string entryTime = "0";
protected string entrySpeed = "0";
protected string entryWeight = "0"; //used to record the % for old person if we change it
+ protected string entryAngle = "0";
protected bool showTv;
protected bool showTc;
@@ -86,6 +92,7 @@
protected bool showSpeed;
protected bool showWeight;
protected bool showLimited;
+ protected bool showAngle;
protected string eventBigTypeString = "a test";
@@ -129,6 +136,9 @@
showSpeed = true;
showWeight = true;
showLimited = true;
+ showAngle = true;
+
+ label_simulated.Hide();
}
protected void fillDialog (Event myEvent)
@@ -137,7 +147,8 @@
string id = myEvent.UniqueID.ToString();
if(myEvent.Simulated == 1)
- id += " <b>" + Catalog.GetString("Simulated") + "</b>";
+ label_simulated.Show();
+
label_event_id_value.Text = id;
label_event_id_value.UseMarkup = true;
@@ -197,9 +208,16 @@
label_limited_value.Hide();
}
- TextBuffer tb = new TextBuffer (new TextTagTable());
- tb.Text = myEvent.Description;
- textview_description.Buffer = tb;
+ if(showAngle)
+ fillAngle(myEvent);
+ else {
+ label_angle_title.Hide();
+ entry_angle_value.Hide();
+ }
+
+ //also remove new line for old descriptions that used a textview
+ string temp = Util.RemoveTildeAndColonAndDot(myEvent.Description);
+ entry_description.Text = Util.RemoveNewLine(temp);
createComboEventType(myEvent);
@@ -241,13 +259,20 @@
}
protected virtual void createSignal() {
- //only for runs
+ /*
+ * for jumps to show or hide the kg
+ * for runs to put distance depending on it it's fixed or not
+ */
}
protected void fillTv(Event myEvent) {
Jump myJump = (Jump) myEvent;
entryTv = myJump.Tv.ToString();
- entry_tv_value.Text = Util.TrimDecimals(entryTv, pDN);
+
+ //show all the decimals for not triming there in edit window using
+ //(and having different values in formulae like GetHeightInCm ...)
+ //entry_tv_value.Text = Util.TrimDecimals(entryTv, pDN);
+ entry_tv_value.Text = entryTv;
}
protected virtual void fillTc (Event myEvent) {
@@ -299,31 +324,39 @@
*/
}
+ protected virtual void fillAngle(Event myEvent) {
+ }
private void on_entry_tv_value_changed (object o, EventArgs args) {
if(Util.IsNumber(entry_tv_value.Text.ToString())){
entryTv = entry_tv_value.Text.ToString();
+ button_accept.Sensitive = true;
} else {
- entry_tv_value.Text = "";
- entry_tv_value.Text = entryTv;
+ button_accept.Sensitive = false;
+ //entry_tv_value.Text = "";
+ //entry_tv_value.Text = entryTv;
}
}
private void on_entry_tc_value_changed (object o, EventArgs args) {
if(Util.IsNumber(entry_tc_value.Text.ToString())){
entryTc = entry_tc_value.Text.ToString();
+ button_accept.Sensitive = true;
} else {
- entry_tc_value.Text = "";
- entry_tc_value.Text = entryTc;
+ button_accept.Sensitive = false;
+ //entry_tc_value.Text = "";
+ //entry_tc_value.Text = entryTc;
}
}
private void on_entry_fall_value_changed (object o, EventArgs args) {
if(Util.IsNumber(entry_fall_value.Text.ToString())){
entryFall = entry_fall_value.Text.ToString();
+ button_accept.Sensitive = true;
} else {
- entry_fall_value.Text = "";
- entry_fall_value.Text = entryFall;
+ button_accept.Sensitive = false;
+ //entry_fall_value.Text = "";
+ //entry_fall_value.Text = entryFall;
}
}
@@ -332,9 +365,11 @@
entryTime = entry_time_value.Text.ToString();
label_speed_value.Text = Util.TrimDecimals(
Util.GetSpeed (entryDistance, entryTime, metersSecondsPreferred) , pDN);
+ button_accept.Sensitive = true;
} else {
- entry_time_value.Text = "";
- entry_time_value.Text = entryTime;
+ button_accept.Sensitive = false;
+ //entry_time_value.Text = "";
+ //entry_time_value.Text = entryTime;
}
}
@@ -343,21 +378,41 @@
entryDistance = entry_distance_value.Text.ToString();
label_speed_value.Text = Util.TrimDecimals(
Util.GetSpeed (entryDistance, entryTime, metersSecondsPreferred) , pDN);
+ button_accept.Sensitive = true;
} else {
- entry_distance_value.Text = "";
- entry_distance_value.Text = entryDistance;
+ button_accept.Sensitive = false;
+ //entry_distance_value.Text = "";
+ //entry_distance_value.Text = entryDistance;
}
}
private void on_entry_weight_value_changed (object o, EventArgs args) {
if(Util.IsNumber(entry_weight_value.Text.ToString())){
entryWeight = entry_weight_value.Text.ToString();
+ button_accept.Sensitive = true;
} else {
- entry_weight_value.Text = "";
- entry_weight_value.Text = entryWeight;
+ button_accept.Sensitive = false;
+ //entry_weight_value.Text = "";
+ //entry_weight_value.Text = entryWeight;
}
}
+ private void on_entry_angle_changed (object o, EventArgs args) {
+ string angleString = entry_angle_value.Text.ToString();
+ if(Util.IsNumber(angleString)) {
+ entryAngle = angleString;
+ button_accept.Sensitive = true;
+ } else if(angleString == "-") {
+ entryAngle = "-1,0";
+ button_accept.Sensitive = true;
+ } else
+ button_accept.Sensitive = false;
+ }
+
+ private void on_entry_description_changed (object o, EventArgs args) {
+ entry_description.Text = Util.RemoveTildeAndColonAndDot(entry_description.Text.ToString());
+ }
+
protected virtual void on_button_cancel_clicked (object o, EventArgs args)
{
EditEventWindowBox.edit_event.Hide();
@@ -377,14 +432,18 @@
void on_button_accept_clicked (object o, EventArgs args)
{
+ Log.WriteLine("a");
int eventID = Convert.ToInt32 ( label_event_id_value.Text );
+ Log.WriteLine("a2");
string myPerson = UtilGtk.ComboGetActive(combo_persons);
string [] myPersonFull = myPerson.Split(new char[] {':'});
- string myDesc = textview_description.Buffer.Text;
+ string myDesc = entry_description.Text;
+ Log.WriteLine("b");
updateEvent(eventID, Convert.ToInt32(myPersonFull[0]), myDesc);
+ Log.WriteLine("c");
hideWindow();
}
Modified: trunk/src/gui/jump.cs
==============================================================================
--- trunk/src/gui/jump.cs (original)
+++ trunk/src/gui/jump.cs Tue Oct 28 18:13:39 2008
@@ -36,7 +36,7 @@
public class EditJumpWindow : EditEventWindow
{
static EditJumpWindow EditJumpWindowBox;
- protected bool weightPercentPreferred;
+// protected bool weightPercentPreferred;
protected double personWeight;
protected int sessionID; //for know weight specific to this session
@@ -89,6 +89,7 @@
showSpeed = false;
showWeight = true;
showLimited = false;
+ showAngle = true;
if(weightPercentPreferred)
label_weight_title.Text = label_weight_title.Text.ToString() + " %";
@@ -115,7 +116,12 @@
if (myJump.TypeHasFall) {
entryTc = myJump.Tc.ToString();
- entry_tc_value.Text = Util.TrimDecimals(entryTc, pDN);
+
+ //show all the decimals for not triming there in edit window using
+ //(and having different values in formulae like GetHeightInCm ...)
+ //entry_tc_value.Text = Util.TrimDecimals(entryTc, pDN);
+ entry_tc_value.Text = entryTc;
+
entryFall = myJump.Fall.ToString();
entry_fall_value.Text = entryFall;
entry_tc_value.Sensitive = true;
@@ -140,6 +146,46 @@
entry_weight_value.Sensitive = false;
}
}
+
+ protected override void fillAngle(Event myEvent) {
+ Jump myJump = (Jump) myEvent;
+
+ //default values are -1.0 or -1 (old int)
+ if(myJump.Angle < 0) {
+ entryAngle = "-1,0";
+ entry_angle_value.Text = "-";
+ } else {
+ entryAngle = myJump.Angle.ToString();
+ entry_angle_value.Text = entryAngle;
+ }
+ }
+
+
+ protected override void createSignal() {
+ //only for jumps & runs
+ combo_eventType.Changed += new EventHandler (on_combo_eventType_changed);
+ }
+
+ string weightOldStore = "0";
+ private void on_combo_eventType_changed (object o, EventArgs args) {
+ //if the distance of the new runType is fixed, put this distance
+ //if not conserve the old
+ JumpType myJumpType = new JumpType (UtilGtk.ComboGetActive(combo_eventType));
+ if(myJumpType.HasWeight) {
+ if(weightOldStore != "0")
+ entry_weight_value.Text = weightOldStore;
+
+ entry_weight_value.Sensitive = true;
+ } else {
+ //store weight in a variable if needed
+ if(entry_weight_value.Text != "0")
+ weightOldStore = entry_weight_value.Text;
+
+ entry_weight_value.Text = "0";
+ entry_weight_value.Sensitive = false;
+ }
+ }
+
protected override void on_button_cancel_clicked (object o, EventArgs args)
{
@@ -162,7 +208,7 @@
//only for jump
double jumpPercentWeightForNewPerson = updateWeight(personID, sessionID);
- SqliteJump.Update(eventID, UtilGtk.ComboGetActive(combo_eventType), entryTv, entryTc, entryFall, personID, jumpPercentWeightForNewPerson, description);
+ SqliteJump.Update(eventID, UtilGtk.ComboGetActive(combo_eventType), entryTv, entryTc, entryFall, personID, jumpPercentWeightForNewPerson, description, Convert.ToDouble(entryAngle));
}
Modified: trunk/src/gui/jumpType.cs
==============================================================================
--- trunk/src/gui/jumpType.cs (original)
+++ trunk/src/gui/jumpType.cs Tue Oct 28 18:13:39 2008
@@ -104,9 +104,9 @@
void on_button_accept_clicked (object o, EventArgs args)
{
- //check if this jump type exists, and check it's name is not "All jumps"
+ //check if this jump type exists, and check it's name is not AllJumpsName
bool jumpTypeExists = Sqlite.Exists (Constants.JumpTypeTable, Util.RemoveTildeAndColonAndDot(entry_name.Text));
- if(Util.RemoveTildeAndColonAndDot(entry_name.Text) == Catalog.GetString("All jumps")) {
+ if(Util.RemoveTildeAndColonAndDot(entry_name.Text) == Constants.AllJumpsName) {
jumpTypeExists = true;
}
Modified: trunk/src/gui/preferences.cs
==============================================================================
--- trunk/src/gui/preferences.cs (original)
+++ trunk/src/gui/preferences.cs Tue Oct 28 18:13:39 2008
@@ -35,6 +35,7 @@
[Widget] Gtk.SpinButton spinbutton_decimals;
[Widget] Gtk.CheckButton checkbutton_height;
[Widget] Gtk.CheckButton checkbutton_initial_speed;
+ [Widget] Gtk.CheckButton checkbutton_angle;
[Widget] Gtk.CheckButton checkbutton_allow_finish_rj_after_time;
[Widget] Gtk.CheckButton checkbutton_show_tv_tc_index;
@@ -46,10 +47,9 @@
[Widget] Gtk.CheckButton checkbutton_height_preferred;
[Widget] Gtk.CheckButton checkbutton_meters_seconds_preferred;
[Widget] Gtk.CheckButton checkbutton_percent_kg_preferred;
- [Widget] Gtk.Box hbox_language_row;
- [Widget] Gtk.Box hbox_combo_language;
- [Widget] Gtk.ComboBox combo_language;
- [Widget] Gtk.Separator hseparator_language;
+// [Widget] Gtk.Box hbox_language_row;
+// [Widget] Gtk.Box hbox_combo_language;
+// [Widget] Gtk.ComboBox combo_language;
[Widget] Gtk.Button button_accept;
@@ -75,7 +75,7 @@
}
static public PreferencesWindow Show (string entryChronopic, int digitsNumber, bool showHeight,
- bool showInitialSpeed, bool showQIndex, bool showDjIndex,
+ bool showInitialSpeed, bool showAngle, bool showQIndex, bool showDjIndex,
//bool askDeletion, bool heightPreferred, bool metersSecondsPreferred, string culture, bool allowFinishRjAfterTime)
bool askDeletion, bool weightStatsPercent, bool heightPreferred, bool metersSecondsPreferred, string language, bool allowFinishRjAfterTime)
{
@@ -112,6 +112,12 @@
else
PreferencesWindowBox.checkbutton_initial_speed.Active = false;
+ if(showAngle)
+ PreferencesWindowBox.checkbutton_angle.Active = true;
+
+ else
+ PreferencesWindowBox.checkbutton_angle.Active = false;
+
if(showQIndex || showDjIndex) {
PreferencesWindowBox.checkbutton_show_tv_tc_index.Active = true;
@@ -162,6 +168,7 @@
}
private void createComboLanguage(string myLanguageCode) {
+ /*
combo_language = ComboBox.NewText ();
UtilGtk.ComboUpdate(combo_language, Util.GetLanguagesNames(), "");
@@ -186,11 +193,11 @@
// combo_language.Sensitive = true;
//else
combo_language.Sensitive = false;
+ */
}
private void hideLanguageStuff() {
- hbox_language_row.Hide();
- hseparator_language.Hide();
+ //hbox_language_row.Hide();
}
private void on_checkbutton_show_tv_tc_index_clicked (object o, EventArgs args) {
@@ -221,6 +228,7 @@
SqlitePreferences.Update("digitsNumber", spinbutton_decimals.Value.ToString(), false);
SqlitePreferences.Update("showHeight", PreferencesWindowBox.checkbutton_height.Active.ToString(), false);
SqlitePreferences.Update("showInitialSpeed", PreferencesWindowBox.checkbutton_initial_speed.Active.ToString(), false);
+ SqlitePreferences.Update("showAngle", PreferencesWindowBox.checkbutton_angle.Active.ToString(), false);
SqlitePreferences.Update("allowFinishRjAfterTime", PreferencesWindowBox.checkbutton_allow_finish_rj_after_time.Active.ToString(), false);
if(PreferencesWindowBox.checkbutton_show_tv_tc_index.Active) {
Modified: trunk/src/gui/pulse.cs
==============================================================================
--- trunk/src/gui/pulse.cs (original)
+++ trunk/src/gui/pulse.cs Tue Oct 28 18:13:39 2008
@@ -87,14 +87,6 @@
return myTypes;
}
- /*
- protected override void fillTime(Event myEvent) {
- Pulse myPulse = (Pulse) myEvent;
- entryTime = myPulse.Time.ToString();
- entry_time_value.Text = Util.TrimDecimals(entryTime, pDN);
- }
- */
-
protected override void updateEvent(int eventID, int personID, string description) {
SqlitePulse.Update(eventID, personID, description);
}
Modified: trunk/src/gui/reactionTime.cs
==============================================================================
--- trunk/src/gui/reactionTime.cs (original)
+++ trunk/src/gui/reactionTime.cs Tue Oct 28 18:13:39 2008
@@ -89,7 +89,11 @@
protected override void fillTime(Event myEvent) {
ReactionTime myRT = (ReactionTime) myEvent;
entryTime = myRT.Time.ToString();
- entry_time_value.Text = Util.TrimDecimals(entryTime, pDN);
+
+ //show all the decimals for not triming there in edit window using
+ //(and having different values in formulae like GetHeightInCm ...)
+ //entry_time_value.Text = Util.TrimDecimals(entryTime, pDN);
+ entry_time_value.Text = entryTime;
}
protected override void updateEvent(int eventID, int personID, string description) {
Modified: trunk/src/gui/run.cs
==============================================================================
--- trunk/src/gui/run.cs (original)
+++ trunk/src/gui/run.cs Tue Oct 28 18:13:39 2008
@@ -101,7 +101,11 @@
protected override void fillTime(Event myEvent) {
Run myRun = (Run) myEvent;
entryTime = myRun.Time.ToString();
- entry_time_value.Text = Util.TrimDecimals(entryTime, pDN);
+
+ //show all the decimals for not triming there in edit window using
+ //(and having different values in formulae like GetHeightInCm ...)
+ //entry_time_value.Text = Util.TrimDecimals(entryTime, pDN);
+ entry_time_value.Text = entryTime;
}
protected override void fillSpeed(Event myEvent) {
@@ -110,7 +114,7 @@
}
protected override void createSignal() {
- //only for runs
+ //only for jumps & runs
combo_eventType.Changed += new EventHandler (on_combo_eventType_changed);
}
@@ -220,7 +224,12 @@
protected override void fillTime(Event myEvent) {
RunInterval myRun = (RunInterval) myEvent;
label_time_title.Text = Catalog.GetString("Total Time");
- entry_time_value.Text = Util.TrimDecimals(myRun.TimeTotal.ToString(), pDN);
+
+ //show all the decimals for not triming there in edit window using
+ //(and having different values in formulae like GetHeightInCm ...)
+ //entry_time_value.Text = Util.TrimDecimals(myRun.TimeTotal.ToString(), pDN);
+ entry_time_value.Text = myRun.TimeTotal.ToString();
+
//don't allow to change totaltime in rjedit
entry_time_value.Sensitive = false;
}
Modified: trunk/src/gui/runType.cs
==============================================================================
--- trunk/src/gui/runType.cs (original)
+++ trunk/src/gui/runType.cs Tue Oct 28 18:13:39 2008
@@ -104,9 +104,9 @@
void on_button_accept_clicked (object o, EventArgs args)
{
- //check if this run type exists, and check it's name is not "All runs"
+ //check if this run type exists, and check it's name is not AllRunsName
bool runTypeExists = Sqlite.Exists (Constants.RunTypeTable, Util.RemoveTildeAndColonAndDot(entry_name.Text));
- if(Util.RemoveTildeAndColonAndDot(entry_name.Text) == Catalog.GetString("All runs")) {
+ if(Util.RemoveTildeAndColonAndDot(entry_name.Text) == Constants.AllRunsName) {
runTypeExists = true;
}
Modified: trunk/src/gui/session.cs
==============================================================================
--- trunk/src/gui/session.cs (original)
+++ trunk/src/gui/session.cs Tue Oct 28 18:13:39 2008
@@ -569,8 +569,8 @@
//check if name of session exists (is owned by other session),
//but all is ok if the name is the same as the old name (editing)
- bool sessionNameExists = Sqlite.Exists (Constants.SessionTable, Util.RemoveTilde(entry_name.Text));
- if(sessionNameExists && Util.RemoveTilde(entry_name.Text) != currentSession.Name ) {
+ bool sessionNameExists = Sqlite.Exists (Constants.SessionTable, Util.RemoveTildeAndColon(entry_name.Text));
+ if(sessionNameExists && Util.RemoveTildeAndColon(entry_name.Text) != currentSession.Name ) {
string myString = string.Format(Catalog.GetString("Session: '{0}' exists. Please, use another name"), Util.RemoveTildeAndColonAndDot(entry_name.Text) );
errorWin = ErrorWindow.Show(myString);
} else {
@@ -597,17 +597,17 @@
levelID = Util.FetchID(UtilGtk.ComboGetActive(combo_levels));
if(addSession)
- currentSession = new Session (entry_name.Text, entry_place.Text, myDate,
+ currentSession = new Session (Util.RemoveTildeAndColon(entry_name.Text), Util.RemoveTildeAndColon(entry_place.Text), myDate,
sportID, speciallityID, levelID,
- textview.Buffer.Text);
+ Util.RemoveTildeAndColon(textview.Buffer.Text));
else {
- currentSession.Name = entry_name.Text.ToString();
- currentSession.Place = entry_place.Text.ToString();
+ currentSession.Name = Util.RemoveTildeAndColon(entry_name.Text.ToString());
+ currentSession.Place = Util.RemoveTildeAndColon(entry_place.Text.ToString());
currentSession.Date = myDate;
currentSession.PersonsSportID = sportID;
currentSession.PersonsSpeciallityID = speciallityID;
currentSession.PersonsPractice = levelID;
- currentSession.Comments = textview.Buffer.Text;
+ currentSession.Comments = Util.RemoveTildeAndColon(textview.Buffer.Text);
SqliteSession.Edit(currentSession.UniqueID, currentSession.Name,
currentSession.Place, currentSession.Date,
Modified: trunk/src/jump.cs
==============================================================================
--- trunk/src/jump.cs (original)
+++ trunk/src/jump.cs Tue Oct 28 18:13:39 2008
@@ -34,13 +34,13 @@
//for not checking always in database
protected bool hasFall;
- private int angle;
+ private double angle;
public Jump() {
}
//after inserting database (SQL)
- public Jump(int uniqueID, int personID, int sessionID, string type, double tv, double tc, int fall, double weight, string description, int angle, int simulated)
+ public Jump(int uniqueID, int personID, int sessionID, string type, double tv, double tc, int fall, double weight, string description, double angle, int simulated)
{
this.uniqueID = uniqueID;
this.personID = personID;
@@ -67,7 +67,7 @@
this.fall = Convert.ToInt32(eventString[6]);
this.weight = Convert.ToDouble(Util.ChangeDecimalSeparator(eventString[7]));
this.description = eventString[8].ToString();
- this.angle = Convert.ToInt32(eventString[9]);
+ this.angle = Convert.ToDouble(Util.ChangeDecimalSeparator(eventString[9]));
this.simulated = Convert.ToInt32(eventString[10]);
}
@@ -112,6 +112,10 @@
set { weight = value; }
}
+ public double Angle {
+ get { return angle; }
+ set { angle = value; }
+ }
~Jump() {}
Modified: trunk/src/report.cs
==============================================================================
--- trunk/src/report.cs (original)
+++ trunk/src/report.cs Tue Oct 28 18:13:39 2008
@@ -137,55 +137,51 @@
printHtmlHeader();
- //writer.WriteLine("<table class=\"empty\" cellspacing=2 cellpadding=2><tr valign=\"top\"><td>\n");
if(ShowCurrentSessionData) {
printTitles(Catalog.GetString("Session"));
printSessionInfo();
}
- //writer.WriteLine("</td><td>\n");
+
if(ShowCurrentSessionJumpers) {
printTitles(Catalog.GetString("Persons"));
printJumpers();
}
- //writer.WriteLine("</td></tr></table>\n");
- if(ShowSimpleJumps) {
- printTitles(Catalog.GetString("Simple jumps"));
- printJumps();
- }
+
+ if(ShowSimpleJumps)
+ printJumps(Catalog.GetString("Simple jumps"));
+
if(ShowReactiveJumps) {
+ string myTitle = "";
if(ShowReactiveJumpsWithSubjumps) {
- printTitles(Catalog.GetString("Reactive jumps") +
- " (" + Catalog.GetString("with subjumps") + ")");
+ myTitle = Catalog.GetString("Reactive jumps") +
+ " (" + Catalog.GetString("with subjumps") + ")";
} else {
- printTitles(Catalog.GetString("Reactive jumps") +
- " (" + Catalog.GetString("without subjumps") + ")");
+ myTitle = Catalog.GetString("Reactive jumps") +
+ " (" + Catalog.GetString("without subjumps") + ")";
}
- printJumpsRj(ShowReactiveJumpsWithSubjumps);
- }
- if(ShowSimpleRuns) {
- printTitles(Catalog.GetString("Simple runs"));
- printRuns();
+ printJumpsRj(ShowReactiveJumpsWithSubjumps, myTitle);
}
+
+ if(ShowSimpleRuns)
+ printRuns(Catalog.GetString("Simple runs"));
+
if (ShowIntervalRuns) {
+ string myTitle = "";
if(ShowIntervalRunsWithSubruns) {
- printTitles(Catalog.GetString("interval runs") +
- " (" + Catalog.GetString("with tracks") + ")");
+ myTitle = Catalog.GetString("interval runs") +
+ " (" + Catalog.GetString("with tracks") + ")";
} else {
- printTitles(Catalog.GetString("interval runs") +
- " (" + Catalog.GetString("without tracks") + ")");
+ myTitle = Catalog.GetString("interval runs") +
+ " (" + Catalog.GetString("without tracks") + ")";
}
- printRunsInterval(ShowIntervalRunsWithSubruns);
+ printRunsInterval(ShowIntervalRunsWithSubruns, myTitle);
}
- if(ShowReactionTimes) {
- printTitles(Catalog.GetString("Reaction times"));
- printReactionTimes();
- }
+ if(ShowReactionTimes)
+ printReactionTimes(Catalog.GetString("Reaction times"));
- if(ShowPulses) {
- printTitles(Catalog.GetString("Pulses"));
- printPulses();
- }
+ if(ShowPulses)
+ printPulses(Catalog.GetString("Pulses"));
printStats();
@@ -296,7 +292,8 @@
protected void printStats()
{
- writer.WriteLine("<h2>Statitistics</h2>");
+ if(StatisticsData.Count > 0)
+ writer.WriteLine("<h2>Statitistics</h2>");
//obtain every report stats one by one
for(int i=0; i < StatisticsData.Count ; i++) {
Modified: trunk/src/sqlite/jump.cs
==============================================================================
--- trunk/src/sqlite/jump.cs (original)
+++ trunk/src/sqlite/jump.cs Tue Oct 28 18:13:39 2008
@@ -54,7 +54,7 @@
"fall INT, " +
"weight TEXT, " + //string because can contain "33%" or "50Kg"
"description TEXT, " +
- "angle INT, " + //-1 if undef
+ "angle FLOAT, " + //-1.0 if undef
"simulated INT )";
dbcmd.ExecuteNonQuery();
}
@@ -65,7 +65,7 @@
*/
//public static int Insert(int personID, int sessionID, string type, double tv, double tc, int fall, double weight, string limited, string description, int simulated)
- public static int Insert(bool dbconOpened, string tableName, string uniqueID, int personID, int sessionID, string type, double tv, double tc, int fall, double weight, string description, int angle, int simulated)
+ public static int Insert(bool dbconOpened, string tableName, string uniqueID, int personID, int sessionID, string type, double tv, double tc, int fall, double weight, string description, double angle, int simulated)
{
if(! dbconOpened)
dbcon.Open();
@@ -75,7 +75,8 @@
" VALUES (" + uniqueID + ", "
+ personID + ", " + sessionID + ", '" + type + "', "
+ Util.ConvertToPoint(tv) + ", " + Util.ConvertToPoint(tc) + ", " + fall + ", '"
- + Util.ConvertToPoint(weight) + "', '" + description + "', " + angle + ", " + simulated +")" ;
+ + Util.ConvertToPoint(weight) + "', '" + description + "', "
+ + Util.ConvertToPoint(angle) + ", " + simulated +")" ;
Log.WriteLine(dbcmd.CommandText.ToString());
dbcmd.ExecuteNonQuery();
int myLast = dbcon.LastInsertRowId;
@@ -105,7 +106,7 @@
filterWeightString +
" AND personSessionWeight.personID == person.uniqueID " +
" AND personSessionWeight.sessionID == jump.sessionID " +
- " ORDER BY person.uniqueID, jump.uniqueID";
+ " ORDER BY upper(person.name), jump.uniqueID";
Log.WriteLine(dbcmd.CommandText.ToString());
dbcmd.ExecuteNonQuery();
@@ -131,7 +132,7 @@
reader[7].ToString() + ":" + //fall
Util.ChangeDecimalSeparator(reader[8].ToString()) + ":" + //weight
reader[9].ToString() + ":" + //description
- reader[10].ToString() + ":" + //angle
+ Util.ChangeDecimalSeparator(reader[10].ToString()) + ":" + //angle
reader[11].ToString() + ":" + //simulated
reader[12].ToString() //person.weight
);
@@ -170,7 +171,7 @@
}
- public static void Update(int jumpID, string type, string tv, string tc, string fall, int personID, double weight, string description)
+ public static void Update(int jumpID, string type, string tv, string tc, string fall, int personID, double weight, string description, double angle)
{
dbcon.Open();
dbcmd.CommandText = "UPDATE jump SET personID = " + personID +
@@ -180,7 +181,8 @@
", fall = " + Util.ConvertToPoint(fall) +
", weight = " + Util.ConvertToPoint(weight) +
", description = '" + description +
- "' WHERE uniqueID == " + jumpID ;
+ "', angle = " + Util.ConvertToPoint(angle) +
+ " WHERE uniqueID == " + jumpID ;
Log.WriteLine(dbcmd.CommandText.ToString());
dbcmd.ExecuteNonQuery();
dbcon.Close();
Modified: trunk/src/sqlite/jumpRj.cs
==============================================================================
--- trunk/src/sqlite/jumpRj.cs (original)
+++ trunk/src/sqlite/jumpRj.cs Tue Oct 28 18:13:39 2008
@@ -106,7 +106,7 @@
filterWeightString +
" AND personSessionWeight.personID == person.uniqueID " +
" AND personSessionWeight.sessionID == jumpRj.sessionID " +
- " ORDER BY person.uniqueID, jumpRj.uniqueID";
+ " ORDER BY upper(person.name), jumpRj.uniqueID";
Log.WriteLine(dbcmd.CommandText.ToString());
dbcmd.ExecuteNonQuery();
Modified: trunk/src/sqlite/main.cs
==============================================================================
--- trunk/src/sqlite/main.cs (original)
+++ trunk/src/sqlite/main.cs Tue Oct 28 18:13:39 2008
@@ -69,7 +69,7 @@
* Important, change this if there's any update to database
* Important2: if database version get numbers higher than 1, check if the comparisons with currentVersion works ok
*/
- static string lastChronojumpDatabaseVersion = "0.58";
+ static string lastChronojumpDatabaseVersion = "0.59";
public Sqlite() {
}
@@ -570,12 +570,26 @@
Log.WriteLine("Countries without kingdom or republic (except when needed)");
}
- //SqlitePreferences.Update ("databaseVersion", "0.58", true);
+ SqlitePreferences.Update ("databaseVersion", "0.58", true);
dbcon.Close();
currentVersion = "0.58";
}
+ if(currentVersion == "0.58") {
+ dbcon.Open();
+ conversionRateTotal = 2;
+ conversionRate = 1;
+ SqlitePreferences.Insert ("showAngle", "False");
+ alterTableColumn(new SqliteJump(), Constants.JumpTable, 11);
+
+ SqlitePreferences.Update ("databaseVersion", "0.59", true);
+ Log.WriteLine("Converted DB to 0.59 (added 'showAngle' to preferences, changed angle on jump to double)");
+ conversionRate = 2;
+ dbcon.Close();
+ currentVersion = "0.59";
+ }
+
}
@@ -677,6 +691,7 @@
SqliteCountry.initialize();
//changes [from - to - desc]
+ //0.58 - 0.59 Added 'showAngle' to preferences, changed angle on jump to double
//0.57 - 0.58 Countries without kingdom or republic (except when needed)
//0.56 - 0.57 Added simulated column to each event table on client. person: race, country, serverID. Convert to sport related done here if needed");
//0.55 - 0.56 Added session default sport stuff into session table
@@ -872,6 +887,89 @@
Sqlite.dropTable(Constants.ConvertTempTable);
}
+ /*
+ * useful to do a conversion from an int to a double
+ * used on jump.angle
+ * we done on sqlite/jump.cs:
+ * on createTable change "angle INT" to "angle FLOAT"
+ * then call this alterTableColumn
+ *
+ * but CAUTION: doing this, all the float data is converted to .0
+ * eg: 27.35 will be 27.0
+ * -1 will be -1.0
+ *
+ * if we don't use this, and we have created a column as int, and introduce floats or doubles,
+ * we can insert ok the float or doubles, but on select we will have ints
+ */
+ protected internal static void alterTableColumn(Sqlite sqliteObject, string tableName, int columns)
+ {
+ conversionSubRate = 1;
+ conversionSubRateTotal = -1; //unknown yet
+
+ //2st create convert temp table
+ sqliteObject.createTable(Constants.ConvertTempTable);
+
+ //2nd copy all data from desired table to temp table adding the simulated column
+ ArrayList myArray = new ArrayList(2);
+ dbcmd.CommandText = "SELECT * " +
+ "FROM " + tableName + " ORDER BY uniqueID";
+ SqliteDataReader reader;
+ reader = dbcmd.ExecuteReader();
+ Log.WriteLine(dbcmd.CommandText.ToString());
+
+ while(reader.Read()) {
+ string [] myReaderStr = new String[columns];
+ for (int i=0; i < columns; i ++)
+ myReaderStr[i] = reader[i].ToString();
+
+ Event myEvent = new Event();
+ switch (tableName) {
+ case Constants.JumpTable:
+ myEvent = new Jump(myReaderStr);
+ break;
+ case Constants.JumpRjTable:
+ myEvent = new JumpRj(myReaderStr);
+ break;
+ case Constants.RunTable:
+ myEvent = new Run(myReaderStr);
+ break;
+ case Constants.RunIntervalTable:
+ myEvent = new RunInterval(myReaderStr);
+ break;
+ case Constants.ReactionTimeTable:
+ myEvent = new ReactionTime(myReaderStr);
+ break;
+ case Constants.PulseTable:
+ myEvent = new Pulse(myReaderStr);
+ break;
+ }
+ myArray.Add(myEvent);
+ }
+ reader.Close();
+
+ conversionSubRateTotal = myArray.Count * 2;
+
+ foreach (Event myEvent in myArray) {
+ myEvent.InsertAtDB(true, Constants.ConvertTempTable);
+ conversionSubRate ++;
+ }
+
+ //3rd drop desired table
+ Sqlite.dropTable(tableName);
+
+ //4d create desired table (now with new columns)
+ sqliteObject.createTable(tableName);
+
+ //5th insert data in desired table
+ foreach (Event myEvent in myArray) {
+ myEvent.InsertAtDB(true, tableName);
+ conversionSubRate ++;
+ }
+
+ //6th drop temp table
+ Sqlite.dropTable(Constants.ConvertTempTable);
+ }
+
protected static string [] DataReaderToStringArray (SqliteDataReader reader, int columns) {
string [] myReaderStr = new String[columns];
for (int i=0; i < columns; i ++)
Modified: trunk/src/sqlite/personSession.cs
==============================================================================
--- trunk/src/sqlite/personSession.cs (original)
+++ trunk/src/sqlite/personSession.cs Tue Oct 28 18:13:39 2008
@@ -231,17 +231,17 @@
if(onlyIDAndName)
myArray.Add (reader[0].ToString() + ":" + reader[1].ToString() );
else {
- string sportName = Catalog.GetString(reader[11].ToString());
+ string sportName = Catalog.GetString(reader[14].ToString());
string speciallityName = ""; //to solve a gettext bug (probably because speciallity undefined name is "")
- if(reader[12].ToString() != "")
- speciallityName = Catalog.GetString(reader[12].ToString());
+ if(reader[15].ToString() != "")
+ speciallityName = Catalog.GetString(reader[15].ToString());
string levelName = Catalog.GetString(Util.FindLevelName(Convert.ToInt32(reader[8])));
myArray.Add (
reader[0].ToString() + ":" + reader[1].ToString() + ":" + //id, name
reader[2].ToString() + ":" + reader[3].ToString() + ":" + //sex, dateborn
- reader[4].ToString() + ":" + reader[10].ToString() + ":" + //height, weight (from personSessionWeight)
+ reader[4].ToString() + ":" + reader[13].ToString() + ":" + //height, weight (from personSessionWeight)
sportName + ":" + speciallityName + ":" + levelName + ":" +
reader[9].ToString() //desc
);
Modified: trunk/src/sqlite/preferences.cs
==============================================================================
--- trunk/src/sqlite/preferences.cs (original)
+++ trunk/src/sqlite/preferences.cs Tue Oct 28 18:13:39 2008
@@ -51,6 +51,7 @@
Insert ("digitsNumber", "3");
Insert ("showHeight", "True");
Insert ("showInitialSpeed", "True");
+ Insert ("showAngle", "False"); //for treeviewjumps
Insert ("showQIndex", "False"); //for treeviewJumps
Insert ("showDjIndex", "False"); //for treeviewJumps
Insert ("simulated", "True");
Modified: trunk/src/sqlite/pulse.cs
==============================================================================
--- trunk/src/sqlite/pulse.cs (original)
+++ trunk/src/sqlite/pulse.cs Tue Oct 28 18:13:39 2008
@@ -90,7 +90,7 @@
" FROM person, pulse " +
" WHERE person.uniqueID == pulse.personID" +
" AND pulse.sessionID == " + sessionID +
- " ORDER BY person.uniqueID, pulse.uniqueID";
+ " ORDER BY upper(person.name), pulse.uniqueID";
Log.WriteLine(dbcmd.CommandText.ToString());
dbcmd.ExecuteNonQuery();
Modified: trunk/src/sqlite/reactionTime.cs
==============================================================================
--- trunk/src/sqlite/reactionTime.cs (original)
+++ trunk/src/sqlite/reactionTime.cs Tue Oct 28 18:13:39 2008
@@ -86,7 +86,7 @@
" FROM person, reactionTime " +
" WHERE person.uniqueID == reactionTime.personID" +
" AND reactionTime.sessionID == " + sessionID +
- " ORDER BY person.uniqueID, reactionTime.uniqueID";
+ " ORDER BY upper(person.name), reactionTime.uniqueID";
Log.WriteLine(dbcmd.CommandText.ToString());
dbcmd.ExecuteNonQuery();
Modified: trunk/src/sqlite/run.cs
==============================================================================
--- trunk/src/sqlite/run.cs (original)
+++ trunk/src/sqlite/run.cs Tue Oct 28 18:13:39 2008
@@ -87,7 +87,7 @@
" FROM person, run " +
" WHERE person.uniqueID == run.personID" +
" AND run.sessionID == " + sessionID +
- " ORDER BY person.uniqueID, run.uniqueID";
+ " ORDER BY upper(person.name), run.uniqueID";
Log.WriteLine(dbcmd.CommandText.ToString());
dbcmd.ExecuteNonQuery();
Modified: trunk/src/sqlite/runInterval.cs
==============================================================================
--- trunk/src/sqlite/runInterval.cs (original)
+++ trunk/src/sqlite/runInterval.cs Tue Oct 28 18:13:39 2008
@@ -89,7 +89,7 @@
" FROM person, runInterval " +
" WHERE person.uniqueID == runInterval.personID" +
" AND runInterval.sessionID == " + sessionID +
- " ORDER BY person.uniqueID, runInterval.uniqueID";
+ " ORDER BY upper(person.name), runInterval.uniqueID";
Log.WriteLine(dbcmd.CommandText.ToString());
dbcmd.ExecuteNonQuery();
Modified: trunk/src/sqlite/stat.cs
==============================================================================
--- trunk/src/sqlite/stat.cs (original)
+++ trunk/src/sqlite/stat.cs Tue Oct 28 18:13:39 2008
@@ -33,7 +33,7 @@
class SqliteStat : Sqlite
{
//sj, cmj, abk (no sj+)
- //"All jumps" (simple) is not managed here, is done in SjCmjAbkPlus
+ //AllJumpsName (simple) is not managed here, is done in SjCmjAbkPlus
public static ArrayList SjCmjAbk (string sessionString, bool multisession, string operationString, string jumpType, bool showSex, bool heightPreferred)
{
string ini = "";
@@ -114,7 +114,7 @@
}
//sj+, cmj+, abk+
- //and "All jumps" (simple)
+ //and AllJumpsName (simple)
public static ArrayList SjCmjAbkPlus (string sessionString, bool multisession, string operationString, string jumpType, bool showSex, bool heightPreferred, bool weightPercentPreferred)
{
string ini = "";
@@ -134,7 +134,7 @@
//manage allJumps
string fromString = " FROM jump, person, personSessionWeight ";
string jumpTypeString = " AND jump.type == '" + jumpType + "' ";
- if(jumpType == Catalog.GetString("All jumps")) {
+ if(jumpType == Constants.AllJumpsName) {
moreSelect = moreSelect + ", jump.type ";
fromString = " FROM jump, person, personSessionWeight, jumpType ";
jumpTypeString = " AND jumpType.startIn == 1 AND jump.Type == jumpType.name ";
@@ -180,7 +180,7 @@
}
//manage allJumps (show jumpType beside name (and sex))
//but only if it's not an AVG of different jumps
- if(jumpType == Catalog.GetString("All jumps") && operationString != "AVG") {
+ if(jumpType == Constants.AllJumpsName && operationString != "AVG") {
showJumpTypeString = " (" + reader[6].ToString() + ")";
}
@@ -278,7 +278,7 @@
//manage allJumps
string fromString = " FROM jump, person ";
string jumpTypeString = " AND jump.type == '" + jumpType + "' ";
- if(jumpType == Catalog.GetString("All jumps")) {
+ if(jumpType == Constants.AllJumpsName) {
moreSelect = moreSelect + ", jump.type ";
fromString = " FROM jump, person, jumpType ";
jumpTypeString = " AND jumpType.startIn == 0 AND jump.Type == jumpType.name ";
@@ -325,7 +325,7 @@
}
//manage allJumps (show jumpType beside name (and sex))
//but only if it's not an AVG of different jumps
- if(jumpType == Catalog.GetString("All jumps") && operationString != "AVG") {
+ if(jumpType == Constants.AllJumpsName && operationString != "AVG") {
showJumpTypeString = " (" + reader[7].ToString() + ")";
}
@@ -375,7 +375,7 @@
//manage allJumps
string fromString = " FROM jumpRj, person ";
string jumpTypeString = " AND jumpRj.type == '" + jumpType + "' ";
- if(jumpType == Catalog.GetString("All jumps")) {
+ if(jumpType == Constants.AllJumpsName) {
moreSelect = moreSelect + ", jumpRj.type ";
fromString = " FROM jumpRj, person, jumpRjType ";
jumpTypeString = " AND jumpRj.Type == jumpRjType.name ";
@@ -421,7 +421,7 @@
}
//manage allJumps (show jumpType beside name (and sex))
//but only if it's not an AVG of different jumps
- if(jumpType == Catalog.GetString("All jumps") && operationString != "AVG") {
+ if(jumpType == Constants.AllJumpsName && operationString != "AVG") {
showJumpTypeString = " (" + reader[7].ToString() + ")";
}
@@ -469,7 +469,7 @@
//manage allJumps
string fromString = " FROM jumpRj, person ";
string jumpTypeString = " AND jumpRj.type == '" + jumpType + "' ";
- if(jumpType == Catalog.GetString("All jumps")) {
+ if(jumpType == Constants.AllJumpsName) {
moreSelect = moreSelect + ", jumpRj.type ";
fromString = " FROM jumpRj, person, jumpRjType ";
jumpTypeString = " AND jumpRj.Type == jumpRjType.name ";
@@ -516,7 +516,7 @@
}
//manage allJumps (show jumpType beside name (and sex))
//but only if it's not an AVG of different jumps
- if(jumpType == Catalog.GetString("All jumps") && operationString != "AVG") {
+ if(jumpType == Constants.AllJumpsName && operationString != "AVG") {
showJumpTypeString = " (" + reader[9].ToString() + ")";
}
@@ -622,7 +622,7 @@
//manage allJumps
string fromString = " FROM jumpRj, person ";
string jumpTypeString = " AND jumpRj.type == '" + jumpType + "' ";
- if(jumpType == Catalog.GetString("All jumps")) {
+ if(jumpType == Constants.AllJumpsName) {
moreSelect = moreSelect + ", jumpRj.type ";
fromString = " FROM jumpRj, person, jumpRjType ";
jumpTypeString = " AND jumpRj.Type == jumpRjType.name ";
@@ -666,7 +666,7 @@
}
//manage allJumps (show jumpType beside name (and sex))
//but only if it's not an AVG of different jumps
- if(jumpType == Catalog.GetString("All jumps") && operationString != "AVG") {
+ if(jumpType == Constants.AllJumpsName && operationString != "AVG") {
showJumpTypeString = " (" + reader[7].ToString() + ")";
}
Modified: trunk/src/statType.cs
==============================================================================
--- trunk/src/statType.cs (original)
+++ trunk/src/statType.cs Tue Oct 28 18:13:39 2008
@@ -295,7 +295,7 @@
else {
JumpType myType = new JumpType(statisticApplyTo);
- //manage all weight jumps and the "All jumps" (simple)
+ //manage all weight jumps and the AllJumpsName (simple)
if(myType.HasWeight ||
statisticApplyTo == Constants.AllJumpsName)
{
Modified: trunk/src/treeViewEvent.cs
==============================================================================
--- trunk/src/treeViewEvent.cs (original)
+++ trunk/src/treeViewEvent.cs Tue Oct 28 18:13:39 2008
@@ -39,6 +39,8 @@
protected int eventIDColumn; //column where the uniqueID of event will be (and will be hidded)
protected string descriptionName = Catalog.GetString("Description");
+ protected bool weightPercentPreferred;
+
protected string [] columnsString;
public enum ExpandStates {
@@ -191,6 +193,37 @@
}
}
+ public void SelectHeaderLine() {
+ TreeIter iter = new TreeIter();
+ TreeModel myModel = treeview.Model;
+ if (treeview.Selection.GetSelected (out myModel, out iter)) {
+ string pathString = store.GetPath(iter).ToString();
+ string [] myStrFull = pathString.Split(new char[] {':'});
+ string pathStringZero = myStrFull[0] + ":" + myStrFull[1];
+ TreeIter iter2;
+ store.GetIterFromString(out iter2, pathStringZero);
+ treeview.Selection.SelectIter(iter2);
+
+ //Log.WriteLine("iter" + store.GetPath(iter).ToString());
+ //Log.WriteLine("iter2" + store.GetPath(iter2).ToString());
+ }
+ }
+
+ public void Update (Event myEvent) {
+ TreeIter iter = new TreeIter();
+ TreeModel myModel = treeview.Model;
+ if (treeview.Selection.GetSelected (out myModel, out iter)) {
+ store.SetValues (iter, getLineToStore(myEvent));
+ }
+ }
+
+ public virtual ExpandStates ZoomChange(ExpandStates myExpand) {
+ if(myExpand == ExpandStates.MINIMIZED)
+ return ExpandStates.MAXIMIZED;
+ else
+ return ExpandStates.MINIMIZED;
+ }
+
public void Add (string personName, System.Object newEvent)
{
Modified: trunk/src/treeViewJump.cs
==============================================================================
--- trunk/src/treeViewJump.cs (original)
+++ trunk/src/treeViewJump.cs Tue Oct 28 18:13:39 2008
@@ -30,6 +30,7 @@
{
protected bool showHeight;
protected bool showInitialSpeed;
+ protected bool showAngle;
protected bool showQIndex;
protected bool showDjIndex;
@@ -38,12 +39,12 @@
protected string fallName = Catalog.GetString("Fall") + "\n(cm)";
protected string heightName = Catalog.GetString("Height") + "\n(cm)";
protected string initialSpeedName = Catalog.GetString("Initial Speed");
+ protected string angleName = Catalog.GetString("Angle");
//one of both indexes can be shown if selected on preferences
protected string qIndexName = "Q Index" + "\n(%)";
protected string djIndexName = "Dj Index" + "\n(%)";
- protected bool weightPercentPreferred;
protected double personWeight;
protected bool metersSecondsPreferred;
@@ -51,7 +52,7 @@
{
}
- public TreeViewJumps (Gtk.TreeView treeview, bool showHeight, bool showInitialSpeed,
+ public TreeViewJumps (Gtk.TreeView treeview, bool showHeight, bool showInitialSpeed, bool showAngle,
bool showQIndex, bool showDjIndex, int newPrefsDigitsNumber,
bool weightPercentPreferred, bool metersSecondsPreferred,
ExpandStates expandState)
@@ -59,6 +60,7 @@
this.treeview = treeview;
this.showHeight = showHeight;
this.showInitialSpeed = showInitialSpeed;
+ this.showAngle = showAngle;
this.showQIndex = showQIndex;
this.showDjIndex = showDjIndex;
pDN = newPrefsDigitsNumber;
@@ -97,6 +99,8 @@
i ++;
if (showInitialSpeed)
i ++;
+ if (showAngle)
+ i ++;
if (showQIndex || showDjIndex)
i ++;
return i +1; //+1 is for the uniqueID hidden col (last)
@@ -110,6 +114,8 @@
i ++;
if (showInitialSpeed)
i ++;
+ if (showAngle)
+ i ++;
if (showQIndex || showDjIndex)
i ++;
@@ -130,6 +136,8 @@
columnsString[i++] = heightName;
if (showInitialSpeed)
columnsString[i++] = initialSpeedName;
+ if (showAngle)
+ columnsString[i++] = angleName;
if (showQIndex)
columnsString[i++] = qIndexName;
if (showDjIndex)
@@ -142,19 +150,26 @@
protected override System.Object getObjectFromString(string [] myStringOfData) {
Jump myJump = new Jump();
+ string temp = string.Format("a, {0}, {1}, {2}\n",
+ myStringOfData[1].ToString(),
+ myStringOfData[7].ToString(),
+ myStringOfData[11].ToString()
+ );
+ Log.WriteLine(temp);
myJump.UniqueID = Convert.ToInt32(myStringOfData[1].ToString());
myJump.Type = myStringOfData[4].ToString();
myJump.Tv = Convert.ToDouble(myStringOfData[5].ToString());
myJump.Tc = Convert.ToDouble(myStringOfData[6].ToString());
myJump.Fall = Convert.ToInt32(myStringOfData[7].ToString());
+ myJump.Angle = Convert.ToDouble(myStringOfData[10].ToString());
myJump.Description = myStringOfData[9].ToString();
- myJump.Simulated = Convert.ToInt32(myStringOfData[10].ToString());
+ myJump.Simulated = Convert.ToInt32(myStringOfData[11].ToString());
//we create the jump with a weight of percent or kk
if(weightPercentPreferred)
myJump.Weight = Convert.ToDouble(myStringOfData[8].ToString());
else
- myJump.Weight = Util.WeightFromPercentToKg(Convert.ToDouble(myStringOfData[8]), Convert.ToDouble(myStringOfData[10]));
+ myJump.Weight = Util.WeightFromPercentToKg(Convert.ToDouble(myStringOfData[8]), Convert.ToDouble(myStringOfData[12]));
return myJump;
@@ -182,6 +197,8 @@
myData[count++] = Util.TrimDecimals(Util.GetHeightInCentimeters(newJump.Tv.ToString()), pDN);
if (showInitialSpeed)
myData[count++] = Util.TrimDecimals(Util.GetInitialSpeed(newJump.Tv.ToString(), metersSecondsPreferred), pDN);
+ if (showAngle)
+ myData[count++] = Util.TrimDecimals(newJump.Angle.ToString(), pDN);
if(showQIndex)
myData[count++] = Util.TrimDecimals(Util.GetQIndex(newJump.Tv, newJump.Tc).ToString(), pDN);
if(showDjIndex)
@@ -192,7 +209,7 @@
myData[count++] = newJump.UniqueID.ToString();
return myData;
}
-
+
}
public class TreeViewJumpsRj : TreeViewJumps
@@ -237,13 +254,13 @@
myJumpRj.TcString = myStringOfData[13].ToString();
myJumpRj.Limited = myStringOfData[16].ToString();
myJumpRj.Description = myStringOfData[9].ToString();
- myJumpRj.Simulated = Convert.ToInt32(myStringOfData[17].ToString());
+ myJumpRj.Simulated = Convert.ToInt32(myStringOfData[18].ToString());
//we create the jump with a weight of percent or kk
if(weightPercentPreferred)
myJumpRj.Weight = Convert.ToDouble(myStringOfData[8].ToString());
else
- myJumpRj.Weight = Util.WeightFromPercentToKg(Convert.ToDouble(myStringOfData[8]), Convert.ToDouble(myStringOfData[17]));
+ myJumpRj.Weight = Util.WeightFromPercentToKg(Convert.ToDouble(myStringOfData[8]), Convert.ToDouble(myStringOfData[19]));
return myJumpRj;
}
@@ -313,7 +330,9 @@
myData[count++] = "";
- myData[count++] = newJumprRj.UniqueID.ToString();
+
+ //myData[count++] = newJumprRj.UniqueID.ToString();
+ myData[count++] = "-1"; //mark to non select here, select first line
return myData;
}
@@ -336,7 +355,9 @@
myData[count++] = "";
myData[count++] = "";
- myData[count++] = newJumpRj.UniqueID.ToString();
+
+ //myData[count++] = newJumpRj.UniqueID.ToString();
+ myData[count++] = "-1"; //mark to non select here, select first line
return myData;
}
@@ -376,7 +397,9 @@
Util.GetDjIndex(tvAVGDouble,tcAVGDouble).ToString(), pDN);
myData[count++] = "";
- myData[count++] = newJumpRj.UniqueID.ToString();
+
+ //myData[count++] = newJumpRj.UniqueID.ToString();
+ myData[count++] = "-1"; //mark to non select here, select first line
return myData;
}
@@ -410,7 +433,9 @@
myData[count++] = "";
myData[count++] = "";
- myData[count++] = newJumpRj.UniqueID.ToString();
+
+ //myData[count++] = newJumpRj.UniqueID.ToString();
+ myData[count++] = "-1"; //mark to non select here, select first line
return myData;
}
@@ -425,4 +450,13 @@
return myStringFull.Length;
}
+ public override ExpandStates ZoomChange(ExpandStates myExpand) {
+ if(myExpand == ExpandStates.MINIMIZED)
+ return ExpandStates.OPTIMAL;
+ else if(myExpand == ExpandStates.OPTIMAL)
+ return ExpandStates.MAXIMIZED;
+ else
+ return ExpandStates.MINIMIZED;
+ }
+
}
Modified: trunk/src/treeViewPulse.cs
==============================================================================
--- trunk/src/treeViewPulse.cs (original)
+++ trunk/src/treeViewPulse.cs Tue Oct 28 18:13:39 2008
@@ -117,7 +117,9 @@
myData[count++] = Util.TrimDecimals( relativeError.ToString(), pDN );
myData[count++] = "";
- myData[count++] = newPulse.UniqueID.ToString();
+ //myData[count++] = newPulse.UniqueID.ToString();
+ myData[count++] = "-1"; //mark to non select here, select first line
+
return myData;
}
@@ -131,7 +133,9 @@
myData[count++] = "";
myData[count++] = "";
myData[count++] = "";
- myData[count++] = newPulse.UniqueID.ToString();
+
+ //myData[count++] = newPulse.UniqueID.ToString();
+ myData[count++] = "-1"; //mark to non select here, select first line
return myData;
}
@@ -146,7 +150,9 @@
myData[count++] = "|" + Util.TrimDecimals( getAVGDifference(newPulse, false).ToString(), pDN ) + "|";
myData[count++] = "|" + Util.TrimDecimals( getAVGDifference(newPulse, true).ToString(), pDN ) + "|";
myData[count++] = "";
- myData[count++] = newPulse.UniqueID.ToString();
+
+ //myData[count++] = newPulse.UniqueID.ToString();
+ myData[count++] = "-1"; //mark to non select here, select first line
return myData;
}
@@ -165,7 +171,9 @@
myData[count++] = "";
myData[count++] = "";
myData[count++] = "";
- myData[count++] = newPulse.UniqueID.ToString();
+
+ //myData[count++] = newPulse.UniqueID.ToString();
+ myData[count++] = "-1"; //mark to non select here, select first line
return myData;
}
@@ -216,5 +224,14 @@
return errorCount / (double) times.Length;
}
+ public override ExpandStates ZoomChange(ExpandStates myExpand) {
+ if(myExpand == ExpandStates.MINIMIZED)
+ return ExpandStates.OPTIMAL;
+ else if(myExpand == ExpandStates.OPTIMAL)
+ return ExpandStates.MAXIMIZED;
+ else
+ return ExpandStates.MINIMIZED;
+ }
+
}
Modified: trunk/src/treeViewRun.cs
==============================================================================
--- trunk/src/treeViewRun.cs (original)
+++ trunk/src/treeViewRun.cs Tue Oct 28 18:13:39 2008
@@ -203,7 +203,9 @@
myData[count++] = Util.TrimDecimals( timeInterval, pDN );
myData[count++] = "";
- myData[count++] = newRunI.UniqueID.ToString();
+
+ //myData[count++] = newRunI.UniqueID.ToString();
+ myData[count++] = "-1"; //mark to non select here, select first line
return myData;
}
@@ -226,7 +228,9 @@
myData[count++] = "";
myData[count++] = Util.TrimDecimals( newRunI.TimeTotal.ToString(), pDN );
myData[count++] = "";
- myData[count++] = newRunI.UniqueID.ToString();
+
+ //myData[count++] = newRunI.UniqueID.ToString();
+ myData[count++] = "-1"; //mark to non select here, select first line
return myData;
}
@@ -246,7 +250,9 @@
Util.GetAverage(newRunI.IntervalTimesString).ToString() //AVG of intervalTimesString
, pDN );
myData[count++] = "";
- myData[count++] = newRunI.UniqueID.ToString();
+
+ //myData[count++] = newRunI.UniqueID.ToString();
+ myData[count++] = "-1"; //mark to non select here, select first line
return myData;
}
@@ -264,8 +270,20 @@
Util.GetNumberOfJumps(newRunI.IntervalTimesString, false)).ToString(),
pDN);
myData[count++] = "";
- myData[count++] = newRunI.UniqueID.ToString();
+
+ //myData[count++] = newRunI.UniqueID.ToString();
+ myData[count++] = "-1"; //mark to non select here, select first line
return myData;
}
+
+ public override ExpandStates ZoomChange(ExpandStates myExpand) {
+ if(myExpand == ExpandStates.MINIMIZED)
+ return ExpandStates.OPTIMAL;
+ else if(myExpand == ExpandStates.OPTIMAL)
+ return ExpandStates.MAXIMIZED;
+ else
+ return ExpandStates.MINIMIZED;
+ }
+
}
Modified: trunk/src/util.cs
==============================================================================
--- trunk/src/util.cs (original)
+++ trunk/src/util.cs Tue Oct 28 18:13:39 2008
@@ -253,6 +253,13 @@
return myStringBuilder.ToString();
}
+ public static string RemoveNewLine(string myString)
+ {
+ StringBuilder myStringBuilder = new StringBuilder(myString);
+ myStringBuilder.Replace("\n", " ");
+ return myStringBuilder.ToString();
+ }
+
public static string ChangeEqualForColon(string myString)
{
StringBuilder myStringBuilder = new StringBuilder(myString);
@@ -510,6 +517,9 @@
//gets a string and returns if all the chars are numbers or the decimal point in current localization
//there should be also only one decimal point
//method made because i didn't find it in mono
+ //ATTENTTION ONLY WORKS FOR POSITIVES
+ //before changing this method, better create another method for all numbers,
+ //and call that method on possible negative numbers
public static bool IsNumber(string myString) {
System.Globalization.NumberFormatInfo localeInfo = new System.Globalization.NumberFormatInfo();
localeInfo = System.Globalization.NumberFormatInfo.CurrentInfo;
@@ -897,5 +907,12 @@
return detected;
}
+ public static string NoYes(string numberStr) {
+ if(numberStr == "0")
+ return Constants.No;
+ else
+ return Constants.Yes;
+ }
+
}
Modified: trunk/version.txt
==============================================================================
--- trunk/version.txt (original)
+++ trunk/version.txt Tue Oct 28 18:13:39 2008
@@ -1 +1 @@
-0.7.5.4
+0.7.5.8
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]