From 449aab3c465bbbf66d221fac3d7ea559f1720357 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 2 Jun 2008 21:41:35 +0000 Subject: rollback to 3428, before the mysterious removal of libs/* at 3431/3432 git-svn-id: svn://localhost/ardour2/branches/3.0@3435 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/gtkmm2ext/slider_controller.cc | 91 +++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 libs/gtkmm2ext/slider_controller.cc (limited to 'libs/gtkmm2ext/slider_controller.cc') diff --git a/libs/gtkmm2ext/slider_controller.cc b/libs/gtkmm2ext/slider_controller.cc new file mode 100644 index 0000000000..93dfb27ae2 --- /dev/null +++ b/libs/gtkmm2ext/slider_controller.cc @@ -0,0 +1,91 @@ +/* + Copyright (C) 1998-99 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 + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + $Id$ +*/ + +#include + +#include +#include +#include + +#include "i18n.h" + +using namespace Gtkmm2ext; +using namespace PBD; + +SliderController::SliderController (Glib::RefPtr image, + Gtk::Adjustment *adj, int orientation, + Controllable& c, + bool with_numeric) + + : PixFader (image, *adj, orientation), + binding_proxy (c), + spin (*adj, 0, 2) +{ + spin.set_name ("SliderControllerValue"); + spin.set_size_request (70,-1); // should be based on font size somehow + spin.set_numeric (true); + spin.set_snap_to_ticks (false); +} + +void +SliderController::set_value (float v) +{ + adjustment.set_value (v); +} + +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 image, + Gtk::Adjustment *adj, + Controllable& control, + bool with_numeric) + + : SliderController (image, adj, VERT, control, with_numeric) +{ + if (with_numeric) { + spin_frame.add (spin); + spin_frame.set_shadow_type (Gtk::SHADOW_IN); + spin_frame.set_name ("BaseFrame"); + spin_hbox.pack_start (spin_frame, false, true); + // pack_start (spin_hbox, false, false); + } +} + +HSliderController::HSliderController (Glib::RefPtr image, + Gtk::Adjustment *adj, + Controllable& control, + bool with_numeric) + + : SliderController (image, adj, HORIZ, control, with_numeric) +{ + if (with_numeric) { + spin_frame.add (spin); + //spin_frame.set_shadow_type (Gtk::SHADOW_IN); + spin_frame.set_name ("BaseFrame"); + spin_hbox.pack_start (spin_frame, false, true); + // pack_start (spin_hbox, false, false); + } +} -- cgit v1.2.3