5#ifndef QGRAPHICSGRIDLAYOUTENGINE_P_H
6#define QGRAPHICSGRIDLAYOUTENGINE_P_H
19#include <QtWidgets/private/qtwidgetsglobal_p.h>
20#include <QtGui/private/qgridlayoutengine_p.h>
22#include <QtWidgets/qsizepolicy.h>
23#include <QtWidgets/qstyle.h>
24#include <QtWidgets/qstyleoption.h>
31class QGraphicsLayoutPrivate;
35 QGraphicsGridLayoutEngineItem(QGraphicsLayoutItem *item,
int row,
int columns,
int rowSpan = 1,
int columnSpan = 1,
36 Qt::Alignment alignment = { })
37 : QGridLayoutItem(row, columns, rowSpan, columnSpan, alignment),
q_layoutItem(item) {}
42 return (QLayoutPolicy::Policy)((orientation == Qt::Horizontal) ? sizePolicy.horizontalPolicy()
43 : sizePolicy.verticalPolicy());
48 const QSizePolicy::ControlType ct =
q_layoutItem->sizePolicy().controlType();
49 return (QLayoutPolicy::ControlTypes)ct;
52 virtual QSizeF sizeHint(Qt::SizeHint which,
const QSizeF &constraint)
const override
54 return q_layoutItem->effectiveSizeHint(which, constraint);
65 virtual bool isEmpty()
const override;
79 const int index = indexOf(layoutItem);
82 return static_cast<QGraphicsGridLayoutEngineItem*>(q_items.at(index));
85 int indexOf(QGraphicsLayoutItem *item)
const
87 for (
int i = 0; i < q_items.size(); ++i) {
88 if (item ==
static_cast<QGraphicsGridLayoutEngineItem*>(q_items.at(i))->layoutItem())
94 void setAlignment(QGraphicsLayoutItem *graphicsLayoutItem, Qt::Alignment alignment);
95 Qt::Alignment alignment(QGraphicsLayoutItem *graphicsLayoutItem)
const;
97 void setStretchFactor(QGraphicsLayoutItem *layoutItem,
int stretch, Qt::Orientation orientation);
98 int stretchFactor(QGraphicsLayoutItem *layoutItem, Qt::Orientation orientation)
const;
virtual QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint) const override
QGraphicsLayoutItem * layoutItem() const
virtual void setGeometry(const QRectF &rect) override
virtual bool isEmpty() const override
virtual Qt::Orientation dynamicConstraintOrientation() const override
virtual QLayoutPolicy::ControlTypes controlTypes(LayoutSide) const override
virtual QLayoutPolicy::Policy sizePolicy(Qt::Orientation orientation) const override
QGraphicsLayoutItem * q_layoutItem
virtual bool hasDynamicConstraint() const override
QGraphicsGridLayoutEngine engine
QGraphicsLayoutStyleInfo * styleInfo() const
QScopedPointer< QGraphicsLayoutStyleInfo > m_styleInfo
QGraphicsGridLayoutPrivate()
The QGraphicsGridLayout class provides a grid layout for managing widgets in Graphics View.
The QGraphicsLayoutItem class can be inherited to allow your custom items to be managed by layouts.
Combined button and popup list for selecting options.
QT_REQUIRE_CONFIG(thread)