LMMS
Loading...
Searching...
No Matches
juce_TextPropertyComponent.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
38{
39protected:
40 //==============================================================================
51 TextPropertyComponent (const String& propertyName,
52 int maxNumChars,
53 bool isMultiLine,
54 bool isEditable = true);
55
56public:
68 TextPropertyComponent (const Value& valueToControl,
69 const String& propertyName,
70 int maxNumChars,
71 bool isMultiLine,
72 bool isEditable = true);
73
86 const String& propertyName,
87 int maxNumChars,
88 bool isMultiLine,
89 bool isEditable = true);
90
91 ~TextPropertyComponent() override;
92
93 //==============================================================================
99 virtual void setText (const String& newText);
100
102 virtual String getText() const;
103
105 Value& getValue() const;
106
107 //==============================================================================
110
111 //==============================================================================
120 {
121 backgroundColourId = 0x100e401,
122 textColourId = 0x100e402,
123 outlineColourId = 0x100e403,
124 };
125
126 void colourChanged() override;
127
128 //==============================================================================
131 {
132 public:
134 virtual ~Listener() = default;
135
138 };
139
144 void addListener (Listener* newListener);
145
149 void removeListener (Listener* listener);
150
151 //==============================================================================
157 void setInterestedInFileDrag (bool isInterested);
158
160 void setEditable (bool isEditable);
161
162 //==============================================================================
164 void refresh() override;
166 virtual void textWasEdited();
167
168private:
169 //==============================================================================
170 void callListeners();
171 void createEditor (int maxNumChars, bool isEditable);
172
173 //==============================================================================
174 class LabelComp;
175
176 const bool isMultiLine;
177
179 std::unique_ptr<LabelComp> textEditor;
181
182 //==============================================================================
184};
185
186
187} // namespace juce
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_ListenerList.h:70
PropertyComponent(const String &propertyName, int preferredHeight=25)
Definition juce_PropertyComponent.cpp:29
Definition juce_String.h:53
Definition juce_TextPropertyComponent.cpp:32
Definition juce_TextPropertyComponent.h:131
virtual void textPropertyComponentChanged(TextPropertyComponent *)=0
void createEditor(int maxNumChars, bool isEditable)
Definition juce_TextPropertyComponent.cpp:208
void setInterestedInFileDrag(bool isInterested)
Definition juce_TextPropertyComponent.cpp:250
virtual void textWasEdited()
Definition juce_TextPropertyComponent.cpp:225
void refresh() override
Definition juce_TextPropertyComponent.cpp:220
ValueTreePropertyWithDefault value
Definition juce_TextPropertyComponent.h:178
void setEditable(bool isEditable)
Definition juce_TextPropertyComponent.cpp:256
bool isTextEditorMultiLine() const noexcept
Definition juce_TextPropertyComponent.h:109
virtual void setText(const String &newText)
Definition juce_TextPropertyComponent.cpp:193
Value & getValue() const
Definition juce_TextPropertyComponent.cpp:203
virtual String getText() const
Definition juce_TextPropertyComponent.cpp:198
ListenerList< Listener > listenerList
Definition juce_TextPropertyComponent.h:180
void callListeners()
Definition juce_TextPropertyComponent.cpp:238
const bool isMultiLine
Definition juce_TextPropertyComponent.h:176
std::unique_ptr< LabelComp > textEditor
Definition juce_TextPropertyComponent.h:179
void addListener(Listener *newListener)
Definition juce_TextPropertyComponent.cpp:235
TextPropertyComponent(const String &propertyName, int maxNumChars, bool isMultiLine, bool isEditable=true)
Definition juce_TextPropertyComponent.cpp:158
ColourIds
Definition juce_TextPropertyComponent.h:120
@ backgroundColourId
Definition juce_TextPropertyComponent.h:121
@ outlineColourId
Definition juce_TextPropertyComponent.h:123
@ textColourId
Definition juce_TextPropertyComponent.h:122
void removeListener(Listener *listener)
Definition juce_TextPropertyComponent.cpp:236
Definition juce_Value.h:51
Definition juce_ValueTreePropertyWithDefault.h:39
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
#define const
Definition zconf.h:137