X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/abbc64cf04a35ab3549d5c516f44c7c5921baa63..8fb3c55ee009a11db5e1c08a4cfb286979412745:/GroupItem.h diff --git a/GroupItem.h b/GroupItem.h index 3882a60..a7613e7 100644 --- a/GroupItem.h +++ b/GroupItem.h @@ -5,6 +5,9 @@ #include #include +#include +#include + #include "AbstractBoxItem.h" class AbstractBoxItem; @@ -31,30 +34,38 @@ public: */ GroupItem(BoxItem* _parentItem, AbstractBlock *_refBlock, Dispatcher *_dispatcher, Parameters *_params) throw(Exception); + GroupItem(Dispatcher *_dispatcher, Parameters *_params) throw(Exception); //! uses only when loading a project file ~GroupItem(); // getters BoxItem* getParentItem(); // setters + void setParentItem(BoxItem* _parentItem); // testers bool isGroupItem(); // others - void updateShape(); + void nameChanged(); + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); + void load(QDomElement groupElement) throw(Exception); void save(QXmlStreamWriter& writer); -protected: - + void updateShape(); void updateMinimumSize(); // modify the minimum size bool updateGeometry(ChangeType type); + void updateBorderSpanItems(); + + void hoverMoveEvent(QGraphicsSceneHoverEvent *event); + void mousePressEvent(QGraphicsSceneMouseEvent *event); + void mouseMoveEvent(QGraphicsSceneMouseEvent *event); + void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); + +protected: + - void mousePressEvent(QGraphicsSceneMouseEvent *event); - void mouseMoveEvent(QGraphicsSceneMouseEvent *event); - void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); - void hoverMoveEvent(QGraphicsSceneHoverEvent *event); void contextMenuEvent(QGraphicsSceneContextMenuEvent *event); @@ -64,8 +75,8 @@ private: in the top scene */ BoxItem* parentItem; - QRectF rectTitle; - + QRectF rectTitle; + QPointF boxPoint; // the coordinates of the top-left corner of the box (without ifaces) InterfaceItem *isHoverInterface(QPointF point); };