5#ifndef QGRAPHICSLAYOUT_H
6#define QGRAPHICSLAYOUT_H
8#include <QtWidgets/qtwidgetsglobal.h>
9#include <QtWidgets/qgraphicslayoutitem.h>
15class QGraphicsLayoutPrivate;
16class QGraphicsLayoutItem;
22 QGraphicsLayout(QGraphicsLayoutItem *parent =
nullptr);
25 void setContentsMargins(qreal left, qreal top, qreal right, qreal bottom);
26 void getContentsMargins(qreal *left, qreal *top, qreal *right, qreal *bottom)
const override;
29 bool isActivated()
const;
30 virtual void invalidate();
31 virtual void updateGeometry() override;
33 virtual void widgetEvent(QEvent *e);
35 virtual int count()
const = 0;
36 virtual QGraphicsLayoutItem *itemAt(
int i)
const = 0;
37 virtual void removeAt(
int index) = 0;
39 static void setInstantInvalidatePropagation(
bool enable);
40 static bool instantInvalidatePropagation();
42 QGraphicsLayout(QGraphicsLayoutPrivate &, QGraphicsLayoutItem *);
43 void addChildLayoutItem(QGraphicsLayoutItem *layoutItem);
46 Q_DISABLE_COPY(QGraphicsLayout)
47 Q_DECLARE_PRIVATE(QGraphicsLayout)
48 friend class QGraphicsWidget;
void setSizePolicy(QSizePolicy::Policy policy)
~QGraphicsAnchorPrivate()
QSizePolicy::Policy sizePolicy
static QGraphicsAnchorPrivate * get(QGraphicsAnchor *q)
QGraphicsAnchorLayoutPrivate * layoutPrivate
void setSpacing(qreal value)
The QGraphicsLayout class provides the base class for all layouts in Graphics View.
void setDefaultSpacing(Qt::Orientation o, qreal spacing)
bool operator==(const QLayoutStyleInfo &other) const
bool operator!=(const QLayoutStyleInfo &other) const
qreal perItemSpacing(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation) const
qreal defaultSpacing(Qt::Orientation o) const
QLayoutStyleInfo(QStyle *style, QWidget *widget)
QSet< AnchorData * > negatives
QSet< AnchorData * > positives
QSimplexConstraint * constraint(const GraphPath &path) const
QT_REQUIRE_CONFIG(animation)
Q_DECLARE_TYPEINFO(GraphPath, Q_RELOCATABLE_TYPE)
QT_REQUIRE_CONFIG(graphicsview)
Q_DECLARE_INTERFACE(QNetworkAccessBackendFactory, QNetworkAccessBackendFactory_iid)
virtual void updateChildrenSizes()
void refreshSizeHints(const QLayoutStyleInfo *styleInfo=nullptr)
QGraphicsLayoutItem * item
QGraphicsAnchor * graphicsAnchor
AnchorVertexPair(AnchorVertex *v1, AnchorVertex *v2, AnchorData *data)
AnchorData * m_removedAnchor
QList< AnchorData * > m_secondAnchors
QList< AnchorData * > m_firstAnchors
AnchorVertex(QGraphicsLayoutItem *item, Qt::AnchorPoint edge)
virtual ~AnchorVertex()=default
QGraphicsLayoutItem * m_item
virtual void updateChildrenSizes() override
ParallelAnchorData(AnchorData *first, AnchorData *second)
QList< QSimplexConstraint * > m_secondConstraints
bool calculateSizeHints()
QList< QSimplexConstraint * > m_firstConstraints
bool secondForward() const
virtual void updateChildrenSizes() override
const QList< AnchorData * > m_edges
SequentialAnchorData(const QList< AnchorVertex * > &vertices, const QList< AnchorData * > &edges)
void calculateSizeHints()