Krotos Modules 3
Loading...
Searching...
No Matches
Kwidget_Macroslider.cpp
Go to the documentation of this file.
1namespace krotos
2{
3 const String Kwidget_MacroSlider::Parameters::Example = "ParamID";
4 const String Kwidget_MacroSlider::Parameters::Custom = "CustomParamID";
5 const String Kwidget_MacroSlider::Parameters::editableLabel = "editableLabel";
6
7 Kwidget_MacroSlider::Kwidget_MacroSlider(const String& id) : Kwidget(KwidgetFactory::KwidgetType::MacroSlider, id)
8 {
9 // When editable Label changes -> inform Listeners
10 auto labelParam = createAndAddCustomParameter(Parameters::editableLabel, "Macro Label");
11 // This must be called after all custom parameters are added.
12 init();
13 labelParam->valueChanged = [this](const var& value) { labelChange(value.toString()); };
14 }
15
27 std::vector<Kwidget::ParameterInfo> Kwidget_MacroSlider::createParameters()
28 {
29 return {{getKwidgetID(), getKwidgetID(), {0.0f, 1.0f}, 0.5f}};
30 }
31
32 std::unique_ptr<KwidgetProcessor> Kwidget_MacroSlider::createProcessor()
33 {
34 return std::make_unique<KwidgetProcessor_MacroSlider>(*this);
35 }
36
37 std::unique_ptr<KwidgetGUI> Kwidget_MacroSlider::createGUI()
38 {
39 return std::make_unique<KwidgetGUI_MacroSlider>(*this);
40 }
41
42 void Kwidget_MacroSlider::addListener(Listener* listenerToAdd) { m_listeners.add(listenerToAdd); }
43
45 {
46 jassert(m_listeners.contains(listenerToRemove));
47 m_listeners.remove(listenerToRemove);
48 }
49
50 void Kwidget_MacroSlider::labelChange(const String& newLabel)
51 {
52 m_listeners.call([this, newLabel](Listener& l) { l.labelChanged(this, newLabel); });
53 }
54
56} // namespace krotos
Definition Kwidget_Macroslider.h:14
virtual void labelChanged(Kwidget_MacroSlider *macroSlider, const String &newLabel)=0
void removeListener(Listener *listenerToRemove)
Definition Kwidget_Macroslider.cpp:44
const String m_label
Definition Kwidget_Macroslider.h:35
void labelChange(const String &newLabel)
Definition Kwidget_Macroslider.cpp:50
const String & getKwidgetLabel() override
Definition Kwidget_Macroslider.cpp:55
std::vector< ParameterInfo > createParameters() override
Definition Kwidget_Macroslider.cpp:27
void addListener(Listener *listenerToAdd)
Definition Kwidget_Macroslider.cpp:42
std::unique_ptr< KwidgetProcessor > createProcessor() override
Definition Kwidget_Macroslider.cpp:32
Kwidget_MacroSlider(const String &id)
Definition Kwidget_Macroslider.cpp:7
std::unique_ptr< KwidgetGUI > createGUI() override
Definition Kwidget_Macroslider.cpp:37
ListenerList< Listener > m_listeners
Definition Kwidget_Macroslider.h:34
Definition KwidgetFactory.h:4
Definition Kwidget.h:8
void init()
Definition Kwidget.cpp:27
CustomParameter * createAndAddCustomParameter(const String &paramID, const var &value)
Definition Kwidget.cpp:419
const String & getKwidgetID() const
Definition Kwidget.cpp:367
Definition AirAbsorptionFilter.cpp:2