X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FEditorGraphicBBS%2FbbsKernelEditorGraphic%2FGPortModel.h;h=d82b8850deae461c2b2f131c37db73757d8b83d7;hb=e9ab2c3abb5398388f62fcb9414df85be0eb37d8;hp=8df71bf9fe6aa85baf5b4eaee15d3beb69bf4f5e;hpb=098558ac7780900858114a8ae01fe93847d67043;p=bbtkGEditor.git diff --git a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GPortModel.h b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GPortModel.h index 8df71bf..d82b885 100644 --- a/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GPortModel.h +++ b/lib/EditorGraphicBBS/bbsKernelEditorGraphic/GPortModel.h @@ -35,10 +35,11 @@ Version: $Revision$ * \brief Class bbtk::GPortModel : abstract black-box interface. */ -/** -* \class bbtk::GPortModel -* \brief -*/ +/**** +* Design and Developpement of BBTK GEditor +* Ricardo A Corredor J +* RaC - 2010 +****/ #ifndef __GPortModel_h__ #define __GPortModel_h__ @@ -46,6 +47,7 @@ Version: $Revision$ //Includes same project #include "GlobalConstants.h" #include "GObjectModel.h" +#include "GBoxModel.h" //Includes creaMaracasVisu @@ -56,7 +58,8 @@ Version: $Revision$ namespace bbtk { - class GBlackBoxModel; + // Mandatory when exists a bidirectional relation: GPortModel includes GBoxModel and viceversa + class GBoxModel; class GPortModel : public GObjectModel { @@ -65,15 +68,52 @@ namespace bbtk //Constructors GPortModel(); - ~GPortModel(); + virtual ~GPortModel(); - //Public methods - void registerInBox(GBlackBoxModel *blackBox); + //Public methods + + // Register the input or output in a position of the black box, depending in the portType(INPUT/OUTPUT). + void registerInBox(GBoxModel *blackBox,int portType, int pos); + + // Update the port position based in the parent box initial point + void updatePortPosition(); + + // Port type (INPUT/OUTPUT) + int getPortType(); + + GBoxModel* getParentBox(); + + // Returns the position of the port in the box + int getPosInBox(); + + bool isConnected(); + void setConnected(bool value); + + bool isValueSet(); + void setValue(std::string value); + + std::string getValue(); + + virtual std::string getStatusText(); + virtual void save(std::string &content); + + private: - //Attributes + //Private Attributes - GBlackBoxModel *_parentBox; + GBoxModel *_parentBox; + + // Port type (INPUT/OUTPUT) + int _portType; + + // The position of the port in the box + int _posInBox; + + bool _isConnected; + + std::string _value; + bool _isValueSet; //Private Methods