A base class for a component that goes in a PropertyPanel and displays one of an item's properties. More...
Inherits Component, and SettableTooltipClient.
Inherited by BooleanPropertyComponent, ButtonPropertyComponent, ChoicePropertyComponent, SliderPropertyComponent, and TextPropertyComponent.
Public Member Functions | |
| PropertyComponent (const String &propertyName, int preferredHeight=25) | |
| Creates a PropertyComponent. | |
| ~PropertyComponent () | |
| Destructor. | |
| int | getPreferredHeight () const noexcept |
| Returns this item's preferred height. | |
| void | setPreferredHeight (int newHeight) noexcept |
| virtual void | refresh ()=0 |
| Updates the property component if the item it refers to has changed. | |
| void | paint (Graphics &g) |
| The default paint method fills the background and draws a label for the item's name. | |
| void | resized () |
| The default resize method positions any child component to the right of this one, based on the look and feel's default label size. | |
| void | enablementChanged () |
| By default, this just repaints the component. | |
Protected Attributes | |
| int | preferredHeight |
| Used by the PropertyPanel to determine how high this component needs to be. | |
A base class for a component that goes in a PropertyPanel and displays one of an item's properties.
Subclasses of this are used to display a property in various forms, e.g. a ChoicePropertyComponent shows its value as a combo box; a SliderPropertyComponent shows its value as a slider; a TextPropertyComponent as a text box, etc.
A subclass must implement the refresh() method which will be called to tell the component to update itself, and is also responsible for calling this it when the item that it refers to is changed.
| PropertyComponent::PropertyComponent | ( | const String & | propertyName, |
| int | preferredHeight = 25 |
||
| ) |
Creates a PropertyComponent.
| propertyName | the name is stored as this component's name, and is used as the name displayed next to this component in a property panel |
| preferredHeight | the height that the component should be given - some items may need to be larger than a normal row height. This value can also be set if a subclass changes the preferredHeight member variable. |
| PropertyComponent::~PropertyComponent | ( | ) |
Destructor.
| int PropertyComponent::getPreferredHeight | ( | ) | const |
Returns this item's preferred height.
This value is specified either in the constructor or by a subclass changing the preferredHeight member variable.
| void PropertyComponent::setPreferredHeight | ( | int | newHeight ) |
| virtual void PropertyComponent::refresh | ( | ) | [pure virtual] |
Updates the property component if the item it refers to has changed.
A subclass must implement this method, and other objects may call it to force it to refresh itself.
The subclass should be economical in the amount of work is done, so for example it should check whether it really needs to do a repaint rather than just doing one every time this method is called, as it may be called when the value being displayed hasn't actually changed.
Implemented in BooleanPropertyComponent, ButtonPropertyComponent, ChoicePropertyComponent, SliderPropertyComponent, and TextPropertyComponent.
| void PropertyComponent::paint | ( | Graphics & | g ) | [virtual] |
The default paint method fills the background and draws a label for the item's name.
Reimplemented from Component.
Reimplemented in BooleanPropertyComponent.
| void PropertyComponent::resized | ( | ) | [virtual] |
The default resize method positions any child component to the right of this one, based on the look and feel's default label size.
Reimplemented from Component.
| void PropertyComponent::enablementChanged | ( | ) | [virtual] |
By default, this just repaints the component.
Reimplemented from Component.
int PropertyComponent::preferredHeight [protected] |
Used by the PropertyPanel to determine how high this component needs to be.
A subclass can update this value in its constructor but shouldn't alter it later as changes won't necessarily be picked up.