void CSlider::moveTo(int to) { vstd::amax(to, 0); vstd::amin(to, positions); //same, old position? if(value == to) return; value = to; updateSliderPos(); moved(to); }
void CustomSlider::timerCallback() { updateSliderPos(); }
CustomSlider::CustomSlider (AudioProcessorParameter& p) : Slider (p.getName (256)), param (p) { startTimerHz (30); updateSliderPos(); }
CSlider::CSlider(Point position, int totalw, std::function<void(int)> Moved, int Capacity, int Amount, int Value, bool Horizontal, CSlider::EStyle style): capacity(Capacity), horizontal(Horizontal), amount(Amount), value(Value), scrollStep(1), moved(Moved) { OBJ_CONSTRUCTION_CAPTURING_ALL; setAmount(amount); vstd::amax(value, 0); vstd::amin(value, positions); addUsedEvents(LCLICK | KEYBOARD | WHEEL); strongInterest = true; pos.x += position.x; pos.y += position.y; if(style == BROWN) { std::string name = horizontal?"IGPCRDIV.DEF":"OVBUTN2.DEF"; //NOTE: this images do not have "blocked" frames. They should be implemented somehow (e.g. palette transform or something...) left = new CButton(Point(), name, CButton::tooltip()); right = new CButton(Point(), name, CButton::tooltip()); slider = new CButton(Point(), name, CButton::tooltip()); left->setImageOrder(0, 1, 1, 1); right->setImageOrder(2, 3, 3, 3); slider->setImageOrder(4, 4, 4, 4); } else { left = new CButton(Point(), horizontal ? "SCNRBLF.DEF" : "SCNRBUP.DEF", CButton::tooltip()); right = new CButton(Point(), horizontal ? "SCNRBRT.DEF" : "SCNRBDN.DEF", CButton::tooltip()); slider = new CButton(Point(), "SCNRBSL.DEF", CButton::tooltip()); } slider->actOnDown = true; slider->soundDisabled = true; left->soundDisabled = true; right->soundDisabled = true; if (horizontal) right->moveBy(Point(totalw - right->pos.w, 0)); else right->moveBy(Point(0, totalw - right->pos.h)); left->addCallback(std::bind(&CSlider::moveLeft,this)); right->addCallback(std::bind(&CSlider::moveRight,this)); slider->addCallback(std::bind(&CSlider::sliderClicked,this)); if(horizontal) { pos.h = slider->pos.h; pos.w = totalw; } else { pos.w = slider->pos.w; pos.h = totalw; } updateSliderPos(); }
void WaSlider::setValue(int value) { currentValue = value; updateSliderPos(currentValue); emit(valueChanged(value)); }