gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

commit a74cc61844af453c49a3898357c5424be8464f25
parent 189212e00d7731152721d8d4791bea4ecb94b044
Author: 790 <790@users.noreply.github.com>
Date:   Fri, 14 Jan 2022 15:55:44 +0000

show control value on mouse hover

Diffstat:
Msource/jucePlugin/ui/VirusEditor.cpp | 24++++++++++++++++++++----
Msource/jucePlugin/ui/VirusEditor.h | 4+++-
2 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/source/jucePlugin/ui/VirusEditor.cpp b/source/jucePlugin/ui/VirusEditor.cpp @@ -289,12 +289,12 @@ void VirusEditor::MainButtons::applyToMainButtons(std::function<void(DrawableBut action(section); } } -void VirusEditor::mouseDrag(const juce::MouseEvent & event) -{ - auto props = event.eventComponent->getProperties(); + +void VirusEditor::updateControlLabel(Component* eventComponent) { + auto props = eventComponent->getProperties(); if(props.contains("type") && props["type"] == "slider") { m_controlLabel.setVisible(true); - auto comp = dynamic_cast<juce::Slider*>(event.eventComponent); + auto comp = dynamic_cast<juce::Slider*>(eventComponent); if(comp) { auto name = props["name"]; @@ -321,7 +321,23 @@ void VirusEditor::mouseDrag(const juce::MouseEvent & event) } } } +void VirusEditor::mouseDrag(const juce::MouseEvent & event) +{ + updateControlLabel(event.eventComponent); +} +void VirusEditor::mouseEnter(const juce::MouseEvent& event) { + if (event.mouseWasDraggedSinceMouseDown()) { + return; + } + updateControlLabel(event.eventComponent); +} +void VirusEditor::mouseExit(const juce::MouseEvent& event) { + if (event.mouseWasDraggedSinceMouseDown()) { + return; + } + m_controlLabel.setText("", juce::dontSendNotification); +} void VirusEditor::mouseUp(const juce::MouseEvent & event) { m_controlLabel.setText("", juce::dontSendNotification); diff --git a/source/jucePlugin/ui/VirusEditor.h b/source/jucePlugin/ui/VirusEditor.h @@ -88,7 +88,9 @@ private: juce::String m_previousPath; bool m_paramDisplayLocal = false; - + void updateControlLabel(Component *eventComponent); + void mouseEnter (const juce::MouseEvent &event) override; + void mouseExit (const juce::MouseEvent &event) override; void mouseDrag (const juce::MouseEvent &event) override; void mouseUp (const juce::MouseEvent &event) override;