The following commit has been merged in the master branch:
commit 49d801b49a27192151c31c02e44c458c6897de0d
Author: Andrei Zavada <[email protected]>
Date:   Tue Jan 8 15:28:19 2013 +0200

    some statusbar convenience functions for mw and sf

diff --git a/src/ui/mw/mw-mainmenu_cb.cc b/src/ui/mw/mw-mainmenu_cb.cc
index 9de8772..aa0a689 100644
--- a/src/ui/mw/mw-mainmenu_cb.cc
+++ b/src/ui/mw/mw-mainmenu_cb.cc
@@ -110,7 +110,7 @@ iExpBasicSADetectUltradianCycles_activate_cb( GtkMenuItem*, 
gpointer userdata)
                snprintf_buf(
                        "(%zu of %zu) %s/%s/%s", i, n,
                        ED.ED->group_of(J), J.name(), E.name());
-               ED.buf_on_main_status_bar();
+               ED.sb_message( __buf__);
                gtk_widget_queue_draw( (GtkWidget*)ED.cMeasurements);
                gdk_window_process_updates(
                        gtk_widget_get_parent_window( 
(GtkWidget*)ED.cMeasurements),
@@ -168,7 +168,7 @@ iExpGloballyDetectArtifacts_activate_cb( GtkMenuItem*, 
gpointer userdata)
                        snprintf_buf(
                                "(%zu of %zu) Detect artifacts in 
%s/%s/%s/%s:%s", i, total,
                                ED.ED->group_of(J), J.name(), D.c_str(), 
E.name(), R.F().channel_by_id(R.h()));
-                       ED.buf_on_main_status_bar();
+                       ED.sb_message( __buf__);
                        gtk_flush();
                };
        switch ( response ) {
diff --git a/src/ui/mw/mw-measurements_cb.cc b/src/ui/mw/mw-measurements_cb.cc
index fa8d9ab..c2a5762 100644
--- a/src/ui/mw/mw-measurements_cb.cc
+++ b/src/ui/mw/mw-measurements_cb.cc
@@ -191,7 +191,7 @@ iSubjectTimelineSaveAsSVG_activate_cb( GtkMenuItem 
*checkmenuitem, gpointer user
        J->draw_timeline( __buf__);
 
        snprintf_buf( "Wrote \"%s\"", agh::str::homedir2tilda(tmp).c_str());
-       ED.buf_on_main_status_bar();
+       ED.sb_message( __buf__);
 }
 
 
diff --git a/src/ui/mw/mw-simulations_cb.cc b/src/ui/mw/mw-simulations_cb.cc
index 1083933..1c558bc 100644
--- a/src/ui/mw/mw-simulations_cb.cc
+++ b/src/ui/mw/mw-simulations_cb.cc
@@ -143,7 +143,7 @@ iSimulationsRunBatch_activate_cb( GtkMenuItem*, gpointer 
userdata)
                                snprintf_buf( "(%zu of %zu) Running simulation 
in channel %s (%s) for %s (session %s) ...",
                                              i, n, H.c_str(), 
T.display_name().c_str(),
                                              J.name(), D.c_str());
-                               ED.buf_on_main_status_bar();
+                               ED.sb_message( __buf__);
                                gtk_flush();
                        };
                CExpDesign::TModelRunFilterFun filter =
@@ -156,7 +156,7 @@ iSimulationsRunBatch_activate_cb( GtkMenuItem*, gpointer 
userdata)
                ED.populate_2();
 
                snprintf_buf( "Done");
-               ED.buf_on_main_status_bar();
+               ED.sb_message( __buf__);
        }
 }
 
diff --git a/src/ui/mw/mw.cc b/src/ui/mw/mw.cc
index 40b01bf..86f7bed 100644
--- a/src/ui/mw/mw.cc
+++ b/src/ui/mw/mw.cc
@@ -426,14 +426,10 @@ do_purge_computed()
 
        if ( ED->purge_cached_profiles() ) {
                fprintf( stderr, "Command '%s' returned a non-zero status. This 
is suspicious.\n", __buf__);
-               gtk_statusbar_pop( sbMainStatusBar, sbMainContextIdGeneral);
-               gtk_statusbar_push( sbMainStatusBar, sbMainContextIdGeneral,
-                                   "Failed to purge cache files. This is 
odd.");
+               sb_message( "Failed to purge cache files. This is odd.");
        }
 
-       gtk_statusbar_pop( sbMainStatusBar, sbMainContextIdGeneral);
-       gtk_statusbar_push( sbMainStatusBar, sbMainContextIdGeneral,
-                           "Purged computed files cache");
+       sb_message( "Purged computed files cache");
 }
 
 
@@ -532,18 +528,27 @@ show_changelog()
 
 void
 aghui::SExpDesignUI::
-buf_on_main_status_bar()
+sb_message( const char* msg) const
 {
        gtk_statusbar_pop( sbMainStatusBar, sbMainContextIdGeneral);
-       gtk_statusbar_push( sbMainStatusBar, sbMainContextIdGeneral, __buf__);
+       gtk_statusbar_push( sbMainStatusBar, sbMainContextIdGeneral, msg);
 }
 
 void
 aghui::SExpDesignUI::
+sb_clear() const
+{
+       gtk_statusbar_pop( sbMainStatusBar, sbMainContextIdGeneral);
+}
+
+
+
+void
+aghui::SExpDesignUI::
 sb_main_progress_indicator( const char* current, size_t n, size_t i, 
aghui::TGtkRefreshMode mode)
 {
        snprintf_buf( "(%zu of %zu) %s", i, n, current);
-       buf_on_main_status_bar();
+       sb_message( __buf__);
 
        switch ( mode ) {
        case TGtkRefreshMode::gtk:
diff --git a/src/ui/mw/mw.hh b/src/ui/mw/mw.hh
index 5ade1c2..290cf15 100644
--- a/src/ui/mw/mw.hh
+++ b/src/ui/mw/mw.hh
@@ -311,9 +311,10 @@ class SExpDesignUI
        int     ctl_params0_siman_params_t_initial_exponent;
 
       // status bar bits
+       void sb_message( const char*) const;
+       void sb_clear() const;
        void sb_main_progress_indicator( const char*, size_t n, size_t i,
                                         aghui::TGtkRefreshMode);
-       void buf_on_main_status_bar();
 
       // dnd
        struct SDndIface {
diff --git a/src/ui/sf/sf-montage_cb.cc b/src/ui/sf/sf-montage_cb.cc
index 572b1b5..0ed7201 100644
--- a/src/ui/sf/sf-montage_cb.cc
+++ b/src/ui/sf/sf-montage_cb.cc
@@ -560,8 +560,7 @@ iSFPageLocateSelection_activate_cb( GtkMenuItem*, gpointer 
userdata)
 {
        auto& SF = *(SScoringFacility*)userdata;
        if ( SF.using_channel->selection_start == 
SF.using_channel->selection_end ) {
-               gtk_statusbar_pop(  SF.sbSF, SF.sbSFContextIdGeneral);
-               gtk_statusbar_push( SF.sbSF, SF.sbSFContextIdGeneral, "There is 
no selection in this channel");
+               SF.sb_message( "There is no selection in this channel");
        } else
                SF.set_cur_vpage(
                        SF.using_channel->selection_start / 
SF.using_channel->samplerate() / SF.vpagesize());
@@ -660,7 +659,7 @@ iSFPageArtifactsMarkFlat_activate_cb( GtkMenuItem*, 
gpointer userdata)
 
                snprintf_buf( "Detected %.2g sec of flat regions, adding %.2g 
sec to already marked",
                              marked.first, marked.second);
-               gtk_statusbar_push( SF.sbSF, SF.sbSFContextIdGeneral, __buf__);
+               SF.sb_message( __buf__);
 
                gtk_widget_queue_draw( (GtkWidget*)SF.daSFMontage);
                gtk_widget_queue_draw( (GtkWidget*)SF.daSFHypnogram);
@@ -710,7 +709,7 @@ iSFPageSaveChannelAsSVG_activate_cb( GtkMenuItem *menuitem, 
gpointer userdata)
        SF.using_channel->draw_for_montage( fname.c_str(), SF.da_wd, 
SF.interchannel_gap);
        snprintf_buf( "Wrote \"%s\"",
                      agh::str::homedir2tilda(fname).c_str());
-       ED.buf_on_main_status_bar();
+       ED.sb_message( __buf__);
 }
 
 
@@ -726,7 +725,7 @@ iSFPageSaveMontageAsSVG_activate_cb( GtkMenuItem *menuitem, 
gpointer userdata)
        SF.draw_montage( fname.c_str());
        snprintf_buf( "Wrote \"%s\"",
                      agh::str::homedir2tilda(fname).c_str());
-       ED.buf_on_main_status_bar();
+       ED.sb_message( __buf__);
 }
 
 
@@ -742,7 +741,7 @@ iSFPageExportSignal_activate_cb( GtkMenuItem *menuitem, 
gpointer userdata)
        r.F().export_original( SF.using_channel->h(), __buf__);
        snprintf_buf( "Wrote \"%s-{filt,orig}.tsv\"",
                      fname_base.c_str());
-       SF._p.buf_on_main_status_bar();
+       SF._p.sb_message( __buf__);
 }
 
 
@@ -962,7 +961,7 @@ iSFPowerExportRange_activate_cb( GtkMenuItem *menuitem, 
gpointer userdata)
        // }
 
        snprintf_buf( "Wrote %s", agh::str::homedir2tilda(fname_base).c_str());
-       SF._p.buf_on_main_status_bar();
+       SF._p.sb_message( __buf__);
 }
 
 void
@@ -992,7 +991,7 @@ iSFPowerExportAll_activate_cb( GtkMenuItem *menuitem, 
gpointer userdata)
        }
 
        snprintf_buf( "Wrote %s", agh::str::homedir2tilda(fname_base).c_str());
-       SF._p.buf_on_main_status_bar();
+       SF._p.sb_message( __buf__);
 }
 
 void
diff --git a/src/ui/sf/sf.cc b/src/ui/sf/sf.cc
index 9556f8b..186a146 100644
--- a/src/ui/sf/sf.cc
+++ b/src/ui/sf/sf.cc
@@ -101,21 +101,21 @@ SScoringFacility (agh::CSubject& J,
                for ( auto &H : _sepisode.recordings )
                        if ( H.second.signal_type() == 
sigfile::SChannel::TType::eeg ) {
                                snprintf_buf( "Reading and processing EEG 
channel %s ...", H.first.c_str());
-                               _p.buf_on_main_status_bar();
+                               _p.sb_message( __buf__);
                                channels.emplace_back( H.second, *this, y, 
seq++);
                                y += interchannel_gap;
                        }
                for ( auto &H : _sepisode.recordings )
                        if ( H.second.signal_type() == 
sigfile::SChannel::TType::eog ) {
                                snprintf_buf( "Reading and processing EOG 
channel %s ...", H.first.c_str());
-                               _p.buf_on_main_status_bar();
+                               _p.sb_message( __buf__);
                                channels.emplace_back( H.second, *this, y, 
seq++);
                                y += interchannel_gap;
                        }
                for ( auto &H : _sepisode.recordings )
                        if ( H.second.signal_type() == 
sigfile::SChannel::TType::emg ) {
                                snprintf_buf( "Reading and processing EMG 
channel %s ...", H.first.c_str());
-                               _p.buf_on_main_status_bar();
+                               _p.sb_message( __buf__);
                                channels.emplace_back( H.second, *this, y, 
seq++);
                                y += interchannel_gap;
                        }
@@ -125,7 +125,7 @@ SScoringFacility (agh::CSubject& J,
                             type != sigfile::SChannel::TType::eog &&
                             type != sigfile::SChannel::TType::emg ) {
                                snprintf_buf( "Reading and processing channel 
%s ...", H.first.c_str());
-                               _p.buf_on_main_status_bar();
+                               _p.sb_message( __buf__);
                                channels.emplace_back( H.second, *this, y, 
seq++);
                                y += interchannel_gap;
                        }
@@ -255,12 +255,12 @@ SScoringFacility (agh::CSubject& J,
        gtk_widget_set_visible( (GtkWidget*)_p.tSettings, false);
 
        // tell main window we are done (so it can start another instance of 
scoring facility)
-       gtk_statusbar_pop( _p.sbMainStatusBar, _p.sbMainContextIdGeneral);
+       _p.sb_clear();
 }
 
 
 aghui::SScoringFacility::
-~SScoringFacility()
+~SScoringFacility ()
 {
        if ( ica )
                delete ica;
@@ -677,6 +677,22 @@ reset_montage()
 
 
 
+void
+aghui::SScoringFacility::
+sb_message( const char* msg) const
+{
+       gtk_statusbar_pop(  sbSF, sbSFContextIdGeneral);
+       gtk_statusbar_push( sbSF, sbSFContextIdGeneral, msg);
+}
+
+void
+aghui::SScoringFacility::
+sb_clear() const
+{
+       gtk_statusbar_pop(  sbSF, sbSFContextIdGeneral);
+}
+
+
 
 const char* const
        aghui::SScoringFacility::tooltips[2] = {
diff --git a/src/ui/sf/sf.hh b/src/ui/sf/sf.hh
index 92d4085..c16b03f 100644
--- a/src/ui/sf/sf.hh
+++ b/src/ui/sf/sf.hh
@@ -471,7 +471,6 @@ class SScoringFacility
        // draw
        void draw_montage( cairo_t*);
        void draw_montage( const char *fname); // to a file (uses da_wd and 
da_ht
-
     private:
        template <class T>
        void _draw_matrix_to_montage( cairo_t*, const itpp::Mat<T>&);
@@ -485,6 +484,10 @@ class SScoringFacility
        void do_score_forward( char score_ch);
        void do_score_back( char score_ch);
 
+      // status bar
+       void sb_message( const char*) const;
+       void sb_clear() const;
+
       // tips
        enum TTipIdx : size_t {
                scoring_mode,
diff --git a/src/ui/sf/sf_cb.cc b/src/ui/sf/sf_cb.cc
index 41a68de..847996e 100644
--- a/src/ui/sf/sf_cb.cc
+++ b/src/ui/sf/sf_cb.cc
@@ -81,7 +81,7 @@ bSFForward_clicked_cb( GtkButton *button, gpointer userdata)
        auto current = SF.cur_vpage();
        if ( current < SF.total_vpages() - 1 )
                SF.set_cur_vpage( current+1);
-       gtk_statusbar_pop(  SF.sbSF, SF.sbSFContextIdGeneral);
+       SF.sb_clear();
 }
 
 void
@@ -91,7 +91,7 @@ bSFBack_clicked_cb( GtkButton *button, gpointer userdata)
        auto current = SF.cur_vpage();
        if ( current > 0 )
                SF.set_cur_vpage( current-1);
-       gtk_statusbar_pop(  SF.sbSF, SF.sbSFContextIdGeneral);
+       SF.sb_clear();
 }
 
 
@@ -114,12 +114,11 @@ bScoreGotoPrevUnscored_clicked_cb( GtkButton *button, 
gpointer userdata)
        size_t p = SF.cur_page();
        while ( --p != (size_t)-1 )
                if ( SF.hypnogram[p] == 
sigfile::SPage::score_code(sigfile::SPage::TScore::none) ) {
-                       gtk_statusbar_pop(  SF.sbSF, SF.sbSFContextIdGeneral);
+                       SF.sb_clear();
                        SF.set_cur_vpage( SF.p2ap(p));
                        return;
                }
-       gtk_statusbar_pop(  SF.sbSF, SF.sbSFContextIdGeneral);
-       gtk_statusbar_push( SF.sbSF, SF.sbSFContextIdGeneral, "No more unscored 
pages before this");
+       SF.sb_message( "No more unscored pages before this");
 }
 
 void
@@ -131,12 +130,11 @@ bScoreGotoNextUnscored_clicked_cb( GtkButton *button, 
gpointer userdata)
        size_t p = SF.cur_page();
        while ( ++p < SF.total_pages() )
                if ( SF.hypnogram[p] == 
sigfile::SPage::score_code(sigfile::SPage::TScore::none) ) {
-                       gtk_statusbar_pop(  SF.sbSF, SF.sbSFContextIdGeneral);
+                       SF.sb_clear();
                        SF.set_cur_vpage( SF.p2ap(p));
                        return;
                }
-       gtk_statusbar_pop(  SF.sbSF, SF.sbSFContextIdGeneral);
-       gtk_statusbar_push( SF.sbSF, SF.sbSFContextIdGeneral, "No more unscored 
pages after this");
+       SF.sb_message( "No more unscored pages after this");
 }
 
 
@@ -151,12 +149,11 @@ bScoreGotoPrevArtifact_clicked_cb( GtkButton *button, 
gpointer userdata)
        size_t p = SF.cur_vpage();
        while ( --p != (size_t)-1 )
                if ( SF.page_has_artifacts( p, false)) {
-                       gtk_statusbar_pop(  SF.sbSF, SF.sbSFContextIdGeneral);
+                       SF.sb_clear();
                        SF.set_cur_vpage( p);
                        return;
                }
-       gtk_statusbar_pop(  SF.sbSF, SF.sbSFContextIdGeneral);
-       gtk_statusbar_push( SF.sbSF, SF.sbSFContextIdGeneral, "No more dirty 
pages before this");
+       SF.sb_message( "No more dirty pages before this");
 }
 
 void
@@ -168,12 +165,11 @@ bScoreGotoNextArtifact_clicked_cb( GtkButton *button, 
gpointer userdata)
        size_t p = SF.cur_vpage();
        while ( ++p < SF.total_vpages() )
                if ( SF.page_has_artifacts( p)) {
-                       gtk_statusbar_pop(  SF.sbSF, SF.sbSFContextIdGeneral);
+                       SF.sb_clear();
                        SF.set_cur_vpage( p);
                        return;
                }
-       gtk_statusbar_pop(  SF.sbSF, SF.sbSFContextIdGeneral);
-       gtk_statusbar_push( SF.sbSF, SF.sbSFContextIdGeneral, "No more dirty 
pages after this");
+       SF.sb_message( "No more dirty pages after this");
 }
 
 

-- 
Sleep experiment manager

_______________________________________________
debian-med-commit mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit

Reply via email to