[chronojump] gui: stats done. Fixed 498486: multiple call stats
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] gui: stats done. Fixed 498486: multiple call stats
- Date: Mon, 28 Mar 2011 12:52:57 +0000 (UTC)
commit 2b058efe4c540cd4719eb8a33e63c91b79e4d6b0
Author: Xavier de Blas <xaviblas gmail com>
Date: Mon Mar 28 02:09:05 2011 +0200
gui: stats done. Fixed 498486: multiple call stats
Makefile.win32 | 1 +
glade/chronojump.glade | 2001 +++++++++++++++++++++++++-----------------------
images/spreadsheet.png | Bin 0 -> 857 bytes
src/Makefile.am | 1 +
src/constants.cs | 2 +-
src/gui/chronojump.cs | 17 +-
src/gui/stats.cs | 111 ++-
7 files changed, 1121 insertions(+), 1012 deletions(-)
---
diff --git a/Makefile.win32 b/Makefile.win32
index 6a0c203..88fa688 100644
--- a/Makefile.win32
+++ b/Makefile.win32
@@ -339,6 +339,7 @@ CHRONOJUMP_RESOURCES = \
-resource:../images/chronopic_24.png,chronopic_24.png \
-resource:../images/chronopic_128.png,chronopic_128.png \
-resource:../images/gpm-statistics.png,gpm-statistics.png \
+ -resource:../images/spreadsheet,spreadsheet.png \
-resource:../images/stock_task-assigned.png,stock_task-assigned.png \
-resource:../images/preferences-system.png,preferences-system.png \
-resource:../images/stock_delete.png,stock_delete.png \
diff --git a/glade/chronojump.glade b/glade/chronojump.glade
index 4ece736..ea58bcb 100644
--- a/glade/chronojump.glade
+++ b/glade/chronojump.glade
@@ -20679,9 +20679,9 @@ weight</property>
<property name="visible">True</property>
<property name="spacing">4</property>
<child>
- <widget class="GtkImage" id="image7">
+ <widget class="GtkImage" id="image_results">
<property name="visible">True</property>
- <property name="stock">gnome-stock-table-fill</property>
+ <property name="stock">gtk-missing-image</property>
</widget>
<packing>
<property name="position">0</property>
@@ -20704,149 +20704,217 @@ weight</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox_stats">
+ <widget class="GtkNotebook" id="notebook_stats_sup">
<property name="visible">True</property>
- <property name="spacing">5</property>
+ <property name="can_focus">True</property>
+ <property name="show_tabs">False</property>
+ <property name="show_border">False</property>
<child>
- <widget class="GtkNotebook" id="notebook1">
+ <widget class="GtkVBox" id="vbox_stats">
<property name="visible">True</property>
- <property name="can_focus">True</property>
+ <property name="spacing">5</property>
<child>
- <widget class="GtkVBox" id="vbox35">
+ <widget class="GtkNotebook" id="notebook_stats">
<property name="visible">True</property>
- <property name="spacing">4</property>
+ <property name="can_focus">True</property>
<child>
- <widget class="GtkHBox" id="hbox39">
+ <widget class="GtkVBox" id="vbox35">
<property name="visible">True</property>
<property name="spacing">4</property>
<child>
- <widget class="GtkVBox" id="vbox37">
+ <widget class="GtkHBox" id="hbox39">
<property name="visible">True</property>
+ <property name="spacing">4</property>
<child>
- <widget class="GtkLabel" id="label161">
+ <widget class="GtkVBox" id="vbox_stats_type">
<property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Type</property>
- <property name="use_markup">True</property>
+ <child>
+ <widget class="GtkLabel" id="label_stats_type">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Type</property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox_combo_stats_stat_type">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox_combo_stats_stat_type">
+ <widget class="GtkVBox" id="vbox39">
<property name="visible">True</property>
<child>
- <placeholder/>
+ <widget class="GtkLabel" id="label491">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Subtype</property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox_combo_stats_stat_subtype">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
</child>
</widget>
<packing>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkVBox" id="vbox39">
- <property name="visible">True</property>
- <child>
- <widget class="GtkLabel" id="label491">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Subtype</property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="position">0</property>
- </packing>
- </child>
<child>
- <widget class="GtkHBox" id="hbox_combo_stats_stat_subtype">
+ <widget class="GtkVBox" id="vbox40">
<property name="visible">True</property>
<child>
- <placeholder/>
+ <widget class="GtkLabel" id="label_apply_to">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Apply to</property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox_combo_stats_stat_apply_to">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
</child>
</widget>
<packing>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
</widget>
<packing>
- <property name="position">1</property>
+ <property name="expand">False</property>
+ <property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox40">
+ <widget class="GtkNotebook" id="notebook_stats_win_options">
<property name="visible">True</property>
+ <property name="show_tabs">False</property>
+ <property name="show_border">False</property>
<child>
- <widget class="GtkLabel" id="label_apply_to">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Apply to</property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox_combo_stats_stat_apply_to">
+ <widget class="GtkHBox" id="hbox51">
<property name="visible">True</property>
+ <property name="spacing">8</property>
<child>
- <placeholder/>
+ <widget class="GtkLabel" id="label_subtraction_between">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Subtraction between</property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox_subtraction_between">
+ <property name="visible">True</property>
+ <property name="spacing">8</property>
+ <child>
+ <widget class="GtkHBox" id="hbox_subtraction_between_1">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </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="label44">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">and</property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox_subtraction_between_2">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </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>
</widget>
- <packing>
- <property name="position">1</property>
- </packing>
</child>
- </widget>
- <packing>
- <property name="position">2</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkNotebook" id="notebook_stats_win_options">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="show_tabs">False</property>
- <property name="show_border">False</property>
- <child>
- <widget class="GtkHBox" id="hbox51">
- <property name="visible">True</property>
- <property name="spacing">8</property>
<child>
- <widget class="GtkLabel" id="label_subtraction_between">
+ <widget class="GtkLabel" id="label45">
<property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Subtraction between</property>
- <property name="use_markup">True</property>
+ <property name="label" translatable="yes">subtraction</property>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="position">0</property>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox_subtraction_between">
+ <widget class="GtkHBox" id="hbox_mark_consecutives">
<property name="visible">True</property>
- <property name="spacing">8</property>
<child>
- <widget class="GtkHBox" id="hbox_subtraction_between_1">
+ <widget class="GtkCheckButton" id="checkbutton_mark_consecutives">
+ <property name="label" translatable="yes">mark consecutives</property>
<property name="visible">True</property>
- <child>
- <placeholder/>
- </child>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="has_tooltip">True</property>
+ <property name="tooltip" translatable="yes">mark best 'n' consecutives</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="clicked" handler="on_checkbutton_mark_consecutives_clicked"/>
</widget>
<packing>
<property name="expand">False</property>
@@ -20855,10 +20923,15 @@ weight</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label10">
+ <widget class="GtkSpinButton" id="spinbutton_mark_consecutives">
<property name="visible">True</property>
- <property name="label" translatable="yes">and</property>
- <property name="use_markup">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">â??</property>
+ <property name="adjustment">5 1 100 1 10 0</property>
+ <property name="climb_rate">1</property>
+ <property name="snap_to_ticks">True</property>
+ <property name="numeric">True</property>
+ <signal name="changed" handler="on_spinbutton_mark_consecutives_changed"/>
</widget>
<packing>
<property name="expand">False</property>
@@ -20866,50 +20939,78 @@ weight</property>
<property name="position">1</property>
</packing>
</child>
- <child>
- <widget class="GtkHBox" id="hbox_subtraction_between_2">
- <property name="visible">True</property>
- <child>
- <placeholder/>
- </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="label46">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">mark_consecutives</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="position">1</property>
+ </packing>
</child>
+ </widget>
+ <packing>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label488">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Type</property>
+ </widget>
+ <packing>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox55">
+ <property name="visible">True</property>
+ <property name="spacing">21</property>
<child>
- <widget class="GtkLabel" id="label44">
+ <widget class="GtkRadioButton" id="radiobutton_current_session">
+ <property name="label" translatable="yes">Current</property>
<property name="visible">True</property>
- <property name="label" translatable="yes">subtraction</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="clicked" handler="on_radiobuttons_stat_session_toggled"/>
</widget>
<packing>
- <property name="tab_fill">False</property>
- <property name="type">tab</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox_mark_consecutives">
+ <widget class="GtkHBox" id="hbox70">
<property name="visible">True</property>
+ <property name="spacing">3</property>
<child>
- <widget class="GtkCheckButton" id="checkbutton_mark_consecutives">
- <property name="label" translatable="yes">mark consecutives</property>
+ <widget class="GtkRadioButton" id="radiobutton_selected_sessions">
+ <property name="label" translatable="yes">Selected</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">mark best 'n' consecutives</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- <signal name="clicked" handler="on_checkbutton_mark_consecutives_clicked"/>
+ <property name="group">radiobutton_current_session</property>
+ <signal name="clicked" handler="on_radiobuttons_stat_session_toggled"/>
</widget>
<packing>
<property name="expand">False</property>
@@ -20918,15 +21019,14 @@ weight</property>
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="spinbutton_mark_consecutives">
+ <widget class="GtkButton" id="button_stats_select_sessions">
+ <property name="label" translatable="yes">select</property>
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="can_focus">True</property>
- <property name="invisible_char">â??</property>
- <property name="adjustment">5 1 100 1 10 0</property>
- <property name="climb_rate">1</property>
- <property name="snap_to_ticks">True</property>
- <property name="numeric">True</property>
- <signal name="changed" handler="on_spinbutton_mark_consecutives_changed"/>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <signal name="clicked" handler="on_button_stats_select_sessions_clicked"/>
</widget>
<packing>
<property name="expand">False</property>
@@ -20936,170 +21036,124 @@ weight</property>
</child>
</widget>
<packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- <child>
- <widget class="GtkLabel" id="label45">
- <property name="visible">True</property>
- <property name="label" translatable="yes">mark_consecutives</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="position">1</property>
+ <property name="tab_fill">False</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="tab_fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label488">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Type</property>
- </widget>
- <packing>
- <property name="tab_fill">False</property>
- <property name="type">tab</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox55">
- <property name="visible">True</property>
- <property name="spacing">21</property>
<child>
- <widget class="GtkRadioButton" id="radiobutton_current_session">
- <property name="label" translatable="yes">Current</property>
+ <widget class="GtkLabel" id="label489">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="active">True</property>
- <property name="draw_indicator">True</property>
- <signal name="clicked" handler="on_radiobuttons_stat_session_toggled"/>
+ <property name="label" translatable="yes">Session</property>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
+ <property name="position">1</property>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox70">
+ <widget class="GtkHBox" id="hbox52">
<property name="visible">True</property>
- <property name="spacing">3</property>
+ <property name="border_width">3</property>
+ <property name="spacing">5</property>
+ <property name="homogeneous">True</property>
<child>
- <widget class="GtkRadioButton" id="radiobutton_selected_sessions">
- <property name="label" translatable="yes">Selected</property>
+ <widget class="GtkVBox" id="vbox45">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton_current_session</property>
- <signal name="clicked" handler="on_radiobuttons_stat_session_toggled"/>
+ <child>
+ <widget class="GtkRadioButton" id="radiobutton_stats_jumps_all">
+ <property name="label" translatable="yes">All</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">radiobutton_stats_jumps_person_average</property>
+ <signal name="clicked" handler="on_radiobutton_stats_jumps_clicked"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="expand">False</property>
- <property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button_stats_select_sessions">
- <property name="label" translatable="yes">select</property>
+ <widget class="GtkVBox" id="vbox41">
<property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <signal name="clicked" handler="on_button_stats_select_sessions_clicked"/>
+ <child>
+ <widget class="GtkHBox" id="hbox53">
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <widget class="GtkRadioButton" id="radiobutton_stats_jumps_limit">
+ <property name="label" translatable="yes">Limit</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">radiobutton_stats_jumps_person_average</property>
+ <signal name="clicked" handler="on_radiobutton_stats_jumps_clicked"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkSpinButton" id="spin_stats_jumps_limit">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">â??</property>
+ <property name="adjustment">10 1 99 1 10 0</property>
+ <property name="climb_rate">1</property>
+ <property name="snap_to_ticks">True</property>
+ <property name="numeric">True</property>
+ <signal name="changed" handler="on_spinbutton_stats_jumps_changed"/>
+ </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="position">0</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="expand">False</property>
- <property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="position">1</property>
- <property name="tab_fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label489">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Session</property>
- </widget>
- <packing>
- <property name="position">1</property>
- <property name="tab_fill">False</property>
- <property name="type">tab</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox52">
- <property name="visible">True</property>
- <property name="border_width">3</property>
- <property name="spacing">5</property>
- <property name="homogeneous">True</property>
- <child>
- <widget class="GtkVBox" id="vbox45">
- <property name="visible">True</property>
- <child>
- <widget class="GtkRadioButton" id="radiobutton_stats_jumps_all">
- <property name="label" translatable="yes">All</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton_stats_jumps_person_average</property>
- <signal name="clicked" handler="on_radiobutton_stats_jumps_clicked"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkVBox" id="vbox41">
- <property name="visible">True</property>
<child>
- <widget class="GtkHBox" id="hbox53">
+ <widget class="GtkVBox" id="vbox43">
<property name="visible">True</property>
- <property name="spacing">6</property>
<child>
- <widget class="GtkRadioButton" id="radiobutton_stats_jumps_limit">
- <property name="label" translatable="yes">Limit</property>
+ <widget class="GtkRadioButton" id="radiobutton_stats_jumps_person_average">
+ <property name="label" translatable="yes">Person's average</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
+ <property name="active">True</property>
<property name="draw_indicator">True</property>
- <property name="group">radiobutton_stats_jumps_person_average</property>
<signal name="clicked" handler="on_radiobutton_stats_jumps_clicked"/>
</widget>
<packing>
@@ -21107,313 +21161,267 @@ weight</property>
<property name="position">0</property>
</packing>
</child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkVBox" id="vbox44">
+ <property name="visible">True</property>
<child>
- <widget class="GtkSpinButton" id="spin_stats_jumps_limit">
+ <widget class="GtkHBox" id="hbox54">
<property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">â??</property>
- <property name="adjustment">10 1 99 1 10 0</property>
- <property name="climb_rate">1</property>
- <property name="snap_to_ticks">True</property>
- <property name="numeric">True</property>
- <signal name="changed" handler="on_spinbutton_stats_jumps_changed"/>
+ <property name="spacing">6</property>
+ <child>
+ <widget class="GtkRadioButton" id="radiobutton_stats_jumps_person_bests">
+ <property name="label" translatable="yes">Person's bests</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">radiobutton_stats_jumps_person_average</property>
+ <signal name="clicked" handler="on_radiobutton_stats_jumps_clicked"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkSpinButton" id="spin_stats_jumps_person_bests">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">â??</property>
+ <property name="adjustment">1 1 99 1 10 0</property>
+ <property name="climb_rate">1</property>
+ <property name="snap_to_ticks">True</property>
+ <property name="numeric">True</property>
+ <signal name="changed" handler="on_spinbutton_stats_jumps_changed"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
+ <property name="position">0</property>
</packing>
</child>
</widget>
<packing>
<property name="expand">False</property>
- <property name="position">0</property>
+ <property name="position">3</property>
</packing>
</child>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="position">1</property>
+ <property name="position">2</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label490">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Show tests</property>
+ </widget>
+ <packing>
+ <property name="position">2</property>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox43">
+ <widget class="GtkVBox" id="vbox112">
<property name="visible">True</property>
+ <property name="border_width">6</property>
<child>
- <widget class="GtkRadioButton" id="radiobutton_stats_jumps_person_average">
- <property name="label" translatable="yes">Person's average</property>
+ <widget class="GtkCheckButton" id="checkbutton_stats_sex">
+ <property name="label" translatable="yes">Show sex</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
- <property name="active">True</property>
<property name="draw_indicator">True</property>
- <signal name="clicked" handler="on_radiobutton_stats_jumps_clicked"/>
+ <signal name="clicked" handler="on_checkbutton_stats_sex_clicked"/>
</widget>
<packing>
<property name="expand">False</property>
+ <property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <widget class="GtkVBox" id="vbox44">
- <property name="visible">True</property>
<child>
- <widget class="GtkHBox" id="hbox54">
- <property name="visible">True</property>
- <property name="spacing">6</property>
- <child>
- <widget class="GtkRadioButton" id="radiobutton_stats_jumps_person_bests">
- <property name="label" translatable="yes">Person's bests</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">radiobutton_stats_jumps_person_average</property>
- <signal name="clicked" handler="on_radiobutton_stats_jumps_clicked"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkSpinButton" id="spin_stats_jumps_person_bests">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">â??</property>
- <property name="adjustment">1 1 99 1 10 0</property>
- <property name="climb_rate">1</property>
- <property name="snap_to_ticks">True</property>
- <property name="numeric">True</property>
- <signal name="changed" handler="on_spinbutton_stats_jumps_changed"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
+ <widget class="GtkCheckButton" id="checkbutton_show_enunciate">
+ <property name="label" translatable="yes">Show description</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="clicked" handler="on_checkbutton_show_enunciate_clicked"/>
</widget>
<packing>
<property name="expand">False</property>
- <property name="position">0</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
</packing>
</child>
</widget>
<packing>
- <property name="expand">False</property>
<property name="position">3</property>
+ <property name="tab_fill">False</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">2</property>
- <property name="tab_fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label490">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Show tests</property>
- </widget>
- <packing>
- <property name="position">2</property>
- <property name="tab_fill">False</property>
- <property name="type">tab</property>
- </packing>
- </child>
- <child>
- <widget class="GtkVBox" id="vbox112">
- <property name="visible">True</property>
- <property name="border_width">6</property>
<child>
- <widget class="GtkCheckButton" id="checkbutton_stats_sex">
- <property name="label" translatable="yes">Show sex</property>
+ <widget class="GtkLabel" id="label492">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <signal name="clicked" handler="on_checkbutton_stats_sex_clicked"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkCheckButton" id="checkbutton_show_enunciate">
- <property name="label" translatable="yes">Show description</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="active">True</property>
- <property name="draw_indicator">True</property>
- <signal name="clicked" handler="on_checkbutton_show_enunciate_clicked"/>
+ <property name="label" translatable="yes">Other</property>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
+ <property name="position">3</property>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
</packing>
</child>
</widget>
<packing>
- <property name="position">3</property>
- <property name="tab_fill">False</property>
+ <property name="expand">False</property>
+ <property name="padding">4</property>
+ <property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label492">
+ <widget class="GtkHBox" id="hbox253">
<property name="visible">True</property>
- <property name="label" translatable="yes">Other</property>
- </widget>
- <packing>
- <property name="position">3</property>
- <property name="tab_fill">False</property>
- <property name="type">tab</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="padding">4</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox252">
- <property name="visible">True</property>
- <property name="spacing">6</property>
- <child>
- <widget class="GtkVBox" id="vbox114">
- <property name="visible">True</property>
- <property name="spacing">6</property>
<child>
- <widget class="GtkHBox" id="hbox253">
+ <widget class="GtkButton" id="button_stats">
+ <property name="width_request">200</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">After a test, use it to update statistics</property>
+ <signal name="clicked" handler="on_button_stats_clicked"/>
<child>
- <widget class="GtkButton" id="button_stats">
+ <widget class="GtkAlignment" id="alignment18">
<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">After a test, use it to update statistics</property>
- <signal name="clicked" handler="on_button_stats_clicked"/>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
<child>
- <widget class="GtkAlignment" id="alignment18">
+ <widget class="GtkHBox" id="hbox46">
<property name="visible">True</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
+ <property name="spacing">2</property>
<child>
- <widget class="GtkHBox" id="hbox46">
+ <widget class="GtkImage" id="image34">
<property name="visible">True</property>
- <property name="spacing">2</property>
- <child>
- <widget class="GtkImage" id="image34">
- <property name="visible">True</property>
- <property name="stock">gtk-refresh</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="label42">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Update stats</property>
- <property name="use_underline">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
+ <property name="stock">gtk-refresh</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="label47">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Update stats</property>
+ <property name="use_underline">True</property>
</widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
</child>
</widget>
</child>
</widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkCheckButton" id="checkbutton_stats_always">
- <property name="label" translatable="yes">always</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <signal name="clicked" handler="on_checkbutton_stats_always_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="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label46">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Mark</property>
+ <widget class="GtkCheckButton" id="checkbutton_stats_always">
+ <property name="label" translatable="yes">always</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="clicked" handler="on_checkbutton_stats_always_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="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkScrolledWindow" id="scrolledwindow7">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">automatic</property>
+ <property name="vscrollbar_policy">automatic</property>
<child>
- <widget class="GtkHBox" id="hbox_combo_select_checkboxes">
+ <widget class="GtkTreeView" id="treeview_stats">
<property name="visible">True</property>
- <child>
- <placeholder/>
- </child>
+ <property name="can_focus">True</property>
</widget>
- <packing>
- <property name="expand">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="position">2</property>
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox115">
+ <widget class="GtkHBox" id="hbox59">
<property name="visible">True</property>
+ <property name="spacing">10</property>
<child>
- <widget class="GtkLabel" id="label497">
+ <widget class="GtkHBox" id="hbox252">
<property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Description:</property>
+ <property name="spacing">6</property>
+ <child>
+ <widget class="GtkLabel" id="label48">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Mark</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox_combo_select_checkboxes">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="expand">False</property>
@@ -21439,434 +21447,309 @@ weight</property>
</child>
</widget>
<packing>
- <property name="position">1</property>
+ <property name="expand">False</property>
+ <property name="position">3</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow7">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">automatic</property>
- <property name="vscrollbar_policy">automatic</property>
- <child>
- <widget class="GtkTreeView" id="treeview_stats">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <widget class="GtkFrame" id="frame51">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment145">
+ <widget class="GtkFrame" id="frame51">
<property name="visible">True</property>
- <property name="left_padding">12</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.69999998807907104</property>
+ <property name="shadow_type">out</property>
<child>
- <widget class="GtkVBox" id="vbox196">
+ <widget class="GtkAlignment" id="alignment145">
<property name="visible">True</property>
- <property name="spacing">7</property>
+ <property name="left_padding">6</property>
<child>
- <widget class="GtkHBox" id="hbox375">
+ <widget class="GtkVBox" id="vbox37">
<property name="visible">True</property>
<property name="spacing">4</property>
<child>
- <widget class="GtkTable" id="table74">
+ <widget class="GtkNotebook" id="notebook1">
<property name="visible">True</property>
- <property name="n_rows">2</property>
- <property name="n_columns">8</property>
- <property name="column_spacing">4</property>
- <property name="row_spacing">4</property>
+ <property name="can_focus">True</property>
<child>
- <widget class="GtkHBox" id="hbox_combo_graph_type">
+ <widget class="GtkTable" id="table8">
<property name="visible">True</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">4</property>
+ <property name="column_spacing">8</property>
<child>
- <placeholder/>
+ <widget class="GtkLabel" id="label764">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Type</property>
+ </widget>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
</child>
- </widget>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox_combo_graph_palette">
- <property name="visible">True</property>
<child>
- <placeholder/>
+ <widget class="GtkLabel" id="label_graph_var_x">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">var X</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>
- </widget>
- <packing>
- <property name="left_attach">3</property>
- <property name="right_attach">4</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label764">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Type</property>
- </widget>
- <packing>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label765">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Palette</property>
- </widget>
- <packing>
- <property name="left_attach">3</property>
- <property name="right_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox_combo_graph_width">
- <property name="visible">True</property>
<child>
- <placeholder/>
+ <widget class="GtkLabel" id="label_graph_var_y">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">var Y</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"></property>
+ </packing>
</child>
- </widget>
- <packing>
- <property name="left_attach">4</property>
- <property name="right_attach">5</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label766">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Width</property>
- </widget>
- <packing>
- <property name="left_attach">4</property>
- <property name="right_attach">5</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_graph_var_x">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">var X</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="label_graph_var_y">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">var Y</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"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox_combo_graph_var_x">
- <property name="visible">True</property>
<child>
- <placeholder/>
+ <widget class="GtkHBox" id="hbox_combo_graph_type">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </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">GTK_FILL</property>
+ </packing>
</child>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox_combo_graph_var_y">
- <property name="visible">True</property>
<child>
- <placeholder/>
+ <widget class="GtkHBox" id="hbox_combo_graph_var_x">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
</child>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_graph_options">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="label" translatable="yes">Options</property>
- </widget>
- <packing>
- <property name="left_attach">7</property>
- <property name="right_attach">8</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label_graph_legend">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Legend</property>
- </widget>
- <packing>
- <property name="left_attach">6</property>
- <property name="right_attach">7</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox_combo_graph_legend">
- <property name="visible">True</property>
<child>
- <placeholder/>
+ <widget class="GtkHBox" id="hbox_combo_graph_var_y">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkCheckButton" id="checkbutton_transposed">
+ <property name="label" translatable="yes">Transpose</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">Transpose</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label_transposed">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Transpose graph</property>
+ </widget>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="right_attach">4</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
</child>
</widget>
- <packing>
- <property name="left_attach">6</property>
- <property name="right_attach">7</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label771">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Height</property>
- </widget>
- <packing>
- <property name="left_attach">5</property>
- <property name="right_attach">6</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox_combo_graph_height">
+ <widget class="GtkLabel" id="label50">
<property name="visible">True</property>
- <child>
- <placeholder/>
- </child>
+ <property name="label" translatable="yes">Type</property>
</widget>
<packing>
- <property name="left_attach">5</property>
- <property name="right_attach">6</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox380">
+ <widget class="GtkTable" id="table2">
<property name="visible">True</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">5</property>
+ <property name="column_spacing">8</property>
<child>
- <widget class="GtkCheckButton" id="checkbutton_transposed">
- <property name="label" translatable="yes">T</property>
+ <widget class="GtkLabel" id="label766">
<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">Transpose</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Width</property>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox_line">
+ <widget class="GtkHBox" id="hbox_combo_graph_width">
<property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label_line">
- <property name="visible">True</property>
- <property name="has_tooltip">True</property>
- <property name="tooltip" translatable="yes">Width of the line</property>
- <property name="label" translatable="yes">Line</property>
- </widget>
- <packing>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkSpinButton" id="spin_line">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="tooltip" translatable="yes">Width of the line</property>
- <property name="invisible_char">â??</property>
- <property name="adjustment">1 1 5 1 1 0</property>
- <property name="climb_rate">1</property>
- <property name="snap_to_ticks">True</property>
- <property name="numeric">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
+ <placeholder/>
</child>
</widget>
<packing>
- <property name="position">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkCheckButton" id="checkbutton_margins">
- <property name="label" translatable="yes">Margins</property>
+ <widget class="GtkLabel" id="label771">
<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">Show/Hide margins</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <signal name="clicked" handler="on_checkbutton_margins_clicked"/>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Height</property>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
+ <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>
- </widget>
- <packing>
- <property name="left_attach">7</property>
- <property name="right_attach">8</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </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">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox_graph_margins">
- <property name="visible">True</property>
- <property name="spacing">8</property>
- <child>
- <widget class="GtkHBox" id="hbox383">
- <property name="visible">True</property>
- <property name="spacing">4</property>
- <child>
- <widget class="GtkHBox" id="hbox384">
- <property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label777">
+ <widget class="GtkHBox" id="hbox_combo_graph_height">
<property name="visible">True</property>
- <property name="label" translatable="yes">Bottom</property>
+ <child>
+ <placeholder/>
+ </child>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</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_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label_line">
+ <property name="visible">True</property>
+ <property name="has_tooltip">True</property>
+ <property name="tooltip" translatable="yes">Width of the line</property>
+ <property name="label" translatable="yes">Line width</property>
+ </widget>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="right_attach">5</property>
+ <property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="spin_graph_margin_b">
+ <widget class="GtkSpinButton" id="spin_line">
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="tooltip" translatable="yes">Width of the line</property>
<property name="invisible_char">â??</property>
- <property name="adjustment">5 1 20 1 1 0</property>
+ <property name="adjustment">1 1 5 1 1 0</property>
<property name="climb_rate">1</property>
<property name="snap_to_ticks">True</property>
<property name="numeric">True</property>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
+ <property name="left_attach">4</property>
+ <property name="right_attach">5</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox385">
- <property name="visible">True</property>
<child>
- <widget class="GtkLabel" id="label778">
+ <widget class="GtkLabel" id="label_graph_legend">
<property name="visible">True</property>
- <property name="label" translatable="yes">Left</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Legend</property>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
+ <property name="left_attach">3</property>
+ <property name="right_attach">4</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="spin_graph_margin_l">
+ <widget class="GtkHBox" id="hbox_combo_graph_legend">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">â??</property>
- <property name="adjustment">4 1 20 1 1 0</property>
- <property name="climb_rate">1</property>
- <property name="snap_to_ticks">True</property>
- <property name="numeric">True</property>
+ <child>
+ <placeholder/>
+ </child>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
+ <property name="left_attach">3</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label765">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Palette</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"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox_combo_graph_palette">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
</packing>
</child>
</widget>
@@ -21875,28 +21758,182 @@ weight</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox386">
+ <widget class="GtkLabel" id="label51">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Aspect</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox_graph_margins">
<property name="visible">True</property>
+ <property name="spacing">16</property>
<child>
- <widget class="GtkLabel" id="label779">
+ <widget class="GtkHBox" id="hbox383">
<property name="visible">True</property>
- <property name="label" translatable="yes">Top</property>
+ <property name="spacing">8</property>
+ <child>
+ <widget class="GtkHBox" id="hbox384">
+ <property name="visible">True</property>
+ <child>
+ <widget class="GtkLabel" id="label777">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Bottom</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="spin_graph_margin_b">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">â??</property>
+ <property name="adjustment">5 1 20 1 1 0</property>
+ <property name="climb_rate">1</property>
+ <property name="snap_to_ticks">True</property>
+ <property name="numeric">True</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="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox385">
+ <property name="visible">True</property>
+ <child>
+ <widget class="GtkLabel" id="label778">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Left</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="spin_graph_margin_l">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">â??</property>
+ <property name="adjustment">4 1 20 1 1 0</property>
+ <property name="climb_rate">1</property>
+ <property name="snap_to_ticks">True</property>
+ <property name="numeric">True</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="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox386">
+ <property name="visible">True</property>
+ <child>
+ <widget class="GtkLabel" id="label779">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Top</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="spin_graph_margin_t">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">â??</property>
+ <property name="adjustment">4 1 20 1 1 0</property>
+ <property name="climb_rate">1</property>
+ <property name="snap_to_ticks">True</property>
+ <property name="numeric">True</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="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox387">
+ <property name="visible">True</property>
+ <child>
+ <widget class="GtkLabel" id="label780">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Right</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="spin_graph_margin_r">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">â??</property>
+ <property name="adjustment">2 1 20 1 1 0</property>
+ <property name="climb_rate">1</property>
+ <property name="snap_to_ticks">True</property>
+ <property name="numeric">True</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="position">3</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="expand">False</property>
- <property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="spin_graph_margin_t">
+ <widget class="GtkButton" id="button_graph_margin_default">
+ <property name="label" translatable="yes">Default values</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">â??</property>
- <property name="adjustment">4 1 20 1 1 0</property>
- <property name="climb_rate">1</property>
- <property name="snap_to_ticks">True</property>
- <property name="numeric">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <signal name="clicked" handler="on_button_graph_margin_default_clicked"/>
</widget>
<packing>
<property name="expand">False</property>
@@ -21910,38 +21947,14 @@ weight</property>
</packing>
</child>
<child>
- <widget class="GtkHBox" id="hbox387">
+ <widget class="GtkLabel" id="label52">
<property name="visible">True</property>
- <child>
- <widget class="GtkLabel" id="label780">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Right</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="spin_graph_margin_r">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">â??</property>
- <property name="adjustment">2 1 20 1 1 0</property>
- <property name="climb_rate">1</property>
- <property name="snap_to_ticks">True</property>
- <property name="numeric">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
+ <property name="label" translatable="yes">Margins</property>
</widget>
<packing>
- <property name="position">3</property>
+ <property name="position">2</property>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
</packing>
</child>
</widget>
@@ -21950,207 +21963,241 @@ weight</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="button_graph_margin_default">
- <property name="label" translatable="yes">Default values</property>
- <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_button_graph_margin_default_clicked"/>
- </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="GtkHButtonBox" id="hbuttonbox3">
- <property name="visible">True</property>
- <child>
- <widget class="GtkButton" id="button_graph">
- <property name="width_request">150</property>
+ <widget class="GtkHBox" id="hbox47">
<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">Graph this statistic</property>
- <signal name="clicked" handler="on_button_graph_clicked"/>
+ <property name="homogeneous">True</property>
<child>
- <widget class="GtkAlignment" id="alignment24">
+ <widget class="GtkHButtonBox" id="hbuttonbox3">
<property name="visible">True</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
+ <property name="layout_style">center</property>
<child>
- <widget class="GtkHBox" id="hbox57">
+ <widget class="GtkButton" id="button_graph">
+ <property name="width_request">175</property>
<property name="visible">True</property>
- <property name="spacing">2</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="has_tooltip">True</property>
+ <property name="tooltip" translatable="yes">Graph this statistic</property>
+ <signal name="clicked" handler="on_button_graph_clicked"/>
<child>
- <widget class="GtkImage" id="image_stats_win_graph">
+ <widget class="GtkAlignment" id="alignment24">
<property name="visible">True</property>
- </widget>
- <packing>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <child>
+ <widget class="GtkHBox" id="hbox57">
+ <property name="visible">True</property>
+ <property name="spacing">2</property>
+ <child>
+ <widget class="GtkImage" id="image_stats_win_graph">
+ <property name="visible">True</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="label79">
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label79">
<property name="visible">True</property>
<property name="label" translatable="yes">Graph</property>
<property name="use_underline">True</property>
- </widget>
- <packing>
+ </widget>
+ <packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
- </packing>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </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">0</property>
+ </packing>
</child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <widget class="GtkButton" id="button_add_to_report">
- <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">Add this statistic and its graph to report window</property>
- <signal name="clicked" handler="on_button_add_to_report_clicked"/>
<child>
- <widget class="GtkAlignment" id="alignment44">
+ <widget class="GtkHButtonBox" id="hbuttonbox4">
<property name="visible">True</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
+ <property name="spacing">8</property>
+ <property name="layout_style">end</property>
<child>
- <widget class="GtkHBox" id="hbox108">
+ <widget class="GtkButton" id="button_add_to_report">
<property name="visible">True</property>
- <property name="spacing">2</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="has_tooltip">True</property>
+ <property name="tooltip" translatable="yes">Add this statistic and its graph to report window</property>
+ <signal name="clicked" handler="on_button_add_to_report_clicked"/>
<child>
- <widget class="GtkImage" id="image_stats_win_report">
+ <widget class="GtkAlignment" id="alignment44">
<property name="visible">True</property>
- </widget>
- <packing>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <child>
+ <widget class="GtkHBox" id="hbox108">
+ <property name="visible">True</property>
+ <property name="spacing">2</property>
+ <child>
+ <widget class="GtkImage" id="image_stats_win_report">
+ <property name="width_request">16</property>
+ <property name="height_request">16</property>
+ <property name="visible">True</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="label169">
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label169">
<property name="visible">True</property>
<property name="label" translatable="yes">Add to report</property>
<property name="use_underline">True</property>
- </widget>
- <packing>
+ </widget>
+ <packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
- </packing>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
</child>
</widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</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_open_report_window">
- <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">View report window</property>
- <signal name="clicked" handler="on_show_report_clicked"/>
- <child>
- <widget class="GtkAlignment" id="alignment3">
- <property name="visible">True</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
<child>
- <widget class="GtkHBox" id="hbox49">
+ <widget class="GtkButton" id="button_open_report_window">
<property name="visible">True</property>
- <property name="spacing">2</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="has_tooltip">True</property>
+ <property name="tooltip" translatable="yes">View report window</property>
+ <signal name="clicked" handler="on_show_report_clicked"/>
<child>
- <widget class="GtkImage" id="image_stats_win_report1">
+ <widget class="GtkAlignment" id="alignment3">
<property name="visible">True</property>
- </widget>
- <packing>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <child>
+ <widget class="GtkHBox" id="hbox49">
+ <property name="visible">True</property>
+ <property name="spacing">2</property>
+ <child>
+ <widget class="GtkImage" id="image_stats_win_report1">
+ <property name="width_request">16</property>
+ <property name="height_request">16</property>
+ <property name="visible">True</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="label43">
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label49">
<property name="visible">True</property>
<property name="label" translatable="yes">Open report window</property>
<property name="use_underline">True</property>
- </widget>
- <packing>
+ </widget>
+ <packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
- </packing>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
</child>
</widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
</child>
</widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
</child>
</widget>
<packing>
<property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">3</property>
+ <property name="position">1</property>
</packing>
</child>
</widget>
- <packing>
- <property name="expand">False</property>
- <property name="position">2</property>
- </packing>
</child>
</widget>
</child>
- </widget>
- </child>
- <child>
- <widget class="GtkLabel" id="label772">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Graph</b></property>
- <property name="use_markup">True</property>
+ <child>
+ <widget class="GtkLabel" id="label772">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Graph and report</b></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
</widget>
<packing>
- <property name="type">label_item</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">4</property>
</packing>
</child>
</widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label10">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">stats</property>
+ </widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">3</property>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label43">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Sorry, no statistics for this test type
+on current Chronojump version.</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label42">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">error</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
</packing>
</child>
</widget>
diff --git a/images/spreadsheet.png b/images/spreadsheet.png
new file mode 100644
index 0000000..6c84540
Binary files /dev/null and b/images/spreadsheet.png differ
diff --git a/src/Makefile.am b/src/Makefile.am
index 3d1afec..1dc98d2 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -304,6 +304,7 @@ RESOURCES = \
../images/chronopic_24.png,chronopic_24.png \
../images/chronopic_128.png,chronopic_128.png \
../images/gpm-statistics.png,gpm-statistics.png \
+ ../images/spreadsheet.png,spreadsheet.png \
../images/stock_task-assigned.png,stock_task-assigned.png \
../images/preferences-system.png,preferences-system.png \
../images/stock_delete.png,stock_delete.png \
diff --git a/src/constants.cs b/src/constants.cs
index 45ed78c..41c21a8 100644
--- a/src/constants.cs
+++ b/src/constants.cs
@@ -242,7 +242,7 @@ public class Constants
"(68.2*" + Catalog.GetString("height") + "(cm))" +
"+ (40.8*(" + Catalog.GetString("body weight") + "+" + Catalog.GetString("extra weight") + ")) -1731.1";
- public static string RJPotencyBoscoFormula = "Peak Power" + " (Bosco)" + "\n 9.81^2*TF*TT / (4*jumps*(TT-TF))";
+ public static string RJPotencyBoscoFormula = "Peak Power" + " (Bosco)" + " 9.81^2*TF*TT / (4*jumps*(TT-TF))";
public static string RJPotencyBoscoFormulaOnly = "9.81*9.81 * tvavg*jumps * time / ( 4.0 * jumps * (time - tvavg*jumps) )"; //*4.0 for having double division
public static string RJPotencyBoscoName = Catalog.GetString("Peak Power") + " (Bosco)";
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index 3d70e4f..5b09ea4 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -547,7 +547,7 @@ public partial class ChronoJumpWindow
image_mode_pulses.Pixbuf = pixbuf;
pixbuf = new Pixbuf (null, Util.GetImagePath(false) + Constants.FileNameMultiChronopic);
image_mode_multi_chronopic.Pixbuf = pixbuf;
-
+
//jumps changes
UtilGtk.ColorsTestLabel(label_extra_window_radio_jump_free);
@@ -670,6 +670,7 @@ public partial class ChronoJumpWindow
image_reaction_times_zoom.Pixbuf = pixbuf;
image_pulses_zoom.Pixbuf = pixbuf;
image_multi_chronopic_zoom.Pixbuf = pixbuf;
+
//menuitems (done differently)
pixbuf = new Pixbuf (null, Util.GetImagePath(false) + "gpm-statistics.png");
@@ -5017,9 +5018,19 @@ Console.WriteLine("X");
//change test image according to notebook_execute
if(notebook_execute.CurrentPage == 0)
- changeTestImage(EventType.Types.JUMP.ToString(), currentJumpType.Name, currentJumpType.ImageFileName);
+ changeTestImage(EventType.Types.JUMP.ToString(),
+ currentJumpType.Name, currentJumpType.ImageFileName);
else if(notebook_execute.CurrentPage == 1)
- changeTestImage(EventType.Types.JUMP.ToString(), currentJumpRjType.Name, currentJumpRjType.ImageFileName);
+ changeTestImage(EventType.Types.JUMP.ToString(),
+ currentJumpRjType.Name, currentJumpRjType.ImageFileName);
+ else if(notebook_execute.CurrentPage == 2)
+ changeTestImage(EventType.Types.RUN.ToString(),
+ currentRunType.Name, currentRunType.ImageFileName);
+ else if(notebook_execute.CurrentPage == 3)
+ changeTestImage(EventType.Types.RUN.ToString(),
+ currentRunIntervalType.Name, currentRunIntervalType.ImageFileName);
+
+ stats_win_change_test_type(notebook_execute.CurrentPage);
}
//changed by user clicking on notebook tabs
diff --git a/src/gui/stats.cs b/src/gui/stats.cs
index 2398b35..6d0f858 100644
--- a/src/gui/stats.cs
+++ b/src/gui/stats.cs
@@ -32,8 +32,10 @@ public partial class ChronoJumpWindow {
SessionSelectStatsWindow sessionSelectStatsWin;
+ [Widget] Gtk.Notebook notebook_stats_sup;
[Widget] Gtk.Box vbox_stats;
[Widget] Gtk.TreeView treeview_stats;
+ [Widget] Gtk.Box vbox_stats_type;
[Widget] Gtk.Box hbox_combo_stats_stat_type;
[Widget] Gtk.Box hbox_combo_stats_stat_subtype;
[Widget] Gtk.Box hbox_combo_stats_stat_apply_to;
@@ -79,6 +81,7 @@ public partial class ChronoJumpWindow {
[Widget] Gtk.Image image_stats_win_graph1;
[Widget] Gtk.Image image_stats_win_report;
[Widget] Gtk.Image image_stats_win_report1;
+ [Widget] Gtk.Image image_results;
[Widget] Gtk.Box hbox_combo_graph_type;
[Widget] Gtk.Label label_graph_var_x;
@@ -90,9 +93,9 @@ public partial class ChronoJumpWindow {
[Widget] Gtk.ComboBox combo_graph_var_x;
[Widget] Gtk.ComboBox combo_graph_var_y;
[Widget] Gtk.ComboBox combo_graph_palette;
- [Widget] Gtk.Label label_graph_options;
+ [Widget] Gtk.Label label_transposed;
[Widget] Gtk.CheckButton checkbutton_transposed;
- [Widget] Gtk.Box hbox_line;
+ [Widget] Gtk.Label label_line;
[Widget] Gtk.SpinButton spin_line;
[Widget] Gtk.Box hbox_combo_graph_width;
@@ -103,8 +106,6 @@ public partial class ChronoJumpWindow {
[Widget] Gtk.Box hbox_combo_graph_legend;
[Widget] Gtk.ComboBox combo_graph_legend;
- [Widget] Gtk.CheckButton checkbutton_margins;
- [Widget] Gtk.Box hbox_graph_margins;
[Widget] Gtk.SpinButton spin_graph_margin_b; //bottom
[Widget] Gtk.SpinButton spin_graph_margin_l; //left
[Widget] Gtk.SpinButton spin_graph_margin_t; //top
@@ -134,6 +135,38 @@ public partial class ChronoJumpWindow {
Constants.TypeRunsIntervallic,
};
+ private void stats_win_change_test_type(int testPage) {
+ //no statistics for reactionTime, pulse and multichronopic
+ //show a label with this info
+ if(testPage >= 4)
+ notebook_stats_sup.CurrentPage = 1;
+ else {
+ notebook_stats_sup.CurrentPage = 0;
+
+ bool sensitive = false;
+ bool showType = false;
+ if(testPage == 0) {
+ //on jumps show jumpsSimple and JumpsSimpleWithTC
+ string [] str = new string [2];
+ str[0] = comboStatsTypeOptions[0];
+ str[1] = comboStatsTypeOptions[1];
+ sensitive = true;
+ showType = true;
+ UtilGtk.ComboUpdate(combo_stats_stat_type, str, "");
+ }
+ else if(testPage == 1)
+ UtilGtk.ComboUpdate(combo_stats_stat_type, comboStatsTypeOptions[2]);
+ else if(testPage == 2)
+ UtilGtk.ComboUpdate(combo_stats_stat_type, comboStatsTypeOptions[3]);
+ else if(testPage == 3)
+ UtilGtk.ComboUpdate(combo_stats_stat_type, comboStatsTypeOptions[4]);
+
+ combo_stats_stat_type.Active = 0;
+ combo_stats_stat_type.Sensitive = sensitive;
+ vbox_stats_type.Visible = showType;
+ }
+ }
+
private static string [] comboStatsSubTypeWithTCOptions = {
Constants.DjIndexFormula,
Constants.QIndexFormula
@@ -230,13 +263,13 @@ public partial class ChronoJumpWindow {
updateComboStats();
notebook_stats_win_options.Hide();
- hbox_graph_margins.Hide();
//first graph type is boxplot, and it doesn't show transpose also colors are grey...
on_combo_graph_type_changed(new object(), new EventArgs());
//button update stats is unsensitive until a test finished
- button_stats.Visible = false;
+ button_stats.Visible = true;
+ button_stats.Sensitive = false;
}
private void stats_win_hide()
@@ -253,7 +286,10 @@ public partial class ChronoJumpWindow {
pixbuf = new Pixbuf (null, Util.GetImagePath(false) + "stock_task-assigned.png");
image_stats_win_report.Pixbuf = pixbuf;
image_stats_win_report1.Pixbuf = pixbuf;
+ pixbuf = new Pixbuf (null, Util.GetImagePath(false) + "spreadsheet.png");
+ image_results.Pixbuf = pixbuf;
}
+
private void stats_win_initializeSession()
{
@@ -276,7 +312,11 @@ public partial class ChronoJumpWindow {
private void createComboStatsType() {
combo_stats_stat_type = ComboBox.NewText ();
- UtilGtk.ComboUpdate(combo_stats_stat_type, comboStatsTypeOptions, "");
+
+ string [] str = new string [2];
+ str[0] = comboStatsTypeOptions[0];
+ str[1] = comboStatsTypeOptions[1];
+ UtilGtk.ComboUpdate(combo_stats_stat_type, str, "");
combo_stats_stat_type.Active = 0;
combo_stats_stat_type.Changed += new EventHandler (on_combo_stats_stat_type_changed);
@@ -399,12 +439,14 @@ public partial class ChronoJumpWindow {
}
private void showTransposed(bool show) {
+ label_transposed.Visible = show;
checkbutton_transposed.Visible = show;
checkbutton_transposed.Active = true;
}
private void showLineWidth(bool show) {
- hbox_line.Visible = show;
+ label_line.Visible = show;
+ spin_line.Visible = show;
}
private void showGraphXYStuff(bool show) {
@@ -450,13 +492,6 @@ public partial class ChronoJumpWindow {
}
}
- private void on_checkbutton_margins_clicked(object o, EventArgs args) {
- if(checkbutton_margins.Active)
- hbox_graph_margins.Visible = true;
- else
- hbox_graph_margins.Visible = false;
- }
-
private void on_button_graph_margin_default_clicked(object o, EventArgs args) {
spin_graph_margin_b.Value = 5;
spin_graph_margin_l.Value = 4;
@@ -475,6 +510,7 @@ public partial class ChronoJumpWindow {
if( ! checkbutton_stats_sex.Active) {
//this will redo the treeview
checkbutton_stats_sex.Active = true;
+ fillTreeView_stats(false);
//put another time the value Male or Female in combo_select_checkboxes
combo_select_checkboxes.Active = UtilGtk.ComboMakeActive(comboCheckboxesOptions, myText);
}
@@ -576,7 +612,8 @@ public partial class ChronoJumpWindow {
combo_stats_stat_apply_to.Active = 0;
}
- fillTreeView_stats(false);
+ //fillTreeView_stats(false);
+ button_stats.Sensitive = true;
}
private void updateComboStatsSubType() {
@@ -682,12 +719,13 @@ public partial class ChronoJumpWindow {
private void stats_win_fillTreeView_stats (bool graph, bool force)
{
//ask for statsAutomatic, because chronojump.cs doesn't know this
- if(statsAutomatic || force) {
- fillTreeView_stats(graph);
- }
+ //if(statsAutomatic || force) {
+ // fillTreeView_stats(graph);
+ //}
//show update stats button
//ShowUpdateStatsButton();
+ button_stats.Sensitive = true;
}
//creates a GraphROptions object
@@ -915,8 +953,9 @@ public partial class ChronoJumpWindow {
fillTreeView_stats(false);
//after update stats it will be unsensitive until a new test is finished
- //button_stats.Sensitive = false;
- button_stats.Visible = false;
+ //or new options selected
+ button_stats.Sensitive = false;
+ //button_stats.Visible = false;
}
private void on_button_graph_clicked (object o, EventArgs args) {
@@ -970,13 +1009,15 @@ public partial class ChronoJumpWindow {
}
//if (statsAutomatic) {
- fillTreeView_stats(false);
+ //fillTreeView_stats(false);
+ button_stats.Sensitive = true;
//}
}
void on_spinbutton_mark_consecutives_changed (object o, EventArgs args) {
//if (statsAutomatic) {
- fillTreeView_stats(false);
+ //fillTreeView_stats(false);
+ button_stats.Sensitive = true;
//}
}
@@ -1099,7 +1140,8 @@ public partial class ChronoJumpWindow {
string myText2 = UtilGtk.ComboGetActive(combo_stats_stat_subtype);
string myText3 = UtilGtk.ComboGetActive(combo_stats_stat_apply_to);
if (myText != "" && (myText2 != "" || myText3 !="") ) {
- fillTreeView_stats(false);
+ //fillTreeView_stats(false);
+ button_stats.Sensitive = true;
}
}
@@ -1112,7 +1154,8 @@ public partial class ChronoJumpWindow {
string myText2 = UtilGtk.ComboGetActive(combo_stats_stat_subtype);
string myText3 = UtilGtk.ComboGetActive(combo_stats_stat_apply_to);
if (myText != "" && (myText2 != "" || myText3 !="") ) {
- fillTreeView_stats(false);
+ //fillTreeView_stats(false);
+ button_stats.Sensitive = true;
}
}
@@ -1120,7 +1163,8 @@ public partial class ChronoJumpWindow {
string myText = UtilGtk.ComboGetActive(combo_subtraction_between_1);
string myText2 = UtilGtk.ComboGetActive(combo_subtraction_between_2);
if (myText != "" && myText2 != "") {
- fillTreeView_stats(false);
+ //fillTreeView_stats(false);
+ button_stats.Sensitive = true;
}
}
@@ -1147,12 +1191,14 @@ public partial class ChronoJumpWindow {
combo_graph_type, types, UtilGtk.ComboGetActive(combo_graph_type));
}
update_stats_widgets_sensitiveness();
- fillTreeView_stats(false);
+ //fillTreeView_stats(false);
+ button_stats.Sensitive = true;
}
private void on_checkbutton_stats_sex_clicked(object o, EventArgs args)
{
- fillTreeView_stats(false);
+ //fillTreeView_stats(false);
+ button_stats.Sensitive = true;
}
void on_radiobutton_stats_jumps_clicked (object o, EventArgs args)
@@ -1176,13 +1222,15 @@ public partial class ChronoJumpWindow {
update_stats_widgets_sensitiveness();
- fillTreeView_stats(false);
+ //fillTreeView_stats(false);
+ button_stats.Sensitive = true;
}
void on_spinbutton_stats_jumps_changed (object o, EventArgs args)
{
//if (statsAutomatic) {
- fillTreeView_stats(false);
+ //fillTreeView_stats(false);
+ button_stats.Sensitive = true;
//}
}
@@ -1206,7 +1254,8 @@ public partial class ChronoJumpWindow {
update_stats_widgets_sensitiveness();
- fillTreeView_stats(false);
+ //fillTreeView_stats(false);
+ button_stats.Sensitive = true;
}
private void on_button_add_to_report_clicked (object o, EventArgs args) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]