00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef GROUPNODE_H
00023 #define GROUPNODE_H
00024
00025 #include "node.h"
00026
00027 #define SUBSCALE 0.3
00028
00029 #ifndef DOXYGEN_IGNORE_THIS
00030
00031 class GroupNode : public Node
00032 {
00033 public:
00034 GroupNode(QGraphicsItem * parent = 0, QGraphicsScene * scene = 0);
00035 ~GroupNode();
00036
00037 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
00038 QPointF scenePointPos(int point) const;
00039 QPointF scenePointPos(QString name, bool in) const;
00040 void addNode(Node *node);
00041 void updateLinksPos();
00042
00043 QString propName(int point) const;
00044
00045 protected:
00046 void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
00047 QVariant itemChange(GraphicsItemChange change, const QVariant &value);
00048
00049 private:
00050 QRectF outlineRect() const;
00051 int roundness(double size) const;
00052 int pointAt(QPointF pos) const;
00053 };
00054
00055 #endif
00056 #endif