X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/abbc64cf04a35ab3549d5c516f44c7c5921baa63..107509468a60f3e9e698d82a2575b700d9dde07e:/ConnectionItem.h?ds=sidebyside diff --git a/ConnectionItem.h b/ConnectionItem.h index 567a31d..6370c90 100644 --- a/ConnectionItem.h +++ b/ConnectionItem.h @@ -10,13 +10,14 @@ class Dispatcher; class Parameters; class InterfaceItem; +class GroupScene; using namespace std; using namespace Qt; -/* NOTES : +/*! \brief ConnectionItem class - A connection item represent a graphical link between two interface items. + A ConnectionItem represents a graphical link between two interface items. Even if it links two in/out interfaces, it is always oriented. The orientation depends on the type and direction of linked interfaces : @@ -51,6 +52,7 @@ public: void prepareChange(); + inline GroupScene* getScene() { return (GroupScene*)(scene()); } inline InterfaceItem* getToInterfaceItem(){ return toInterfaceItem; } inline void setToInterfaceItem(InterfaceItem *iface){ toInterfaceItem = iface; } inline InterfaceItem* getFromInterfaceItem(){ return fromInterfaceItem; } @@ -61,7 +63,19 @@ public: void setSelected(bool selected); void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); - void setPathes(); + + /*! + * \brief setPath + * setPath() allows to compute the graphical shape of the ConnectionItem + * taking into account the position/direction of from and to interface items. + * Depending on their vlaue, it calls on of the dedicated methods. + * + * CAUTION: this method calls prepareGeometryChange() so that the scene + * can automatically updates and redraw the ConnectionItem. Thus, there is + * no need to call update() after the termination of this method. + * + */ + void setPath(); void addInterPoint(QPointF point); static int counter;