iCub-main
|
A layout that places child elements aligned to the border or arbitrarily positioned. More...
#include <qcustomplot.h>
Public Types | |
enum | InsetPlacement { ipFree , ipBorderAligned } |
Defines how the placement and sizing is handled for a certain element in a QCPLayoutInset. More... | |
Public Types inherited from QCPLayoutElement | |
enum | UpdatePhase { upPreparation , upMargins , upLayout } |
Defines the phases of the update process, that happens just before a replot. More... | |
Public Member Functions | |
QCPLayoutInset () | |
Creates an instance of QCPLayoutInset and sets default values. | |
virtual | ~QCPLayoutInset () |
InsetPlacement | insetPlacement (int index) const |
Returns the placement type of the element with the specified index. | |
Qt::Alignment | insetAlignment (int index) const |
Returns the alignment of the element with the specified index. | |
QRectF | insetRect (int index) const |
Returns the rect of the element with the specified index. | |
void | setInsetPlacement (int index, InsetPlacement placement) |
Sets the inset placement type of the element with the specified index to placement. | |
void | setInsetAlignment (int index, Qt::Alignment alignment) |
If the inset placement (setInsetPlacement) is ipBorderAligned, this function is used to set the alignment of the element with the specified index to alignment. | |
void | setInsetRect (int index, const QRectF &rect) |
If the inset placement (setInsetPlacement) is ipFree, this function is used to set the position and size of the element with the specified index to rect. | |
virtual void | updateLayout () |
virtual int | elementCount () const |
Returns the number of elements/cells in the layout. | |
virtual QCPLayoutElement * | elementAt (int index) const |
Returns the element in the cell with the given index. | |
virtual QCPLayoutElement * | takeAt (int index) |
Removes the element with the given index from the layout and returns it. | |
virtual bool | take (QCPLayoutElement *element) |
Removes the specified element from the layout and returns true on success. | |
virtual void | simplify () |
The QCPInsetLayout does not need simplification since it can never have empty cells due to its linear index structure. | |
virtual double | selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const |
The inset layout is sensitive to events only at areas where its (visible) child elements are sensitive. | |
void | addElement (QCPLayoutElement *element, Qt::Alignment alignment) |
Adds the specified element to the layout as an inset aligned at the border (setInsetAlignment is initialized with ipBorderAligned). | |
void | addElement (QCPLayoutElement *element, const QRectF &rect) |
Adds the specified element to the layout as an inset with free positioning/sizing (setInsetAlignment is initialized with ipFree). | |
Public Member Functions inherited from QCPLayout | |
QCPLayout () | |
Creates an instance of QCPLayout and sets default values. | |
virtual void | update (UpdatePhase phase) |
First calls the QCPLayoutElement::update base class implementation to update the margins on this layout. | |
virtual QList< QCPLayoutElement * > | elements (bool recursive) const |
Returns a list of all child elements in this layout element. | |
bool | removeAt (int index) |
Removes and deletes the element at the provided index. | |
bool | remove (QCPLayoutElement *element) |
Removes and deletes the provided element. | |
void | clear () |
Removes and deletes all layout elements in this layout. | |
Public Member Functions inherited from QCPLayoutElement | |
QCPLayoutElement (QCustomPlot *parentPlot=0) | |
Creates an instance of QCPLayoutElement and sets default values. | |
virtual | ~QCPLayoutElement () |
QCPLayout * | layout () const |
Returns the parent layout of this layout element. | |
QRect | rect () const |
Returns the inner rect of this layout element. | |
QRect | outerRect () const |
QMargins | margins () const |
QMargins | minimumMargins () const |
QCP::MarginSides | autoMargins () const |
QSize | minimumSize () const |
QSize | maximumSize () const |
QCPMarginGroup * | marginGroup (QCP::MarginSide side) const |
QHash< QCP::MarginSide, QCPMarginGroup * > | marginGroups () const |
void | setOuterRect (const QRect &rect) |
Sets the outer rect of this layout element. | |
void | setMargins (const QMargins &margins) |
Sets the margins of this layout element. | |
void | setMinimumMargins (const QMargins &margins) |
If setAutoMargins is enabled on some or all margins, this function is used to provide minimum values for those margins. | |
void | setAutoMargins (QCP::MarginSides sides) |
Sets on which sides the margin shall be calculated automatically. | |
void | setMinimumSize (const QSize &size) |
Sets the minimum size for the inner rect of this layout element. | |
void | setMinimumSize (int width, int height) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Sets the minimum size for the inner rect of this layout element. | |
void | setMaximumSize (const QSize &size) |
Sets the maximum size for the inner rect of this layout element. | |
void | setMaximumSize (int width, int height) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Sets the maximum size for the inner rect of this layout element. | |
void | setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group) |
Sets the margin group of the specified margin sides. | |
virtual QSize | minimumSizeHint () const |
Returns the minimum size this layout element (the inner rect) may be compressed to. | |
virtual QSize | maximumSizeHint () const |
Returns the maximum size this layout element (the inner rect) may be expanded to. | |
Public Member Functions inherited from QCPLayerable | |
QCPLayerable (QCustomPlot *plot, QString targetLayer="", QCPLayerable *parentLayerable=0) | |
Creates a new QCPLayerable instance. | |
~QCPLayerable () | |
bool | visible () const |
QCustomPlot * | parentPlot () const |
QCPLayerable * | parentLayerable () const |
Returns the parent layerable of this layerable. | |
QCPLayer * | layer () const |
bool | antialiased () const |
void | setVisible (bool on) |
Sets the visibility of this layerable object. | |
Q_SLOT bool | setLayer (QCPLayer *layer) |
Sets the layer of this layerable object. | |
bool | setLayer (const QString &layerName) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Sets the layer of this layerable object by name. | |
void | setAntialiased (bool enabled) |
Sets whether this object will be drawn antialiased or not. | |
bool | realVisibility () const |
Returns whether this layerable is visible, taking the visibility of the layerable parent and the visibility of the layer this layerable is on into account. | |
Protected Attributes | |
QList< QCPLayoutElement * > | mElements |
QList< InsetPlacement > | mInsetPlacement |
QList< Qt::Alignment > | mInsetAlignment |
QList< QRectF > | mInsetRect |
Protected Attributes inherited from QCPLayoutElement | |
QCPLayout * | mParentLayout |
QSize | mMinimumSize |
QSize | mMaximumSize |
QRect | mRect |
QRect | mOuterRect |
QMargins | mMargins |
QMargins | mMinimumMargins |
QCP::MarginSides | mAutoMargins |
QHash< QCP::MarginSide, QCPMarginGroup * > | mMarginGroups |
Protected Attributes inherited from QCPLayerable | |
bool | mVisible |
QCustomPlot * | mParentPlot |
QPointer< QCPLayerable > | mParentLayerable |
QCPLayer * | mLayer |
bool | mAntialiased |
Additional Inherited Members | |
Signals inherited from QCPLayerable | |
void | layerChanged (QCPLayer *newLayer) |
This signal is emitted when the layer of this layerable changes, i.e. | |
Protected Member Functions inherited from QCPLayout | |
void | sizeConstraintsChanged () const |
Subclasses call this method to report changed (minimum/maximum) size constraints. | |
void | adoptElement (QCPLayoutElement *el) |
void | releaseElement (QCPLayoutElement *el) |
QVector< int > | getSectionSizes (QVector< int > maxSizes, QVector< int > minSizes, QVector< double > stretchFactors, int totalSize) const |
Protected Member Functions inherited from QCPLayoutElement | |
virtual int | calculateAutoMargin (QCP::MarginSide side) |
virtual void | mousePressEvent (QMouseEvent *event) |
This event is called, if the mouse was pressed while being inside the outer rect of this layout element. | |
virtual void | mouseMoveEvent (QMouseEvent *event) |
This event is called, if the mouse is moved inside the outer rect of this layout element. | |
virtual void | mouseReleaseEvent (QMouseEvent *event) |
This event is called, if the mouse was previously pressed inside the outer rect of this layout element and is now released. | |
virtual void | mouseDoubleClickEvent (QMouseEvent *event) |
This event is called, if the mouse is double-clicked inside the outer rect of this layout element. | |
virtual void | wheelEvent (QWheelEvent *event) |
This event is called, if the mouse wheel is scrolled while the cursor is inside the rect of this layout element. | |
virtual void | applyDefaultAntialiasingHint (QCPPainter *painter) const |
virtual void | draw (QCPPainter *painter) |
virtual void | parentPlotInitialized (QCustomPlot *parentPlot) |
Protected Member Functions inherited from QCPLayerable | |
virtual QCP::Interaction | selectionCategory () const |
virtual QRect | clipRect () const |
virtual void | selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) |
virtual void | deselectEvent (bool *selectionStateChanged) |
void | initializeParentPlot (QCustomPlot *parentPlot) |
void | setParentLayerable (QCPLayerable *parentLayerable) |
bool | moveToLayer (QCPLayer *layer, bool prepend) |
void | applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const |
A layout that places child elements aligned to the border or arbitrarily positioned.
Elements are placed either aligned to the border or at arbitrary position in the area of the layout. Which placement applies is controlled with the InsetPlacement (setInsetPlacement).
Elements are added via addElement(QCPLayoutElement *element, Qt::Alignment alignment) or addElement(QCPLayoutElement *element, const QRectF &rect). If the first method is used, the inset placement will default to ipBorderAligned and the element will be aligned according to the alignment parameter. The second method defaults to ipFree and allows placing elements at arbitrary position and size, defined by rect.
The alignment or rect can be set via setInsetAlignment or setInsetRect, respectively.
This is the layout that every QCPAxisRect has as QCPAxisRect::insetLayout.
Definition at line 822 of file qcustomplot.h.
Defines how the placement and sizing is handled for a certain element in a QCPLayoutInset.
Enumerator | |
---|---|
ipFree | The element may be positioned/sized arbitrarily, see setInsetRect. |
ipBorderAligned | The element is aligned to one of the layout sides, see setInsetAlignment. |
Definition at line 829 of file qcustomplot.h.
|
explicit |
Creates an instance of QCPLayoutInset and sets default values.
Definition at line 3211 of file qcustomplot.cpp.
|
virtual |
Definition at line 3215 of file qcustomplot.cpp.
void QCPLayoutInset::addElement | ( | QCPLayoutElement * | element, |
const QRectF & | rect | ||
) |
Adds the specified element to the layout as an inset with free positioning/sizing (setInsetAlignment is initialized with ipFree).
The position and size is set to rect.
rect is given in fractions of the whole inset layout rect. So an inset with rect (0, 0, 1, 1) will span the entire layout. An inset with rect (0.6, 0.1, 0.35, 0.35) will be in the top right corner of the layout, with 35% width and height of the parent layout.
Definition at line 3470 of file qcustomplot.cpp.
void QCPLayoutInset::addElement | ( | QCPLayoutElement * | element, |
Qt::Alignment | alignment | ||
) |
Adds the specified element to the layout as an inset aligned at the border (setInsetAlignment is initialized with ipBorderAligned).
The alignment is set to alignment.
alignment is an or combination of the following alignment flags: Qt::AlignLeft, Qt::AlignHCenter, Qt::AlighRight, Qt::AlignTop, Qt::AlignVCenter, Qt::AlignBottom. Any other alignment flags will be ignored.
Definition at line 3444 of file qcustomplot.cpp.
|
virtual |
Returns the element in the cell with the given index.
If index is invalid, returns 0.
Note that even if index is valid, the respective cell may be empty in some layouts (e.g. QCPLayoutGrid), so this function may return 0 in those cases. You may use this function to check whether a cell is empty or not.
Implements QCPLayout.
Definition at line 3363 of file qcustomplot.cpp.
|
virtual |
Returns the number of elements/cells in the layout.
Implements QCPLayout.
Definition at line 3357 of file qcustomplot.cpp.
Qt::Alignment QCPLayoutInset::insetAlignment | ( | int | index | ) | const |
Returns the alignment of the element with the specified index.
The alignment only has a meaning, if the inset placement (setInsetPlacement) is ipBorderAligned.
Definition at line 3240 of file qcustomplot.cpp.
QCPLayoutInset::InsetPlacement QCPLayoutInset::insetPlacement | ( | int | index | ) | const |
Returns the placement type of the element with the specified index.
Definition at line 3225 of file qcustomplot.cpp.
QRectF QCPLayoutInset::insetRect | ( | int | index | ) | const |
Returns the rect of the element with the specified index.
The rect only has a meaning, if the inset placement (setInsetPlacement) is ipFree.
Definition at line 3255 of file qcustomplot.cpp.
|
virtual |
The inset layout is sensitive to events only at areas where its (visible) child elements are sensitive.
If the selectTest method of any of the child elements returns a positive number for pos, this method returns a value corresponding to 0.99 times the parent plot's selection tolerance. The inset layout is not selectable itself by default. So if onlySelectable is true, -1.0 is returned.
See QCPLayerable::selectTest for a general explanation of this virtual method.
Reimplemented from QCPLayoutElement.
Definition at line 3417 of file qcustomplot.cpp.
void QCPLayoutInset::setInsetAlignment | ( | int | index, |
Qt::Alignment | alignment | ||
) |
If the inset placement (setInsetPlacement) is ipBorderAligned, this function is used to set the alignment of the element with the specified index to alignment.
alignment is an or combination of the following alignment flags: Qt::AlignLeft, Qt::AlignHCenter, Qt::AlighRight, Qt::AlignTop, Qt::AlignVCenter, Qt::AlignBottom. Any other alignment flags will be ignored.
Definition at line 3287 of file qcustomplot.cpp.
void QCPLayoutInset::setInsetPlacement | ( | int | index, |
QCPLayoutInset::InsetPlacement | placement | ||
) |
Sets the inset placement type of the element with the specified index to placement.
Definition at line 3271 of file qcustomplot.cpp.
void QCPLayoutInset::setInsetRect | ( | int | index, |
const QRectF & | rect | ||
) |
If the inset placement (setInsetPlacement) is ipFree, this function is used to set the position and size of the element with the specified index to rect.
rect is given in fractions of the whole inset layout rect. So an inset with rect (0, 0, 1, 1) will span the entire layout. An inset with rect (0.6, 0.1, 0.35, 0.35) will be in the top right corner of the layout, with 35% width and height of the parent layout.
Note that the minimum and maximum sizes of the embedded element (QCPLayoutElement::setMinimumSize, QCPLayoutElement::setMaximumSize) are enforced.
Definition at line 3306 of file qcustomplot.cpp.
|
inlinevirtual |
The QCPInsetLayout does not need simplification since it can never have empty cells due to its linear index structure.
This method does nothing.
Reimplemented from QCPLayout.
Definition at line 852 of file qcustomplot.h.
|
virtual |
Removes the specified element from the layout and returns true on success.
If the element isn't in this layout, returns false.
Note that some layouts don't remove the respective cell right away but leave an empty cell after successful removal of the layout element. To collapse empty cells, use simplify.
Implements QCPLayout.
Definition at line 3390 of file qcustomplot.cpp.
|
virtual |
Removes the element with the given index from the layout and returns it.
If the index is invalid or the cell with that index is empty, returns 0.
Note that some layouts don't remove the respective cell right away but leave an empty cell after successful removal of the layout element. To collapse empty cells, use simplify.
Implements QCPLayout.
Definition at line 3372 of file qcustomplot.cpp.
|
virtual |
Reimplemented from QCPLayout.
Definition at line 3315 of file qcustomplot.cpp.
|
protected |
Definition at line 861 of file qcustomplot.h.
|
protected |
Definition at line 863 of file qcustomplot.h.
|
protected |
Definition at line 862 of file qcustomplot.h.
|
protected |
Definition at line 864 of file qcustomplot.h.