summaryrefslogtreecommitdiffstats
path: root/examples/gestures/graphicsview/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/gestures/graphicsview/main.cpp')
-rw-r--r--examples/gestures/graphicsview/main.cpp150
1 files changed, 0 insertions, 150 deletions
diff --git a/examples/gestures/graphicsview/main.cpp b/examples/gestures/graphicsview/main.cpp
deleted file mode 100644
index 12f4e75..0000000
--- a/examples/gestures/graphicsview/main.cpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, 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.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui>
-
-class PannableGraphicsView : public QGraphicsView
-{
-public:
- PannableGraphicsView()
- {
- grabGesture(Qt::PanGesture);
- }
-protected:
- bool event(QEvent *event)
- {
- if (event->type() == QEvent::Gesture) {
- QGestureEvent *gestureEvent = static_cast<QGestureEvent*>(event);
- if (const QGesture *g = gestureEvent->gesture(Qt::PanGesture)) {
- QPoint pt = g->pos() - g->lastPos();
- horizontalScrollBar()->setValue(horizontalScrollBar()->value() - pt.x());
- verticalScrollBar()->setValue(verticalScrollBar()->value() - pt.y());
- event->accept();
- return true;
- }
- }
- return QGraphicsView::event(event);
- }
-};
-
-class ImageItem : public QGraphicsItem
-{
-public:
- ImageItem()
- : colored(false)
- {
- grabGesture(Qt::DoubleTapGesture);
- }
-
- QRectF boundingRect() const
- {
- return pixmap.isNull() ? QRectF(0, 0, 100, 100)
- : QRectF(QPointF(0,0), QSizeF(pixmap.size()));
- }
-
- void paint(QPainter *painter, const QStyleOptionGraphicsItem*, QWidget*)
- {
- if (pixmap.isNull()) {
- painter->setBrush(QBrush( colored ? Qt::green : Qt::white));
- painter->drawRect(0, 0, 100, 100);
- painter->drawLine(0, 0, 100, 100);
- painter->drawLine(0, 100, 100, 0);
- return;
- }
- painter->drawPixmap(0, 0, pixmap);
- }
-
- bool sceneEvent(QEvent *event)
- {
- if (event->type() == QEvent::GraphicsSceneGesture) {
- QGraphicsSceneGestureEvent *gestureEvent = static_cast<QGraphicsSceneGestureEvent*>(event);
- if (gestureEvent->gesture(Qt::DoubleTapGesture)) {
- event->accept();
- colored = !colored;
- update();
- return true;
- } else {
- qWarning("Item received unknown gesture");
- }
- }
- return QGraphicsItem::sceneEvent(event);
- }
-
-private:
- QPixmap pixmap;
- bool colored;
-};
-
-class MainWidget : public QWidget
-{
- Q_OBJECT
-
-public:
- MainWidget(QWidget *parent = 0)
- : QWidget(parent)
- {
- QVBoxLayout *l = new QVBoxLayout(this);
- view = new PannableGraphicsView;
- l->addWidget(view);
- scene = new QGraphicsScene(0, 0, 1024, 768, view);
- view->setScene(scene);
-
- ImageItem *item = new ImageItem;
- scene->addItem(item);
- item->setPos(scene->width()/3, scene->height()/3);
- }
-
-signals:
-public slots:
-private:
- QGraphicsView *view;
- QGraphicsScene *scene;
-};
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- MainWidget w;
- w.show();
- return app.exec();
-}
-
-#include "main.moc"