Trim calls to parameter_count() a bit during the process
[ardour.git] / libs / gtkmm2ext / slider_controller.cc
index aba58724ebe92f0a8128c3acdad5c3e69e26e816..f86fd19820224ce02b8bb698aeccd9d071075314 100644 (file)
@@ -20,7 +20,7 @@
 #include <string>
 
 #include <gtkmm2ext/gtk_ui.h>
-#include <gtkmm2ext/pixscroller.h>
+#include <gtkmm2ext/pixfader.h>
 #include <gtkmm2ext/slider_controller.h>
 
 #include "i18n.h"
 using namespace Gtkmm2ext;
 using namespace PBD;
 
-SliderController::SliderController (Glib::RefPtr<Gdk::Pixbuf> slide,
-                                   Glib::RefPtr<Gdk::Pixbuf> rail,
-                                   Gtk::Adjustment *adj,
-                                   Controllable& c,
-                                   bool with_numeric)
+SliderController::SliderController (Glib::RefPtr<Gdk::Pixbuf> image, Gtk::Adjustment *adj, int orientation, int fader_length)
 
-       : PixScroller (*adj, slide, rail),
-         binding_proxy (c),
+       : PixFader (image, *adj, orientation, fader_length),
          spin (*adj, 0, 2)
 {                        
        spin.set_name ("SliderControllerValue");
@@ -47,16 +42,24 @@ SliderController::SliderController (Glib::RefPtr<Gdk::Pixbuf> slide,
 void
 SliderController::set_value (float v)
 {
-       adj.set_value (v);
+       adjustment.set_value (v);
 }
 
-VSliderController::VSliderController (Glib::RefPtr<Gdk::Pixbuf> slide,
-                                     Glib::RefPtr<Gdk::Pixbuf> rail,
-                                     Gtk::Adjustment *adj,
-                                     Controllable& control,
+bool 
+SliderController::on_button_press_event (GdkEventButton *ev) 
+{
+       if (binding_proxy.button_press_handler (ev)) {
+               return true;
+       }
+
+       return PixFader::on_button_press_event (ev);
+}
+
+VSliderController::VSliderController (Glib::RefPtr<Gdk::Pixbuf> image,
+                                     Gtk::Adjustment *adj, int fader_length,
                                      bool with_numeric)
 
-       : SliderController (slide, rail, adj, control, with_numeric)
+       : SliderController (image, adj, VERT, fader_length)
 {
        if (with_numeric) {
                spin_frame.add (spin);
@@ -67,13 +70,11 @@ VSliderController::VSliderController (Glib::RefPtr<Gdk::Pixbuf> slide,
        }
 }
 
-HSliderController::HSliderController (Glib::RefPtr<Gdk::Pixbuf> slide,
-                                     Glib::RefPtr<Gdk::Pixbuf> rail,
-                                     Gtk::Adjustment *adj,
-                                     Controllable& control,
+HSliderController::HSliderController (Glib::RefPtr<Gdk::Pixbuf> image,
+                                     Gtk::Adjustment *adj, int fader_length,
                                      bool with_numeric)
        
-       : SliderController (slide, rail, adj, control, with_numeric)
+       : SliderController (image, adj, HORIZ, fader_length)
 {
        if (with_numeric) {
                spin_frame.add (spin);