summaryrefslogtreecommitdiffstats
path: root/src/widgets/styles/qwindowsstyle_p.h
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@digia.com>2012-11-23 14:31:49 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-11-30 19:31:29 +0100
commitcd31c065900e5a6cd124a9a08b5d1e7e08dbca80 (patch)
tree0312983928900bb07dd01ed47d5a6284a01c6990 /src/widgets/styles/qwindowsstyle_p.h
parent2bda681eb6fe4f77ba13b7a1f9e23aa0abcc11f6 (diff)
Made QWindowsStyle internal
We will take this opportunity to remove various QStyle specializations from the public API in Qt5. This gives us much more freedom, for example changing the inheritance hierarchy, pluginizing etc. without worrying about BC. => Use QStyleFactory and/or QProxyStyle instead of creating an instance or inheriting QWindowsStyle directly. Change-Id: Ic17c7e425535bc5bb3a08620e9059bb0aea5185e Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Diffstat (limited to 'src/widgets/styles/qwindowsstyle_p.h')
-rw-r--r--src/widgets/styles/qwindowsstyle_p.h97
1 files changed, 53 insertions, 44 deletions
diff --git a/src/widgets/styles/qwindowsstyle_p.h b/src/widgets/styles/qwindowsstyle_p.h
index 6d69557edd..542e61cb81 100644
--- a/src/widgets/styles/qwindowsstyle_p.h
+++ b/src/widgets/styles/qwindowsstyle_p.h
@@ -42,58 +42,67 @@
#ifndef QWINDOWSSTYLE_P_H
#define QWINDOWSSTYLE_P_H
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of qapplication_*.cpp, qwidget*.cpp and qfiledialog.cpp. This header
-// file may change from version to version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qwindowsstyle.h"
-#include "qcommonstyle_p.h"
-
-#ifndef QT_NO_STYLE_WINDOWS
-#include <qlist.h>
-#include <qhash.h>
+#include <QtWidgets/qcommonstyle.h>
+
+QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
-class QTime;
-class QWindowsStylePrivate : public QCommonStylePrivate
+#if !defined(QT_NO_STYLE_WINDOWS)
+
+class QWindowsStylePrivate;
+
+class QWindowsStyle : public QCommonStyle
{
- Q_DECLARE_PUBLIC(QWindowsStyle)
+ Q_OBJECT
public:
- QWindowsStylePrivate();
- bool hasSeenAlt(const QWidget *widget) const;
- bool altDown() const { return alt_down; }
- bool alt_down;
- QList<const QWidget *> seenAlt;
- int menuBarTimer;
-
- QColor inactiveCaptionText;
- QColor activeCaptionColor;
- QColor activeGradientCaptionColor;
- QColor inactiveCaptionColor;
- QColor inactiveGradientCaptionColor;
-
- enum {
- windowsItemFrame = 2, // menu item frame width
- windowsSepHeight = 9, // separator item height
- windowsItemHMargin = 3, // menu item hor text margin
- windowsItemVMargin = 2, // menu item ver text margin
- windowsArrowHMargin = 6, // arrow horizontal margin
- windowsRightBorder = 15, // right border on windows
- windowsCheckMarkWidth = 12 // checkmarks width on windows
- };
+ QWindowsStyle();
+ ~QWindowsStyle();
+
+ void polish(QApplication*);
+ void unpolish(QApplication*);
+
+ void polish(QWidget*);
+ void unpolish(QWidget*);
+
+ void polish(QPalette &);
+
+ void drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPainter *p,
+ const QWidget *w = 0) const;
+ void drawControl(ControlElement element, const QStyleOption *opt, QPainter *p,
+ const QWidget *w = 0) const;
+ QRect subElementRect(SubElement r, const QStyleOption *opt, const QWidget *widget = 0) const;
+ void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *opt, QPainter *p,
+ const QWidget *w = 0) const;
+ QSize sizeFromContents(ContentsType ct, const QStyleOption *opt,
+ const QSize &contentsSize, const QWidget *widget = 0) const;
+
+ int pixelMetric(PixelMetric pm, const QStyleOption *option = 0, const QWidget *widget = 0) const;
+
+ int styleHint(StyleHint hint, const QStyleOption *opt = 0, const QWidget *widget = 0,
+ QStyleHintReturn *returnData = 0) const;
+
+ QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt,
+ const QWidget *widget = 0) const;
+
+ QIcon standardIcon(StandardPixmap standardIcon, const QStyleOption *option = 0,
+ const QWidget *widget = 0) const;
+
+protected:
+ bool eventFilter(QObject *o, QEvent *e);
+ QWindowsStyle(QWindowsStylePrivate &dd);
+
+private:
+ Q_DISABLE_COPY(QWindowsStyle)
+ Q_DECLARE_PRIVATE(QWindowsStyle)
+ void *reserved;
};
+#endif // QT_NO_STYLE_WINDOWS
+
QT_END_NAMESPACE
-#endif // QT_NO_STYLE_WINDOWS
+QT_END_HEADER
-#endif //QWINDOWSSTYLE_P_H
+#endif // QWINDOWSSTYLE_P_H