1// qgraphicsscene.sip generated by MetaSIP 2// 3// This file is part of the QtWidgets Python extension module. 4// 5// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com> 6// 7// This file is part of PyQt5. 8// 9// This file may be used under the terms of the GNU General Public License 10// version 3.0 as published by the Free Software Foundation and appearing in 11// the file LICENSE included in the packaging of this file. Please review the 12// following information to ensure the GNU General Public License version 3.0 13// requirements will be met: http://www.gnu.org/copyleft/gpl.html. 14// 15// If you do not wish to use this file under the terms of the GPL version 3.0 16// then you may purchase a commercial license. For more information contact 17// info@riverbankcomputing.com. 18// 19// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 20// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21 22 23class QGraphicsScene : QObject 24{ 25%TypeHeaderCode 26#include <qgraphicsscene.h> 27%End 28 29public: 30 enum ItemIndexMethod 31 { 32 BspTreeIndex, 33 NoIndex, 34 }; 35 36 QGraphicsScene(QObject *parent /TransferThis/ = 0); 37 QGraphicsScene(const QRectF &sceneRect, QObject *parent /TransferThis/ = 0); 38 QGraphicsScene(qreal x, qreal y, qreal width, qreal height, QObject *parent /TransferThis/ = 0); 39 virtual ~QGraphicsScene(); 40 QRectF sceneRect() const; 41 qreal width() const; 42 qreal height() const; 43 void setSceneRect(const QRectF &rect); 44 void setSceneRect(qreal x, qreal y, qreal w, qreal h); 45 void render(QPainter *painter, const QRectF &target = QRectF(), const QRectF &source = QRectF(), Qt::AspectRatioMode mode = Qt::KeepAspectRatio); 46 QGraphicsScene::ItemIndexMethod itemIndexMethod() const; 47 void setItemIndexMethod(QGraphicsScene::ItemIndexMethod method); 48 QRectF itemsBoundingRect() const; 49 QList<QGraphicsItem *> items(Qt::SortOrder order = Qt::DescendingOrder) const; 50 QList<QGraphicsItem *> items(const QPointF &pos, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape, Qt::SortOrder order = Qt::DescendingOrder, const QTransform &deviceTransform = QTransform()) const; 51 QList<QGraphicsItem *> items(const QRectF &rect, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape, Qt::SortOrder order = Qt::DescendingOrder, const QTransform &deviceTransform = QTransform()) const; 52 QList<QGraphicsItem *> items(const QPolygonF &polygon, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape, Qt::SortOrder order = Qt::DescendingOrder, const QTransform &deviceTransform = QTransform()) const; 53 QList<QGraphicsItem *> items(const QPainterPath &path, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape, Qt::SortOrder order = Qt::DescendingOrder, const QTransform &deviceTransform = QTransform()) const; 54 QList<QGraphicsItem *> items(qreal x, qreal y, qreal w, qreal h, Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform &deviceTransform = QTransform()) const; 55 QList<QGraphicsItem *> collidingItems(const QGraphicsItem *item, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape) const; 56 QList<QGraphicsItem *> selectedItems() const; 57 void setSelectionArea(const QPainterPath &path, const QTransform &deviceTransform); 58 void setSelectionArea(const QPainterPath &path, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape, const QTransform &deviceTransform = QTransform()); 59 void clearSelection(); 60 QGraphicsItemGroup *createItemGroup(const QList<QGraphicsItem *> &items /Transfer/); 61 void destroyItemGroup(QGraphicsItemGroup *group /Transfer/); 62 void addItem(QGraphicsItem *item /Transfer/); 63 QGraphicsEllipseItem *addEllipse(const QRectF &rect, const QPen &pen = QPen(), const QBrush &brush = QBrush()); 64 QGraphicsEllipseItem *addEllipse(qreal x, qreal y, qreal w, qreal h, const QPen &pen = QPen(), const QBrush &brush = QBrush()); 65 QGraphicsLineItem *addLine(const QLineF &line, const QPen &pen = QPen()); 66 QGraphicsLineItem *addLine(qreal x1, qreal y1, qreal x2, qreal y2, const QPen &pen = QPen()); 67 QGraphicsPathItem *addPath(const QPainterPath &path, const QPen &pen = QPen(), const QBrush &brush = QBrush()); 68 QGraphicsPixmapItem *addPixmap(const QPixmap &pixmap); 69 QGraphicsPolygonItem *addPolygon(const QPolygonF &polygon, const QPen &pen = QPen(), const QBrush &brush = QBrush()); 70 QGraphicsRectItem *addRect(const QRectF &rect, const QPen &pen = QPen(), const QBrush &brush = QBrush()); 71 QGraphicsRectItem *addRect(qreal x, qreal y, qreal w, qreal h, const QPen &pen = QPen(), const QBrush &brush = QBrush()); 72 QGraphicsSimpleTextItem *addSimpleText(const QString &text, const QFont &font = QFont()); 73 QGraphicsTextItem *addText(const QString &text, const QFont &font = QFont()); 74 void removeItem(QGraphicsItem *item /TransferBack/); 75 QGraphicsItem *focusItem() const; 76 void setFocusItem(QGraphicsItem *item, Qt::FocusReason focusReason = Qt::OtherFocusReason); 77 bool hasFocus() const; 78 void setFocus(Qt::FocusReason focusReason = Qt::OtherFocusReason); 79 void clearFocus(); 80 QGraphicsItem *mouseGrabberItem() const; 81 QBrush backgroundBrush() const; 82 void setBackgroundBrush(const QBrush &brush); 83 QBrush foregroundBrush() const; 84 void setForegroundBrush(const QBrush &brush); 85 virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const; 86 QList<QGraphicsView *> views() const; 87 88public slots: 89 void advance(); 90 void update(const QRectF &rect = QRectF()); 91 void invalidate(const QRectF &rect = QRectF(), QGraphicsScene::SceneLayers layers = QGraphicsScene::AllLayers); 92 void clear(); 93 94signals: 95 void changed(const QList<QRectF> ®ion); 96 void sceneRectChanged(const QRectF &rect); 97 void selectionChanged(); 98 99protected: 100 virtual bool event(QEvent *event); 101 virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event); 102 virtual void dragEnterEvent(QGraphicsSceneDragDropEvent *event); 103 virtual void dragMoveEvent(QGraphicsSceneDragDropEvent *event); 104 virtual void dragLeaveEvent(QGraphicsSceneDragDropEvent *event); 105 virtual void dropEvent(QGraphicsSceneDragDropEvent *event); 106 virtual void focusInEvent(QFocusEvent *event); 107 virtual void focusOutEvent(QFocusEvent *event); 108 virtual void helpEvent(QGraphicsSceneHelpEvent *event); 109 virtual void keyPressEvent(QKeyEvent *event); 110 virtual void keyReleaseEvent(QKeyEvent *event); 111 virtual void mousePressEvent(QGraphicsSceneMouseEvent *event); 112 virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event); 113 virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); 114 virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event); 115 virtual void wheelEvent(QGraphicsSceneWheelEvent *event); 116 virtual void inputMethodEvent(QInputMethodEvent *event); 117 virtual void drawBackground(QPainter *painter, const QRectF &rect); 118 virtual void drawForeground(QPainter *painter, const QRectF &rect); 119 120public: 121 enum SceneLayer 122 { 123 ItemLayer, 124 BackgroundLayer, 125 ForegroundLayer, 126 AllLayers, 127 }; 128 129 typedef QFlags<QGraphicsScene::SceneLayer> SceneLayers; 130 int bspTreeDepth() const; 131 void setBspTreeDepth(int depth); 132 QPainterPath selectionArea() const; 133 void update(qreal x, qreal y, qreal w, qreal h); 134 QGraphicsProxyWidget *addWidget(QWidget *widget /Transfer/, Qt::WindowFlags flags = Qt::WindowFlags()); 135 QStyle *style() const; 136 void setStyle(QStyle *style /Transfer/); 137 QFont font() const; 138 void setFont(const QFont &font); 139 QPalette palette() const; 140 void setPalette(const QPalette &palette); 141 QGraphicsWidget *activeWindow() const; 142 void setActiveWindow(QGraphicsWidget *widget); 143 144protected: 145 virtual bool eventFilter(QObject *watched, QEvent *event); 146 bool focusNextPrevChild(bool next); 147 148public: 149 void setStickyFocus(bool enabled); 150 bool stickyFocus() const; 151 QGraphicsItem *itemAt(const QPointF &pos, const QTransform &deviceTransform) const; 152 QGraphicsItem *itemAt(qreal x, qreal y, const QTransform &deviceTransform) const; 153 bool isActive() const; 154 QGraphicsItem *activePanel() const; 155 void setActivePanel(QGraphicsItem *item); 156 bool sendEvent(QGraphicsItem *item, QEvent *event); 157 void invalidate(qreal x, qreal y, qreal w, qreal h, QGraphicsScene::SceneLayers layers = QGraphicsScene::AllLayers); 158%If (Qt_5_4_0 -) 159 qreal minimumRenderSize() const; 160%End 161%If (Qt_5_4_0 -) 162 void setMinimumRenderSize(qreal minSize); 163%End 164 165signals: 166%If (Qt_5_1_0 -) 167 void focusItemChanged(QGraphicsItem *newFocus, QGraphicsItem *oldFocus, Qt::FocusReason reason); 168%End 169 170public: 171%If (Qt_5_5_0 -) 172 void setSelectionArea(const QPainterPath &path, Qt::ItemSelectionOperation selectionOperation, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape, const QTransform &deviceTransform = QTransform()); 173%End 174%If (Qt_5_12_0 -) 175 bool focusOnTouch() const; 176%End 177%If (Qt_5_12_0 -) 178 void setFocusOnTouch(bool enabled); 179%End 180}; 181 182QFlags<QGraphicsScene::SceneLayer> operator|(QGraphicsScene::SceneLayer f1, QFlags<QGraphicsScene::SceneLayer> f2); 183