summaryrefslogtreecommitdiffstats
path: root/doc/src/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp')
-rw-r--r--doc/src/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp278
1 files changed, 0 insertions, 278 deletions
diff --git a/doc/src/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp b/doc/src/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp
deleted file mode 100644
index 01df05c084..0000000000
--- a/doc/src/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp
+++ /dev/null
@@ -1,278 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-class SimpleItem : public QGraphicsItem
-{
-public:
- QRectF boundingRect() const
- {
- qreal penWidth = 1;
- return QRectF(-10 - penWidth / 2, -10 - penWidth / 2,
- 20 + penWidth, 20 + penWidth);
- }
-
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
- QWidget *widget)
- {
- painter->drawRoundedRect(-10, -10, 20, 20, 5, 5);
- }
-};
-//! [0]
-
-
-//! [1]
-class CustomItem : public QGraphicsItem
-{
- ...
- enum { Type = UserType + 1 };
-
- int type() const
- {
- // Enable the use of qgraphicsitem_cast with this item.
- return Type;
- }
- ...
-};
-//! [1]
-
-
-//! [2]
-item->setCursor(Qt::IBeamCursor);
-//! [2]
-
-
-//! [3]
-item->setCursor(Qt::IBeamCursor);
-//! [3]
-
-
-//! [4]
-QGraphicsRectItem rect;
-rect.setPos(100, 100);
-
-rect.sceneTransform().map(QPointF(0, 0));
-// returns QPointF(100, 100);
-
-rect.sceneTransform().inverted().map(QPointF(100, 100));
-// returns QPointF(0, 0);
-//! [4]
-
-
-//! [5]
-QGraphicsRectItem rect;
-rect.setPos(100, 100);
-
-rect.deviceTransform(view->viewportTransform()).map(QPointF(0, 0));
-// returns the item's (0, 0) point in view's viewport coordinates
-
-rect.deviceTransform(view->viewportTransform()).inverted().map(QPointF(100, 100));
-// returns view's viewport's (100, 100) coordinate in item coordinates
-//! [5]
-
-
-//! [6]
-// Rotate an item 45 degrees around (0, 0).
-item->rotate(45);
-
-// Rotate an item 45 degrees around (x, y).
-item->setTransform(QTransform().translate(x, y).rotate(45).translate(-x, -y));
-//! [6]
-
-
-//! [7]
-// Scale an item by 3x2 from its origin
-item->scale(3, 2);
-
-// Scale an item by 3x2 from (x, y)
-item->setTransform(QTransform().translate(x, y).scale(3, 2).translate(-x, -y));
-//! [7]
-
-
-//! [8]
-QRectF CircleItem::boundingRect() const
-{
- qreal penWidth = 1;
- return QRectF(-radius - penWidth / 2, -radius - penWidth / 2,
- diameter + penWidth, diameter + penWidth);
-}
-//! [8]
-
-
-//! [9]
-QPainterPath RoundItem::shape() const
-{
- QPainterPath path;
- path.addEllipse(boundingRect());
- return path;
-}
-//! [9]
-
-
-//! [10]
-void RoundRectItem::paint(QPainter *painter,
- const QStyleOptionGraphicsItem *option,
- QWidget *widget)
-{
- painter->drawRoundedRect(-10, -10, 20, 20, 5, 5);
-}
-//! [10]
-
-
-//! [11]
-static const int ObjectName = 0;
-
-QGraphicsItem *item = scene.itemAt(100, 50);
-if (item->data(ObjectName).toString().isEmpty()) {
- if (qgraphicsitem_cast<ButtonItem *>(item))
- item->setData(ObjectName, "Button");
-}
-//! [11]
-
-
-//! [12]
-QGraphicsScene scene;
-QGraphicsEllipseItem *ellipse = scene.addEllipse(QRectF(-10, -10, 20, 20));
-QGraphicsLineItem *line = scene.addLine(QLineF(-10, -10, 20, 20));
-
-line->installSceneEventFilter(ellipse);
-// line's events are filtered by ellipse's sceneEventFilter() function.
-
-ellipse->installSceneEventFilter(line);
-// ellipse's events are filtered by line's sceneEventFilter() function.
-//! [12]
-
-
-//! [13]
-void CustomItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
-{
- QMenu menu;
- QAction *removeAction = menu.addAction("Remove");
- QAction *markAction = menu.addAction("Mark");
- QAction *selectedAction = menu.exec(event->screenPos());
- // ...
-}
-//! [13]
-
-
-//! [14]
-CustomItem::CustomItem()
-{
- setAcceptDrops(true);
- ...
-}
-
-void CustomItem::dragEnterEvent(QGraphicsSceneDragDropEvent *event)
-{
- event->setAccepted(event->mimeData()->hasFormat("text/plain"));
-}
-//! [14]
-
-
-//! [15]
-QVariant Component::itemChange(GraphicsItemChange change, const QVariant &value)
-{
- if (change == ItemPositionChange && scene()) {
- // value is the new position.
- QPointF newPos = value.toPointF();
- QRectF rect = scene()->sceneRect();
- if (!rect.contains(newPos)) {
- // Keep the item inside the scene rect.
- newPos.setX(qMin(rect.right(), qMax(newPos.x(), rect.left())));
- newPos.setY(qMin(rect.bottom(), qMax(newPos.y(), rect.top())));
- return newPos;
- }
- }
- return QGraphicsItem::itemChange(change, value);
-}
-//! [15]
-
-
-//! [16]
-void CircleItem::setRadius(qreal newRadius)
-{
- if (radius != newRadius) {
- prepareGeometryChange();
- radius = newRadius;
- }
-}
-//! [16]
-
-
-//! [17]
-// Group all selected items together
-QGraphicsItemGroup *group = scene->createItemGroup(scene->selecteditems());
-
-// Destroy the group, and delete the group item
-scene->destroyItemGroup(group);
-//! [17]
-
-
-//! [QGraphicsItem type]
-class CustomItem : public QGraphicsItem
-{
- ...
- enum { Type = UserType + 1 };
-
- int type() const
- {
- // Enable the use of qgraphicsitem_cast with this item.
- return Type;
- }
- ...
-};
-//! [QGraphicsItem type]
-
-//! [18]
-class QGraphicsPathItem : public QAbstractGraphicsShapeItem
-{
- public:
- enum { Type = 2 };
- int type() const { return Type; }
- ...
-};
-//! [18]
-
-//! [19]
-QTransform xform = item->deviceTransform(view->viewportTransform());
-QRect deviceRect = xform.mapRect(rect).toAlignedRect();
-view->viewport()->scroll(dx, dy, deviceRect);
-//! [19]
-