X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FEditorGraphicBBS%2FbbsKernelEditorGraphic%2FGBlackBoxModel.cxx;h=5351493e280e2ac0459b6aae2469b26acd683d3d;hb=b07121ce96dd600b41cb6b9588d117ec72969317;hp=f2866f599afa50e52256b0458ae34be28f6ac38e;hpb=0b3b25440d23eabf549ebdfa0a4a39ea91ea2f23;p=bbtkGEditor.git diff --git a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.cxx b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.cxx index f2866f5..5351493 100644 --- a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.cxx +++ b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.cxx @@ -38,94 +38,141 @@ Version: $Revision$ namespace bbtk { - - //========================================================================= + GBlackBoxModel::GBlackBoxModel() { + _isExecutable = false; } //========================================================================= + GBlackBoxModel::~GBlackBoxModel() { } - //========================================================================= - void GBlackBoxModel::setInicPoint(double& x, double& y, double& z) + //========================================================================= + + std::string GBlackBoxModel::getBBTKPackage() { - GObjectModel::setInicPoint(x,y,z); - - double xFin=x+BOX_WIDTH,yFin=y-BOX_HEIGHT; - setFinalPoint(xFin,yFin,z); + return _bbtkPackage; } //========================================================================= - void GBlackBoxModel::addInputPort(GPortModel *inputport) + void GBlackBoxModel::setBBTKPackage(std::string obpackage) { - _inputs.push_back(inputport); + _bbtkPackage = obpackage; } //========================================================================= - - void GBlackBoxModel::addOutputPort(GPortModel *outputport) + + bool GBlackBoxModel::isExecutable() { - _outputs.push_back(outputport); + return _isExecutable; } //========================================================================= - int GBlackBoxModel::getNumInputPorts() + void GBlackBoxModel::setExecutable(bool executable) { - return _inputs.size(); + _isExecutable = executable; } //========================================================================= - - int GBlackBoxModel::getNumOutputPorts() + + std::string GBlackBoxModel::getStatusText() { - return _outputs.size(); + std::string temp = ""; + temp+=_bbtkPackage; + temp+=":"; + temp+=_bbtkType; + temp+=":"; + temp+=_bbtkName; + + return temp; } //========================================================================= - void GBlackBoxModel::move(double xx,double yy,double zz) + void GBlackBoxModel::setValueToInputPort(int pos,std::string value) { - setInicPoint(xx,yy,zz); - //std::cout<<"GBlackBoxModel::move xx:"<setValue(value); + } + + //========================================================================= - //Refresh inputs position - int i; - for(i=0;i<_inputs.size();i++) + void GBlackBoxModel::save(std::string &content) + { + content+="BOX\n"; + // Box info + content+=_bbtkPackage; + content+=":"; + content+=_bbtkType; + content+=":"; + content+=_bbtkName; + content+="\n"; + content+="ISEXEC:"; + if(_isExecutable) { - _inputs[i]->updatePortPosition(i); + content+="TRUE"; } - - //Refresh outputs position - for(i=0;i<_outputs.size();i++) + else { - _outputs[i]->updatePortPosition(i); + content+="FALSE"; } + content+="\n"; + + + //Box Position + char buffer [50]; + sprintf (buffer, "%f", _xInic); + content+=buffer; + content+=":"; + sprintf (buffer, "%f", _yInic); + content+=buffer; + content+=":"; + sprintf (buffer, "%f", _zInic); + content+=buffer; + content+="\n"; + + sprintf (buffer, "%f", _xFin); + content+=buffer; + content+=":"; + sprintf (buffer, "%f", _yFin); + content+=buffer; + content+=":"; + sprintf (buffer, "%f", _zFin); + content+=buffer; + content+="\n"; + + //Ports with a value + for(int i = 0; i<_inputs.size();i++) + { + if(_inputs[i]->isValueSet()) + { + _inputs[i]->save(content); + } + } + content+="FIN_BOX\n"; } //========================================================================= - GPortModel* GBlackBoxModel::getStartInputPort() + void GBlackBoxModel::setValueToInput(std::string name,std::string value) { - GPortModel* temp = NULL; - - for(int i=0; i<_inputs.size() && temp == NULL;i++) + for(int i = 0; i<_inputs.size();i++) { - if(_inputs[i]->getState() == CREATING_CONTOUR) + if(_inputs[i]->getBBTKName()==name) { - temp = _inputs[i]; + _inputs[i]->setValue(value); } } - - return temp; } + //========================================================================= + } // EO namespace bbtk // EOF