From 357dd2c9c9bfac5033cbddea5577b48eb3d09a62 Mon Sep 17 00:00:00 2001 From: jules Date: Mon, 14 Aug 2017 10:45:51 +0100 Subject: [PATCH] Removed some old compiler bug workarounds --- examples/AUv3Synth/Source/AUv3SynthEditor.h | 2 +- examples/Demo/Source/Demos/CameraDemo.cpp | 4 +- .../Demo/Source/Demos/LiveConstantDemo.cpp | 2 +- examples/Demo/Source/Demos/ValueTreesDemo.cpp | 2 +- examples/Demo/Source/Demos/WebBrowserDemo.cpp | 2 +- examples/Demo/Source/Demos/WidgetsDemo.cpp | 8 +- examples/HelloWorld/Source/MainComponent.h | 2 +- examples/MidiTest/Source/MainComponent.h | 2 +- examples/PlugInSamples/GenericEditor.h | 2 +- .../Source/IAAEffectEditor.h | 2 +- .../Surround/Source/SurroundEditor.h | 2 +- .../Source/Application/jucer_AutoUpdater.cpp | 2 +- .../Code Editor/jucer_SourceCodeEditor.cpp | 2 +- .../components/jucer_ButtonHandler.h | 2 +- .../components/jucer_ComboBoxHandler.h | 2 +- .../components/jucer_SliderHandler.h | 2 +- .../jucer_ColourPropertyComponent.h | 2 +- .../properties/jucer_PositionPropertyBase.h | 2 +- .../ui/jucer_ResourceEditorPanel.cpp | 2 +- .../ui/jucer_ResourceEditorPanel.h | 2 +- .../Source/Project/jucer_ConfigTree_Modules.h | 2 +- .../Utility/jucer_ColourPropertyComponent.h | 2 +- .../jucer_EditorColourSchemeWindowComponent.h | 2 +- .../Utility/jucer_TranslationToolComponent.h | 2 +- .../Wizards/jucer_NewProjectWizardComponent.h | 10 +-- .../Standalone/juce_StandaloneFilterWindow.h | 2 +- .../scanning/juce_PluginListComponent.h | 2 +- .../gui/juce_AudioDeviceSelectorComponent.cpp | 4 +- .../gui/juce_AudioDeviceSelectorComponent.h | 2 +- .../juce_gui_basics/buttons/juce_Button.cpp | 15 +--- modules/juce_gui_basics/buttons/juce_Button.h | 2 +- .../filebrowser/juce_FileBrowserComponent.h | 6 +- .../filebrowser/juce_FileChooserDialogBox.h | 2 +- .../juce_FileSearchPathListComponent.h | 2 +- .../filebrowser/juce_FilenameComponent.h | 4 +- .../layout/juce_TabbedButtonBar.cpp | 2 +- .../juce_BooleanPropertyComponent.h | 2 +- .../properties/juce_ButtonPropertyComponent.h | 2 +- .../properties/juce_ChoicePropertyComponent.h | 2 +- .../properties/juce_SliderPropertyComponent.h | 2 +- .../juce_gui_basics/widgets/juce_ComboBox.cpp | 2 +- .../juce_gui_basics/widgets/juce_ComboBox.h | 2 +- .../juce_gui_basics/widgets/juce_Label.cpp | 2 +- .../juce_gui_basics/widgets/juce_Slider.cpp | 89 +++++++------------ .../juce_gui_basics/widgets/juce_Toolbar.cpp | 4 +- .../juce_gui_basics/widgets/juce_Toolbar.h | 2 +- .../windows/juce_AlertWindow.h | 2 +- .../windows/juce_DocumentWindow.cpp | 2 +- .../juce_gui_extra/misc/juce_ColourSelector.h | 2 +- .../misc/juce_KeyMappingEditorComponent.cpp | 2 +- .../misc/juce_LiveConstantEditor.h | 2 +- .../misc/juce_PreferencesPanel.h | 2 +- .../marketplace/juce_OnlineUnlockForm.h | 2 +- 53 files changed, 102 insertions(+), 130 deletions(-) diff --git a/examples/AUv3Synth/Source/AUv3SynthEditor.h b/examples/AUv3Synth/Source/AUv3SynthEditor.h index 2ba7035ce9..7ecde7cce2 100644 --- a/examples/AUv3Synth/Source/AUv3SynthEditor.h +++ b/examples/AUv3Synth/Source/AUv3SynthEditor.h @@ -28,7 +28,7 @@ //============================================================================== class AUv3SynthEditor : public AudioProcessorEditor, - public ButtonListener, + public Button::Listener, public Slider::Listener, private Timer { diff --git a/examples/Demo/Source/Demos/CameraDemo.cpp b/examples/Demo/Source/Demos/CameraDemo.cpp index a40e8a56ab..af00c7d4cd 100644 --- a/examples/Demo/Source/Demos/CameraDemo.cpp +++ b/examples/Demo/Source/Demos/CameraDemo.cpp @@ -30,8 +30,8 @@ //============================================================================== class CameraDemo : public Component, - private ComboBoxListener, - private ButtonListener, + private ComboBox::Listener, + private Button::Listener, private CameraDevice::Listener, private AsyncUpdater { diff --git a/examples/Demo/Source/Demos/LiveConstantDemo.cpp b/examples/Demo/Source/Demos/LiveConstantDemo.cpp index c4f2ea44f2..eed3709bec 100644 --- a/examples/Demo/Source/Demos/LiveConstantDemo.cpp +++ b/examples/Demo/Source/Demos/LiveConstantDemo.cpp @@ -58,7 +58,7 @@ struct LiveConstantDemoComponent : public Component //============================================================================== class LiveConstantEditorDemo : public Component, - private ButtonListener + private Button::Listener { public: LiveConstantEditorDemo() diff --git a/examples/Demo/Source/Demos/ValueTreesDemo.cpp b/examples/Demo/Source/Demos/ValueTreesDemo.cpp index ae10e03796..a88999ee2b 100644 --- a/examples/Demo/Source/Demos/ValueTreesDemo.cpp +++ b/examples/Demo/Source/Demos/ValueTreesDemo.cpp @@ -158,7 +158,7 @@ private: //============================================================================== class ValueTreesDemo : public Component, public DragAndDropContainer, - private ButtonListener, + private Button::Listener, private Timer { public: diff --git a/examples/Demo/Source/Demos/WebBrowserDemo.cpp b/examples/Demo/Source/Demos/WebBrowserDemo.cpp index 658d330d64..ff0aec2c9e 100644 --- a/examples/Demo/Source/Demos/WebBrowserDemo.cpp +++ b/examples/Demo/Source/Demos/WebBrowserDemo.cpp @@ -70,7 +70,7 @@ private: //============================================================================== class WebBrowserDemo : public Component, private TextEditor::Listener, - private ButtonListener + private Button::Listener { public: WebBrowserDemo() diff --git a/examples/Demo/Source/Demos/WidgetsDemo.cpp b/examples/Demo/Source/Demos/WidgetsDemo.cpp index fc9d5237c2..7db1a79b35 100644 --- a/examples/Demo/Source/Demos/WidgetsDemo.cpp +++ b/examples/Demo/Source/Demos/WidgetsDemo.cpp @@ -226,7 +226,7 @@ private: //============================================================================== struct ButtonsPage : public Component, - public ButtonListener + public Button::Listener { ButtonsPage() { @@ -459,8 +459,8 @@ struct MiscPage : public Component //============================================================================== class ToolbarDemoComp : public Component, - public SliderListener, - public ButtonListener + public Slider::Listener, + public Button::Listener { public: ToolbarDemoComp() @@ -943,7 +943,7 @@ private: // This is a custom component containing a combo box, which we're going to put inside // our table's "rating" column. class RatingColumnCustomComponent : public Component, - private ComboBoxListener + private ComboBox::Listener { public: RatingColumnCustomComponent (TableDemoComponent& td) : owner (td) diff --git a/examples/HelloWorld/Source/MainComponent.h b/examples/HelloWorld/Source/MainComponent.h index 724207a7db..dee791095b 100644 --- a/examples/HelloWorld/Source/MainComponent.h +++ b/examples/HelloWorld/Source/MainComponent.h @@ -34,7 +34,7 @@ //[/Comments] */ class MainComponent : public Component, - public ButtonListener + public Button::Listener { public: //============================================================================== diff --git a/examples/MidiTest/Source/MainComponent.h b/examples/MidiTest/Source/MainComponent.h index c448178880..9b7882939e 100644 --- a/examples/MidiTest/Source/MainComponent.h +++ b/examples/MidiTest/Source/MainComponent.h @@ -39,7 +39,7 @@ class MainContentComponent : public Component, private MidiKeyboardStateListener, private MidiInputCallback, private MessageListener, - private ButtonListener + private Button::Listener { public: //============================================================================== diff --git a/examples/PlugInSamples/GenericEditor.h b/examples/PlugInSamples/GenericEditor.h index 6e61252bbb..8f3ac0dedc 100644 --- a/examples/PlugInSamples/GenericEditor.h +++ b/examples/PlugInSamples/GenericEditor.h @@ -25,7 +25,7 @@ */ class GenericEditor : public AudioProcessorEditor, - public SliderListener, + public Slider::Listener, private Timer { public: diff --git a/examples/PlugInSamples/InterAppAudioEffect/Source/IAAEffectEditor.h b/examples/PlugInSamples/InterAppAudioEffect/Source/IAAEffectEditor.h index 6aa5917cc5..f27820d83d 100644 --- a/examples/PlugInSamples/InterAppAudioEffect/Source/IAAEffectEditor.h +++ b/examples/PlugInSamples/InterAppAudioEffect/Source/IAAEffectEditor.h @@ -33,7 +33,7 @@ class IAAEffectEditor : public AudioProcessorEditor, private IAAEffectProcessor::MeterListener, - private ButtonListener, + private Button::Listener, private Timer { public: diff --git a/examples/PlugInSamples/Surround/Source/SurroundEditor.h b/examples/PlugInSamples/Surround/Source/SurroundEditor.h index 9086ad5ec5..563bcb31ee 100644 --- a/examples/PlugInSamples/Surround/Source/SurroundEditor.h +++ b/examples/PlugInSamples/Surround/Source/SurroundEditor.h @@ -33,7 +33,7 @@ public: }; class SurroundEditor : public AudioProcessorEditor, - public ButtonListener, + public Button::Listener, private Timer { public: diff --git a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp index 6e55fb0174..c0f77fb75e 100644 --- a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp +++ b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp @@ -233,7 +233,7 @@ public: //============================================================================== class UpdateUserDialog : public Component, - public ButtonListener + public Button::Listener { public: UpdateUserDialog (const LatestVersionChecker::JuceVersionTriple& version, diff --git a/extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.cpp b/extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.cpp index ee1ba84256..1454f146bb 100644 --- a/extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.cpp +++ b/extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.cpp @@ -347,7 +347,7 @@ void GenericCodeEditorComponent::removeListener (GenericCodeEditorComponent::Lis //============================================================================== class GenericCodeEditorComponent::FindPanel : public Component, private TextEditor::Listener, - private ButtonListener + private Button::Listener { public: FindPanel() diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_ButtonHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_ButtonHandler.h index c1be2fcfca..841af4c797 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_ButtonHandler.h +++ b/extras/Projucer/Source/ComponentEditor/components/jucer_ButtonHandler.h @@ -142,7 +142,7 @@ public: if (needsButtonListener (component)) { - String& callback = code.getCallbackCode ("public ButtonListener", + String& callback = code.getCallbackCode ("public Button::Listener", "void", "buttonClicked (Button* buttonThatWasClicked)", true); diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_ComboBoxHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_ComboBoxHandler.h index 4c9a8fbf58..251d2bc841 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_ComboBoxHandler.h +++ b/extras/Projucer/Source/ComponentEditor/components/jucer_ComboBoxHandler.h @@ -136,7 +136,7 @@ public: if (needsCallback (component)) { - String& callback = code.getCallbackCode ("public ComboBoxListener", + String& callback = code.getCallbackCode ("public ComboBox::Listener", "void", "comboBoxChanged (ComboBox* comboBoxThatHasChanged)", true); diff --git a/extras/Projucer/Source/ComponentEditor/components/jucer_SliderHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_SliderHandler.h index 5df4cdd442..45ae623675 100644 --- a/extras/Projucer/Source/ComponentEditor/components/jucer_SliderHandler.h +++ b/extras/Projucer/Source/ComponentEditor/components/jucer_SliderHandler.h @@ -155,7 +155,7 @@ struct SliderHandler : public ComponentTypeHandler if (needsSliderListener (component)) { - String& callback = code.getCallbackCode ("public SliderListener", + String& callback = code.getCallbackCode ("public Slider::Listener", "void", "sliderValueChanged (Slider* sliderThatWasMoved)", true); diff --git a/extras/Projucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h b/extras/Projucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h index 9852315be6..8c465f3f60 100644 --- a/extras/Projucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h +++ b/extras/Projucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h @@ -102,7 +102,7 @@ public: } class ColourSelectorComp : public Component, - public ButtonListener + public Button::Listener { public: ColourSelectorComp (ColourEditorComponent* owner_, diff --git a/extras/Projucer/Source/ComponentEditor/properties/jucer_PositionPropertyBase.h b/extras/Projucer/Source/ComponentEditor/properties/jucer_PositionPropertyBase.h index 55554be5b2..2007e6a248 100644 --- a/extras/Projucer/Source/ComponentEditor/properties/jucer_PositionPropertyBase.h +++ b/extras/Projucer/Source/ComponentEditor/properties/jucer_PositionPropertyBase.h @@ -35,7 +35,7 @@ */ class PositionPropertyBase : public PropertyComponent, protected ChangeListener, - private ButtonListener + private Button::Listener { public: enum ComponentPositionDimension diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp b/extras/Projucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp index 6ae64eca2e..ff4aa7b71e 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp +++ b/extras/Projucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp @@ -30,7 +30,7 @@ //============================================================================== class ResourceListButton : public Component, - private ButtonListener + private Button::Listener { public: ResourceListButton (JucerDocument& doc) diff --git a/extras/Projucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.h b/extras/Projucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.h index fc862adee1..ad31187f3a 100644 --- a/extras/Projucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.h +++ b/extras/Projucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.h @@ -32,7 +32,7 @@ class ResourceEditorPanel : public Component, private TableListBoxModel, private ChangeListener, - private ButtonListener + private Button::Listener { public: ResourceEditorPanel (JucerDocument& document); diff --git a/extras/Projucer/Source/Project/jucer_ConfigTree_Modules.h b/extras/Projucer/Source/Project/jucer_ConfigTree_Modules.h index 4b95912594..a866fdc880 100644 --- a/extras/Projucer/Source/Project/jucer_ConfigTree_Modules.h +++ b/extras/Projucer/Source/Project/jucer_ConfigTree_Modules.h @@ -313,7 +313,7 @@ private: //============================================================================== class MissingDependenciesComponent : public PropertyComponent, - public ButtonListener + public Button::Listener { public: MissingDependenciesComponent (Project& p, const String& modID) diff --git a/extras/Projucer/Source/Utility/jucer_ColourPropertyComponent.h b/extras/Projucer/Source/Utility/jucer_ColourPropertyComponent.h index 20149c2d4e..bae2b0b58b 100644 --- a/extras/Projucer/Source/Utility/jucer_ColourPropertyComponent.h +++ b/extras/Projucer/Source/Utility/jucer_ColourPropertyComponent.h @@ -140,7 +140,7 @@ private: struct PopupColourSelector : public Component, public ChangeListener, public Value::Listener, - public ButtonListener + public Button::Listener { PopupColourSelector (const Value& colour, Colour defaultCol, diff --git a/extras/Projucer/Source/Utility/jucer_EditorColourSchemeWindowComponent.h b/extras/Projucer/Source/Utility/jucer_EditorColourSchemeWindowComponent.h index 0a159a84b3..0fa72bfedc 100644 --- a/extras/Projucer/Source/Utility/jucer_EditorColourSchemeWindowComponent.h +++ b/extras/Projucer/Source/Utility/jucer_EditorColourSchemeWindowComponent.h @@ -123,7 +123,7 @@ private: //============================================================================== struct EditorPanel : public Component, - private ButtonListener + private Button::Listener { EditorPanel() : loadButton ("Load Scheme..."), diff --git a/extras/Projucer/Source/Utility/jucer_TranslationToolComponent.h b/extras/Projucer/Source/Utility/jucer_TranslationToolComponent.h index b5d9981e13..354f56d7a2 100644 --- a/extras/Projucer/Source/Utility/jucer_TranslationToolComponent.h +++ b/extras/Projucer/Source/Utility/jucer_TranslationToolComponent.h @@ -31,7 +31,7 @@ //============================================================================== class TranslationToolComponent : public Component, - public ButtonListener + public Button::Listener { public: TranslationToolComponent() diff --git a/extras/Projucer/Source/Wizards/jucer_NewProjectWizardComponent.h b/extras/Projucer/Source/Wizards/jucer_NewProjectWizardComponent.h index acc01bd3fd..e97756b15f 100644 --- a/extras/Projucer/Source/Wizards/jucer_NewProjectWizardComponent.h +++ b/extras/Projucer/Source/Wizards/jucer_NewProjectWizardComponent.h @@ -28,8 +28,8 @@ class ModulesFolderPathBox : public Component, - private ButtonListener, - private ComboBoxListener + private Button::Listener, + private ComboBox::Listener { public: ModulesFolderPathBox (File initialFileOrDirectory) @@ -295,9 +295,9 @@ private: a list box of platform targets to generate. */ class WizardComp : public Component, - private ButtonListener, - private ComboBoxListener, - private TextEditorListener, + private Button::Listener, + private ComboBox::Listener, + private TextEditor::Listener, private FileBrowserListener { public: diff --git a/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h b/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h index cca54908e9..272b298d15 100644 --- a/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h +++ b/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h @@ -552,7 +552,7 @@ private: that the other plugin wrappers use. */ class StandaloneFilterWindow : public DocumentWindow, - public ButtonListener // (can't use Button::Listener due to VC2005 bug) + public Button::Listener { public: //============================================================================== diff --git a/modules/juce_audio_processors/scanning/juce_PluginListComponent.h b/modules/juce_audio_processors/scanning/juce_PluginListComponent.h index a75387f6e5..da60cd0ea9 100644 --- a/modules/juce_audio_processors/scanning/juce_PluginListComponent.h +++ b/modules/juce_audio_processors/scanning/juce_PluginListComponent.h @@ -35,7 +35,7 @@ class JUCE_API PluginListComponent : public Component, public FileDragAndDropTarget, private ChangeListener, - private ButtonListener // (can't use Button::Listener due to idiotic VC2005 bug) + private Button::Listener { public: //============================================================================== diff --git a/modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp b/modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp index 526d2bf52d..5e4c83afb6 100644 --- a/modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp +++ b/modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp @@ -199,8 +199,8 @@ static String getNoDeviceString() { return "<< " + TRANS("none") + " >>"; } //============================================================================== class AudioDeviceSettingsPanel : public Component, private ChangeListener, - private ComboBoxListener, // (can't use ComboBox::Listener due to idiotic VC2005 bug) - private ButtonListener + private ComboBox::Listener, + private Button::Listener { public: AudioDeviceSettingsPanel (AudioIODeviceType& t, AudioDeviceSetupDetails& setupDetails, diff --git a/modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h b/modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h index 6fd50a3f95..a52d0526cd 100644 --- a/modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h +++ b/modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h @@ -37,8 +37,8 @@ @see AudioDeviceManager */ class JUCE_API AudioDeviceSelectorComponent : public Component, - private ComboBoxListener, // (can't use ComboBox::Listener due to idiotic VC2005 bug) private ChangeListener, + private ComboBox::Listener, private Button::Listener, private Timer { diff --git a/modules/juce_gui_basics/buttons/juce_Button.cpp b/modules/juce_gui_basics/buttons/juce_Button.cpp index 2dc8696014..5d7c47def2 100644 --- a/modules/juce_gui_basics/buttons/juce_Button.cpp +++ b/modules/juce_gui_basics/buttons/juce_Button.cpp @@ -394,15 +394,8 @@ void Button::handleCommandMessage (int commandId) } //============================================================================== -void Button::addListener (ButtonListener* const newListener) -{ - buttonListeners.add (newListener); -} - -void Button::removeListener (ButtonListener* const listener) -{ - buttonListeners.remove (listener); -} +void Button::addListener (Listener* l) { buttonListeners.add (l); } +void Button::removeListener (Listener* l) { buttonListeners.remove (l); } void Button::sendClickMessage (const ModifierKeys& modifiers) { @@ -420,7 +413,7 @@ void Button::sendClickMessage (const ModifierKeys& modifiers) clicked (modifiers); if (! checker.shouldBailOut()) - buttonListeners.callChecked (checker, &ButtonListener::buttonClicked, this); // (can't use Button::Listener due to idiotic VC2005 bug) + buttonListeners.callChecked (checker, &Button::Listener::buttonClicked, this); } void Button::sendStateMessage() @@ -430,7 +423,7 @@ void Button::sendStateMessage() buttonStateChanged(); if (! checker.shouldBailOut()) - buttonListeners.callChecked (checker, &ButtonListener::buttonStateChanged, this); + buttonListeners.callChecked (checker, &Button::Listener::buttonStateChanged, this); } //============================================================================== diff --git a/modules/juce_gui_basics/buttons/juce_Button.h b/modules/juce_gui_basics/buttons/juce_Button.h index e15ef92f03..9ba29f157c 100644 --- a/modules/juce_gui_basics/buttons/juce_Button.h +++ b/modules/juce_gui_basics/buttons/juce_Button.h @@ -397,7 +397,7 @@ protected: Subclasses can override this to perform whatever they actions they need to do. - Alternatively, a ButtonListener can be added to the button, and these listeners + Alternatively, a Button::Listener can be added to the button, and these listeners will be called when the click occurs. @see triggerClick diff --git a/modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h b/modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h index 6d1f159141..eb26c52556 100644 --- a/modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h +++ b/modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h @@ -39,9 +39,9 @@ */ class JUCE_API FileBrowserComponent : public Component, private FileBrowserListener, - private TextEditorListener, - private ButtonListener, - private ComboBoxListener, // (can't use ComboBox::Listener due to idiotic VC2005 bug) + private TextEditor::Listener, + private Button::Listener, + private ComboBox::Listener, private FileFilter, private Timer { diff --git a/modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h b/modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h index aea3279764..feb82bdeaa 100644 --- a/modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h +++ b/modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h @@ -63,7 +63,7 @@ @see FileChooser */ class JUCE_API FileChooserDialogBox : public ResizableWindow, - private ButtonListener, // (can't use Button::Listener due to idiotic VC2005 bug) + private Button::Listener, private FileBrowserListener { public: diff --git a/modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h b/modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h index 07e39ddf1f..5119d96782 100644 --- a/modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h +++ b/modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h @@ -37,7 +37,7 @@ class JUCE_API FileSearchPathListComponent : public Component, public SettableTooltipClient, public FileDragAndDropTarget, - private ButtonListener, // (can't use Button::Listener due to idiotic VC2005 bug) + private Button::Listener, private ListBoxModel { public: diff --git a/modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h b/modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h index 42c7c9e806..d3768f738f 100644 --- a/modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h +++ b/modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h @@ -65,8 +65,8 @@ class JUCE_API FilenameComponent : public Component, public SettableTooltipClient, public FileDragAndDropTarget, private AsyncUpdater, - private ButtonListener, // (can't use Button::Listener due to idiotic VC2005 bug) - private ComboBoxListener + private Button::Listener, + private ComboBox::Listener { public: //============================================================================== diff --git a/modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp b/modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp index 3f9b05752a..2e83ec0564 100644 --- a/modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp +++ b/modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp @@ -169,7 +169,7 @@ void TabBarButton::resized() //============================================================================== class TabbedButtonBar::BehindFrontTabComp : public Component, - public ButtonListener // (can't use Button::Listener due to idiotic VC2005 bug) + public Button::Listener { public: BehindFrontTabComp (TabbedButtonBar& tb) : owner (tb) diff --git a/modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h b/modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h index b38c148751..37e112c682 100644 --- a/modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h +++ b/modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h @@ -37,7 +37,7 @@ @see PropertyComponent */ class JUCE_API BooleanPropertyComponent : public PropertyComponent, - private ButtonListener // (can't use Button::Listener due to idiotic VC2005 bug) + private Button::Listener { protected: //============================================================================== diff --git a/modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h b/modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h index 62cfdfcb6e..64390c805a 100644 --- a/modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h +++ b/modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h @@ -37,7 +37,7 @@ @see PropertyComponent */ class JUCE_API ButtonPropertyComponent : public PropertyComponent, - private ButtonListener // (can't use Button::Listener due to idiotic VC2005 bug) + private Button::Listener { public: //============================================================================== diff --git a/modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h b/modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h index cb3f0adc06..c9ffe6d092 100644 --- a/modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h +++ b/modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h @@ -47,7 +47,7 @@ @see PropertyComponent, PropertyPanel */ class JUCE_API ChoicePropertyComponent : public PropertyComponent, - private ComboBoxListener // (can't use ComboBox::Listener due to idiotic VC2005 bug) + private ComboBox::Listener { protected: /** Creates the component. diff --git a/modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h b/modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h index b655fbbad3..9a30dbbc29 100644 --- a/modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h +++ b/modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h @@ -34,7 +34,7 @@ @see PropertyComponent, Slider */ class JUCE_API SliderPropertyComponent : public PropertyComponent, - private SliderListener // (can't use Slider::Listener due to idiotic VC2005 bug) + private Slider::Listener { protected: //============================================================================== diff --git a/modules/juce_gui_basics/widgets/juce_ComboBox.cpp b/modules/juce_gui_basics/widgets/juce_ComboBox.cpp index fc3e14ff88..95702233a4 100644 --- a/modules/juce_gui_basics/widgets/juce_ComboBox.cpp +++ b/modules/juce_gui_basics/widgets/juce_ComboBox.cpp @@ -627,7 +627,7 @@ void ComboBox::removeListener (ComboBoxListener* listener) { listeners.remove void ComboBox::handleAsyncUpdate() { Component::BailOutChecker checker (this); - listeners.callChecked (checker, &ComboBoxListener::comboBoxChanged, this); // (can't use ComboBox::Listener due to idiotic VC2005 bug) + listeners.callChecked (checker, &ComboBox::Listener::comboBoxChanged, this); } void ComboBox::sendChange (const NotificationType notification) diff --git a/modules/juce_gui_basics/widgets/juce_ComboBox.h b/modules/juce_gui_basics/widgets/juce_ComboBox.h index 6e6a2b4718..d918302bf0 100644 --- a/modules/juce_gui_basics/widgets/juce_ComboBox.h +++ b/modules/juce_gui_basics/widgets/juce_ComboBox.h @@ -44,7 +44,7 @@ */ class JUCE_API ComboBox : public Component, public SettableTooltipClient, - public LabelListener, // (can't use Label::Listener due to idiotic VC2005 bug) + public Label::Listener, public ValueListener, private AsyncUpdater { diff --git a/modules/juce_gui_basics/widgets/juce_Label.cpp b/modules/juce_gui_basics/widgets/juce_Label.cpp index 16b9e39bbf..7304090f07 100644 --- a/modules/juce_gui_basics/widgets/juce_Label.cpp +++ b/modules/juce_gui_basics/widgets/juce_Label.cpp @@ -416,7 +416,7 @@ void Label::removeListener (LabelListener* const listener) void Label::callChangeListeners() { Component::BailOutChecker checker (this); - listeners.callChecked (checker, &LabelListener::labelTextChanged, this); // (can't use Label::Listener due to idiotic VC2005 bug) + listeners.callChecked (checker, &Label::Listener::labelTextChanged, this); } //============================================================================== diff --git a/modules/juce_gui_basics/widgets/juce_Slider.cpp b/modules/juce_gui_basics/widgets/juce_Slider.cpp index 022beac4db..71616a80a8 100644 --- a/modules/juce_gui_basics/widgets/juce_Slider.cpp +++ b/modules/juce_gui_basics/widgets/juce_Slider.cpp @@ -25,36 +25,15 @@ */ class Slider::Pimpl : public AsyncUpdater, - public ButtonListener, // (can't use Button::Listener due to idiotic VC2005 bug) - public LabelListener, + public Button::Listener, + public Label::Listener, public ValueListener { public: Pimpl (Slider& s, SliderStyle sliderStyle, TextEntryBoxPosition textBoxPosition) : owner (s), style (sliderStyle), - lastCurrentValue (0), lastValueMin (0), lastValueMax (0), - minimum (0), maximum (10), interval (0), doubleClickReturnValue (0), - skewFactor (1.0), symmetricSkew (false), velocityModeSensitivity (1.0), - velocityModeOffset (0.0), velocityModeThreshold (1), - sliderRegionStart (0), sliderRegionSize (1), sliderBeingDragged (-1), - pixelsForFullDragExtent (250), - textBoxPos (textBoxPosition), - numDecimalPlaces (7), - textBoxWidth (80), textBoxHeight (20), - incDecButtonMode (incDecButtonsNotDraggable), - editableText (true), - doubleClickToValue (false), - isVelocityBased (false), - userKeyOverridesVelocity (true), - incDecButtonsSideBySide (false), - sendChangeOnlyOnRelease (false), - popupDisplayEnabled (false), - menuEnabled (false), - useDragEvents (false), - scrollWheelEnabled (true), - snapsToMousePos (true), - parentForPopupDisplay (nullptr) + textBoxPos (textBoxPosition) { rotaryParams.startAngleRadians = float_Pi * 1.2f; rotaryParams.endAngleRadians = float_Pi * 2.8f; @@ -344,7 +323,7 @@ public: Component::BailOutChecker checker (&owner); Slider* slider = &owner; // (must use an intermediate variable here to avoid a VS2005 compiler bug) - listeners.callChecked (checker, &SliderListener::sliderValueChanged, slider); // (can't use Slider::Listener due to idiotic VC2005 bug) + listeners.callChecked (checker, &Slider::Listener::sliderValueChanged, slider); } void sendDragStart() @@ -353,7 +332,7 @@ public: Component::BailOutChecker checker (&owner); Slider* slider = &owner; // (must use an intermediate variable here to avoid a VS2005 compiler bug) - listeners.callChecked (checker, &SliderListener::sliderDragStarted, slider); + listeners.callChecked (checker, &Slider::Listener::sliderDragStarted, slider); } void sendDragEnd() @@ -364,7 +343,7 @@ public: Component::BailOutChecker checker (&owner); Slider* slider = &owner; // (must use an intermediate variable here to avoid a VS2005 compiler bug) - listeners.callChecked (checker, &SliderListener::sliderDragEnded, slider); + listeners.callChecked (checker, &Slider::Listener::sliderDragEnded, slider); } struct DragInProgress @@ -1188,41 +1167,41 @@ public: Slider& owner; SliderStyle style; - ListenerList listeners; + ListenerList listeners; Value currentValue, valueMin, valueMax; - double lastCurrentValue, lastValueMin, lastValueMax; - double minimum, maximum, interval, doubleClickReturnValue; - double valueWhenLastDragged, valueOnMouseDown, skewFactor, lastAngle; - bool symmetricSkew; - double velocityModeSensitivity, velocityModeOffset, minMaxDiff; - int velocityModeThreshold; + double lastCurrentValue = 0, lastValueMin = 0, lastValueMax = 0; + double minimum = 0, maximum = 10, interval = 0, doubleClickReturnValue = 0; + double valueWhenLastDragged = 0, valueOnMouseDown = 0, skewFactor = 1.0, lastAngle = 0; + bool symmetricSkew = false; + double velocityModeSensitivity = 1.0, velocityModeOffset = 0, minMaxDiff = 0; + int velocityModeThreshold = 1; RotaryParameters rotaryParams; Point mouseDragStartPos, mousePosWhenLastDragged; - int sliderRegionStart, sliderRegionSize; - int sliderBeingDragged; - int pixelsForFullDragExtent; + int sliderRegionStart = 0, sliderRegionSize = 1; + int sliderBeingDragged = -1; + int pixelsForFullDragExtent = 250; Time lastMouseWheelTime; Rectangle sliderRect; ScopedPointer currentDrag; TextEntryBoxPosition textBoxPos; String textSuffix; - int numDecimalPlaces; - int textBoxWidth, textBoxHeight; - IncDecButtonMode incDecButtonMode; + int numDecimalPlaces = 7; + int textBoxWidth = 80, textBoxHeight = 20; + IncDecButtonMode incDecButtonMode = incDecButtonsNotDraggable; - bool editableText; - bool doubleClickToValue; - bool isVelocityBased; - bool userKeyOverridesVelocity; - bool incDecButtonsSideBySide; - bool sendChangeOnlyOnRelease; - bool popupDisplayEnabled; - bool menuEnabled; - bool useDragEvents; - bool incDecDragged; - bool scrollWheelEnabled; - bool snapsToMousePos; + bool editableText = true; + bool doubleClickToValue = false; + bool isVelocityBased = false; + bool userKeyOverridesVelocity = true; + bool incDecButtonsSideBySide = false; + bool sendChangeOnlyOnRelease = false; + bool popupDisplayEnabled = false; + bool menuEnabled = false; + bool useDragEvents = false; + bool incDecDragged = false; + bool scrollWheelEnabled = true; + bool snapsToMousePos = true; ScopedPointer