Salome HOME
Join modifications from BR_Dev_For_4_0 tag V4_1_1.
[modules/superv.git] / src / GraphEditor / DataFlowEditor_OutNode.cxx
index 00e93299fd660fb8a86ec95008a018efa4619675..8e60fccc48552d39238eca0a69fa888cbba18770 100644 (file)
@@ -349,6 +349,10 @@ bool GraphEditor::OutNode::LoadNodes(map< string , int > & aMapOfNodes ,
                         aNode.theAuthor.c_str() , aNode.theContainer.c_str() ,
                         aNode.theComment.c_str() ,
                         aNode.theCoords.theX , aNode.theCoords.theY ) ;
+
+    // insert container into < ComponentName, Container > map for corresponding component
+    Graph()->InsertToMapOfComponentNameContainer( aNode.theComponentName.c_str(), aNode.theContainer.c_str() ) ; // mkr : PAL13947
+
     string * aNodetheName = new string( aNode.theName ) ;
     aMapOfNodes[ *aNodetheName ] = Graph()->GetGraphNodeIndex( anInNode->Name() ) ;
     if ( anInNode->IsOneOfInLineNodes() || anInNode->IsMacroNode() ) {
@@ -1015,6 +1019,11 @@ bool GraphEditor::OutNode::Valid() {
   Graph()->ComputingNodes() ;
 #endif
 
+  if ( !Graph()->ValidGOTO() ) { // mkr : PAL12575
+    cdebug << "Editor::OutNode::Valid This DataFlow have not valid GOTO(ValidGOTO)." << endl ;
+    RetVal = false ;
+  }
+
   if ( RetVal ) {
     _Valid = true ;
   }
@@ -1059,7 +1068,7 @@ bool GraphEditor::OutNode::Executable() {
     StreamGraph()->SubStreamGraphsNumber( SubStreamGraphsNumber ) ;
 
   Graph()->InLineServices() ;
-
+  
 //  if ( kLoopSwitch ) {
     if ( !Graph()->ValidLoops() ) {
       cdebug << "Editor::OutNode::Executable This DataFlow have not valid Loops(ValidLoops)." << endl ;
@@ -1191,7 +1200,7 @@ bool GraphEditor::OutNode::LinkSaveXML( QDomDocument & Graph , QDomElement & lin
     valuetype.appendChild( aField ) ;
     switch (aLink.aLinkValue.type()->kind()) {
       case CORBA::tk_string: {
-        char* retstr ;
+        const char* retstr ;
         aLink.aLinkValue >>= retstr;
 //        f << Tabs << "       <value>" << retstr << "</value>" << endl ;
         QDomElement value = Graph.createElement( "value" ) ;
@@ -1217,7 +1226,7 @@ bool GraphEditor::OutNode::LinkSaveXML( QDomDocument & Graph , QDomElement & lin
         break ;
       }
       case CORBA::tk_double: {
-        double d;
+        CORBA::Double d;
         aLink.aLinkValue >>= d;
 //        f << Tabs << "       <value>" << d << "</value>" << endl ;
         QDomElement value = Graph.createElement( "value" ) ;
@@ -1230,7 +1239,7 @@ bool GraphEditor::OutNode::LinkSaveXML( QDomDocument & Graph , QDomElement & lin
         break ;
       }
       case CORBA::tk_long: {
-        long l;
+        CORBA::Long l;
         aLink.aLinkValue >>= l;
 //        f << Tabs << "       <value>" << l << "</value>" << endl ;
         QDomElement value = Graph.createElement( "value" ) ;
@@ -1239,13 +1248,17 @@ bool GraphEditor::OutNode::LinkSaveXML( QDomDocument & Graph , QDomElement & lin
         aField = Graph.createTextNode( aKind ) ;
         datavalue.appendChild( value ) ;
         value.appendChild( aField ) ;
-//        MESSAGE( "ToString( long ) " << l );
+//        MESSAGE( "ToString( CORBA::Long ) " << l );
         break ;
       }
       case CORBA::tk_objref: {
         char* retstr ;
         CORBA::Object_ptr obj ;
-        aLink.aLinkValue >>= obj ;
+#if OMNIORB_VERSION >= 4
+        aLink.aLinkValue >>= (CORBA::Any::to_object)obj;
+#else
+       aLink.aLinkValue >>= obj;
+#endif 
         retstr = _Orb->object_to_string(obj );
 //        f << Tabs << "       <value>" << retstr << "</value>" << endl ;
         QDomElement value = Graph.createElement( "value" ) ;
@@ -1336,19 +1349,19 @@ bool GraphEditor::OutNode::LinkSavePY( ostream &f , const char * aGraphName ,
       << ".Input( " ;
     switch (aLink.aLinkValue.type()->kind()) {
       case CORBA::tk_string: {
-        char* retstr ;
+        const char* retstr ;
         aLink.aLinkValue >>= retstr;
         f << "'" << retstr << "'" ;
         break ;
       }
       case CORBA::tk_double: {
-        double d;
+        CORBA::Double d;
         aLink.aLinkValue >>= d;
         f << d ;
         break ;
       }
       case CORBA::tk_long: {
-        long l;
+        CORBA::Long l;
         aLink.aLinkValue >>= l;
         f << l ;
         break ;
@@ -1356,7 +1369,11 @@ bool GraphEditor::OutNode::LinkSavePY( ostream &f , const char * aGraphName ,
       case CORBA::tk_objref: {
         char* retstr ;
         CORBA::Object_ptr obj ;
-        aLink.aLinkValue >>= obj ;
+#if OMNIORB_VERSION >= 4
+        aLink.aLinkValue >>= (CORBA::Any::to_object)obj;
+#else
+       aLink.aLinkValue >>= obj;
+#endif 
         retstr = _Orb->object_to_string(obj );
         f << "'" << retstr << "'" ;
         break ;