]> SALOME platform Git repositories - modules/superv.git/blobdiff - src/GraphEditor/DataFlowEditor_InNode.hxx
Salome HOME
Bug fix: don't set "Loading" state for MacroNodes in InitialState() function (called...
[modules/superv.git] / src / GraphEditor / DataFlowEditor_InNode.hxx
index 6082e334b1a6b14d3d4efff9657f8f57c5c6bbd8..3fbbd72332c69b8ae0aa309ea2f858b578486f61 100644 (file)
@@ -1,6 +1,33 @@
+//  SUPERV GraphEditor : contains classes that permit edition of graphs
+//
+//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+// 
+//  This library is free software; you can redistribute it and/or 
+//  modify it under the terms of the GNU Lesser General Public 
+//  License as published by the Free Software Foundation; either 
+//  version 2.1 of the License. 
+// 
+//  This library is distributed in the hope that it will be useful, 
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+//  Lesser General Public License for more details. 
+// 
+//  You should have received a copy of the GNU Lesser General Public 
+//  License along with this library; if not, write to the Free Software 
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+// 
+//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+//
+//
+//
+//  File   : DataFlowEditor_InNode.hxx
+//  Module : SUPERV
+
 #ifndef _DATAFLOWEDITOR_INNODE_HXX
 #define _DATAFLOWEDITOR_INNODE_HXX
 
+#include "DataFlowBase_Graph.hxx"
 #include "DataFlowBase_FactoryNode.hxx"
 #include "DataFlowBase_GOTONode.hxx"
 #include "DataFlowBase_LoopNode.hxx"
@@ -22,10 +49,12 @@ namespace GraphEditor {
       GraphBase::EndOfLoopNode       * _EndOfLoopNode ;
       GraphBase::SwitchNode          * _SwitchNode ;
       GraphBase::EndOfSwitchNode     * _EndOfSwitchNode ;
+      GraphBase::Graph               * _GraphMacroNode ;
     
     public:
 
       InNode() ;
+//      InNode(GraphBase::GOTONode * aGOTONode ) ;
       InNode( CORBA::ORB_ptr ORB, 
              SALOME_NamingService* ptrNamingService ,
               GraphBase::ListOfFuncName aFuncName ,
@@ -45,7 +74,7 @@ namespace GraphEditor {
               const int NodeX ,
               const int NodeY ,
               int * Graph_prof_debug = NULL ,
-              ostream * Graph_fdebug = NULL ) ;
+              ofstream * Graph_fdebug = NULL ) ;
       virtual ~InNode() ;
 
       char * Name() const { return _ComputingNode->Name() ; } ;
@@ -64,8 +93,12 @@ namespace GraphEditor {
                  return _ComputingNode->IsOneOfInLineNodes() ; } ;
       const bool IsOneOfGOTONodes() const {
                  return _ComputingNode->IsOneOfGOTONodes() ; } ;
+      const bool IsMacroNode() const {
+                 return _ComputingNode->IsMacroNode() ; } ;
       const bool IsDataFlowNode() const {
                  return _ComputingNode->IsDataFlowNode() ; } ;
+      const bool IsDataStreamNode() const {
+                 return _ComputingNode->IsDataStreamNode() ; } ;
       const bool IsGOTONode() const {
                  return _ComputingNode->IsGOTONode() ; } ;
       const bool IsLoopNode() const {
@@ -128,11 +161,17 @@ namespace GraphEditor {
                               return _SwitchNode ; } ;
       GraphBase::EndOfSwitchNode * EndOfSwitchNode() {
                                    return _EndOfSwitchNode ; } ;
+      GraphBase::Graph * GraphMacroNode() {
+                         return _GraphMacroNode ; } ;
 
       SUPERV::CNode_var ObjRef() const { return _ComputingNode->ObjRef() ; } ;
       void SetObjRef(SUPERV::CNode_var aNode) {
                      _ComputingNode->SetObjRef( aNode ) ; } ;
 
+      CNode_Impl * ObjImpl() const { return _ComputingNode->ObjImpl() ; } ;
+      void SetObjImpl( CNode_Impl * aGraph ) {
+                       _ComputingNode->SetObjImpl( aGraph ) ; } ;
+
       const SALOME_ModuleCatalog::Service * GetService() const {
             return _ComputingNode->GetService() ; } ;
 
@@ -157,13 +196,23 @@ namespace GraphEditor {
                          return _ComputingNode->GetInfo() ; } ;
 
       GraphBase::InPort * AddInPort( const char * InputParameterName ,
-                                     const char * InputParameterType ) {
+                                     const char * InputParameterType ,
+                                     const SUPERV::KindOfPort aKindOfPort ) {
                           return _ComputingNode->AddInPort( InputParameterName ,
-                                                            InputParameterType ) ; } ;
+                                                            InputParameterType ,
+                                                            aKindOfPort ) ; } ;
       GraphBase::OutPort * AddOutPort( const char * OutputParameterName ,
-                                       const char * OutputParameterType ) {
+                                       const char * OutputParameterType ,
+                                       const SUPERV::KindOfPort aKindOfPort ) {
                            return _ComputingNode->AddOutPort( OutputParameterName ,
-                                                              OutputParameterType ) ; } ;
+                                                              OutputParameterType ,
+                                                              aKindOfPort ) ; } ;
+      int IncrDataStreamInPorts() {
+        return _ComputingNode->IncrDataStreamInPorts() ;
+      } ;
+      int IncrDataStreamOutPorts() {
+        return _ComputingNode->IncrDataStreamOutPorts() ;
+      } ;
 
       void DelInPort( const char * InputParameterName ) {
            _ComputingNode->DelInPort( InputParameterName ) ; } ;
@@ -232,6 +281,8 @@ namespace GraphEditor {
 
       int SubGraph() {
           return _ComputingNode->SubGraph() ; } ;
+      int SubStreamGraph() {
+          return _ComputingNode->SubStreamGraph() ; } ;
 
       char * ComponentName() const {
              return _FactoryNode->ComponentName() ; } ;