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 int propPoint(QString name, bool in) const;
00041 int numProps() const;
00042 void addNode(Node *node);
00043 void updateLinksPos();
00044
00045 QString propName(int point) const;
00046
00047 protected:
00048 void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
00049 QVariant itemChange(GraphicsItemChange change, const QVariant &value);
00050
00051 private:
00052 QRectF outlineRect() const;
00053 int roundness(double size) const;
00054 int pointAt(QPointF pos) const;
00055
00056 QRectF textoutlinerect;
00057 };
00058
00059 #endif
00060 #endif