X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/e40a5399ec7887c2606f18575c809b0d05b09278..3fb762e7042d9b4a1cf78556ad9ed7f117cc53ba:/AbstractBlock.cpp diff --git a/AbstractBlock.cpp b/AbstractBlock.cpp index 116494e..b8ce5e5 100644 --- a/AbstractBlock.cpp +++ b/AbstractBlock.cpp @@ -11,6 +11,7 @@ AbstractBlock::AbstractBlock() { name = ""; parent = NULL; + specialType = NotSpecial; } /* @@ -34,6 +35,15 @@ void AbstractBlock::setName(const QString& str) { name = Parameters::normalizeName(str); } +void AbstractBlock::setSpecialType(int type) { + if ((type >= NotSpecial) && (type <= ClkConvert)) { + specialType = type; + } + else { + specialType = NotSpecial; + } +} + void AbstractBlock::setParent(AbstractBlock* _parent) { parent = _parent; } @@ -46,6 +56,10 @@ bool AbstractBlock::isFunctionalBlock() { return false; } +bool AbstractBlock::isSpecialBlock() { + return false; +} + bool AbstractBlock::isGroupBlock() { return false; } @@ -54,20 +68,40 @@ bool AbstractBlock::isTopGroupBlock() { return false; } -bool AbstractBlock::isSourceBlock() { +bool AbstractBlock::isStimuliBlock() { return false; } -/* NB: a generator is a block that has no data inputs +/* NB: a source is a block that has no data inputs * and has at least one data output. * By the way, blocks that have no data input/output - * (like clkrstgen) are not generators ! + * (like clkrstgen) are not sources ! */ -bool AbstractBlock::isGeneratorBlock() { +bool AbstractBlock::isSourceBlock() { if (getDataInputs().size() > 0) return false; if (getDataOutputs().size() == 0) return false; return true; } +/* NB: a sink is a block without outputs of any type */ +bool AbstractBlock::isSinkBlock() { + if (getOutputs().size() == 0) return true; + return false; +} + +int AbstractBlock::getSpecialTypeFromString(QString str) { + if (str == "source") { + return Source; + } + else if (str == "sink") { + return Sink; + } + else if (str == "clkconvert") { + return ClkConvert; + } + return NotSpecial; +} + + void AbstractBlock::addParameter(BlockParameter *param) { params.append(param); }