Krotos Modules 3
Loading...
Searching...
No Matches
SampleItem.h
Go to the documentation of this file.
1namespace krotos
2{
7 class SampleItem : public Component, public Button::Listener
8 {
9 public:
14 SampleItem(const String& sampleLabel);
16
17 void resized() override;
18 void paint(Graphics& g) override;
19
24
29
30 DrawableButton playButton, deleteButton;
31
32 // Button::Listener callback
33 void buttonClicked(Button* buttonThatWasClicked) override;
34
40 void setCued(bool isCued);
41
45 static const Identifier CuedId;
46
48 {
49 static const String ButtonSampleMuteId;
50 static const String ButtonSampleSoloId;
51 static const String ButtonSampleDeleteId;
52 static const String ButtonSampleSelectId;
53 };
54
55 private:
56 struct Layout
57 {
58 const int margin{8};
59
60 const int msWidth{13};
61 const Rectangle<int> muteButton{6, 6, msWidth, 19};
62 const Rectangle<int> soloButton{6, 21, msWidth, 19};
63 const int msBtnWidth{15};
64 const int msBtnHeight{19};
65
66 const int iconWidth{24};
67
68 const int labelWidth{409};
69 const int labelHeight{17};
70
71 const Colour cueMarkerCyan{55, 201, 219};
72 const int cueMarkerX{476};
73 const int cueMarkerHeight{12};
75
76 std::unique_ptr<Drawable> m_playIcon, m_playIconHover, m_playIconClick;
78
79 class MuteSoloButtonLAF : public LookAndFeel_V4
80 {
81 void drawButtonBackground(Graphics&, Button&, const Colour& backgroundColour,
82 bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override{};
83
84 void drawButtonText(Graphics&, TextButton&, bool shouldDrawButtonAsHighlighted,
85 bool shouldDrawButtonAsDown) override;
86 };
87
89
91
92 bool m_isCued{false};
93
94 JUCE_LEAK_DETECTOR(SampleItem)
95 };
96} // namespace krotos
Definition SampleItem.h:80
void drawButtonText(Graphics &, TextButton &, bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override
Definition SampleItem.cpp:123
void drawButtonBackground(Graphics &, Button &, const Colour &backgroundColour, bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override
Definition SampleItem.h:81
An individual sample item component shown in the SampleBrowser. A parent component for the various bu...
Definition SampleItem.h:8
bool m_isCued
Definition SampleItem.h:92
SampleItem(const String &sampleLabel)
Creates a SampleItem component.
Definition SampleItem.cpp:10
Value m_soloValue
Definition SampleItem.h:90
Value m_muteValue
Definition SampleItem.h:90
void paint(Graphics &g) override
Definition SampleItem.cpp:92
struct krotos::SampleItem::Layout m_layout
void resized() override
Definition SampleItem.cpp:67
std::unique_ptr< Drawable > m_playIconClick
Definition SampleItem.h:76
std::unique_ptr< Drawable > m_deleteIconClick
Definition SampleItem.h:77
std::unique_ptr< Drawable > m_playIcon
Definition SampleItem.h:76
std::unique_ptr< Drawable > m_playIconHover
Definition SampleItem.h:76
std::unique_ptr< Drawable > m_deleteIconHover
Definition SampleItem.h:77
TextButton soloButton
Definition SampleItem.h:23
TextButton sampleSelectButton
The sample name text button.
Definition SampleItem.h:28
~SampleItem()
Definition SampleItem.cpp:58
MuteSoloButtonLAF m_muteSoloButtonLAF
Definition SampleItem.h:88
TextButton muteButton
The Mute/Solo buttons visible in the SampleItem.
Definition SampleItem.h:23
void buttonClicked(Button *buttonThatWasClicked) override
Definition SampleItem.cpp:104
DrawableButton playButton
Definition SampleItem.h:30
DrawableButton deleteButton
Definition SampleItem.h:30
static const Identifier CuedId
Identifier used for the boolean LAF property to draw this item as cued or not.
Definition SampleItem.h:45
std::unique_ptr< Drawable > m_deleteIcon
Definition SampleItem.h:77
void setCued(bool isCued)
Call this to enable or disable the "cued" state for this component. This will draw a marker icon and ...
Definition SampleItem.cpp:116
Definition AirAbsorptionFilter.cpp:2
Definition SampleItem.h:48
static const String ButtonSampleSelectId
Definition SampleItem.h:52
static const String ButtonSampleSoloId
Definition SampleItem.h:50
static const String ButtonSampleMuteId
Definition SampleItem.h:49
static const String ButtonSampleDeleteId
Definition SampleItem.h:51
Definition SampleItem.h:57
const Colour cueMarkerCyan
Definition SampleItem.h:71
const int labelHeight
Definition SampleItem.h:69
const int msBtnWidth
Definition SampleItem.h:63
const Rectangle< int > muteButton
Definition SampleItem.h:61
const int labelWidth
Definition SampleItem.h:68
const int cueMarkerHeight
Definition SampleItem.h:73
const int msWidth
Definition SampleItem.h:60
const Rectangle< int > soloButton
Definition SampleItem.h:62
const int margin
Definition SampleItem.h:58
const int cueMarkerX
Definition SampleItem.h:72
const int msBtnHeight
Definition SampleItem.h:64
const int iconWidth
Definition SampleItem.h:66