list.h (801B)
1 #pragma once 2 3 #include "listmodel.h" 4 5 namespace jucePluginEditorLib::patchManager 6 { 7 class List : public ListModel, public juce::ListBox 8 { 9 public: 10 explicit List(PatchManager& _pm); 11 12 static void applyStyleToViewport(const PatchManager& _pm, juce::Viewport& _viewport); 13 14 private: 15 // ListModel 16 juce::Colour findColor(int _colorId) override; 17 const juce::LookAndFeel& getStyle() const override; 18 void onModelChanged() override; 19 void redraw() override; 20 void ensureVisible(int _row) override; 21 int getSelectedEntry() const override; 22 juce::SparseSet<int> getSelectedEntries() const override; 23 void deselectAll() override; 24 void setSelectedEntries(const juce::SparseSet<int>&) override; 25 juce::Rectangle<int> getEntryPosition(int _row, bool _relativeToComponentTopLeft) override; 26 }; 27 }