X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/756baf5c8eaf003e8271dab9c395de2b0e704857..bc5d59217a24b25c1b913bec4a41dd026d02720c:/InterfaceItem.cpp?ds=sidebyside diff --git a/InterfaceItem.cpp b/InterfaceItem.cpp index 18397f3..7ee68c6 100644 --- a/InterfaceItem.cpp +++ b/InterfaceItem.cpp @@ -4,6 +4,7 @@ #include "GroupInterface.h" #include "FunctionalInterface.h" #include "BoxItem.h" +#include "ReferenceInterface.h" int InterfaceItem::counter = 0; @@ -11,7 +12,7 @@ InterfaceItem::InterfaceItem(double _position, int _orientation, ConnectedInterface *_refInter, AbstractBoxItem* _owner, - Parameters* _params) { + Parameters* _params, bool forceVisible) { positionRatio = _position; orientation = _orientation; refInter = _refInter; @@ -24,7 +25,7 @@ InterfaceItem::InterfaceItem(double _position, nameWidth = fmName.width(refInter->getName()); nameHeight = fmName.height(); // by default, only data interface are visible - if (refInter->getPurpose() == AbstractInterface::Data) { + if ((forceVisible) || (refInter->getPurpose() == AbstractInterface::Data)) { visible = true; } else { @@ -45,6 +46,15 @@ QString InterfaceItem::getName() { return refInter->getName(); } +QString InterfaceItem::getReferenceName() { + if (!refInter->isFunctionalInterface()) { + return "no_refname_for_groupiface"; + } + FunctionalInterface* iface = AI_TO_FUN(refInter); + ReferenceInterface* refIface = iface->getReference(); + return refIface->getName(); +} + void InterfaceItem::updateName(QString name) { QFontMetrics fmName(params->defaultIfaceFont); nameWidth = fmName.width(refInter->getName()); @@ -98,7 +108,7 @@ void InterfaceItem::paint(QPainter *painter) { if(owner->isBoxItem()) { painter->setPen(QPen(Qt::black,1)); } - else if(owner->isSourceItem()) { + else if(owner->isStimuliItem()) { painter->setPen(QPen(Qt::darkCyan,1)); } } @@ -165,7 +175,7 @@ void InterfaceItem::paint(QPainter *painter) { if(owner->isGroupItem()){ painter->drawText(-(w+params->arrowWidth+params->arrowLineLength),-h/2,w,h,Qt::AlignLeft | Qt::TextWordWrap, refInter->getName()); } - else if((owner->isBoxItem()) || (owner->isSourceItem())){ + else if((owner->isBoxItem()) || (owner->isStimuliItem())){ painter->drawText(0,-h/2,w,h,Qt::AlignRight | Qt::TextWordWrap, refInter->getName()); } } @@ -174,7 +184,7 @@ void InterfaceItem::paint(QPainter *painter) { if(owner->isGroupItem()) { painter->drawText(params->arrowWidth+params->arrowLineLength,-h/2,w,h,Qt::AlignRight | Qt::TextWordWrap, refInter->getName()); } - else if((owner->isBoxItem()) || (owner->isSourceItem())){ + else if((owner->isBoxItem()) || (owner->isStimuliItem())){ painter->drawText(-w,-h/2,w,h,Qt::AlignLeft | Qt::TextWordWrap, refInter->getName()); } }