Qt 6.x
The Qt SDK
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#include <QtCore/qabstractitemmodel.h>
13
14#include <QtGui/qicon.h>
15#include <QtGui/qfontmetrics.h>
16
18
19class QQuickItem;
20
21namespace QQC2 {
22
24{
25public:
31
34
36 SO_ComplexCustomBase = 0xf000000
37 };
38
41
42 int version; // TODO: Remove version information
43 int type;
44 QStyle::State state;
50
51 // QQC2 additions. Remember to also update copy
52 // constructor and assignment operator when adding
53 // new variables here.
56
60
62};
63
65{
66public:
69
71
75
76protected:
78};
79
81{
82public:
86 None = 0x00,
87 Flat = 0x01,
88 Rounded = 0x02
89 };
90 Q_DECLARE_FLAGS(FrameFeatures, FrameFeature)
91 enum Shape {
92 NoFrame = 0, // no frame
93 Box = 0x0001, // rectangular box
94 Panel = 0x0002, // rectangular panel
95 WinPanel = 0x0003, // rectangular panel (Windows)
96 HLine = 0x0004, // horizontal line
97 VLine = 0x0005, // vertical line
98 StyledPanel = 0x0006 // rectangular panel depending on the GUI style
99 };
100 enum Shadow {
101 Plain = 0x0010, // plain line
102 Raised = 0x0020, // raised shadow effect
103 Sunken = 0x0030 // sunken shadow effect
104 };
105
108 FrameFeatures features;
110
114
115protected:
117};
118
119Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionFrame::FrameFeatures)
121
124
126{
127public:
128 enum StyleOptionType { Type = SO_Tab };
130
131 enum TabPosition { Beginning, Middle, End, OnlyOneTab };
132 enum SelectedPosition { NotAdjacent, NextIsSelected, PreviousIsSelected };
133 enum CornerWidget { NoCornerWidgets = 0x00, LeftCornerWidget = 0x01,
134 RightCornerWidget = 0x02 };
135 enum TabFeature { None = 0x00, HasFrame = 0x01 };
136 enum Shape { RoundedNorth, RoundedSouth, RoundedWest, RoundedEast,
137 TriangularNorth, TriangularSouth, TriangularWest, TriangularEast
138 };
139 Q_DECLARE_FLAGS(CornerWidgets, CornerWidget)
140 Q_DECLARE_FLAGS(TabFeatures, TabFeature)
141
144 int row;
146 Shape shape = RoundedNorth;
147 SelectedPosition selectedPosition;
148 CornerWidgets cornerWidgets;
150 bool documentMode;
151 QSize leftButtonSize;
152 QSize rightButtonSize;
153 TabFeatures features;
154
158
159protected:
160 QStyleOptionTab(int version);
161};
162
164{
165public:
168
177
180 : QStyleOption(Version, Type) { *this = other; }
182
183protected:
185};
186
188
189
191{
192public:
194
197
202
206
207protected:
209};
210
212{
213public:
220
223 Qt::Alignment textAlignment;
225 Qt::Alignment iconAlignment;
230
234
235protected:
237};
238
240{
241public:
244
245 enum ButtonFeature { None = 0x00, Flat = 0x01, HasMenu = 0x02, DefaultButton = 0x04,
247 Q_DECLARE_FLAGS(ButtonFeatures, ButtonFeature)
248
249 ButtonFeatures features;
253
257
258protected:
260};
261
262Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionButton::ButtonFeatures)
263
265{
266public:
269 int tabIndex = -1;
270};
271
272Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionTab::CornerWidgets)
273
276
277
279{
280public:
281 enum StyleOptionType { Type = SO_ToolBar };
283 enum ToolBarPosition { Beginning, Middle, End, OnlyOne };
284 enum ToolBarFeature { None = 0x0, Movable = 0x1 };
285 Q_DECLARE_FLAGS(ToolBarFeatures, ToolBarFeature)
286
287 ToolBarPosition positionOfLine; // The toolbar line position
288 ToolBarPosition positionWithinLine; // The position within a toolbar
289 Qt::ToolBarArea toolBarArea; // The toolbar docking area
290 ToolBarFeatures features;
291 int lineWidth;
292 int midLineWidth;
293
297
298protected:
299 QStyleOptionToolBar(int version);
300};
301
302Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionToolBar::ToolBarFeatures)
303
305{
306public:
307 enum StyleOptionType { Type = SO_ProgressBar };
309
314 Qt::Alignment textAlignment;
318
322
323protected:
324 QStyleOptionProgressBar(int version);
325};
326
328{
329public:
332
336
345 int tabWidth; // ### Qt 6: rename to reservedShortcutWidth
347
351
352protected:
354};
355
357{
358public:
361
367
371
372protected:
374};
375
377
379{
380public:
383
385 enum ScrollMode { ScrollPerItem, ScrollPerPixel }; // Doesn't really belong in this class.
386
387 Qt::Alignment displayAlignment;
388 Qt::Alignment decorationAlignment;
394
396 None = 0x00,
397 WrapText = 0x01,
398 Alternate = 0x02,
401 HasDecoration = 0x10
402 };
403 Q_DECLARE_FLAGS(ViewItemFeatures, ViewItemFeature)
404
405 ViewItemFeatures features;
406
408
410
417
421
422protected:
424};
425
426Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionViewItem::ViewItemFeatures)
427
431
433{
434public:
435 enum StyleOptionType { Type = SO_ToolBox };
437
440
441 enum TabPosition { Beginning, Middle, End, OnlyOneTab };
442 enum SelectedPosition { NotAdjacent, NextIsSelected, PreviousIsSelected };
443
446
450
451protected:
452 QStyleOptionToolBox(int version);
453};
454
456
458{
459public:
463
464 bool opaque;
466
470
471protected:
473};
474
475// -------------------------- Complex style options -------------------------------
477{
478public:
481
482 QStyle::SubControls subControls;
483 QStyle::SubControls activeSubControls;
484
488};
489
491{
492public:
502 };
503
518
522
523protected:
525};
526
528{
529public:
532 enum StepEnabledFlag { StepNone = 0x00, StepUpEnabled = 0x01, StepDownEnabled = 0x02, StepEnabled = 0xFF };
534
537 bool frame;
538
542
543protected:
545};
546
548{
549public:
552
553 enum ToolButtonFeature { None = 0x00, Arrow = 0x01, Menu = 0x04, MenuButtonPopup = Menu, PopupDelay = 0x08,
554 HasMenu = 0x10 };
555 Q_DECLARE_FLAGS(ToolButtonFeatures, ToolButtonFeature)
556
557 ToolButtonFeatures features;
561 Qt::ArrowType arrowType;
562 Qt::ToolButtonStyle toolButtonStyle;
565
569
570protected:
572};
573
574Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionToolButton::ToolButtonFeatures)
575
577{
578public:
579 enum StyleOptionType { Type = SO_ComboBox };
581
584 bool frame;
588
592
593protected:
594 QStyleOptionComboBox(int version);
595};
596
598{
599public:
602
606 Qt::WindowFlags titleBarFlags;
607
611
612protected:
614};
615
617{
618public:
621
622 QStyleOptionFrame::FrameFeatures features;
624 Qt::Alignment textAlignment;
628
632protected:
634};
635
637{
638public:
641
643
647protected:
649};
650
652{
653public:
656
659
663 static qreal levelOfDetailFromTransform(const QTransform &worldTransform);
664protected:
666};
667
668template <typename T>
670{
671 typedef typename std::remove_cv<typename std::remove_pointer<T>::type>::type Opt;
672 if (opt && opt->version >= Opt::Version && (opt->type == Opt::Type
673 || int(Opt::Type) == QStyleOption::SO_Default
674 || (int(Opt::Type) == QStyleOption::SO_Complex
676 return static_cast<T>(opt);
677 return nullptr;
678}
679
680template <typename T>
682{
683 typedef typename std::remove_cv<typename std::remove_pointer<T>::type>::type Opt;
684 if (opt && opt->version >= Opt::Version && (opt->type == Opt::Type
685 || int(Opt::Type) == QStyleOption::SO_Default
686 || (int(Opt::Type) == QStyleOption::SO_Complex
688 return static_cast<T>(opt);
689 return nullptr;
690}
691
692// -------------------------- QStyleHintReturn -------------------------------
693
695{
696public:
699 };
700
703
706
708 int type;
709};
710
712{
713public:
716
719
721};
722
724{
725public:
728
731
733};
734
735template <typename T>
737{
738 typedef typename std::remove_cv<typename std::remove_pointer<T>::type>::type Opt;
739 if (hint && hint->version <= Opt::Version &&
740 (hint->type == Opt::Type || int(Opt::Type) == QStyleHintReturn::SH_Default))
741 return static_cast<T>(hint);
742 return nullptr;
743}
744
745template <typename T>
747{
748 typedef typename std::remove_cv<typename std::remove_pointer<T>::type>::type Opt;
749 if (hint && hint->version <= Opt::Version &&
750 (hint->type == Opt::Type || int(Opt::Type) == QStyleHintReturn::SH_Default))
751 return static_cast<T>(hint);
752 return nullptr;
753}
754
755#if !defined(QT_NO_DEBUG_STREAM)
758#endif
759
760} // namespace QQC2
761
763
764#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:20
The QIcon class provides scalable icons in different modes and states.
Definition qicon.h:20
\inmodule QtCore
\inmodule QtCore
Definition qobject.h:90
The QPalette class contains color groups for each widget state.
Definition qpalette.h:19
\inmodule QtCore\reentrant
Definition qpoint.h:23
QStyleHintReturnMask()
Constructs a QStyleHintReturnMask.
QStyleHintReturnVariant()
Constructs a QStyleHintReturnVariant.
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 & 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)
Qt::ToolButtonStyle toolButtonStyle
QStyleOptionToolButton()
Constructs a QStyleOptionToolButton, initializing the members variables to their default values.
QStyleOptionToolButton & operator=(const QStyleOptionToolButton &)=default
QStyleOptionViewItem()
Constructs a QStyleOptionViewItem, initializing the members variables to their default values.
QStyleOptionViewItem & operator=(const QStyleOptionViewItem &)=default
QStyleOptionViewItem(const QStyleOptionViewItem &other)
Qt::LayoutDirection direction
~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:64
\inmodule QtCore\reentrant
Definition qrect.h:483
\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:127
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:64
\inmodule QtGui
Definition qwindow.h:63
QString text
opt iconSize
QStyleOptionButton opt
Q_DECL_DEPRECATED typedef QStyleOptionFrame QStyleOptionFrameV3
Q_DECL_DEPRECATED typedef QStyleOptionViewItem QStyleOptionViewItemV4
Q_DECL_DEPRECATED typedef QStyleOptionTabWidgetFrame QStyleOptionTabWidgetFrameV2
Q_DECL_DEPRECATED typedef QStyleOptionViewItem QStyleOptionViewItemV3
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 QStyleOptionViewItem QStyleOptionViewItemV2
Q_DECL_DEPRECATED typedef QStyleOptionToolBox QStyleOptionToolBoxV2
QDebug operator<<(QDebug debug, const QStyleOption::OptionType &optionType)
Combined button and popup list for selecting options.
CheckState
LayoutDirection
Orientation
Definition qnamespace.h:97
TextElideMode
Definition qnamespace.h:187
#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
GLenum type
GLenum GLenum GLsizei void * row
GLuint GLenum option
static qreal position(const QQuickItem *item, QQuickAnchors::Anchor anchorLine)
static QT_BEGIN_NAMESPACE QVariant hint(QPlatformIntegration::StyleHint h)
double qreal
Definition qtypes.h:92
QSharedPointer< T > other(t)
[5]
Definition moc.h:24