OmronPID
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Friends
QCPLayout Class Referenceabstract

The abstract base class for layouts. More...

Inheritance diagram for QCPLayout:
QCPLayoutElement QCPLayerable QCPLayoutGrid QCPLayoutInset QCPLegend

Public Member Functions

 QCPLayout ()
 Creates an instance of QCPLayout and sets default values.
 
virtual void update (UpdatePhase phase) Q_DECL_OVERRIDE
 If phase is upLayout, calls updateLayout, which subclasses may reimplement to reposition and resize their cells.
 
virtual QList< QCPLayoutElement * > elements (bool recursive) const Q_DECL_OVERRIDE
 Returns a list of all child elements in this layout element.
 
virtual int elementCount () const =0
 Returns the number of elements/cells in the layout.
 
virtual QCPLayoutElementelementAt (int index) const =0
 Returns the element in the cell with the given index.
 
virtual QCPLayoutElementtakeAt (int index)=0
 Removes the element with the given index from the layout and returns it.
 
virtual bool take (QCPLayoutElement *element)=0
 Removes the specified element from the layout and returns true on success.
 
virtual void simplify ()
 Simplifies the layout by collapsing empty cells.
 
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.
 
QCPLayoutlayout () const
 Returns the parent layout of this layout element.
 
QRect rect () const
 Returns the inner rect of this layout element.
 
QRect outerRect () const
 Returns the outer rect of this layout element.
 
QMargins margins () const
 
QMargins minimumMargins () const
 
QCP::MarginSides autoMargins () const
 
QSize minimumSize () const
 
QSize maximumSize () const
 
SizeConstraintRect sizeConstraintRect () const
 
QCPMarginGroupmarginGroup (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 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 of this layout element.
 
void setMaximumSize (const QSize &size)
 Sets the maximum size 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 of this layout element.
 
void setSizeConstraintRect (SizeConstraintRect constraintRect)
 Sets to which rect of a layout element the size constraints apply.
 
void setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group)
 Sets the margin group of the specified margin sides.
 
virtual void update (UpdatePhase phase)
 Updates the layout element and sub-elements.
 
virtual QSize minimumOuterSizeHint () const
 Returns the suggested minimum size this layout element (the outerRect) may be compressed to, if no manual minimum size is set.
 
virtual QSize maximumOuterSizeHint () const
 Returns the suggested maximum size this layout element (the outerRect) may be expanded to, if no manual maximum size is set.
 
virtual QList< QCPLayoutElement * > elements (bool recursive) const
 Returns a list of all child elements in this layout element.
 
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE
 Layout elements are sensitive to events inside their outer rect.
 
- Public Member Functions inherited from QCPLayerable
 QCPLayerable (QCustomPlot *plot, QString targetLayer=QString(), QCPLayerable *parentLayerable=0)
 Creates a new QCPLayerable instance.
 
bool visible () const
 
QCustomPlotparentPlot () const
 
QCPLayerableparentLayerable () const
 Returns the parent layerable of this layerable.
 
QCPLayerlayer () 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.
 
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
 This function is used to decide whether a click hits a layerable object or not.
 
bool realVisibility () const
 Returns whether this layerable is visible, taking the visibility of the layerable parent and the visibility of this layerable's layer into account.
 

Protected Member Functions

virtual void updateLayout ()
 
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 layoutChanged ()
 
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const Q_DECL_OVERRIDE
 
virtual void draw (QCPPainter *painter) Q_DECL_OVERRIDE
 
virtual void parentPlotInitialized (QCustomPlot *parentPlot) Q_DECL_OVERRIDE
 
- Protected Member Functions inherited from QCPLayerable
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
 
virtual QCP::Interaction selectionCategory () const
 
virtual QRect clipRect () const
 
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const =0
 
virtual void draw (QCPPainter *painter)=0
 
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
 
virtual void deselectEvent (bool *selectionStateChanged)
 
virtual void mousePressEvent (QMouseEvent *event, const QVariant &details)
 This event gets called when the user presses a mouse button while the cursor is over the layerable.
 
virtual void mouseMoveEvent (QMouseEvent *event, const QPointF &startPos)
 This event gets called when the user moves the mouse while holding a mouse button, after this layerable has become the mouse grabber by accepting the preceding mousePressEvent.
 
virtual void mouseReleaseEvent (QMouseEvent *event, const QPointF &startPos)
 This event gets called when the user releases the mouse button, after this layerable has become the mouse grabber by accepting the preceding mousePressEvent.
 
virtual void mouseDoubleClickEvent (QMouseEvent *event, const QVariant &details)
 This event gets called when the user presses the mouse button a second time in a double-click, while the cursor is over the layerable.
 
virtual void wheelEvent (QWheelEvent *event)
 This event gets called when the user turns the mouse scroll wheel while the cursor is over the layerable.
 
void initializeParentPlot (QCustomPlot *parentPlot)
 
void setParentLayerable (QCPLayerable *parentLayerable)
 
bool moveToLayer (QCPLayer *layer, bool prepend)
 
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const
 

Static Protected Member Functions

static QSize getFinalMinimumOuterSize (const QCPLayoutElement *el)
 
static QSize getFinalMaximumOuterSize (const QCPLayoutElement *el)
 

Friends

class QCPLayoutElement
 

Additional Inherited Members

- Public Types inherited from QCPLayoutElement
enum  UpdatePhase { upPreparation , upMargins , upLayout }
 Defines the phases of the update process, that happens just before a replot. More...
 
enum  SizeConstraintRect { scrInnerRect , scrOuterRect }
 Defines to which rect of a layout element the size constraints that can be set via setMinimumSize and setMaximumSize apply. More...
 
- Signals inherited from QCPLayerable
void layerChanged (QCPLayer *newLayer)
 This signal is emitted when the layer of this layerable changes, i.e.
 
- Protected Attributes inherited from QCPLayoutElement
QCPLayoutmParentLayout
 
QSize mMinimumSize
 
QSize mMaximumSize
 
SizeConstraintRect mSizeConstraintRect
 
QRect mRect
 
QRect mOuterRect
 
QMargins mMargins
 
QMargins mMinimumMargins
 
QCP::MarginSides mAutoMargins
 
QHash< QCP::MarginSide, QCPMarginGroup * > mMarginGroups
 
- Protected Attributes inherited from QCPLayerable
bool mVisible
 
QCustomPlotmParentPlot
 
QPointer< QCPLayerablemParentLayerable
 
QCPLayermLayer
 
bool mAntialiased
 

Detailed Description

The abstract base class for layouts.

This is an abstract base class for layout elements whose main purpose is to define the position and size of other child layout elements. In most cases, layouts don't draw anything themselves (but there are exceptions to this, e.g. QCPLegend).

QCPLayout derives from QCPLayoutElement, and thus can itself be nested in other layouts.

QCPLayout introduces a common interface for accessing and manipulating the child elements. Those functions are most notably elementCount, elementAt, takeAt, take, simplify, removeAt, remove and clear. Individual subclasses may add more functions to this interface which are more specialized to the form of the layout. For example, QCPLayoutGrid adds functions that take row and column indices to access cells of the layout grid more conveniently.

Since this is an abstract base class, you can't instantiate it directly. Rather use one of its subclasses like QCPLayoutGrid or QCPLayoutInset.

For a general introduction to the layout system, see the dedicated documentation page The Layout System.

Constructor & Destructor Documentation

◆ QCPLayout()

QCPLayout::QCPLayout ( )
explicit

Creates an instance of QCPLayout and sets default values.

Note that since QCPLayout is an abstract base class, it can't be instantiated directly.

Member Function Documentation

◆ clear()

void QCPLayout::clear ( )

Removes and deletes all layout elements in this layout.

Finally calls simplify to make sure all empty cells are collapsed.

See also
remove, removeAt

◆ elementAt()

QCPLayoutElement * QCPLayout::elementAt ( int  index) const
pure 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.

See also
elements, elementCount, takeAt

Implemented in QCPLayoutGrid, and QCPLayoutInset.

◆ elementCount()

int QCPLayout::elementCount ( ) const
pure virtual

Returns the number of elements/cells in the layout.

See also
elements, elementAt

Implemented in QCPLayoutGrid, and QCPLayoutInset.

◆ elements()

QList< QCPLayoutElement * > QCPLayout::elements ( bool  recursive) const
virtual

Returns a list of all child elements in this layout element.

If recursive is true, all sub-child elements are included in the list, too.

Warning
There may be entries with value 0 in the returned list. (For example, QCPLayoutGrid may have empty cells which yield 0 at the respective index.)

Reimplemented from QCPLayoutElement.

Reimplemented in QCPLayoutGrid.

◆ remove()

bool QCPLayout::remove ( QCPLayoutElement element)

Removes and deletes the provided element.

Returns true on success. If element is not in the layout, returns false.

This function internally uses takeAt to remove the element from the layout and then deletes the element. 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.

See also
removeAt, take

◆ removeAt()

bool QCPLayout::removeAt ( int  index)

Removes and deletes the element at the provided index.

Returns true on success. If index is invalid or points to an empty cell, returns false.

This function internally uses takeAt to remove the element from the layout and then deletes the returned element. 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.

See also
remove, takeAt

◆ simplify()

void QCPLayout::simplify ( )
virtual

Simplifies the layout by collapsing empty cells.

The exact behavior depends on subclasses, the default implementation does nothing.

Not all layouts need simplification. For example, QCPLayoutInset doesn't use explicit simplification while QCPLayoutGrid does.

Reimplemented in QCPLayoutGrid, and QCPLayoutInset.

◆ sizeConstraintsChanged()

void QCPLayout::sizeConstraintsChanged ( ) const
protected

Subclasses call this method to report changed (minimum/maximum) size constraints.

If the parent of this layout is again a QCPLayout, forwards the call to the parent's sizeConstraintsChanged. If the parent is a QWidget (i.e. is the QCustomPlot::plotLayout of QCustomPlot), calls QWidget::updateGeometry, so if the QCustomPlot widget is inside a Qt QLayout, it may update itself and resize cells accordingly.

◆ take()

bool QCPLayout::take ( QCPLayoutElement element)
pure 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.

See also
takeAt

Implemented in QCPLayoutGrid, and QCPLayoutInset.

◆ takeAt()

QCPLayoutElement * QCPLayout::takeAt ( int  index)
pure 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.

See also
elementAt, take

Implemented in QCPLayoutGrid, and QCPLayoutInset.

◆ update()

void QCPLayout::update ( UpdatePhase  phase)
virtual

If phase is upLayout, calls updateLayout, which subclasses may reimplement to reposition and resize their cells.

Finally, the call is propagated down to all child QCPLayoutElements.

For details about this method and the update phases, see the documentation of QCPLayoutElement::update.

Reimplemented from QCPLayoutElement.


The documentation for this class was generated from the following files: