diff options
Diffstat (limited to 'src/gui/util/qlayoutpolicy_p.h')
-rw-r--r-- | src/gui/util/qlayoutpolicy_p.h | 70 |
1 files changed, 17 insertions, 53 deletions
diff --git a/src/gui/util/qlayoutpolicy_p.h b/src/gui/util/qlayoutpolicy_p.h index 6457aeb653..bbdabd0c7b 100644 --- a/src/gui/util/qlayoutpolicy_p.h +++ b/src/gui/util/qlayoutpolicy_p.h @@ -1,41 +1,5 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #ifndef QLAYOUTPOLICY_H #define QLAYOUTPOLICY_H @@ -64,10 +28,9 @@ QT_BEGIN_NAMESPACE class QVariant; -class Q_GUI_EXPORT QLayoutPolicy +class QLayoutPolicy { - Q_GADGET - Q_ENUMS(Policy) + Q_GADGET_EXPORT(Q_GUI_EXPORT) public: enum PolicyFlag { @@ -76,16 +39,16 @@ public: ShrinkFlag = 4, IgnoreFlag = 8 }; + Q_DECLARE_FLAGS(Policy, PolicyFlag) + Q_FLAG(Policy) - enum Policy { - Fixed = 0, - Minimum = GrowFlag, - Maximum = ShrinkFlag, - Preferred = GrowFlag | ShrinkFlag, - MinimumExpanding = GrowFlag | ExpandFlag, - Expanding = GrowFlag | ShrinkFlag | ExpandFlag, - Ignored = ShrinkFlag | GrowFlag | IgnoreFlag - }; + static constexpr inline Policy Fixed = {}; + static constexpr inline Policy Minimum = GrowFlag; + static constexpr inline Policy Maximum = ShrinkFlag; + static constexpr inline Policy Preferred = Minimum | Maximum; + static constexpr inline Policy MinimumExpanding = Minimum | ExpandFlag; + static constexpr inline Policy Expanding = Preferred | ExpandFlag; + static constexpr inline Policy Ignored = Preferred | IgnoreFlag; enum ControlType { DefaultType = 0x00000001, @@ -116,11 +79,11 @@ public: } Policy horizontalPolicy() const { return static_cast<Policy>(bits.horPolicy); } Policy verticalPolicy() const { return static_cast<Policy>(bits.verPolicy); } - ControlType controlType() const; + Q_GUI_EXPORT ControlType controlType() const; void setHorizontalPolicy(Policy d) { bits.horPolicy = d; } void setVerticalPolicy(Policy d) { bits.verPolicy = d; } - void setControlType(ControlType type); + Q_GUI_EXPORT void setControlType(ControlType type); Qt::Orientations expandingDirections() const { Qt::Orientations result; @@ -144,7 +107,7 @@ public: void setHorizontalStretch(int stretchFactor) { bits.horStretch = static_cast<quint32>(qBound(0, stretchFactor, 255)); } void setVerticalStretch(int stretchFactor) { bits.verStretch = static_cast<quint32>(qBound(0, stretchFactor, 255)); } - void transpose(); + inline void transpose(); private: @@ -169,6 +132,7 @@ private: }; }; +Q_DECLARE_OPERATORS_FOR_FLAGS(QLayoutPolicy::Policy) Q_DECLARE_OPERATORS_FOR_FLAGS(QLayoutPolicy::ControlTypes) #ifndef QT_NO_DATASTREAM |