[med-svn] [SCM] aghermann branch, master, updated. 06bda7dfaa687aaf0708a024d192024e2cd58421
Andrei Zavada
johnhommer at gmail.com
Thu Jan 24 00:44:00 UTC 2013
The following commit has been merged in the master branch:
commit 06bda7dfaa687aaf0708a024d192024e2cd58421
Author: Andrei Zavada <johnhommer at gmail.com>
Date: Thu Jan 24 02:43:11 2013 +0200
now fixing bugs in patterns
diff --git a/data/sf-patterns.glade b/data/sf-patterns.glade
index 7a1be6c..31201bb 100644
--- a/data/sf-patterns.glade
+++ b/data/sf-patterns.glade
@@ -1,90 +1,90 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
- <object class="GtkMenu" id="iiSFFDField">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkMenuItem" id="menuitem4">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">menuitem4</property>
- <property name="use_underline">True</property>
- </object>
- </child>
- </object>
- <object class="GtkAdjustment" id="jPatternBandPassFrom">
- <property name="upper">8</property>
- <property name="value">0.25</property>
- <property name="step_increment">0.25</property>
- <property name="page_increment">1</property>
- </object>
- <object class="GtkAdjustment" id="jPatternBandPassOrder">
+ <object class="GtkAdjustment" id="jSFFDBandPassOrder">
<property name="lower">1</property>
<property name="upper">5</property>
<property name="value">1</property>
<property name="step_increment">1</property>
<property name="page_increment">10</property>
</object>
- <object class="GtkAdjustment" id="jPatternBandPassUpto">
+ <object class="GtkAdjustment" id="jSFFDBandPassUpto">
<property name="upper">100</property>
<property name="value">1.5</property>
<property name="step_increment">0.25</property>
<property name="page_increment">1</property>
</object>
- <object class="GtkAdjustment" id="jPatternDZCDFSigma">
- <property name="lower">0.01</property>
- <property name="upper">10</property>
- <property name="step_increment">0.01</property>
- <property name="page_increment">10</property>
- </object>
- <object class="GtkAdjustment" id="jPatternDZCDFSmooth">
- <property name="upper">12</property>
- <property name="value">1</property>
- <property name="step_increment">1</property>
- <property name="page_increment">3</property>
- </object>
- <object class="GtkAdjustment" id="jPatternDZCDFStep">
- <property name="lower">0.10000000000000001</property>
- <property name="upper">5</property>
- <property name="step_increment">0.10000000000000001</property>
- <property name="page_increment">10</property>
- </object>
- <object class="GtkAdjustment" id="jPatternEnvTightness">
- <property name="lower">0.050000000000000003</property>
- <property name="upper">20</property>
- <property name="value">0.25</property>
- <property name="step_increment">0.01</property>
- <property name="page_increment">5</property>
- </object>
- <object class="GtkAdjustment" id="jPatternStrictnessA">
+ <object class="GtkAdjustment" id="jSFFDCriterionA">
<property name="lower">0.01</property>
<property name="upper">100</property>
<property name="value">0.10000000000000001</property>
<property name="step_increment">0.01</property>
<property name="page_increment">1</property>
</object>
- <object class="GtkAdjustment" id="jPatternStrictnessB">
+ <object class="GtkAdjustment" id="jSFFDCriterionB">
<property name="lower">0.01</property>
<property name="upper">100</property>
<property name="value">0.10000000000000001</property>
<property name="step_increment">0.01</property>
<property name="page_increment">1</property>
</object>
- <object class="GtkAdjustment" id="jPatternStrictnessC">
+ <object class="GtkAdjustment" id="jSFFDCriterionC">
<property name="lower">0.01</property>
<property name="upper">100</property>
<property name="value">0.10000000000000001</property>
<property name="step_increment">0.010000003501772881</property>
<property name="page_increment">1</property>
</object>
- <object class="GtkAdjustment" id="jPatternStrictnessD">
+ <object class="GtkAdjustment" id="jSFFDCriterionD">
<property name="lower">0.01</property>
<property name="upper">2</property>
<property name="value">0.10000000000000001</property>
<property name="step_increment">0.01</property>
<property name="page_increment">0.10000000000000001</property>
</object>
+ <object class="GtkAdjustment" id="jSFFDDZCDFSigma">
+ <property name="lower">0.01</property>
+ <property name="upper">10</property>
+ <property name="step_increment">0.01</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="jSFFDDZCDFSmooth">
+ <property name="upper">12</property>
+ <property name="value">1</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">3</property>
+ </object>
+ <object class="GtkAdjustment" id="jSFFDDZCDFStep">
+ <property name="lower">0.10000000000000001</property>
+ <property name="upper">5</property>
+ <property name="step_increment">0.10000000000000001</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="jSFFDEnvTightness">
+ <property name="lower">0.050000000000000003</property>
+ <property name="upper">20</property>
+ <property name="value">0.25</property>
+ <property name="step_increment">0.01</property>
+ <property name="page_increment">5</property>
+ </object>
+ <object class="GtkMenu" id="iiSFFDField">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkMenuItem" id="menuitem4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">menuitem4</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ </object>
+ <object class="GtkAdjustment" id="jSFFDBandPassFrom">
+ <property name="upper">8</property>
+ <property name="value">0.25</property>
+ <property name="step_increment">0.25</property>
+ <property name="page_increment">1</property>
+ </object>
<object class="GtkDialog" id="wSFFD">
<property name="can_focus">False</property>
<property name="border_width">10</property>
@@ -398,6 +398,7 @@
<property name="invisible_char_set">True</property>
<property name="primary_icon_activatable">False</property>
<property name="secondary_icon_activatable">False</property>
+ <property name="adjustment">jSFFDDZCDFSigma</property>
<property name="digits">2</property>
<property name="numeric">True</property>
</object>
@@ -421,6 +422,7 @@
<property name="invisible_char_set">True</property>
<property name="primary_icon_activatable">False</property>
<property name="secondary_icon_activatable">False</property>
+ <property name="adjustment">jSFFDBandPassFrom</property>
<property name="digits">2</property>
<property name="numeric">True</property>
</object>
@@ -503,6 +505,7 @@
<property name="invisible_char_set">True</property>
<property name="primary_icon_activatable">False</property>
<property name="secondary_icon_activatable">False</property>
+ <property name="adjustment">jSFFDBandPassOrder</property>
<property name="snap_to_ticks">True</property>
<property name="numeric">True</property>
</object>
@@ -589,6 +592,7 @@
<property name="invisible_char_set">True</property>
<property name="primary_icon_activatable">False</property>
<property name="secondary_icon_activatable">False</property>
+ <property name="adjustment">jSFFDDZCDFStep</property>
<property name="digits">2</property>
<property name="numeric">True</property>
</object>
@@ -662,6 +666,7 @@
<property name="invisible_char_set">True</property>
<property name="primary_icon_activatable">False</property>
<property name="secondary_icon_activatable">False</property>
+ <property name="adjustment">jSFFDEnvTightness</property>
<property name="digits">2</property>
<property name="snap_to_ticks">True</property>
<property name="numeric">True</property>
@@ -746,6 +751,7 @@
<property name="invisible_char_set">True</property>
<property name="primary_icon_activatable">False</property>
<property name="secondary_icon_activatable">False</property>
+ <property name="adjustment">jSFFDDZCDFSmooth</property>
<property name="snap_to_ticks">True</property>
<property name="numeric">True</property>
</object>
@@ -801,6 +807,7 @@
<property name="invisible_char_set">True</property>
<property name="primary_icon_activatable">False</property>
<property name="secondary_icon_activatable">False</property>
+ <property name="adjustment">jSFFDBandPassUpto</property>
<property name="digits">2</property>
<property name="numeric">True</property>
</object>
@@ -874,6 +881,7 @@
<property name="invisible_char_set">True</property>
<property name="primary_icon_activatable">False</property>
<property name="secondary_icon_activatable">False</property>
+ <property name="adjustment">jSFFDCriterionA</property>
<property name="digits">2</property>
<property name="numeric">True</property>
</object>
@@ -918,6 +926,7 @@
<property name="invisible_char_set">True</property>
<property name="primary_icon_activatable">False</property>
<property name="secondary_icon_activatable">False</property>
+ <property name="adjustment">jSFFDCriterionB</property>
<property name="digits">2</property>
<property name="numeric">True</property>
</object>
@@ -962,6 +971,7 @@
<property name="invisible_char_set">True</property>
<property name="primary_icon_activatable">False</property>
<property name="secondary_icon_activatable">False</property>
+ <property name="adjustment">jSFFDCriterionC</property>
<property name="digits">2</property>
<property name="numeric">True</property>
</object>
@@ -1039,6 +1049,7 @@ on individual parameters</property>
<property name="invisible_char_set">True</property>
<property name="primary_icon_activatable">False</property>
<property name="secondary_icon_activatable">False</property>
+ <property name="adjustment">jSFFDCriterionD</property>
<property name="digits">2</property>
<property name="numeric">True</property>
</object>
diff --git a/src/patterns/patterns.cc b/src/patterns/patterns.cc
index b557453..34a0fe5 100644
--- a/src/patterns/patterns.cc
+++ b/src/patterns/patterns.cc
@@ -112,7 +112,7 @@ int
save_pattern( SPattern<TFloat>& P, const char* fname)
{
if ( agh::fs::mkdir_with_parents( agh::fs::dirname(fname)) ) {
- fprintf( stderr, "save_pattern(\"%s\"): mkdir failed\n", fname);
+ fprintf( stderr, "save_pattern(\"%s\"): mkdir %s failed\n", fname, agh::fs::dirname(fname).c_str());
return -1;
}
diff --git a/src/ui/sf/sf-patterns-enumerate.cc b/src/ui/sf/sf-patterns-enumerate.cc
index b958791..d1fdb13 100644
--- a/src/ui/sf/sf-patterns-enumerate.cc
+++ b/src/ui/sf/sf-patterns-enumerate.cc
@@ -41,7 +41,7 @@ import_from_selection( SScoringFacility::SChannel& field)
context_before, context_after,
Pp2, criteria};
// transient is always the last
- ((patterns.back().origin == pattern::TOrigin::transient)
+ ((not patterns.empty() and patterns.back().origin == pattern::TOrigin::transient)
? patterns.back()
: (patterns.push_back( pattern::SPattern<TFloat> ()), patterns.back())
) = tim;
@@ -65,7 +65,7 @@ import_from_selection( SScoringFacility::SChannel& field)
const char*
origin_markers[5] = {
- "[S]", "[U]", "[E]", "", "~",
+ "~", "[S]", "[E]", "[U]", "<S>",
};
string
@@ -140,18 +140,22 @@ populate_combo()
g_signal_handler_block( _p.eSFFDPatternList, _p.eSFFDPatternList_changed_cb_handler_id);
gtk_list_store_clear( _p.mSFFDPatterns);
- GtkTreeIter iter, current_pattern_iter;
- for ( auto I = patterns.begin(); I != patterns.end(); ++I ) {
- snprintf_buf( "%s %s", origin_markers[I->origin], I->name.c_str());
- gtk_list_store_append( _p.mSFFDPatterns, &iter);
- gtk_list_store_set( _p.mSFFDPatterns, &iter,
- 0, __buf__,
- -1);
- if ( I == current_pattern )
- current_pattern_iter = iter;
- }
-
- gtk_combo_box_set_active_iter( _p.eSFFDPatternList, ¤t_pattern_iter);
+ if ( not patterns.empty() ) {
+ GtkTreeIter iter, current_pattern_iter;
+ for ( auto I = patterns.begin(); I != patterns.end(); ++I ) {
+ snprintf_buf( "%s %s", origin_markers[I->origin], I->name.c_str());
+ gtk_list_store_append( _p.mSFFDPatterns, &iter);
+ gtk_list_store_set( _p.mSFFDPatterns, &iter,
+ 0, __buf__,
+ -1);
+ if ( I == current_pattern )
+ current_pattern_iter = iter;
+ }
+
+ gtk_combo_box_set_active_iter( _p.eSFFDPatternList, ¤t_pattern_iter);
+ } else
+ gtk_combo_box_set_active_iter( _p.eSFFDPatternList, NULL);
+
g_signal_handler_unblock( _p.eSFFDPatternList, _p.eSFFDPatternList_changed_cb_handler_id);
}
@@ -193,7 +197,6 @@ discard_current_pattern()
current_pattern = next(current_pattern);
pattern::delete_pattern( *todelete);
patterns.erase( todelete);
- populate_combo();
}
diff --git a/src/ui/sf/sf-patterns.cc b/src/ui/sf/sf-patterns.cc
index 14acf57..f789fe6 100644
--- a/src/ui/sf/sf-patterns.cc
+++ b/src/ui/sf/sf-patterns.cc
@@ -160,11 +160,13 @@ void
aghui::SScoringFacility::SFindDialog::
setup_controls_for_find()
{
- gtk_widget_set_visible( (GtkWidget*)_p.cSFFDSearchButton, TRUE);
+ bool have_any = current_pattern != patterns.end();
+
+ gtk_widget_set_visible( (GtkWidget*)_p.cSFFDSearchButton, have_any and TRUE);
gtk_widget_set_visible( (GtkWidget*)_p.cSFFDSearching, FALSE);
gtk_widget_set_visible( (GtkWidget*)_p.cSFFDAgainButton, FALSE);
- gtk_widget_set_visible( (GtkWidget*)_p.cSFFDParameters, TRUE);
+ gtk_widget_set_visible( (GtkWidget*)_p.cSFFDParameters, have_any and TRUE);
gtk_widget_set_visible( (GtkWidget*)_p.swSFFDField, FALSE);
gtk_widget_set_visible( (GtkWidget*)_p.cSFFDCriteria, FALSE);
@@ -206,11 +208,12 @@ void
aghui::SScoringFacility::SFindDialog::
set_profile_manage_buttons_visibility()
{
- bool is_transient = (current_pattern != patterns.end()) && current_pattern->origin == pattern::TOrigin::transient,
- is_modified = (current_pattern != patterns.end()) && not (current_pattern->Pp == Pp2);
- gtk_widget_set_visible( (GtkWidget*)_p.bSFFDProfileSave, is_transient);
- gtk_widget_set_visible( (GtkWidget*)_p.bSFFDProfileRevert, not is_transient and is_modified);
- gtk_widget_set_visible( (GtkWidget*)_p.bSFFDProfileDiscard, not is_transient);
+ bool have_any = current_pattern != patterns.end(),
+ is_transient = have_any && current_pattern->origin == pattern::TOrigin::transient,
+ is_modified = have_any && not (current_pattern->Pp == Pp2);
+ gtk_widget_set_visible( (GtkWidget*)_p.bSFFDProfileSave, have_any and is_transient);
+ gtk_widget_set_visible( (GtkWidget*)_p.bSFFDProfileRevert, have_any and not is_transient and is_modified);
+ gtk_widget_set_visible( (GtkWidget*)_p.bSFFDProfileDiscard, have_any and not is_transient);
}
diff --git a/src/ui/sf/sf-patterns_cb.cc b/src/ui/sf/sf-patterns_cb.cc
index fca8ad9..2e1ae5b 100644
--- a/src/ui/sf/sf-patterns_cb.cc
+++ b/src/ui/sf/sf-patterns_cb.cc
@@ -112,7 +112,9 @@ daSFFDField_button_press_event_cb( GtkWidget *wid, GdkEventButton *event, gpoint
switch ( event->button ) {
case 1:
- SF.set_cur_vpage( ((double)FD.occurrences[FD.highlighted_occurrence] / FD.diff_line.size()) * SF.total_vpages());
+ if ( FD.highlighted_occurrence != (size_t)-1 )
+ SF.set_cur_vpage(
+ ((double)FD.occurrences[FD.highlighted_occurrence] / FD.diff_line.size()) * SF.total_vpages());
break;
case 3:
gtk_menu_popup( SF.iiSFFDField,
@@ -289,9 +291,12 @@ bSFFDProfileSave_clicked_cb( GtkButton *button, gpointer userdata)
: gtk_toggle_button_get_active( SF.eSFFDPatternSaveOriginExperiment)
? pattern::TOrigin::experiment
: pattern::TOrigin::user;
- }
+ P.Pp = FD.Pp2;
+ P.criteria = FD.criteria;
- FD.populate_combo();
+ FD.populate_combo();
+ FD.set_profile_manage_buttons_visibility();
+ }
}
@@ -305,19 +310,22 @@ bSFFDProfileDiscard_clicked_cb( GtkButton *button, gpointer userdata)
assert ( FD.current_pattern != FD.patterns.end() );
assert ( FD.current_pattern->origin != pattern::TOrigin::transient );
- assert ( ci == -1 );
+ assert ( ci != -1 );
assert ( ci < (int)FD.patterns.size() );
FD.discard_current_pattern();
- FD.Pp2 = FD.current_pattern->Pp;
- FD.criteria = FD.current_pattern->criteria;
+ if ( not FD.patterns.empty() ) {
+ FD.Pp2 = FD.current_pattern->Pp;
+ FD.criteria = FD.current_pattern->criteria;
- FD.suppress_w_v = true;
- FD.W_V.up();
- FD.suppress_w_v = false;
+ FD.suppress_w_v = true;
+ FD.W_V.up();
+ FD.suppress_w_v = false;
+ }
FD.populate_combo();
+ FD.set_profile_manage_buttons_visibility();
}
@@ -374,6 +382,7 @@ wSFFD_show_cb( GtkWidget *widget, gpointer userdata)
FD.setup_controls_for_find();
FD.populate_combo();
+ FD.set_profile_manage_buttons_visibility();
if ( FD._p.using_channel == nullptr ) // not invoked for a preselected signal via a menu
FD._p.using_channel = &FD._p.channels.front();
--
Sleep experiment manager
More information about the debian-med-commit
mailing list