Salome HOME
Point 2.3 of "SUPERVISOR: Current state - bugs/improvements" :
[modules/superv.git] / src / GraphBase / DataFlowBase_GOTONode.cxx
index e31dee649b4dc6a92a9232dc5f15158d8c8412bd..c7e779e7ccdcdf563d4429b06926fcc73cd5e1c5 100644 (file)
@@ -19,6 +19,23 @@ GraphBase::GOTONode::GOTONode() :
   GraphBase::InLineNode::InLineNode() {
 
   CoupledNode( NULL ) ;
+  _CoupledNodeName = NULL ;
+  cdebug << "GraphBase::GOTONode::GOTONode "  << this 
+         << " _Name " << (void *) Name() << " " << Name() << " _Comment "
+         << (void *) Comment() << " "  << Comment() << " "  << endl ;
+
+}
+
+GraphBase::GOTONode::GOTONode( CORBA::ORB_ptr ORB ,
+                               SALOME_NamingService* ptrNamingService ,
+                               const char *DataFlowName ,
+                               const SUPERV::KindOfNode DataFlowkind ,
+                               int * Graph_prof_debug ,
+                               ofstream * Graph_fdebug ) :
+  GraphBase::InLineNode::InLineNode( ORB , ptrNamingService , DataFlowName , DataFlowkind , Graph_prof_debug , Graph_fdebug ) {
+
+  CoupledNode( NULL ) ;
+  _CoupledNodeName = NULL ;
   cdebug << "GraphBase::GOTONode::GOTONode "  << this 
          << " _Name " << (void *) Name() << " " << Name() << " _Comment "
          << (void *) Comment() << " "  << Comment() << " "  << endl ;
@@ -48,6 +65,7 @@ GraphBase::GOTONode::GOTONode( CORBA::ORB_ptr ORB ,
                                      X , Y , Graph_prof_debug , Graph_fdebug ) {
 
   CoupledNode( NULL ) ;
+  _CoupledNodeName = NULL ;
   cdebug_in << "GraphBase::GOTONode::GOTONode "  << this 
             << "' _Name " << (void *) Name() << " '" << Name() << " _Comment "
             << (void *) Comment() << " "  << Comment() << " " 
@@ -75,6 +93,69 @@ GraphBase::GOTONode::~GOTONode() {
 //    delete [] _Comment;
 }
 
+void GraphBase::GOTONode::CoupledNode( GraphBase::InLineNode * aCoupledNode ) {
+  cdebug << this << " " << Name() << " GraphBase::GOTONode::CoupledNode( " ;
+  if ( aCoupledNode ) {
+    CoupledNodeName( aCoupledNode->Name() ) ;
+    cdebug << aCoupledNode->Name() ;
+  }
+  else {
+    cdebug << "NULL" ;
+  }
+  cdebug << " )" << endl ;
+  _CoupledNode = aCoupledNode ;
+}
+
+const GraphBase::InLineNode * GraphBase::GOTONode::CoupledNode() const {
+//  cdebug << this << " " << Name() << " GraphBase::GOTONode::CoupledNode() --> " ;
+//  if ( _CoupledNode ) {
+//    cdebug << _CoupledNode->Name() ;
+//  }
+//  else {
+//    cdebug << "NULL" ;
+//  }
+//  cdebug << endl ;
+  return _CoupledNode ;
+}
+
+GraphBase::InLineNode * GraphBase::GOTONode::CoupledNode() {
+//  cdebug << this << " " << Name() << " GraphBase::GOTONode::CoupledNode() --> " ;
+//  if ( _CoupledNode ) {
+//    cdebug << _CoupledNode->Name() ;
+//  }
+//  else {
+//    cdebug << "NULL" ;
+//  }
+//  cdebug << endl ;
+  return _CoupledNode ;
+}
+
+void GraphBase::GOTONode::CoupledNodeName( const char * aCoupledNodeName ) {
+  if ( _CoupledNodeName ) {
+    delete [] _CoupledNodeName ;
+  }
+  _CoupledNodeName = new char [ strlen( aCoupledNodeName ) + 1 ] ;
+  strcpy( _CoupledNodeName , aCoupledNodeName ) ;
+  cdebug << this << " " << Name() << " GraphBase::GOTONode::CoupledNodeName() --> " ;
+  if ( _CoupledNodeName ) {
+    cdebug << _CoupledNodeName ;
+  }
+  else {
+    cdebug << "NULL" ;
+  }
+  cdebug << endl ;
+}
+char * GraphBase::GOTONode::CoupledNodeName() const {
+  cdebug << this << " " << Name() << " GraphBase::GOTONode::CoupledNodeName() --> " ;
+  if ( _CoupledNodeName ) {
+    cdebug << _CoupledNodeName ;
+  }
+  else {
+    cdebug << "NULL" ;
+  }
+  return my_strdup( _CoupledNodeName ) ;
+}
+
 //bool GraphBase::GOTONode::SaveXML( ostream &f , char *Tabs ,
 bool GraphBase::GOTONode::SaveXML( QDomDocument & Graph , QDomElement & info ,
                                    int XCoordinate , int YCoordinate ) const {