This patch fixes the fact that clicking a boolean property component does not toggle its state, and also makes it so that the widget carries its own internal value like SliderPropertyComponent does.
[code]Index: juce_BooleanPropertyComponent.cpp
— juce_BooleanPropertyComponent.cpp (revision 274)
+++ juce_BooleanPropertyComponent.cpp (working copy)
@@ -46,7 +46,7 @@
offText (buttonTextWhenFalse)
{
addAndMakeVisible (button = new ToggleButton (String::empty));
- button->setClickingTogglesState (false);
- button->setClickingTogglesState (true);
button->addButtonListener (this);
}
@@ -67,15 +67,20 @@
g.drawRect (r.getX(), r.getY(), r.getWidth(), r.getHeight());
}
+void BooleanPropertyComponent::updateButtonText() {
- button->setButtonText (button->getToggleState() ? onText : offText);
+}
void BooleanPropertyComponent::refresh()
{
button->setToggleState (getState(), false);
- button->setButtonText (button->getToggleState() ? onText : offText);
- updateButtonText();
}
void BooleanPropertyComponent::buttonClicked (Button*)
{
- setState (! getState());
- setState (button->getToggleState());
- updateButtonText();
}
END_JUCE_NAMESPACE
[/code]