* \brief Class bbtk::GPortModel
*/
-
+/****
+* Design and Developpement of BBTK GEditor
+* Ricardo A Corredor J <ra.corredor67@uniandes.edu.co>
+* RaC - 2010
+****/
#include "GPortModel.h"
namespace bbtk
_parentBox = NULL;
_portType=-1;
_posInBox=0;
+ _isConnected=false;
+ _value="";
+ _isValueSet=false;
}
//=========================================================================
}
//=========================================================================
- void GPortModel::registerInBox(GBlackBoxModel *blackBox,int portType, int pos)
+ void GPortModel::registerInBox(GBoxModel *blackBox,int portType, int pos)
{
_parentBox = blackBox;
_portType = portType;
}
//Attribute '_posInBox' starts with value 0 and it represents the position of the port in the box from left to right
- posX = xInic + PORT_WIDTH + _posInBox*2*PORT_WIDTH;
+ posX = xInic + (PORT_WIDTH/2) + _posInBox*1.6*PORT_WIDTH;
setInicPoint(posX,posY,posZ);
return _portType;
}
+ //=========================================================================
+
+ int GPortModel::getPosInBox()
+ {
+ return _posInBox;
+ }
+
//=========================================================================
std::string GPortModel::getStatusText()
{
- std::string temp = "Name:";
+ std::string temp = "";
temp+=_bbtkName;
- temp+=" Type:";
+ if(isValueSet())
+ {
+ temp+="(";
+ temp+=_value;
+ temp+=")";
+ }
+ temp+=" ";
temp+=_bbtkType;
- temp+=" Box:";
- temp+=_parentBox->getBBTKType();
- if(_portType==GOUTPUTPORT)
+
+ return temp;
+ }
+
+ //=========================================================================
+
+ GBoxModel* GPortModel::getParentBox()
+ {
+ return _parentBox;
+ }
+
+ //=========================================================================
+
+ bool GPortModel::isConnected()
+ {
+ return _isConnected;
+ }
+
+ //=========================================================================
+
+ void GPortModel::setConnected(bool value)
+ {
+ _isConnected=value;
+ notifyObservers(_objectId);
+ }
+
+ //=========================================================================
+
+ void GPortModel::setValue(std::string value)
+ {
+ _value = value;
+ if(_value=="")
{
- temp+=" [Output Port]";
+ _isValueSet=false;
}
- else if(_portType==GINPUTPORT)
+ else
{
- temp+=" [Input Port]";
+ _isValueSet=true;
}
+ notifyObservers(_objectId);
+ }
- return temp;
+ //=========================================================================
+
+ std::string GPortModel::getValue()
+ {
+ return _value;
}
//=========================================================================
- GBlackBoxModel* GPortModel::getParentBox()
+ bool GPortModel::isValueSet()
{
- return _parentBox;
+ return _isValueSet;
+ }
+
+ //=========================================================================
+
+ void GPortModel::save(std::string &content)
+ {
+ content+="PORT\n";
+
+ // Port value info
+ content+=_bbtkName;
+ content+=":";
+ content+=_value;
+ content+="\n";
}
//=========================================================================