Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qproxystyle.h
Go to the documentation of this file.
1// Copyright (C) 2016 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// Qt-Security score:significant reason:default
4
5#ifndef QPROXYSTYLE_H
6#define QPROXYSTYLE_H
7
8#include <QtWidgets/qtwidgetsglobal.h>
9#include <QtWidgets/QCommonStyle>
10
11QT_BEGIN_NAMESPACE
12
13
14#if !defined(QT_NO_STYLE_PROXY)
15
16class QProxyStylePrivate;
17class Q_WIDGETS_EXPORT QProxyStyle : public QCommonStyle
18{
19 Q_OBJECT
20
21public:
22 QProxyStyle(QStyle *style = nullptr);
23 QProxyStyle(const QString &key);
24 ~QProxyStyle();
25
26 QStyle *baseStyle() const;
27 void setBaseStyle(QStyle *style);
28
29 void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const override;
30 void drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const override;
31 void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = nullptr) const override;
32 void drawItemText(QPainter *painter, const QRect &rect, int flags, const QPalette &pal, bool enabled,
33 const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const override;
34 virtual void drawItemPixmap(QPainter *painter, const QRect &rect, int alignment, const QPixmap &pixmap) const override;
35
36 QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const override;
37
38 QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const override;
39 QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, SubControl sc, const QWidget *widget) const override;
40 QRect itemTextRect(const QFontMetrics &fm, const QRect &r, int flags, bool enabled, const QString &text) const override;
41 QRect itemPixmapRect(const QRect &r, int flags, const QPixmap &pixmap) const override;
42
43 SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option, const QPoint &pos, const QWidget *widget = nullptr) const override;
44 int styleHint(StyleHint hint, const QStyleOption *option = nullptr, const QWidget *widget = nullptr, QStyleHintReturn *returnData = nullptr) const override;
45 int pixelMetric(PixelMetric metric, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const override;
46 int layoutSpacing(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2,
47 Qt::Orientation orientation, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const override;
48
49 QIcon standardIcon(StandardPixmap standardIcon, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const override;
50 QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt, const QWidget *widget = nullptr) const override;
51 QPixmap generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *opt) const override;
52 QPalette standardPalette() const override;
53
54 void polish(QWidget *widget) override;
55 void polish(QPalette &pal) override;
56 void polish(QApplication *app) override;
57
58 void unpolish(QWidget *widget) override;
59 void unpolish(QApplication *app) override;
60
61protected:
62 bool event(QEvent *e) override;
63
64private:
65 Q_DISABLE_COPY(QProxyStyle)
66 Q_DECLARE_PRIVATE(QProxyStyle)
67};
68
69#endif // QT_NO_STYLE_PROXY
70
71QT_END_NAMESPACE
72
73#endif // QPROXYSTYLE_H
The QProxyStyle class is a convenience class that simplifies dynamically overriding QStyle elements.
Definition qproxystyle.h:18