Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qquickstyleoption.h
Go to the documentation of this file.
1// Copyright (C) 2020 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QSTYLEOPTION_H
5#define QSTYLEOPTION_H
6
7#include "qquickstyle.h"
8
9#include <QtCore/qlocale.h>
10#include <QtCore/qvariant.h>
11#include <QtCore/qdebug.h>
12
13#include <QtGui/qicon.h>
14#include <QtGui/qfontmetrics.h>
15
16#include <QtQuick/private/qtquick-config_p.h>
17#if QT_CONFIG(quick_itemview)
18#include <QtCore/qabstractitemmodel.h>
19#endif
20
22
23class QQuickItem;
24
25namespace QQC2 {
26
67
83
85{
86public:
90 None = 0x00,
91 Flat = 0x01,
92 Rounded = 0x02
93 };
94 Q_DECLARE_FLAGS(FrameFeatures, FrameFeature)
95 enum Shape {
96 NoFrame = 0, // no frame
97 Box = 0x0001, // rectangular box
98 Panel = 0x0002, // rectangular panel
99 WinPanel = 0x0003, // rectangular panel (Windows)
100 HLine = 0x0004, // horizontal line
101 VLine = 0x0005, // vertical line
102 StyledPanel = 0x0006 // rectangular panel depending on the GUI style
103 };
104 enum Shadow {
105 Plain = 0x0010, // plain line
106 Raised = 0x0020, // raised shadow effect
107 Sunken = 0x0030 // sunken shadow effect
108 };
109
112 FrameFeatures features;
114
118
119protected:
121};
122
123Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionFrame::FrameFeatures)
125
128
130{
131public:
132 enum StyleOptionType { Type = SO_Tab };
134
135 enum TabPosition { Beginning, Middle, End, OnlyOneTab };
136 enum SelectedPosition { NotAdjacent, NextIsSelected, PreviousIsSelected };
137 enum CornerWidget { NoCornerWidgets = 0x00, LeftCornerWidget = 0x01,
138 RightCornerWidget = 0x02 };
139 enum TabFeature { None = 0x00, HasFrame = 0x01 };
140 enum Shape { RoundedNorth, RoundedSouth, RoundedWest, RoundedEast,
141 TriangularNorth, TriangularSouth, TriangularWest, TriangularEast
142 };
143 Q_DECLARE_FLAGS(CornerWidgets, CornerWidget)
144 Q_DECLARE_FLAGS(TabFeatures, TabFeature)
145
148 int row;
150 Shape shape = RoundedNorth;
151 SelectedPosition selectedPosition;
152 CornerWidgets cornerWidgets;
154 bool documentMode;
155 QSize leftButtonSize;
156 QSize rightButtonSize;
157 TabFeatures features;
158
162
163protected:
164 QStyleOptionTab(int version);
165};
166
190
192
193
214
242
244{
245public:
248
249 enum ButtonFeature { None = 0x00, Flat = 0x01, HasMenu = 0x02, DefaultButton = 0x04,
251 Q_DECLARE_FLAGS(ButtonFeatures, ButtonFeature)
252
253 ButtonFeatures features;
257
261
262protected:
264};
265
266Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionButton::ButtonFeatures)
267
269{
270public:
273 int tabIndex = -1;
274};
275
276Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionTab::CornerWidgets)
277
280
281
283{
284public:
285 enum StyleOptionType { Type = SO_ToolBar };
287 enum ToolBarPosition { Beginning, Middle, End, OnlyOne };
288 enum ToolBarFeature { None = 0x0, Movable = 0x1 };
289 Q_DECLARE_FLAGS(ToolBarFeatures, ToolBarFeature)
290
291 ToolBarPosition positionOfLine; // The toolbar line position
292 ToolBarPosition positionWithinLine; // The position within a toolbar
293 Qt::ToolBarArea toolBarArea; // The toolbar docking area
294 ToolBarFeatures features;
295 int lineWidth;
296 int midLineWidth;
297
301
302protected:
303 QStyleOptionToolBar(int version);
304};
305
306Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionToolBar::ToolBarFeatures)
307
330
359
379
381
382#if QT_CONFIG(quick_itemview)
383class QStyleOptionViewItem : public QStyleOption
384{
385public:
386 enum StyleOptionType { Type = SO_ViewItem };
387 enum StyleOptionVersion { Version = 4 };
388
389 enum Position { Left, Right, Top, Bottom };
390 enum ScrollMode { ScrollPerItem, ScrollPerPixel }; // Doesn't really belong in this class.
391
392 Qt::Alignment displayAlignment;
393 Qt::Alignment decorationAlignment;
394 Qt::TextElideMode textElideMode;
395 Position decorationPosition;
396 QSize decorationSize;
397 QFont font;
398 bool showDecorationSelected;
399
400 enum ViewItemFeature {
401 None = 0x00,
402 WrapText = 0x01,
403 Alternate = 0x02,
404 HasCheckIndicator = 0x04,
405 HasDisplay = 0x08,
406 HasDecoration = 0x10
407 };
408 Q_DECLARE_FLAGS(ViewItemFeatures, ViewItemFeature)
409
410 ViewItemFeatures features;
411
412 QLocale locale;
413
414 enum ViewItemPosition { Invalid, Beginning, Middle, End, OnlyOne };
415
418 QIcon icon;
420 ViewItemPosition viewItemPosition;
421 QBrush backgroundBrush;
422
423 QStyleOptionViewItem();
424 QStyleOptionViewItem(const QStyleOptionViewItem &other) : QStyleOption(Version, Type) { *this = other; }
425 QStyleOptionViewItem &operator=(const QStyleOptionViewItem &) = default;
426
427protected:
428 QStyleOptionViewItem(int version);
429};
430
431Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionViewItem::ViewItemFeatures)
432
433Q_DECL_DEPRECATED typedef QStyleOptionViewItem QStyleOptionViewItemV2;
434Q_DECL_DEPRECATED typedef QStyleOptionViewItem QStyleOptionViewItemV3;
435Q_DECL_DEPRECATED typedef QStyleOptionViewItem QStyleOptionViewItemV4;
436#endif // QT_CONFIG(quick_itemview)
437
460
462
480
481// -------------------------- Complex style options -------------------------------
495
532
552
579
580Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionToolButton::ToolButtonFeatures)
581
602
621
641
656
673
674template <typename T>
676{
677 typedef typename std::remove_cv<typename std::remove_pointer<T>::type>::type Opt;
678 if (opt && opt->version >= Opt::Version && (opt->type == Opt::Type
679 || int(Opt::Type) == QStyleOption::SO_Default
680 || (int(Opt::Type) == QStyleOption::SO_Complex
682 return static_cast<T>(opt);
683 return nullptr;
684}
685
686template <typename T>
688{
689 typedef typename std::remove_cv<typename std::remove_pointer<T>::type>::type Opt;
690 if (opt && opt->version >= Opt::Version && (opt->type == Opt::Type
691 || int(Opt::Type) == QStyleOption::SO_Default
692 || (int(Opt::Type) == QStyleOption::SO_Complex
694 return static_cast<T>(opt);
695 return nullptr;
696}
697
698// -------------------------- QStyleHintReturn -------------------------------
699
716
728
740
741template <typename T>
743{
744 typedef typename std::remove_cv<typename std::remove_pointer<T>::type>::type Opt;
745 if (hint && hint->version <= Opt::Version &&
746 (hint->type == Opt::Type || int(Opt::Type) == QStyleHintReturn::SH_Default))
747 return static_cast<T>(hint);
748 return nullptr;
749}
750
751template <typename T>
753{
754 typedef typename std::remove_cv<typename std::remove_pointer<T>::type>::type Opt;
755 if (hint && hint->version <= Opt::Version &&
756 (hint->type == Opt::Type || int(Opt::Type) == QStyleHintReturn::SH_Default))
757 return static_cast<T>(hint);
758 return nullptr;
759}
760
761#if !defined(QT_NO_DEBUG_STREAM)
764#endif
765
766} // namespace QQC2
767
769
770#endif // QSTYLEOPTION_H
\inmodule QtGui
Definition qbrush.h:30
The QColor class provides colors based on RGB, HSV or CMYK values.
Definition qcolor.h:31
\inmodule QtCore
\reentrant \inmodule QtGui
\reentrant
Definition qfont.h:22
The QIcon class provides scalable icons in different modes and states.
Definition qicon.h:20
\inmodule QtCore
\inmodule QtCore
Definition qobject.h:103
The QPalette class contains color groups for each widget state.
Definition qpalette.h:19
\inmodule QtCore\reentrant
Definition qpoint.h:25
QStyleHintReturnMask()
Constructs a QStyleHintReturnMask.
QStyleHintReturnVariant()
Constructs a QStyleHintReturnVariant.
QStyleHintReturn(int version=QStyleOption::Version, int type=SH_Default)
Constructs a QStyleHintReturn with version version and type type.
QStyleOptionButton & operator=(const QStyleOptionButton &)=default
QStyleOptionButton()
Constructs a QStyleOptionButton, initializing the members variables to their default values.
QStyleOptionComboBox(const QStyleOptionComboBox &other)
QStyleOptionComboBox & operator=(const QStyleOptionComboBox &)=default
QStyle::SubControls subControls
QStyle::SubControls activeSubControls
QStyleOptionComplex(int version=QStyleOptionComplex::Version, int type=SO_Complex)
Constructs a QStyleOptionComplex of the specified type and version, initializing the member variables...
QStyleOptionComplex & operator=(const QStyleOptionComplex &)=default
QStyleOptionComplex(const QStyleOptionComplex &other)
QStyleOptionDockWidget(const QStyleOptionDockWidget &other)
QStyleOptionDockWidget & operator=(const QStyleOptionDockWidget &)=default
QStyleOptionDockWidget()
Constructs a QStyleOptionDockWidget, initializing the member variables to their default values.
QStyleOptionFocusRect()
Constructs a QStyleOptionFocusRect, initializing the members variables to their default values.
QStyleOptionFocusRect & operator=(const QStyleOptionFocusRect &)=default
QStyleOptionFocusRect(const QStyleOptionFocusRect &other)
QStyleOptionFrame(const QStyleOptionFrame &other)
QStyleOptionFrame()
Constructs a QStyleOptionFrame, initializing the members variables to their default values.
QStyleOptionFrame & operator=(const QStyleOptionFrame &)=default
static qreal levelOfDetailFromTransform(const QTransform &worldTransform)
QStyleOptionGraphicsItem()
Constructs a QStyleOptionGraphicsItem.
QStyleOptionGraphicsItem(const QStyleOptionGraphicsItem &other)
QStyleOptionGraphicsItem & operator=(const QStyleOptionGraphicsItem &)=default
QStyleOptionGroupBox()
Constructs a QStyleOptionGroupBox, initializing the members variables to their default values.
QStyleOptionFrame::FrameFeatures features
QStyleOptionGroupBox(const QStyleOptionGroupBox &other)
QStyleOptionGroupBox & operator=(const QStyleOptionGroupBox &)=default
QStyleOptionHeader & operator=(const QStyleOptionHeader &)=default
QStyleOptionHeader(const QStyleOptionHeader &other)
SelectedPosition selectedPosition
QStyleOptionHeader()
Constructs a QStyleOptionHeader, initializing the members variables to their default values.
QStyleOptionMenuItem & operator=(const QStyleOptionMenuItem &)=default
QStyleOptionMenuItem()
Constructs a QStyleOptionMenuItem, initializing the members variables to their default values.
QStyleOptionMenuItem(const QStyleOptionMenuItem &other)
QStyleOptionProgressBar & operator=(const QStyleOptionProgressBar &)=default
QStyleOptionProgressBar(const QStyleOptionProgressBar &other)
QStyleOptionRubberBand(const QStyleOptionRubberBand &other)
QStyleOptionRubberBand & operator=(const QStyleOptionRubberBand &)=default
QStyleOptionRubberBand()
Creates a QStyleOptionRubberBand, initializing the members variables to their default values.
QStyleOptionSizeGrip & operator=(const QStyleOptionSizeGrip &)=default
QStyleOptionSizeGrip()
Constructs a QStyleOptionSizeGrip.
QStyleOptionSizeGrip(const QStyleOptionSizeGrip &other)
QStyleOptionSlider(const QStyleOptionSlider &other)
QStyleOptionSlider & operator=(const QStyleOptionSlider &)=default
QStyleOptionSlider()
Constructs a QStyleOptionSlider, initializing the members variables to their default values.
QStyleOptionSpinBox()
Constructs a QStyleOptionSpinBox, initializing the members variables to their default values.
QStyleOptionSpinBox(const QStyleOptionSpinBox &other)
QStyleOptionSpinBox & operator=(const QStyleOptionSpinBox &)=default
QStyleOptionTabBarBase(const QStyleOptionTabBarBase &other)
QStyleOptionTabBarBase & operator=(const QStyleOptionTabBarBase &)=default
QStyleOptionTabBarBase()
Construct a QStyleOptionTabBarBase, initializing the members vaiables to their default values.
QStyleOptionTab::Shape shape
QStyleOptionTabWidgetFrame()
Constructs a QStyleOptionTabWidgetFrame, initializing the members variables to their default values.
QStyleOptionTabWidgetFrame & operator=(const QStyleOptionTabWidgetFrame &)=default
QStyleOptionTabWidgetFrame(const QStyleOptionTabWidgetFrame &other)
QStyleOptionTab & operator=(const QStyleOptionTab &)=default
QStyleOptionTitleBar & operator=(const QStyleOptionTitleBar &)=default
QStyleOptionTitleBar()
Constructs a QStyleOptionTitleBar, initializing the members variables to their default values.
QStyleOptionTitleBar(const QStyleOptionTitleBar &other)
QStyleOptionToolBar & operator=(const QStyleOptionToolBar &)=default
QStyleOptionToolBox & operator=(const QStyleOptionToolBox &)=default
SelectedPosition selectedPosition
QStyleOptionToolBox(const QStyleOptionToolBox &other)
QStyleOptionToolBox()
Creates a QStyleOptionToolBox, initializing the members variables to their default values.
Qt::ToolButtonStyle toolButtonStyle
QStyleOptionToolButton()
Constructs a QStyleOptionToolButton, initializing the members variables to their default values.
QStyleOptionToolButton & operator=(const QStyleOptionToolButton &)=default
Qt::LayoutDirection direction
QStyleOption(int version=QStyleOption::Version, int type=SO_Default)
~QStyleOption()
Destroys this style option object.
QStyleOption & operator=(const QStyleOption &other)
Assign other to this QStyleOption.
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
Definition qquickitem.h:63
\inmodule QtCore\reentrant
Definition qrect.h:484
\inmodule QtCore\reentrant
Definition qrect.h:30
The QRegion class specifies a clip region for a painter.
Definition qregion.h:27
\inmodule QtCore
Definition qsize.h:25
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
The QStyleOption class stores the parameters used by QStyle functions.
OptionType
This enum is used internally by QStyleOption, its subclasses, and qstyleoption_cast() to determine th...
The QTransform class specifies 2D transformations of a coordinate system.
Definition qtransform.h:20
\inmodule QtCore
Definition qvariant.h:65
\inmodule QtGui
Definition qwindow.h:63
QString text
opt iconSize
QStyleOptionButton opt
Q_DECL_DEPRECATED typedef QStyleOptionFrame QStyleOptionFrameV3
Q_DECL_DEPRECATED typedef QStyleOptionTabWidgetFrame QStyleOptionTabWidgetFrameV2
Q_DECL_DEPRECATED typedef QStyleOptionTab QStyleOptionTabV2
Q_DECL_DEPRECATED typedef QStyleOptionDockWidget QStyleOptionDockWidgetV2
Q_DECL_DEPRECATED typedef QStyleOptionTab QStyleOptionTabV3
Q_DECL_DEPRECATED typedef QStyleOptionFrame QStyleOptionFrameV2
T qstyleoption_cast(const QStyleOption *opt)
Q_DECL_DEPRECATED typedef QStyleOptionToolBox QStyleOptionToolBoxV2
QDebug operator<<(QDebug debug, const QStyleOption::OptionType &optionType)
Combined button and popup list for selecting options.
Definition qcompare.h:63
CheckState
LayoutDirection
Orientation
Definition qnamespace.h:98
TextElideMode
Definition qnamespace.h:188
#define Q_DECL_DEPRECATED
#define Q_DECLARE_FLAGS(Flags, Enum)
Definition qflags.h:174
#define Q_DECLARE_MIXED_ENUM_OPERATORS_SYMMETRIC(Ret, Flags, Enum)
Definition qflags.h:247
#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags)
Definition qflags.h:194
@ None
Definition qhash.cpp:531
@ Invalid
GLuint index
[2]
GLenum type
GLenum GLenum GLsizei void * row
GLuint GLenum option
@ Bottom
@ Top
@ Left
@ Right
static qreal position(const QQuickItem *item, QQuickAnchors::Anchor anchorLine)
static QT_BEGIN_NAMESPACE QVariant hint(QPlatformIntegration::StyleHint h)
double qreal
Definition qtypes.h:187
QSharedPointer< T > other(t)
[5]
Definition moc.h:23