74 void addNode(
const void* ptr, QString tooltip, QColor color, QColor lineColor, QString internalText =
"");
85 void addLink(
const void* ptr,
const void* from,
const void* to, QString tooltip,
const QPen& pen,
bool arrowHead);
100 void setNodeDiameter(
float d);
126 void setSelectedNode(
const void* node);
131 void setSelectedLink(
const void* link);
138 void mouseDoubleClickEvent(QMouseEvent*)
override;
141 void resizeEvent(QResizeEvent*)
override;
144 void mouseReleaseEvent(QMouseEvent* e)
override;
155 QMap<const void*, QGraphicsEllipseItem*> node2item;
157 QMap<const void*, QGraphicsSimpleTextItem*> node2textItem;
159 QMap<QGraphicsEllipseItem*, const void*> item2node;
161 QMap<QGraphicsSimpleTextItem*, const void*> textItem2node;
164 QMap<const void*, QGraphicsLineItem*> link2item;
166 QMap<const void*, QGraphicsPolygonItem*> link2arrowHead;
168 QMap<QGraphicsLineItem*, const void*> item2link;
171 const void* currentSelectedNode;
172 const void* currentSelectedLink;
176 QMap<const void*, QPen> unselectedPen;
179 QMap<const void*, std::pair<const void*, const void*>> links;
181 QMap<const void*, int> nodeArity;
184 void moveNode(
const void* ptr,
float posX,
float posY);
186 void moveLink(
const void* ptr,
float posX1,
float posY1,
float posX2,
float posY2);
191 void updateLinkPosition();