/*
- Copyright (C) 1998-2006 Paul Davis
+ Copyright (C) 1998-2006 Paul Davis
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
virtual ~SliderController () {}
- Gtk::SpinButton& get_spin_button () { return spin; }
- void set_controllable (boost::shared_ptr<PBD::Controllable> c) { binding_proxy.set_controllable (c); }
+ Gtk::SpinButton& get_spin_button () { assert(_ctrl); return _spin; }
+ void set_controllable (boost::shared_ptr<PBD::Controllable> c) { _binding_proxy.set_controllable (c); }
protected:
bool on_button_press_event (GdkEventButton *ev);
- BindingProxy binding_proxy;
- Gtk::SpinButton spin;
+ void ctrl_adjusted();
+ void spin_adjusted();
+
+ BindingProxy _binding_proxy;
+ boost::shared_ptr<PBD::Controllable> _ctrl;
+ Gtk::Adjustment *_ctrl_adj;
+ Gtk::Adjustment _spin_adj;
+ Gtk::SpinButton _spin;
+ bool _ctrl_ignore;
+ bool _spin_ignore;
};
class LIBGTKMM2EXT_API VSliderController : public SliderController
}; /* namespace */
-#endif // __gtkmm2ext_slider_controller_h__
+#endif // __gtkmm2ext_slider_controller_h__