From 17854da1883d451321781a52382e0247933a352c Mon Sep 17 00:00:00 2001 From: jfa Date: Fri, 1 Feb 2008 15:13:31 +0000 Subject: [PATCH] Adapt code to modifications in KERNEL. --- idl/SUPERV.idl | 26 +++---- src/GraphBase/DataFlowBase_Base.cxx | 35 ++++++++- src/GraphBase/DataFlowBase_Base.hxx | 8 +-- src/GraphBase/DataFlowBase_ComputingNode.cxx | 75 ++++++++++---------- src/GraphBase/DataFlowBase_ComputingNode.hxx | 4 +- src/GraphBase/DataFlowBase_Graph.cxx | 18 ++--- src/SUPERVGUI/SUPERVGUI_Clipboard.cxx | 11 +-- src/SUPERVGUI/SUPERVGUI_Service.cxx | 25 +++---- src/Supervision/Graph_Impl.cxx | 41 +++++++---- src/Supervision/Graph_Impl.hxx | 2 +- src/Supervision/INode_Impl.cxx | 6 +- src/Supervision/INode_Impl.hxx | 4 +- 12 files changed, 152 insertions(+), 103 deletions(-) diff --git a/idl/SUPERV.idl b/idl/SUPERV.idl index a26a910..4814940 100644 --- a/idl/SUPERV.idl +++ b/idl/SUPERV.idl @@ -671,19 +671,21 @@ executed for performing calculations, as well as input and output parameters for */ SUPERV::Port OutPort( in string aParameterName , in string aParameterType ) ; -/*! Creates an Input DataStreamPort in an Inline node. -\param aParameterName This value sets the name of the parameter which will be defined in this port. -\param aParameterType This value sets the type of the parameter which will be defined in this port. -*/ - SUPERV::StreamPort InStreamPort( in string aParameterName , in SALOME_ModuleCatalog::DataStreamType aParameterType , in SALOME_ModuleCatalog::DataStreamDependency aDependency ) ; + /*! Creates an Input DataStreamPort in an Inline node. + \param aParameterName This value sets the name of the parameter which will be defined in this port. + \param aParameterType This value sets the type of the parameter which will be defined in this port. + */ + SUPERV::StreamPort InStreamPort (in string aParameterName, in string aParameterType, + in SALOME_ModuleCatalog::DataStreamDependency aDependency); -/*! Creates an Output DataStreamPort in an Inline node. -\param aParameterName This value sets the name of the parameter which will be defined in this port. -\param aParameterType This value sets the type of the parameter which will be defined in this port. -*/ - SUPERV::StreamPort OutStreamPort( in string aParameterName , in SALOME_ModuleCatalog::DataStreamType aParameterType , in SALOME_ModuleCatalog::DataStreamDependency aDependency ) ; + /*! Creates an Output DataStreamPort in an Inline node. + \param aParameterName This value sets the name of the parameter which will be defined in this port. + \param aParameterType This value sets the type of the parameter which will be defined in this port. + */ + SUPERV::StreamPort OutStreamPort (in string aParameterName, in string aParameterType, + in SALOME_ModuleCatalog::DataStreamDependency aDependency); + }; - } ; /*! \brief %GNode class This class is necessary for management of GOTO/EndLoop/EndSwitch nodes in the dataflow. @@ -784,7 +786,7 @@ This interface includes a set of methods used for management of the graphs in %S SUPERV::FNode FNode( in string aComponentName , in string anInterfaceName , in SALOME_ModuleCatalog::Service aService , - in boolean isCimpl ) ; + in SALOME_ModuleCatalog::ImplType implType ) ; /*! Creates an InLine Node in a Graph. */ diff --git a/src/GraphBase/DataFlowBase_Base.cxx b/src/GraphBase/DataFlowBase_Base.cxx index ccebdd0..2f75014 100644 --- a/src/GraphBase/DataFlowBase_Base.cxx +++ b/src/GraphBase/DataFlowBase_Base.cxx @@ -151,6 +151,7 @@ ostream & GraphBase::Base::AnyValue( const CORBA::Any & anAny ) { return *_fdebug ; } +/* string DataStreamTypeToString( const SALOME_ModuleCatalog::DataStreamType aDataStreamType ) { string aIdlType ; switch ( aDataStreamType ) { @@ -211,6 +212,19 @@ SALOME_ModuleCatalog::DataStreamType StringToDataStreamType( const char * aIdlTy } return aDataStreamType ; } +*/ +int StringToDataStreamType (const char * aIdlType) +{ + int aDataStreamType; + if (!strcmp(aIdlType, "Unknown")) aDataStreamType = 0; //SALOME_ModuleCatalog::DATASTREAM_UNKNOWN + else if (!strcmp(aIdlType, "int")) aDataStreamType = 1; //SALOME_ModuleCatalog::DATASTREAM_INTEGER + else if (!strcmp(aIdlType, "float")) aDataStreamType = 2; //SALOME_ModuleCatalog::DATASTREAM_FLOAT + else if (!strcmp(aIdlType, "double")) aDataStreamType = 3; //SALOME_ModuleCatalog::DATASTREAM_DOUBLE + else if (!strcmp(aIdlType, "string")) aDataStreamType = 4; //SALOME_ModuleCatalog::DATASTREAM_STRING + else if (!strcmp(aIdlType, "bool")) aDataStreamType = 5; //SALOME_ModuleCatalog::DATASTREAM_BOOLEAN + else aDataStreamType = 0; //SALOME_ModuleCatalog::DATASTREAM_UNKNOWN + return aDataStreamType; +} string KindOfDataStreamTraceToString( SUPERV::KindOfDataStreamTrace aDataStreamTrace ) { string aTrace ; @@ -251,7 +265,24 @@ string DataStreamDependencyToString( const SALOME_ModuleCatalog::DataStreamDepen return aDependency; } -string DataStreamToString( const SALOME_ModuleCatalog::DataStreamType aDataStreamType ) { +string DataStreamToString (const char* aDataStreamType) +{ + string aStreamType ; + string type (aDataStreamType); + + if (type == "Unknown") aStreamType = "Unknown"; + else if (type == "int") aStreamType = "ENTIER"; + else if (type == "float") aStreamType = "REEL"; + else if (type == "double") aStreamType = "DOUBLE"; + else if (type == "string") aStreamType = "CHAINE"; + else if (type == "bool") aStreamType = "LOGIQUE"; + else aStreamType = "?"; + + return aStreamType; +} + +/* +string DataStreamToString( const char* aDataStreamType ) { string aStreamType ; switch ( aDataStreamType ) { case SALOME_ModuleCatalog::DATASTREAM_UNKNOWN : { @@ -313,4 +344,4 @@ ostream & operator<< (ostream & f ,const SALOME_ModuleCatalog::DataStreamType & return f; } - +*/ diff --git a/src/GraphBase/DataFlowBase_Base.hxx b/src/GraphBase/DataFlowBase_Base.hxx index 3c2ede8..60cb36e 100644 --- a/src/GraphBase/DataFlowBase_Base.hxx +++ b/src/GraphBase/DataFlowBase_Base.hxx @@ -83,14 +83,14 @@ inline char * my_strblkdup( const char * s ) { return t; } -string DataStreamTypeToString( const SALOME_ModuleCatalog::DataStreamType aDataStreamType ) ; -SALOME_ModuleCatalog::DataStreamType StringToDataStreamType( const char * aIdlType ) ; +//string DataStreamTypeToString( const SALOME_ModuleCatalog::DataStreamType aDataStreamType ) ; +int StringToDataStreamType( const char * aIdlType ) ; string KindOfDataStreamTraceToString( SUPERV::KindOfDataStreamTrace aDataStreamTrace ) ; string DataStreamDependencyToString( const SALOME_ModuleCatalog::DataStreamDependency aDataStreamDependency ) ; -string DataStreamToString( const SALOME_ModuleCatalog::DataStreamType aDataStreamType ) ; +string DataStreamToString( const char* aDataStreamType ) ; //enum StatusOfPort { NotConnected , PortConnected , PortAndDataConnected , enum StatusOfPort { NotConnected , PortConnected , @@ -222,6 +222,6 @@ namespace GraphBase { } ; -ostream & operator<< (ostream &,const SALOME_ModuleCatalog::DataStreamType &); +//ostream & operator<< (ostream &,const SALOME_ModuleCatalog::DataStreamType &); #endif diff --git a/src/GraphBase/DataFlowBase_ComputingNode.cxx b/src/GraphBase/DataFlowBase_ComputingNode.cxx index 0328a38..e77cb75 100644 --- a/src/GraphBase/DataFlowBase_ComputingNode.cxx +++ b/src/GraphBase/DataFlowBase_ComputingNode.cxx @@ -454,8 +454,8 @@ void GraphBase::ComputingNode::SetMacroPorts( GraphBase::Graph * aGraph ) { << " " << anInPort->Kind() << endl ; GraphBase::InPort * aNewInPort ; if ( anInPort->IsDataStream() ) { - aNewInPort = AddInDataStreamPort( anInPort->PortName() , StringToDataStreamType( anInPort->PortType() ) , - anInPort->Dependency() , anInPort->Kind() ) ; + aNewInPort = AddInDataStreamPort( anInPort->PortName(), anInPort->PortType(), + anInPort->Dependency(), anInPort->Kind() ) ; } else if ( anInPort->IsParam() || anInPort->IsInLine() ) { aNewInPort = AddInPort( anInPort->PortName() , anInPort->PortType() , anInPort->Kind() ) ; @@ -466,8 +466,8 @@ void GraphBase::ComputingNode::SetMacroPorts( GraphBase::Graph * aGraph ) { cdebug << "SetMacroPorts Out" << i << " " << anOutPort->PortName() << " " << anOutPort->PortType() << " " << anOutPort->Kind() << endl ; if ( anOutPort->IsDataStream() ) { - AddOutDataStreamPort( anOutPort->PortName() , StringToDataStreamType( anOutPort->PortType() ) , - anOutPort->Dependency() , anOutPort->Kind() ) ; + AddOutDataStreamPort( anOutPort->PortName(), anOutPort->PortType(), + anOutPort->Dependency(), anOutPort->Kind() ) ; } else if ( anOutPort->IsParam() || anOutPort->IsInLine() ) { AddOutPort( anOutPort->PortName() , anOutPort->PortType() , anOutPort->Kind() ) ; @@ -881,8 +881,8 @@ void GraphBase::ComputingNode::DelOutDataStreamPort( const char * OutputParamete GraphBase::PortsOfNode::DelOutPort( OutputParameterName ) ; } -GraphBase::InDataStreamPort * GraphBase::ComputingNode::AddInDataStreamPort( const char * InputParameterName , - const SALOME_ModuleCatalog::DataStreamType InputParameterType , +GraphBase::InDataStreamPort * GraphBase::ComputingNode::AddInDataStreamPort( const char * InputParameterName, + const char * InputParameterType, const SALOME_ModuleCatalog::DataStreamDependency aDependency , const SUPERV::KindOfPort aKindOfPort , int index ) { @@ -891,7 +891,7 @@ GraphBase::InDataStreamPort * GraphBase::ComputingNode::AddInDataStreamPort( con aDataStreamPort = (GraphBase::InDataStreamPort * ) GraphBase::PortsOfNode::AddInPort( _ORB , NamePtr() , Kind() , InputParameterName , - DataStreamTypeToString( InputParameterType ).c_str() , + InputParameterType , aKindOfPort , index , _Graph_prof_debug , @@ -902,17 +902,17 @@ GraphBase::InDataStreamPort * GraphBase::ComputingNode::AddInDataStreamPort( con } return aDataStreamPort ; } -GraphBase::OutDataStreamPort * GraphBase::ComputingNode::AddOutDataStreamPort( const char * OutputParameterName , - const SALOME_ModuleCatalog::DataStreamType OutputParameterType , +GraphBase::OutDataStreamPort * GraphBase::ComputingNode::AddOutDataStreamPort( const char * OutputParameterName, + const char * OutputParameterType, const SALOME_ModuleCatalog::DataStreamDependency aDependency , const SUPERV::KindOfPort aKindOfPort , int index ) { // IncrDataStreamOutPorts() ; GraphBase::OutDataStreamPort * aDataStreamPort ; - aDataStreamPort = (GraphBase::OutDataStreamPort * ) GraphBase::PortsOfNode::AddOutPort( _ORB , NamePtr() , - Kind() , - OutputParameterName , - DataStreamTypeToString( OutputParameterType ).c_str() , + aDataStreamPort = (GraphBase::OutDataStreamPort * ) GraphBase::PortsOfNode::AddOutPort( _ORB , NamePtr(), + Kind(), + OutputParameterName, + OutputParameterType, aKindOfPort , index , _Graph_prof_debug , @@ -1348,8 +1348,8 @@ bool GraphBase::ComputingNode::SaveXML( QDomDocument & Graph , QDomElement & inf DataStreamlist.appendChild(inParameter) ; QDomElement inParametertype = Graph.createElement("inParameter-type") ; QString aType ; - aType = aType.setNum( StringToDataStreamType( anInPort->PortType() ) ) ; - cdebug << "SaveXML " << anInPort->PortType() << " --> " << StringToDataStreamType( anInPort->PortType() ) + aType = aType.setNum( StringToDataStreamType(anInPort->PortType()) ) ; + cdebug << "SaveXML " << anInPort->PortType() << " --> " << anInPort->PortType() << " " << aType << endl ; aField = Graph.createTextNode( aType ) ; inParameter.appendChild(inParametertype) ; @@ -1408,8 +1408,8 @@ bool GraphBase::ComputingNode::SaveXML( QDomDocument & Graph , QDomElement & inf DataStreamlist.appendChild(outParameter) ; QDomElement outParametertype = Graph.createElement("outParameter-type") ; QString aType ; - aType = aType.setNum( StringToDataStreamType( anOutPort->PortType() ) ) ; - cdebug << "SaveXML " << anOutPort->PortType() << " --> " << StringToDataStreamType( anOutPort->PortType() ) + aType = aType.setNum( StringToDataStreamType(anOutPort->PortType()) ) ; + cdebug << "SaveXML " << anOutPort->PortType() << " --> " << anOutPort->PortType() << " " << aType << endl ; aField = Graph.createTextNode( aType ) ; outParameter.appendChild(outParametertype) ; @@ -1607,15 +1607,15 @@ bool GraphBase::ComputingNode::SavePY( ostream &f , const char * aGraphName , } f << " " << Name() << "_ServiceinStreamParameter = []" << endl ; for ( i = 0 ; i < (int ) ServiceInStreamParameter().length() ; i++ ) { - f << " " << Name() << "_ServiceinStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( SALOME_ModuleCatalog." - << ServiceInStreamParameter()[i].Parametertype << " , '" + f << " " << Name() << "_ServiceinStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( '" + << ServiceInStreamParameter()[i].Parametertype << "' , '" << ServiceInStreamParameter()[i].Parametername << "' , SALOME_ModuleCatalog." << ServiceInStreamParameter()[i].Parameterdependency << " ) )" << endl ; } f << " " << Name() << "_ServiceoutStreamParameter = []" << endl ; for ( i = 0 ; i < (int ) ServiceOutStreamParameter().length() ; i++ ) { - f << " " << Name() << "_ServiceoutStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( SALOME_ModuleCatalog." - << ServiceOutStreamParameter()[i].Parametertype << " , '" + f << " " << Name() << "_ServiceoutStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( '" + << ServiceOutStreamParameter()[i].Parametertype << "' , '" << ServiceOutStreamParameter()[i].Parametername << "' , SALOME_ModuleCatalog." << ServiceOutStreamParameter()[i].Parameterdependency << " ) )" << endl ; } @@ -1727,9 +1727,8 @@ bool GraphBase::ComputingNode::SavePY( ostream &f , const char * aGraphName , } else if ( anInPort->IsDataStream() ) { f << " " << "I" << Name() << anInPort->PortName() << " = " << Name() - << ".InStreamPort( '" << anInPort->PortName() - << "' , SALOME_ModuleCatalog." << StringToDataStreamType( anInPort->PortType() ) - << " , SALOME_ModuleCatalog." << anInPort->Dependency() << " )" << endl ; + << ".InStreamPort( '" << anInPort->PortName() << "' , '" << anInPort->PortType() + << "' , SALOME_ModuleCatalog." << anInPort->Dependency() << " )" << endl ; SUPERV::KindOfSchema aKindOfSchema ; SUPERV::KindOfInterpolation aKindOfInterpolation ; SUPERV::KindOfExtrapolation aKindOfExtrapolation ; @@ -1753,8 +1752,8 @@ bool GraphBase::ComputingNode::SavePY( ostream &f , const char * aGraphName , else if ( anOutPort->IsDataStream() ) { f << " " << "O" << Name() << anOutPort->PortName() << " = " << Name() << ".OutStreamPort( '" << anOutPort->PortName() - << "' , SALOME_ModuleCatalog." << StringToDataStreamType( anOutPort->PortType() ) - << " , SALOME_ModuleCatalog." << anOutPort->Dependency() << " )" << endl ; + << "' , '" << anOutPort->PortType() + << "' , SALOME_ModuleCatalog." << anOutPort->Dependency() << " )" << endl ; long aNumberOfValues ; aNumberOfValues = ((GraphBase::OutDataStreamPort * ) anOutPort)->NumberOfValues() ; f << " " << "O" << Name() << anOutPort->PortName() << ".SetNumberOfValues( " << aNumberOfValues << " )" @@ -1777,8 +1776,8 @@ bool GraphBase::ComputingNode::SavePY( ostream &f , const char * aGraphName , else if ( anInPort->IsDataStream() ) { f << " " << "I" << EndName << anInPort->PortName() << " = " << EndName << ".InStreamPort( '" << anInPort->PortName() - << "' , SALOME_ModuleCatalog." << StringToDataStreamType( anInPort->PortType() ) - << " , SALOME_ModuleCatalog." << anInPort->Dependency() << " )" << endl ; + << "' , '" << anInPort->PortType() + << "' , SALOME_ModuleCatalog." << anInPort->Dependency() << " )" << endl ; SUPERV::KindOfSchema aKindOfSchema ; SUPERV::KindOfInterpolation aKindOfInterpolation ; SUPERV::KindOfExtrapolation aKindOfExtrapolation ; @@ -1798,8 +1797,8 @@ bool GraphBase::ComputingNode::SavePY( ostream &f , const char * aGraphName , else if ( anOutPort->IsDataStream() ) { f << " " << "O" << EndName << anOutPort->PortName() << " = " << EndName << ".OutStreamPort( '" << anOutPort->PortName() - << "' , SALOME_ModuleCatalog." << StringToDataStreamType( anOutPort->PortType() ) - << " , SALOME_ModuleCatalog." << anOutPort->Dependency() << " )" << endl ; + << "' , '" << anOutPort->PortType() + << "' , SALOME_ModuleCatalog." << anOutPort->Dependency() << " )" << endl ; long aNumberOfValues ; aNumberOfValues = ((GraphBase::OutDataStreamPort * ) anOutPort)->NumberOfValues() ; f << " " << "O" << EndName << anOutPort->PortName() << ".SetNumberOfValues( " << aNumberOfValues << " )" @@ -1839,8 +1838,8 @@ bool GraphBase::ComputingNode::SavePY( ostream &f , const char * aGraphName , else if ( anInPort->IsDataStream() ) { f << " " << "I" << EndName << anInPort->PortName() << " = " << EndName << ".InStreamPort( '" << anInPort->PortName() - << "' , SALOME_ModuleCatalog." << StringToDataStreamType( anInPort->PortType() ) - << " , SALOME_ModuleCatalog." << anInPort->Dependency() << " )" << endl ; + << "' , '" << anInPort->PortType() + << "' , SALOME_ModuleCatalog." << anInPort->Dependency() << " )" << endl ; SUPERV::KindOfSchema aKindOfSchema ; SUPERV::KindOfInterpolation aKindOfInterpolation ; SUPERV::KindOfExtrapolation aKindOfExtrapolation ; @@ -1866,8 +1865,8 @@ bool GraphBase::ComputingNode::SavePY( ostream &f , const char * aGraphName , else if ( anOutPort->IsDataStream() ) { f << " " << "O" << EndName << anOutPort->PortName() << " = " << EndName << ".OutStreamPort( '" << anOutPort->PortName() - << "' , SALOME_ModuleCatalog." << StringToDataStreamType( anOutPort->PortType() ) - << " , SALOME_ModuleCatalog." << anOutPort->Dependency() << " )" << endl ; + << "' , '" << anOutPort->PortType() + << "' , SALOME_ModuleCatalog." << anOutPort->Dependency() << " )" << endl ; long aNumberOfValues ; aNumberOfValues = ((GraphBase::OutDataStreamPort * ) anOutPort)->NumberOfValues() ; f << " " << "O" << EndName << anOutPort->PortName() << ".SetNumberOfValues( " << aNumberOfValues << " )" @@ -1968,8 +1967,8 @@ bool GraphBase::ComputingNode::SavePY( ostream &f , const char * aGraphName , if ( anInPort->IsDataStream() ) { if ( IsOneOfInLineNodes() ) { f << " " << "I" << Name() << anInPort->PortName() << " = " - << Name() << ".InStreamPort( '" << anInPort->PortName() << "' , SALOME_ModuleCatalog." - << StringToDataStreamType( anInPort->PortType() ) << " , SALOME_ModuleCatalog." + << Name() << ".InStreamPort( '" << anInPort->PortName() << "' , '" + << anInPort->PortType() << "' , SALOME_ModuleCatalog." << anInPort->Dependency() << " )" << endl ; } else { @@ -1991,8 +1990,8 @@ bool GraphBase::ComputingNode::SavePY( ostream &f , const char * aGraphName , if ( anOutPort->IsDataStream() ) { if ( IsOneOfInLineNodes() ) { f << " " << "O" << Name() << anOutPort->PortName() << " = " - << Name() << ".OutStreamPort( '" << anOutPort->PortName() << "' , SALOME_ModuleCatalog." - << StringToDataStreamType( anOutPort->PortType() ) << " , SALOME_ModuleCatalog." + << Name() << ".OutStreamPort( '" << anOutPort->PortName() << "' , '" + << anOutPort->PortType() << "' , SALOME_ModuleCatalog." << anOutPort->Dependency() << " )" << endl ; } else { diff --git a/src/GraphBase/DataFlowBase_ComputingNode.hxx b/src/GraphBase/DataFlowBase_ComputingNode.hxx index bac84d5..981989b 100644 --- a/src/GraphBase/DataFlowBase_ComputingNode.hxx +++ b/src/GraphBase/DataFlowBase_ComputingNode.hxx @@ -227,12 +227,12 @@ namespace GraphBase { void DelOutDataStreamPort( const char * OutputParameterName ) ; InDataStreamPort * AddInDataStreamPort( const char * InputParameterName , - const SALOME_ModuleCatalog::DataStreamType InputParameterType , + const char * InputParameterType , const SALOME_ModuleCatalog::DataStreamDependency aDependency , const SUPERV::KindOfPort aKindOfPort , int index = -1 ) ; OutDataStreamPort * AddOutDataStreamPort( const char * OutputParameterName , - const SALOME_ModuleCatalog::DataStreamType OutputParameterType , + const char * OutputParameterType , const SALOME_ModuleCatalog::DataStreamDependency aDependency , const SUPERV::KindOfPort aKindOfPort , int index = -1 ) ; diff --git a/src/GraphBase/DataFlowBase_Graph.cxx b/src/GraphBase/DataFlowBase_Graph.cxx index 7535084..e5d0723 100644 --- a/src/GraphBase/DataFlowBase_Graph.cxx +++ b/src/GraphBase/DataFlowBase_Graph.cxx @@ -241,9 +241,9 @@ GraphBase::ListOfSNodes * GraphBase::Graph::GetNodes() const { const GraphBase::InPort * anInPort ; anInPort = aCNode->GetNodeInPort( iostream ) ; if ( anInPort->IsDataStream() ) { - cdebug << "GraphBase::Graph::GetNodes In" << iostream << " " << aCNode->Name() << " " << anInPort->NodeName() << " " << anInPort->PortName() - << endl ; - (*_list_nodes)[ind].theListOfInDataStreams[streamind].theDataStreamParameter.Parametertype = StringToDataStreamType( anInPort->PortType() ) ; + cdebug << "GraphBase::Graph::GetNodes In" << iostream << " " << aCNode->Name() + << " " << anInPort->NodeName() << " " << anInPort->PortName() << endl; + (*_list_nodes)[ind].theListOfInDataStreams[streamind].theDataStreamParameter.Parametertype = CORBA::string_dup( anInPort->PortType() ) ; (*_list_nodes)[ind].theListOfInDataStreams[streamind].theDataStreamParameter.Parametername = CORBA::string_dup( anInPort->PortName() ) ; (*_list_nodes)[ind].theListOfInDataStreams[streamind].theDataStreamParameter.Parameterdependency = anInPort->Dependency() ; SUPERV::KindOfSchema aKindOfSchema ; @@ -278,7 +278,7 @@ GraphBase::ListOfSNodes * GraphBase::Graph::GetNodes() const { if ( anOutPort->IsDataStream() ) { cdebug << "GraphBase::Graph::GetNodes Out" << iostream << " " << aCNode->Name() << " " << anOutPort->NodeName() << " " << anOutPort->PortName() << " " << endl ; - (*_list_nodes)[ind].theListOfOutDataStreams[streamind].theDataStreamParameter.Parametertype = StringToDataStreamType( anOutPort->PortType() ) ; + (*_list_nodes)[ind].theListOfOutDataStreams[streamind].theDataStreamParameter.Parametertype = CORBA::string_dup( anOutPort->PortType() ) ; (*_list_nodes)[ind].theListOfOutDataStreams[streamind].theDataStreamParameter.Parametername = CORBA::string_dup( anOutPort->PortName() ) ; (*_list_nodes)[ind].theListOfOutDataStreams[streamind].theDataStreamParameter.Parameterdependency = anOutPort->Dependency() ; long aNumberOfValues = ((GraphBase::OutDataStreamPort * ) anOutPort)->NumberOfValues() ; @@ -2118,8 +2118,8 @@ bool GraphBase::Graph::CreateService() { // DataService( _Orb , aService , InPortsKind , OutPortsKind , Graph_prof_debug() , Graph_fdebug() ) ; for ( i = 0 ; i < innbr ; i++ ) { if ( InPortsKind[ i ] == SUPERV::DataStreamParameter ) { - GraphBase::InDataStreamPort * anInPort = AddInDataStreamPort( aService.ServiceinParameter[ i ].Parametername , - StringToDataStreamType( aService.ServiceinParameter[ i ].Parametertype ) , + GraphBase::InDataStreamPort * anInPort = AddInDataStreamPort( aService.ServiceinParameter[ i ].Parametername, + aService.ServiceinParameter[ i ].Parametertype, InDataStreamDependency[ i ] , SUPERV::DataStreamParameter ) ; anInPort->SetParams( InKindOfSchema[ i ] , @@ -2160,7 +2160,7 @@ bool GraphBase::Graph::CreateService() { for ( i = 0 ; i < outnbr ; i++ ) { if ( OutPortsKind[ i ] == SUPERV::DataStreamParameter ) { GraphBase::OutDataStreamPort * anOutPort = AddOutDataStreamPort( aService.ServiceoutParameter[ i ].Parametername , - StringToDataStreamType( aService.ServiceoutParameter[ i ].Parametertype ) , + aService.ServiceoutParameter[ i ].Parametertype , OutDataStreamDependency[ i ] , SUPERV::DataStreamParameter ) ; anOutPort->NumberOfValues( OutNumberOfValues[ i ] ) ; @@ -2310,7 +2310,7 @@ bool GraphBase::Graph::InLineServices() { } else if ( aINode->GetChangeNodeInPort(j)->IsDataStream() ) { aService.ServiceinDataStreamParameter.length( InStreamService+1 ) ; - aService.ServiceinDataStreamParameter[InStreamService].Parametertype = StringToDataStreamType( aINode->GetChangeNodeInPort(j)->PortType() ) ; + aService.ServiceinDataStreamParameter[InStreamService].Parametertype = CORBA::string_dup( aINode->GetChangeNodeInPort(j)->PortType() ) ; aService.ServiceinDataStreamParameter[InStreamService].Parametername = CORBA::string_dup( aINode->GetChangeNodeInPort(j)->PortName() ) ; aService.ServiceinDataStreamParameter[InStreamService++].Parameterdependency = aINode->GetChangeNodeInPort(j)->Dependency() ; aINode->IncrDataStreamInPorts() ; @@ -2353,7 +2353,7 @@ bool GraphBase::Graph::InLineServices() { } else if ( aINode->GetChangeNodeOutPort(j)->IsDataStream() ) { aService.ServiceoutDataStreamParameter.length( OutStreamService+1 ) ; - aService.ServiceoutDataStreamParameter[OutStreamService].Parametertype = StringToDataStreamType( aINode->GetChangeNodeOutPort(j)->PortType() ) ; + aService.ServiceoutDataStreamParameter[OutStreamService].Parametertype = CORBA::string_dup( aINode->GetChangeNodeOutPort(j)->PortType() ) ; aService.ServiceoutDataStreamParameter[OutStreamService].Parametername = CORBA::string_dup( aINode->GetChangeNodeOutPort(j)->PortName() ) ; aService.ServiceoutDataStreamParameter[OutStreamService++].Parameterdependency = aINode->GetChangeNodeOutPort(j)->Dependency() ; aINode->IncrDataStreamOutPorts() ; diff --git a/src/SUPERVGUI/SUPERVGUI_Clipboard.cxx b/src/SUPERVGUI/SUPERVGUI_Clipboard.cxx index 0be9d3f..41b33d8 100644 --- a/src/SUPERVGUI/SUPERVGUI_Clipboard.cxx +++ b/src/SUPERVGUI/SUPERVGUI_Clipboard.cxx @@ -157,10 +157,13 @@ void SUPERVGUI_Clipboard::pasteNode() { case SUPERV::FactoryNode : { - SUPERV::FNode_var aFNode = dataflow->FNode( SUPERV::FNode::_narrow(aNode)->GetComponentName(), - SUPERV::FNode::_narrow(aNode)->GetInterfaceName(), - *SUPERV::FNode::_narrow(aNode)->Service(), - SUPERV::FNode::_narrow(aNode)->IsCimpl()); // mkr : PAL11273 + SUPERV::FNode_var aNodeFNode = SUPERV::FNode::_narrow(aNode); + SALOME_ModuleCatalog::ImplType anImplType = SALOME_ModuleCatalog::SO; + if (!aNodeFNode->IsCimpl()) anImplType = SALOME_ModuleCatalog::PY; + SUPERV::FNode_var aFNode = dataflow->FNode(aNodeFNode->GetComponentName(), + aNodeFNode->GetInterfaceName(), + *aNodeFNode->Service(), + anImplType); // mkr : PAL11273 if (CORBA::is_nil(aFNode)) { QMessageBox::warning(SUIT_Session::session()->activeApplication()->desktop(), tr("ERROR"), tr("MSG_CANT_CREATE_NODE")); return; diff --git a/src/SUPERVGUI/SUPERVGUI_Service.cxx b/src/SUPERVGUI/SUPERVGUI_Service.cxx index 10b5093..9d9c9d2 100644 --- a/src/SUPERVGUI/SUPERVGUI_Service.cxx +++ b/src/SUPERVGUI/SUPERVGUI_Service.cxx @@ -263,22 +263,22 @@ SUPERVGUI_Service::SUPERVGUI_Service(SALOME_NamingService* ns): } -char* getDataStreamParameterName(int aType) +char* getDataStreamParameterName(const char * aType) { - switch(aType) { - case 1: + QString type (aType); + + if (aType == "int") // 1 return "integer"; - case 2: + if (aType == "float") // 2 return "float"; - case 3: + if (aType == "double") // 3 return "double"; - case 4: + if (aType == "string") // 4 return "string"; - case 6: + if (aType == "bool") // 6 ?? return "boolean"; - default: - return "unknown"; - } + + return "unknown"; } void SUPERVGUI_Service::initialise() { @@ -336,10 +336,11 @@ void SUPERVGUI_Service::initialise() { long nbStreamPortsOut = Service->ServiceoutDataStreamParameter.length(); for (int m=0; mServiceoutDataStreamParameter[m]); + SALOME_ModuleCatalog::ServicesDataStreamParameter* PortOut = + &(Service->ServiceoutDataStreamParameter[m]); QListViewItem* myPortOutItem = new QListViewItem(myServiceItem, (char*)PortOut->Parametername, - getDataStreamParameterName(PortOut->Parametertype), "DataStream Out"); + getDataStreamParameterName(PortOut->Parametertype), "DataStream Out"); myPortOutItem->setSelectable(false); } diff --git a/src/Supervision/Graph_Impl.cxx b/src/Supervision/Graph_Impl.cxx index a6b976f..bbc0fec 100644 --- a/src/Supervision/Graph_Impl.cxx +++ b/src/Supervision/Graph_Impl.cxx @@ -401,9 +401,20 @@ SUPERV::CNode_ptr Graph_Impl::CNode( const SALOME_ModuleCatalog::Service &NodeSe SUPERV::FNode_ptr Graph_Impl::FNode( const char * NodeComponentName , const char * NodeInterfaceName , const SALOME_ModuleCatalog::Service &NodeService , - bool isCimpl ) { + const SALOME_ModuleCatalog::ImplType ImplType ) { beginService( "Graph_Impl::FNode" ); SUPERV::FNode_var iobject = SUPERV::FNode::_nil() ; + bool isCimpl = true; + switch (ImplType) + { + case SALOME_ModuleCatalog::PY: + isCimpl = false; + break; + case SALOME_ModuleCatalog::SO: + case SALOME_ModuleCatalog::EXE: + default: + ; + } if ( DataFlowEditor()->IsEditing() && !DataFlowEditor()->IsReadOnly() && !IsMacro() ) { FNode_Impl * myNode = new FNode_Impl( _Orb , _Poa , _ContId , instanceName() , interfaceName() , @@ -2189,10 +2200,12 @@ bool Graph_Impl::Merge(const SUPERV::Graph_ptr aGraph , map< string , int > & aM if ( RetVal ) { for ( i = 0 ; i < (int ) aGraphNodes->FNodes.length() ; i++ ) { SUPERV::FNode_var aNode = (aGraphNodes->FNodes)[ i ] ; + SALOME_ModuleCatalog::ImplType implType = SALOME_ModuleCatalog::SO; + if (!aNode->IsCimpl()) implType = SALOME_ModuleCatalog::PY; SUPERV::FNode_ptr myNode = FNode( aNode->GetComponentName() , aNode->GetInterfaceName() , *(aNode->Service()) , - aNode->IsCimpl() ) ; // mkr : PAL11273 + implType ) ; // mkr : PAL11273 if ( !CORBA::is_nil( myNode ) ) { myNode->SetName( aNode->Name() ) ; myNode->SetAuthor( aNode->Author() ) ; @@ -2247,10 +2260,10 @@ bool Graph_Impl::Merge(const SUPERV::Graph_ptr aGraph , map< string , int > & aM SUPERV::ListOfStreamPorts myStreamPorts = *(aNode->StreamPorts()) ; for ( j = 0 ; j < (int ) myStreamPorts.length() ; j++ ) { if ( myStreamPorts[ j ]->IsInput() ) { - aPort = myNode->InStreamPort( myStreamPorts[ j ]->Name() , StringToDataStreamType( myStreamPorts[ j ]->Type() ) , myStreamPorts[ j ]->Dependency() ) ; + aPort = myNode->InStreamPort( myStreamPorts[ j ]->Name(), myStreamPorts[ j ]->Type(), myStreamPorts[ j ]->Dependency() ) ; } else { - aPort = myNode->OutStreamPort( myStreamPorts[ j ]->Name() , StringToDataStreamType( myStreamPorts[ j ]->Type() ) , myStreamPorts[ j ]->Dependency() ) ; + aPort = myNode->OutStreamPort( myStreamPorts[ j ]->Name(), myStreamPorts[ j ]->Type(), myStreamPorts[ j ]->Dependency() ) ; } } } @@ -2289,10 +2302,10 @@ bool Graph_Impl::Merge(const SUPERV::Graph_ptr aGraph , map< string , int > & aM SUPERV::ListOfStreamPorts myStreamPorts = *(aNode->StreamPorts()) ; for ( j = 0 ; j < (int ) myStreamPorts.length() ; j++ ) { if ( myStreamPorts[ j ]->IsInput() ) { - aPort = myNode->InStreamPort( myStreamPorts[ j ]->Name() , StringToDataStreamType( myStreamPorts[ j ]->Type() ) , myStreamPorts[ j ]->Dependency() ) ; + aPort = myNode->InStreamPort( myStreamPorts[ j ]->Name(), myStreamPorts[ j ]->Type(), myStreamPorts[ j ]->Dependency() ) ; } else { - aPort = myNode->OutStreamPort( myStreamPorts[ j ]->Name() , StringToDataStreamType( myStreamPorts[ j ]->Type() ) , myStreamPorts[ j ]->Dependency() ) ; + aPort = myNode->OutStreamPort( myStreamPorts[ j ]->Name(), myStreamPorts[ j ]->Type(), myStreamPorts[ j ]->Dependency() ) ; } } } @@ -2338,10 +2351,10 @@ bool Graph_Impl::Merge(const SUPERV::Graph_ptr aGraph , map< string , int > & aM SUPERV::ListOfStreamPorts myStreamPorts = *(aNode->StreamPorts()) ; for ( j = 0 ; j < (int ) myStreamPorts.length() ; j++ ) { if ( myStreamPorts[ j ]->IsInput() ) { - aPort = myNode->InStreamPort( myStreamPorts[ j ]->Name() , StringToDataStreamType( myStreamPorts[ j ]->Type() ) , myStreamPorts[ j ]->Dependency() ) ; + aPort = myNode->InStreamPort( myStreamPorts[ j ]->Name(), myStreamPorts[ j ]->Type(), myStreamPorts[ j ]->Dependency() ) ; } else { - aPort = myNode->OutStreamPort( myStreamPorts[ j ]->Name() , StringToDataStreamType( myStreamPorts[ j ]->Type() ) , myStreamPorts[ j ]->Dependency() ) ; + aPort = myNode->OutStreamPort( myStreamPorts[ j ]->Name(), myStreamPorts[ j ]->Type(), myStreamPorts[ j ]->Dependency() ) ; } } } @@ -2357,10 +2370,10 @@ bool Graph_Impl::Merge(const SUPERV::Graph_ptr aGraph , map< string , int > & aM SUPERV::ListOfStreamPorts myStreamLoopPorts = *(myEndOfLoop->StreamPorts()) ; for ( j = 0 ; j < (int ) myStreamLoopPorts.length() ; j++ ) { if ( myStreamLoopPorts[ j ]->IsInput() ) { - aPort = myNode->InStreamPort( myStreamLoopPorts[ j ]->Name() , StringToDataStreamType( myStreamLoopPorts[ j ]->Type() ) , myStreamLoopPorts[ j ]->Dependency() ) ; + aPort = myNode->InStreamPort( myStreamLoopPorts[ j ]->Name(), myStreamLoopPorts[ j ]->Type(), myStreamLoopPorts[ j ]->Dependency() ) ; } else { - aPort = myNode->OutStreamPort( myStreamLoopPorts[ j ]->Name() , StringToDataStreamType( myStreamLoopPorts[ j ]->Type() ) , myStreamLoopPorts[ j ]->Dependency() ) ; + aPort = myNode->OutStreamPort( myStreamLoopPorts[ j ]->Name(), myStreamLoopPorts[ j ]->Type(), myStreamLoopPorts[ j ]->Dependency() ) ; } } } @@ -2401,10 +2414,10 @@ bool Graph_Impl::Merge(const SUPERV::Graph_ptr aGraph , map< string , int > & aM SUPERV::ListOfStreamPorts myStreamPorts = *(aNode->StreamPorts()) ; for ( j = 0 ; j < (int ) myStreamPorts.length() ; j++ ) { if ( myStreamPorts[ j ]->IsInput() ) { - aPort = myNode->InStreamPort( myStreamPorts[ j ]->Name() , StringToDataStreamType( myStreamPorts[ j ]->Type() ) , myStreamPorts[ j ]->Dependency() ) ; + aPort = myNode->InStreamPort( myStreamPorts[ j ]->Name(), myStreamPorts[ j ]->Type(), myStreamPorts[ j ]->Dependency() ) ; } else { - aPort = myNode->OutStreamPort( myStreamPorts[ j ]->Name() , StringToDataStreamType( myStreamPorts[ j ]->Type() ) , myStreamPorts[ j ]->Dependency() ) ; + aPort = myNode->OutStreamPort( myStreamPorts[ j ]->Name(), myStreamPorts[ j ]->Type(), myStreamPorts[ j ]->Dependency() ) ; } } } @@ -2430,10 +2443,10 @@ bool Graph_Impl::Merge(const SUPERV::Graph_ptr aGraph , map< string , int > & aM SUPERV::ListOfStreamPorts myStreamSwitchPorts = *(myEndOfSwitch->StreamPorts()) ; for ( j = 0 ; j < (int ) myStreamSwitchPorts.length() ; j++ ) { if ( myStreamSwitchPorts[ j ]->IsInput() ) { - aPort = anEndOfSwitch->InStreamPort( myStreamSwitchPorts[ j ]->Name() , StringToDataStreamType( myStreamSwitchPorts[ j ]->Type() ) , myStreamSwitchPorts[ j ]->Dependency() ) ; // mkr : IPAL11394 (add port to !EndSwitch! node) + aPort = anEndOfSwitch->InStreamPort( myStreamSwitchPorts[ j ]->Name(), myStreamSwitchPorts[ j ]->Type(), myStreamSwitchPorts[ j ]->Dependency() ) ; // mkr : IPAL11394 (add port to !EndSwitch! node) } else { - aPort = anEndOfSwitch->OutStreamPort( myStreamSwitchPorts[ j ]->Name() , StringToDataStreamType( myStreamSwitchPorts[ j ]->Type() ) , myStreamSwitchPorts[ j ]->Dependency() ) ; // mkr : IPAL11394 (add port to !EndSwitch! node) + aPort = anEndOfSwitch->OutStreamPort( myStreamSwitchPorts[ j ]->Name(), myStreamSwitchPorts[ j ]->Type(), myStreamSwitchPorts[ j ]->Dependency() ) ; // mkr : IPAL11394 (add port to !EndSwitch! node) } } } diff --git a/src/Supervision/Graph_Impl.hxx b/src/Supervision/Graph_Impl.hxx index a6dffe7..1be15cd 100644 --- a/src/Supervision/Graph_Impl.hxx +++ b/src/Supervision/Graph_Impl.hxx @@ -115,7 +115,7 @@ class Graph_Impl : public POA_SUPERV::Graph , const char * NodeComponentName , const char * InterfaceName , const SALOME_ModuleCatalog::Service &NodeService , - bool isCimpl ) ; // mkr : PAL11273 : C++ implementation by default + const SALOME_ModuleCatalog::ImplType ImplType ) ; // mkr : PAL11273 : C++ implementation by default virtual SUPERV::INode_ptr INode( const char * FuncName , const SUPERV::ListOfStrings & PythonFunction ) ; diff --git a/src/Supervision/INode_Impl.cxx b/src/Supervision/INode_Impl.cxx index a4c5a8b..f9af025 100644 --- a/src/Supervision/INode_Impl.cxx +++ b/src/Supervision/INode_Impl.cxx @@ -283,8 +283,8 @@ SUPERV::Port_ptr INode_Impl::OutPort( const char *aParameterName , return SUPERV::Port::_duplicate( Outobject ); } -SUPERV::StreamPort_ptr INode_Impl::InStreamPort( const char *aParameterName , - const SALOME_ModuleCatalog::DataStreamType aParameterType , +SUPERV::StreamPort_ptr INode_Impl::InStreamPort( const char * aParameterName , + const char * aParameterType , const SALOME_ModuleCatalog::DataStreamDependency aDependency ) { SUPERV::StreamPort_ptr Inobject = SUPERV::StreamPort::_nil() ; if ( DataFlowEditor()->Graph()->IsDataStreamNode() ) { @@ -338,7 +338,7 @@ SUPERV::StreamPort_ptr INode_Impl::InStreamPort( const char *aParameterName , } SUPERV::StreamPort_ptr INode_Impl::OutStreamPort( const char * aParameterName , - const SALOME_ModuleCatalog::DataStreamType aParameterType , + const char * aParameterType , const SALOME_ModuleCatalog::DataStreamDependency aDependency ) { StreamPort_Impl * myOutStreamPort = NULL ; SUPERV::StreamPort_ptr Outobject = SUPERV::StreamPort::_nil() ; diff --git a/src/Supervision/INode_Impl.hxx b/src/Supervision/INode_Impl.hxx index 1691195..3c12220 100644 --- a/src/Supervision/INode_Impl.hxx +++ b/src/Supervision/INode_Impl.hxx @@ -101,10 +101,10 @@ class INode_Impl : public CNode_Impl , const char * aParameterType ) ; virtual SUPERV::StreamPort_ptr InStreamPort( const char * aParameterName , - const SALOME_ModuleCatalog::DataStreamType aParameterType , + const char * aParameterType , const SALOME_ModuleCatalog::DataStreamDependency aDependency ) ; virtual SUPERV::StreamPort_ptr OutStreamPort( const char * aParameterName , - const SALOME_ModuleCatalog::DataStreamType aParameterType , + const char * aParameterType , const SALOME_ModuleCatalog::DataStreamDependency aDependency ) ; } ; -- 2.39.2