40 #ifndef QSTYLEOPTION_H
41 #define QSTYLEOPTION_H
43 #include <QtWidgets/qtwidgetsglobal.h>
44 #include <QtCore/qlocale.h>
45 #include <QtCore/qvariant.h>
46 #if QT_CONFIG(spinbox)
47 #include <QtWidgets/qabstractspinbox.h>
49 #include <QtGui/qicon.h>
50 #include <QtGui/qtransform.h>
52 #include <QtWidgets/qslider.h>
54 #include <QtWidgets/qstyle.h>
56 #include <QtWidgets/qtabbar.h>
58 #if QT_CONFIG(tabwidget)
59 #include <QtWidgets/qtabwidget.h>
61 #if QT_CONFIG(rubberband)
62 #include <QtWidgets/qrubberband.h>
64 #include <QtWidgets/qframe.h>
65 #if QT_CONFIG(itemviews)
66 # include <QtCore/qabstractitemmodel.h>
78 SO_Default, SO_FocusRect,
SO_Button, SO_Tab, SO_MenuItem,
79 SO_Frame, SO_ProgressBar, SO_ToolBox, SO_Header,
83 SO_Complex = 0xf0000, SO_Slider, SO_SpinBox, SO_ToolButton,
SO_ComboBox,
86 SO_CustomBase = 0xf00,
87 SO_ComplexCustomBase = 0xf000000
140 FrameFeatures features;
153 #if QT_CONFIG(tabwidget)
154 class Q_WIDGETS_EXPORT QStyleOptionTabWidgetFrame :
public QStyleOption
157 enum StyleOptionType {
Type = SO_TabWidgetFrame };
158 enum StyleOptionVersion {
Version = 1 };
164 QSize rightCornerWidgetSize;
165 QSize leftCornerWidgetSize;
167 QRect selectedTabRect;
169 QStyleOptionTabWidgetFrame();
170 inline QStyleOptionTabWidgetFrame(
const QStyleOptionTabWidgetFrame &
other)
172 QStyleOptionTabWidgetFrame &operator=(
const QStyleOptionTabWidgetFrame &) =
default;
175 QStyleOptionTabWidgetFrame(
int version);
181 #if QT_CONFIG(tabbar)
182 class Q_WIDGETS_EXPORT QStyleOptionTabBarBase :
public QStyleOption
185 enum StyleOptionType {
Type = SO_TabBarBase };
186 enum StyleOptionVersion {
Version = 1 };
190 QRect selectedTabRect;
193 QStyleOptionTabBarBase();
195 QStyleOptionTabBarBase &operator=(
const QStyleOptionTabBarBase &) =
default;
198 QStyleOptionTabBarBase(
int version);
211 NextAndPreviousAreSelected };
257 AutoDefaultButton = 0x08, CommandLinkButton = 0x10 };
260 ButtonFeatures features;
275 #if QT_CONFIG(tabbar)
276 class Q_WIDGETS_EXPORT QStyleOptionTab :
public QStyleOption
279 enum StyleOptionType {
Type = SO_Tab };
280 enum StyleOptionVersion {
Version = 1 };
282 enum TabPosition { Beginning,
Middle, End, OnlyOneTab };
283 enum SelectedPosition { NotAdjacent, NextIsSelected, PreviousIsSelected };
284 enum CornerWidget { NoCornerWidgets = 0x00, LeftCornerWidget = 0x01,
285 RightCornerWidget = 0x02 };
286 enum TabFeature {
None = 0x00, HasFrame = 0x01 };
295 SelectedPosition selectedPosition;
296 CornerWidgets cornerWidgets;
299 QSize leftButtonSize;
300 QSize rightButtonSize;
301 TabFeatures features;
306 QStyleOptionTab &operator=(
const QStyleOptionTab &) =
default;
317 #if QT_CONFIG(toolbar)
319 class Q_WIDGETS_EXPORT QStyleOptionToolBar :
public QStyleOption
322 enum StyleOptionType {
Type = SO_ToolBar };
323 enum StyleOptionVersion {
Version = 1 };
327 ToolBarPosition positionOfLine;
328 ToolBarPosition positionWithinLine;
330 ToolBarFeatures features;
333 QStyleOptionToolBar();
335 QStyleOptionToolBar &operator=(
const QStyleOptionToolBar &) =
default;
338 QStyleOptionToolBar(
int version);
376 enum CheckType { NotCheckable, Exclusive, NonExclusive };
417 #if QT_CONFIG(itemviews)
419 class Q_WIDGETS_EXPORT QStyleOptionViewItem :
public QStyleOption
422 enum StyleOptionType {
Type = SO_ViewItem };
423 enum StyleOptionVersion {
Version = 1 };
431 QSize decorationSize;
433 bool showDecorationSelected;
435 enum ViewItemFeature {
439 HasCheckIndicator = 0x04,
445 ViewItemFeatures features;
456 ViewItemPosition viewItemPosition;
459 QStyleOptionViewItem();
461 QStyleOptionViewItem &operator=(
const QStyleOptionViewItem &) =
default;
464 QStyleOptionViewItem(
int version);
494 #if QT_CONFIG(rubberband)
495 class Q_WIDGETS_EXPORT QStyleOptionRubberBand :
public QStyleOption
498 enum StyleOptionType {
Type = SO_RubberBand };
499 enum StyleOptionVersion {
Version = 1 };
504 QStyleOptionRubberBand();
506 QStyleOptionRubberBand &operator=(
const QStyleOptionRubberBand &) =
default;
509 QStyleOptionRubberBand(
int version);
520 QStyle::SubControls subControls;
521 QStyle::SubControls activeSubControls;
528 #if QT_CONFIG(slider)
532 enum StyleOptionType {
Type = SO_Slider };
533 enum StyleOptionVersion {
Version = 1 };
547 Qt::KeyboardModifiers keyboardModifiers;
549 QStyleOptionSlider();
551 QStyleOptionSlider &operator=(
const QStyleOptionSlider &) =
default;
554 QStyleOptionSlider(
int version);
558 #if QT_CONFIG(spinbox)
562 enum StyleOptionType {
Type = SO_SpinBox };
563 enum StyleOptionVersion {
Version = 1 };
566 QAbstractSpinBox::StepEnabled stepEnabled;
569 QStyleOptionSpinBox();
571 QStyleOptionSpinBox &operator=(
const QStyleOptionSpinBox &) =
default;
574 QStyleOptionSpinBox(
int version);
588 ToolButtonFeatures features;
694 static qreal levelOfDetailFromTransform(
const QTransform &worldTransform);
699 template <
typename T>
707 return static_cast<T>(
opt);
711 template <
typename T>
719 return static_cast<T>(
opt);
727 SH_Default=0xf000, SH_Mask, SH_Variant
762 template <
typename T>
766 if (hint && hint->
version <= Opt::Version &&
768 return static_cast<T>(hint);
772 template <
typename T>
776 if (hint && hint->
version <= Opt::Version &&
778 return static_cast<T>(hint);
782 #if !defined(QT_NO_DEBUG_STREAM)
The QBrush class defines the fill pattern of shapes drawn by QPainter.
The QColor class provides colors based on RGB, HSV or CMYK values.
operator<<(QDataStream &ds, qfloat16 f)
The QDebug class provides an output stream for debugging information.
The QFont class specifies a query for a font used for drawing text.
The QFontMetrics class provides font metrics information.
The QFrame class is the base class of widgets that can have a frame.
The QIcon class provides scalable icons in different modes and states.
The QModelIndex class is used to locate data in a data model.
The QObject class is the base class of all Qt objects.
The QPalette class contains color groups for each widget state.
The QPoint class defines a point in the plane using integer precision.
The QRectF class defines a finite rectangle in the plane using floating point precision.
The QRect class defines a rectangle in the plane using integer precision.
The QRegion class specifies a clip region for a painter.
The QSize class defines the size of a two-dimensional object using integer point precision.
The QString class provides a Unicode character string.
the exposed rectangle, in item coordinates
The QStyleHintReturnMask class provides style hints that return a QRegion.
The QStyleHintReturnVariant class provides style hints that return a QVariant.
an OR combination of the tool button's features
QStyleOptionComboBox(const QStyleOptionComboBox &other)
QStyleOptionComboBox & operator=(const QStyleOptionComboBox &)=default
QStyleOptionComplex(const QStyleOptionComplex &other)
QStyleOptionComplex & operator=(const QStyleOptionComplex &)=default
the palette that should be used when painting the control
QStyleOptionFocusRect & operator=(const QStyleOptionFocusRect &)=default
QStyleOptionFocusRect(const QStyleOptionFocusRect &other)
the background color on which the focus rectangle is being drawn
FrameFeature
the line width for drawing the frame
QStyleOptionFrame & operator=(const QStyleOptionFrame &)=default
The QStyleOptionGraphicsItem class is used to describe the parameters needed to draw a QGraphicsItem.
QStyleOptionGraphicsItem(const QStyleOptionGraphicsItem &other)
QStyleOptionGraphicsItem & operator=(const QStyleOptionGraphicsItem &)=default
a bitwise OR of the features that describe this frame.
QStyleOptionGroupBox & operator=(const QStyleOptionGroupBox &)=default
Qt::Alignment textAlignment
QStyleOptionFrame::FrameFeatures features
QStyleOptionGroupBox(const QStyleOptionGroupBox &other)
The QStyleOption class stores the parameters used by QStyle functions.
template< typename T > T qstyleoption_cast(const QStyleOption *option)
the text of the title bar
Qt::LayoutDirection direction
a bitwise OR of the features that describe this button
QStyleOptionProgressBar(const QStyleOptionProgressBar &other)
QStyleOptionProgressBar & operator=(const QStyleOptionProgressBar &)=default
Qt::Alignment textAlignment
QStyleOptionSizeGrip & operator=(const QStyleOptionSizeGrip &)=default
QStyleOptionSizeGrip(int version)
QStyleOptionSizeGrip(const QStyleOptionSizeGrip &other)
the position of the selected tab in relation to this tab
QStyleOptionTitleBar & operator=(const QStyleOptionTitleBar &)=default
QStyleOptionTitleBar(const QStyleOptionTitleBar &other)
Qt::WindowFlags titleBarFlags
The QVariant class acts like a union for the most common Qt data types.
union Alignment_ Alignment
auto it unsigned count const
QHighDpiScaling::Point position(T, QHighDpiScaling::Point::Kind)
#define Q_DECLARE_FLAGS(Flags, Enum)
#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags)
QT_END_INCLUDE_NAMESPACE typedef double qreal
GLfloat GLfloat GLfloat w
[0]
GLenum GLenum GLsizei void * row
QPair< int, int > Position