mqEditor.h (1664B)
1 #pragma once 2 3 #include "jucePluginEditorLib/pluginEditor.h" 4 5 namespace jucePluginEditorLib 6 { 7 class FocusedParameter; 8 class Processor; 9 } 10 11 namespace pluginLib 12 { 13 class ParameterBinding; 14 } 15 16 namespace mqJucePlugin 17 { 18 class mqPartSelect; 19 class Controller; 20 class FrontPanel; 21 class PatchManager; 22 23 class Editor final : public jucePluginEditorLib::Editor 24 { 25 public: 26 Editor(jucePluginEditorLib::Processor& _processor, pluginLib::ParameterBinding& _binding, const jucePluginEditorLib::Skin& _skin); 27 ~Editor() override; 28 29 Editor(Editor&&) = delete; 30 Editor(const Editor&) = delete; 31 Editor& operator = (Editor&&) = delete; 32 Editor& operator = (const Editor&) = delete; 33 34 std::pair<std::string, std::string> getDemoRestrictionText() const override; 35 36 Controller& getMqController() const { return m_controller; } 37 38 genericUI::Button<juce::DrawableButton>* createJuceComponent(genericUI::Button<juce::DrawableButton>*, genericUI::UiObject& _object, const std::string& _name, juce::DrawableButton::ButtonStyle) override; 39 40 mqPartSelect* getPartSelect() const 41 { 42 return m_partSelect.get(); 43 } 44 45 private: 46 void mouseEnter(const juce::MouseEvent& _event) override; 47 48 void savePreset(const pluginLib::FileType& _type); 49 50 void onBtSave(); 51 void onBtPresetPrev(); 52 void onBtPresetNext(); 53 54 Controller& m_controller; 55 56 std::unique_ptr<FrontPanel> m_frontPanel; 57 std::unique_ptr<mqPartSelect> m_partSelect; 58 juce::Button* m_btPlayModeMulti = nullptr; 59 juce::Button* m_btSave = nullptr; 60 juce::Button* m_btPresetPrev = nullptr; 61 juce::Button* m_btPresetNext = nullptr; 62 63 std::unique_ptr<jucePluginEditorLib::FocusedParameter> m_focusedParameter; 64 }; 65 }