From 6fd75df2889c5635f3de265f40f9d23a35a94d00 Mon Sep 17 00:00:00 2001 From: Lasse Holmstedt Date: Wed, 31 Aug 2011 09:55:11 +0200 Subject: Generic property support for platform windows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit QPlatformNativeInterface can now contain generic window properties in a QVariantMap, to facilitate communication with the compositor and clients for certain platforms. When window properties change, a signal is emitted from the respective QPlatformNativeInterface instance. The properties are intended to be read/writable from both client and server. Change-Id: I7b42f7910d03c0d309add6c7dbb1c9b66ad22a3f Reviewed-on: http://codereview.qt.nokia.com/3956 Reviewed-by: Samuel Rødal --- src/gui/kernel/qplatformnativeinterface_qpa.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/gui/kernel/qplatformnativeinterface_qpa.h') diff --git a/src/gui/kernel/qplatformnativeinterface_qpa.h b/src/gui/kernel/qplatformnativeinterface_qpa.h index 9f22337f6c..dd57f94a88 100644 --- a/src/gui/kernel/qplatformnativeinterface_qpa.h +++ b/src/gui/kernel/qplatformnativeinterface_qpa.h @@ -43,6 +43,8 @@ #define QPLATFORMNATIVEINTERFACE_QPA_H #include +#include +#include QT_BEGIN_HEADER @@ -51,11 +53,22 @@ QT_BEGIN_NAMESPACE QT_MODULE(Gui) class QWidget; +class QPlatformWindow; -class Q_GUI_EXPORT QPlatformNativeInterface +class Q_GUI_EXPORT QPlatformNativeInterface : public QObject { + Q_OBJECT public: virtual void *nativeResourceForWidget(const QByteArray &resource, QWidget *widget); + + virtual QVariantMap windowProperties(QPlatformWindow *window) const; + virtual QVariant windowProperty(QPlatformWindow *window, const QString &name) const; + virtual QVariant windowProperty(QPlatformWindow *window, const QString &name, const QVariant &defaultValue) const; + virtual void setWindowProperty(QPlatformWindow *window, const QString &name, const QVariant &value); + +Q_SIGNALS: + void windowPropertyChanged(QPlatformWindow *window, const QString &propertyName); + }; QT_END_NAMESPACE -- cgit v1.2.3