4 #include <QGraphicsScene> 5 #include <QDomDocument> 13 class ITEMFRAMEWORK_TEST_EXPORT
ItemScene :
public QGraphicsScene
18 explicit ItemScene(QSharedPointer<ProjectGui> projectGui, QObject* parent = 0);
26 bool loadFromXml(QDomElement& dom);
34 bool saveToXml(QDomDocument& document, QDomElement& xml)
const;
50 QList<QGraphicsItem*> copyableItems()
const;
57 static QList<QGraphicsItem*> copyableItems(QList<QGraphicsItem*> itms);
72 void createTemplate();
78 void copy(QList<QGraphicsItem*> itms)
const;
83 QSharedPointer<ProjectGui> projectGui()
const;
89 QPixmap createPixmap(QDomDocument
const& itemsDocument);
96 QPixmap createPixmap(QList<QGraphicsItem*> items,
const QRectF& bounding)
const;
99 void mousePressEvent(QGraphicsSceneMouseEvent* mouseEvent);
100 void mouseMoveEvent(QGraphicsSceneMouseEvent* mouseEvent);
101 void mouseReleaseEvent(QGraphicsSceneMouseEvent* mouseEvent);
102 void contextMenuEvent(QGraphicsSceneContextMenuEvent* event);
103 void keyPressEvent(QKeyEvent* event);
104 void dragEnterEvent(QGraphicsSceneDragDropEvent* event);
105 void dropEvent(QGraphicsSceneDragDropEvent* event);
106 void dragMoveEvent(QGraphicsSceneDragDropEvent* event);
109 void sceneRealChanged();
110 void loadingProgress(
const int progress,
const QString& loadcomment =
"",
const QString& loadinfo =
"Loading Project");
113 bool notesInInsertMode();
114 void deleteItems(QList<QGraphicsItem*> items);
115 void insertItem(QString
const& name, QPointF
const& position);
117 void updateConnectionLine();
118 void updateBoundingRect();
120 bool startMove(QGraphicsSceneMouseEvent* event);
121 bool startConnection(QGraphicsSceneMouseEvent* mouseEvent);
122 qreal distance(
const QPointF& a,
const QPointF& b)
const;
124 void paintItem(QGraphicsItem* item, QPainter& painter, QStyleOptionGraphicsItem& options)
const;
126 QRectF calculateBoundingBox(QList<QGraphicsItem const*> items,
bool ignoreConnectors =
false)
const;
127 QList<QGraphicsItem*> readItems(QDomDocument
const& document,
bool shouldConnectIO =
true);
128 QList<QGraphicsItem*> readItems(
class QMimeData
const& mimeData,
char const*
const mimeType,
char const*
const docType);
130 void insertItems(QList<QGraphicsItem*> items,
const QPointF& scenePos,
const QRectF& boundingBox);
131 void insertTemplate(
class QMimeData
const*
const mimeData, QPointF
const& position = {});
133 QHash<QString, int> _copyCountHash;
134 QSharedPointer<ProjectGui> _projectGui;
137 bool _inConnectionMode =
false;
138 bool _startItemIsInput;
139 bool _recalculateBoundingRect =
true;
140 bool _inMovingMode =
false;
142 bool _reversed =
false;
146 QGraphicsLineItem* _connectionLine =
nullptr;
149 QPointF _mouseItemDiff;
152 #endif // ITEM_SCENE_H The ItemOutput class represents an output that belongs to an item.
Definition: item_output.h:28
Definition: item_scene.h:13
Definition: project_gui.h:22