]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsKernelEditorGraphic/GPortModel.cxx
This commit was manufactured by cvs2svn to create tag 'CREATOOLS_2-0-3'.
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsKernelEditorGraphic / GPortModel.cxx
index 5a31568bb1aef6ec1664f3a2a9b92025fb6536e7..1d16dc16988d41150d7a499e7217cb98458cb364 100644 (file)
@@ -33,7 +33,11 @@ Version:   $Revision$
 *  \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
@@ -46,6 +50,9 @@ namespace bbtk
                _parentBox = NULL;
                _portType=-1;
                _posInBox=0;
+               _isConnected=false;
+               _value="";
+               _isValueSet=false;
        }
 
        //=========================================================================
@@ -54,7 +61,7 @@ namespace bbtk
        }
        //=========================================================================
 
-       void GPortModel::registerInBox(GBlackBoxModel *blackBox,int portType, int pos)
+       void GPortModel::registerInBox(GBoxModel *blackBox,int portType, int pos)
        {
                _parentBox = blackBox;
                _portType = portType;
@@ -83,7 +90,7 @@ namespace bbtk
                }
 
                //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);
 
@@ -101,34 +108,95 @@ namespace bbtk
                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";
        }
 
        //=========================================================================