[med-svn] [SCM] aghermann branch, master, updated. f0d4c0fd35bf09e7dff56ddb9a2d798ae916c2ef
Andrei Zavada
johnhommer at gmail.com
Sun Feb 3 12:53:13 UTC 2013
The following commit has been merged in the master branch:
commit 0071773656bb9cb46011bd131dfcfd19afc92054
Author: Andrei Zavada <johnhommer at gmail.com>
Date: Sun Feb 3 12:44:27 2013 +0200
make own copies of, filter all EEG channels in SF dialogs for subjects w/ partial channel set
diff --git a/src/ui/sf/d/patterns-construct.cc b/src/ui/sf/d/patterns-construct.cc
index 24cf66a..973a66f 100644
--- a/src/ui/sf/d/patterns-construct.cc
+++ b/src/ui/sf/d/patterns-construct.cc
@@ -24,6 +24,8 @@ SPatternsDialogWidgets (SScoringFacility& SF)
mSFFDPatterns =
gtk_list_store_new( 1, G_TYPE_STRING);
+ mSFFDChannels =
+ gtk_list_store_new( 1, G_TYPE_STRING);
if ( !AGH_GBGETOBJ (GtkDialog, wSFFD) ||
!AGH_GBGETOBJ (GtkDrawingArea, daSFFDThing) ||
@@ -76,7 +78,15 @@ SPatternsDialogWidgets (SScoringFacility& SF)
eSFFDPatternList_changed_cb_handler_id =
G_CONNECT_1 (eSFFDPatternList, changed);
- gtk_combo_box_set_model_properly( eSFFDChannel, SF._p.mAllChannels);
+ // filter channels we don't have
+ for ( auto &H : SF.channels ) {
+ GtkTreeIter iter;
+ gtk_list_store_append( mSFFDChannels, &iter);
+ gtk_list_store_set( mSFFDChannels, &iter,
+ 0, H.name,
+ -1);
+ }
+ gtk_combo_box_set_model_properly( eSFFDChannel, mSFFDChannels);
eSFFDChannel_changed_cb_handler_id =
G_CONNECT_1 (eSFFDChannel, changed);
@@ -129,6 +139,8 @@ aghui::SPatternsDialogWidgets::
{
// destroy toplevels
gtk_widget_destroy( (GtkWidget*)wSFFD);
+ g_object_unref( (GObject*)mSFFDPatterns);
+ g_object_unref( (GObject*)mSFFDChannels);
g_object_unref( (GObject*)builder);
}
diff --git a/src/ui/sf/d/patterns.hh b/src/ui/sf/d/patterns.hh
index b1d413f..aa04cde 100644
--- a/src/ui/sf/d/patterns.hh
+++ b/src/ui/sf/d/patterns.hh
@@ -32,7 +32,8 @@ struct SPatternsDialogWidgets {
GtkBuilder *builder;
GtkListStore
- *mSFFDPatterns;
+ *mSFFDPatterns,
+ *mSFFDChannels;
GtkDialog
*wSFFD;
GtkComboBox
diff --git a/src/ui/sf/d/phasediff-construct.cc b/src/ui/sf/d/phasediff-construct.cc
index 91a07b3..0aa297e 100644
--- a/src/ui/sf/d/phasediff-construct.cc
+++ b/src/ui/sf/d/phasediff-construct.cc
@@ -22,6 +22,9 @@ SPhasediffDialogWidgets (SScoringFacility& SF)
throw runtime_error( "Failed to load SF::phasediff glade resource");
gtk_builder_connect_signals( builder, NULL);
+ mSFPDChannels =
+ gtk_list_store_new( 1, G_TYPE_STRING);
+
if ( !(AGH_GBGETOBJ (GtkDialog, wSFPD)) ||
!(AGH_GBGETOBJ (GtkDrawingArea, daSFPD)) ||
!(AGH_GBGETOBJ (GtkComboBox, eSFPDChannelA)) ||
@@ -31,12 +34,23 @@ SPhasediffDialogWidgets (SScoringFacility& SF)
!(AGH_GBGETOBJ (GtkScaleButton, eSFPDSmooth)) )
throw runtime_error ("Failed to construct SF widgets (11)");
+ // filter channels we don't have
+ for ( auto &H : SF.channels )
+ if ( H.type == sigfile::SChannel::TType::eeg ) {
+ GtkTreeIter iter;
+ gtk_list_store_append( mSFPDChannels, &iter);
+ gtk_list_store_set( mSFPDChannels, &iter,
+ 0, H.name,
+ -1);
+ }
+
gtk_combo_box_set_model_properly(
- eSFPDChannelA, SF._p.mEEGChannels);
+ eSFPDChannelA, mSFPDChannels);
eSFPDChannelA_changed_cb_handler_id =
G_CONNECT_1 (eSFPDChannelA, changed);
- gtk_combo_box_set_model_properly( eSFPDChannelB, SF._p.mEEGChannels);
+ gtk_combo_box_set_model_properly(
+ eSFPDChannelB, mSFPDChannels);
eSFPDChannelB_changed_cb_handler_id =
G_CONNECT_1 (eSFPDChannelB, changed);
@@ -57,6 +71,7 @@ aghui::SPhasediffDialogWidgets::
{
gtk_widget_destroy( (GtkWidget*)wSFPD);
g_object_unref( (GObject*)builder);
+ g_object_unref( (GObject*)mSFPDChannels);
}
diff --git a/src/ui/sf/d/phasediff.hh b/src/ui/sf/d/phasediff.hh
index f38edca..39a3e90 100644
--- a/src/ui/sf/d/phasediff.hh
+++ b/src/ui/sf/d/phasediff.hh
@@ -29,6 +29,9 @@ struct SPhasediffDialogWidgets {
GtkBuilder *builder;
+ GtkListStore
+ *mSFPDChannels;
+
// phasediff dialog
GtkDialog
*wSFPD;
--
Sleep experiment manager
More information about the debian-med-commit
mailing list