1 #ifndef QNSTGRAPHICSENTITY_H
2 #define QNSTGRAPHICSENTITY_H
9 #include "qnstentity.h"
10 #include "qncggraphicsentity.h"
33 void addAngle(QString uid,
int angle);
35 void removeAngle(QString uid,
int angle);
37 QSet<QnstGraphicsEntity*> getnstGraphicsEntities();
45 void setMouseHover(
bool hover);
47 virtual void setnstId(
const QString &
id);
49 virtual void updateToolTip() {}
51 virtual void setProperties(
const QMap <QString, QString> &properties);
53 virtual void getProperties(QMap <QString, QString> &properties);
55 virtual void adjust(
bool avoidCollision =
false) = 0;
65 QMap<QString, QString> properties);
77 void pasteRequested();
79 void deleteRequested();
81 void exportRequested();
83 void zoominRequested();
85 void zoomoutRequested();
87 void zoomresetRequested();
89 void fullscreenRequested();
92 virtual void draw(QPainter* painter) = 0;
94 virtual void delineate(QPainterPath* painter)
const = 0;
96 virtual void move(QGraphicsSceneMouseEvent* event) = 0;
98 virtual void resize(QGraphicsSceneMouseEvent* event) = 0;
100 virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent* event);
102 virtual void hoverEnterEvent(QGraphicsSceneHoverEvent* event);
104 virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent* event);
107 void requestEntityChange();
109 void requestEntityPreparation(QMap<QString, QString> properties);
111 void requestEntitySelection();
113 virtual bool createEntity(Qnst::EntityType type);
118 void setDraggable(
bool isDraggable);
119 void setError(
bool hasError);
120 void setErrorMsg(QString erroMsg);
126 QSet<QnstGraphicsEntity*> entities;
129 bool hover, hasError;
134 #endif // QNSTGRAPHICSENTITY_H