[med-svn] [SCM] aghermann branch, master, updated. f0d4c0fd35bf09e7dff56ddb9a2d798ae916c2ef
Andrei Zavada
johnhommer at gmail.com
Sun Feb 3 12:53:20 UTC 2013
The following commit has been merged in the master branch:
commit 7a7839530f64ba3cf590bf34234f9fafb802b7d1
Author: Andrei Zavada <johnhommer at gmail.com>
Date: Sun Feb 3 13:23:09 2013 +0200
show annotation type in global annotation dialog
diff --git a/data/mw-dialogs.glade b/data/mw-dialogs.glade
index d6699bd..39e88da 100644
--- a/data/mw-dialogs.glade
+++ b/data/mw-dialogs.glade
@@ -1546,6 +1546,24 @@ With bug reports, either send yours to <a href="mailto:aghermann-users at lists.
<property name="position">2</property>
</packing>
</child>
+ <child>
+ <object class="GtkCheckButton" id="eGlobalAnnotationsShowPhasicEvents">
+ <property name="label" translatable="yes">Show _phasic events</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="margin_top">5</property>
+ <property name="margin_bottom">5</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">True</property>
@@ -2718,18 +2736,6 @@ With bug reports, either send yours to <a href="mailto:aghermann-users at lists.
</packing>
</child>
<child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
<object class="GtkEntry" id="eSubjectDetailsShortName">
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -2762,6 +2768,18 @@ With bug reports, either send yours to <a href="mailto:aghermann-users at lists.
<property name="height">1</property>
</packing>
</child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</object>
<packing>
<property name="expand">False</property>
diff --git a/src/ui/mw/construct.cc b/src/ui/mw/construct.cc
index 106f4cb..9cc2d11 100644
--- a/src/ui/mw/construct.cc
+++ b/src/ui/mw/construct.cc
@@ -39,10 +39,11 @@ SExpDesignUIWidgets ()
mAllChannels =
gtk_list_store_new( 1, G_TYPE_STRING);
mGlobalAnnotations =
- gtk_tree_store_new( 6,
+ gtk_tree_store_new( 7,
G_TYPE_STRING, // id
G_TYPE_STRING, // at pages
G_TYPE_STRING, // channel
+ G_TYPE_STRING, // type
G_TYPE_STRING, // label
G_TYPE_BOOLEAN, G_TYPE_POINTER);
mGlobalADProfiles =
@@ -610,8 +611,10 @@ SExpDesignUIWidgets ()
// ----------- wGlobalAnnotations
if ( !AGH_GBGETOBJ (GtkDialog, wGlobalAnnotations) ||
- !AGH_GBGETOBJ (GtkTreeView, tvGlobalAnnotations) )
+ !AGH_GBGETOBJ (GtkTreeView, tvGlobalAnnotations) ||
+ !AGH_GBGETOBJ (GtkCheckButton, eGlobalAnnotationsShowPhasicEvents) )
throw runtime_error ("Failed to construct widgets");
+
gtk_tree_view_set_model( tvGlobalAnnotations,
(GtkTreeModel*)mGlobalAnnotations);
@@ -622,9 +625,10 @@ SExpDesignUIWidgets ()
(GCallback)gtk_tree_view_expand_all,
NULL);
G_CONNECT_2 (tvGlobalAnnotations, row, activated);
+ FAFA;
int c = 0;
- for ( auto column : {"Recording", "Page(s)", "Channel", "Label"} ) {
+ for ( auto column : {"Recording", "Page(s)", "Channel", "Type", "Label"} ) {
GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
g_object_set( (GObject*)renderer,
"editable", FALSE,
@@ -642,6 +646,8 @@ SExpDesignUIWidgets ()
gtk_tree_view_append_column( tvGlobalAnnotations,
gtk_tree_view_column_new());
+ G_CONNECT_1 (eGlobalAnnotationsShowPhasicEvents, toggled);
+
// ------------- wGlobalArtifactDetection
if ( !AGH_GBGETOBJ (GtkDialog, wGlobalArtifactDetection) ||
!AGH_GBGETOBJ (GtkComboBox, eGlobalADProfiles) ||
diff --git a/src/ui/mw/mainmenu_cb.cc b/src/ui/mw/mainmenu_cb.cc
index a38abe5..d254865 100644
--- a/src/ui/mw/mainmenu_cb.cc
+++ b/src/ui/mw/mainmenu_cb.cc
@@ -38,6 +38,10 @@ void
iExpAnnotations_activate_cb( GtkMenuItem*, gpointer userdata)
{
auto& ED = *(SExpDesignUI*)userdata;
+ ED.suppress_redraw = true;
+ gtk_toggle_button_set_active( (GtkToggleButton*)ED.eGlobalAnnotationsShowPhasicEvents, ED.only_plain_global_annotations);
+ gtk_toggle_button_set_active( (GtkToggleButton*)ED.eGlobalAnnotationsShowPhasicEvents, !ED.only_plain_global_annotations);
+ ED.suppress_redraw = false;
gtk_dialog_run( ED.wGlobalAnnotations);
}
@@ -82,6 +86,18 @@ tvGlobalAnnotations_row_activated_cb( GtkTreeView* tree_view,
+void
+eGlobalAnnotationsShowPhasicEvents_toggled_cb( GtkToggleButton* b, gpointer userdata)
+{
+ auto& ED = *(SExpDesignUI*)userdata;
+ if ( ED.suppress_redraw )
+ return;
+ ED.only_plain_global_annotations = not gtk_toggle_button_get_active( b);
+ ED.populate_mGlobalAnnotations();
+}
+
+
+
void
diff --git a/src/ui/mw/mw.cc b/src/ui/mw/mw.cc
index a586423..8a73980 100644
--- a/src/ui/mw/mw.cc
+++ b/src/ui/mw/mw.cc
@@ -138,6 +138,7 @@ SExpDesignUI (aghui::SSessionChooser *parent,
finalize_ui (false),
suppress_redraw (false),
dl_pid (-1),
+ only_plain_global_annotations (true),
close_this_SF_now (nullptr),
display_profile_type (metrics::TType::psd),
active_profile_psd_freq_from (2.),
diff --git a/src/ui/mw/mw.hh b/src/ui/mw/mw.hh
index 1443459..f1becb8 100644
--- a/src/ui/mw/mw.hh
+++ b/src/ui/mw/mw.hh
@@ -197,6 +197,7 @@ class SExpDesignUI
};
forward_list<SAnnotation>
global_annotations;
+ bool only_plain_global_annotations;
// samplerates
list<size_t>
diff --git a/src/ui/mw/mw_cb.hh b/src/ui/mw/mw_cb.hh
index 1cb36fb..38228de 100644
--- a/src/ui/mw/mw_cb.hh
+++ b/src/ui/mw/mw_cb.hh
@@ -52,6 +52,7 @@ void eMsmtProfileParamsSWUF0_value_changed_cb( GtkSpinButton*, gpointer);
void eMsmtProfileParamsMCF0_value_changed_cb( GtkSpinButton*, gpointer);
void tvGlobalAnnotations_row_activated_cb( GtkTreeView*, GtkTreePath*, GtkTreeViewColumn*, gpointer);
+void eGlobalAnnotationsShowPhasicEvents_toggled_cb( GtkToggleButton*, gpointer);
void cGroupExpander_activate_cb( GtkExpander*, gpointer);
void iiSubjectTimeline_show_cb( GtkWidget*, gpointer);
diff --git a/src/ui/mw/populate.cc b/src/ui/mw/populate.cc
index dca983d..b95d06f 100644
--- a/src/ui/mw/populate.cc
+++ b/src/ui/mw/populate.cc
@@ -256,7 +256,14 @@ __reconnect_sessions_combo()
}
-
+inline namespace {
+const char*
+annotation_type_s( sigfile::SAnnotation::TType t)
+{
+ static const char* types[] = {"", "S", "K", "E"};
+ return types[t];
+}
+}
void
aghui::SExpDesignUI::
@@ -308,24 +315,28 @@ populate_mGlobalAnnotations()
mannotations_visibility_switch_col, TRUE,
-1);
}
- for ( auto &A : annotations ) {
-
- global_annotations.emplace_front( J, D.first, E, A);
-
- auto pages = A.page_span( pagesize()) * 1u;
- if ( pages.a == pages.z )
- snprintf_buf( "%u", pages.a + 1);
- else
- snprintf_buf( "%u-%u", pages.a + 1, pages.z + 1);
- gtk_tree_store_append( mGlobalAnnotations, &iter_a, &iter_e);
- gtk_tree_store_set( mGlobalAnnotations, &iter_a,
- 1, __buf__,
- 2, A.channel(),
- 3, A.label.c_str(),
- mannotations_ref_col, (gpointer)&global_annotations.front(),
- mannotations_visibility_switch_col, TRUE,
- -1);
- }
+
+ for ( auto &A : annotations )
+ if ( (only_plain_global_annotations and
+ A.type == sigfile::SAnnotation::plain) or
+ not only_plain_global_annotations ) {
+ global_annotations.emplace_front( J, D.first, E, A);
+
+ auto pages = A.page_span( pagesize()) * 1u;
+ if ( pages.a == pages.z )
+ snprintf_buf( "%u", pages.a + 1);
+ else
+ snprintf_buf( "%u-%u", pages.a + 1, pages.z + 1);
+ gtk_tree_store_append( mGlobalAnnotations, &iter_a, &iter_e);
+ gtk_tree_store_set( mGlobalAnnotations, &iter_a,
+ 1, __buf__,
+ 2, A.channel(),
+ 3, annotation_type_s(A.type),
+ 4, A.label.c_str(),
+ mannotations_ref_col, (gpointer)&global_annotations.front(),
+ mannotations_visibility_switch_col, TRUE,
+ -1);
+ }
}
}
}
diff --git a/src/ui/mw/widgets.hh b/src/ui/mw/widgets.hh
index 5d2de3a..37856d8 100644
--- a/src/ui/mw/widgets.hh
+++ b/src/ui/mw/widgets.hh
@@ -63,7 +63,7 @@ struct SExpDesignUIWidgets {
msimulations_visibility_switch_col = 14,
msimulations_modref_col = msimulations_visibility_switch_col + 1;
static const auto
- mannotations_visibility_switch_col = 4,
+ mannotations_visibility_switch_col = 5,
mannotations_ref_col = mannotations_visibility_switch_col + 1;
// misc
@@ -278,6 +278,8 @@ struct SExpDesignUIWidgets {
*wGlobalAnnotations;
GtkTreeView
*tvGlobalAnnotations;
+ GtkCheckButton
+ *eGlobalAnnotationsShowPhasicEvents;
// subject details
GtkDialog
--
Sleep experiment manager
More information about the debian-med-commit
mailing list