Base class for objects that can be used to automatically position a component according to some kind of algorithm. More...
Inherited by RelativeCoordinatePositionerBase.
Public Member Functions | |
| Positioner (Component &component) noexcept | |
| Creates a Positioner which can control the specified component. | |
| virtual | ~Positioner () |
| Destructor. | |
| Component & | getComponent () const noexcept |
| Returns the component that this positioner controls. | |
| virtual void | applyNewBounds (const Rectangle< int > &newBounds)=0 |
| Attempts to set the component's position to the given rectangle. | |
Base class for objects that can be used to automatically position a component according to some kind of algorithm.
The component class simply holds onto a reference to a Positioner, but doesn't actually do anything with it - all the functionality must be implemented by the positioner itself (e.g. it might choose to watch some kind of value and move the component when the value changes).
| Component::Positioner::Positioner | ( | Component & | component | ) | [explicit] |
Creates a Positioner which can control the specified component.
| virtual Component::Positioner::~Positioner | ( | ) | [virtual] |
Destructor.
| Component& Component::Positioner::getComponent | ( | ) | const |
Returns the component that this positioner controls.
| virtual void Component::Positioner::applyNewBounds | ( | const Rectangle< int > & | newBounds | ) | [pure virtual] |
Attempts to set the component's position to the given rectangle.
Unlike simply calling Component::setBounds(), this may involve the positioner being smart enough to adjust itself to fit the new bounds, e.g. a RelativeRectangle's positioner may try to reverse the expressions used to make them fit these new coordinates.