X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/1b7818e18ed7bcf3464e307b97c6e0e6d72cc69b..2bdaa0aa3fab52f0808f60d9bbdabcd56d0efae9:/AbstractBoxItem.cpp?ds=sidebyside diff --git a/AbstractBoxItem.cpp b/AbstractBoxItem.cpp index 9fafc8f..911a790 100644 --- a/AbstractBoxItem.cpp +++ b/AbstractBoxItem.cpp @@ -12,8 +12,13 @@ #include "AbstractInterface.h" #include "ConnectedInterface.h" +int AbstractBoxItem::NoLock = 0; +int AbstractBoxItem::Position = 1; +int AbstractBoxItem::Dimension = 2; +int AbstractBoxItem::Interfaces = 4; +int AbstractBoxItem::Names = 8; -AbstractBoxItem:: AbstractBoxItem(AbstractBlock *_refBlock, Dispatcher *_dispatcher, Parameters *_params, LockType _lock, QGraphicsItem *parent) : QGraphicsItem(parent) { +AbstractBoxItem::AbstractBoxItem(AbstractBlock *_refBlock, Dispatcher *_dispatcher, Parameters *_params, int _lock, QGraphicsItem *parent) : QGraphicsItem(parent) { dispatcher = _dispatcher; params = _params; refBlock = _refBlock; @@ -44,7 +49,7 @@ AbstractBoxItem:: AbstractBoxItem(AbstractBlock *_refBlock, Dispatcher *_dispat // NOTE : initInterfaces() is only called in subclasses } -AbstractBoxItem::AbstractBoxItem(Dispatcher *_dispatcher, Parameters *_params, LockType _lock, QGraphicsItem* parent) : QGraphicsItem(parent) { +AbstractBoxItem::AbstractBoxItem(Dispatcher *_dispatcher, Parameters *_params, int _lock, QGraphicsItem* parent) : QGraphicsItem(parent) { dispatcher = _dispatcher; params = _params; refBlock = NULL; @@ -130,7 +135,7 @@ void AbstractBoxItem::setRefBlock(AbstractBlock* _refBlock) { nameHeight = fmId.height(); } -void AbstractBoxItem::initInterfaceItems() { +void AbstractBoxItem::createInterfaceItems(Parameters::Direction posInputs, Parameters::Direction posOutputs, Parameters::Direction posBidirs) { /* TO DO : creating all needed InterfaceItem, with by default, input at west and output at east */ int orientation = Parameters::West; @@ -141,11 +146,11 @@ void AbstractBoxItem::initInterfaceItems() { if (inter->getPurpose() != AbstractInterface::Control) { InterfaceItem *item; if(inter->getDirection() == AbstractInterface::Input){ - orientation = Parameters::West; + orientation = posInputs; } else if(inter->getDirection() == AbstractInterface::Output){ - orientation = Parameters::East; + orientation = posOutputs; } else if(inter->getDirection() == AbstractInterface::InOut){ - orientation = Parameters::North; + orientation = posBidirs; } item = new InterfaceItem(0.0 , orientation, (ConnectedInterface *)inter, this, params); interfaces.append(item); @@ -297,7 +302,7 @@ QRectF AbstractBoxItem::boundingRectInScene() { */ bool AbstractBoxItem::isInterfaces(int orientation) const { foreach(InterfaceItem* inter, interfaces) { - if (inter->getOrientation() == orientation) return true; + if ((inter->visible) && (inter->getOrientation() == orientation)) return true; } return false; }