[chronojump] gui: done: reaction time and pulse
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] gui: done: reaction time and pulse
- Date: Thu, 31 Mar 2011 10:53:47 +0000 (UTC)
commit 3667402f712c30b0a885225e28ecea4a411d7e9f
Author: Xavier de Blas <xaviblas gmail com>
Date: Thu Mar 31 12:52:12 2011 +0200
gui: done: reaction time and pulse
glade/chronojump.glade | 719 ++++++++++++++++++++++++++---------------------
src/gui/chronojump.cs | 103 +++-----
src/gui/eventExecute.cs | 11 +
src/gui/pulse.cs | 155 ++++-------
src/gui/reactionTime.cs | 14 +-
5 files changed, 512 insertions(+), 490 deletions(-)
---
diff --git a/glade/chronojump.glade b/glade/chronojump.glade
index 43ccf92..b44ddaa 100644
--- a/glade/chronojump.glade
+++ b/glade/chronojump.glade
@@ -5628,222 +5628,7 @@ suitable for agility tests)</property>
<property name="type_hint">dialog</property>
<signal name="delete_event" handler="on_delete_event"/>
<child>
- <widget class="GtkVBox" id="vbox72">
- <property name="visible">True</property>
- <property name="spacing">6</property>
- <child>
- <widget class="GtkLabel" id="label207">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Extra data for this pulse</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkFrame" id="frame15">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">none</property>
- <child>
- <widget class="GtkAlignment" id="alignment56">
- <property name="visible">True</property>
- <property name="top_padding">2</property>
- <property name="left_padding">12</property>
- <child>
- <widget class="GtkTable" id="table29">
- <property name="visible">True</property>
- <property name="n_rows">2</property>
- <property name="n_columns">2</property>
- <property name="column_spacing">6</property>
- <property name="row_spacing">6</property>
- <child>
- <widget class="GtkLabel" id="label211">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">seconds</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"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label213">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">ppm</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkSpinButton" id="spinbutton_pulse_step">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">1 0 100 0.0099999997764800008 1 1</property>
- <property name="digits">3</property>
- <property name="numeric">True</property>
- <property name="update_policy">if-valid</property>
- <signal name="changed" handler="on_spinbutton_pulse_step_changed"/>
- </widget>
- <packing>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkSpinButton" id="spinbutton_ppm">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">60 0 1000 1 1 1</property>
- <property name="digits">2</property>
- <property name="numeric">True</property>
- <property name="update_policy">if-valid</property>
- <signal name="changed" handler="on_spinbutton_ppm_changed"/>
- </widget>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkLabel" id="label212">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>pulse step</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHSeparator" id="hseparator11">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <widget class="GtkCheckButton" id="checkbutton_unlimited">
- <property name="label" translatable="yes">unlimited</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="tooltip" translatable="yes">unlimited pulses</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <signal name="clicked" handler="on_checkbutton_unlimited_clicked"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">3</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox_total_pulses">
- <property name="visible">True</property>
- <property name="spacing">6</property>
- <child>
- <widget class="GtkLabel" id="label208">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">total pulses</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkSpinButton" id="spinbutton_total_pulses">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">10 1 1000 1 10 10</property>
- <property name="snap_to_ticks">True</property>
- <property name="numeric">True</property>
- <property name="update_policy">if-valid</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="position">4</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHButtonBox" id="hbuttonbox28">
- <property name="visible">True</property>
- <property name="layout_style">spread</property>
- <child>
- <widget class="GtkButton" id="button_cancel">
- <property name="label">gtk-cancel</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="receives_default">False</property>
- <property name="use_stock">True</property>
- <signal name="clicked" handler="on_button_cancel_clicked"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkButton" id="button_accept">
- <property name="label">gtk-ok</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="receives_default">False</property>
- <property name="use_stock">True</property>
- <signal name="clicked" handler="on_button_accept_clicked"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="padding">10</property>
- <property name="position">5</property>
- </packing>
- </child>
- </widget>
+ <placeholder/>
</child>
</widget>
<widget class="GtkDialog" id="dialog_calendar">
@@ -13593,40 +13378,6 @@ by you</property>
<child>
<widget class="GtkMenu" id="menu_other_menu">
<child>
- <widget class="GtkMenuItem" id="menuitem_reaction_time">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Reaction time</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_reaction_time_activate"/>
- </widget>
- </child>
- <child>
- <widget class="GtkSeparatorMenuItem" id="separador16">
- <property name="visible">True</property>
- </widget>
- </child>
- <child>
- <widget class="GtkMenuItem" id="menuitem_pulse_free">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Free pulse</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_button_pulse_free_activate"/>
- </widget>
- </child>
- <child>
- <widget class="GtkMenuItem" id="menuitem_pulse_custom">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Custom pulse</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_button_pulse_custom_activate"/>
- </widget>
- </child>
- <child>
- <widget class="GtkSeparatorMenuItem" id="separador22">
- <property name="visible">True</property>
- </widget>
- </child>
- <child>
<widget class="GtkMenuItem" id="menuitem_multi_chronopic_start">
<property name="visible">True</property>
<property name="label" translatable="yes">Multi Chronopic start</property>
@@ -14083,7 +13834,7 @@ by you</property>
<widget class="GtkViewport" id="viewport_mode">
<property name="visible">True</property>
<property name="resize_mode">queue</property>
- <property name="hadjustment">0 0 730 73 657 730</property>
+ <property name="hadjustment">0 0 738 73.799999999999997 664.20000000000005 738</property>
<property name="shadow_type">out</property>
<child>
<widget class="GtkHButtonBox" id="hbuttonbox2">
@@ -15884,82 +15635,212 @@ Chronopic</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox142">
+ <widget class="GtkFrame" id="frame8">
<property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.69999998807907104</property>
+ <property name="shadow_type">out</property>
<child>
- <widget class="GtkAlignment" id="alignment_reaction_time_execute">
+ <widget class="GtkAlignment" id="alignment4">
<property name="visible">True</property>
+ <property name="left_padding">6</property>
<child>
- <widget class="GtkButton" id="button_reaction_time">
- <property name="label" translatable="yes">Execute reaction time</property>
+ <widget class="GtkVBox" id="vbox49">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <signal name="clicked" handler="on_reaction_time_activate"/>
- <signal name="enter" handler="on_button_enter"/>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="position">4</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label5">
- <property name="visible">True</property>
- <property name="label" translatable="yes">5</property>
- </widget>
- <packing>
- <property name="position">4</property>
- <property name="tab_fill">False</property>
- <property name="type">tab</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox_pulses">
- <property name="visible">True</property>
- <child>
- <widget class="GtkButton" id="button_pulse_free">
- <property name="label" translatable="yes">Free</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="has_tooltip">True</property>
- <property name="tooltip" translatable="yes">start managing pulses freely</property>
- <property name="use_underline">True</property>
- <signal name="clicked" handler="on_button_pulse_free_activate"/>
- <signal name="enter" handler="on_button_enter"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkHBox" id="hbox60">
+ <property name="visible">True</property>
+ <child>
+ <widget class="GtkRadioButton" id="extra_window_radio_reaction_time">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="relief">none</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">False</property>
+ <child>
+ <widget class="GtkLabel" id="label_extra_window_radio_reaction_time">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Execute reaction time</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox61">
+ <property name="visible">True</property>
+ <property name="spacing">8</property>
+ <child>
+ <widget class="GtkLabel" id="label60">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Selected:</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="extra_window_reaction_times_label_selected">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Execute reaction time</b></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
<child>
- <widget class="GtkButton" id="button_pulse_custom">
- <property name="label" translatable="yes">Custom</property>
+ <widget class="GtkLabel" id="label59">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="has_tooltip">True</property>
- <property name="tooltip" translatable="yes">define desired pulse step</property>
- <property name="use_underline">True</property>
- <signal name="clicked" handler="on_button_pulse_custom_activate"/>
- <signal name="enter" handler="on_button_enter"/>
+ <property name="label" translatable="yes"><b>Select test</b></property>
+ <property name="use_markup">True</property>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label5">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">5</property>
+ </widget>
+ <packing>
+ <property name="position">4</property>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkFrame" id="frame11">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.69999998807907104</property>
+ <property name="shadow_type">out</property>
+ <child>
+ <widget class="GtkAlignment" id="alignment5">
+ <property name="visible">True</property>
+ <property name="left_padding">6</property>
+ <child>
+ <widget class="GtkVBox" id="vbox52">
+ <property name="visible">True</property>
+ <child>
+ <widget class="GtkHBox" id="hbox_pulses">
+ <property name="visible">True</property>
+ <child>
+ <widget class="GtkRadioButton" id="extra_window_radio_pulses_free">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">False</property>
+ <signal name="toggled" handler="on_extra_window_pulses_test_changed"/>
+ <child>
+ <widget class="GtkLabel" id="label_extra_window_radio_pulses_free">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Free</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkRadioButton" id="extra_window_radio_pulses_custom">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">False</property>
+ <property name="group">extra_window_radio_pulses_free</property>
+ <signal name="toggled" handler="on_extra_window_pulses_test_changed"/>
+ <child>
+ <widget class="GtkLabel" id="label_extra_window_radio_pulses_custom">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Custom</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox66">
+ <property name="visible">True</property>
+ <property name="spacing">8</property>
+ <child>
+ <widget class="GtkLabel" id="label30">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Selected:</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="extra_window_pulses_label_selected">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">the selected test</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label29">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Select test</b></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
</packing>
</child>
</widget>
@@ -16854,9 +16735,19 @@ weight</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label29">
+ <widget class="GtkVBox" id="vbox51">
<property name="visible">True</property>
- <property name="label">c</property>
+ <child>
+ <widget class="GtkLabel" id="label77">
+ <property name="height_request">100</property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">No options</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="position">4</property>
@@ -16874,9 +16765,189 @@ weight</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label30">
+ <widget class="GtkVBox" id="vbox53">
<property name="visible">True</property>
- <property name="label">c</property>
+ <child>
+ <widget class="GtkLabel" id="extra_window_label_pulses_no_options">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">No options</property>
+ </widget>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkVBox" id="extra_window_pulses_vbox">
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <widget class="GtkFrame" id="frame15">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <widget class="GtkAlignment" id="alignment56">
+ <property name="visible">True</property>
+ <property name="top_padding">2</property>
+ <property name="left_padding">12</property>
+ <child>
+ <widget class="GtkTable" id="table29">
+ <property name="visible">True</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">6</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <widget class="GtkLabel" id="label211">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">seconds</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"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label213">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">ppm</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkSpinButton" id="extra_window_pulses_spinbutton_pulse_step">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">â??</property>
+ <property name="adjustment">1 0 100 0.0099999997764800008 1 1</property>
+ <property name="digits">3</property>
+ <property name="numeric">True</property>
+ <property name="update_policy">if-valid</property>
+ <signal name="changed" handler="on_extra_window_pulses_spinbutton_pulse_step_changed"/>
+ </widget>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkSpinButton" id="extra_window_pulses_spinbutton_ppm">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">â??</property>
+ <property name="adjustment">60 0 1000 1 1 1</property>
+ <property name="digits">2</property>
+ <property name="numeric">True</property>
+ <property name="update_policy">if-valid</property>
+ <signal name="changed" handler="on_extra_window_pulses_spinbutton_ppm_changed"/>
+ </widget>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label212">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>pulse step</b></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHSeparator" id="hseparator11">
+ <property name="visible">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkCheckButton" id="extra_window_pulses_checkbutton_unlimited">
+ <property name="label" translatable="yes">unlimited</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="has_tooltip">True</property>
+ <property name="tooltip" translatable="yes">unlimited pulses</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="clicked" handler="on_extra_window_pulses_checkbutton_unlimited_clicked"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="extra_window_pulses_hbox_total_pulses">
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <widget class="GtkLabel" id="label208">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">total pulses</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkSpinButton" id="extra_window_pulses_spinbutton_total_pulses">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">â??</property>
+ <property name="adjustment">10 1 1000 1 10 10</property>
+ <property name="snap_to_ticks">True</property>
+ <property name="numeric">True</property>
+ <property name="update_policy">if-valid</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="position">5</property>
@@ -17225,6 +17296,7 @@ weight</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">True</property>
+ <property name="tooltip" translatable="yes">Cancel test</property>
<property name="use_stock">True</property>
<signal name="clicked" handler="on_event_execute_button_cancel_clicked"/>
</widget>
@@ -17242,7 +17314,7 @@ weight</property>
<property name="can_default">True</property>
<property name="receives_default">True</property>
<property name="has_tooltip">True</property>
- <property name="tooltip" translatable="yes">Finish jump (save jump until this moment)</property>
+ <property name="tooltip" translatable="yes">Finish test (save test until this moment)</property>
<property name="use_underline">True</property>
<signal name="clicked" handler="on_event_execute_finish_clicked"/>
</widget>
@@ -17349,6 +17421,7 @@ weight</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
+ <property name="tooltip" translatable="yes">Configure connection with external hardware.</property>
<signal name="clicked" handler="on_chronopic_clicked"/>
</widget>
<packing>
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index d32e7b6..ad9a212 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -129,13 +129,10 @@ public partial class ChronoJumpWindow
//other
//reaction time
- [Widget] Gtk.MenuItem menuitem_reaction_time;
[Widget] Gtk.Button button_edit_selected_reaction_time;
[Widget] Gtk.Button button_video_play_selected_reaction_time;
[Widget] Gtk.Button button_delete_selected_reaction_time;
//pulse
- [Widget] Gtk.MenuItem menuitem_pulse_free;
- [Widget] Gtk.MenuItem menuitem_pulse_custom;
[Widget] Gtk.Button button_edit_selected_pulse;
[Widget] Gtk.Button button_video_play_selected_pulse;
[Widget] Gtk.Button button_delete_selected_pulse;
@@ -191,10 +188,6 @@ public partial class ChronoJumpWindow
[Widget] Gtk.Button button_run_interval_unlimited;
[Widget] Gtk.Button button_run_interval_mtgug;
[Widget] Gtk.Button button_reaction_time_execute;
- [Widget] Gtk.Button button_pulse_free;
- [Widget] Gtk.Button button_pulse_custom;
- [Widget] Gtk.Button button_reaction_time;
- //[Widget] Gtk.Button button_pulse_more;
[Widget] Gtk.Notebook notebook_execute;
@@ -304,6 +297,7 @@ public partial class ChronoJumpWindow
bool thisRunIsSimple; //needed on updating
bool lastRunIsSimple; //needed on update
private static PulseType currentPulseType;
+ private static ReactionTimeType currentReactionTimeType;
private static MultiChronopicType currentMultiChronopicType;
private static Report report;
@@ -334,7 +328,7 @@ public partial class ChronoJumpWindow
EditReactionTimeWindow editReactionTimeWin;
EditPulseWindow editPulseWin;
- PulseExtraWindow pulseExtraWin;
+// PulseExtraWindow pulseExtraWin;
RepairPulseWindow repairPulseWin;
EditMultiChronopicWindow editMultiChronopicWin;
@@ -454,6 +448,8 @@ public partial class ChronoJumpWindow
on_extra_window_jumps_rj_test_changed(new object(), new EventArgs());
on_extra_window_runs_test_changed(new object(), new EventArgs());
on_extra_window_runs_interval_test_changed(new object(), new EventArgs());
+ on_extra_window_reaction_times_test_changed(new object(), new EventArgs());
+ on_extra_window_pulses_test_changed(new object(), new EventArgs());
changeTestImage("", "", "LOGO");
@@ -623,6 +619,15 @@ public partial class ChronoJumpWindow
UtilGtk.ColorsRadio(extra_window_radio_run_interval_mtgug);
UtilGtk.ColorsRadio(extra_window_radio_run_interval_more);
+ //reaction times changes
+ UtilGtk.ColorsTestLabel(label_extra_window_radio_reaction_time);
+ UtilGtk.ColorsRadio(extra_window_radio_reaction_time);
+
+ //pulses changes
+ UtilGtk.ColorsTestLabel(label_extra_window_radio_pulses_free);
+ UtilGtk.ColorsTestLabel(label_extra_window_radio_pulses_custom);
+ UtilGtk.ColorsRadio(extra_window_radio_pulses_free);
+ UtilGtk.ColorsRadio(extra_window_radio_pulses_custom);
//persons buttons
@@ -2882,6 +2887,12 @@ Console.WriteLine("X");
on_run_interval_activate(o, args);
}
+ else if(radio_mode_reaction_times.Active) {
+ on_reaction_time_activate (o, args);
+ }
+ else if(radio_mode_pulses.Active) {
+ on_pulse_activate (o, args);
+ }
}
@@ -3653,22 +3664,8 @@ Console.WriteLine("X");
//suitable for reaction times
private void on_reaction_time_activate (object o, EventArgs args)
{
-/*
- if(o == (object) button_free || o == (object) menuitem_jump_free) {
- currentJumpType = new JumpType("Free");
- }else if(o == (object) button_sj || o == (object) sj) {
- currentJumpType = new JumpType("SJ");
- } else if (o == (object) button_cmj || o == (object) cmj) {
- currentJumpType = new JumpType("CMJ");
- } else if (o == (object) button_abk || o == (object) abk) {
- currentJumpType = new JumpType("ABK");
- } else {
- }
-
-*/
//used by cancel and finish
currentEventType = new ReactionTimeType();
- //currentEventType = currentReactionTimeType;
//hide jumping buttons
sensitiveGuiEventDoing();
@@ -3722,6 +3719,8 @@ Console.WriteLine("X");
currentEventExecute.Manage();
+ currentEventExecute.FakeButtonUpdateGraph.Clicked +=
+ new EventHandler(on_event_execute_update_graph_in_progress_clicked);
currentEventExecute.FakeButtonEventEnded.Clicked += new EventHandler(on_event_execute_EventEnded);
currentEventExecute.FakeButtonFinished.Clicked += new EventHandler(on_reaction_time_finished);
}
@@ -3768,50 +3767,13 @@ Console.WriteLine("X");
* --------------------------------------------------------
*/
- /*
- private void on_button_pulse_more_clicked (object o, EventArgs args)
- {
- }
- */
-
- private void on_more_pulse_accepted (object o, EventArgs args)
- {
/*
- runsIntervalMoreWin.Button_accept.Clicked -= new EventHandler(on_more_runs_interval_accepted);
-
- currentRunType = new RunType(
- runsIntervalMoreWin.SelectedRunType, //name
- true, //hasIntervals
- runsIntervalMoreWin.SelectedDistance,
- runsIntervalMoreWin.SelectedTracksLimited,
- runsIntervalMoreWin.SelectedLimitedValue,
- runsIntervalMoreWin.SelectedUnlimited
- );
-
- //go to run extra if we need something to define
- if( currentRunType.Distance == 0 ||
- (currentRunType.FixedValue == 0 && ! runsIntervalMoreWin.SelectedUnlimited) ) {
- on_run_extra_activate(o, args);
- } else {
- on_run_interval_accepted(o, args);
- }
- */
- }
-
- /*
- private void on_button_pulse_last_clicked (object o, EventArgs args)
- {
- }
- */
-
private void on_button_pulse_free_activate (object o, EventArgs args)
{
currentPulseType = new PulseType("Free");
on_pulse_accepted(o, args);
}
- //interval runs clicked from user interface
- //(not suitable for the other runs we found in "more")
private void on_button_pulse_custom_activate (object o, EventArgs args)
{
currentPulseType = new PulseType("Custom");
@@ -3819,8 +3781,9 @@ Console.WriteLine("X");
pulseExtraWin = PulseExtraWindow.Show(app1, currentPulseType);
pulseExtraWin.Button_accept.Clicked += new EventHandler(on_pulse_accepted);
}
+ */
- private void on_pulse_accepted (object o, EventArgs args)
+ private void on_pulse_activate (object o, EventArgs args)
{
Log.WriteLine("pulse accepted");
@@ -3831,8 +3794,12 @@ Console.WriteLine("X");
pulseStep = currentPulseType.FixedPulse; // -1
totalPulses = currentPulseType.TotalPulsesNum; //-1
} else { //custom (info comes from Extra Window
- pulseStep = pulseExtraWin.PulseStep;
- totalPulses = pulseExtraWin.TotalPulses; //-1: unlimited; or 'n': limited by 'n' pulses
+ pulseStep = extra_window_pulses_spinbutton_pulse_step.Value;
+ if(extra_window_pulses_checkbutton_unlimited.Active)
+ totalPulses = currentPulseType.TotalPulsesNum; //-1
+ else
+ totalPulses = Convert.ToInt32(
+ extra_window_pulses_spinbutton_total_pulses.Value); //-1: unlimited; or 'n': limited by 'n' pulses
}
//used by cancel and finish
@@ -3886,6 +3853,9 @@ Console.WriteLine("X");
currentEventExecute.SimulateInitValues(rand);
currentEventExecute.Manage();
+
+ currentEventExecute.FakeButtonUpdateGraph.Clicked +=
+ new EventHandler(on_event_execute_update_graph_in_progress_clicked);
currentEventExecute.FakeButtonEventEnded.Clicked += new EventHandler(on_event_execute_EventEnded);
currentEventExecute.FakeButtonFinished.Clicked += new EventHandler(on_pulse_finished);
}
@@ -5024,6 +4994,12 @@ Console.WriteLine("X");
else if(notebook_execute.CurrentPage == 3)
changeTestImage(EventType.Types.RUN.ToString(),
currentRunIntervalType.Name, currentRunIntervalType.ImageFileName);
+ else if(notebook_execute.CurrentPage == 4)
+ changeTestImage(EventType.Types.REACTIONTIME.ToString(),
+ currentReactionTimeType.Name, currentReactionTimeType.ImageFileName);
+ else if(notebook_execute.CurrentPage == 5)
+ changeTestImage(EventType.Types.PULSE.ToString(),
+ currentPulseType.Name, currentPulseType.ImageFileName);
stats_win_change_test_type(notebook_execute.CurrentPage);
}
@@ -5133,9 +5109,6 @@ Console.WriteLine("X");
private void menuOtherSensitive(bool option)
{
- menuitem_reaction_time.Sensitive = option;
- menuitem_pulse_free.Sensitive = option;
- menuitem_pulse_custom.Sensitive = option;
menuitem_multi_chronopic_start.Sensitive = option;
menuitem_run_analysis.Sensitive = option;
}
diff --git a/src/gui/eventExecute.cs b/src/gui/eventExecute.cs
index e0d7804..62f1012 100644
--- a/src/gui/eventExecute.cs
+++ b/src/gui/eventExecute.cs
@@ -1852,6 +1852,17 @@ Log.WriteLine("Preparing reactive A");
volumeOn, repetitiveConditionsWin);
}
break;
+ case EventType.Types.REACTIONTIME:
+ Log.Write("update graph: REACTIONTIME");
+ PrepareReactionTimeGraph(
+ currentEventExecute.PrepareEventGraphReactionTimeObject.time);
+ break;
+ case EventType.Types.PULSE:
+ Log.Write("update graph: PULSE");
+ PreparePulseGraph(
+ currentEventExecute.PrepareEventGraphPulseObject.lastTime,
+ currentEventExecute.PrepareEventGraphPulseObject.timesString);
+ break;
}
}
diff --git a/src/gui/pulse.cs b/src/gui/pulse.cs
index 29fb341..cf97c61 100644
--- a/src/gui/pulse.cs
+++ b/src/gui/pulse.cs
@@ -15,7 +15,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
- * Copyright (C) 2004-2009 Xavier de Blas <xaviblas gmail com>
+ * Copyright (C) 2004-2011 Xavier de Blas <xaviblas gmail com>
*/
using System;
@@ -119,128 +119,81 @@ public class EditPulseWindow : EditEventWindow
//---------------- pulse extra WIDGET --------------------
//--------------------------------------------------------
-public class PulseExtraWindow
+public partial class ChronoJumpWindow
{
- [Widget] Gtk.Window pulse_extra;
- [Widget] Gtk.SpinButton spinbutton_pulse_step;
- [Widget] Gtk.SpinButton spinbutton_ppm;
- [Widget] Gtk.SpinButton spinbutton_total_pulses;
- [Widget] Gtk.CheckButton checkbutton_unlimited;
- [Widget] Gtk.HBox hbox_total_pulses;
- [Widget] Gtk.Button button_accept;
-
- static double pulseStep = 1.000;
- static bool unlimited = true;
- static int totalPulses = 10;
+ [Widget] Gtk.RadioButton extra_window_radio_pulses_custom;
+ [Widget] Gtk.RadioButton extra_window_radio_pulses_free;
- static PulseExtraWindow PulseExtraWindowBox;
- Gtk.Window parent;
+ [Widget] Gtk.Label label_extra_window_radio_pulses_custom;
+ [Widget] Gtk.Label label_extra_window_radio_pulses_free;
+
+ [Widget] Gtk.Label extra_window_pulses_label_selected;
+
+ [Widget] Gtk.VBox extra_window_pulses_vbox;
+ [Widget] Gtk.SpinButton extra_window_pulses_spinbutton_pulse_step;
+ [Widget] Gtk.SpinButton extra_window_pulses_spinbutton_ppm;
+ [Widget] Gtk.SpinButton extra_window_pulses_spinbutton_total_pulses;
+ [Widget] Gtk.CheckButton extra_window_pulses_checkbutton_unlimited;
+ [Widget] Gtk.HBox extra_window_pulses_hbox_total_pulses;
+
+ [Widget] Gtk.Label extra_window_label_pulses_no_options;
- PulseExtraWindow (Gtk.Window parent) {
- Glade.XML gladeXML;
- gladeXML = Glade.XML.FromAssembly (Util.GetGladePath() + "chronojump.glade", "pulse_extra", null);
- gladeXML.Autoconnect(this);
- this.parent = parent;
-
- //put an icon to window
- UtilGtk.IconWindow(pulse_extra);
- }
+ double extra_window_pulseStep = 1.000;
+ bool extra_window_unlimited = true;
+ int extra_window_totalPulses = 10;
- static public PulseExtraWindow Show (Gtk.Window parent, PulseType myPulseType)
+ private void on_extra_window_pulses_test_changed(object o, EventArgs args)
{
- if (PulseExtraWindowBox == null) {
- PulseExtraWindowBox = new PulseExtraWindow (parent);
- }
+ if(extra_window_radio_pulses_free.Active) currentPulseType = new PulseType("Free");
+ else if (extra_window_radio_pulses_custom.Active) currentPulseType = new PulseType("Custom");
- //put default values or values from previous pulse
- PulseExtraWindowBox.spinbutton_pulse_step.Value = pulseStep;
- if(totalPulses == -1)
- totalPulses = 10;
-
- PulseExtraWindowBox.spinbutton_total_pulses.Value = totalPulses;
-
- if(unlimited)
- PulseExtraWindowBox.checkbutton_unlimited.Active = true;
-
- PulseExtraWindowBox.pulse_extra.Show ();
-
- return PulseExtraWindowBox;
+ extra_window_pulses_initialize(currentPulseType);
}
-
-
- void on_button_cancel_clicked (object o, EventArgs args)
+
+ private void extra_window_pulses_initialize(PulseType myPulseType)
{
- PulseExtraWindowBox.pulse_extra.Hide();
- PulseExtraWindowBox = null;
+ extra_window_pulses_label_selected.Text = "<b>" + Catalog.GetString(myPulseType.Name) + "</b>";
+ extra_window_pulses_label_selected.UseMarkup = true;
+ currentEventType = myPulseType;
+ changeTestImage(EventType.Types.PULSE.ToString(), myPulseType.Name, myPulseType.ImageFileName);
+ bool hasOptions = false;
+
+ if(myPulseType.Name == "Custom") {
+ hasOptions = true;
+ extra_window_pulses_spinbutton_pulse_step.Value = extra_window_pulseStep;
+ extra_window_pulses_spinbutton_total_pulses.Value = extra_window_totalPulses;
+ }
+
+ extra_window_pulses_showNoOptions(hasOptions);
}
- void on_delete_event (object o, DeleteEventArgs args)
- {
- PulseExtraWindowBox.pulse_extra.Hide();
- PulseExtraWindowBox = null;
+ private void extra_window_pulses_showNoOptions(bool hasOptions) {
+ extra_window_label_pulses_no_options.Visible = ! hasOptions;
+ extra_window_pulses_vbox.Visible = hasOptions;
}
- void on_button_accept_clicked (object o, EventArgs args)
- {
- pulseStep = (double) PulseExtraWindowBox.spinbutton_pulse_step.Value;
- Log.WriteLine(string.Format("pulsestep: {0}", pulseStep));
- if(checkbutton_unlimited.Active) {
- totalPulses = -1;
- unlimited = true;
- }
- else {
- totalPulses = (int) PulseExtraWindowBox.spinbutton_total_pulses.Value;
- unlimited = false;
- }
-
- PulseExtraWindowBox.pulse_extra.Hide();
- PulseExtraWindowBox = null;
- }
-
- void on_checkbutton_unlimited_clicked (object o, EventArgs args)
+ void on_extra_window_pulses_checkbutton_unlimited_clicked (object o, EventArgs args)
{
- if(checkbutton_unlimited.Active) {
- hbox_total_pulses.Hide();
- } else {
- hbox_total_pulses.Show();
- }
+ extra_window_pulses_hbox_total_pulses.Visible = ! extra_window_pulses_checkbutton_unlimited.Active;
}
- void on_spinbutton_pulse_step_changed (object o, EventArgs args)
+ void on_extra_window_pulses_spinbutton_pulse_step_changed (object o, EventArgs args)
{
- if((double) PulseExtraWindowBox.spinbutton_pulse_step.Value == 0)
- PulseExtraWindowBox.spinbutton_ppm.Value = 0;
+ if((double) extra_window_pulses_spinbutton_pulse_step.Value == 0)
+ extra_window_pulses_spinbutton_ppm.Value = 0;
else
- PulseExtraWindowBox.spinbutton_ppm.Value = 60 /
- (double) PulseExtraWindowBox.spinbutton_pulse_step.Value;
+ extra_window_pulses_spinbutton_ppm.Value = 60 /
+ (double) extra_window_pulses_spinbutton_pulse_step.Value;
}
- void on_spinbutton_ppm_changed (object o, EventArgs args)
+ void on_extra_window_pulses_spinbutton_ppm_changed (object o, EventArgs args)
{
- if((int) PulseExtraWindowBox.spinbutton_ppm.Value == 0)
- PulseExtraWindowBox.spinbutton_pulse_step.Value = 0;
+ if((int) extra_window_pulses_spinbutton_ppm.Value == 0)
+ extra_window_pulses_spinbutton_pulse_step.Value = 0;
else
- PulseExtraWindowBox.spinbutton_pulse_step.Value = 60 /
- (double) PulseExtraWindowBox.spinbutton_ppm.Value;
- }
-
-
-
- public Button Button_accept
- {
- set { button_accept = value; }
- get { return button_accept; }
- }
-
- public double PulseStep
- {
- get { return pulseStep; }
- }
-
- public int TotalPulses
- {
- get { return totalPulses; }
+ extra_window_pulses_spinbutton_pulse_step.Value = 60 /
+ (double) extra_window_pulses_spinbutton_ppm.Value;
}
}
diff --git a/src/gui/reactionTime.cs b/src/gui/reactionTime.cs
index 2b9f16a..f8d3bc2 100644
--- a/src/gui/reactionTime.cs
+++ b/src/gui/reactionTime.cs
@@ -15,7 +15,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
- * Copyright (C) 2004-2009 Xavier de Blas <xaviblas gmail com>
+ * Copyright (C) 2004-2011 Xavier de Blas <xaviblas gmail com>
*/
using System;
@@ -27,6 +27,18 @@ using System.Collections; //ArrayList
using System.Threading;
using Mono.Unix;
+public partial class ChronoJumpWindow
+{
+ [Widget] Gtk.Label label_extra_window_radio_reaction_time;
+ [Widget] Gtk.RadioButton extra_window_radio_reaction_time;
+
+ private void on_extra_window_reaction_times_test_changed(object o, EventArgs args)
+ {
+ if(extra_window_radio_reaction_time.Active)
+ currentReactionTimeType = new ReactionTimeType("reactionTime");
+ }
+}
+
//--------------------------------------------------------
//---------------- EDIT REACTION TIME WIDGET -------------
//--------------------------------------------------------
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]