[med-svn] [SCM] aghermann branch, master, updated. 06bda7dfaa687aaf0708a024d192024e2cd58421

Andrei Zavada johnhommer at gmail.com
Thu Jan 24 00:43:44 UTC 2013


The following commit has been merged in the master branch:
commit 028104e398f37a9fe48b9d95c9c9e668cbb8b7da
Author: Andrei Zavada <johnhommer at gmail.com>
Date:   Mon Jan 14 18:53:06 2013 +0200

    patterns WIP

diff --git a/configure.ac b/configure.ac
index c89e809..2bdf1dd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,13 +17,13 @@ AC_PROG_CXX([$CXX])
 AC_LANG([C++])
 AC_OPENMP()
 
-dnl Check for c++0x features
-AC_DEFUN([AC_CXX_STDCPP0X_FEATURES],
-[AC_CACHE_CHECK(whether $CXX has all required c++0x features,
-ac_cv_cxx_cpp0x_features,
+dnl Check for c++11 features
+AC_DEFUN([AC_CXX_STDCPP11_FEATURES],
+[AC_CACHE_CHECK(whether $CXX has all required c++11 features,
+ac_cv_cxx_cpp11_features,
 [AC_LANG([C++])
  old_CXX=$CXX
- CXX="$CXX -std=c++0x"
+ CXX="$CXX -std=c++11"
  AC_TRY_RUN([
     #include <vector>
     #include <algorithm>
@@ -39,14 +39,14 @@ ac_cv_cxx_cpp0x_features,
       return 0;
     }
  ],
- ac_cv_cxx_cpp0x_features=yes, ac_cv_cxx_cpp0x_features=no,
- ac_cv_cxx_cpp0x_features=yes)
+ ac_cv_cxx_cpp11_features=yes, ac_cv_cxx_cpp11_features=no,
+ ac_cv_cxx_cpp11_features=yes)
  CXX=$old_CXX
 ])
 ])
-AC_CXX_STDCPP0X_FEATURES()
-test $ac_cv_cxx_cpp0x_features = no && \
-   AC_MSG_ERROR([g++ >= 4.6 is required to build $PACKAGE as we must use -std=c++0x your C++ compiler doesn't seem to support], 1)
+AC_CXX_STDCPP11_FEATURES()
+test $ac_cv_cxx_cpp11_features = no && \
+   AC_MSG_ERROR([g++ >= 4.6 is required to build $PACKAGE as we must use -std=c++11 features your compiler doesn't seem to support], 1)
 
 dnl AC_CXX_HAVE_STL # redundant: we check for STL implicitly in AC_CXX_STDCPP0X_FEATURES
 
diff --git a/data/sf.glade b/data/sf.glade
index 78b072f..a914cd6 100644
--- a/data/sf.glade
+++ b/data/sf.glade
@@ -1550,7 +1550,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="bPatternFindPrevious">
+              <object class="GtkButton" id="bPatternGotoPrevious">
                 <property name="label" translatable="yes">_Previous</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
@@ -1566,7 +1566,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="bPatternFindNext">
+              <object class="GtkButton" id="bPatternGotoNext">
                 <property name="label" translatable="yes">_Next</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
@@ -2178,6 +2178,9 @@
                       <placeholder/>
                     </child>
                     <child>
+                      <placeholder/>
+                    </child>
+                    <child>
                       <object class="GtkLabel" id="label177">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
@@ -2209,6 +2212,9 @@
                     <child>
                       <placeholder/>
                     </child>
+                    <child>
+                      <placeholder/>
+                    </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -2225,12 +2231,12 @@
                       <placeholder/>
                     </child>
                     <child>
-                      <object class="GtkScrolledWindow" id="vpPatternSelection">
+                      <object class="GtkScrolledWindow" id="swPatternSelection">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="shadow_type">in</property>
                         <child>
-                          <object class="GtkViewport" id="vpPatternSelectioni">
+                          <object class="GtkViewport" id="vpPatternSelection">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
                             <property name="resize_mode">queue</property>
@@ -2253,6 +2259,44 @@
                       </packing>
                     </child>
                     <child>
+                      <object class="GtkScrolledWindow" id="swPatternField">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="shadow_type">in</property>
+                        <child>
+                          <object class="GtkViewport" id="vpPatternField">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <child>
+                              <object class="GtkDrawingArea" id="daPatternField">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkButton" id="bPatternSearch">
+                        <property name="label" translatable="yes">Search</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="focus_on_click">False</property>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">3</property>
+                      </packing>
+                    </child>
+                    <child>
                       <object class="GtkLabel" id="lPatternSimilarity">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
@@ -2262,7 +2306,7 @@
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">True</property>
-                        <property name="position">2</property>
+                        <property name="position">5</property>
                       </packing>
                     </child>
                   </object>
@@ -2520,8 +2564,8 @@ on individual parameters</property>
     </child>
     <action-widgets>
       <action-widget response="-1">bPatternDismiss</action-widget>
-      <action-widget response="-1">bPatternFindPrevious</action-widget>
-      <action-widget response="-1">bPatternFindNext</action-widget>
+      <action-widget response="-1">bPatternGotoPrevious</action-widget>
+      <action-widget response="-1">bPatternGotoNext</action-widget>
     </action-widgets>
   </object>
   <object class="GtkDialog" id="wPatternName">
@@ -4742,15 +4786,15 @@ on individual parameters</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkButton" id="bScoreWake">
-                        <property name="label" translatable="yes">☺</property>
+                      <object class="GtkButton" id="bScoreClear">
+                        <property name="label" translatable="yes">⌫</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">True</property>
-                        <property name="tooltip_markup" translatable="yes">Wake (<b>w</b>)</property>
+                        <property name="tooltip_markup" translatable="yes">Clear (<b>q</b>)</property>
                         <property name="valign">center</property>
                         <property name="focus_on_click">False</property>
-                        <accelerator key="w" signal="activate"/>
+                        <accelerator key="q" signal="activate"/>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -4759,15 +4803,15 @@ on individual parameters</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkButton" id="bScoreClear">
-                        <property name="label" translatable="yes">⌫</property>
+                      <object class="GtkButton" id="bScoreWake">
+                        <property name="label" translatable="yes">☺</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">True</property>
-                        <property name="tooltip_markup" translatable="yes">Clear (<b>q</b>)</property>
+                        <property name="tooltip_markup" translatable="yes">Wake (<b>w</b>)</property>
                         <property name="valign">center</property>
                         <property name="focus_on_click">False</property>
-                        <accelerator key="q" signal="activate"/>
+                        <accelerator key="w" signal="activate"/>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -5002,17 +5046,18 @@ on individual parameters</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkToggleButton" id="bSFShowPhaseDiffDialog">
-                        <property name="label" translatable="yes">Δφ</property>
+                      <object class="GtkToggleButton" id="bSFShowFindDialog">
+                        <property name="label" translatable="yes">_Find</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_markup" translatable="yes">Interchannel signal shift (<b>F4</b>)</property>
-                        <property name="tooltip_text" translatable="yes">Interchannel signal shift (F4)</property>
+                        <property name="tooltip_markup" translatable="yes">Find/manage patterns (<b>F3</b>)</property>
+                        <property name="tooltip_text" translatable="yes">Find/manage patterns (F3)</property>
                         <property name="valign">center</property>
+                        <property name="use_underline">True</property>
                         <property name="focus_on_click">False</property>
-                        <accelerator key="F4" signal="activate"/>
+                        <accelerator key="F3" signal="activate"/>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -5022,18 +5067,17 @@ on individual parameters</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkToggleButton" id="bSFShowFindDialog">
-                        <property name="label" translatable="yes">_Find</property>
+                      <object class="GtkToggleButton" id="bSFShowPhaseDiffDialog">
+                        <property name="label" translatable="yes">Δφ</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_markup" translatable="yes">Find/manage patterns (<b>F3</b>)</property>
-                        <property name="tooltip_text" translatable="yes">Find/manage patterns (F3)</property>
+                        <property name="tooltip_markup" translatable="yes">Interchannel signal shift (<b>F4</b>)</property>
+                        <property name="tooltip_text" translatable="yes">Interchannel signal shift (F4)</property>
                         <property name="valign">center</property>
-                        <property name="use_underline">True</property>
                         <property name="focus_on_click">False</property>
-                        <accelerator key="F3" signal="activate"/>
+                        <accelerator key="F4" signal="activate"/>
                       </object>
                       <packing>
                         <property name="expand">False</property>
diff --git a/src/sigproc/patterns.ii b/src/sigproc/patterns.ii
index f51ee14..0e02d45 100644
--- a/src/sigproc/patterns.ii
+++ b/src/sigproc/patterns.ii
@@ -27,7 +27,7 @@ do_search( const valarray<T>& fenv_u,
 {
 	size_t fsize = ftarget_freq.size();
 	if ( inc == 0 || inc > fsize ) {
-		fprintf( stderr, "%s: bad search increment: %d\n", __FUNCTION__, inc);
+		fprintf( stderr, "%s: bad search increment: %zu\n", __FUNCTION__, inc);
 		return -1;
 	}
 
diff --git a/src/ui/sf/sf-construct.cc b/src/ui/sf/sf-construct.cc
index 07b8372..d7c1e53 100644
--- a/src/ui/sf/sf-construct.cc
+++ b/src/ui/sf/sf-construct.cc
@@ -383,9 +383,11 @@ SScoringFacilityWidgets (SExpDesignUI& _p)
 	if ( !AGH_GBGETOBJ (GtkDialog,		wPattern) ||
 	     !AGH_GBGETOBJ (GtkDrawingArea,	daPatternSelection) ||
 	     !AGH_GBGETOBJ (GtkScrolledWindow,	vpPatternSelection) ||
-	     !AGH_GBGETOBJ (GtkButton,		bPatternFindPrevious) ||
-	     !AGH_GBGETOBJ (GtkButton,		bPatternFindNext) ||
-//	     !AGH_GBGETOBJ (GtkButton,		bPatternDismiss) ||
+	     !AGH_GBGETOBJ (GtkDrawingArea,	daPatternField) ||
+	     !AGH_GBGETOBJ (GtkScrolledWindow,	vpPatternField) ||
+	     !AGH_GBGETOBJ (GtkButton,		bPatternSearch) ||
+	     !AGH_GBGETOBJ (GtkButton,		bPatternGotoPrevious) ||
+	     !AGH_GBGETOBJ (GtkButton,		bPatternGotoNext) ||
 	     !AGH_GBGETOBJ (GtkButton,		bPatternSave) ||
 	     !AGH_GBGETOBJ (GtkButton,		bPatternDiscard) ||
 	     !AGH_GBGETOBJ (GtkSpinButton,	ePatternEnvTightness) ||
@@ -418,19 +420,16 @@ SScoringFacilityWidgets (SExpDesignUI& _p)
 
 	G_CONNECT_1 (daPatternSelection, draw);
 	G_CONNECT_2( daPatternSelection, scroll, event);
-	g_signal_connect( bPatternFindNext, "clicked",
-			  G_CALLBACK (bPatternFind_clicked_cb),
-			  this);
-	g_signal_connect( bPatternFindPrevious, "clicked",
-			  G_CALLBACK (bPatternFind_clicked_cb),
-			  this);
 	G_CONNECT_1 (bPatternSave, clicked);
 	G_CONNECT_1 (bPatternDiscard, clicked);
 
-	for ( auto& W : {ePatternEnvTightness, ePatternBandPassFrom, ePatternBandPassUpto,
-			 ePatternBandPassOrder, ePatternDZCDFStep, ePatternDZCDFSigma, ePatternDZCDFSmooth,
-			 // ePatternParameterA, ePatternParameterB, ePatternParameterC, ePatternParameterD
-			 } )
+	for ( auto& W : {bPatternGotoNext, bPatternGotoPrevious} )
+		g_signal_connect( W, "clicked",
+				  (GCallback)bPatternGoto_clicked_cb,
+				  this);
+	for ( auto& W : {ePatternEnvTightness,
+			 ePatternBandPassFrom, ePatternBandPassUpto, ePatternBandPassOrder,
+			 ePatternDZCDFStep, ePatternDZCDFSigma, ePatternDZCDFSmooth} )
 		g_signal_connect( W, "value-changed",
 				  (GCallback)ePattern_any_pattern_value_changed_cb,
 				  this);
diff --git a/src/ui/sf/sf-patterns.cc b/src/ui/sf/sf-patterns.cc
index c64204b..bc48b0c 100644
--- a/src/ui/sf/sf-patterns.cc
+++ b/src/ui/sf/sf-patterns.cc
@@ -41,6 +41,9 @@ SFindDialog (SScoringFacility& parent)
 	W_V.reg( _p.ePatternParameterB, 	&get<1>(criteria));
 	W_V.reg( _p.ePatternParameterC, 	&get<2>(criteria));
 	W_V.reg( _p.ePatternParameterD, 	&get<3>(criteria));
+
+	gtk_widget_set_visible( (GtkWidget*)_p.daPatternField, FALSE);
+	gtk_widget_set_visible( (GtkWidget*)_p.bPatternSearch, TRUE);
 }
 
 aghui::SScoringFacility::SFindDialog::
@@ -57,6 +60,52 @@ aghui::SScoringFacility::SFindDialog::
 
 
 
+void
+aghui::SScoringFacility::SFindDialog::
+search()
+{
+	if ( field_channel && thing.size() > 0 ) {
+		if ( !(Pp == Pp2) || field_channel != field_channel_saved) {
+			Pp2 = Pp;
+			field_channel_saved = field_channel;
+		}
+		cpattern = new pattern::CPattern<TFloat>
+			({thing, field_channel->samplerate()},
+			 context_before, context_after,
+			 Pp);
+		diff_line =
+		  (cpattern->do_search(
+			field_channel->signal_envelope( Pp.env_tightness).first,
+			field_channel->signal_envelope( Pp.env_tightness).second,
+			field_channel->signal_bandpass( Pp.bwf_ffrom, Pp.bwf_fupto, Pp.bwf_order),
+			field_channel->signal_dzcdf( Pp.dzcdf_step, Pp.dzcdf_sigma, Pp.dzcdf_smooth),
+			increment * samplerate),
+		   cpattern->diff);
+
+		delete cpattern;
+		cpattern = nullptr;
+
+		gtk_widget_set_visible( (GtkWidget*)_p.daPatternField, TRUE);
+		gtk_widget_set_visible( (GtkWidget*)_p.bPatternSearch, FALSE);
+	}
+}
+
+
+size_t
+aghui::SScoringFacility::SFindDialog::
+find_occurrences()
+{
+	occurrences.resize(0);
+	for ( size_t i = 0; i < diff_line.size(); ++i )
+		if ( diff_line[i].good_enough( criteria) )
+			occurrences.push_back(i);
+	return occurrences.size();
+}
+
+
+
+
+
 
 
 void
@@ -77,7 +126,7 @@ set_pattern_da_width( int width)
 
 void
 aghui::SScoringFacility::SFindDialog::
-draw( cairo_t *cr)
+draw_thing( cairo_t *cr)
 {
 	if ( thing.size() == 0 ) {
 		set_pattern_da_width( 200);
@@ -217,7 +266,11 @@ out:
 	;
 }
 
-
+void
+aghui::SScoringFacility::SFindDialog::
+draw_field( cairo_t *cr)
+{
+}
 
 
 void
@@ -392,54 +445,14 @@ discard_pattern( const char *label, bool do_globally)
 
 
 
-void
-aghui::SScoringFacility::SFindDialog::
-search()
-{
-	if ( field_channel && thing.size() > 0 ) {
-		if ( !(Pp == Pp2) || field_channel != field_channel_saved) {
-			Pp2 = Pp;
-			field_channel_saved = field_channel;
-		}
-		cpattern = new pattern::CPattern<TFloat>
-			({thing, field_channel->samplerate()},
-			 context_before, context_after,
-			 Pp);
-		diff_line =
-		  (cpattern->do_search(
-			field_channel->signal_envelope( Pp.env_tightness).first,
-			field_channel->signal_envelope( Pp.env_tightness).second,
-			field_channel->signal_bandpass( Pp.bwf_ffrom, Pp.bwf_fupto, Pp.bwf_order),
-			field_channel->signal_dzcdf( Pp.dzcdf_step, Pp.dzcdf_sigma, Pp.dzcdf_smooth),
-			increment * samplerate),
-		   cpattern->diff);
-
-		delete cpattern;
-		cpattern = nullptr;
-	}
-}
-
-
-size_t
-aghui::SScoringFacility::SFindDialog::
-find_occurrences()
-{
-	occurrences.resize(0);
-	for ( size_t i = 0; i < diff_line.size(); ++i )
-		if ( diff_line[i].good_enough( criteria) )
-			occurrences.push_back(i);
-	return occurrences.size();
-}
-
-
 
 
 void
 aghui::SScoringFacility::SFindDialog::
 enable_controls( bool indeed)
 {
-	gtk_widget_set_sensitive( (GtkWidget*)_p.bPatternFindNext, (gboolean)indeed);
-	gtk_widget_set_sensitive( (GtkWidget*)_p.bPatternFindPrevious, (gboolean)indeed);
+	gtk_widget_set_sensitive( (GtkWidget*)_p.bPatternGotoNext, (gboolean)indeed);
+	gtk_widget_set_sensitive( (GtkWidget*)_p.bPatternGotoPrevious, (gboolean)indeed);
 	gtk_widget_set_sensitive( (GtkWidget*)_p.bPatternSave, (gboolean)indeed);
 	gtk_widget_set_sensitive( (GtkWidget*)_p.bPatternDiscard, (gboolean)indeed);
 }
diff --git a/src/ui/sf/sf-patterns_cb.cc b/src/ui/sf/sf-patterns_cb.cc
index de95937..8a1b968 100644
--- a/src/ui/sf/sf-patterns_cb.cc
+++ b/src/ui/sf/sf-patterns_cb.cc
@@ -26,7 +26,18 @@ daPatternSelection_draw_cb( GtkWidget *wid, cairo_t *cr, gpointer userdata)
 	auto& SF = *(SScoringFacility*)userdata;
 	auto& FD = SF.find_dialog;
 
-	FD.draw( cr);
+	FD.draw_thing( cr);
+
+	return TRUE;
+}
+
+gboolean
+daPatternField_draw_cb( GtkWidget *wid, cairo_t *cr, gpointer userdata)
+{
+	auto& SF = *(SScoringFacility*)userdata;
+	auto& FD = SF.find_dialog;
+
+	FD.draw_field( cr);
 
 	return TRUE;
 }
@@ -66,48 +77,37 @@ daPatternSelection_scroll_event_cb( GtkWidget *wid, GdkEventScroll *event, gpoin
 
 
 void
-bPatternFind_clicked_cb( GtkButton *button, gpointer userdata)
+bPatternSearch_clicked_cb( GtkButton *button, gpointer userdata)
 {
 	auto& SF = *(SScoringFacility*)userdata;
 	auto& FD = SF.find_dialog;
-	gboolean
-		go_forward = button == FD._p.bPatternFindNext;
-
-	size_t from;
-	if ( FD.last_find == (size_t)-1 )
-		from = go_forward
-			? FD.context_before
-			: FD.field_channel->n_samples() - FD.pattern.size();
-	else
-		from = FD.last_find
-			+ (go_forward
-			   ? .2 * FD.samplerate
-			   : FD.pattern_size_essential());
-
-	aghui::SBusyBlock bb (FD._p.wPattern);
-	FD.W_V.down();
-	FD.Pp.criteria = FD.tolerance;
-
-	FD.search( from);
-	if ( FD.last_find == (size_t)-1 )
-		pop_ok_message( (GtkWindow*)FD._p.wPattern, "Not found", nullptr);
-	else { // reach up and out
-		auto& SF = FD.field_channel->_p;
-		SF.using_channel = FD.field_channel;
-		SF.using_channel->put_selection( FD.last_find, FD.last_find + FD.pattern_size_essential());
-		SF.suppress_redraw = true;
-		SF.set_cur_vpage(
-			FD.last_find / FD.samplerate / SF.vpagesize());
-		SF.suppress_redraw = false;
-		SF.queue_redraw_all();
-
-		snprintf_buf( "at p. %zu (match: %4.2f, %4.2f, %4.2f, %4.2f)\n",
-			      SF.cur_vpage()+1, FD.match[0], FD.match[1], FD.match[2], FD.match[3]);
-		gtk_label_set_markup( FD._p.lPatternSimilarity, __buf__);
-
-		gtk_widget_queue_draw( (GtkWidget*)FD._p.lPatternSimilarity);
-		gtk_widget_queue_draw( (GtkWidget*)FD._p.daPatternSelection);
-	}
+
+	
+
+}
+
+void
+bPatternGoto_clicked_cb( GtkButton *button, gpointer userdata)
+{
+	auto& SF = *(SScoringFacility*)userdata;
+	auto& FD = SF.find_dialog;
+	bool	go_forward = button == FD._p.bPatternGotoNext;
+
+	SF.using_channel = FD.field_channel;
+
+	
+	double	next_at = 0.;
+	FAFA;
+	
+	SF.suppress_redraw = true;
+	SF.set_cur_vpage(
+		next_at / FD.samplerate / SF.vpagesize());
+	SF.suppress_redraw = false;
+	SF.queue_redraw_all();
+
+	snprintf_buf( "%zu match%s\n",
+		      FD.occurrences.size(), (FD.occurrences.size() == 1) ? "" : "es");
+	gtk_label_set_markup( FD._p.lPatternSimilarity, __buf__);
 }
 
 
diff --git a/src/ui/sf/sf-widgets.hh b/src/ui/sf/sf-widgets.hh
index a8fe26d..b44a95f 100644
--- a/src/ui/sf/sf-widgets.hh
+++ b/src/ui/sf/sf-widgets.hh
@@ -184,11 +184,14 @@ struct SScoringFacilityWidgets {
 		*ePatternChannel,
 		*ePatternList;
 	GtkScrolledWindow
-		*vpPatternSelection;
+		*vpPatternSelection,
+		*vpPatternField;
 	GtkDrawingArea
-		*daPatternSelection;
+		*daPatternSelection,
+		*daPatternField;
 	GtkButton
-		*bPatternFindNext, *bPatternFindPrevious,
+		*bPatternSearch,
+		*bPatternGotoNext, *bPatternGotoPrevious,
 		*bPatternSave, *bPatternDiscard;
 	GtkSpinButton
 		*ePatternEnvTightness,
diff --git a/src/ui/sf/sf.hh b/src/ui/sf/sf.hh
index 587dd79..48b5ef6 100644
--- a/src/ui/sf/sf.hh
+++ b/src/ui/sf/sf.hh
@@ -545,7 +545,8 @@ class SScoringFacility
 
 	      // draw
 		bool	draw_details:1;
-		void draw( cairo_t*);
+		void draw_thing( cairo_t*);
+		void draw_field( cairo_t*);
 		float	display_scale;
 
 	      // widgets
diff --git a/src/ui/sf/sf_cb.hh b/src/ui/sf/sf_cb.hh
index f80961c..94066b5 100644
--- a/src/ui/sf/sf_cb.hh
+++ b/src/ui/sf/sf_cb.hh
@@ -151,9 +151,11 @@ void iSFScoreClear_activate_cb( GtkMenuItem*, gpointer);
 
 void ePatternList_changed_cb( GtkComboBox*, gpointer);
 void ePatternChannel_changed_cb( GtkComboBox*, gpointer);
+gboolean daPatternField_draw_cb( GtkWidget*, cairo_t*, gpointer);
 gboolean daPatternSelection_draw_cb( GtkWidget*, cairo_t*, gpointer);
 gboolean daPatternSelection_scroll_event_cb( GtkWidget*, GdkEventScroll*, gpointer);
-void bPatternFind_clicked_cb( GtkButton*, gpointer);
+void bPatternSearch_clicked_cb( GtkButton*, gpointer);
+void bPatternGoto_clicked_cb( GtkButton*, gpointer);
 void bPatternSave_clicked_cb( GtkButton*, gpointer);
 void bPatternDiscard_clicked_cb( GtkButton*, gpointer);
 void ePattern_any_pattern_value_changed_cb( GtkSpinButton*, gpointer);

-- 
Sleep experiment manager



More information about the debian-med-commit mailing list