22 #include "ginteractor.h" 32 enum Position { West, North, South, East, Center };
34 static void clearLayout(QLayout* layout);
35 static bool contains(QLayout* layout, QWidget* widget);
37 static void forceUpdate(QWidget* widget);
38 static QSize getPreferredSize(QWidget* widget);
39 static QSize getProperSize(QLayout* layout);
40 static QSize getProperSize(QWidget* widget);
41 static void invalidateLayout(QLayout* layout);
42 static Position toPosition(
const string& positionName);
58 class GBorderLayout :
public QLayout {
60 GBorderLayout(QWidget* parent,
int margin = 0,
int spacing = -1);
61 GBorderLayout(
int spacing = -1);
62 ~GBorderLayout()
override;
64 void addItem(QLayoutItem* item)
override;
65 void addWidget(QWidget* widget);
66 void addWidget(QWidget* widget, GLayout::Position position);
67 Qt::Orientations expandingDirections()
const override;
68 bool hasHeightForWidth()
const override;
69 int count()
const override;
70 QLayoutItem* itemAt(
int index)
const override;
71 QSize minimumSize()
const override;
72 void setGeometry(
const QRect& rect)
override;
73 QSize sizeHint()
const override;
74 QLayoutItem* takeAt(
int index)
override;
76 void add(QLayoutItem* item, GLayout::Position position);
79 Q_DISABLE_COPY(GBorderLayout)
82 ItemWrapper(QLayoutItem* i, GLayout::Position p) {
88 GLayout::Position position;
91 enum SizeType { MinimumSize, SizeHint };
93 QSize calculateSize(SizeType sizeType)
const;
95 QList<ItemWrapper*> list;
This abstract class is the superclass for all graphical interactors.
Definition: ginteractor.h:48