/[svn]/gigedit/trunk/src/gigedit/dimregionedit.h
ViewVC logotype

Diff of /gigedit/trunk/src/gigedit/dimregionedit.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3068 by schoenebeck, Mon Jan 2 22:13:01 2017 UTC revision 3177 by schoenebeck, Thu May 11 20:59:46 2017 UTC
# Line 37  Line 37 
37  #include <set>  #include <set>
38    
39  #include "paramedit.h"  #include "paramedit.h"
40    #include "global.h"
41    
42  class VelocityCurve : public Gtk::DrawingArea {  class VelocityCurve : public Gtk::DrawingArea {
43  public:  public:
# Line 98  protected: Line 99  protected:
99      sigc::signal<void> instrument_changed;      sigc::signal<void> instrument_changed;
100      sigc::signal<void, gig::Sample*> select_sample_signal;      sigc::signal<void, gig::Sample*> select_sample_signal;
101    
102        /**
103         * Ensures that the 2 signals DimRegionEdit::dimreg_to_be_changed_signal and
104         * DimRegionEdit::dimreg_changed_signal are always triggered correctly as a
105         * pair. It behaves similar to a "mutex lock guard" design pattern.
106         */
107        class DimRegionChangeGuard : public SignalGuard<gig::DimensionRegion*> {
108        public:
109            DimRegionChangeGuard(DimRegionEdit* edit, gig::DimensionRegion* pDimReg) :
110                SignalGuard<gig::DimensionRegion*>(edit->dimreg_to_be_changed_signal, edit->dimreg_changed_signal, pDimReg)
111            {
112            }
113        };
114    
115      gig::DimensionRegion* dimregion;      gig::DimensionRegion* dimregion;
116    
117  #ifdef OLD_TOOLTIPS  #ifdef OLD_TOOLTIPS
# Line 290  protected: Line 304  protected:
304              for (std::set<gig::DimensionRegion*>::iterator i = dimregs.begin() ;              for (std::set<gig::DimensionRegion*>::iterator i = dimregs.begin() ;
305                   i != dimregs.end() ; ++i)                   i != dimregs.end() ; ++i)
306              {              {
307                  dimreg_changed_signal(*i);                  DimRegionChangeGuard(this, *i);
308                  setter(this, *i, value);                  setter(this, *i, value);
309              }              }
310          }          }

Legend:
Removed from v.3068  
changed lines
  Added in v.3177

  ViewVC Help
Powered by ViewVC