]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsKernelEditorGraphic/GPortModel.cxx
First prototype works. Basic boxes construction, evenct handling and colors represent...
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsKernelEditorGraphic / GPortModel.cxx
index ded26739afc74b094774cbcf908593c4855441a9..82940f85e46ccaaf298f4105c668b016cd819bf2 100644 (file)
@@ -44,6 +44,7 @@ namespace bbtk
        GPortModel::GPortModel()
        {               
                _parentBox = NULL;
+               _portType=-1;
        }
 
        //=========================================================================
@@ -52,9 +53,37 @@ namespace bbtk
        }
        //=========================================================================
 
-       void GPortModel::registerInBox(GBlackBoxModel *blackBox)
+       void GPortModel::registerInBox(GBlackBoxModel *blackBox,int portType)
        {
                _parentBox = blackBox;
+               _portType = portType;
+
+               double xInic, yInic,zInic,xFin,yFin,zFin;
+               _parentBox->getInicPoint(xInic,yInic,zInic);
+               _parentBox->getFinalPoint(xFin, yFin,zFin);
+               
+               int cant = 0;
+               double posX=xInic,posY=yInic,posZ=zInic;
+               if(_portType==GOUTPUTPORT)
+               {
+                       cant = _parentBox->getNumOutputPorts();
+                       posY = yInic+PORT_HEIGHT;
+               }
+               else if(_portType==GINPUTPORT)
+               {
+                       cant = _parentBox->getNumInputPorts();
+                       posY = yFin;
+               }
+
+               posX = xInic + PORT_WIDTH + cant*2*PORT_WIDTH;
+               
+               setInicPoint(posX,posY,posZ);
+
+               posX=posX+PORT_WIDTH;
+               posY=posY-PORT_HEIGHT;
+
+               setFinalPoint(posX,posY,posZ);
+
        }
 
        //=========================================================================