History

rename LEAF_JUCEPlugin to TestPlugin

Matthew Wang committed 6 years ago

Commit a11130b1 parent 5d657f015 files · +0 −0Browse files

Showing the changes to TestPlugin/Source/UIComponent.cpp (1 of 15 files). Show all

Unified · Split

TestPlugin/Source/UIComponent.cpp+155−0
@@ -0,0 +1,155 @@
1/*
2 ==============================================================================
3
4 UIComponent.c
5 Created: 18 Jan 2017 11:19:15am
6 Author: Michael R Mulshine
7
8 ==============================================================================
9*/
10
11#include "UIComponent.h"
12
13#include "LEAFLink.h"
14
15UIComponent::UIComponent()
16
17{
18 for (int i = 0; i < cSliderNames.size(); i++)
19 {
20
21 sliders.set(i, new Slider());
22 sliders[i]->setSliderStyle(Slider::SliderStyle::LinearVertical);
23 sliders[i]->setRange(0.0, 1.0, 1.0/50000.0);
24 sliders[i]->setName(cSliderNames[i]);
25 sliders[i]->setComponentID(String(i));
26 sliders[i]->addListener(this);
27 addAndMakeVisible(sliders[i]);
28
29 sliderLabels.set(i, new Label());
30 sliderLabels[i]->setName(cSliderNames[i]);
31 sliderLabels[i]->setColour(Label::textColourId, Colours::aliceblue);
32 sliderLabels[i]->setText(cSliderNames[i], NotificationType::dontSendNotification);
33 addAndMakeVisible(sliderLabels[i]);
34
35 textFields.set(i, new TextEditor());
36 textFields[i]->addListener(this);
37 textFields[i]->setName(cSliderNames[i]);
38 textFields[i]->setEnabled(false);
39 addAndMakeVisible(textFields[i]);
40 }
41
42 for (int i = 0; i < cButtonNames.size(); i++)
43 {
44 buttons.set(i, new TextButton(cButtonNames[i]));
45 buttons[i]->changeWidthToFitText();
46 buttons[i]->setButtonText(cButtonNames[i]);
47 buttons[i]->addListener(this);
48 addAndMakeVisible(buttons[i]);
49 }
50
51 for (int i = 0; i < cComboBoxNames.size(); i++)
52 {
53 comboBoxes.set(i, new ComboBox());
54 comboBoxes[i]->setName(cComboBoxNames[i]);
55 comboBoxes[i]->addSeparator();
56 comboBoxes[i]->addListener(this);
57 addAndMakeVisible(comboBoxes[i]);
58
59 }
60
61 for (int i = 0; i < cComboBoxNames.size(); i++)
62 {
63 for (int j = 0; j < cWaveformTypes.size(); j++)
64 {
65 comboBoxes[i]->addItem(cWaveformTypes[j], j+1);
66 }
67 comboBoxes[i]->setSelectedItemIndex(0);
68 }
69
70
71 startTimerHz(20);
72}
73
74void UIComponent::timerCallback(void)
75{
76 for (int i = 0; i < cSliderNames.size(); i++)
77 textFields[i]->setText(String(cSliderModelValues[i]), false);
78}
79
80void UIComponent::textEditorTextChanged (TextEditor& tf)
81{
82
83}
84
85UIComponent::~UIComponent()
86{
87}
88
89void UIComponent::paint (Graphics& g)
90{
91 /* This demo code just fills the component's background and
92 draws some placeholder text to get you started.
93
94 You should replace everything in this method with your own
95 drawing code..
96 */
97
98 g.fillAll (Colours::slategrey); // clear the background
99
100 g.setColour (Colours::aliceblue);
101 g.drawRect (getLocalBounds(), 1); // draw an outline around the component
102}
103
104void UIComponent::resized()
105{
106 for (int i = 0; i < cSliderNames.size(); i++)
107 {
108 sliders[i] ->setBounds(cLeftOffset + ((cSliderWidth + cXSpacing) * i),
109 cTopOffset,
110 cSliderWidth,
111 cSliderHeight);
112
113 textFields[i] ->setBounds(sliders[i]->getX() - (cSliderNames[i].length() * 2.0f),
114 sliders[i]->getBottom() + cYSpacing,
115 75,
116 20);
117
118 sliderLabels[i] ->setBounds(sliders[i]->getX() - (cSliderNames[i].length() * 2.0f),
119 textFields[i]->getBottom() + cYSpacing,
120 cLabelWidth,
121 cLabelHeight);
122 }
123
124 for (int i = 0; i < cButtonNames.size(); i++)
125 {
126 buttons[i] ->setBounds(cLeftOffset + ((cButtonWidth + cXSpacing) * i),
127 500,
128 cButtonWidth,
129 cButtonHeight);
130 }
131
132 for (int i = 0; i < cComboBoxNames.size(); i++)
133 {
134 comboBoxes[i] ->setBounds(
135 cLeftOffset + ((cButtonWidth + cXSpacing) * i),
136 cTopOffset + cSliderHeight + cLabelHeight + cButtonHeight + 3 * cYSpacing,
137 cBoxWidth,
138 cBoxHeight );
139 }
140}
141
142void UIComponent::sliderValueChanged(Slider* s)
143{
144 setSliderValue(s->getName(), s->getValue());
145}
146
147void UIComponent::buttonStateChanged (Button* b)
148{
149 setButtonState(b->getName(), b->getState());
150}
151
152void UIComponent::comboBoxChanged (ComboBox* cb)
153{
154 setComboBoxState(cb->getName(), cb->getSelectedId() - 1);
155}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t