JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
juce_PropertyComponent.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//==============================================================================
47class JUCE_API PropertyComponent : public Component,
49{
50public:
51 //==============================================================================
62 PropertyComponent (const String& propertyName,
63 int preferredHeight = 25);
64
66 ~PropertyComponent() override;
67
68 //==============================================================================
74 int getPreferredHeight() const noexcept { return preferredHeight; }
75
76 void setPreferredHeight (int newHeight) noexcept { preferredHeight = newHeight; }
77
78 //==============================================================================
89 virtual void refresh() = 0;
90
91
97 void paint (Graphics&) override;
98
102 void resized() override;
103
105 void enablementChanged() override;
106
107 //==============================================================================
116 {
117 backgroundColourId = 0x1008300,
118 labelTextColourId = 0x1008301,
119 };
120
121 //==============================================================================
123 struct JUCE_API LookAndFeelMethods
124 {
125 virtual ~LookAndFeelMethods() = default;
126
127 virtual void drawPropertyPanelSectionHeader (Graphics&, const String& name, bool isOpen, int width, int height) = 0;
128 virtual void drawPropertyComponentBackground (Graphics&, int width, int height, PropertyComponent&) = 0;
129 virtual void drawPropertyComponentLabel (Graphics&, int width, int height, PropertyComponent&) = 0;
130 virtual Rectangle<int> getPropertyComponentContentPosition (PropertyComponent&) = 0;
131 virtual int getPropertyPanelSectionHeaderHeight (const String& sectionTitle) = 0;
132 };
133
134protected:
140
141private:
143};
144
145} // namespace juce
The base class for all JUCE user-interface objects.
A graphics context, used for drawing a component or image.
A base class for a component that goes in a PropertyPanel and displays one of an item's properties.
int getPreferredHeight() const noexcept
Returns this item's preferred height.
ColourIds
A set of colour IDs to use to change the colour of various aspects of the combo box.
int preferredHeight
Used by the PropertyPanel to determine how high this component needs to be.
virtual void refresh()=0
Updates the property component if the item it refers to has changed.
Manages a rectangle and allows geometric operations to be performed on it.
An implementation of TooltipClient that stores the tooltip string and a method for changing it.
The JUCE String class!
Definition juce_String.h:53
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
This is a shorthand way of writing both a JUCE_DECLARE_NON_COPYABLE and JUCE_LEAK_DETECTOR macro for ...
JUCE Namespace.
This abstract base class is implemented by LookAndFeel classes.