X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/d30c9cf675ad7141d1c8e31d2e72315267d45cf2..0d3590739ff5a4ca9e87c052ac142f5d1d3a68ab:/AbstractBoxItem.h?ds=sidebyside diff --git a/AbstractBoxItem.h b/AbstractBoxItem.h index 375e9dc..132adc9 100644 --- a/AbstractBoxItem.h +++ b/AbstractBoxItem.h @@ -22,6 +22,7 @@ public: enum ChangeType { Resize = 0, InterfaceMove }; AbstractBoxItem(AbstractBlock *_refBlock, Dispatcher *_dispatcher, Parameters *_params, QGraphicsItem* parent = Q_NULLPTR); + AbstractBoxItem(Dispatcher *_dispatcher, Parameters *_params, QGraphicsItem* parent = Q_NULLPTR); virtual ~AbstractBoxItem(); @@ -40,21 +41,26 @@ public: inline QPointF getOriginPoint() { return originPoint; } // setters - inline void setId(int id){ this->id = id; } + void setRefBlock(AbstractBlock* _refBlock); + inline void setId(int _id){ id = _id; } inline void setSelected(bool _selected) { selected = _selected; } - inline void setRstClkVisible(bool b){ rstClkVisible = b;} + void setRstClkVisible(bool b); + void setWishboneVisible(bool b); void setDimension(int x, int y); inline void setCurrentInterface(InterfaceItem* iface) { currentInterface = iface; } // testers virtual bool isBoxItem(); - virtual bool isGroupItem(); + virtual bool isGroupItem(); + virtual bool isSourceItem(); inline bool isSelected() { return selected; } inline bool isRstClkVisible(){ return rstClkVisible;} + inline bool isWishboneVisible(){ return wishboneVisible;} bool isInterfaces(int orientation) const; // others + virtual void nameChanged() = 0; // called when an interface or box name have changed void addInterface(InterfaceItem* i, bool resetPosition = false); void removeInterface(InterfaceItem* i); void resetInterfacesPosition(); @@ -111,12 +117,13 @@ protected: int nameHeight; // the height of the name in Arial 10 int nameMargin; // the margin around each side of the name int ifaceMargin; // the margin around each side of interfaces' name - QPointF originPoint; // the left-top point that is the origin of the bounding box + QPointF originPoint; // the left-top point that is the origin of the bounding box, in the item coordinates bool selected; - bool rstClkVisible; + bool rstClkVisible; //! true if clock/reset interfaces are visible + bool wishboneVisible; //! true if wishbone interfaces are visible - QPointF currentPosition; // the start point for resize + QPointF currentPosition; // the start point for resize, i.e. the position of the lef-top corner of the box, in the scene coordinates virtual void updateMinimumSize() = 0; // modify the minimum size virtual bool updateGeometry(ChangeType type) = 0; // modify the originPoint and the total dimension