From c6bf3c14c4900f710789f634ccd91e0ee097da9f Mon Sep 17 00:00:00 2001 From: Joona Petrell Date: Thu, 1 Apr 2010 12:33:10 +1000 Subject: Renamed widgets example to proxywidgets to avoid conflicts Task-number: QTBUG-9518 Reviewed-by: Martin Jones --- examples/declarative/declarative.pro | 2 +- .../declarative/proxywidgets/ProxyWidgets/qmldir | 1 + examples/declarative/proxywidgets/README | 4 + examples/declarative/proxywidgets/proxywidgets.cpp | 99 ++++++++++++++++++++++ examples/declarative/proxywidgets/proxywidgets.pro | 22 +++++ examples/declarative/proxywidgets/proxywidgets.qml | 53 ++++++++++++ examples/declarative/widgets/MyWidgets/qmldir | 1 - examples/declarative/widgets/README | 4 - examples/declarative/widgets/mywidgets.cpp | 99 ---------------------- examples/declarative/widgets/mywidgets.pro | 19 ----- examples/declarative/widgets/mywidgets.qml | 53 ------------ 11 files changed, 180 insertions(+), 177 deletions(-) create mode 100644 examples/declarative/proxywidgets/ProxyWidgets/qmldir create mode 100644 examples/declarative/proxywidgets/README create mode 100644 examples/declarative/proxywidgets/proxywidgets.cpp create mode 100644 examples/declarative/proxywidgets/proxywidgets.pro create mode 100644 examples/declarative/proxywidgets/proxywidgets.qml delete mode 100644 examples/declarative/widgets/MyWidgets/qmldir delete mode 100644 examples/declarative/widgets/README delete mode 100644 examples/declarative/widgets/mywidgets.cpp delete mode 100644 examples/declarative/widgets/mywidgets.pro delete mode 100644 examples/declarative/widgets/mywidgets.qml diff --git a/examples/declarative/declarative.pro b/examples/declarative/declarative.pro index 5fc1cf0..00d3c05 100644 --- a/examples/declarative/declarative.pro +++ b/examples/declarative/declarative.pro @@ -6,7 +6,7 @@ SUBDIRS = \ imageprovider \ objectlistmodel \ plugins \ - widgets + proxywidgets # These examples contain no C++ and can simply be copied sources.files = \ diff --git a/examples/declarative/proxywidgets/ProxyWidgets/qmldir b/examples/declarative/proxywidgets/ProxyWidgets/qmldir new file mode 100644 index 0000000..e55267c --- /dev/null +++ b/examples/declarative/proxywidgets/ProxyWidgets/qmldir @@ -0,0 +1 @@ +plugin proxywidgetsplugin diff --git a/examples/declarative/proxywidgets/README b/examples/declarative/proxywidgets/README new file mode 100644 index 0000000..f50fa22 --- /dev/null +++ b/examples/declarative/proxywidgets/README @@ -0,0 +1,4 @@ +To run: + + make install + qml proxywidgets.qml diff --git a/examples/declarative/proxywidgets/proxywidgets.cpp b/examples/declarative/proxywidgets/proxywidgets.cpp new file mode 100644 index 0000000..47d0cb9 --- /dev/null +++ b/examples/declarative/proxywidgets/proxywidgets.cpp @@ -0,0 +1,99 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** 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, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include +#include +#include + +class MyPushButton : public QGraphicsProxyWidget +{ + Q_OBJECT + Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged) + +public: + MyPushButton(QGraphicsItem* parent = 0) + : QGraphicsProxyWidget(parent) + { + widget = new QPushButton("MyPushButton"); + widget->setAttribute(Qt::WA_NoSystemBackground); + setWidget(widget); + + QObject::connect(widget, SIGNAL(clicked(bool)), this, SIGNAL(clicked(bool))); + } + + QString text() const + { + return widget->text(); + } + + void setText(const QString& text) + { + if (text != widget->text()) { + widget->setText(text); + emit textChanged(); + } + } + +Q_SIGNALS: + void clicked(bool); + void textChanged(); + +private: + QPushButton *widget; +}; + +class ProxyWidgetsPlugin : public QDeclarativeExtensionPlugin +{ + Q_OBJECT +public: + void registerTypes(const char *uri) + { + qmlRegisterType(uri, 1, 0, "MyPushButton"); + } +}; + +#include "proxywidgets.moc" + +QML_DECLARE_TYPE(MyPushButton) + +Q_EXPORT_PLUGIN2(proxywidgetsplugin, ProxyWidgetsPlugin); diff --git a/examples/declarative/proxywidgets/proxywidgets.pro b/examples/declarative/proxywidgets/proxywidgets.pro new file mode 100644 index 0000000..eb85191 --- /dev/null +++ b/examples/declarative/proxywidgets/proxywidgets.pro @@ -0,0 +1,22 @@ +TEMPLATE = lib +DESTDIR = ProxyWidgets +TARGET = proxywidgetsplugin +CONFIG += qt plugin +QT += declarative +VERSION = 1.0.0 + +SOURCES += proxywidgets.cpp + +sources.files += proxywidgets.pro proxywidgets.cpp proxywidgets.qml + +sources.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins + +target.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins + +INSTALLS += sources target + +symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) + +symbian:{ + TARGET.EPOCALLOWDLLDATA = 1 +} \ No newline at end of file diff --git a/examples/declarative/proxywidgets/proxywidgets.qml b/examples/declarative/proxywidgets/proxywidgets.qml new file mode 100644 index 0000000..023de71 --- /dev/null +++ b/examples/declarative/proxywidgets/proxywidgets.qml @@ -0,0 +1,53 @@ +import Qt 4.6 +import "ProxyWidgets" 1.0 + +Rectangle { + id: window + width: 640; height: 480; color: palette.window + + property int margin: 30 + + SystemPalette { id: palette } + + MyPushButton { + id: button1; x: margin; y: margin; text: "Right"; onClicked: window.state = "right" + transformOriginPoint: Qt.point(width / 2, height / 2) + } + + MyPushButton { + id: button2; x: margin; y: margin + 30; text: "Bottom"; onClicked: window.state = "bottom" + transformOriginPoint: Qt.point(width / 2, height / 2) + } + + MyPushButton { + id: button3; x: margin; y: margin + 60; text: "Quit"; onClicked: Qt.quit() + transformOriginPoint: Qt.point(width / 2, height / 2) + } + + states: [ + State { + name: "right" + PropertyChanges { target: button1; x: window.width - width - margin; text: "Left"; onClicked: window.state = "" } + PropertyChanges { target: button2; x: window.width - width - margin } + PropertyChanges { target: button3; x: window.width - width - margin } + PropertyChanges { target: window; color: Qt.darker(palette.window) } + }, + State { + name: "bottom" + PropertyChanges { target: button1; y: window.height - height - margin; rotation: 180 } + PropertyChanges { + target: button2; x: button1.x + button1.width + 10; y: window.height - height - margin; rotation: 180 + text: "Top"; onClicked: window.state = "" + } + PropertyChanges { target: button3; x: button2.x + button2.width + 10; y: window.height - height - margin; rotation: 180 } + PropertyChanges { target: window; color: Qt.lighter(palette.window) } + } + ] + + transitions: Transition { + ParallelAnimation { + NumberAnimation { properties: "x,y,rotation"; duration: 600; easing.type: "OutQuad" } + ColorAnimation { target: window; duration: 600 } + } + } +} diff --git a/examples/declarative/widgets/MyWidgets/qmldir b/examples/declarative/widgets/MyWidgets/qmldir deleted file mode 100644 index dc1d10e..0000000 --- a/examples/declarative/widgets/MyWidgets/qmldir +++ /dev/null @@ -1 +0,0 @@ -plugin mywidgetsplugin diff --git a/examples/declarative/widgets/README b/examples/declarative/widgets/README deleted file mode 100644 index f85a1e8..0000000 --- a/examples/declarative/widgets/README +++ /dev/null @@ -1,4 +0,0 @@ -To run: - - make install - qml mywidgets.qml diff --git a/examples/declarative/widgets/mywidgets.cpp b/examples/declarative/widgets/mywidgets.cpp deleted file mode 100644 index e17240d..0000000 --- a/examples/declarative/widgets/mywidgets.cpp +++ /dev/null @@ -1,99 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** 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, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include -#include -#include -#include -#include - -class MyPushButton : public QGraphicsProxyWidget -{ - Q_OBJECT - Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged) - -public: - MyPushButton(QGraphicsItem* parent = 0) - : QGraphicsProxyWidget(parent) - { - widget = new QPushButton("MyPushButton"); - widget->setAttribute(Qt::WA_NoSystemBackground); - setWidget(widget); - - QObject::connect(widget, SIGNAL(clicked(bool)), this, SIGNAL(clicked(bool))); - } - - QString text() const - { - return widget->text(); - } - - void setText(const QString& text) - { - if (text != widget->text()) { - widget->setText(text); - emit textChanged(); - } - } - -Q_SIGNALS: - void clicked(bool); - void textChanged(); - -private: - QPushButton *widget; -}; - -class MyWidgetsPlugin : public QDeclarativeExtensionPlugin -{ - Q_OBJECT -public: - void registerTypes(const char *uri) - { - qmlRegisterType(uri, 1, 0, "MyPushButton"); - } -}; - -#include "mywidgets.moc" - -QML_DECLARE_TYPE(MyPushButton) - -Q_EXPORT_PLUGIN2(mywidgetsplugin, MyWidgetsPlugin); diff --git a/examples/declarative/widgets/mywidgets.pro b/examples/declarative/widgets/mywidgets.pro deleted file mode 100644 index 258edb1..0000000 --- a/examples/declarative/widgets/mywidgets.pro +++ /dev/null @@ -1,19 +0,0 @@ -TEMPLATE = lib -DESTDIR = MyWidgets -TARGET = mywidgetsplugin -CONFIG += qt plugin -QT += declarative -VERSION = 1.0.0 - -SOURCES += mywidgets.cpp - -sources.files += mywidgets.pro mywidgets.cpp mywidgets.qml - -sources.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins - -target.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins - -INSTALLS += sources target - -symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) - diff --git a/examples/declarative/widgets/mywidgets.qml b/examples/declarative/widgets/mywidgets.qml deleted file mode 100644 index b1efed4..0000000 --- a/examples/declarative/widgets/mywidgets.qml +++ /dev/null @@ -1,53 +0,0 @@ -import Qt 4.6 -import "MyWidgets" 1.0 - -Rectangle { - id: window - width: 640; height: 480; color: palette.window - - property int margin: 30 - - SystemPalette { id: palette } - - MyPushButton { - id: button1; x: margin; y: margin; text: "Right"; onClicked: window.state = "right" - transformOriginPoint: Qt.point(width / 2, height / 2) - } - - MyPushButton { - id: button2; x: margin; y: margin + 30; text: "Bottom"; onClicked: window.state = "bottom" - transformOriginPoint: Qt.point(width / 2, height / 2) - } - - MyPushButton { - id: button3; x: margin; y: margin + 60; text: "Quit"; onClicked: Qt.quit() - transformOriginPoint: Qt.point(width / 2, height / 2) - } - - states: [ - State { - name: "right" - PropertyChanges { target: button1; x: window.width - width - margin; text: "Left"; onClicked: window.state = "" } - PropertyChanges { target: button2; x: window.width - width - margin } - PropertyChanges { target: button3; x: window.width - width - margin } - PropertyChanges { target: window; color: Qt.darker(palette.window) } - }, - State { - name: "bottom" - PropertyChanges { target: button1; y: window.height - height - margin; rotation: 180 } - PropertyChanges { - target: button2; x: button1.x + button1.width + 10; y: window.height - height - margin; rotation: 180 - text: "Top"; onClicked: window.state = "" - } - PropertyChanges { target: button3; x: button2.x + button2.width + 10; y: window.height - height - margin; rotation: 180 } - PropertyChanges { target: window; color: Qt.lighter(palette.window) } - } - ] - - transitions: Transition { - ParallelAnimation { - NumberAnimation { properties: "x,y,rotation"; duration: 600; easing.type: "OutQuad" } - ColorAnimation { target: window; duration: 600 } - } - } -} -- cgit v0.12 From 5631e6311e068670781f0d6804cbfbc2d929b367 Mon Sep 17 00:00:00 2001 From: Joona Petrell Date: Thu, 1 Apr 2010 12:36:59 +1000 Subject: Fix compilation on Symbian winscw Task-number: Reviewed-by: Aaron Kennedy --- src/declarative/graphicsitems/qdeclarativeanchors.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeanchors.cpp b/src/declarative/graphicsitems/qdeclarativeanchors.cpp index dc1f09d..ffcedda 100644 --- a/src/declarative/graphicsitems/qdeclarativeanchors.cpp +++ b/src/declarative/graphicsitems/qdeclarativeanchors.cpp @@ -1059,7 +1059,7 @@ bool QDeclarativeAnchorsPrivate::checkVAnchorValid(QDeclarativeAnchorLine anchor return true; } -#include - QT_END_NAMESPACE +#include + -- cgit v0.12 From c8e5d788936059254e81377e6318ee9e975c1040 Mon Sep 17 00:00:00 2001 From: Joona Petrell Date: Thu, 1 Apr 2010 12:40:48 +1000 Subject: Fix plugin example compilation on Symbian arm Task-number: QTBUG-9520 Reviewed-by: Martin Jones --- examples/declarative/plugins/plugin.cpp | 18 +++++++----------- examples/declarative/plugins/plugins.pro | 7 ++++++- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/examples/declarative/plugins/plugin.cpp b/examples/declarative/plugins/plugin.cpp index 741f68a..fb51b0c 100644 --- a/examples/declarative/plugins/plugin.cpp +++ b/examples/declarative/plugins/plugin.cpp @@ -46,7 +46,7 @@ #include #include -// Implements a "Time" class with hour and minute properties +// Implements a "TimeModel" class with hour and minute properties // that change on-the-minute yet efficiently sleep the rest // of the time. @@ -97,14 +97,14 @@ private: QBasicTimer timer; }; -class Time : public QObject +class TimeModel : public QObject { Q_OBJECT Q_PROPERTY(int hour READ hour NOTIFY timeChanged) Q_PROPERTY(int minute READ minute NOTIFY timeChanged) public: - Time(QObject *parent=0) : QObject(parent) + TimeModel(QObject *parent=0) : QObject(parent) { if (++instances == 1) { if (!timer) @@ -114,7 +114,7 @@ public: } } - ~Time() + ~TimeModel() { if (--instances == 0) { timer->stop(); @@ -133,12 +133,8 @@ private: static int instances; }; -int Time::instances=0; -MinuteTimer *Time::timer=0; - - -QML_DECLARE_TYPE(Time); - +int TimeModel::instances=0; +MinuteTimer *TimeModel::timer=0; class QExampleQmlPlugin : public QDeclarativeExtensionPlugin { @@ -147,7 +143,7 @@ public: void registerTypes(const char *uri) { Q_ASSERT(uri == QLatin1String("com.nokia.TimeExample")); - qmlRegisterType