Cute Chess 0.1
QCPLayoutInset Class Reference

A layout that places child elements aligned to the border or arbitrarily positioned. More...

Inheritance diagram for QCPLayoutInset:
QCPLayout QCPLayoutElement QCPLayerable QObject

Public Types

enum  InsetPlacement { ipFree , ipBorderAligned }
Public Types inherited from QCPLayoutElement
enum  SizeConstraintRect { scrInnerRect , scrOuterRect }
enum  UpdatePhase { upPreparation , upMargins , upLayout }

Public Member Functions

void addElement (QCPLayoutElement *element, const QRectF &rect)
void addElement (QCPLayoutElement *element, Qt::Alignment alignment)
virtual QCPLayoutElementelementAt (int index) const Q_DECL_OVERRIDE
virtual int elementCount () const Q_DECL_OVERRIDE
Qt::Alignment insetAlignment (int index) const
InsetPlacement insetPlacement (int index) const
QRectF insetRect (int index) const
 QCPLayoutInset ()
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE
void setInsetAlignment (int index, Qt::Alignment alignment)
void setInsetPlacement (int index, InsetPlacement placement)
void setInsetRect (int index, const QRectF &rect)
virtual void simplify () Q_DECL_OVERRIDE
virtual bool take (QCPLayoutElement *element) Q_DECL_OVERRIDE
virtual QCPLayoutElementtakeAt (int index) Q_DECL_OVERRIDE
virtual void updateLayout () Q_DECL_OVERRIDE
Public Member Functions inherited from QCPLayout
void clear ()
virtual QList< QCPLayoutElement * > elements (bool recursive) const Q_DECL_OVERRIDE
 QCPLayout ()
bool remove (QCPLayoutElement *element)
bool removeAt (int index)
virtual void update (UpdatePhase phase) Q_DECL_OVERRIDE
Public Member Functions inherited from QCPLayoutElement
QCP::MarginSides autoMargins () const
QCPLayoutlayout () const
QCPMarginGroupmarginGroup (QCP::MarginSide side) const
QHash< QCP::MarginSide, QCPMarginGroup * > marginGroups () const
QMargins margins () const
virtual QSize maximumOuterSizeHint () const
QSize maximumSize () const
QMargins minimumMargins () const
virtual QSize minimumOuterSizeHint () const
QSize minimumSize () const
QRect outerRect () const
 QCPLayoutElement (QCustomPlot *parentPlot=0)
QRect rect () const
void setAutoMargins (QCP::MarginSides sides)
void setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group)
void setMargins (const QMargins &margins)
void setMaximumSize (const QSize &size)
void setMaximumSize (int width, int height)
void setMinimumMargins (const QMargins &margins)
void setMinimumSize (const QSize &size)
void setMinimumSize (int width, int height)
void setOuterRect (const QRect &rect)
void setSizeConstraintRect (SizeConstraintRect constraintRect)
SizeConstraintRect sizeConstraintRect () const
Public Member Functions inherited from QCPLayerable
bool antialiased () const
QCPLayerlayer () const
QCPLayerableparentLayerable () const
QCustomPlotparentPlot () const
 QCPLayerable (QCustomPlot *plot, QString targetLayer=QString(), QCPLayerable *parentLayerable=0)
bool realVisibility () const
void setAntialiased (bool enabled)
bool setLayer (const QString &layerName)
Q_SLOT bool setLayer (QCPLayer *layer)
void setVisible (bool on)
bool visible () const

Protected Attributes

QList< QCPLayoutElement * > mElements
QList< Qt::Alignment > mInsetAlignment
QList< InsetPlacementmInsetPlacement
QList< QRectFmInsetRect
Protected Attributes inherited from QCPLayoutElement
QCP::MarginSides mAutoMargins
QHash< QCP::MarginSide, QCPMarginGroup * > mMarginGroups
QMargins mMargins
QSize mMaximumSize
QMargins mMinimumMargins
QSize mMinimumSize
QRect mOuterRect
QCPLayoutmParentLayout
QRect mRect
SizeConstraintRect mSizeConstraintRect
Protected Attributes inherited from QCPLayerable
bool mAntialiased
QCPLayermLayer
QPointer< QCPLayerablemParentLayerable
QCustomPlotmParentPlot
bool mVisible

Additional Inherited Members

Signals inherited from QCPLayerable
void layerChanged (QCPLayer *newLayer)
Protected Member Functions inherited from QCPLayout
void adoptElement (QCPLayoutElement *el)
QVector< int > getSectionSizes (QVector< int > maxSizes, QVector< int > minSizes, QVector< double > stretchFactors, int totalSize) const
void releaseElement (QCPLayoutElement *el)
void sizeConstraintsChanged () const
Protected Member Functions inherited from QCPLayoutElement
virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const Q_DECL_OVERRIDE
virtual int calculateAutoMargin (QCP::MarginSide side)
virtual void draw (QCPPainter *painter) Q_DECL_OVERRIDE
virtual void layoutChanged ()
virtual void parentPlotInitialized (QCustomPlot *parentPlot) Q_DECL_OVERRIDE
Protected Member Functions inherited from QCPLayerable
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const
virtual QRect clipRect () const
virtual void deselectEvent (bool *selectionStateChanged)
void initializeParentPlot (QCustomPlot *parentPlot)
virtual void mouseDoubleClickEvent (QMouseEvent *event, const QVariant &details)
virtual void mouseMoveEvent (QMouseEvent *event, const QPointF &startPos)
virtual void mousePressEvent (QMouseEvent *event, const QVariant &details)
virtual void mouseReleaseEvent (QMouseEvent *event, const QPointF &startPos)
bool moveToLayer (QCPLayer *layer, bool prepend)
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual QCP::Interaction selectionCategory () const
void setParentLayerable (QCPLayerable *parentLayerable)
virtual void wheelEvent (QWheelEvent *event)
Static Protected Member Functions inherited from QCPLayout
static QSize getFinalMaximumOuterSize (const QCPLayoutElement *el)
static QSize getFinalMinimumOuterSize (const QCPLayoutElement *el)

Detailed Description

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.

Member Enumeration Documentation

◆ InsetPlacement

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.

Constructor & Destructor Documentation

◆ QCPLayoutInset()

QCPLayoutInset::QCPLayoutInset ( )
explicit

Creates an instance of QCPLayoutInset and sets default values.

Member Function Documentation

◆ addElement() [1/2]

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.

See also
addElement(QCPLayoutElement *element, Qt::Alignment alignment)

◆ addElement() [2/2]

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.

See also
addElement(QCPLayoutElement *element, const QRectF &rect)

◆ elementAt()

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

Implements QCPLayout.

◆ elementCount()

int QCPLayoutInset::elementCount ( ) const
virtual

Returns the number of elements/cells in the layout.

See also
elements, elementAt

Implements QCPLayout.

◆ insetAlignment()

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.

◆ insetPlacement()

QCPLayoutInset::InsetPlacement QCPLayoutInset::insetPlacement ( int index) const

Returns the placement type of the element with the specified index.

◆ insetRect()

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.

◆ selectTest()

double QCPLayoutInset::selectTest ( const QPointF & pos,
bool onlySelectable,
QVariant * details = 0 ) const
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.

◆ setInsetAlignment()

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.

◆ setInsetPlacement()

void QCPLayoutInset::setInsetPlacement ( int index,
QCPLayoutInset::InsetPlacement placement )

Sets the inset placement type of the element with the specified index to placement.

See also
InsetPlacement

◆ setInsetRect()

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.

◆ simplify()

virtual void QCPLayoutInset::simplify ( )
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.

◆ take()

bool QCPLayoutInset::take ( QCPLayoutElement * element)
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

Implements QCPLayout.

◆ takeAt()

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

Implements QCPLayout.

◆ updateLayout()

void QCPLayoutInset::updateLayout ( )
virtual

Reimplemented from QCPLayout.


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