32 #ifndef pqHierarchicalGridLayout_h 33 #define pqHierarchicalGridLayout_h 36 #include <QScopedPointer> 69 typedef QLayout Superclass;
79 void addItem(QLayoutItem* item)
override;
80 QLayoutItem* itemAt(
int index)
const override;
81 QLayoutItem* takeAt(
int index)
override;
82 int count()
const override;
89 QSize minimumSize()
const override;
90 void setGeometry(
const QRect& rect)
override;
91 QSize sizeHint()
const override;
98 bool isLocationValid(
int location)
const;
105 void split(
int location, Qt::Orientation
direction,
double splitFraction);
106 void splitAny(
int location,
double splitFraction);
109 this->
split(location, Qt::Vertical, splitFraction);
113 this->
split(location, Qt::Horizontal, splitFraction);
121 void setSplitFraction(
int location,
double splitFraction);
130 void maximize(
int location);
136 Item(Qt::Orientation direction,
double fraction)
137 : Direction(direction)
141 Item(QWidget* widget =
nullptr)
147 QWidget* Widget =
nullptr;
148 Qt::Orientation Direction = Qt::Horizontal;
149 double Fraction = -1.0;
164 QVector<QWidget*>
rearrange(
const QVector<Item>& layout);
170 QScopedPointer<pqInternals> Internals;
void splitVertical(int location, double splitFraction)
Adds a splitter item.
Item(Qt::Orientation direction, double fraction)
QLayout specialization that supports a hierarchical layout.
void split(const std::string &s, const char &delim, std::vector< std::string > &elems)
Item(QWidget *widget=nullptr)
void splitHorizontal(int location, double splitFraction)
Adds a splitter item.
QVector< QWidget * > rearrange(const QVector< Item > &layout)
API to rearrange the widgets in this layout.