[med-svn] [SCM] aghermann branch, master, updated. f0d4c0fd35bf09e7dff56ddb9a2d798ae916c2ef
andrei zavada
jh at johnhommer.com
Sun Feb 3 12:52:55 UTC 2013
The following commit has been merged in the master branch:
commit 1f1d1919870ffcf6ad6f64c7a8fc76003250aa8f
Author: andrei zavada <jh at johnhommer.com>
Date: Fri Jan 25 10:08:08 2013 +0000
WIP
diff --git a/configure.ac b/configure.ac
index 17dc7bd..bce85b3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -206,7 +206,7 @@ AC_OUTPUT([
src/ui/sm/Makefile
src/ui/mw/Makefile
src/ui/sf/Makefile
- src/ui/sf/dialogs/Makefile
+ src/ui/sf/d/Makefile
src/ui/mf/Makefile
src/tools/Makefile
data/Makefile
diff --git a/src/ui/sf/d/artifacts-construct.cc b/src/ui/sf/d/artifacts-construct.cc
index cfa28ef..2170f25 100644
--- a/src/ui/sf/d/artifacts-construct.cc
+++ b/src/ui/sf/d/artifacts-construct.cc
@@ -62,6 +62,7 @@ SArtifactsDialogWidgets (SScoringFacility& _p)
// haunting GTK+ forbids reuse of _p.mGlobalArtifactDetectionProfiles
gtk_combo_box_set_model_properly( eSFADProfiles, mSFADProfiles);
+ G_CONNECT_1 (wSFAD, show);
G_CONNECT_1 (wSFAD, close);
G_CONNECT_2 (wSFAD, delete, event);
eSFADProfiles_changed_cb_handler_id =
diff --git a/src/ui/sf/d/artifacts.cc b/src/ui/sf/d/artifacts.cc
index 60112bd..71de3a4 100644
--- a/src/ui/sf/d/artifacts.cc
+++ b/src/ui/sf/d/artifacts.cc
@@ -13,6 +13,15 @@
using namespace std;
+aghui::SScoringFacility::SArtifactsDialog&
+aghui::SScoringFacility::
+artifacts_d()
+{
+ if ( not _artifacts_d )
+ _artifacts_d = new SArtifactsDialog(*this);
+ return *_artifacts_d;
+}
+
aghui::SScoringFacility::SArtifactsDialog::
SArtifactsDialog (aghui::SScoringFacility& p_)
diff --git a/src/ui/sf/d/artifacts.hh b/src/ui/sf/d/artifacts.hh
index b236b5f..3a695c6 100644
--- a/src/ui/sf/d/artifacts.hh
+++ b/src/ui/sf/d/artifacts.hh
@@ -114,6 +114,7 @@ struct SArtifactsDialogWidgets {
extern "C" {
gboolean wSFAD_delete_event_cb(GtkWidget*, GdkEvent*, gpointer);
void wSFAD_close_cb(GtkWidget*, gpointer);
+void wSFAD_show_cb(GtkWidget*, gpointer);
void eSFADProfiles_changed_cb( GtkComboBox*, gpointer);
void bSFADProfileSave_clicked_cb( GtkButton*, gpointer);
void bSFADProfileDelete_clicked_cb( GtkButton*, gpointer);
diff --git a/src/ui/sf/d/artifacts_cb.cc b/src/ui/sf/d/artifacts_cb.cc
index caba558..4229cc9 100644
--- a/src/ui/sf/d/artifacts_cb.cc
+++ b/src/ui/sf/d/artifacts_cb.cc
@@ -187,6 +187,34 @@ bSFADPreview_toggled_cb( GtkToggleButton *b, gpointer userdata)
}
+
+void
+wSFAD_show_cb( GtkWidget*, gpointer userdata)
+{
+ auto& AD = *(SScoringFacility::SArtifactsDialog*)userdata;
+ auto& SF = AD._p;
+
+ AD.W_V.up();
+ SF.populate_mSFADProfiles();
+ g_signal_emit_by_name( AD.eSFADProfiles, "changed");
+
+ g_signal_emit_by_name( AD.eSFADEstimateE, "toggled");
+ g_signal_emit_by_name( AD.eSFADEstimateE, "toggled");
+ g_signal_emit_by_name( AD.eSFADUseThisRange, "toggled");
+ g_signal_emit_by_name( AD.eSFADUseThisRange, "toggled");
+
+ gtk_widget_set_sensitive( (GtkWidget*)AD.bSFADApply, FALSE);
+ AD.suppress_preview_handler = true;
+ gtk_toggle_button_set_active( AD.bSFADPreview, FALSE);
+ AD.suppress_preview_handler = false;
+
+ snprintf_buf( "Artifact detection in channel %s", SF.using_channel->name);
+ gtk_label_set_text( AD.lSFADInfo, __buf__);
+ snprintf_buf( "%4.2f%% marked", SF.using_channel->calculate_dirty_percent() * 100);
+ gtk_label_set_text( AD.lSFADDirtyPercent, __buf__);
+}
+
+
gboolean
wSFAD_delete_event_cb( GtkWidget*, GdkEvent*, gpointer userdata)
{
diff --git a/src/ui/sf/d/filters.cc b/src/ui/sf/d/filters.cc
index 69e3fdf..e6b0b60 100644
--- a/src/ui/sf/d/filters.cc
+++ b/src/ui/sf/d/filters.cc
@@ -14,16 +14,25 @@
using namespace std;
+
+aghui::SScoringFacility::SFiltersDialog&
+aghui::SScoringFacility::
+filters_d()
+{
+ if ( not _filters_d )
+ _filters_d = new SFiltersDialog(*this);
+ return *_filters_d;
+}
+
aghui::SScoringFacility::SFiltersDialog::
-SFiltersDialog(SScoringFacility& p_)
- : _p (p_)
+SFiltersDialog (SScoringFacility& p_)
+ : _p (parent)
{
- auto& H = *_p.using_channel;
- W_V.reg( eSFFilterLowPassCutoff, &H.filters.low_pass_cutoff);
- W_V.reg( eSFFilterLowPassOrder, (int*)&H.filters.low_pass_order);
- W_V.reg( eSFFilterHighPassCutoff, &H.filters.high_pass_cutoff);
- W_V.reg( eSFFilterHighPassOrder, (int*)&H.filters.high_pass_order);
- W_V.reg( eSFFilterNotchFilter, (int*)&H.filters.notch_filter);
+ W_V.reg( eSFFilterLowPassCutoff, P.low_pass_cutoff);
+ W_V.reg( eSFFilterLowPassOrder, P.low_pass_order);
+ W_V.reg( eSFFilterHighPassCutoff, P.high_pass_cutoff);
+ W_V.reg( eSFFilterHighPassOrder, P.high_pass_order);
+ W_V.reg( eSFFilterNotchFilter, (int*)&P.notch_filter);
}
aghui::SScoringFacility::SFiltersDialogWidgets::
diff --git a/src/ui/sf/d/filters.hh b/src/ui/sf/d/filters.hh
index 97b7c4a..ea18945 100644
--- a/src/ui/sf/d/filters.hh
+++ b/src/ui/sf/d/filters.hh
@@ -32,10 +32,11 @@ struct SScoringFacility::SFiltersDialog
DELETE_DEFAULT_METHODS (SFiltersDialog);
- SFiltersDialog (SScoringFacility& parent)
- : _p (parent)
- {}
- ~SFiltersDialog ();
+ SFiltersDialog (SScoringFacility&);
+ ~SFiltersDialog ();
+
+ sigfile::SFilterPack&
+ P;
SUIVarCollection
W_V;
diff --git a/src/ui/sf/d/filters_cb.cc b/src/ui/sf/d/filters_cb.cc
index 6930f2c..b8f7c8e 100644
--- a/src/ui/sf/d/filters_cb.cc
+++ b/src/ui/sf/d/filters_cb.cc
@@ -1,6 +1,5 @@
-// ;-*-C++-*-
/*
- * File name: ui/sf/sf-filter_cb.cc
+ * File name: ui/sf/d/filters_cb.cc
* Project: Aghermann
* Author: Andrei Zavada <johnhommer at gmail.com>
* Initial version: 2012-06-25
@@ -12,8 +11,7 @@
#include "ui/misc.hh"
-#include "sf.hh"
-#include "sf_cb.hh"
+#include "filters.hh"
using namespace std;
using namespace aghui;
@@ -21,7 +19,6 @@ using namespace aghui;
extern "C" {
-
void
eSFFilterHighPassCutoff_value_changed_cb( GtkSpinButton *spinbutton, gpointer userdata)
{
@@ -44,4 +41,6 @@ eSFFilterLowPassCutoff_value_changed_cb( GtkSpinButton *spinbutton, gpointer use
} // extern "C"
-// eof
+// Local Variables:
+// indent-tabs-mode: 8
+// End:
diff --git a/src/ui/sf/d/patterns.cc b/src/ui/sf/d/patterns.cc
index 495d38a..a96ce5e 100644
--- a/src/ui/sf/d/patterns.cc
+++ b/src/ui/sf/d/patterns.cc
@@ -15,6 +15,14 @@
using namespace std;
+aghui::SScoringFacility::SPatternsDialog&
+aghui::SScoringFacility::
+patterns_d()
+{
+ if ( not _patterns_d )
+ _patterns_d = new SPatternsDialog(*this);
+ return *_patterns_d;
+}
aghui::SScoringFacility::SFindDialog::
SFindDialog (SScoringFacility& parent)
diff --git a/src/ui/sf/d/phasediff.cc b/src/ui/sf/d/phasediff.cc
index 7a3b2bc..4eec6d5 100644
--- a/src/ui/sf/d/phasediff.cc
+++ b/src/ui/sf/d/phasediff.cc
@@ -16,6 +16,15 @@
using namespace std;
+aghui::SScoringFacility::SPhasediffDialog&
+aghui::SScoringFacility::phasediff_d()
+{
+ if ( not _phasediff_d )
+ _phasediff_d = new SPhasediffDialog(*this);
+ return *_phasediff_d;
+}
+
+
aghui::SScoringFacility::SPhasediffDialog::
SPhasediffDialog (aghui::SScoringFacility& parent)
: channel1 (nullptr),
diff --git a/src/ui/sf/montage_cb.cc b/src/ui/sf/montage_cb.cc
index 087ea2c..a7d6cc8 100644
--- a/src/ui/sf/montage_cb.cc
+++ b/src/ui/sf/montage_cb.cc
@@ -624,14 +624,16 @@ iSFPageFilter_activate_cb( GtkMenuItem *menuitem, gpointer userdata)
auto& SF = *(SScoringFacility*)userdata;
auto& FD = SF.filters_d();
auto& H = *SF.using_channel;
+ FD.P = H.filters;
FD.W_V.up();
- snprintf_buf( "<big>Filters for channel <b>%s</b></big>", SF.using_channel->name);
- gtk_label_set_markup( SF.lSFFilterCaption,
+ snprintf_buf( "<big>Filters for channel <b>%s</b></big>", FDusing_channel->name);
+ gtk_label_set_markup( FD.lSFFilterCaption,
__buf__);
- if ( gtk_dialog_run( SF.wSFFilters) == GTK_RESPONSE_OK ) {
+ if ( gtk_dialog_run( FD.wSFFilters) == GTK_RESPONSE_OK ) {
FD.W_V.down();
+ H.filters = FD.P;
H.get_signal_filtered();
if ( H.type == sigfile::SChannel::TType::eeg ) {
@@ -652,28 +654,9 @@ void
iSFPageArtifactsDetect_activate_cb( GtkMenuItem*, gpointer userdata)
{
auto& SF = *(SScoringFacility*)userdata;
- auto& AD = SF.artifact_detection_dialog;
+ auto& AD = SF.artifacts_d();
- AD.W_V.up();
- SF.populate_mSFADProfiles();
- g_signal_emit_by_name( SF.eSFADProfiles, "changed");
-
- g_signal_emit_by_name( SF.eSFADEstimateE, "toggled");
- g_signal_emit_by_name( SF.eSFADEstimateE, "toggled");
- g_signal_emit_by_name( SF.eSFADUseThisRange, "toggled");
- g_signal_emit_by_name( SF.eSFADUseThisRange, "toggled");
-
- gtk_widget_set_sensitive( (GtkWidget*)SF.bSFADApply, FALSE);
- AD.suppress_preview_handler = true;
- gtk_toggle_button_set_active( SF.bSFADPreview, FALSE);
- AD.suppress_preview_handler = false;
-
- snprintf_buf( "Artifact detection in channel %s", SF.using_channel->name);
- gtk_label_set_text( SF.lSFADInfo, __buf__);
- snprintf_buf( "%4.2f%% marked", SF.using_channel->calculate_dirty_percent() * 100);
- gtk_label_set_text( SF.lSFADDirtyPercent, __buf__);
-
- gtk_widget_show_all( (GtkWidget*)SF.wSFAD);
+ gtk_widget_show( (GtkWidget*)AD.wSFAD);
}
void
diff --git a/src/ui/sf/sf.hh b/src/ui/sf/sf.hh
index a200b96..6d6a712 100644
--- a/src/ui/sf/sf.hh
+++ b/src/ui/sf/sf.hh
@@ -498,36 +498,20 @@ class SScoringFacility
public:
struct SPatternsDialog;
SPatternsDialog&
- patterns_d()
- {
- if ( not _patterns_d )
- _patterns_d = new SPatternsDialog(*this);
- return *_patterns_d;
- }
+ patterns_d();
+
struct SFiltersDialog;
SFiltersDialog&
- filters_d()
- {
- if ( not _filters_d )
- _filters_d = new SFiltersDialog(*this);
- return *_filters_d;
- }
+ filters_d();
+
struct SPhasediffDialog;
SPhasediffDialog&
- phasediff_d()
- {
- if ( not _phasediff_d )
- _phasediff_d = new SPhasediffDialog(*this);
- return *_phasediff_d;
- }
+ phasediff_d();
+
struct SArtifactsDialog;
- SArtifactsDialog
- artifacts_d()
- {
- if ( not _artifacts_d )
- _artifacts_d = new SArtifactsDialog(*this);
- return *_artifacts_d;
- }
+ SArtifactsDialog&
+ artifacts_d();
+
private:
SPatternsDialog
*_patterns_d;
@@ -535,7 +519,7 @@ class SScoringFacility
*_filters_d;
SPhasediffDialog
*_phasediff_d;
- SArtifactDetectionDialog
+ SArtifactsDialog
*_artifact_d;
void populate_mSFADProfiles();
diff --git a/src/ui/sf/sf_cb.cc b/src/ui/sf/sf_cb.cc
index 95dc487..908314b 100644
--- a/src/ui/sf/sf_cb.cc
+++ b/src/ui/sf/sf_cb.cc
@@ -193,13 +193,10 @@ bSFShowFindDialog_toggled_cb( GtkToggleButton *togglebutton, gpointer userdata)
{
auto& SF = *(SScoringFacility*)userdata;
if ( gtk_toggle_button_get_active( togglebutton) ) {
- if ( not SF.find_dialog )
- SF.find_dialog =
- new aghui::SScoringFacility::SFindDialog (SF);
- SF.find_dialog->setup_controls_for_find();
- gtk_widget_show( (GtkWidget*)SF.find_dialog->wSFFD);
+ SF.patterns_d().setup_controls_for_find();
+ gtk_widget_show( (GtkWidget*)SF.patterns_d().wSFFD);
} else
- gtk_widget_hide( (GtkWidget*)SF.find_dialog->wSFFD);
+ gtk_widget_hide( (GtkWidget*)SF.patterns_d().wSFFD);
}
@@ -209,13 +206,10 @@ bSFShowPhaseDiffDialog_toggled_cb( GtkToggleButton *togglebutton, gpointer userd
{
auto& SF = *(SScoringFacility*)userdata;
if ( gtk_toggle_button_get_active( togglebutton) ) {
- if ( not SF.phasediff_dialog )
- SF.phasediff_dialog =
- new aghui::SScoringFacility::SPhasediffDialog (SF);
- SF.phasediff_dialog->setup_controls_for_find();
- gtk_widget_show( (GtkWidget*)SF.phasediff_dialog->wSFPD);
+ SF.phasediff_d().setup_controls_for_find();
+ gtk_widget_show( (GtkWidget*)SF.phasediff_d().wSFPD);
} else
- gtk_widget_hide( (GtkWidget*)SF.phasediff_dialog->wSFPD);
+ gtk_widget_hide( (GtkWidget*)SF.phasediff_d().wSFPD);
}
--
Sleep experiment manager
More information about the debian-med-commit
mailing list