qgraphicsitem.sip 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698
  1. // qgraphicsitem.sip generated by MetaSIP
  2. //
  3. // This file is part of the QtWidgets Python extension module.
  4. //
  5. // Copyright (c) 2026 Riverbank Computing Limited <info@riverbankcomputing.com>
  6. //
  7. // This file is part of PyQt6.
  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. class QGraphicsItem /Supertype=PyQt6.sip.wrapper/
  22. {
  23. %TypeHeaderCode
  24. #include <qgraphicsitem.h>
  25. %End
  26. %ConvertToSubClassCode
  27. switch (sipCpp->type())
  28. {
  29. case 2:
  30. sipType = sipType_QGraphicsPathItem;
  31. break;
  32. case 3:
  33. sipType = sipType_QGraphicsRectItem;
  34. break;
  35. case 4:
  36. sipType = sipType_QGraphicsEllipseItem;
  37. break;
  38. case 5:
  39. sipType = sipType_QGraphicsPolygonItem;
  40. break;
  41. case 6:
  42. sipType = sipType_QGraphicsLineItem;
  43. break;
  44. case 7:
  45. sipType = sipType_QGraphicsPixmapItem;
  46. break;
  47. case 8:
  48. // Switch to the QObject convertor.
  49. *sipCppRet = static_cast<QGraphicsTextItem *>(sipCpp);
  50. sipType = sipType_QObject;
  51. break;
  52. case 9:
  53. sipType = sipType_QGraphicsSimpleTextItem;
  54. break;
  55. case 10:
  56. sipType = sipType_QGraphicsItemGroup;
  57. break;
  58. case 11:
  59. // Switch to the QObject convertor.
  60. *sipCppRet = static_cast<QGraphicsWidget *>(sipCpp);
  61. sipType = sipType_QObject;
  62. break;
  63. case 12:
  64. // Switch to the QObject convertor.
  65. *sipCppRet = static_cast<QGraphicsProxyWidget *>(sipCpp);
  66. sipType = sipType_QObject;
  67. break;
  68. default:
  69. sipType = 0;
  70. }
  71. %End
  72. public:
  73. enum CacheMode
  74. {
  75. NoCache,
  76. ItemCoordinateCache,
  77. DeviceCoordinateCache,
  78. };
  79. enum GraphicsItemChange
  80. {
  81. ItemPositionChange,
  82. ItemVisibleChange,
  83. ItemEnabledChange,
  84. ItemSelectedChange,
  85. ItemParentChange,
  86. ItemChildAddedChange,
  87. ItemChildRemovedChange,
  88. ItemTransformChange,
  89. ItemPositionHasChanged,
  90. ItemTransformHasChanged,
  91. ItemSceneChange,
  92. ItemVisibleHasChanged,
  93. ItemEnabledHasChanged,
  94. ItemSelectedHasChanged,
  95. ItemParentHasChanged,
  96. ItemSceneHasChanged,
  97. ItemCursorChange,
  98. ItemCursorHasChanged,
  99. ItemToolTipChange,
  100. ItemToolTipHasChanged,
  101. ItemFlagsChange,
  102. ItemFlagsHaveChanged,
  103. ItemZValueChange,
  104. ItemZValueHasChanged,
  105. ItemOpacityChange,
  106. ItemOpacityHasChanged,
  107. ItemScenePositionHasChanged,
  108. ItemRotationChange,
  109. ItemRotationHasChanged,
  110. ItemScaleChange,
  111. ItemScaleHasChanged,
  112. ItemTransformOriginPointChange,
  113. ItemTransformOriginPointHasChanged,
  114. };
  115. enum GraphicsItemFlag /BaseType=Flag/
  116. {
  117. ItemIsMovable,
  118. ItemIsSelectable,
  119. ItemIsFocusable,
  120. ItemClipsToShape,
  121. ItemClipsChildrenToShape,
  122. ItemIgnoresTransformations,
  123. ItemIgnoresParentOpacity,
  124. ItemDoesntPropagateOpacityToChildren,
  125. ItemStacksBehindParent,
  126. ItemUsesExtendedStyleOption,
  127. ItemHasNoContents,
  128. ItemSendsGeometryChanges,
  129. ItemAcceptsInputMethod,
  130. ItemNegativeZStacksBehindParent,
  131. ItemIsPanel,
  132. ItemSendsScenePositionChanges,
  133. ItemContainsChildrenInShape,
  134. };
  135. typedef QFlags<QGraphicsItem::GraphicsItemFlag> GraphicsItemFlags;
  136. static const int Type;
  137. static const int UserType;
  138. explicit QGraphicsItem(QGraphicsItem *parent /TransferThis/ = 0);
  139. virtual ~QGraphicsItem();
  140. QGraphicsScene *scene() const;
  141. QGraphicsItem *parentItem() const;
  142. QGraphicsItem *topLevelItem() const;
  143. void setParentItem(QGraphicsItem *parent /TransferThis/);
  144. QGraphicsItemGroup *group() const;
  145. void setGroup(QGraphicsItemGroup *group /KeepReference/);
  146. QGraphicsItem::GraphicsItemFlags flags() const;
  147. void setFlag(QGraphicsItem::GraphicsItemFlag flag, bool enabled = true);
  148. void setFlags(QGraphicsItem::GraphicsItemFlags flags);
  149. QString toolTip() const;
  150. void setToolTip(const QString &toolTip);
  151. QCursor cursor() const;
  152. void setCursor(const QCursor &cursor);
  153. bool hasCursor() const;
  154. void unsetCursor();
  155. bool isVisible() const;
  156. void setVisible(bool visible);
  157. void hide();
  158. void show();
  159. bool isEnabled() const;
  160. void setEnabled(bool enabled);
  161. bool isSelected() const;
  162. void setSelected(bool selected);
  163. bool acceptDrops() const;
  164. void setAcceptDrops(bool on);
  165. Qt::MouseButtons acceptedMouseButtons() const;
  166. void setAcceptedMouseButtons(Qt::MouseButtons buttons);
  167. bool hasFocus() const;
  168. void setFocus(Qt::FocusReason focusReason = Qt::OtherFocusReason);
  169. void clearFocus();
  170. QPointF pos() const;
  171. qreal x() const;
  172. qreal y() const;
  173. QPointF scenePos() const;
  174. void setPos(const QPointF &pos);
  175. void moveBy(qreal dx, qreal dy);
  176. void ensureVisible(const QRectF &rect = QRectF(), int xMargin = 50, int yMargin = 50);
  177. virtual void advance(int phase);
  178. qreal zValue() const;
  179. void setZValue(qreal z);
  180. virtual QRectF boundingRect() const = 0;
  181. QRectF childrenBoundingRect() const;
  182. QRectF sceneBoundingRect() const;
  183. virtual QPainterPath shape() const;
  184. virtual bool contains(const QPointF &point) const;
  185. virtual bool collidesWithItem(const QGraphicsItem *other, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape) const;
  186. virtual bool collidesWithPath(const QPainterPath &path, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape) const;
  187. QList<QGraphicsItem *> collidingItems(Qt::ItemSelectionMode mode = Qt::IntersectsItemShape) const;
  188. virtual bool isObscuredBy(const QGraphicsItem *item) const;
  189. virtual QPainterPath opaqueArea() const;
  190. virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) = 0;
  191. void update(const QRectF &rect = QRectF());
  192. QPointF mapToItem(const QGraphicsItem *item, const QPointF &point) const;
  193. QPointF mapToParent(const QPointF &point) const;
  194. QPointF mapToScene(const QPointF &point) const;
  195. QPolygonF mapToItem(const QGraphicsItem *item, const QRectF &rect) const;
  196. QPolygonF mapToParent(const QRectF &rect) const;
  197. QPolygonF mapToScene(const QRectF &rect) const;
  198. QPolygonF mapToItem(const QGraphicsItem *item, const QPolygonF &polygon) const;
  199. QPolygonF mapToParent(const QPolygonF &polygon) const;
  200. QPolygonF mapToScene(const QPolygonF &polygon) const;
  201. QPainterPath mapToItem(const QGraphicsItem *item, const QPainterPath &path) const;
  202. QPainterPath mapToParent(const QPainterPath &path) const;
  203. QPainterPath mapToScene(const QPainterPath &path) const;
  204. QPointF mapFromItem(const QGraphicsItem *item, const QPointF &point) const;
  205. QPointF mapFromParent(const QPointF &point) const;
  206. QPointF mapFromScene(const QPointF &point) const;
  207. QPolygonF mapFromItem(const QGraphicsItem *item, const QRectF &rect) const;
  208. QPolygonF mapFromParent(const QRectF &rect) const;
  209. QPolygonF mapFromScene(const QRectF &rect) const;
  210. QPolygonF mapFromItem(const QGraphicsItem *item, const QPolygonF &polygon) const;
  211. QPolygonF mapFromParent(const QPolygonF &polygon) const;
  212. QPolygonF mapFromScene(const QPolygonF &polygon) const;
  213. QPainterPath mapFromItem(const QGraphicsItem *item, const QPainterPath &path) const;
  214. QPainterPath mapFromParent(const QPainterPath &path) const;
  215. QPainterPath mapFromScene(const QPainterPath &path) const;
  216. bool isAncestorOf(const QGraphicsItem *child) const;
  217. QVariant data(int key) const;
  218. void setData(int key, const QVariant &value);
  219. virtual int type() const;
  220. void installSceneEventFilter(QGraphicsItem *filterItem);
  221. void removeSceneEventFilter(QGraphicsItem *filterItem);
  222. protected:
  223. virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event);
  224. virtual void dragEnterEvent(QGraphicsSceneDragDropEvent *event);
  225. virtual void dragLeaveEvent(QGraphicsSceneDragDropEvent *event);
  226. virtual void dragMoveEvent(QGraphicsSceneDragDropEvent *event);
  227. virtual void dropEvent(QGraphicsSceneDragDropEvent *event);
  228. virtual void focusInEvent(QFocusEvent *event);
  229. virtual void focusOutEvent(QFocusEvent *event);
  230. virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
  231. virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
  232. virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event);
  233. virtual void inputMethodEvent(QInputMethodEvent *event);
  234. virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const;
  235. virtual QVariant itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value);
  236. virtual void keyPressEvent(QKeyEvent *event);
  237. virtual void keyReleaseEvent(QKeyEvent *event);
  238. virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
  239. virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
  240. virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
  241. virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
  242. void prepareGeometryChange();
  243. virtual bool sceneEvent(QEvent *event);
  244. virtual bool sceneEventFilter(QGraphicsItem *watched, QEvent *event);
  245. virtual void wheelEvent(QGraphicsSceneWheelEvent *event);
  246. public:
  247. void setPos(qreal ax, qreal ay);
  248. void ensureVisible(qreal x, qreal y, qreal w, qreal h, int xMargin = 50, int yMargin = 50);
  249. void update(qreal ax, qreal ay, qreal width, qreal height);
  250. QPointF mapToItem(const QGraphicsItem *item, qreal ax, qreal ay) const;
  251. QPointF mapToParent(qreal ax, qreal ay) const;
  252. QPointF mapToScene(qreal ax, qreal ay) const;
  253. QPointF mapFromItem(const QGraphicsItem *item, qreal ax, qreal ay) const;
  254. QPointF mapFromParent(qreal ax, qreal ay) const;
  255. QPointF mapFromScene(qreal ax, qreal ay) const;
  256. QTransform transform() const;
  257. QTransform sceneTransform() const;
  258. QTransform deviceTransform(const QTransform &viewportTransform) const;
  259. void setTransform(const QTransform &matrix, bool combine = false);
  260. void resetTransform();
  261. bool isObscured(const QRectF &rect = QRectF()) const;
  262. bool isObscured(qreal ax, qreal ay, qreal w, qreal h) const;
  263. QPolygonF mapToItem(const QGraphicsItem *item, qreal ax, qreal ay, qreal w, qreal h) const;
  264. QPolygonF mapToParent(qreal ax, qreal ay, qreal w, qreal h) const;
  265. QPolygonF mapToScene(qreal ax, qreal ay, qreal w, qreal h) const;
  266. QPolygonF mapFromItem(const QGraphicsItem *item, qreal ax, qreal ay, qreal w, qreal h) const;
  267. QPolygonF mapFromParent(qreal ax, qreal ay, qreal w, qreal h) const;
  268. QPolygonF mapFromScene(qreal ax, qreal ay, qreal w, qreal h) const;
  269. QGraphicsWidget *parentWidget() const;
  270. QGraphicsWidget *topLevelWidget() const;
  271. QGraphicsWidget *window() const;
  272. QList<QGraphicsItem *> childItems() const;
  273. bool isWidget() const;
  274. bool isWindow() const;
  275. QGraphicsItem::CacheMode cacheMode() const;
  276. void setCacheMode(QGraphicsItem::CacheMode mode, const QSize &logicalCacheSize = QSize());
  277. bool isVisibleTo(const QGraphicsItem *parent) const;
  278. bool acceptHoverEvents() const;
  279. void setAcceptHoverEvents(bool enabled);
  280. void grabMouse();
  281. void ungrabMouse();
  282. void grabKeyboard();
  283. void ungrabKeyboard();
  284. QRegion boundingRegion(const QTransform &itemToDeviceTransform) const;
  285. qreal boundingRegionGranularity() const;
  286. void setBoundingRegionGranularity(qreal granularity);
  287. void scroll(qreal dx, qreal dy, const QRectF &rect = QRectF());
  288. QGraphicsItem *commonAncestorItem(const QGraphicsItem *other) const;
  289. bool isUnderMouse() const;
  290. qreal opacity() const;
  291. qreal effectiveOpacity() const;
  292. void setOpacity(qreal opacity);
  293. QTransform itemTransform(const QGraphicsItem *other, bool *ok = 0) const;
  294. bool isClipped() const;
  295. QPainterPath clipPath() const;
  296. QRectF mapRectToItem(const QGraphicsItem *item, const QRectF &rect) const;
  297. QRectF mapRectToParent(const QRectF &rect) const;
  298. QRectF mapRectToScene(const QRectF &rect) const;
  299. QRectF mapRectFromItem(const QGraphicsItem *item, const QRectF &rect) const;
  300. QRectF mapRectFromParent(const QRectF &rect) const;
  301. QRectF mapRectFromScene(const QRectF &rect) const;
  302. QRectF mapRectToItem(const QGraphicsItem *item, qreal ax, qreal ay, qreal w, qreal h) const;
  303. QRectF mapRectToParent(qreal ax, qreal ay, qreal w, qreal h) const;
  304. QRectF mapRectToScene(qreal ax, qreal ay, qreal w, qreal h) const;
  305. QRectF mapRectFromItem(const QGraphicsItem *item, qreal ax, qreal ay, qreal w, qreal h) const;
  306. QRectF mapRectFromParent(qreal ax, qreal ay, qreal w, qreal h) const;
  307. QRectF mapRectFromScene(qreal ax, qreal ay, qreal w, qreal h) const;
  308. enum PanelModality
  309. {
  310. NonModal,
  311. PanelModal,
  312. SceneModal,
  313. };
  314. QGraphicsObject *parentObject() const;
  315. QGraphicsItem *panel() const;
  316. bool isPanel() const;
  317. QGraphicsObject *toGraphicsObject();
  318. QGraphicsItem::PanelModality panelModality() const;
  319. void setPanelModality(QGraphicsItem::PanelModality panelModality);
  320. bool isBlockedByModalPanel(QGraphicsItem **blockingPanel /Out/ = 0) const;
  321. QGraphicsEffect *graphicsEffect() const;
  322. void setGraphicsEffect(QGraphicsEffect *effect /Transfer/);
  323. bool acceptTouchEvents() const;
  324. void setAcceptTouchEvents(bool enabled);
  325. bool filtersChildEvents() const;
  326. void setFiltersChildEvents(bool enabled);
  327. bool isActive() const;
  328. void setActive(bool active);
  329. QGraphicsItem *focusProxy() const;
  330. void setFocusProxy(QGraphicsItem *item /KeepReference/);
  331. QGraphicsItem *focusItem() const;
  332. void setX(qreal x);
  333. void setY(qreal y);
  334. void setRotation(qreal angle);
  335. qreal rotation() const;
  336. void setScale(qreal scale);
  337. qreal scale() const;
  338. QList<QGraphicsTransform *> transformations() const;
  339. void setTransformations(const QList<QGraphicsTransform *> &transformations /KeepReference/);
  340. QPointF transformOriginPoint() const;
  341. void setTransformOriginPoint(const QPointF &origin);
  342. void setTransformOriginPoint(qreal ax, qreal ay);
  343. void stackBefore(const QGraphicsItem *sibling);
  344. Qt::InputMethodHints inputMethodHints() const;
  345. void setInputMethodHints(Qt::InputMethodHints hints);
  346. protected:
  347. void updateMicroFocus();
  348. private:
  349. QGraphicsItem(const QGraphicsItem &);
  350. };
  351. class QAbstractGraphicsShapeItem : public QGraphicsItem
  352. {
  353. %TypeHeaderCode
  354. #include <qgraphicsitem.h>
  355. %End
  356. public:
  357. explicit QAbstractGraphicsShapeItem(QGraphicsItem *parent /TransferThis/ = 0);
  358. virtual ~QAbstractGraphicsShapeItem();
  359. QPen pen() const;
  360. void setPen(const QPen &pen);
  361. QBrush brush() const;
  362. void setBrush(const QBrush &brush);
  363. virtual bool isObscuredBy(const QGraphicsItem *item) const;
  364. virtual QPainterPath opaqueArea() const;
  365. };
  366. class QGraphicsPathItem : public QAbstractGraphicsShapeItem
  367. {
  368. %TypeHeaderCode
  369. #include <qgraphicsitem.h>
  370. %End
  371. public:
  372. explicit QGraphicsPathItem(QGraphicsItem *parent /TransferThis/ = 0);
  373. QGraphicsPathItem(const QPainterPath &path, QGraphicsItem *parent /TransferThis/ = 0);
  374. virtual ~QGraphicsPathItem();
  375. QPainterPath path() const;
  376. void setPath(const QPainterPath &path);
  377. virtual QRectF boundingRect() const;
  378. virtual QPainterPath shape() const;
  379. virtual bool contains(const QPointF &point) const;
  380. virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
  381. virtual bool isObscuredBy(const QGraphicsItem *item) const;
  382. virtual QPainterPath opaqueArea() const;
  383. virtual int type() const;
  384. };
  385. class QGraphicsRectItem : public QAbstractGraphicsShapeItem
  386. {
  387. %TypeHeaderCode
  388. #include <qgraphicsitem.h>
  389. %End
  390. public:
  391. explicit QGraphicsRectItem(QGraphicsItem *parent /TransferThis/ = 0);
  392. QGraphicsRectItem(const QRectF &rect, QGraphicsItem *parent /TransferThis/ = 0);
  393. QGraphicsRectItem(qreal x, qreal y, qreal w, qreal h, QGraphicsItem *parent /TransferThis/ = 0);
  394. virtual ~QGraphicsRectItem();
  395. QRectF rect() const;
  396. void setRect(const QRectF &rect);
  397. void setRect(qreal ax, qreal ay, qreal w, qreal h);
  398. virtual QRectF boundingRect() const;
  399. virtual QPainterPath shape() const;
  400. virtual bool contains(const QPointF &point) const;
  401. virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
  402. virtual bool isObscuredBy(const QGraphicsItem *item) const;
  403. virtual QPainterPath opaqueArea() const;
  404. virtual int type() const;
  405. };
  406. class QGraphicsEllipseItem : public QAbstractGraphicsShapeItem
  407. {
  408. %TypeHeaderCode
  409. #include <qgraphicsitem.h>
  410. %End
  411. public:
  412. explicit QGraphicsEllipseItem(QGraphicsItem *parent /TransferThis/ = 0);
  413. QGraphicsEllipseItem(const QRectF &rect, QGraphicsItem *parent /TransferThis/ = 0);
  414. QGraphicsEllipseItem(qreal x, qreal y, qreal w, qreal h, QGraphicsItem *parent /TransferThis/ = 0);
  415. virtual ~QGraphicsEllipseItem();
  416. QRectF rect() const;
  417. void setRect(const QRectF &rect);
  418. void setRect(qreal ax, qreal ay, qreal w, qreal h);
  419. int startAngle() const;
  420. void setStartAngle(int angle);
  421. int spanAngle() const;
  422. void setSpanAngle(int angle);
  423. virtual QRectF boundingRect() const;
  424. virtual QPainterPath shape() const;
  425. virtual bool contains(const QPointF &point) const;
  426. virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
  427. virtual bool isObscuredBy(const QGraphicsItem *item) const;
  428. virtual QPainterPath opaqueArea() const;
  429. virtual int type() const;
  430. };
  431. class QGraphicsPolygonItem : public QAbstractGraphicsShapeItem
  432. {
  433. %TypeHeaderCode
  434. #include <qgraphicsitem.h>
  435. %End
  436. public:
  437. explicit QGraphicsPolygonItem(QGraphicsItem *parent /TransferThis/ = 0);
  438. QGraphicsPolygonItem(const QPolygonF &polygon, QGraphicsItem *parent /TransferThis/ = 0);
  439. virtual ~QGraphicsPolygonItem();
  440. QPolygonF polygon() const;
  441. void setPolygon(const QPolygonF &polygon);
  442. Qt::FillRule fillRule() const;
  443. void setFillRule(Qt::FillRule rule);
  444. virtual QRectF boundingRect() const;
  445. virtual QPainterPath shape() const;
  446. virtual bool contains(const QPointF &point) const;
  447. virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
  448. virtual bool isObscuredBy(const QGraphicsItem *item) const;
  449. virtual QPainterPath opaqueArea() const;
  450. virtual int type() const;
  451. };
  452. class QGraphicsLineItem : public QGraphicsItem
  453. {
  454. %TypeHeaderCode
  455. #include <qgraphicsitem.h>
  456. %End
  457. public:
  458. explicit QGraphicsLineItem(QGraphicsItem *parent /TransferThis/ = 0);
  459. QGraphicsLineItem(const QLineF &line, QGraphicsItem *parent /TransferThis/ = 0);
  460. QGraphicsLineItem(qreal x1, qreal y1, qreal x2, qreal y2, QGraphicsItem *parent /TransferThis/ = 0);
  461. virtual ~QGraphicsLineItem();
  462. QPen pen() const;
  463. void setPen(const QPen &pen);
  464. QLineF line() const;
  465. void setLine(const QLineF &line);
  466. void setLine(qreal x1, qreal y1, qreal x2, qreal y2);
  467. virtual QRectF boundingRect() const;
  468. virtual QPainterPath shape() const;
  469. virtual bool contains(const QPointF &point) const;
  470. virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
  471. virtual bool isObscuredBy(const QGraphicsItem *item) const;
  472. virtual QPainterPath opaqueArea() const;
  473. virtual int type() const;
  474. };
  475. class QGraphicsPixmapItem : public QGraphicsItem
  476. {
  477. %TypeHeaderCode
  478. #include <qgraphicsitem.h>
  479. %End
  480. public:
  481. enum ShapeMode
  482. {
  483. MaskShape,
  484. BoundingRectShape,
  485. HeuristicMaskShape,
  486. };
  487. explicit QGraphicsPixmapItem(QGraphicsItem *parent /TransferThis/ = 0);
  488. QGraphicsPixmapItem(const QPixmap &pixmap, QGraphicsItem *parent /TransferThis/ = 0);
  489. virtual ~QGraphicsPixmapItem();
  490. QPixmap pixmap() const;
  491. void setPixmap(const QPixmap &pixmap);
  492. Qt::TransformationMode transformationMode() const;
  493. void setTransformationMode(Qt::TransformationMode mode);
  494. QPointF offset() const;
  495. void setOffset(const QPointF &offset);
  496. void setOffset(qreal ax, qreal ay);
  497. virtual QRectF boundingRect() const;
  498. virtual QPainterPath shape() const;
  499. virtual bool contains(const QPointF &point) const;
  500. virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
  501. virtual bool isObscuredBy(const QGraphicsItem *item) const;
  502. virtual QPainterPath opaqueArea() const;
  503. virtual int type() const;
  504. QGraphicsPixmapItem::ShapeMode shapeMode() const;
  505. void setShapeMode(QGraphicsPixmapItem::ShapeMode mode);
  506. };
  507. class QGraphicsSimpleTextItem : public QAbstractGraphicsShapeItem
  508. {
  509. %TypeHeaderCode
  510. #include <qgraphicsitem.h>
  511. %End
  512. public:
  513. explicit QGraphicsSimpleTextItem(QGraphicsItem *parent /TransferThis/ = 0);
  514. QGraphicsSimpleTextItem(const QString &text, QGraphicsItem *parent /TransferThis/ = 0);
  515. virtual ~QGraphicsSimpleTextItem();
  516. void setText(const QString &text);
  517. QString text() const;
  518. void setFont(const QFont &font);
  519. QFont font() const;
  520. virtual QRectF boundingRect() const;
  521. virtual QPainterPath shape() const;
  522. virtual bool contains(const QPointF &point) const;
  523. virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
  524. virtual bool isObscuredBy(const QGraphicsItem *item) const;
  525. virtual QPainterPath opaqueArea() const;
  526. virtual int type() const;
  527. };
  528. class QGraphicsItemGroup : public QGraphicsItem
  529. {
  530. %TypeHeaderCode
  531. #include <qgraphicsitem.h>
  532. %End
  533. public:
  534. explicit QGraphicsItemGroup(QGraphicsItem *parent /TransferThis/ = 0);
  535. virtual ~QGraphicsItemGroup();
  536. void addToGroup(QGraphicsItem *item /Transfer/);
  537. void removeFromGroup(QGraphicsItem *item /GetWrapper/);
  538. %MethodCode
  539. sipCpp->removeFromGroup(a0);
  540. // The item will be passed to the group's parent if there is one. If not,
  541. // transfer ownership back to Python.
  542. if (sipCpp->parentItem())
  543. sipTransferTo(a0Wrapper, sipGetPyObject(sipCpp->parentItem(), sipType_QGraphicsItem));
  544. else
  545. sipTransferBack(a0Wrapper);
  546. %End
  547. virtual QRectF boundingRect() const;
  548. virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
  549. virtual bool isObscuredBy(const QGraphicsItem *item) const;
  550. virtual QPainterPath opaqueArea() const;
  551. virtual int type() const;
  552. };
  553. class QGraphicsObject : public QObject, public QGraphicsItem
  554. {
  555. %TypeHeaderCode
  556. #include <qgraphicsitem.h>
  557. %End
  558. public:
  559. explicit QGraphicsObject(QGraphicsItem *parent /TransferThis/ = 0);
  560. virtual ~QGraphicsObject();
  561. void grabGesture(Qt::GestureType type, Qt::GestureFlags flags = Qt::GestureFlags());
  562. void ungrabGesture(Qt::GestureType type);
  563. signals:
  564. void parentChanged();
  565. void opacityChanged();
  566. void visibleChanged();
  567. void enabledChanged();
  568. void xChanged();
  569. void yChanged();
  570. void zChanged();
  571. void rotationChanged();
  572. void scaleChanged();
  573. protected slots:
  574. void updateMicroFocus();
  575. protected:
  576. virtual bool event(QEvent *ev);
  577. };
  578. class QGraphicsTextItem : public QGraphicsObject
  579. {
  580. %TypeHeaderCode
  581. #include <qgraphicsitem.h>
  582. %End
  583. public:
  584. explicit QGraphicsTextItem(QGraphicsItem *parent /TransferThis/ = 0);
  585. QGraphicsTextItem(const QString &text, QGraphicsItem *parent /TransferThis/ = 0);
  586. virtual ~QGraphicsTextItem();
  587. QString toHtml() const;
  588. void setHtml(const QString &html);
  589. QString toPlainText() const;
  590. void setPlainText(const QString &text);
  591. QFont font() const;
  592. void setFont(const QFont &font);
  593. void setDefaultTextColor(const QColor &c);
  594. QColor defaultTextColor() const;
  595. virtual QRectF boundingRect() const;
  596. virtual QPainterPath shape() const;
  597. virtual bool contains(const QPointF &point) const;
  598. virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
  599. virtual bool isObscuredBy(const QGraphicsItem *item) const;
  600. virtual QPainterPath opaqueArea() const;
  601. virtual int type() const;
  602. void setTextWidth(qreal width);
  603. qreal textWidth() const;
  604. void adjustSize();
  605. void setDocument(QTextDocument *document /KeepReference/);
  606. QTextDocument *document() const;
  607. void setTextInteractionFlags(Qt::TextInteractionFlags flags);
  608. Qt::TextInteractionFlags textInteractionFlags() const;
  609. void setTabChangesFocus(bool b);
  610. bool tabChangesFocus() const;
  611. void setOpenExternalLinks(bool open);
  612. bool openExternalLinks() const;
  613. void setTextCursor(const QTextCursor &cursor);
  614. QTextCursor textCursor() const;
  615. signals:
  616. void linkActivated(const QString &);
  617. void linkHovered(const QString &);
  618. protected:
  619. virtual bool sceneEvent(QEvent *event);
  620. virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
  621. virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
  622. virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
  623. virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
  624. virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event);
  625. virtual void keyPressEvent(QKeyEvent *event);
  626. virtual void keyReleaseEvent(QKeyEvent *event);
  627. virtual void focusInEvent(QFocusEvent *event);
  628. virtual void focusOutEvent(QFocusEvent *event);
  629. virtual void dragEnterEvent(QGraphicsSceneDragDropEvent *event);
  630. virtual void dragLeaveEvent(QGraphicsSceneDragDropEvent *event);
  631. virtual void dragMoveEvent(QGraphicsSceneDragDropEvent *event);
  632. virtual void dropEvent(QGraphicsSceneDragDropEvent *event);
  633. virtual void inputMethodEvent(QInputMethodEvent *event);
  634. virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
  635. virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event);
  636. virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
  637. virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const;
  638. };
  639. %ModuleCode
  640. // These are needed by the %ConvertToSubClassCode.
  641. #include <qgraphicsproxywidget.h>
  642. #include <qgraphicswidget.h>
  643. %End