Slider Controller API Change

Prepare to allow BarController (with Spinbutton) to translate
internal/interface values for the SpinBox.

(The change is irrelevant for the fader/slider itself which
always use the [user-]interface value)
This commit is contained in:
Robin Gareus
2014-11-01 18:22:29 +01:00
parent 45b7a03b7b
commit 049c11de58
6 changed files with 14 additions and 13 deletions

View File

@@ -98,9 +98,9 @@ GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length, int
_width = Wide;
if (horizontal) {
gain_slider = manage (new HSliderController (&gain_adjustment, fader_length, fader_girth));
gain_slider = manage (new HSliderController (&gain_adjustment, boost::shared_ptr<PBD::Controllable>(), fader_length, fader_girth));
} else {
gain_slider = manage (new VSliderController (&gain_adjustment, fader_length, fader_girth));
gain_slider = manage (new VSliderController (&gain_adjustment, boost::shared_ptr<PBD::Controllable>(), fader_length, fader_girth));
}
level_meter = new LevelMeterHBox(_session);

View File

@@ -267,7 +267,7 @@ FaderOption::FaderOption (string const & i, string const & n, sigc::slot<gain_t>
, _get (g)
, _set (s)
{
_db_slider = manage (new HSliderController (&_db_adjustment, 115, 18));
_db_slider = manage (new HSliderController (&_db_adjustment, boost::shared_ptr<PBD::Controllable>(), 115, 18));
_label.set_text (n + ":");
_label.set_alignment (0, 0.5);

View File

@@ -493,7 +493,7 @@ ProcessorEntry::toggle_panner_link ()
ProcessorEntry::Control::Control (boost::shared_ptr<AutomationControl> c, string const & n)
: _control (c)
, _adjustment (gain_to_slider_position_with_max (1.0, Config->get_max_gain()), 0, 1, 0.01, 0.1)
, _slider (&_adjustment, 0, 13)
, _slider (&_adjustment, boost::shared_ptr<PBD::Controllable>(), 0, 13)
, _slider_persistant_tooltip (&_slider)
, _button (ArdourButton::led_default_elements)
, _ignore_ui_adjustment (false)

View File

@@ -39,7 +39,7 @@ using namespace Gtkmm2ext;
BarController::BarController (Gtk::Adjustment& adj,
boost::shared_ptr<PBD::Controllable> mc)
: _slider (&adj, 60, 16)
: _slider (&adj, mc, 60, 16)
, _switching (false)
, _switch_on_release (false)
{

View File

@@ -45,7 +45,7 @@ namespace Gtkmm2ext {
class LIBGTKMM2EXT_API SliderController : public Gtkmm2ext::PixFader
{
public:
SliderController (Gtk::Adjustment* adj, int orientation, int, int);
SliderController (Gtk::Adjustment* adj, boost::shared_ptr<PBD::Controllable> mc, int orientation, int, int);
virtual ~SliderController () {}
@@ -61,13 +61,13 @@ class LIBGTKMM2EXT_API SliderController : public Gtkmm2ext::PixFader
class LIBGTKMM2EXT_API VSliderController : public SliderController
{
public:
VSliderController (Gtk::Adjustment *adj, int, int);
VSliderController (Gtk::Adjustment *adj, boost::shared_ptr<PBD::Controllable> mc, int, int);
};
class LIBGTKMM2EXT_API HSliderController : public SliderController
{
public:
HSliderController (Gtk::Adjustment *adj, int, int);
HSliderController (Gtk::Adjustment *adj, boost::shared_ptr<PBD::Controllable> mc, int, int);
};

View File

@@ -22,13 +22,14 @@
#include <gtkmm2ext/gtk_ui.h>
#include <gtkmm2ext/pixfader.h>
#include <gtkmm2ext/slider_controller.h>
#include "pbd/controllable.h"
#include "i18n.h"
using namespace Gtkmm2ext;
using namespace PBD;
SliderController::SliderController (Gtk::Adjustment *adj, int orientation, int fader_length, int fader_girth)
SliderController::SliderController (Gtk::Adjustment *adj, boost::shared_ptr<PBD::Controllable> mc, int orientation, int fader_length, int fader_girth)
: PixFader (*adj, orientation, fader_length, fader_girth)
, spin (*adj, 0, 2)
{
@@ -47,12 +48,12 @@ SliderController::on_button_press_event (GdkEventButton *ev)
return PixFader::on_button_press_event (ev);
}
VSliderController::VSliderController (Gtk::Adjustment *adj, int fader_length, int fader_girth)
: SliderController (adj, VERT, fader_length, fader_girth)
VSliderController::VSliderController (Gtk::Adjustment *adj, boost::shared_ptr<PBD::Controllable> mc, int fader_length, int fader_girth)
: SliderController (adj, mc, VERT, fader_length, fader_girth)
{
}
HSliderController::HSliderController (Gtk::Adjustment *adj, int fader_length, int fader_girth)
: SliderController (adj, HORIZ, fader_length, fader_girth)
HSliderController::HSliderController (Gtk::Adjustment *adj, boost::shared_ptr<PBD::Controllable> mc, int fader_length, int fader_girth)
: SliderController (adj, mc, HORIZ, fader_length, fader_girth)
{
}