4#ifndef QLAYOUTENGINE_P_H
5#define QLAYOUTENGINE_P_H
18#include <QtWidgets/private/qtwidgetsglobal_p.h>
19#include "QtWidgets/qlayoutitem.h"
20#include "QtWidgets/qstyle.h"
21#include <QtCore/qcontainerfwd.h>
27 inline void init(
int stretchFactor = 0,
int minSize = 0) {
41 return (uniformSpacer >= 0) ? uniformSpacer :
spacing;
62 int space,
int spacer = -1);
70 const QSizePolicy &sizePolicy, Qt::Alignment align = { });
83static inline void qMaxExpCalc(
int & max,
bool &exp,
bool &empty,
84 int boxmax,
bool boxexp,
bool boxempty)
88 max =
qMax(max, boxmax);
90 if (boxexp || (empty && (!boxempty || max == 0)))
92 else if (empty == boxempty)
93 max =
qMin(max, boxmax);
96 empty = empty && boxempty;
The QLayout class is the base class of geometry managers.
The QSizePolicy class is a layout attribute describing horizontal and vertical resizing policy.
PixelMetric
This enum describes the various available pixel metrics.
Combined button and popup list for selecting options.
Q_WIDGETS_EXPORT QSize qSmartMinSize(const QSize &sizeHint, const QSize &minSizeHint, const QSize &minSize, const QSize &maxSize, const QSizePolicy &sizePolicy)
Q_WIDGETS_EXPORT int qSmartSpacing(const QLayout *layout, QStyle::PixelMetric pm)
static void qMaxExpCalc(int &max, bool &exp, bool &empty, int boxmax, bool boxexp, bool boxempty)
Q_WIDGETS_EXPORT QSize qSmartMaxSize(const QSize &sizeHint, const QSize &minSize, const QSize &maxSize, const QSizePolicy &sizePolicy, Qt::Alignment align={ })
Q_WIDGETS_EXPORT void qGeomCalc(QList< QLayoutStruct > &chain, int start, int count, int pos, int space, int spacer=-1)
QT_BEGIN_NAMESPACE constexpr int QLAYOUTSIZE_MAX
constexpr const T & qMin(const T &a, const T &b)
constexpr const T & qMax(const T &a, const T &b)
GLfloat GLfloat GLfloat w
[0]
GLenum GLenum GLsizei count
void init(int stretchFactor=0, int minSize=0)
int effectiveSpacer(int uniformSpacer) const