Made QWindowsCEStyle internal
We will take this opportynity 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 QWindowsCEStyle directly. Change-Id: I6b3c0554e7a2a4a5f0027f4ea1342fd332af89ad Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Janne Anttila <janne.anttila@digia.com>
This commit is contained in:
parent
96f17a061a
commit
4fb0e52515
@ -59,7 +59,7 @@
|
||||
#include "qwindowsvistastyle_p.h"
|
||||
#endif
|
||||
#ifndef QT_NO_STYLE_WINDOWSCE
|
||||
#include "qwindowscestyle.h"
|
||||
#include "qwindowscestyle_p.h"
|
||||
#endif
|
||||
#ifndef QT_NO_STYLE_WINDOWSMOBILE
|
||||
#include "qwindowsmobilestyle.h"
|
||||
|
@ -39,7 +39,7 @@
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include "qwindowscestyle.h"
|
||||
#include "qwindowscestyle_p.h"
|
||||
|
||||
#if !defined(QT_NO_STYLE_WINDOWSCE) || defined(QT_PLUGIN)
|
||||
|
||||
@ -50,7 +50,7 @@
|
||||
#include "qpaintengine.h"
|
||||
#include "qpainter.h"
|
||||
#include "qstyleoption.h"
|
||||
#include "qwindowscestyle_p.h"
|
||||
#include "qwindowscestyle_p_p.h"
|
||||
#include "qdebug.h"
|
||||
#include "qdrawutil.h"
|
||||
|
||||
|
@ -1,103 +0,0 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
|
||||
** Contact: http://www.qt-project.org/legal
|
||||
**
|
||||
** This file is part of the QtGui module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and Digia. For licensing terms and
|
||||
** conditions see http://qt.digia.com/licensing. For further information
|
||||
** use the contact form at http://qt.digia.com/contact-us.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Digia gives you certain additional
|
||||
** rights. These rights are described in the Digia Qt LGPL Exception
|
||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU General Public License version 3.0 requirements will be
|
||||
** met: http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef QWINDOWSCESTYLE_H
|
||||
#define QWINDOWSCESTYLE_H
|
||||
|
||||
#include <QtWidgets/qwindowsstyle.h>
|
||||
|
||||
QT_BEGIN_HEADER
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
|
||||
#if !defined(QT_NO_STYLE_WINDOWSCE)
|
||||
|
||||
class Q_WIDGETS_EXPORT QWindowsCEStyle : public QWindowsStyle
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
QWindowsCEStyle();
|
||||
~QWindowsCEStyle();
|
||||
|
||||
void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
|
||||
QPainter *painter, const QWidget *widget = 0) const;
|
||||
|
||||
void drawControl(ControlElement element, const QStyleOption *option,
|
||||
QPainter *painter, const QWidget *widget) const;
|
||||
|
||||
void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option,
|
||||
QPainter *painter, const QWidget *widget) const;
|
||||
|
||||
virtual void drawItemText(QPainter *painter, const QRect &rect,
|
||||
int flags, const QPalette &pal, bool enabled,
|
||||
const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const;
|
||||
|
||||
QSize sizeFromContents(ContentsType type, const QStyleOption *option,
|
||||
const QSize &size, const QWidget *widget) const;
|
||||
|
||||
QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const;
|
||||
QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt,
|
||||
SubControl sc, const QWidget *widget) const;
|
||||
|
||||
SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option,
|
||||
const QPoint &pos, const QWidget *widget = 0) const;
|
||||
|
||||
QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt,
|
||||
const QWidget *widget = 0) const;
|
||||
int pixelMetric(PixelMetric metric, 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;
|
||||
|
||||
void polish(QWidget *widget);
|
||||
void polish(QPalette &palette);
|
||||
void polish(QApplication *app);
|
||||
QPalette standardPalette() const;
|
||||
};
|
||||
|
||||
#endif // QT_NO_STYLE_WINDOWSCE
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
QT_END_HEADER
|
||||
|
||||
#endif // QWINDOWSCESTYLE_H
|
@ -39,80 +39,65 @@
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef QWINDOWSCE_P_H
|
||||
#define QWINDOWSCE_P_H
|
||||
#ifndef QWINDOWSCESTYLE_P_H
|
||||
#define QWINDOWSCESTYLE_P_H
|
||||
|
||||
#include "qwindowscestyle.h"
|
||||
#include <private/qwindowsstyle_p.h>
|
||||
#include <QtWidgets/qwindowsstyle.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.
|
||||
//
|
||||
QT_BEGIN_HEADER
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QPainter;
|
||||
class QPalette;
|
||||
class QPoint;
|
||||
class QColor;
|
||||
class QBrush;
|
||||
class QRect;
|
||||
|
||||
// Private class
|
||||
class QWindowsCEStylePrivate : public QWindowsStylePrivate
|
||||
{
|
||||
Q_DECLARE_PUBLIC(QWindowsCEStyle)
|
||||
#if !defined(QT_NO_STYLE_WINDOWSCE)
|
||||
|
||||
class QWindowsCEStyle : public QWindowsStyle
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
inline QWindowsCEStylePrivate()
|
||||
{ }
|
||||
QWindowsCEStyle();
|
||||
~QWindowsCEStyle();
|
||||
|
||||
|
||||
static void drawWinCEButton(QPainter *p, int x, int y, int w, int h,
|
||||
const QPalette &pal, bool sunken = false,
|
||||
const QBrush *fill = 0);
|
||||
void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
|
||||
QPainter *painter, const QWidget *widget = 0) const;
|
||||
|
||||
static void drawWinCEButton(QPainter *p, const QRect &r,
|
||||
const QPalette &pal, bool sunken = false,
|
||||
const QBrush *fill = 0);
|
||||
void drawControl(ControlElement element, const QStyleOption *option,
|
||||
QPainter *painter, const QWidget *widget) const;
|
||||
|
||||
static void drawWinCEPanel(QPainter *p, int x, int y, int w, int h,
|
||||
const QPalette &pal, bool sunken = false,
|
||||
const QBrush *fill = 0);
|
||||
void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option,
|
||||
QPainter *painter, const QWidget *widget) const;
|
||||
|
||||
static void drawWinCEPanel(QPainter *p, const QRect &r,
|
||||
const QPalette &pal, bool sunken = false,
|
||||
const QBrush *fill = 0);
|
||||
virtual void drawItemText(QPainter *painter, const QRect &rect,
|
||||
int flags, const QPalette &pal, bool enabled,
|
||||
const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const;
|
||||
|
||||
static void drawWinShades(QPainter *p,
|
||||
int x, int y, int w, int h,
|
||||
const QColor &c1, const QColor &c2,
|
||||
const QColor &c3, const QColor &c4,
|
||||
const QBrush *fill);
|
||||
QSize sizeFromContents(ContentsType type, const QStyleOption *option,
|
||||
const QSize &size, const QWidget *widget) const;
|
||||
|
||||
static void drawWinCEShades(QPainter *p,
|
||||
int x, int y, int w, int h,
|
||||
const QColor &c1, const QColor &c2,
|
||||
const QColor &c3, const QColor &c4,
|
||||
const QBrush *fill);
|
||||
|
||||
static void drawWinCEShadesSunken(QPainter *p,
|
||||
int x, int y, int w, int h,
|
||||
const QColor &c1, const QColor &c2,
|
||||
const QColor &c3, const QColor &c4,
|
||||
const QBrush *fill);
|
||||
QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const;
|
||||
QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt,
|
||||
SubControl sc, const QWidget *widget) const;
|
||||
|
||||
SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option,
|
||||
const QPoint &pos, const QWidget *widget = 0) const;
|
||||
|
||||
QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt,
|
||||
const QWidget *widget = 0) const;
|
||||
int pixelMetric(PixelMetric metric, 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;
|
||||
|
||||
void polish(QWidget *widget);
|
||||
void polish(QPalette &palette);
|
||||
void polish(QApplication *app);
|
||||
QPalette standardPalette() const;
|
||||
};
|
||||
|
||||
#endif // QT_NO_STYLE_WINDOWSCE
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif //QWINDOWSCE_P_H
|
||||
QT_END_HEADER
|
||||
|
||||
#endif // QWINDOWSCESTYLE_P_H
|
||||
|
118
src/widgets/styles/qwindowscestyle_p_p.h
Normal file
118
src/widgets/styles/qwindowscestyle_p_p.h
Normal file
@ -0,0 +1,118 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
|
||||
** Contact: http://www.qt-project.org/legal
|
||||
**
|
||||
** This file is part of the QtGui module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and Digia. For licensing terms and
|
||||
** conditions see http://qt.digia.com/licensing. For further information
|
||||
** use the contact form at http://qt.digia.com/contact-us.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Digia gives you certain additional
|
||||
** rights. These rights are described in the Digia Qt LGPL Exception
|
||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU General Public License version 3.0 requirements will be
|
||||
** met: http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef QWINDOWSCESTYLE_P_P_H
|
||||
#define QWINDOWSCESTYLE_P_P_H
|
||||
|
||||
#include "qwindowscestyle_p.h"
|
||||
#include <private/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.
|
||||
//
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QPainter;
|
||||
class QPalette;
|
||||
class QPoint;
|
||||
class QColor;
|
||||
class QBrush;
|
||||
class QRect;
|
||||
|
||||
// Private class
|
||||
class QWindowsCEStylePrivate : public QWindowsStylePrivate
|
||||
{
|
||||
Q_DECLARE_PUBLIC(QWindowsCEStyle)
|
||||
public:
|
||||
inline QWindowsCEStylePrivate()
|
||||
{ }
|
||||
|
||||
|
||||
static void drawWinCEButton(QPainter *p, int x, int y, int w, int h,
|
||||
const QPalette &pal, bool sunken = false,
|
||||
const QBrush *fill = 0);
|
||||
|
||||
static void drawWinCEButton(QPainter *p, const QRect &r,
|
||||
const QPalette &pal, bool sunken = false,
|
||||
const QBrush *fill = 0);
|
||||
|
||||
static void drawWinCEPanel(QPainter *p, int x, int y, int w, int h,
|
||||
const QPalette &pal, bool sunken = false,
|
||||
const QBrush *fill = 0);
|
||||
|
||||
static void drawWinCEPanel(QPainter *p, const QRect &r,
|
||||
const QPalette &pal, bool sunken = false,
|
||||
const QBrush *fill = 0);
|
||||
|
||||
static void drawWinShades(QPainter *p,
|
||||
int x, int y, int w, int h,
|
||||
const QColor &c1, const QColor &c2,
|
||||
const QColor &c3, const QColor &c4,
|
||||
const QBrush *fill);
|
||||
|
||||
static void drawWinCEShades(QPainter *p,
|
||||
int x, int y, int w, int h,
|
||||
const QColor &c1, const QColor &c2,
|
||||
const QColor &c3, const QColor &c4,
|
||||
const QBrush *fill);
|
||||
|
||||
static void drawWinCEShadesSunken(QPainter *p,
|
||||
int x, int y, int w, int h,
|
||||
const QColor &c1, const QColor &c2,
|
||||
const QColor &c3, const QColor &c4,
|
||||
const QBrush *fill);
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif //QWINDOWSCESTYLE_P_P_H
|
@ -121,7 +121,8 @@ contains( styles, fusion ) {
|
||||
}
|
||||
|
||||
contains( styles, windowsce ) {
|
||||
HEADERS += styles/qwindowscestyle.h
|
||||
HEADERS += styles/qwindowscestyle_p.h
|
||||
HEADERS += styles/qwindowscestyle_p_p.h
|
||||
SOURCES += styles/qwindowscestyle.cpp
|
||||
} else {
|
||||
DEFINES += QT_NO_STYLE_WINDOWSCE
|
||||
|
@ -75,10 +75,6 @@
|
||||
#include <QMacStyle>
|
||||
#endif
|
||||
|
||||
#ifdef Q_OS_WINCE
|
||||
#include <QWindowsCEStyle>
|
||||
#endif
|
||||
|
||||
#ifdef Q_OS_WINCE_WM
|
||||
#include <QWindowsMobileStyle>
|
||||
#include <windows.h>
|
||||
@ -541,8 +537,9 @@ void tst_QStyle::testMacStyle()
|
||||
// WindowsCEStyle style
|
||||
void tst_QStyle::testWindowsCEStyle()
|
||||
{
|
||||
QWindowsCEStyle cstyle;
|
||||
QStyle *cstyle = QStyleFactory::create("WindowsCE");
|
||||
QVERIFY(testAllFunctions(&cstyle));
|
||||
delete cstyle;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user