[chronojump] Start window with jumps, runs, power and two subcategories each
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] Start window with jumps, runs, power and two subcategories each
- Date: Mon, 22 Aug 2016 13:52:55 +0000 (UTC)
commit 192cc40b0bd151c20a0583e8bd54b98c9dd4b918
Author: Xavier de Blas <xaviblas gmail com>
Date: Mon Aug 22 15:46:44 2016 +0200
Start window with jumps,runs,power and two subcategories each
glade/chronojump.glade | 1534 +++++++++++++++++++++++++++++++++---------
src/gui/chronojump.cs | 90 +++-
src/gui/movingStartWindow.cs | 173 +++++
src/gui/usefulObjects.cs | 50 ++
4 files changed, 1531 insertions(+), 316 deletions(-)
---
diff --git a/glade/chronojump.glade b/glade/chronojump.glade
index 0bab301..c2bd0ec 100644
--- a/glade/chronojump.glade
+++ b/glade/chronojump.glade
@@ -630,305 +630,728 @@
<property name="can_focus">False</property>
<property name="spacing">30</property>
<child>
- <widget class="GtkHButtonBox" id="hbuttonbox1">
+ <widget class="GtkTable" id="table4">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="n_rows">3</property>
+ <property name="n_columns">3</property>
<child>
- <widget class="GtkButton" id="button_selector_start_jumps">
+ <widget class="GtkNotebook" id="notebook_selector_start_jumps">
+ <property name="width_request">225</property>
+ <property name="height_request">261</property>
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip" translatable="yes">Or press '1'</property>
- <property name="relief">none</property>
- <signal name="clicked"
handler="on_button_selector_start_jumps_simple_clicked" swapped="no"/>
- <accelerator key="1" signal="clicked"/>
+ <property name="can_focus">False</property>
+ <property name="show_tabs">False</property>
+ <property name="show_border">False</property>
<child>
- <widget class="GtkVBox" id="vbox78">
+ <widget class="GtkButton" id="button_selector_start_jumps">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip" translatable="yes">Or press '1'</property>
+ <property name="relief">none</property>
+ <signal name="clicked" handler="on_button_selector_start_jumps_clicked"
swapped="no"/>
+ <accelerator key="1" signal="clicked"/>
<child>
<widget class="GtkImage" id="image_selector_start_jumps">
- <property name="width_request">225</property>
- <property name="height_request">261</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-missing-image</property>
</widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
</child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label34">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">page 1</property>
+ </widget>
+ <packing>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkViewport" id="viewport_selector_start_jumps">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
<child>
- <widget class="GtkVBox" id="vbox87">
+ <widget class="GtkVBox" id="vbox_selector_start_jumps_2">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="border_width">12</property>
+ <property name="spacing">12</property>
<child>
- <widget class="GtkLabel" id="label59">
+ <widget class="GtkVBox" id="vbox84">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xpad">8</property>
- <property name="ypad">8</property>
- <property name="label" translatable="yes">Jumps</property>
+ <property name="spacing">6</property>
+ <child>
+ <widget class="GtkButton" id="button5">
+ <property name="height_request">75</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked"
handler="on_button_selector_start_jumps_simple_clicked" swapped="no"/>
+ <child>
+ <widget class="GtkHBox" id="hbox108">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">10</property>
+ <child>
+ <widget class="GtkImage" id="image_mode_jumps_small">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xpad">10</property>
+ <property name="stock">gtk-missing-image</property>
+ <property name="icon-size">2</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label32">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Simple</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel"
id="label_selector_start_jumps_simple">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">Tests have 1 flight phase</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="expand">True</property>
- <property name="fill">True</property>
+ <property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox129">
+ <widget class="GtkVBox" id="vbox86">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="spacing">6</property>
<child>
- <widget class="GtkHBox" id="hbox130">
+ <widget class="GtkButton" id="button6">
+ <property name="height_request">75</property>
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <widget class="GtkLabel" id="label88">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label">[</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label89">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">8</property>
- <property name="ypad">8</property>
- <property name="label" translatable="yes">Contact
platform</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked"
handler="on_button_selector_start_jumps_reactive_clicked" swapped="no"/>
<child>
- <widget class="GtkLabel" id="label93">
+ <widget class="GtkHBox" id="hbox110">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label">]</property>
+ <property name="spacing">10</property>
+ <child>
+ <widget class="GtkImage"
id="image_mode_jumps_reactive_small">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xpad">10</property>
+ <property name="stock">gtk-missing-image</property>
+ <property name="icon-size">2</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label71">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Reactive</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
- </packing>
</child>
</widget>
<packing>
- <property name="expand">True</property>
+ <property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
+ <child>
+ <widget class="GtkLabel"
id="label_selector_start_jumps_reactive">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">Tests have >1 flight
phase</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
<packing>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
</widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
</child>
</widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label66">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">page 2</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_EXPAND</property>
+ <property name="y_options">GTK_EXPAND</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox130">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <widget class="GtkLabel" id="label88">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">[</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label89">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xpad">8</property>
+ <property name="ypad">8</property>
+ <property name="label" translatable="yes">Contact platform</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label93">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">]</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
</child>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_EXPAND</property>
+ <property name="y_options"/>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button_selector_start_runs">
+ <widget class="GtkLabel" id="label39">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip" translatable="yes">Or press '2'</property>
- <property name="relief">none</property>
- <signal name="clicked"
handler="on_button_selector_start_runs_simple_clicked" swapped="no"/>
- <accelerator key="2" signal="clicked"/>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Jumps</property>
+ </widget>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label59">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Runs</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label64">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Power</property>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox127">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <widget class="GtkLabel" id="label78">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">[</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label81">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xpad">8</property>
+ <property name="ypad">8</property>
+ <property name="label" translatable="yes">Photocells</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
<child>
- <widget class="GtkVBox" id="vbox79">
+ <widget class="GtkLabel" id="label84">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="label">]</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_EXPAND</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox107">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <widget class="GtkLabel" id="label247">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">[</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label248">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xpad">8</property>
+ <property name="ypad">8</property>
+ <property name="label" translatable="yes">Encoder</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label249">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">]</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_EXPAND</property>
+ <property name="y_options"/>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkNotebook" id="notebook_selector_start_runs">
+ <property name="width_request">225</property>
+ <property name="height_request">261</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="show_tabs">False</property>
+ <property name="show_border">False</property>
+ <child>
+ <widget class="GtkButton" id="button_selector_start_runs">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip" translatable="yes">Or press '2'</property>
+ <property name="relief">none</property>
+ <signal name="clicked" handler="on_button_selector_start_runs_clicked"
swapped="no"/>
+ <accelerator key="2" signal="clicked"/>
<child>
<widget class="GtkImage" id="image_selector_start_runs">
- <property name="width_request">225</property>
- <property name="height_request">261</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-missing-image</property>
</widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
</child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label49">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">page 1</property>
+ </widget>
+ <packing>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkViewport" id="viewport_selector_start_runs">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
<child>
- <widget class="GtkVBox" id="vbox1">
+ <widget class="GtkVBox" id="vbox_selector_start_runs">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="border_width">12</property>
+ <property name="spacing">12</property>
<child>
- <widget class="GtkLabel" id="label52">
+ <widget class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xpad">8</property>
- <property name="ypad">8</property>
- <property name="label" translatable="yes">Runs</property>
+ <property name="spacing">6</property>
+ <child>
+ <widget class="GtkButton" id="button7">
+ <property name="height_request">75</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked"
handler="on_button_selector_start_runs_simple_clicked" swapped="no"/>
+ <child>
+ <widget class="GtkHBox" id="hbox82">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">10</property>
+ <child>
+ <widget class="GtkImage" id="image_mode_runs_small">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xpad">10</property>
+ <property name="stock">gtk-missing-image</property>
+ <property name="icon-size">2</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label50">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Simple</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label_selector_start_runs_simple">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">Tests have 1 track</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="expand">True</property>
- <property name="fill">True</property>
+ <property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox125">
+ <widget class="GtkVBox" id="vbox41">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="spacing">6</property>
<child>
- <widget class="GtkHBox" id="hbox127">
+ <widget class="GtkButton" id="button8">
+ <property name="height_request">75</property>
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <widget class="GtkLabel" id="label78">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label">[</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label81">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">8</property>
- <property name="ypad">8</property>
- <property name="label"
translatable="yes">Photocells</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked"
handler="on_button_selector_start_runs_intervallic_clicked" swapped="no"/>
<child>
- <widget class="GtkLabel" id="label84">
+ <widget class="GtkHBox" id="hbox105">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label">]</property>
+ <property name="spacing">10</property>
+ <child>
+ <widget class="GtkImage"
id="image_mode_runs_intervallic_small">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xpad">10</property>
+ <property name="stock">gtk-missing-image</property>
+ <property name="icon-size">2</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label52">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Intervallic</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
- </packing>
</child>
</widget>
<packing>
- <property name="expand">True</property>
+ <property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
+ <child>
+ <widget class="GtkLabel"
id="label_selector_start_runs_intervallic">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">Tests have >1 track</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
<packing>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
</widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
</child>
</widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label60">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">page 2</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
+ </packing>
</child>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
+ <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">GTK_EXPAND</property>
+ <property name="y_options">GTK_EXPAND</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button_selector_start_encoder_gravitatory">
+ <widget class="GtkNotebook" id="notebook_selector_start_encoder">
+ <property name="width_request">225</property>
+ <property name="height_request">261</property>
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip" translatable="yes">Or press '3'</property>
- <property name="relief">none</property>
- <signal name="clicked"
handler="on_button_selector_start_power_gravitatory_clicked" swapped="no"/>
- <accelerator key="3" signal="clicked"/>
+ <property name="can_focus">False</property>
+ <property name="show_tabs">False</property>
+ <property name="show_border">False</property>
<child>
- <widget class="GtkVBox" id="vbox80">
+ <widget class="GtkButton" id="button_selector_start_encoder">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <widget class="GtkLabel" id="label50">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">8</property>
- <property name="ypad">8</property>
- <property name="label" translatable="yes">Power</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">-1</property>
- </packing>
- </child>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip" translatable="yes">Or press '3'</property>
+ <property name="relief">none</property>
+ <signal name="clicked"
handler="on_button_selector_start_encoder_clicked" swapped="no"/>
+ <accelerator key="3" signal="clicked"/>
<child>
<widget class="GtkImage" id="image_selector_start_encoder_gravitatory">
- <property name="width_request">225</property>
- <property name="height_request">261</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-missing-image</property>
</widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
</child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label98">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">page 1</property>
+ </widget>
+ <packing>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkViewport" id="viewport_selector_start_encoder">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
<child>
- <widget class="GtkHBox" id="hbox123">
+ <widget class="GtkVBox" id="vbox_selector_start_encoder">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="border_width">12</property>
+ <property name="spacing">12</property>
<child>
- <widget class="GtkHBox" id="hbox124">
+ <widget class="GtkVBox" id="vbox44">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="spacing">6</property>
<child>
- <widget class="GtkLabel" id="label66">
+ <widget class="GtkButton" id="button9">
+ <property name="height_request">75</property>
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label">[</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked"
handler="on_button_selector_start_encoder_gravitatory_clicked" swapped="no"/>
+ <child>
+ <widget class="GtkHBox" id="hbox115">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">10</property>
+ <child>
+ <widget class="GtkImage"
id="image_mode_encoder_gravitatory">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xpad">10</property>
+ <property name="stock">gtk-missing-image</property>
+ <property name="icon-size">2</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label107">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Gravitatory</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
</widget>
<packing>
<property name="expand">False</property>
@@ -937,12 +1360,10 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label60">
+ <widget class="GtkLabel"
id="label_selector_start_encoder_gravitatory">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xpad">8</property>
- <property name="ypad">8</property>
- <property name="label" translatable="yes">Gravitatory
encoder</property>
+ <property name="label">Resistance is gravity</property>
</widget>
<packing>
<property name="expand">False</property>
@@ -950,18 +1371,6 @@
<property name="position">1</property>
</packing>
</child>
- <child>
- <widget class="GtkLabel" id="label71">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label">]</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
- </packing>
- </child>
</widget>
<packing>
<property name="expand">True</property>
@@ -969,76 +1378,51 @@
<property name="position">0</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <widget class="GtkButton" id="button_selector_start_encoder_inertial">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip" translatable="yes">Or press '4'</property>
- <property name="relief">none</property>
- <signal name="clicked"
handler="on_button_selector_start_power_inertial_clicked" swapped="no"/>
- <accelerator key="4" signal="clicked"/>
- <child>
- <widget class="GtkVBox" id="vbox41">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <widget class="GtkLabel" id="label39">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xpad">8</property>
- <property name="ypad">8</property>
- <property name="label" translatable="yes">Power</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">-1</property>
- </packing>
- </child>
- <child>
- <widget class="GtkImage" id="image_selector_start_encoder_inertial">
- <property name="width_request">225</property>
- <property name="height_request">261</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-missing-image</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox105">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<child>
- <widget class="GtkHBox" id="hbox152">
+ <widget class="GtkVBox" id="vbox78">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="spacing">6</property>
<child>
- <widget class="GtkLabel" id="label64">
+ <widget class="GtkButton" id="button10">
+ <property name="height_request">75</property>
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label">[</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked"
handler="on_button_selector_start_encoder_inertial_clicked" swapped="no"/>
+ <child>
+ <widget class="GtkHBox" id="hbox116">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">10</property>
+ <child>
+ <widget class="GtkImage"
id="image_mode_encoder_inertial">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xpad">10</property>
+ <property name="stock">gtk-missing-image</property>
+ <property name="icon-size">2</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label245">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Inertial</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
</widget>
<packing>
<property name="expand">False</property>
@@ -1047,12 +1431,10 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label98">
+ <widget class="GtkLabel"
id="label_selector_start_encoder_inertial">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xpad">8</property>
- <property name="ypad">8</property>
- <property name="label" translatable="yes">Inertial
encoder</property>
+ <property name="label">Resistance is inertia</property>
</widget>
<packing>
<property name="expand">False</property>
@@ -1060,45 +1442,46 @@
<property name="position">1</property>
</packing>
</child>
- <child>
- <widget class="GtkLabel" id="label107">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label">]</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
- </packing>
- </child>
</widget>
<packing>
<property name="expand">True</property>
<property name="fill">False</property>
- <property name="position">0</property>
+ <property name="position">1</property>
</packing>
</child>
</widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
- </packing>
</child>
</widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label246">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">page 2</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
+ </packing>
</child>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">3</property>
+ <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">GTK_EXPAND</property>
+ <property name="y_options">GTK_EXPAND</property>
</packing>
</child>
</widget>
<packing>
<property name="expand">True</property>
- <property name="fill">True</property>
+ <property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
@@ -1206,9 +1589,9 @@ Carles</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="tooltip" translatable="yes">Or press '5'</property>
+ <property name="tooltip" translatable="yes">Or press '4'</property>
<signal name="clicked" handler="on_button_selector_start_other_clicked"
swapped="no"/>
- <accelerator key="5" signal="clicked"/>
+ <accelerator key="4" signal="clicked"/>
<child>
<widget class="GtkLabel" id="label51">
<property name="visible">True</property>
@@ -1467,6 +1850,9 @@ Carles</property>
<property name="position">3</property>
</packing>
</child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
<packing>
<property name="expand">False</property>
@@ -1474,6 +1860,114 @@ Carles</property>
<property name="position">1</property>
</packing>
</child>
+ <child>
+ <widget class="GtkHBox" id="hbox_start_test">
+ <property name="can_focus">False</property>
+ <child>
+ <widget class="GtkAlignment" id="alignment_start_test_l">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <widget class="GtkButton" id="button_start_test_l">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <child>
+ <widget class="GtkImage" id="image19">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-missing-image</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkAlignment" id="alignment_start_test_m">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <widget class="GtkButton" id="button_start_test_m">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <child>
+ <widget class="GtkImage" id="image69">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-missing-image</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkAlignment" id="alignment_start_test_r">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <widget class="GtkButton" id="button_start_test_r">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <child>
+ <widget class="GtkImage" id="image70">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-missing-image</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox76">
+ <property name="can_focus">False</property>
+ <child>
+ <widget class="GtkButton" id="button2">
+ <property name="label">reset</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="expand">True</property>
@@ -17761,6 +18255,30 @@ Concentric</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
<packing>
<property name="expand">False</property>
@@ -22585,6 +23103,30 @@ by you</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
</child>
</widget>
@@ -23890,6 +24432,30 @@ by you</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
</child>
</widget>
@@ -25687,6 +26253,30 @@ by you</property>
<placeholder/>
</child>
<child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
<widget class="GtkButton" id="button_video_url">
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -26541,6 +27131,30 @@ by you</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
<packing>
<property name="expand">True</property>
@@ -39899,6 +40513,150 @@ options</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
</child>
</widget>
@@ -43082,6 +43840,102 @@ To differentiate between male and female, use the values 1/0, or m/f, or M/F on
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
</child>
</widget>
@@ -44181,30 +45035,6 @@ To differentiate between male and female, use the values 1/0, or m/f, or M/F on
<placeholder/>
</child>
<child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
<widget class="GtkLabel" id="label218">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -45509,6 +46339,30 @@ To differentiate between male and female, use the values 1/0, or m/f, or M/F on
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
</child>
</widget>
@@ -50397,6 +51251,30 @@ Other</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
<packing>
<property name="left_attach">2</property>
@@ -51366,6 +52244,30 @@ Other</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
</child>
</widget>
@@ -52350,6 +53252,30 @@ Other</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
</child>
</widget>
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index 6047cf9..9cedd21 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -69,22 +69,37 @@ public partial class ChronoJumpWindow
[Widget] Gtk.Label label_version;
[Widget] Gtk.Image image_logo;
+ [Widget] Gtk.Button button_selector_start_jumps;
+ [Widget] Gtk.Button button_selector_start_runs;
+ [Widget] Gtk.Button button_selector_start_encoder;
+ [Widget] Gtk.Button button_selector_start_other;
[Widget] Gtk.Image image_selector_start_jumps;
[Widget] Gtk.Image image_selector_start_runs;
[Widget] Gtk.Image image_selector_start_encoder_gravitatory;
- [Widget] Gtk.Image image_selector_start_encoder_inertial;
+ //[Widget] Gtk.Image image_selector_start_encoder_inertial;
+
+ [Widget] Gtk.Notebook notebook_selector_start_jumps;
+ [Widget] Gtk.Viewport viewport_selector_start_jumps;
+ [Widget] Gtk.Label label_selector_start_jumps_simple;
+ [Widget] Gtk.Label label_selector_start_jumps_reactive;
+ [Widget] Gtk.Notebook notebook_selector_start_runs;
+ [Widget] Gtk.Viewport viewport_selector_start_runs;
+ [Widget] Gtk.Label label_selector_start_runs_simple;
+ [Widget] Gtk.Label label_selector_start_runs_intervallic;
+ [Widget] Gtk.Notebook notebook_selector_start_encoder;
+ [Widget] Gtk.Viewport viewport_selector_start_encoder;
+ [Widget] Gtk.Label label_selector_start_encoder_gravitatory;
+ [Widget] Gtk.Label label_selector_start_encoder_inertial;
[Widget] Gtk.RadioButton radio_mode_reaction_times_small;
[Widget] Gtk.RadioButton radio_mode_pulses_small;
[Widget] Gtk.RadioButton radio_mode_multi_chronopic_small;
[Widget] Gtk.RadioButton radio_mode_encoder_capture_small;
[Widget] Gtk.RadioButton radio_mode_encoder_analyze_small;
- /*
[Widget] Gtk.Image image_mode_jumps_small;
[Widget] Gtk.Image image_mode_jumps_reactive_small;
[Widget] Gtk.Image image_mode_runs_small;
[Widget] Gtk.Image image_mode_runs_intervallic_small;
- */
[Widget] Gtk.Image image_mode_reaction_times_small;
[Widget] Gtk.Image image_mode_pulses_small;
[Widget] Gtk.Image image_mode_multi_chronopic_small;
@@ -634,8 +649,9 @@ public partial class ChronoJumpWindow
string buildDate = " (b)";
label_version.Text = progVersion + buildDate;
LogB.Information("Build date:" + buildDate);
- }
+ //moveStartTestInitial();
+ }
/*
@@ -701,8 +717,18 @@ public partial class ChronoJumpWindow
/*
* gui for small screens
*/
+ viewport_selector_start_jumps.ModifyBg(StateType.Normal, new Gdk.Color(0x0b,0x48,0x6b));
+ label_selector_start_jumps_simple.ModifyFg(StateType.Normal, new Gdk.Color(0xff,0xff,0xff));
+ label_selector_start_jumps_reactive.ModifyFg(StateType.Normal, new Gdk.Color(0xff,0xff,0xff));
+
+ viewport_selector_start_runs.ModifyBg(StateType.Normal, new Gdk.Color(0x3b,0x86,0x86));
+ label_selector_start_runs_simple.ModifyFg(StateType.Normal, new Gdk.Color(0xff,0xff,0xff));
+ label_selector_start_runs_intervallic.ModifyFg(StateType.Normal, new
Gdk.Color(0xff,0xff,0xff));
+
+ viewport_selector_start_encoder.ModifyBg(StateType.Normal, new Gdk.Color(0x79,0xbd,0x98));
+ label_selector_start_encoder_gravitatory.ModifyFg(StateType.Normal, new
Gdk.Color(0xff,0xff,0xff));
+ label_selector_start_encoder_inertial.ModifyFg(StateType.Normal, new
Gdk.Color(0xff,0xff,0xff));
- /*
pixbuf = new Pixbuf (null, Util.GetImagePath(false) + Constants.FileNameJumps);
image_mode_jumps_small.Pixbuf = pixbuf;
pixbuf = new Pixbuf (null, Util.GetImagePath(false) + Constants.FileNameJumpsRJ);
@@ -711,7 +737,7 @@ public partial class ChronoJumpWindow
image_mode_runs_small.Pixbuf = pixbuf;
pixbuf = new Pixbuf (null, Util.GetImagePath(false) + Constants.FileNameRunsInterval);
image_mode_runs_intervallic_small.Pixbuf = pixbuf;
- */
+
pixbuf = new Pixbuf (null, Util.GetImagePath(false) + Constants.FileNameReactionTime);
image_mode_reaction_times_small.Pixbuf = pixbuf;
pixbuf = new Pixbuf (null, Util.GetImagePath(false) + Constants.FileNamePulse);
@@ -904,8 +930,8 @@ public partial class ChronoJumpWindow
image_selector_start_runs.Pixbuf = pixbuf;
pixbuf = new Pixbuf (null, Util.GetImagePath(false) +
Constants.FileNameSelectorEncoderGravitatory);
image_selector_start_encoder_gravitatory.Pixbuf = pixbuf;
- pixbuf = new Pixbuf (null, Util.GetImagePath(false) +
Constants.FileNameSelectorEncoderInertial);
- image_selector_start_encoder_inertial.Pixbuf = pixbuf;
+ //pixbuf = new Pixbuf (null, Util.GetImagePath(false) +
Constants.FileNameSelectorEncoderInertial);
+ //image_selector_start_encoder_inertial.Pixbuf = pixbuf;
pixbuf = new Pixbuf (null, Util.GetImagePath(false) + Constants.FileNameLogo);
image_logo.Pixbuf = pixbuf;
@@ -3046,7 +3072,9 @@ public partial class ChronoJumpWindow
* menu test selectors
*/
- private void on_menuitem_mode_main_menu_activate (object o, EventArgs args) {
+ private void on_menuitem_mode_main_menu_activate (object o, EventArgs args)
+ {
+ reset_buttons_selector_start();
notebook_start.CurrentPage = 0;
//don't show menu bar on start page
@@ -3419,6 +3447,20 @@ public partial class ChronoJumpWindow
return Constants.Menuitem_modes.OTHER;
}
+ private void reset_buttons_selector_start_from_gui(object o, EventArgs args) {
+ reset_buttons_selector_start();
+ }
+ private void reset_buttons_selector_start()
+ {
+ button_selector_start_jumps.Sensitive = true;
+ button_selector_start_runs.Sensitive = true;
+ button_selector_start_encoder.Sensitive = true;
+ button_selector_start_other.Sensitive = true;
+ notebook_selector_start_jumps.CurrentPage = 0;
+ notebook_selector_start_runs.CurrentPage = 0;
+ notebook_selector_start_encoder.CurrentPage = 0;
+ }
+
private void on_radio_menuitem_mode_activate(object o, EventArgs args)
{
//togglebutton sends signal two times (deactivate/activate), just get the good signal
@@ -3429,6 +3471,13 @@ public partial class ChronoJumpWindow
select_menuitem_mode_toggled(getMenuItemMode());
}
+ private void on_button_selector_start_jumps_clicked(object o, EventArgs args)
+ {
+ button_selector_start_runs.Sensitive = false;
+ button_selector_start_encoder.Sensitive = false;
+ button_selector_start_other.Sensitive = false;
+ notebook_selector_start_jumps.CurrentPage = 1;
+ }
private void on_button_selector_start_jumps_simple_clicked(object o, EventArgs args)
{
if(radio_menuitem_mode_jumps_simple.Active) {
@@ -3445,7 +3494,15 @@ public partial class ChronoJumpWindow
else
radio_menuitem_mode_jumps_reactive.Active = true;
}
- private void on_button_selector_start_runs_simple_clicked(object o, EventArgs args)
+
+ private void on_button_selector_start_runs_clicked(object o, EventArgs args)
+ {
+ button_selector_start_jumps.Sensitive = false;
+ button_selector_start_encoder.Sensitive = false;
+ button_selector_start_other.Sensitive = false;
+ notebook_selector_start_runs.CurrentPage = 1;
+ }
+ private void on_button_selector_start_runs_simple_clicked(object o, EventArgs args)
{
if(radio_menuitem_mode_runs_simple.Active)
select_menuitem_mode_toggled(Constants.Menuitem_modes.RUNSSIMPLE);
@@ -3459,20 +3516,29 @@ public partial class ChronoJumpWindow
else
radio_menuitem_mode_runs_intervallic.Active = true;
}
- private void on_button_selector_start_power_gravitatory_clicked(object o, EventArgs args)
+
+ private void on_button_selector_start_encoder_clicked(object o, EventArgs args)
+ {
+ button_selector_start_jumps.Sensitive = false;
+ button_selector_start_runs.Sensitive = false;
+ button_selector_start_other.Sensitive = false;
+ notebook_selector_start_encoder.CurrentPage = 1;
+ }
+ private void on_button_selector_start_encoder_gravitatory_clicked(object o, EventArgs args)
{
if(radio_menuitem_mode_power_gravitatory.Active)
select_menuitem_mode_toggled(Constants.Menuitem_modes.POWERGRAVITATORY);
else
radio_menuitem_mode_power_gravitatory.Active = true;
}
- private void on_button_selector_start_power_inertial_clicked(object o, EventArgs args)
+ private void on_button_selector_start_encoder_inertial_clicked(object o, EventArgs args)
{
if(radio_menuitem_mode_power_inertial.Active)
select_menuitem_mode_toggled(Constants.Menuitem_modes.POWERINERTIAL);
else
radio_menuitem_mode_power_inertial.Active = true;
}
+
private void on_button_selector_start_other_clicked(object o, EventArgs args)
{
if(radio_menuitem_mode_other.Active)
diff --git a/src/gui/movingStartWindow.cs b/src/gui/movingStartWindow.cs
new file mode 100644
index 0000000..e9eb229
--- /dev/null
+++ b/src/gui/movingStartWindow.cs
@@ -0,0 +1,173 @@
+/*
+ * This file is part of ChronoJump
+ *
+ * Chronojump is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Chronojump is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * Copyright (C) 2004-2016 Xavier de Blas <xaviblas gmail com>
+ */
+
+
+using System;
+using Gtk;
+
+/*
+ * Unused because moving doesn't look nice on big buttons, store here for the future
+ *
+public partial class ChronoJumpWindow
+{
+ [Widget] Gtk.HBox hbox_start_test;
+ [Widget] Gtk.Alignment alignment_start_test_l;
+ [Widget] Gtk.Alignment alignment_start_test_m;
+ [Widget] Gtk.Alignment alignment_start_test_r;
+ [Widget] Gtk.Button button_start_test_l;
+ [Widget] Gtk.Button button_start_test_m;
+ [Widget] Gtk.Button button_start_test_r;
+
+ MovingStartButton msb_l;
+ MovingStartButton msb_m;
+ MovingStartButton msb_r;
+ int msb_l_pos;
+ int msb_m_pos;
+ int msb_r_pos;
+ bool timerStartTest_l;
+ bool timerStartTest_m;
+ bool timerStartTest_r;
+
+ private void moveStartTestInitial()
+ {
+ int emptySpace = hbox_start_test.Allocation.Width -
+ (button_start_test_l.Allocation.Width + button_start_test_m.Allocation.Width +
button_start_test_r.Allocation.Width);
+ int leftSpace = Convert.ToInt32(emptySpace / 4); //4: left, between 1-2, between 2-3, right
+ msb_l_pos = leftSpace;
+ msb_m_pos = leftSpace;
+ msb_r_pos = leftSpace;
+ alignment_start_test_l.SetPadding(0,0,Convert.ToUInt32(msb_l_pos),0);
+ alignment_start_test_m.SetPadding(0,0,Convert.ToUInt32(msb_m_pos),0);
+ alignment_start_test_r.SetPadding(0,0,Convert.ToUInt32(msb_r_pos),0);
+ }
+
+ private void on_alignment_start_l_clicked(object o, EventArgs args)
+ {
+ msb_m = new MovingStartButton(msb_m_pos,
+ //600,
+ hbox_start_test.Allocation.Width - button_start_test_m.Allocation.Width -
button_start_test_r.Allocation.Width,
+ MovingStartButton.Dirs.R);
+ timerStartTest_l = true;
+ GLib.Timeout.Add(1, new GLib.TimeoutHandler(OnTimerStartTest_l));
+ }
+ //moving m to right will move also r, make him move to left until they collide
+ bool OnTimerStartTest_l()
+ {
+ if (! timerStartTest_l)
+ return false;
+
+ if(msb_m != null)
+ msb_m.Next();
+
+ if(msb_m.Moving) {
+ msb_m_pos = msb_m.Pos;
+
+ if( msb_r_pos - msb_m.Speed >= 1)
+ msb_r_pos -= msb_m.Speed;
+ else
+ msb_r_pos = 1;
+
+ alignment_start_test_m.SetPadding(0,0,Convert.ToUInt32(msb_m_pos),0);
+ alignment_start_test_r.SetPadding(0,0,Convert.ToUInt32(msb_r_pos),0);
+
+ LogB.Information("mpos: " + msb_m.Pos + "; mspeed: " + msb_m.Speed + "; rpos: " +
msb_r_pos);
+ return true;
+ } else
+ return false;
+ }
+
+ private void on_alignment_start_m_clicked(object o, EventArgs args)
+ {
+ msb_l = new MovingStartButton(msb_l_pos, 1, MovingStartButton.Dirs.L);
+ timerStartTest_m = true;
+ GLib.Timeout.Add(1, new GLib.TimeoutHandler(OnTimerStartTest_m));
+ }
+ //this will move l left, m right to maintain position, r right to the end
+ bool OnTimerStartTest_m()
+ {
+ if (! timerStartTest_m)
+ return false;
+
+ if(msb_l != null)
+ msb_l.Next();
+
+ if(msb_l.Moving) {
+ msb_l_pos = msb_l.Pos;
+
+ msb_m_pos += msb_l.Speed;
+ msb_r_pos += msb_l.Speed;
+
+ alignment_start_test_l.SetPadding(0,0,Convert.ToUInt32(msb_l_pos),0);
+ alignment_start_test_m.SetPadding(0,0,Convert.ToUInt32(msb_m_pos),0);
+ alignment_start_test_r.SetPadding(0,0,Convert.ToUInt32(msb_r_pos),0);
+
+ return true;
+ } else
+ return false;
+ }
+
+ private void on_alignment_start_r_clicked(object o, EventArgs args)
+ {
+ msb_m = new MovingStartButton(msb_m_pos, -200, MovingStartButton.Dirs.L);
+ timerStartTest_r = true;
+ GLib.Timeout.Add(1, new GLib.TimeoutHandler(OnTimerStartTest_r));
+ }
+ //moving m to left but when colliding with l, move it also
+ bool OnTimerStartTest_r()
+ {
+ if (! timerStartTest_r)
+ return false;
+
+ if(msb_m != null)
+ msb_m.Next();
+
+ if(msb_m.Moving) {
+ int msb_l_pos_old = msb_l_pos;
+ int msb_m_pos_old = msb_m_pos;
+
+ msb_m_pos = msb_m.Pos;
+
+ if(msb_m_pos <= 1) {
+ msb_m_pos = 1;
+ msb_l_pos -= msb_m.Speed;
+ }
+
+ if(msb_l_pos <= 0) {
+ timerStartTest_r = false;
+ return false;
+ }
+
+ msb_r_pos += (msb_l_pos_old - msb_l_pos) + (msb_m_pos_old - msb_m_pos);
+
+ alignment_start_test_l.SetPadding(0,0,Convert.ToUInt32(msb_l_pos),0);
+ alignment_start_test_m.SetPadding(0,0,Convert.ToUInt32(msb_m_pos),0);
+ alignment_start_test_r.SetPadding(0,0,Convert.ToUInt32(msb_r_pos),0);
+
+ return true;
+ } else
+ return false;
+ }
+
+ private void on_alignment_start_reset_clicked(object o, EventArgs args)
+ {
+ moveStartTestInitial();
+ }
+}
+*/
diff --git a/src/gui/usefulObjects.cs b/src/gui/usefulObjects.cs
index 4d1e828..a156b02 100644
--- a/src/gui/usefulObjects.cs
+++ b/src/gui/usefulObjects.cs
@@ -321,6 +321,56 @@ public class UpdateProgressBar {
~UpdateProgressBar() {}
}
+//start window buttons
+public class MovingStartButton
+{
+ public bool Moving;
+
+ private double pos;
+ private double speed;
+ private int end;
+ public enum Dirs { R, L }
+ private Dirs dir;
+
+
+ public MovingStartButton(int start, int end, Dirs dir)
+ {
+ pos = start;
+ this.end = end;
+ this.dir = dir;
+ Moving = true;
+ }
+
+ public bool Next()
+ {
+ if(dir == Dirs.R) {
+ if( pos >= end )
+ Moving = false;
+ else {
+ speed = Math.Ceiling(Math.Abs(end-pos)/25.0);
+ pos += speed;
+ }
+ } else {
+ if( pos <= end )
+ Moving = false;
+ else {
+ speed = Math.Ceiling(Math.Abs(end-pos)/25.0);
+ pos -= speed;
+ }
+ }
+
+ //LogB.Information("pos: " + pos + "; speed: " + speed);
+ return true;
+ }
+
+ public int Pos {
+ get { return Convert.ToInt32(pos); }
+ }
+ public int Speed {
+ get { return Convert.ToInt32(speed); }
+ }
+}
+
//for animate last jump, run, pulse on a bar graph
public class MovingBar
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]