123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- #ifndef QGRAPHICSANCHORLAYOUT_H
- #define QGRAPHICSANCHORLAYOUT_H
- #include <QtWidgets/qgraphicsitem.h>
- #include <QtWidgets/qgraphicslayout.h>
- QT_BEGIN_NAMESPACE
- #if !defined(QT_NO_GRAPHICSVIEW)
- class QGraphicsAnchorPrivate;
- class QGraphicsAnchorLayout;
- class QGraphicsAnchorLayoutPrivate;
- class Q_WIDGETS_EXPORT QGraphicsAnchor : public QObject
- {
- Q_OBJECT
- Q_PROPERTY(qreal spacing READ spacing WRITE setSpacing RESET unsetSpacing)
- Q_PROPERTY(QSizePolicy::Policy sizePolicy READ sizePolicy WRITE setSizePolicy)
- public:
- void setSpacing(qreal spacing);
- void unsetSpacing();
- qreal spacing() const;
- void setSizePolicy(QSizePolicy::Policy policy);
- QSizePolicy::Policy sizePolicy() const;
- ~QGraphicsAnchor();
- private:
- QGraphicsAnchor(QGraphicsAnchorLayout *parent);
- Q_DECLARE_PRIVATE(QGraphicsAnchor)
- friend class QGraphicsAnchorLayoutPrivate;
- friend struct AnchorData;
- };
- class Q_WIDGETS_EXPORT QGraphicsAnchorLayout : public QGraphicsLayout
- {
- public:
- QGraphicsAnchorLayout(QGraphicsLayoutItem *parent = Q_NULLPTR);
- virtual ~QGraphicsAnchorLayout();
- QGraphicsAnchor *addAnchor(QGraphicsLayoutItem *firstItem, Qt::AnchorPoint firstEdge,
- QGraphicsLayoutItem *secondItem, Qt::AnchorPoint secondEdge);
- QGraphicsAnchor *anchor(QGraphicsLayoutItem *firstItem, Qt::AnchorPoint firstEdge,
- QGraphicsLayoutItem *secondItem, Qt::AnchorPoint secondEdge);
- void addCornerAnchors(QGraphicsLayoutItem *firstItem, Qt::Corner firstCorner,
- QGraphicsLayoutItem *secondItem, Qt::Corner secondCorner);
- void addAnchors(QGraphicsLayoutItem *firstItem,
- QGraphicsLayoutItem *secondItem,
- Qt::Orientations orientations = Qt::Horizontal | Qt::Vertical);
- void setHorizontalSpacing(qreal spacing);
- void setVerticalSpacing(qreal spacing);
- void setSpacing(qreal spacing);
- qreal horizontalSpacing() const;
- qreal verticalSpacing() const;
- void removeAt(int index) Q_DECL_OVERRIDE;
- void setGeometry(const QRectF &rect) Q_DECL_OVERRIDE;
- int count() const Q_DECL_OVERRIDE;
- QGraphicsLayoutItem *itemAt(int index) const Q_DECL_OVERRIDE;
- void invalidate() Q_DECL_OVERRIDE;
- protected:
- QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const Q_DECL_OVERRIDE;
- private:
- Q_DISABLE_COPY(QGraphicsAnchorLayout)
- Q_DECLARE_PRIVATE(QGraphicsAnchorLayout)
- friend class QGraphicsAnchor;
- };
- #endif
- QT_END_NAMESPACE
- #endif
|