-// if ( aConstructor ) {
-// anInNode = AddNode( aNode.theService , aNode.theComponentName.c_str() ,
-// aNode.theInterfaceName.c_str() ,
-// aNode.theName.c_str() ,
-// aNode.theKind ,
-// aNode.theFirstCreation , aNode.theLastModification ,
-// aNode.theEditorRelease.c_str() ,
-// aNode.theAuthor.c_str() , aNode.theContainer.c_str() ,
-// aNode.theComment.c_str() ,
-// aNode.theCoords.theX , aNode.theCoords.theY ) ;
-// }
-// else {
- const char * aNodeName = aNode.theName.c_str() ;
- if ( aNode.theListOfFuncName.size() == 0 ) {
- aNode.theListOfFuncName.resize( 1 ) ;
- aNode.theListOfFuncName[ 0 ] = "" ;
- aNode.theListOfPythonFunctions.resize( 1 ) ;
- aNode.theListOfPythonFunctions[ 0 ] = new SUPERV::ListOfStrings() ;
+ const char * aNodeName = aNode.theName.c_str() ;
+// cout << "GraphEditor::OutNode::LoadNodes " << aNodeName << " "
+// << aNode.theService.ServiceinParameter.length() << " InParameters "
+// << aNode.theService.ServiceoutParameter.length() << " OutParameters "
+// << aNode.theListOfInDataStreams.size() << " InDataStreams "
+// << aNode.theListOfOutDataStreams.size() << " OutDataStreams "
+// << " _prof_debug " << _prof_debug << endl ;
+ cdebug << "GraphEditor::OutNode::LoadNodes " << aNodeName << " "
+ << aNode.theService.ServiceinParameter.length() << " InParameters "
+ << aNode.theService.ServiceoutParameter.length() << " OutParameters "
+ << aNode.theListOfInDataStreams.size() << " InDataStreams "
+ << aNode.theListOfOutDataStreams.size() << " OutDataStreams "
+ << endl ;
+ if ( aNode.theListOfFuncName.size() == 0 ) {
+ aNode.theListOfFuncName.resize( 1 ) ;
+ aNode.theListOfFuncName[ 0 ] = "" ;
+ aNode.theListOfPythonFunctions.resize( 1 ) ;
+ aNode.theListOfPythonFunctions[ 0 ] = new SUPERV::ListOfStrings() ;
+ }
+ if ( Graph()->GetGraphNode( aNode.theName.c_str() ) ) {
+ aNodeName = NULLSTRING ;
+ }
+
+ aNode.theService.ServiceinDataStreamParameter.length( aNode.theListOfInDataStreams.size() ) ;
+ aNode.theService.ServiceoutDataStreamParameter.length( aNode.theListOfOutDataStreams.size() ) ;
+ unsigned int j ;
+ for ( j = 0 ; j < aNode.theListOfInDataStreams.size() ; j++ ) {
+ aNode.theService.ServiceinDataStreamParameter[ j ].Parametername = aNode.theListOfInDataStreams[ j ].theDataStreamParameter.Parametername ,
+ aNode.theService.ServiceinDataStreamParameter[ j ].Parametertype = aNode.theListOfInDataStreams[ j ].theDataStreamParameter.Parametertype ,
+ aNode.theService.ServiceinDataStreamParameter[ j ].Parameterdependency = aNode.theListOfInDataStreams[ j ].theDataStreamParameter.Parameterdependency ;
+ }
+ for ( j = 0 ; j < aNode.theListOfOutDataStreams.size() ; j++ ) {
+ aNode.theService.ServiceoutDataStreamParameter[ j ].Parametername = aNode.theListOfOutDataStreams[ j ].theDataStreamParameter.Parametername ,
+ aNode.theService.ServiceoutDataStreamParameter[ j ].Parametertype = aNode.theListOfOutDataStreams[ j ].theDataStreamParameter.Parametertype ,
+ aNode.theService.ServiceoutDataStreamParameter[ j ].Parameterdependency = aNode.theListOfOutDataStreams[ j ].theDataStreamParameter.Parameterdependency ;
+ }
+
+ anInNode = AddNode( aNode.theService ,
+ aNode.theListOfFuncName ,
+ aNode.theListOfPythonFunctions ,
+ aNode.theComponentName.c_str() ,
+ aNode.theInterfaceName.c_str() , aNodeName ,
+ aNode.theKind ,
+ aNode.theFirstCreation , aNode.theLastModification ,
+ aNode.theEditorRelease.c_str() ,
+ aNode.theAuthor.c_str() , aNode.theContainer.c_str() ,
+ aNode.theComment.c_str() ,
+ aNode.theCoords.theX , aNode.theCoords.theY ) ;
+ string * aNodetheName = new string( aNode.theName ) ;
+ aMapOfNodes[ *aNodetheName ] = Graph()->GetGraphNodeIndex( anInNode->Name() ) ;
+ if ( anInNode->IsOneOfInLineNodes() || anInNode->IsMacroNode() ) {
+ anInNode->GraphEditor::InNode::InLineNode()->DefPortsOfNode(
+ _Orb , aNode.theService , anInNode->NamePtr() ,
+ anInNode->Kind() ,
+ _prof_debug , _fdebug ) ;
+ GraphBase::InLineNode * aINode = anInNode->InLineNode() ;
+ GraphBase::LoopNode * aLNode = NULL ;
+ if ( aINode->IsLoopNode() ) {
+ aLNode = anInNode->LoopNode() ;
+ aLNode->SetPythonFunction( aNode.theListOfFuncName[ 0 ].c_str() ,
+ *aNode.theListOfPythonFunctions[ 0 ] ) ;
+ aLNode->SetMorePythonFunction( aNode.theListOfFuncName[ 1 ].c_str() ,
+ *aNode.theListOfPythonFunctions[ 1 ] ) ;
+ aLNode->SetNextPythonFunction( aNode.theListOfFuncName[ 2 ].c_str() ,
+ *aNode.theListOfPythonFunctions[ 2 ] ) ;