]> SALOME platform Git repositories - modules/superv.git/commitdiff
Salome HOME
NRI : Merge from V1_2.
authornri <nri@opencascade.com>
Wed, 16 Jul 2003 09:23:16 +0000 (09:23 +0000)
committernri <nri@opencascade.com>
Wed, 16 Jul 2003 09:23:16 +0000 (09:23 +0000)
139 files changed:
idl/Makefile.in
idl/SUPERV.idl
resources/Supervision_en.xml [deleted file]
resources/Supervision_fr.xml [deleted file]
src/GraphBase/DataFlowBase_Base.cxx
src/GraphBase/DataFlowBase_Base.hxx
src/GraphBase/DataFlowBase_ComputingNode.cxx
src/GraphBase/DataFlowBase_ComputingNode.hxx
src/GraphBase/DataFlowBase_DataNode.cxx
src/GraphBase/DataFlowBase_DataNode.hxx
src/GraphBase/DataFlowBase_DataPort.cxx
src/GraphBase/DataFlowBase_DataPort.hxx
src/GraphBase/DataFlowBase_EndOfLoopNode.cxx
src/GraphBase/DataFlowBase_EndOfLoopNode.hxx
src/GraphBase/DataFlowBase_EndOfSwitchNode.cxx
src/GraphBase/DataFlowBase_EndOfSwitchNode.hxx
src/GraphBase/DataFlowBase_FactoryNode.cxx
src/GraphBase/DataFlowBase_FactoryNode.hxx
src/GraphBase/DataFlowBase_GOTONode.cxx
src/GraphBase/DataFlowBase_GOTONode.hxx
src/GraphBase/DataFlowBase_Graph.cxx
src/GraphBase/DataFlowBase_Graph.hxx
src/GraphBase/DataFlowBase_InLineNode.cxx
src/GraphBase/DataFlowBase_InLineNode.hxx
src/GraphBase/DataFlowBase_InPort.cxx
src/GraphBase/DataFlowBase_InPort.hxx
src/GraphBase/DataFlowBase_LoadXml.cxx
src/GraphBase/DataFlowBase_LoopNode.cxx
src/GraphBase/DataFlowBase_LoopNode.hxx
src/GraphBase/DataFlowBase_OutPort.cxx
src/GraphBase/DataFlowBase_OutPort.hxx
src/GraphBase/DataFlowBase_Port.cxx
src/GraphBase/DataFlowBase_Port.hxx
src/GraphBase/DataFlowBase_PortsOfNode.cxx
src/GraphBase/DataFlowBase_PortsOfNode.hxx
src/GraphBase/DataFlowBase_Service.cxx
src/GraphBase/DataFlowBase_Service.hxx
src/GraphBase/DataFlowBase_ServicesParameter.hxx
src/GraphBase/DataFlowBase_SwitchNode.cxx
src/GraphBase/DataFlowBase_SwitchNode.hxx
src/GraphBase/DataFlowBase_XmlHandler.cxx
src/GraphBase/DataFlowBase_XmlHandler.hxx
src/GraphBase/Makefile.in
src/GraphBase/SuperVisionBase_CheckOfUndefined.cxx
src/GraphEditor/DataFlowEditor_DataFlow.cxx
src/GraphEditor/DataFlowEditor_DataFlow.hxx
src/GraphEditor/DataFlowEditor_DataFlow.lxx
src/GraphEditor/DataFlowEditor_InNode.cxx
src/GraphEditor/DataFlowEditor_InNode.hxx
src/GraphEditor/DataFlowEditor_OutNode.cxx
src/GraphEditor/DataFlowEditor_OutNode.hxx
src/GraphEditor/Makefile.in
src/GraphEditor/SuperVisionEditor_CheckOfUndefined.cxx
src/GraphExecutor/DataFlowExecutor_DataFlow.cxx
src/GraphExecutor/DataFlowExecutor_DataFlow.hxx
src/GraphExecutor/DataFlowExecutor_DataFlow.lxx
src/GraphExecutor/DataFlowExecutor_DynInvoke.cxx
src/GraphExecutor/DataFlowExecutor_DynInvoke.hxx
src/GraphExecutor/DataFlowExecutor_FiniteStateMachine.cxx
src/GraphExecutor/DataFlowExecutor_FiniteStateMachine.hxx
src/GraphExecutor/DataFlowExecutor_InNodeThreads.cxx
src/GraphExecutor/DataFlowExecutor_OutNode.cxx
src/GraphExecutor/DataFlowExecutor_OutNode.hxx
src/GraphExecutor/DataFlowExecutor_PyDynInvoke.cxx
src/Makefile.in
src/SUPERVGUI/Makefile.in
src/SUPERVGUI/SUPERVGUI.cxx
src/SUPERVGUI/SUPERVGUI.h
src/SUPERVGUI/SUPERVGUI_Array.cxx
src/SUPERVGUI/SUPERVGUI_Array.h
src/SUPERVGUI/SUPERVGUI_BrowseNodeDlg.cxx
src/SUPERVGUI/SUPERVGUI_BrowseNodeDlg.h
src/SUPERVGUI/SUPERVGUI_ComputeNode.cxx
src/SUPERVGUI/SUPERVGUI_ComputeNode.h
src/SUPERVGUI/SUPERVGUI_ControlNode.cxx
src/SUPERVGUI/SUPERVGUI_ControlNode.h
src/SUPERVGUI/SUPERVGUI_CtrlLink.cxx
src/SUPERVGUI/SUPERVGUI_CtrlLink.h
src/SUPERVGUI/SUPERVGUI_Def.h
src/SUPERVGUI/SUPERVGUI_Graph.cxx
src/SUPERVGUI/SUPERVGUI_Graph.h
src/SUPERVGUI/SUPERVGUI_GraphNode.cxx
src/SUPERVGUI/SUPERVGUI_GraphNode.h
src/SUPERVGUI/SUPERVGUI_Information.cxx
src/SUPERVGUI/SUPERVGUI_Information.h
src/SUPERVGUI/SUPERVGUI_Label.cxx
src/SUPERVGUI/SUPERVGUI_Label.h
src/SUPERVGUI/SUPERVGUI_Link.cxx
src/SUPERVGUI/SUPERVGUI_Link.h
src/SUPERVGUI/SUPERVGUI_Main.cxx
src/SUPERVGUI/SUPERVGUI_Main.h
src/SUPERVGUI/SUPERVGUI_Node.cxx
src/SUPERVGUI/SUPERVGUI_Node.h
src/SUPERVGUI/SUPERVGUI_Notification.cxx
src/SUPERVGUI/SUPERVGUI_Notification.h
src/SUPERVGUI/SUPERVGUI_Port.cxx
src/SUPERVGUI/SUPERVGUI_Port.h
src/SUPERVGUI/SUPERVGUI_Python.cxx
src/SUPERVGUI/SUPERVGUI_Python.h
src/SUPERVGUI/SUPERVGUI_Service.cxx
src/SUPERVGUI/SUPERVGUI_Service.h
src/SUPERVGUI/SUPERVGUI_View.cxx
src/SUPERVGUI/SUPERVGUI_View.h
src/SUPERVGUI/SUPERV_icons.po
src/SUPERVGUI/SUPERV_msg_en.po
src/SUPERVGUI/SUPERV_msg_fr.po
src/SUPERVGUI/SupervisionGUI_icons.po [deleted file]
src/SUPERVGUI/SupervisionGUI_msg_en.po [deleted file]
src/SUPERVGUI/SupervisionGUI_msg_fr.po [deleted file]
src/Supervision/CNode_Impl.cxx
src/Supervision/CNode_Impl.hxx
src/Supervision/ELNode_Impl.cxx
src/Supervision/ELNode_Impl.hxx
src/Supervision/ESNode_Impl.cxx
src/Supervision/ESNode_Impl.hxx
src/Supervision/FNode_Impl.cxx
src/Supervision/FNode_Impl.hxx
src/Supervision/GNode_Impl.cxx
src/Supervision/GNode_Impl.hxx
src/Supervision/Graph_Impl.cxx
src/Supervision/Graph_Impl.hxx
src/Supervision/INode_Impl.cxx
src/Supervision/INode_Impl.hxx
src/Supervision/LNode_Impl.cxx
src/Supervision/LNode_Impl.hxx
src/Supervision/Link_Impl.cxx
src/Supervision/Link_Impl.hxx
src/Supervision/Makefile.in
src/Supervision/Port_Impl.cxx
src/Supervision/Port_Impl.hxx
src/Supervision/SNode_Impl.cxx
src/Supervision/SNode_Impl.hxx
src/Supervision/SuperV.py
src/Supervision/SuperV_CheckOfUndefined.cxx
src/Supervision/SuperV_Impl.cxx
src/Supervision/SuperV_Impl.hxx
src/Supervision/Value_Impl.cxx
src/Supervision/Value_Impl.hxx
src/Supervision/batchmode_SuperV.py

index a8fd7cadae596b1cf095a7bd885d9fc4c8b1632e..bf0306b7681d552347470d2411fc9d3840a5b419 100644 (file)
@@ -1,8 +1,27 @@
+#  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 
 #
-# generate dependencies for idl file :
 #
+#
+#  File   : Makefile.in
+#  Module : idl
 
-# source path
 top_srcdir=@top_srcdir@
 top_builddir=..
 srcdir=@srcdir@
index cfe17a4fde62250f7721af72dce7d2ec0c684443..c92b7bfe11e2a74e407f98d39db97e33617a61ec 100644 (file)
@@ -1,9 +1,27 @@
-// File: SUPERV.idl
-// Created: Jan 03 2002
-// Author: Jean Rahuel
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header: 
+//  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   : SUPERV.idl
+//  Author : Jean Rahuel
+//  $Header: 
 
 /*! \file SUPERV.idl This file contains a set of interfaces of the %SUPERVISION module
 */
@@ -439,6 +457,8 @@ Returns the position of the node along Y-axis.
 */
     long Y() ;
 
+    long CpuUsed() ;
+
   } ;
 
   //////////////
diff --git a/resources/Supervision_en.xml b/resources/Supervision_en.xml
deleted file mode 100755 (executable)
index 0542605..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version='1.0' encoding='us-ascii'?>
-<!DOCTYPE application PUBLIC "" "desktop.dtd">
-
-<!--  GUI customization for SUPERV component  -->
-
-<application
-       title="Supervision component"
-       date="2001/08/28"
-       author="Arnaud Rès"
-       appId="Supervision for Salome" >
-
-       <desktop>
-               <menubar>
-                       <menu-item label-id="File" item-id="1" pos-id="1">
-                               <popup-item item-id="301" pos-id="8" label-id="Import Dataflow" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
-                               <popup-item item-id="302" pos-id="9" label-id="Export Dataflow" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
-                               <separator pos-id="10"/>
-                       </menu-item>
-
-                       <menu-item label-id="Edit" item-id="3" pos-id="">
-                               <separator pos-id="7"/>
-                               <popup-item item-id="303" pos-id="8" label-id="New Dataflow"   icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
-                               <popup-item item-id="304" pos-id="9" label-id="Modify Dataflow" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
-                       </menu-item>
-
-                       <menu-item label-id="Supervision" item-id="300" pos-id="3">
-                               <popup-item item-id="305" pos-id="1" label-id="Reload"         icon-id="reload.png" tooltip-id="Reload Dataflow" accel-id="" toggle-id="" execute-action=""/>
-                               <popup-item item-id="309" pos-id="2" label-id="Components"     icon-id="components.png"     tooltip-id="Components"        accel-id="" toggle-id="" execute-action=""/>
-                               <separator pos-id="3"/>
-                                <popup-item item-id="306" pos-id="4" label-id="Run"            icon-id="run.png"    tooltip-id="Run Dataflow"    accel-id="" toggle-id="" execute-action=""/>
-                               <popup-item item-id="310" pos-id="5" label-id="Step by Step"   icon-id="steps.png"  tooltip-id="Step by Step execution" accel-id="" toggle-id="" execute-action=""/>
-                               <popup-item item-id="307" pos-id="6" label-id="Kill"           icon-id="kill.png"   tooltip-id="Kill Running"           accel-id="" toggle-id="" execute-action=""/>
-                               <popup-item item-id="308" pos-id="7" label-id="Suspend/Resume" icon-id="suspend-resume.gif" tooltip-id="Suspend or Resume" accel-id="" toggle-id="" execute-action=""/>
-                       </menu-item>
-               </menubar>
-
-               <toolbar label-id="Supervision">
-                       <toolbutton-item item-id="301" label-id="Import"         icon-id="import.gif"         tooltip-id="Import Dataflow"   accel-id="" toggle-id="" execute-action=""/>
-                       <toolbutton-item item-id="302" label-id="Export"         icon-id="export.gif"         tooltip-id="Export Dataflow"   accel-id="" toggle-id="" execute-action=""/>
-                       <toolbutton-item item-id="303" label-id="New"            icon-id="edit.png"           tooltip-id="New Dataflow"      accel-id="" toggle-id="" execute-action=""/>
-                       <toolbutton-item item-id="304" label-id="Modify"         icon-id="modify.png"         tooltip-id="Modify Dataflow"   accel-id="" toggle-id="" execute-action=""/>
-                       <toolbutton-item item-id="305" label-id="Reload"         icon-id="reload.png"         tooltip-id="Reload Dataflow"   accel-id="" toggle-id="" execute-action=""/>
-                       <toolbutton-item item-id="309" label-id="Components"     icon-id="components.png"     tooltip-id="Components"        accel-id="" toggle-id="" execute-action=""/>
-               </toolbar>
-
-               <toolbar label-id="Execution">
-                       <toolbutton-item item-id="306" label-id="Run"            icon-id="run.png"            tooltip-id="Run Dataflow"      accel-id="" toggle-id="" execute-action=""/>
-                       <toolbutton-item item-id="310" label-id="Step by Step"   icon-id="steps.png"          tooltip-id="Step by Step execution" accel-id="" toggle-id="" execute-action=""/>
-                       <toolbutton-item item-id="307" label-id="Kill"           icon-id="kill.png"           tooltip-id="Kill Running"      accel-id="" toggle-id="" execute-action=""/>
-                       <toolbutton-item item-id="308" label-id="Suspend/Resume" icon-id="suspend-resume.gif" tooltip-id="Suspend or Resume" accel-id="" toggle-id="" execute-action=""/>
-               </toolbar>
-       </desktop>      
-</application>
diff --git a/resources/Supervision_fr.xml b/resources/Supervision_fr.xml
deleted file mode 100755 (executable)
index cd45f74..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version='1.0' encoding='us-ascii'?>
-<!DOCTYPE application PUBLIC "" "desktop.dtd">
-
-<!--  GUI customization for SUPERV component  -->
-
-<application
-       title="Supervision component"
-       date="2001/08/28"
-       author="Arnaud Rès"
-       appId="Supervision for Salome" >
-
-       <desktop>
-               <menubar>
-                       <menu-item label-id="Fichier" item-id="1" pos-id="1">
-                               <popup-item item-id="301" pos-id="8" label-id="Importer un dataflow" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
-                               <popup-item item-id="302" pos-id="9" label-id="Exporter un dataflow" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
-                               <separator pos-id="10"/>
-                       </menu-item>
-
-                       <menu-item label-id="Editer" item-id="3" pos-id="">
-                               <separator pos-id="7"/>
-                               <popup-item item-id="303" pos-id="8" label-id="Editer un dataflow"   icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
-                               <popup-item item-id="304" pos-id="9" label-id="Modifier un dataflow" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
-                       </menu-item>
-
-                       <menu-item label-id="Supervision" item-id="300" pos-id="3">
-                               <popup-item item-id="305" pos-id="1" label-id="Recharger"           icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
-                               <popup-item item-id="306" pos-id="2" label-id="Executer"            icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
-                               <popup-item item-id="307" pos-id="3" label-id="Arreter"             icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
-                               <popup-item item-id="308" pos-id="4" label-id="Suspendre/Continuer" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
-                               <popup-item item-id="309" pos-id="5" label-id="Composants"          icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
-                       </menu-item>
-               </menubar>
-
-               <toolbar label-id="Supervision">
-                       <toolbutton-item item-id="301" label-id="Import"         icon-id="import.gif"         tooltip-id="Importer un dataflow"   accel-id="" toggle-id="" execute-action=""/>
-                       <toolbutton-item item-id="302" label-id="Export"         icon-id="export.gif"         tooltip-id="Exporter un dataflow"   accel-id="" toggle-id="" execute-action=""/>
-                       <toolbutton-item item-id="303" label-id="Edit"           icon-id="edit.png"           tooltip-id="Editer un dataflow"     accel-id="" toggle-id="" execute-action=""/>
-                       <toolbutton-item item-id="304" label-id="Modify"         icon-id="modify.png"         tooltip-id="Modifier un dataflow"   accel-id="" toggle-id="" execute-action=""/>
-                       <toolbutton-item item-id="305" label-id="Reload"         icon-id="reload.png"         tooltip-id="Recharger un dataflow"  accel-id="" toggle-id="" execute-action=""/>
-                       <toolbutton-item item-id="306" label-id="Run"            icon-id="run.png"            tooltip-id="Executer un dataflow"   accel-id="" toggle-id="" execute-action=""/>
-                       <toolbutton-item item-id="307" label-id="Kill"           icon-id="kill.png"           tooltip-id="Arreter l'execution"    accel-id="" toggle-id="" execute-action=""/>
-                       <toolbutton-item item-id="308" label-id="Suspend/Resume" icon-id="suspend-resume.gif" tooltip-id="Suspendre ou continuer" accel-id="" toggle-id="" execute-action=""/>
-                       <toolbutton-item item-id="309" label-id="Components"     icon-id="components.png"     tooltip-id="Composants"             accel-id="" toggle-id="" execute-action=""/>
-               </toolbar>
-       </desktop>      
-</application>
index ede636297c50e21045476e6b81da80733543c0eb..22d6b6a4d5d6a0972f5ba43d098b1c01545a2413 100644 (file)
@@ -1,12 +1,32 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_Base.cxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_Base.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include "DataFlowBase_Base.hxx"
 
 char *SuperVision_Version = "1.04" ;
index dafa25ac0c2b6445345ecad3609ee56785d90ee8..174a1ea18397e0a1917c3eec899a4ca46e292b9e 100644 (file)
@@ -1,10 +1,30 @@
-//=============================================================================
-// File      : DataFlowBase_Base.hxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_Base.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOW_BASE_HXX
 #define _DATAFLOW_BASE_HXX
index 6889c9030f68b1a6f3dd67476079feeab84280de..ad86cd829d763a4421e3fdcc3af6a8fd405fdd2b 100644 (file)
@@ -1,12 +1,15 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_Node.cxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : DataFlowBase_Node.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include <strstream>
 #include <iostream>
 
@@ -204,20 +207,8 @@ GraphBase::ComputingNode::ComputingNode( CORBA::ORB_ptr ORB ,
   if ( Graph_prof_debug )
     SetDebug( ORB , Graph_prof_debug , Graph_fdebug ) ;
 
-//  if ( !IsOneOfInLineNodes() ) {
     DefPortsOfNode( ORB , aService , NamePtr() , Kind() ,
-                    IsDataFlowNode() || IsComputingNode() ||
-                    IsFactoryNode() ,                        // DataFlowOrComputing
-                    IsLoopNode() || IsEndLoopNode() ,        // WithInLoop
-                      IsComputingNode() || IsFactoryNode() ||// WithInGate
-                      IsInLineNode() || IsLoopNode() || IsSwitchNode() ||
-                      IsEndSwitchNode() ,
-//                      IsGOTONode() || IsEndLoopNode() || IsEndSwitchNode() ,
-                    IsComputingNode() || IsFactoryNode() ||  // WithOutGate
-                    IsInLineNode() || IsSwitchNode() || IsGOTONode() ,
-//                    IsEndLoopNode() || IsEndSwitchNode() ,
                     Graph_prof_debug , Graph_fdebug ) ;
-//  }
 
   cdebug_in << "GraphBase::ComputingNode::ComputingNode(" << aService.ServiceName << ","
             << aNodeName << "," << akind
@@ -470,6 +461,22 @@ void GraphBase::ComputingNode::ReNameLink( const char* OldNodeName ,
   cdebug_out << "GraphBase::ComputingNode::ReNameLink" << endl ;
 }
 
+#include <sys/time.h>
+#include <sys/resource.h>
+#include <unistd.h>
+
+const long GraphBase::ComputingNode::CpuUsed() {
+  struct rusage usage ;
+  if ( getrusage( RUSAGE_SELF , &usage ) == -1 ) {
+    perror("GraphBase::CpuUsed") ;
+    return 0 ;
+  }
+//  return usage.ru_utime.__time_t tv_sec ;
+  cdebug << "CpuUsed " << usage.ru_utime.tv_sec << " " << usage.ru_utime.tv_usec << " "
+         << usage.ru_stime.tv_sec << " " << usage.ru_stime.tv_usec << endl ;
+  return usage.ru_utime.tv_sec ;
+}
+
 #if 0
 const GraphBase::ListOfParameters * GraphBase::ComputingNode::GetListOfParameters() const {
   GraphBase::ListOfParameters * aListOfParameters = new GraphBase::ListOfParameters ;
@@ -683,7 +690,12 @@ bool GraphBase::ComputingNode::SaveXML( QDomDocument & Graph , QDomElement & inf
 //          f << Tabs << "             <FuncName>" << FuncNames[i].c_str()
 //            << "</FuncName>" << endl ;
           QDomElement FuncName = Graph.createElement("FuncName") ;
-          aField = Graph.createTextNode( FuncNames[i].c_str() ) ;
+          if ( strlen( FuncNames[i].c_str() ) ) {
+            aField = Graph.createTextNode( FuncNames[i].c_str() ) ;
+         }
+          else {
+            aField = Graph.createTextNode( "?" ) ;
+         }
           PyFunction.appendChild( FuncName ) ;
           FuncName.appendChild( aField ) ;
 //     }
index 9680028fd4b43ba1be83ee23a0061d2576385878..91a0f2d979fdab8fb64b895bab5e0be44bdafaf8 100644 (file)
@@ -1,10 +1,13 @@
-//=============================================================================
-// File      : DataFlowBase_ComputingNode.hxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : DataFlowBase_ComputingNode.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOWBASE_NODE_HXX
 #define _DATAFLOWBASE_NODE_HXX
@@ -244,6 +247,8 @@ namespace GraphBase {
 
 //      const GraphBase::ListOfParameters * GetListOfParameters() const ;
 
+      const long CpuUsed() ;
+
       bool SaveXML( QDomDocument & Graph , QDomElement & info , 
                     int X , int Y ) const {
                     ListOfFuncName aFuncNames ; 
index fa17d1a67d64f51c5b9b4cd6da3b7cc1d2e3fca0..63051cd70240b62bdfab08a140ecdd68934e8e82 100644 (file)
@@ -1,12 +1,32 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_DataNode.cxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_DataNode.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include "DataFlowBase_DataNode.hxx"
 
 GraphBase::DataNode::DataNode() :
@@ -54,7 +74,8 @@ void GraphBase::DataNode::DataService(
 //  cout << "GraphBase::DataNode::DataService : DataFlowPortsOfNode of "
 //       << aService.ServiceName << endl ;
 //  DefPortsOfNode( aService , aService.ServiceName ) ;
-  DefPortsOfNode( ORB , aService , NamePtr() , Kind() , true , false , false , false ,
+  DefPortsOfNode( ORB , aService , NamePtr() , Kind() ,
+//                  true , false , false , false ,
                   Graph_prof_debug , Graph_fdebug ) ;
 
   if ( _Created )
@@ -67,9 +88,9 @@ void GraphBase::DataNode::DataService(
 //  cout << "GraphBase::DataNode::DataService : Mirrored DataFlowPortsOfNode of "
 //       << aReversedService.ServiceName << endl ;
   _DataFlowDataPorts->DefPortsOfNode( ORB , aReversedService , NamePtr() ,
-                                      Kind() , true , false , false , false ,
+                                      Kind() ,
+//                                      true , false , false , false ,
                                       Graph_prof_debug , Graph_fdebug ) ;
-//                                      aReversedService.ServiceName ) ;
   _Created = true ;
 }
 
index 10509ef6eaf771aee849c6cc6e199c44a10daa3f..d3ed5e08b633ead510603d47a08e5626ea79d7b1 100644 (file)
@@ -1,10 +1,30 @@
-//=============================================================================
-// File      : DataFlowBase_DataNode.hxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_DataNode.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOWBASE_DATANODE_HXX
 #define _DATAFLOWBASE_DATANODE_HXX
index 13ab608ec2954b996936b36334aaee26ce979d4c..43342835ed55901a0d527d41c77d723a63c176a3 100644 (file)
@@ -1,18 +1,40 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_DataPort.cxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_DataPort.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
+#include <stdio.h>
 #include "DataFlowBase_DataPort.hxx"
 
 GraphBase::DataPort::DataPort(
          const char *const * NodeName  ,
          const SALOME_ModuleCatalog::ServicesParameter aserviceParameter ) :
               Port( NodeName , aserviceParameter ) {
+  pthread_mutex_init( &_MutexWait , NULL ) ;
   InitialValues( CORBA::Any() ) ;
 }
 
@@ -40,7 +62,8 @@ void GraphBase::DataPort::InitialValues(CORBA::Any aValue ) {
   }
   else if ( !strcmp( Type , "objref" ) ) {
     cdebug << "objref" << endl ;
-    InitialValue.replace(CORBA::_tc_Object, NULL);
+//    InitialValue.replace(CORBA::_tc_Object, NULL);
+    InitialValue <<= CORBA::Object::_nil() ;
   }
   else {
     cdebug << "InitialValues ERROR (other) " << Type << endl ;
@@ -55,12 +78,21 @@ void GraphBase::DataPort::Value( const CORBA::Any & aDataValue ) {
 }
 
 void GraphBase::DataPort::Value( const CORBA::Any * aDataValue ) {
+//  cdebug << pthread_self() << " Value(aDataValue) --> pthread_mutex_lock " << &_MutexWait
+//         << endl ;
+  if ( pthread_mutex_lock( &_MutexWait ) ) {
+    perror( "lock DataValue" ) ;
+    exit( 0 ) ;
+  }
+//  cdebug << pthread_self() << " Value(aDataValue) pthread_mutex_locked " << &_MutexWait
+//         << endl ;
+
   delete _theValue ;
   _theValue = aDataValue ;
   *_Value = aDataValue ;
 //  Done( true ) ;
 
-//#if 0
+#if 0
   cdebug << "NewValue " << NodeName() << " " << PortName() << " " << PortType()
          << " : " << _Value << " *_Value " << *_Value  << " " ;
   switch (_theValue->type()->kind()) {
@@ -91,8 +123,14 @@ void GraphBase::DataPort::Value( const CORBA::Any * aDataValue ) {
     break;
   }
   }
-  cdebug << endl;
-//#endif
+  cdebug << endl ;
+#endif
+  if ( pthread_mutex_unlock( &_MutexWait ) ) {
+    perror( "unlock DataValue" ) ;
+    exit( 0 ) ;
+  }
+//  cdebug << pthread_self() << " Value(aDataValue) --> pthread_mutex_unlocked " << &_MutexWait
+//         << endl ;
 
 }
 
@@ -132,29 +170,37 @@ void GraphBase::DataPort::Value( const CORBA::Any ** aDataSharedValue ) {
 }
 
 CORBA::Any const * GraphBase::DataPort::Value() const {
+  pthread_mutex_t * aMutexWait = (pthread_mutex_t *) &_MutexWait ;
+//  cdebug << pthread_self() << " Value() --> pthread_mutex_lock " << aMutexWait << endl ;
+  if ( pthread_mutex_lock( aMutexWait ) ) {
+    perror( "lock DataValue" ) ;
+    exit( 0 ) ;
+  }
+//  cdebug << pthread_self() << " Value() --> pthread_mutex_locked " << aMutexWait << endl ;
   const CORBA::Any *const Value = *_Value ;
   CORBA::Any * theValue ;
-  cdebug  << "Value " << NodeName() << " " << PortName() << " " << PortType()
-         << " _Value " << _Value << " *_Value " << *_Value  << " " ;
+//  cdebug  << pthread_self() << " Value " << NodeName() << " " << PortName() << " "
+//          << PortType() << " _Value " << _Value << " *_Value " << *_Value  << " kind "
+//          << Value->type()->kind() << " :" << endl ;
   if ( Done() ) {
     theValue = new CORBA::Any( *Value ) ;
-    switch (theValue->type()->kind()) {
+    switch ( theValue->type()->kind() ) {
     case CORBA::tk_string: {
       char * t;
       *theValue >>= t;
-      cdebug << "GraphBase::DataPort::Value() : " << t << " (string) " << endl;
+//      cdebug << "GraphBase::DataPort::Value() : " << t << " (string) " << endl ;
       break;
     }
     case CORBA::tk_double: {
       double d;
       *theValue >>= d;
-      cdebug << "GraphBase::DataPort::Value() : " << d << " (double) " << endl;
+//      cdebug << "GraphBase::DataPort::Value() : " << d << " (double) " << endl ;
       break;
     }
     case CORBA::tk_long: {
       long l;
       *theValue >>= l;
-      cdebug << "GraphBase::DataPort::Value() : " << l << " (long) " << endl;
+//      cdebug << "GraphBase::DataPort::Value() : " << l << " (long) " << endl ;
       break;
     }
     case CORBA::tk_objref: {
@@ -163,8 +209,8 @@ CORBA::Any const * GraphBase::DataPort::Value() const {
       try {
         *theValue >>= obj ;
         retstr = ObjectToString( obj );
-        cdebug << "GraphBase::DataPort::Value() : " << retstr
-               << "(object reference) " << endl;
+//        cdebug << "GraphBase::DataPort::Value() : " << retstr
+//               << "(object reference) " << endl;
       }
       catch( ... ) {
         cdebug << "ToString( object ) Catched ERROR" << endl ;
@@ -173,15 +219,20 @@ CORBA::Any const * GraphBase::DataPort::Value() const {
     }
     default: {
       cdebug << "GraphBase::DataPort::Value() : "
-             << "(other(tk_string,tk_double,tk_long,tk_objref)) ERROR" << endl;
+             << "(other(tk_string,tk_double,tk_long,tk_objref)) ERROR" << endl ;
       break;
     }
     }
   }
   else {
-    cdebug << "GraphBase::DataPort::InitialValue() " << endl;
+//    cdebug << "GraphBase::DataPort::InitialValue() " << endl ;
     theValue = new CORBA::Any( *Value ) ;
   }
+  if ( pthread_mutex_unlock( aMutexWait ) ) {
+    perror( "unlock DataValue" ) ;
+    exit( 0 ) ;
+  }
+//  cdebug << pthread_self() << " Value() --> pthread_mutex_unlocked " << aMutexWait << endl ;
     
   return theValue ;
 }
@@ -189,12 +240,26 @@ CORBA::Any const * GraphBase::DataPort::Value() const {
 bool GraphBase::DataPort::BoolValue() const {
   bool RetVal = false ;
   long val ;
+  pthread_mutex_t * aMutexWait = (pthread_mutex_t *) &_MutexWait ;
+//  cdebug << pthread_self() << " BoolValue() --> pthread_mutex_lock " << aMutexWait << endl ;
+  if ( pthread_mutex_lock( aMutexWait ) ) {
+    perror( "lock DataValue" ) ;
+    exit( 0 ) ;
+  }
+//  cdebug << pthread_self() << " BoolValue() --> pthread_mutex_locked " << aMutexWait
+//         << endl ;
   if ( (*_Value)->type()->kind() == CORBA::tk_long ) {
     **_Value >>= val ;
     if ( val ) {
       RetVal = true ;
     }
   }
+  if ( pthread_mutex_unlock( aMutexWait ) ) {
+    perror( "unlock DataValue" ) ;
+    exit( 0 ) ;
+  }
+//  cdebug << pthread_self() << " BoolValue() --> pthread_mutex_unlocked " << aMutexWait
+//         << endl ;
   return RetVal ;
 }
 
@@ -203,10 +268,19 @@ const CORBA::Any ** GraphBase::DataPort::ValuePtr() const {
 }
 
 void GraphBase::DataPort::StringValue(ostream & f ) const {
+  pthread_mutex_t * aMutexWait = (pthread_mutex_t *) &_MutexWait ;
+//  cdebug << pthread_self() << " StringValue() --> pthread_mutex_lock " << aMutexWait
+//         << endl ;
+  if ( pthread_mutex_lock( aMutexWait ) ) {
+    perror( "lock DataValue" ) ;
+    exit( 0 ) ;
+  }
+//  cdebug << pthread_self() << " StringValue() --> pthread_mutex_locked " << aMutexWait
+//         << endl ;
   if ( Done() ) {
-    cdebug << "StringValue " << NodeName() << " " << PortName() << " " << PortType()
-           << " _Value "  << _Value << " *_Value "
-           << *_Value  << " " << endl ;
+//    cdebug << "StringValue " << NodeName() << " " << PortName() << " " << PortType()
+//           << " _Value "  << _Value << " *_Value "
+//           << *_Value  << " " << endl ;
     const CORBA::Any * theValue = *_Value ;
     switch (theValue->type()->kind()) {
     case CORBA::tk_string:
@@ -225,7 +299,14 @@ void GraphBase::DataPort::StringValue(ostream & f ) const {
       f << l << " (long)" ;
       break;
     case CORBA::tk_objref:
-      f << "(object reference)" ;
+      CORBA::Object_ptr ObjRef ;
+      try {
+        *theValue >>= ObjRef ;
+        f << "(object reference) " << ObjectToString( ObjRef ) ;
+      }
+      catch(...) {
+        f << "(object reference) catched error" ;
+      }
       break;
     default:
       f << "(other ERROR)" ;
@@ -233,8 +314,14 @@ void GraphBase::DataPort::StringValue(ostream & f ) const {
     }
   }
   else {
-    f << "Default(undefined)"  ;
+    f << " Default (undefined) NOT DONE"  ;
+  }
+  if ( pthread_mutex_unlock( aMutexWait ) ) {
+    perror( "unlock DataValue" ) ;
+    exit( 0 ) ;
   }
+//  cdebug << pthread_self() << " StringValue() --> pthread_mutex_unlocked " << aMutexWait
+//         << endl ;
     
 }
 
index a5f57fc423f47cfaaa3d5513970ce201e581bb6f..08ed859bb759bc4089aa5dddecfdafc15c914445 100644 (file)
@@ -1,10 +1,30 @@
-//=============================================================================
-// File      : DataFlowBase_DataPort.hxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_DataPort.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOWBASE_DATAPORT_HXX
 #define _DATAFLOWBASE_DATAPORT_HXX
@@ -20,6 +40,7 @@ namespace GraphBase {
     CORBA::Any const * *  _Value ;
     SUPERV::GraphState    _State ;
     bool                  _Done ;
+    pthread_mutex_t       _MutexWait ;
 
     public :
 
index f1931ff4f1758f960d41fecae8e314e653cacef8..b88d1353a92eac9092714b1c7e1b1029c9156505 100644 (file)
@@ -1,12 +1,15 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_EndOfLoopNode.cxx
-// Created   : 2003
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : DataFlowBase_EndOfLoopNode.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include <strstream>
 #include <iostream>
 
index ac01c2ee9d5af984e27634112fcdfd9cbe6ea311..2e3de4b5124be0155cb7524cbaf08e63617e9aec 100644 (file)
@@ -1,10 +1,13 @@
-//=============================================================================
-// File      : DataFlowBase_EndOfLoopNode.hxx
-// Created   : 2003
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : DataFlowBase_EndOfLoopNode.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOWBASE_ENDOFLOOPNODE_HXX
 #define _DATAFLOWBASE_ENDOFLOOPNODE_HXX
index 266c91c57e1fffd96248ce697ed09e638a8b4aba..da5459ac31b07b3e32e161cac6b5cb6f6b053bb0 100644 (file)
@@ -1,12 +1,15 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_EndOfSwitchNode.cxx
-// Created   : 2003
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : DataFlowBase_EndOfSwitchNode.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include <strstream>
 #include <iostream>
 
index 9ac1195ffe5fd041a19a7828d52ac6eeca4f4c68..501b7cf466b1ebeeaf4bdd4faf13b79d717c8d70 100644 (file)
@@ -1,10 +1,13 @@
-//=============================================================================
-// File      : DataFlowBase_EndOfSwitchNode.hxx
-// Created   : 2003
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : DataFlowBase_EndOfSwitchNode.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOWBASE_ENDOFSWITCHNODE_HXX
 #define _DATAFLOWBASE_ENDOFSWITCHNODE_HXX
index 4dc6b87e4d157b6d940bae1f47db14a7e9c1e71e..52d09f5e0ec29a4cded1b36bfebb0a65a80b61cc 100644 (file)
@@ -1,12 +1,15 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_FactoryNode.cxx
-// Created   : 2003
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : DataFlowBase_FactoryNode.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include <strstream>
 #include <iostream>
 
@@ -166,6 +169,7 @@ bool GraphBase::FactoryNode::Computer(const char *c) {
   if ( _Computer != FACTORYSERVER )
     delete [] _Computer ;
   _Computer = my_strdup(c);
+  cdebug_in << "GraphBase::FactoryNode::Computer('" << _Computer << "')" << endl;
   cdebug_out << "GraphBase::FactoryNode::Computer" << endl;
   return true ;
 }
index d45dfbffdb541be94a1bf4d31e1d37b361510e20..7c7e03d92e20d594c11d50ccdc2cff37245a0277 100644 (file)
@@ -1,10 +1,13 @@
-//=============================================================================
-// File      : DataFlowBase_FactoryNode.hxx
-// Created   : 2003
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : DataFlowBase_FactoryNode.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOWBASE_FACTORYNODE_HXX
 #define _DATAFLOWBASE_FACTORYNODE_HXX
@@ -61,7 +64,10 @@ namespace GraphBase {
                         _ObjComponent = anObjComponent ; } ;
       char * ComponentName() const { return my_strdup( _ComponentName ) ; } ;
       char * InterfaceName() const { return my_strdup( _InterfaceName ) ; } ;
-      char * Computer() const { return my_strdup( _Computer ) ; } ;
+      char * Computer() const {
+//             cdebug_in << "GraphBase::FactoryNode::Computer returns '" << _Computer << "'"
+//                       << endl;
+             return my_strdup( _Computer ) ; } ;
 
       bool ComponentName( const char * aComponentName ) ;
       bool InterfaceName( const char * anInterfaceName ) ;
index 9120aaa82278d3098dbde1b49f011552948e04ca..1aba05f7e85871ad1460c552a700c558352a0719 100644 (file)
@@ -1,12 +1,15 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_GOTONode.cxx
-// Created   : 2003
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : DataFlowBase_GOTONode.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include <strstream>
 #include <iostream>
 
index e64473080ecb0569ad7805a109be6820c1546d05..b3aa9c9d979faa620e8248248d2392ff1ca00165 100644 (file)
@@ -1,10 +1,13 @@
-//=============================================================================
-// File      : DataFlowBase_GOTONode.hxx
-// Created   : 2003
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : DataFlowBase_GOTONode.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOWBASE_GOTONODE_HXX
 #define _DATAFLOWBASE_GOTONODE_HXX
@@ -41,34 +44,34 @@ namespace GraphBase {
       virtual ~GOTONode() ;
 
       void CoupledNode( InLineNode * aCoupledNode ) {
-           cdebug << Name() << ".GraphBase::GOTONode::CoupledNode( " ;
-           if ( aCoupledNode ) {
-             cdebug << aCoupledNode->Name() ;
-          }
-           else {
-             cdebug << "NULL" ;
-          }
-           cdebug << " )" << endl ;
+//           cdebug << Name() << ".GraphBase::GOTONode::CoupledNode( " ;
+//           if ( aCoupledNode ) {
+//             cdebug << aCoupledNode->Name() ;
+//        }
+//           else {
+//             cdebug << "NULL" ;
+//        }
+//           cdebug << " )" << endl ;
            _CoupledNode = aCoupledNode ; } ;
       const InLineNode * CoupledNode() const {
-            cdebug << Name() << ".GraphBase::GOTONode::CoupledNode() --> " ;
-            if ( _CoupledNode ) {
-              cdebug << _CoupledNode->Name() ;
-           }
-            else {
-              cdebug << "NULL" ;
-           }
-            cdebug << endl ;
+//            cdebug << Name() << ".GraphBase::GOTONode::CoupledNode() --> " ;
+//            if ( _CoupledNode ) {
+//              cdebug << _CoupledNode->Name() ;
+//         }
+//            else {
+//              cdebug << "NULL" ;
+//         }
+//            cdebug << endl ;
             return _CoupledNode ; } ;
       InLineNode * CoupledNode() {
-                   cdebug << Name() << ".GraphBase::GOTONode::CoupledNode() --> " ;
-                   if ( _CoupledNode ) {
-                     cdebug << _CoupledNode->Name() ;
-                  }
-                   else {
-                     cdebug << "NULL" ;
-                  }
-                   cdebug << endl ;
+//                   cdebug << Name() << ".GraphBase::GOTONode::CoupledNode() --> " ;
+//                   if ( _CoupledNode ) {
+//                     cdebug << _CoupledNode->Name() ;
+//                }
+//                   else {
+//                     cdebug << "NULL" ;
+//                }
+//                   cdebug << endl ;
                    return _CoupledNode ; } ;
 
 //      bool SaveXML(ostream &f , char *Tabs , int X , int Y ) const ;
index ad22c1dcdd64c90df923986439578401d191d6d6..f9db952346299809c3f25d204bf05c3658c6b368 100644 (file)
@@ -1,12 +1,32 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_Graph.cxx
-// Created   : 2001
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_Graph.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include "DataFlowBase_Graph.hxx"
 
 #include "SALOME_LifeCycleCORBA.hxx"
@@ -798,8 +818,8 @@ bool GraphBase::Graph::GetLink(const char* ToNodeName ,
                                const char* ToServiceParameterName ,
                                char** FromNodeName ,
                                char** FromServiceParameterName ) {
-  cdebug_in << "GraphBase::Graph::GetLink " << ToNodeName << "("
-            << ToServiceParameterName << ")" << endl;
+//  cdebug_in << "GraphBase::Graph::GetLink " << ToNodeName << "("
+//            << ToServiceParameterName << ")" << endl;
   bool RetVal = false ;
   GraphBase::ComputingNode * toNode = GetChangeGraphNode( ToNodeName ) ;
   if ( toNode ) {
@@ -810,8 +830,16 @@ bool GraphBase::Graph::GetLink(const char* ToNodeName ,
       *FromServiceParameterName = my_strdup( anOutPort->PortName() ) ;
       RetVal = true ;
     }
+    else {
+      cdebug << "GraphEditor::OutNode::GetLink ERROR no InPort or NotConnected " << ToNodeName
+             << " " << ToServiceParameterName << " " << RetVal << endl;
+    }
   }
-  cdebug_out << "GraphEditor::OutNode::GetLink " << RetVal << endl;
+  else {
+    cdebug << "GraphEditor::OutNode::GetLink ERROR no Node " << ToNodeName << " " << RetVal
+           << endl;
+  }
+//  cdebug_out << "GraphEditor::OutNode::GetLink " << RetVal << endl;
   return RetVal ;
 }
 
@@ -1201,50 +1229,50 @@ bool GraphBase::Graph::InLineServices() {
       for ( j = 0 ; j < aINode->GetNodeInPortsSize() ; j++ ) {
         if ( aINode->GetChangeNodeInPort(j)->IsGate() ||
              aINode->GetChangeNodeInPort(j)->IsLoop() ) {
-          cdebug << "GraphBase::Graph::InLineServices In" << j << " "
-                 << aINode->GetChangeNodeInPort(j)->Kind() << " " 
-                 << aINode->GetChangeNodeInPort(j)->PortType() << " " 
-                 << aINode->GetChangeNodeInPort(j)->PortName() << " ignored "
-                 << aINode->GetChangeNodeInPort(j)->IsGate() << " "
-                 << aINode->GetChangeNodeInPort(j)->IsLoop() << endl;
+//          cdebug << "GraphBase::Graph::InLineServices In" << j << " "
+//                 << aINode->GetChangeNodeInPort(j)->Kind() << " " 
+//                 << aINode->GetChangeNodeInPort(j)->PortType() << " " 
+//                 << aINode->GetChangeNodeInPort(j)->PortName() << " ignored "
+//                 << aINode->GetChangeNodeInPort(j)->IsGate() << " "
+//                 << aINode->GetChangeNodeInPort(j)->IsLoop() << endl;
        }
         else {
           aService.ServiceinParameter.length( InService+1 ) ;
           aService.ServiceinParameter[InService].Parametertype = CORBA::string_dup( aINode->GetChangeNodeInPort(j)->PortType() ) ;
           aService.ServiceinParameter[InService++].Parametername = CORBA::string_dup( aINode->GetChangeNodeInPort(j)->PortName() ) ;
-          cdebug << "GraphBase::Graph::InLineServices In" << j << " "
-                 << aINode->GetChangeNodeInPort(j)->Kind() << " " 
-                 << aINode->GetChangeNodeInPort(j)->PortType() << " " 
-                 << aINode->GetChangeNodeInPort(j)->PortName() << " "
-                 << aINode->GetChangeNodeInPort(j)->IsGate() << " "
-                 << aINode->GetChangeNodeInPort(j)->IsLoop() << endl;
+//          cdebug << "GraphBase::Graph::InLineServices In" << j << " "
+//                 << aINode->GetChangeNodeInPort(j)->Kind() << " " 
+//                 << aINode->GetChangeNodeInPort(j)->PortType() << " " 
+//                 << aINode->GetChangeNodeInPort(j)->PortName() << " "
+//                 << aINode->GetChangeNodeInPort(j)->IsGate() << " "
+//                 << aINode->GetChangeNodeInPort(j)->IsLoop() << endl;
        }
       }
       int OutService = 0 ;
       for ( j = 0 ; j < aINode->GetNodeOutPortsSize() ; j++ ) {
         if ( aINode->GetChangeNodeOutPort(j)->IsGate() ||
              aINode->GetChangeNodeOutPort(j)->IsLoop() ) {
-          cdebug << "GraphBase::Graph::InLineServices Out" << j << " "
-                 << aINode->GetChangeNodeOutPort(j)->Kind() << " " 
-                 << aINode->GetChangeNodeOutPort(j)->PortType() << " " 
-                 << aINode->GetChangeNodeOutPort(j)->PortName() << " ignored "
-                 << aINode->GetChangeNodeOutPort(j)->IsGate() << " "
-                 << aINode->GetChangeNodeOutPort(j)->IsLoop() << endl;
+//          cdebug << "GraphBase::Graph::InLineServices Out" << j << " "
+//                 << aINode->GetChangeNodeOutPort(j)->Kind() << " " 
+//                 << aINode->GetChangeNodeOutPort(j)->PortType() << " " 
+//                 << aINode->GetChangeNodeOutPort(j)->PortName() << " ignored "
+//                 << aINode->GetChangeNodeOutPort(j)->IsGate() << " "
+//                 << aINode->GetChangeNodeOutPort(j)->IsLoop() << endl;
        }
         else {
           aService.ServiceoutParameter.length( OutService+1 ) ;
           aService.ServiceoutParameter[OutService].Parametertype = CORBA::string_dup( aINode->GetChangeNodeOutPort(j)->PortType() ) ;
           aService.ServiceoutParameter[OutService++].Parametername = CORBA::string_dup( aINode->GetChangeNodeOutPort(j)->PortName() ) ;
-          cdebug << "GraphBase::Graph::InLineServices Out" << j << " "
-                 << aINode->GetChangeNodeOutPort(j)->Kind() << " " 
-                 << aINode->GetChangeNodeOutPort(j)->PortType() << " " 
-                 << aINode->GetChangeNodeOutPort(j)->PortName()  << " "
-                 << aINode->GetChangeNodeOutPort(j)->IsGate() << " "
-                 << aINode->GetChangeNodeOutPort(j)->IsLoop() << endl;
+//          cdebug << "GraphBase::Graph::InLineServices Out" << j << " "
+//                 << aINode->GetChangeNodeOutPort(j)->Kind() << " " 
+//                 << aINode->GetChangeNodeOutPort(j)->PortType() << " " 
+//                 << aINode->GetChangeNodeOutPort(j)->PortName()  << " "
+//                 << aINode->GetChangeNodeOutPort(j)->IsGate() << " "
+//                 << aINode->GetChangeNodeOutPort(j)->IsLoop() << endl;
        }
       }
       aINode->SetService( aService ) ;
-      cdebug << "GraphBase::Graph::InLineServices" << *aINode->GetService() << endl;
+//      cdebug << "GraphBase::Graph::InLineServices" << *aINode->GetService() << endl;
     }
   }
 
@@ -1668,8 +1696,8 @@ const CORBA::Any * GraphBase::Graph::PortInData( const char* ToNodeName ,
   const CORBA::Any * aRet = new CORBA::Any() ;
   char *theNode ;
   char *aPort ;
-  cdebug_in << "GraphBase::Graph::PortData " << ToNodeName << " "
-            << ToServiceParameterName << endl ;
+//  cdebug_in << "GraphBase::Graph::PortInData " << ToNodeName << " "
+//            << ToServiceParameterName << endl ;
   NodePort( ToNodeName , ToServiceParameterName , &theNode , &aPort ) ;
 
   GraphBase::ComputingNode * aNode = GetChangeGraphNode( theNode ) ;
@@ -1681,15 +1709,27 @@ const CORBA::Any * GraphBase::Graph::PortInData( const char* ToNodeName ,
       anOutPort = anInPort->GetOutPort() ;
       if ( anOutPort ) {
         aRet = anOutPort->Value() ;
-        cdebug << "OutPort value " << anOutPort->NodeName() << "("
-               << anOutPort->PortName() << ") --> InPort " << anInPort->NodeName()
-               << "(" << anInPort->PortName() << ")" << endl ;
+//        cdebug << "OutPort value " << anOutPort->NodeName() << "("
+//               << anOutPort->PortName() << ") --> InPort " << anInPort->NodeName()
+//               << "(" << anInPort->PortName() << ")" << endl ;
+      }
+      else {
+        cdebug << "GraphBase::Graph::PortInData " << ToNodeName << " "
+               << ToServiceParameterName << " ERROR no OutPort" << endl ;
       }
     }
+    else {
+      cdebug << "GraphBase::Graph::PortInData " << ToNodeName << " "
+             << ToServiceParameterName << " ERROR no InPort" << endl ;
+    }
+  }
+  else {
+    cdebug << "GraphBase::Graph::PortInData " << ToNodeName << " "
+           << ToServiceParameterName << " ERROR no Node" << endl ;
   }
   delete theNode ;
   delete aPort ;
-  cdebug_out << "GraphBase::Graph::PortData " << endl ;
+//  cdebug_out << "GraphBase::Graph::PortInData " << endl ;
   return aRet ;
 }
 
@@ -1698,8 +1738,8 @@ const CORBA::Any * GraphBase::Graph::PortOutData( const char* FromNodeName ,
   const CORBA::Any * aRet = new CORBA::Any() ;
   char *theNode ;
   char *aPort ;
-  cdebug_in << "GraphBase::Graph::PortOutData " << FromNodeName << " "
-            << FromServiceParameterName << endl ;
+//  cdebug_in << "GraphBase::Graph::PortOutData " << FromNodeName << " "
+//            << FromServiceParameterName << endl ;
   NodePort( FromNodeName , FromServiceParameterName , &theNode , &aPort ) ;
 
   GraphBase::ComputingNode * aNode = GetChangeGraphNode( theNode ) ;
@@ -1707,12 +1747,21 @@ const CORBA::Any * GraphBase::Graph::PortOutData( const char* FromNodeName ,
   if ( aNode ) {
     GraphBase::OutPort *anOutPort ;
     anOutPort = aNode->GetChangeOutPort( aPort );
-    if ( anOutPort )
+    if ( anOutPort ) {
       aRet = anOutPort->Value() ;
+    }
+    else {
+      cdebug << "GraphBase::Graph::PortOutData " << FromNodeName << " "
+             << FromServiceParameterName << " ERROR no OutPort" << endl ;
+    }
+  }
+  else {
+    cdebug << "GraphBase::Graph::PortOutData " << FromNodeName << " "
+           << FromServiceParameterName << " ERROR no Node" << endl ;
   }
   delete theNode ;
   delete aPort ;
-  cdebug_out << "GraphBase::Graph::PortOutData " << endl ;
+//  cdebug_out << "GraphBase::Graph::PortOutData " << endl ;
   return aRet ;
 }
 
index cafe53a7d7ef94955e3835f7ad5fa372d587d776..4be973908cb87da4b2559e24fd30db2f351d5325 100644 (file)
@@ -1,10 +1,30 @@
-//=============================================================================
-// File      : DataFlowBase_Graph.hxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_Graph.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOWBASE_GRAPH_HXX
 #define _DATAFLOWBASE_GRAPH_HXX
index 300e570842508303a6012b8baadf65f717ff1dc2..b6285e696ec4d93d3a9622ee8c7600f3b33fd396 100644 (file)
@@ -1,12 +1,15 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_InLineNode.cxx
-// Created   : 2003
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : DataFlowBase_InLineNode.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include <strstream>
 #include <iostream>
 
index c2d7345c1147909aae0fc919f75ed3f3ed23072e..e818348880fa3f3adf612da43e3596f944e6f9be 100644 (file)
@@ -1,10 +1,13 @@
-//=============================================================================
-// File      : DataFlowBase_InLineNode.hxx
-// Created   : 2003
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : DataFlowBase_InLineNode.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOWBASE_INLINENODE_HXX
 #define _DATAFLOWBASE_INLINENODE_HXX
index 98ba6338f82379f0c6b6a67a0ef955f759a4a343..27ec51733352889b6e162aacdda8cd242dce65fa 100644 (file)
@@ -1,12 +1,32 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_InPort.cxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_InPort.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include "DataFlowBase_InPort.hxx"
 #include "DataFlowBase_OutPort.hxx"
 
index e425e486577eba1b0712fe4ed7bfe4f3e5112994..497270dc01440c50b6f5c5ca57a11484ba172329 100644 (file)
@@ -1,10 +1,30 @@
-//=============================================================================
-// File      : DataFlowBase_InPort.hxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_InPort.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOWBASE_INPORT_HXX
 #define _DATAFLOWBASE_INPORT_HXX
@@ -41,10 +61,10 @@ namespace GraphBase {
                 << NodeName() << endl ; } ;
 
       void State( SUPERV::GraphState aState ) {
-           cdebug << pthread_self() << " " << PortName() << " from "
-                  << NodeName() << " SUPERV::GraphState " << _State << " "
-                  << " --> " << aState << " _EndSwitchPort "
-                  << IsEndSwitch() << endl ;
+//           cdebug << pthread_self() << " " << PortName() << " from "
+//                  << NodeName() << " SUPERV::GraphState " << _State << " "
+//                  << " --> " << aState << " _EndSwitchPort "
+//                  << IsEndSwitch() << endl ;
            _State = aState ; } ;
       SUPERV::GraphState State() { return _State ; } ;
 
index 4e63775152993624f95958ef5fdd2388614e12bd..3fffa50578e4e791f297004e5a049c72f6cbbb42 100644 (file)
@@ -1,5 +1,30 @@
-using namespace std;
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_LoadXml.cxx
+//  Module : SUPERV
 
+using namespace std;
 #include "DataFlowBase_XmlHandler.hxx"
 
 //#include <qaccel.h>
index 12d0f32275e7ee006783f49ad581d9cd9a0c5349..5166dec5259bb52d87f7010699b3e10dc361fd92 100644 (file)
@@ -1,12 +1,15 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_LoopNode.cxx
-// Created   : 2003
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : DataFlowBase_LoopNode.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include <strstream>
 #include <iostream>
 
index 1939f73c392d4a21886044c13eeac0d9683f7f4a..08054aca64069dcb92d6f815e8e06d77bd1b24f1 100644 (file)
@@ -1,10 +1,13 @@
-//=============================================================================
-// File      : DataFlowBase_LoopNode.hxx
-// Created   : 2003
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : DataFlowBase_LoopNode.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOWBASE_LOOPNODE_HXX
 #define _DATAFLOWBASE_LOOPNODE_HXX
index 4b7f834bca7fb6b5dc948ebadab5fd1812267a44..67a16e1760062ec7787c8166a7e8a9e93a90e346 100644 (file)
@@ -1,12 +1,32 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_OutPort.cxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_OutPort.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include "DataFlowBase_OutPort.hxx"
 
 //GraphBase::OutPort::~OutPort() {
index 35e73a2336ec79953ab25272eb8f26336cb8c388..92253d497c48eda6197ed22faf645734c7f0d1f8 100644 (file)
@@ -1,10 +1,30 @@
-//=============================================================================
-// File      : DataFlowBase_OutPort.hxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_OutPort.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOWBASE_OUTPORT_HXX
 #define _DATAFLOWBASE_OUTPORT_HXX
index e0395bc13cf9c72f1fb35653c4fc0a4a4751a044..2e773b6e49446eae96628c3780ba330162f10cb5 100644 (file)
@@ -1,12 +1,15 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_Port.cxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : DataFlowBase_Port.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include "DataFlowBase_Port.hxx"
 
 //GraphBase::Port::~Port() {
index ceb5b7c164b221fd37c66cfc5b5ff4e4ad31aa9d..72c842772e91af803b2c0251eb19218ccb024a46 100644 (file)
@@ -1,10 +1,30 @@
-//=============================================================================
-// File      : DataFlowBase_Port.hxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_Port.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOWBASE_PORT_HXX
 #define _DATAFLOWBASE_PORT_HXX
index fb98961997c5fae0665de3209a180644a64e2a86..a06b2a036ebf311e613861a0d1425b9510d0959d 100644 (file)
@@ -1,12 +1,32 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_PortsOfNode.cxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_PortsOfNode.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include "DataFlowBase_PortsOfNode.hxx"
 
 GraphBase::PortsOfNode::PortsOfNode() :
@@ -42,14 +62,28 @@ void GraphBase::PortsOfNode::DefPortsOfNode(
                            const SALOME_ModuleCatalog::Service& aService ,
                            const char *const * NodeName ,
                            const SUPERV::KindOfNode aKind ,
-                           const bool DataFlowOrComputing ,
-                           const bool WithInLoop ,
-                           const bool WithInGate ,
-                           const bool WithOutGate ,
+//                           const bool DataFlowOrComputing ,
+//                           const bool WithInLoop ,
+//                           const bool WithInGate ,
+//                           const bool WithOutGate ,
                            int * Graph_prof_debug ,
                            ostream * Graph_fdebug ) {
   int i ;
   cdebug_in << "DefPortsOfNode : " << *NodeName << endl ;
+  const bool DataFlowOrComputing = (aKind == SUPERV::DataFlowNode) ||
+                                   (aKind == SUPERV::ComputingNode) ||
+                                   (aKind == SUPERV::FactoryNode) ;
+// WithInLoop : InitLoop or DoLoop
+  const bool WithInLoop = (aKind == SUPERV::LoopNode) || (aKind == SUPERV::EndLoopNode) ;
+// WithInGate : InGate or Default
+  const bool WithInGate = (aKind == SUPERV::ComputingNode) || (aKind == SUPERV::FactoryNode) ||
+                          (aKind == SUPERV::InLineNode) || (aKind == SUPERV::LoopNode) ||
+                          (aKind == SUPERV::SwitchNode) || (aKind == SUPERV::EndSwitchNode) ||
+                          (aKind == SUPERV::GOTONode) ;
+// WithOutGate : OutGate or Default
+  const bool WithOutGate = (aKind == SUPERV::ComputingNode) || (aKind == SUPERV::FactoryNode) ||
+                           (aKind == SUPERV::InLineNode) || (aKind == SUPERV::SwitchNode) ||
+                           (aKind == SUPERV::GOTONode) ;
   SUPERV::KindOfPort aPortKind = SUPERV::ServiceParameter ;
   if ( aKind == SUPERV::InLineNode ) {
     aPortKind = SUPERV::InLineParameter ;
@@ -189,7 +223,7 @@ void GraphBase::PortsOfNode::DefPortsOfNode(
                                                     SUPERV::LoopParameter );
 //    _NodeOutPorts[iVec-1]->Kind( SUPERV::LoopParameter ) ;
     _NodeOutPorts[iVec-1]->SetDebug( ORB , Graph_prof_debug , Graph_fdebug ) ;
-    cdebug << "DefPortsOfNode : " << "_MapOfNodeInPorts[ " << aParametername
+    cdebug << "DefPortsOfNode : " << "_MapOfNodeOutPorts[ " << aParametername
            << " ] = " << iVec << " " << _NodeOutPorts[iVec-1]->Kind() << " "
             << _NodeOutPorts[iVec-1]  << endl ;
   }
index 0e29234170fb5262a574d84a4c5f3b8325a452f2..0b2263302555a6eb265ada5418a9127194d4ab24 100644 (file)
@@ -1,10 +1,30 @@
-//=============================================================================
-// File      : DataFlowBase_PortsOfNode.hxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_PortsOfNode.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOWBASE_PORTSOFNODE_HXX
 #define _DATAFLOWBASE_PORTSOFNODE_HXX
@@ -39,9 +59,10 @@ namespace GraphBase {
                            const SALOME_ModuleCatalog::Service& NodeService ,
                            const char *const * NodeName ,
                            const SUPERV::KindOfNode aKind ,
-                           const bool DataFlowOrComputing ,
-                           const bool WithGateArg ,
-                           const bool WithInGate , const bool WithOutGate ,
+//                           const bool DataFlowOrComputing ,
+//                           const bool WithGateArg ,
+//                           const bool WithInGate ,
+//                           const bool WithOutGate ,
                            int * Graph_prof_debug ,
                            ostream * Graph_fdebug ) ;
 
index 4740e495d67d4945f40bcd9f4e55ff093b86359c..8ef3689a57d0a700197c8fd91a97618fd5edacc6 100644 (file)
@@ -1,12 +1,32 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_Service.cxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_Service.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include "DataFlowBase_Service.hxx"
 
 void GraphBase::Service::SetService( const SALOME_ModuleCatalog::Service aService ) {
index d558fc64583aab0cbe1374c5b39e826a80dfc15b..4283b53ed86ab3787832a72b4122204dec38aab9 100644 (file)
@@ -1,10 +1,30 @@
-//=============================================================================
-// File      : DataFlowBase_Service.hxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_Service.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOWBASE_SERVICE_HXX
 #define _DATAFLOWBASE_SERVICE_HXX
index 33bb756388f7b54f8817070ebe7211d2b30e5568..f20f4a75de2e35b14059b2e12461c6b56bd9c40d 100644 (file)
@@ -1,3 +1,29 @@
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_ServicesParameter.hxx
+//  Module : SUPERV
+
 #ifndef _DATAFLOWBASE_SERVICESPARAMETER_HXX
 #define _DATAFLOWBASE_SERVICESPARAMETER_HXX
 
index 45cf94a44c5fdd41bd5f930d44f5ddce05a3163a..411abe66bb7df12755dc4062931548f11d3fcb03 100644 (file)
@@ -1,12 +1,15 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_SwitchNode.cxx
-// Created   : 2003
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : DataFlowBase_SwitchNode.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include <strstream>
 #include <iostream>
 
index e5e7b2b0c18e82f12dc1f8ed51115d21bfb442d4..4f44757b41fc28ecce645bfbe8292d674771726f 100644 (file)
@@ -1,10 +1,13 @@
-//=============================================================================
-// File      : DataFlowBase_SwitchNode.hxx
-// Created   : 2003
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : DataFlowBase_SwitchNode.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOWBASE_SWITCHNODE_HXX
 #define _DATAFLOWBASE_SWITCHNODE_HXX
index 4b26c8af5baf1ec72429feab69414f19ffecdf8b..9330837d4544013b78f392ebcdd1bfff9fba0763 100644 (file)
@@ -1,19 +1,32 @@
-using namespace std;
-//=============================================================================
-//  File      : DataFlowBase_XmlHandler.cxx
-//  Created   : Thu Sept 13 14:20:36 2001
-//  Author    : Arnaud RES
-//  Project   : SALOME
-//  Copyright : CEA
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : DataFlowBase_XmlHandler.cxx
+//  Author : Arnaud RES
+//  Module : SUPERV
 //  $Header$
 
-//#include "SALOME_NamingService.hxx"
-
-//#include <SALOMEconfig.h>
-//#include CORBA_CLIENT_HEADER(SALOME_SuperVision)
-
-//#include "DataFlow_debug.hxx"
-
+using namespace std;
 #include "DataFlowBase_XmlHandler.hxx"
 
 #include <qstring.h>
@@ -658,7 +671,8 @@ bool GraphBase::XmlHandler::endElement( const QString&,
               break;
            }
             case CORBA::tk_objref: {
-              aLink.aLinkValue.replace(CORBA::_tc_Object, NULL);
+//              aLink.aLinkValue.replace(CORBA::_tc_Object, NULL);
+              aLink.aLinkValue <<= CORBA::Object::_nil() ;
 #if TRACE
               MESSAGE( " (object reference)" );
 #endif
@@ -899,7 +913,12 @@ bool GraphBase::XmlHandler::endElement( const QString&,
               return returnfalse( this , "depth5-8" , qName ) ;
             int l = aNode.theListOfFuncName.size() ;
             aNode.theListOfFuncName.resize( l+1 ) ;
-            aNode.theListOfFuncName[ l ] = fieldvalue[depth].c_str() ;
+            if ( strcmp( fieldvalue[depth].c_str() , "?" ) ) {
+              aNode.theListOfFuncName[ l ] = fieldvalue[depth].c_str() ;
+           }
+            else {
+              aNode.theListOfFuncName[ l ] = "" ;
+           }
             aNode.theListOfPythonFunctions.resize( l+1 ) ;
             aNode.theListOfPythonFunctions[ l ] = new SUPERV::ListOfStrings() ;
 #if TRACE
index 23eefac15a5d05e9b609be79c19c2e27f9e89069..9d00b725ace7e49edd15511023ca3ebe3db4859b 100755 (executable)
@@ -1,9 +1,29 @@
-//=============================================================================
-//  File      : GraphBase_XmlHandler.hxx
-//  Created   : Thu Jun 14 14:02:23 2001
-//  Author    : Arnaud RES
-//  Project   : SALOME
-//  Copyright : CEA
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : GraphBase_XmlHandler.hxx
+//  Author : Arnaud RES
+//  Module : SUPERV
 //  $Header$
 
 #define  INCLUDE_MENUITEM_DEF 
index 6b44cf6f4a5b23b80a28166bf670b7cb3d9d8419..ac1ebf3c49bf3e3ee2ee636e1060c1912cf0540d 100644 (file)
@@ -1,13 +1,31 @@
-#==============================================================================
-#  File      : Makefile.in
-#  Created   : aug 21 2001
-#  Author    : , CEA
-#  Project   : SALOME
-#  Copyright : CEA 2001
+#  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+#
+#  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   : Makefile.in
+#  Author : , CEA
+#  Module : SUPERV
 #  $Header: 
-#==============================================================================
 
-# source path
 top_srcdir=@top_srcdir@
 top_builddir=../..
 srcdir=@srcdir@
index 5050f6850ef1a47e9a963df5097b9930d7805138..878735237a1c98ca630eaf69182e4766cf9fe10c 100644 (file)
@@ -1,13 +1,73 @@
+//  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
+//
+//  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   : SuperVisionBase_CheckOfUndefined.cxx
+//  Module : SUPERV
+
 using namespace std;
 #include <iostream>
 #include <fstream>
 #include <unistd.h>
 
-#include "DataFlowBase_Base.hxx"
-#include "DataFlowBase_Graph.hxx"
+#include "Utils_ORB_INIT.hxx"
+#include "Utils_SINGLETON.hxx"
+
+#include "SALOME_NamingService.hxx"
+#include "SALOME_LifeCycleCORBA.hxx"
+
+int _ArgC ;
+char ** _ArgV ;
 
 int main(int argc, char **argv) {
-//  debugFile("TestSuperVision.log");
+
+  Engines::Component_var objComponent ;
+  CORBA::Any * anAny = new CORBA::Any() ;
+  CORBA::Object_ptr obj ;
+  char * IOR ;
+
+  ORB_INIT &init = *SINGLETON_<ORB_INIT>::Instance() ;
+  ASSERT(SINGLETON_<ORB_INIT>::IsAlreadyExisting()) ;
+  CORBA::ORB_var &orb = init( argc , argv ) ;
+
+  SALOME_NamingService * NamingService = new SALOME_NamingService( orb ) ;
+
+  SALOME_LifeCycleCORBA LCC( NamingService ) ;
+  objComponent = LCC.FindOrLoad_Component( "FactoryServer" , "AddComponent" );
+  if ( CORBA::is_nil( objComponent ) ) {
+    cout << " LCC.FindOrLoad_Component( FactoryServer , AddComponent )" << endl;
+    return 0 ;
+  }
+
+  *anAny <<= objComponent ;
+  IOR = orb->object_to_string( objComponent );
+  cout << "objComponent " << objComponent << " IOR " << IOR << " nil " << CORBA::is_nil( objComponent )
+       << endl ;
+
+  *anAny >>= obj ;
+  IOR = orb->object_to_string( obj );
+  cout << "obj " << obj << " IOR " << IOR << " nil " << CORBA::is_nil( obj )
+       << endl ;
+
   return 0;
 }
 
index 836dac09074ba8562c73e9ac5552f6fb85456224..40e263912dd27cb08d888434026dedca6c48e745 100644 (file)
@@ -1,5 +1,30 @@
-using namespace std;
+//  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_DataFlow.cxx
+//  Module : SUPERV
 
+using namespace std;
 #include "DataFlowEditor_DataFlow.hxx"
 
 // Implementation de la classe GraphEditor::Graph
index d415fe1991469efb61f9195ee49eaced36a80f95..2209f7c2ef07e0bfdde565b14d4d4e30240d86d8 100644 (file)
@@ -1,3 +1,29 @@
+//  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_DataFlow.hxx
+//  Module : SUPERV
+
 #ifndef _DATAFLOWEDITOR_DATAFLOW_HXX
 #define _DATAFLOWEDITOR_DATAFLOW_HXX
 
@@ -16,6 +42,7 @@ namespace GraphEditor {
       GraphExecutor::DataFlow * _DataFlowExecutor ;
       bool                      _ReadOnly ;
       bool                      _Executing ;
+      bool                      _EditedAfterExecution ;
 
     public:
 
@@ -117,6 +144,11 @@ namespace GraphEditor {
                     const char* ToServiceParameterName ,
                     const CORBA::Any aValue = CORBA::Any() ) ;
 
+      bool RemoveLink( const char* FromNodeName ,
+                       const char* FromServiceParameterName ,
+                       const char* ToNodeName ,
+                       const char* ToServiceParameterName ) ;
+
       bool GetLink(const char* ToNodeName ,
                    const char* ToServiceParameterName ,
                    char** FromNodeName ,
@@ -165,11 +197,6 @@ namespace GraphEditor {
                          const char* ToServiceParameterName ,
                          const int index , long &X , long &Y ) ;
 
-      bool RemoveLink( const char* FromNodeName ,
-                       const char* FromServiceParameterName ,
-                       const char* ToNodeName ,
-                       const char* ToServiceParameterName ) ;
-
       bool AddInputData( const char* ToNodeName ,
                          const char* ToParameterName ,
                          const CORBA::Any aValue = CORBA::Any() ) ;
@@ -188,6 +215,8 @@ namespace GraphEditor {
 
       bool IsExecuting() ;
       bool IsEditing() ;
+      void EditedAfterExecution(bool EditedAfterExecution ) ;
+      bool EditedAfterExecution() ;
 
       bool IsReadOnly() ;
 
index 3eb2e8d4575593caf36619abfac1f8dabe49309e..b248b3b0909c8199e8e7651e340e8f8708755561 100644 (file)
@@ -1,3 +1,29 @@
+//  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_DataFlow.lxx
+//  Module : SUPERV
+
 #ifndef _DATAFLOWEDITOR_DATAFLOW_LXX
 #define _DATAFLOWEDITOR_DATAFLOW_LXX
 
@@ -35,18 +61,21 @@ inline bool GraphEditor::DataFlow::LoadDataFlow(
                        const GraphBase::SGraph *aDataFlow ) {
   if ( _ReadOnly )
     return false ;
+  _EditedAfterExecution = true ;
   return GraphEditor::OutNode::LoadDataFlow( aDataFlow ) ; 
 } ;
 
 inline bool GraphEditor::DataFlow::LoadXml( const char* myFileName ) {
   if ( _ReadOnly )
     return false ;
+  _EditedAfterExecution = true ;
   return GraphEditor::OutNode::LoadXml( myFileName ) ; 
 } ;
 
 inline bool GraphEditor::DataFlow::LoadInfo( const GraphBase::SNode &aDataFlowInfo ) {
   if ( _ReadOnly )
     return false ;
+  _EditedAfterExecution = true ;
   return GraphEditor::OutNode::LoadInfo( aDataFlowInfo ) ; 
 } ;
 
@@ -108,6 +137,7 @@ inline GraphEditor::InNode * GraphEditor::DataFlow::AddNode(
                       const int NodeY) {
   if ( _ReadOnly )
     return (GraphEditor::InNode * ) NULL ;
+  _EditedAfterExecution = true ;
   return GraphEditor::OutNode::AddNode( NodeService ,
                                         aFuncName , aPythonFunction ,
                                         NodeComponentName ,
@@ -127,6 +157,7 @@ inline GraphEditor::InNode * GraphEditor::DataFlow::GetNode( const char* NodeNam
 inline bool GraphEditor::DataFlow::RemoveNode( const char* NodeName ) {
   if ( _ReadOnly )
     return false ;
+  _EditedAfterExecution = true ;
   return GraphEditor::OutNode::RemoveNode( NodeName ) ; 
 } ;
 
@@ -134,6 +165,7 @@ inline bool GraphEditor::DataFlow::ReNameNode( const char* OldNodeName ,
                                                const char* NewNodeName ) {
   if ( _ReadOnly )
     return false ;
+  _EditedAfterExecution = true ;
   return GraphEditor::OutNode::ReNameNode( OldNodeName , NewNodeName ) ; 
 } ;
 
@@ -145,6 +177,7 @@ inline const SALOME_ModuleCatalog::Service * GraphEditor::DataFlow::NodeService(
 }
 
 inline void GraphEditor::DataFlow::Coordinates( const int X , const int Y ) {
+  _EditedAfterExecution = true ;
   return GraphEditor::OutNode::Coordinates( X , Y ) ; 
 } ;
 
@@ -194,6 +227,7 @@ inline bool GraphEditor::DataFlow::AddLink( const char* FromNodeName ,
   if ( _ReadOnly )
     return false ;
   CORBA::Any const * theValue = GetNode( FromNodeName )->GetOutPort( FromServiceParameterName )->Value() ; // Keep the type !
+  _EditedAfterExecution = true ;
   return GraphEditor::OutNode::AddLink( FromNodeName ,
                                         FromServiceParameterName ,
                                         ToNodeName ,
@@ -225,6 +259,7 @@ inline bool GraphEditor::DataFlow::AddLinkCoord(
                          const int nXY ,
                          const int* X ,
                          const int* Y ) {
+  _EditedAfterExecution = true ;
   return GraphEditor::OutNode::AddLinkCoord( FromNodeName ,
                                              FromServiceParameterName ,
                                              ToNodeName ,
@@ -240,6 +275,7 @@ inline bool GraphEditor::DataFlow::AddLinkCoord(
                          const int index ,
                          const int X ,
                          const int Y ) {
+  _EditedAfterExecution = true ;
   return GraphEditor::OutNode::AddLinkCoord( FromNodeName ,
                                              FromServiceParameterName ,
                                              ToNodeName ,
@@ -255,6 +291,7 @@ inline bool GraphEditor::DataFlow::ChangeLinkCoord(
                          const int index ,
                          const int X ,
                          const int Y ) {
+  _EditedAfterExecution = true ;
   return GraphEditor::OutNode::ChangeLinkCoord( FromNodeName ,
                                                 FromServiceParameterName ,
                                                 ToNodeName ,
@@ -268,6 +305,7 @@ inline bool GraphEditor::DataFlow::RemoveLinkCoord(
                          const char* ToNodeName ,
                          const char* ToServiceParameterName ,
                          const int index ) {
+  _EditedAfterExecution = true ;
   return GraphEditor::OutNode::RemoveLinkCoord( FromNodeName ,
                                                 FromServiceParameterName ,
                                                 ToNodeName ,
@@ -319,6 +357,7 @@ inline bool GraphEditor::DataFlow::RemoveLink(
                          const char* ToServiceParameterName ) {
   if ( _ReadOnly )
     return false ;
+  _EditedAfterExecution = true ;
   return GraphEditor::OutNode::RemoveLink( FromNodeName ,
                                            FromServiceParameterName ,
                                            ToNodeName ,
@@ -404,6 +443,14 @@ inline bool GraphEditor::DataFlow::IsEditing() {
   return !IsExecuting() ;
 }
 
+inline void GraphEditor::DataFlow::EditedAfterExecution(bool EditedAfterExecution ) {
+  _EditedAfterExecution = EditedAfterExecution ;
+}
+
+inline bool GraphEditor::DataFlow::EditedAfterExecution() {
+  return _EditedAfterExecution ;
+}
+
 inline bool GraphEditor::DataFlow::IsReadOnly() {
   return _ReadOnly ;
 }
@@ -434,6 +481,7 @@ inline long GraphEditor::DataFlow::GraphsNumber() {
 
 inline void GraphEditor::DataFlow::Executor(
                                GraphExecutor::DataFlow * DataFlowExecutor ) {
+  _Executing = true ;
   _DataFlowExecutor = DataFlowExecutor ;
 }
 
index 398cd2a72c5955e4bf58ec3e5a4f465c1e3497e4..034c99e097b880557548bd59c75072d115e9b3f6 100644 (file)
@@ -1,3 +1,29 @@
+//  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.cxx
+//  Module : SUPERV
+
 using namespace std;
 #include <string.h>
 #include <strstream>
index 6082e334b1a6b14d3d4efff9657f8f57c5c6bbd8..2c8cfd9f3b2da2f3df0c6430365855563a5c924d 100644 (file)
@@ -1,3 +1,29 @@
+//  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
 
index 4385cf1a93de5443c17ed02cd0a18d091ff7149a..bdb00d8aed514d2314f76c0cd4252db735d57147 100644 (file)
@@ -1,5 +1,30 @@
-using namespace std;
+//  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_OutNode.cxx
+//  Module : SUPERV
 
+using namespace std;
 #include "DataFlowEditor_OutNode.hxx"
 #include "DataFlowBase_EndOfLoopNode.hxx"
 #include "DataFlowBase_EndOfSwitchNode.hxx"
@@ -184,10 +209,13 @@ bool GraphEditor::OutNode::LoadNodes(map< string , int > & aMapOfNodes ,
       aMapOfNodes[ *aNodetheName ] = GetGraphNodeIndex( anInNode->Name() ) ;
       if ( anInNode->IsOneOfInLineNodes() ) {
         anInNode->GraphEditor::InNode::InLineNode()->DefPortsOfNode(
-                                _Orb , aNode.theService , anInNode->NamePtr() ,
-                                anInNode->Kind() , false ,
-                                anInNode->IsLoopNode() || anInNode->IsEndLoopNode() ,
-                                true , true , Graph_prof_debug() , Graph_fdebug() ) ;
+                  _Orb , aNode.theService , anInNode->NamePtr() ,
+                  anInNode->Kind() ,
+//                  false , // DataFlowOrComputing
+//                  anInNode->IsLoopNode() || anInNode->IsEndLoopNode() , // WithInLoop
+//                  anInNode->IsInLineNode() || anInNode->IsLoopNode() || anInNode->IsSwitchNode() || anInNode->IsEndSwitchNode() , // WithInGate
+//                  anInNode->IsInLineNode() || anInNode->IsSwitchNode() || anInNode->IsGOTONode() , // WithOutGate
+                  Graph_prof_debug() , Graph_fdebug() ) ;
         GraphBase::InLineNode * aINode = anInNode->InLineNode() ;
         GraphBase::LoopNode * aLNode = NULL ;
         if ( aINode->IsLoopNode() ) {
@@ -253,6 +281,10 @@ bool GraphEditor::OutNode::LoadLinks(map< string , int > & aMapOfNodes ,
     GraphBase::SLink aLink = aListOfLinks[ i ] ;
     string * aLinkFromNodeName = new string( aLink.FromNodeName.c_str() ) ;
     string * aLinkToNodeName = new string( aLink.ToNodeName.c_str() ) ;
+    cdebug << "LoadLinks " << aLinkFromNodeName->c_str() << "( "
+           << aLink.FromServiceParameterName.c_str() << " ) --> "
+           << aLinkToNodeName->c_str() << "( "
+           << aLink.FromServiceParameterName.c_str() << " )" << endl ;
     RetVal = AddLink( GetGraphNode( aMapOfNodes[ aLinkFromNodeName->c_str() ] )->Name() ,
                       aLink.FromServiceParameterName.c_str() ,
                       GetGraphNode( aMapOfNodes[ aLinkToNodeName->c_str() ] )->Name() ,
@@ -684,20 +716,20 @@ bool GraphEditor::OutNode::Executable() {
 const CORBA::Any *GraphEditor::OutNode::GetInData(
                               const char * ToNodeName ,
                               const char * ToParameterName ) {
-  cdebug_in << "GraphEditor::OutNode::GetInData" << endl ;
+//  cdebug_in << "GraphEditor::OutNode::GetInData " << ToNodeName
+//            << " " << ToParameterName << endl ;
   const CORBA::Any * retdata = PortInData( ToNodeName , ToParameterName ) ;
-  cdebug_out << "GraphEditor::OutNode::GetInData " << ToNodeName
-             << " " << ToParameterName << endl ;
+//  cdebug_out << "GraphEditor::OutNode::GetInData" << endl ;
   return retdata ;
 }
 
 const CORBA::Any *GraphEditor::OutNode::GetOutData(
                               const char * FromNodeName ,
                               const char * FromParameterName ) {
-  cdebug_in << "GraphEditor::OutNode::GetOutData" << endl ;
+//  cdebug_in << "GraphEditor::OutNode::GetOutData " << FromNodeName
+//            << " " << FromParameterName << endl ;
   const CORBA::Any * retdata = PortOutData( FromNodeName , FromParameterName ) ;
-  cdebug_out << "GraphEditor::OutNode::GetOutData " << FromNodeName
-             << " " << FromParameterName << endl ;
+//  cdebug_out << "GraphEditor::OutNode::GetOutData" << endl ;
   return retdata ;
 }
 
index 713834b418ae45a1306830c19e5ac180508d2b0c..780bee93dd2e9502c1d2cddd4bb868fc6ec6e652 100644 (file)
@@ -1,3 +1,29 @@
+//  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_OutNode.hxx
+//  Module : SUPERV
+
 #ifndef _DATAFLOWEDITOR_OUTNODE_HXX
 #define _DATAFLOWEDITOR_OUTNODE_HXX
 
@@ -101,7 +127,13 @@ namespace GraphEditor {
                         const int NodeX ,
                         const int NodeY ) ;
       GraphEditor::InNode * GetNode( const char* NodeName ) {
-               return (GraphEditor::InNode * ) (GraphBase::Graph::GetGraphNode( NodeName )->GetInNode()) ; } ;
+               const GraphBase::Graph::ComputingNode * aNode = GraphBase::Graph::GetGraphNode( NodeName ) ;
+               if ( aNode ) {
+                 return (GraphEditor::InNode * ) (aNode->GetInNode()) ;
+               }
+               else {
+                 return (GraphEditor::InNode * ) NULL ;
+               } } ;
       bool RemoveNode( const char* NodeName ) {
            DateModification() ;
            _Valid = false ;
index 7e384617b3753a7e498dad669157d9573923f90c..c28238eef39480904a859fbb6c570375f3a70824 100644 (file)
@@ -1,13 +1,31 @@
-#==============================================================================
-#  File      : Makefile.in
-#  Created   : aug 21 2001
-#  Author    : , CEA
-#  Project   : SALOME
-#  Copyright : CEA 2001
+#  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   : Makefile.in
+#  Author : , CEA
+#  Module : SUPERV
 #  $Header: 
-#==============================================================================
 
-# source path
 top_srcdir=@top_srcdir@
 top_builddir=../..
 srcdir=@srcdir@
index 9e1a93c8bfc551ce043b541f95312debe0bc0d6f..5dcb456a2a6dabb72344a3bc93fe7008d60f530f 100644 (file)
@@ -1,3 +1,29 @@
+//  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   : SuperVisionEditor_CheckOfUndefined.cxx
+//  Module : SUPERV
+
 using namespace std;
 #include <iostream>
 #include <fstream>
@@ -10,6 +36,9 @@ using namespace std;
 #include "DataFlowEditor_DataFlow.hxx"
 #include "DataFlowEditor_DataFlow.lxx"
 
+int _ArgC ;
+char ** _ArgV ;
+
 int main(int argc, char **argv) {
 
   return 1;
index 653fafb3854d452055dd5c9a40f76a0c91cc2fa8..ce7121885365b7c08f5967903e1551071063cf21 100644 (file)
@@ -1,5 +1,30 @@
-using namespace std;
+//  SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
+//
+//  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   : DataFlowExecutor_DataFlow.cxx
+//  Module : SUPERV
 
+using namespace std;
 #include "DataFlowExecutor_DataFlow.hxx"
 
 // Implementation de la classe GraphExecutor::Graph
@@ -120,10 +145,8 @@ bool GraphExecutor::DataFlow::KillDone( const char *aNodeName ) {
 
 bool GraphExecutor::DataFlow::Suspend() {
   cdebug_in << "GraphExecutor::DataFlow::Suspend()" << endl;
-  bool RetVal = false ;
-  MESSAGE("Suspend not yet implemented.") ;
-  cdebug << "Suspend not yet implemented." << endl;
-  cdebug_out << "GraphExecutor::DataFlow::Suspend()" << endl;
+  bool RetVal = GraphExecutor::OutNode::Suspend() ;
+  cdebug_out << "GraphExecutor::DataFlow::Suspend()" << RetVal << endl;
   return RetVal ;
 }
 
@@ -159,9 +182,8 @@ bool GraphExecutor::DataFlow::SuspendDone( const char *aNodeName ) {
 
 bool GraphExecutor::DataFlow::Resume() {
   cdebug_in << "GraphExecutor::DataFlow::Resume()" << endl;
-  bool RetVal = false ;
-  cdebug << "Resume not yet implemented." << endl;
-  cdebug_out << "GraphExecutor::DataFlow::Resume()" << endl;
+  bool RetVal = GraphExecutor::OutNode::Resume() ;
+  cdebug_out << "GraphExecutor::DataFlow::Resume()" << RetVal << endl;
   return RetVal ;
 }
 
index 7e65137ea792813139b2f65d6e9e28d3641777f3..02064933daab14c3da1b359878f4862e6292cdc8 100644 (file)
@@ -1,3 +1,29 @@
+//  SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
+//
+//  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   : DataFlowExecutor_DataFlow.hxx
+//  Module : SUPERV
+
 #ifndef _DATAFLOWEXECUTOR_DATAFLOW_HXX
 #define _DATAFLOWEXECUTOR_DATAFLOW_HXX
 
index 77dfb0398447d51b31b90f364d71cf0589935810..41397d59338571ceb36f8227017914cf053bf371 100644 (file)
@@ -1,3 +1,29 @@
+//  SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
+//
+//  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   : DataFlowExecutor_DataFlow.lxx
+//  Module : SUPERV
+
 #ifndef _DATAFLOWEXECUTOR_DATAFLOW_LXX
 #define _DATAFLOWEXECUTOR_DATAFLOW_LXX
 
index 25d3b22235fa0fdce0fe27233d14a695636df20d..8e4ae74b8deb5be97a2c53fd352e4822a99ee33c 100644 (file)
@@ -1,12 +1,32 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_DynInvoke.cxx
-// Created   : 2002
-// Author    : Marc Tajchman, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
+//
+//  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   : DataFlowBase_DynInvoke.cxx
+//  Author : Marc Tajchman, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include <stdarg.h>
 #include <map>
 
index 097e5a3b89c37d2d9851b22604a3be1601fd47a0..825db19f8a2b5bfa9a97f59e9bcb11b069593358 100644 (file)
@@ -1,3 +1,29 @@
+//  SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
+//
+//  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   : DataFlowExecutor_DynInvoke.hxx
+//  Module : SUPERV
+
 #ifndef _DATAFLOWEXECUTOR_DYNINVOKE_
 #define _DATAFLOWEXECUTOR_DYNINVOKE_
 
index 0f847d01e7a2e472a7cfd6d414e2b10b06854388..544945580357759f1345efabfff1d4e523e6d0c5 100644 (file)
@@ -1,12 +1,32 @@
-using namespace std;
-//=============================================================================
-// File      : DataFlowBase_FiniteStateMachine.cxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
+//
+//  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   : DataFlowBase_FiniteStateMachine.cxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
+using namespace std;
 #include <stdlib.h>
 #include <iostream>
 #include <unistd.h>
index aba11aea8523a2c6cba888eccdbc9ad437a32a76..aaeac24bae251a39bfc69c04096b7ca6aaa0d7ea 100644 (file)
@@ -1,10 +1,30 @@
-//=============================================================================
-// File      : DataFlowBase_FiniteStateMachine.hxx
-// Created   : 2002
-// Author    : Jean Rahuel, CEA
-// Project   : SALOME
-// $Header:
-//=============================================================================
+//  SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
+//
+//  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   : DataFlowBase_FiniteStateMachine.hxx
+//  Author : Jean Rahuel, CEA
+//  Module : SUPERV
+//  $Header:
 
 #ifndef _DATAFLOWEXECUTOR_FINITESTATEMACHINE
 #define _DATAFLOWEXECUTOR_FINITESTATEMACHINE
index 927370f3f12c3c7fbf971995b7be865f5f4cf0d2..847324d35d3ad966558fd801917bc53612ef04d8 100644 (file)
@@ -649,7 +649,7 @@ int GraphExecutor::InNode::DataWaiting_SomeDataReadyAction() {
   bool LoopBeginning = false ;
   bool SwitchFinished = false ;
 
-  if ( IsEndLoopNode() && !GetChangeNodeInPort( 1 )->GetOutPort()->BoolValue() ) {
+  if ( IsEndLoopNode() && !GetChangeNodeInPort( 0 )->GetOutPort()->BoolValue() ) {
     LoopFinished = true ; // End of Loop
   }
   if ( IsLoopNode() && GetChangeNodeInPort( 1 )->GetOutPort()->BoolValue() ) {
@@ -1001,6 +1001,7 @@ int GraphExecutor::InNode::DataReady_ExecuteAction() {
 
         if ( IsOneOfInLineNodes() ) {
           bool StsPyDynInvoke = true ;
+          _OutNode->PThreadLock() ;
           try {
             if ( IsInLineNode() && (*InLineNode()->PythonFunction()).length() &&
                  strlen( InLineNode()->PyFuncName() ) ) {
@@ -1020,7 +1021,7 @@ int GraphExecutor::InNode::DataReady_ExecuteAction() {
                 StsPyDynInvoke = PyDynInvoke( InLineNode()->PyRunMethod() ,
                                InLineNode()->PyFuncName() ,
                                &aListOfInParameters[2] , ServiceInParameter().length() ,
-                               &aListOfOutParameters[2] , ServiceOutParameter().length() ) ;
+                               &aListOfOutParameters[1] , ServiceOutParameter().length() ) ;
              }
               else {
                 cdebug << ThreadNo() << " !ObjInterface " << Name()
@@ -1029,7 +1030,7 @@ int GraphExecutor::InNode::DataReady_ExecuteAction() {
                 StsPyDynInvoke = PyDynInvoke( LoopNode()->PyNextMethod() ,
                              LoopNode()->PyNextName() ,
                              &aListOfInParameters[2] , ServiceInParameter().length() ,
-                             &aListOfOutParameters[2] , ServiceOutParameter().length() ) ;
+                             &aListOfOutParameters[1] , ServiceOutParameter().length() ) ;
              }
               if ( StsPyDynInvoke ) {
                 cdebug << ThreadNo() << " !ObjInterface " << Name()
@@ -1038,8 +1039,8 @@ int GraphExecutor::InNode::DataReady_ExecuteAction() {
                        << " OutParameters" << endl ;
                 int i ;
                 for ( i = 0 ; i < ServiceInParameter().length() ; i++ ) {
-                  aListOfInParameters[2 + i].Value = aListOfOutParameters[2+ i].Value ;
-                  aListOfInParameters[2 + i].Name = aListOfOutParameters[2+ i].Name ;
+                  aListOfInParameters[2 + i].Value = aListOfOutParameters[1+ i].Value ;
+                  aListOfInParameters[2 + i].Name = aListOfOutParameters[1+ i].Name ;
                   switch ( aListOfInParameters[2 + i].Value.type()->kind() ) {
                   case CORBA::tk_string :
                     cdebug << "Arg" << i << " : "
@@ -1070,7 +1071,7 @@ int GraphExecutor::InNode::DataReady_ExecuteAction() {
                 StsPyDynInvoke = PyDynInvoke( LoopNode()->PyMoreMethod() ,
                            LoopNode()->PyMoreName() ,
                            &aListOfInParameters[2] , ServiceInParameter().length() ,
-                           &aListOfOutParameters[1] , ServiceOutParameter().length()+1 ) ;
+                           &aListOfOutParameters[0] , ServiceOutParameter().length()+1 ) ;
              }
               else {
                 Err = true ;
@@ -1107,7 +1108,7 @@ int GraphExecutor::InNode::DataReady_ExecuteAction() {
               StsPyDynInvoke = PyDynInvoke( InLineNode()->PyRunMethod() ,
                                InLineNode()->PyFuncName() ,
                                &aListOfInParameters[1] , ServiceInParameter().length() ,
-                               &aListOfOutParameters[1] , ServiceOutParameter().length() ) ;
+                               &aListOfOutParameters[0] , ServiceOutParameter().length() ) ;
            }
             else if ( (*InLineNode()->PythonFunction()).length() == 0 ||
                       strlen( InLineNode()->PyFuncName() ) == 0 ) {
@@ -1115,41 +1116,44 @@ int GraphExecutor::InNode::DataReady_ExecuteAction() {
                      << " Copy of " << ServiceInParameter().length()
                      << " OutParameters" << endl ;
               int i ;
-              int argind0 = 1 ;
-              if ( IsEndLoopNode() ) {
-                argind0 = 2 ;
+              int argind0 = 0 ;
+              if ( IsEndSwitchNode() ) {
+                argind0 = 0 ;
+             }
+              else if ( IsEndLoopNode() || IsGOTONode() ) {
+                argind0 = 1 ;
              }
               for ( i = 0 ; i < ServiceInParameter().length() ; i++ ) {
-                aListOfOutParameters[argind0 + i].Value = aListOfInParameters[argind0 + i].Value ;
+                aListOfOutParameters[argind0 + i].Value = aListOfInParameters[ 1 + i].Value ;
 //                aListOfOutParameters[argind0 + i].Name = aListOfInParameters[argind0 + i].Name ;
-                switch ( aListOfInParameters[argind0 + i].Value.type()->kind() ) {
+                switch ( aListOfInParameters[ 1 + i].Value.type()->kind() ) {
                 case CORBA::tk_string :
                   cdebug << "Arg" << i << " : "
-                         << aListOfInParameters[argind0 + i].Name.c_str()
+                         << aListOfInParameters[ 1 + i].Name.c_str()
                          << " Value(string) "
                          << aListOfOutParameters[argind0 + i].Name.c_str() << endl ;
                   break ;
                 case CORBA::tk_double :
                   cdebug << "Arg" << i << " : "
-                         << aListOfInParameters[argind0 + i].Name.c_str()
+                         << aListOfInParameters[ 1 + i].Name.c_str()
                          << " Value(double) "
                          << aListOfOutParameters[argind0 + i].Name.c_str() << endl ;
                   break ;
                 case CORBA::tk_long :
                   cdebug << "Arg" << i << " : "
-                         << aListOfInParameters[argind0 + i].Name.c_str()
+                         << aListOfInParameters[ 1 + i].Name.c_str()
                          << " Value(long) "
                          << aListOfOutParameters[argind0 + i].Name.c_str() << endl ;
                   break ;
                 case CORBA::tk_objref :
                   cdebug << "Arg" << i << " : "
-                         << aListOfInParameters[argind0 + i].Name.c_str()
+                         << aListOfInParameters[ 1 + i].Name.c_str()
                          << " Value(object reference) "
                          << aListOfOutParameters[argind0 + i].Name.c_str() << endl ;
                   break ;
                 default :
                   cdebug << "Arg" << i << " : "
-                         << aListOfInParameters[argind0 + i].Name.c_str()
+                         << aListOfInParameters[ 1 + i].Name.c_str()
                          << " Value(other) ERROR "
                          << aListOfOutParameters[argind0 + i].Name.c_str() << endl ;
                }
@@ -1168,6 +1172,7 @@ int GraphExecutor::InNode::DataReady_ExecuteAction() {
                    << " Python Dynamic Call Exception catched ERROR"
                    << endl ;
          }
+          _OutNode->PThreadUnLock() ;
        }
 //        else if ( !ObjInterface() ) {
         else if ( IsFactoryNode() ) {
@@ -1464,18 +1469,19 @@ int GraphExecutor::InNode::Successed_SuccessAction() {
   DoneAction() ;
 
   if ( IsGOTONode() ||
-       ( IsEndLoopNode() && GetNodeInPort(1)->GetOutPort()->BoolValue() ) ) {
-    int index ;
-    if ( IsGOTONode() ) {
-      index = 0 ;
-    }
-    else {
-      index = 1 ;
-      CORBA::Any * anAny = new CORBA::Any() ;
-      *anAny <<= (long ) 0 ;
-      GetChangeNodeOutPort(1)->Value( anAny ) ; // Loop(InLoop) = false 
-    }
-    const GraphBase::OutPort * GateOutPort = GetNodeOutPort(index) ;
+       ( IsEndLoopNode() && GetNodeInPort(0)->GetOutPort()->BoolValue() ) ) {
+//    int index ;
+//    if ( IsGOTONode() ) {
+//      index = 0 ;
+//    }
+//    else {
+//      index = 1 ;
+//      CORBA::Any * anAny = new CORBA::Any() ;
+//      *anAny <<= (long ) 0 ;
+//      GetChangeNodeOutPort(1)->Value( anAny ) ; // Loop(InLoop) = false 
+//    }
+//    const GraphBase::OutPort * GateOutPort = GetNodeOutPort(index) ;
+    const GraphBase::OutPort * GateOutPort = GetNodeOutPort(0) ;
     for ( i = 0 ; i < GateOutPort->InPortsSize() ; i++ ) {
       const GraphBase::InPort * anInPort = GateOutPort->InPorts( i ) ;
       GraphExecutor::InNode * aLabelNode = (GraphExecutor::InNode *) _OutNode->GetChangeGraphNode( anInPort->NodeName() )->GetInNode() ;
@@ -1483,19 +1489,12 @@ int GraphExecutor::InNode::Successed_SuccessAction() {
       for ( j = 1 ; j < GetNodeOutPortsSize() ; j++ ) {
         GraphBase::OutPort * aBusParamOutPort = GetChangeNodeOutPort( j ) ;
         GraphBase::InPort * aBusParamChangeInPort = NULL ;
-        if ( aBusParamOutPort->IsLoop() ) {
-          aBusParamChangeInPort = aLabelNode->GetChangeInPort( "InitLoop" ) ;
-       }
-        else {
+//        if ( aBusParamOutPort->IsLoop() ) {
+//          aBusParamChangeInPort = aLabelNode->GetChangeInPort( "InitLoop" ) ;
+//     }
+//        else {
           aBusParamChangeInPort = aLabelNode->GetChangeInPort( aBusParamOutPort->PortName() ) ;
-       }
-//        const GraphBase::InPort * aBusParamInPort = aBusParamChangeInPort ;
-//        if ( aBusParamInPort ) {
-//          GraphBase::OutPort * anOutPort = aBusParamInPort->GetOutPort() ;
-//          anOutPort->Value( aBusParamOutPort->Value() ) ;
-//          GraphExecutor::InNode * aFromLabelNode = (GraphExecutor::InNode *) _OutNode->GetChangeGraphNode( anOutPort->NodeName() )->GetInNode() ;
-//          if ( aFromLabelNode && !aLabelNode->IsLockedDataWait() ) {
-//            res = aLabelNode->SendSomeDataReady( aFromLabelNode->Name() , EndTest ) ;
+//     }
         if ( aBusParamChangeInPort ) {
           aBusParamChangeInPort->ChangeOutPort( aBusParamOutPort ) ;
           if ( !aLabelNode->IsLockedDataWait() ) {
@@ -1525,7 +1524,6 @@ int GraphExecutor::InNode::Successed_SuccessAction() {
                    << aLabelNode->Name() << " with datas from "
                    << aBusParamOutPort->PortName() << " to port "
                    << aBusParamChangeInPort->PortName() << endl;
-//            aBusParamChangeInPort->State( SUPERV::ReadyState ) ;
          }
        }
         else {
@@ -1534,10 +1532,14 @@ int GraphExecutor::InNode::Successed_SuccessAction() {
                  << aLabelNode->Name() << endl;
         }
       }
-      const GraphBase::OutPort * aGateOutPort = GetNodeOutPort( index ) ;
-      const GraphBase::InPort * aGateInPort = aLabelNode->GetNodeInPort( index ) ;
+//      const GraphBase::OutPort * aGateOutPort = GetNodeOutPort( index ) ;
+//      const GraphBase::InPort * aGateInPort = aLabelNode->GetNodeInPort( index ) ;
+      const GraphBase::OutPort * aGateOutPort = GetNodeOutPort( 0 ) ; // DoLoop or OutGate
+      const GraphBase::InPort * aGateInPort = aLabelNode->GetNodeInPort( 0 ) ;
       if ( aGateInPort ) {
-        aGateInPort->GetOutPort()->Value( aGateOutPort->Value() ) ;
+        if ( aGateInPort->GetOutPort() ) {
+          aGateInPort->GetOutPort()->Value( aGateOutPort->Value() ) ;
+       }
         if ( !aLabelNode->IsLockedDataWait() ) {
           res = aLabelNode->SendSomeDataReady( Name() ) ;
           if ( res ) {
@@ -1597,7 +1599,7 @@ int GraphExecutor::InNode::Successed_SuccessAction() {
         }
       }
       if ( toNode && IsLoopNode() ) {
-        GraphBase::OutPort * fromLoopOutPort = GetChangeNodeOutPort(1) ;
+        GraphBase::OutPort * fromLoopOutPort = GetChangeNodeOutPort(0) ;
         if ( !fromLoopOutPort->BoolValue() ) {
           if ( strcmp( toNode->Name() , CoupledNode()->Name() ) ) {
             IgnoreForEndLoop = true ; // toNode is the EndLoopNode
@@ -2089,8 +2091,8 @@ void GraphExecutor::InNode::InOutParameters(
     string _Type = CORBA::string_dup(GetChangeNodeOutPort(i)->GetServicesParameter().Parametertype) ;
     const char * Type = _Type.c_str() ;
     bool OutDone = GetChangeNodeOutPort(i)->Done() ;
-//      cdebug << ThreadNo() << " ArgOut" << i << " " << D.Name << " Done("
-//             << OutDone << ") " << Type << " : " << endl ;
+    cdebug << ThreadNo() << " ArgOut" << i << " " << D.Name << " Done("
+           << OutDone << ") " << Type << " : " << endl ;
     if ( !strcmp( Type , "string" ) ) {
       D.Value <<= (char *) NULL ;
     }
@@ -2101,10 +2103,11 @@ void GraphExecutor::InNode::InOutParameters(
       D.Value <<= (long ) 0 ;
     }
     else {
-      D.Value.replace(CORBA::_tc_Object, NULL);
+//      D.Value.replace(CORBA::_tc_Object, NULL);
+      D.Value <<= CORBA::Object::_nil() ;
     }
 //    GetChangeNodeOutPort(i)->Value( D.Value ) ;
-#if 0
+//#if 0
     switch (D.Value.type()->kind()) {
     case CORBA::tk_string:
       char * t;
@@ -2127,7 +2130,7 @@ void GraphExecutor::InNode::InOutParameters(
     default:
       cdebug << ThreadNo() << " " << "(other ERROR)" << endl ;
     }
-#endif
+//#endif
     aListOfOutParameters[i] = D ;
   }
 }
index 231674b3ac89b7a7ac9f8b50f40a1701ea895c9b..5f30b8901841630a503e8f998cddce7f49dfb6da 100644 (file)
@@ -15,6 +15,9 @@ extern GraphExecutor::FiniteStateMachine * theAutomaton ;
 
 static const char *ComponentName = "SalomeSuperVisionComponent" ;
 
+extern int _ArgC ;
+extern char ** _ArgV ;
+
 GraphExecutor::OutNode::OutNode() :
                Graph() {
   _Valid = false ;
@@ -195,9 +198,8 @@ bool GraphExecutor::OutNode::LoadNodes(const GraphBase::ListOfNodes &aListOfNode
     if ( anInNode->IsOneOfInLineNodes() ) {
       anInNode->GraphExecutor::InNode::InLineNode()->DefPortsOfNode(
                                 _Orb , aNode.theService , anInNode->NamePtr() ,
-                                anInNode->Kind() , false ,
-                                anInNode->IsLoopNode() || anInNode->IsEndLoopNode() ,
-                                true , true , Graph_prof_debug() , Graph_fdebug() ) ;
+                                anInNode->Kind() ,
+                                Graph_prof_debug() , Graph_fdebug() ) ;
 #if 0
       GraphBase::InLineNode * aINode = anInNode->InLineNode() ;
       GraphBase::LoopNode * aLNode = NULL ;
@@ -404,7 +406,8 @@ bool GraphExecutor::OutNode::Run( const bool AndSuspend ) {
       GraphExecutor::InNode * anInNode = (GraphExecutor::InNode *) GraphNodes( i )->GetInNode() ;
       if ( !PyInitialized() && anInNode->IsOneOfInLineNodes() ) {
         if ( !Py_IsInitialized() ) {
-          Py_Initialize() ;
+//          Py_Initialize() ;
+          PySys_SetArgv( _ArgC , _ArgV ) ;
        }
         anInNode->InitPython() ;
         PyInitialized( true ) ;
@@ -540,8 +543,8 @@ void GraphExecutor::OutNode::CheckAllDone() {
 // PushEvent AFTER State and _Done ! ...
       PushEvent( NULL , GraphExecutor::EndExecuteEvent ,
                  OutNodeState ) ;
-      Py_Finalize() ;
-      PyInitialized( false ) ;
+//      Py_Finalize() ;
+//      PyInitialized( false ) ;
     }
   }
   cdebug_out << "GraphExecutor::OutNode::CheckAllDone " << _Done
@@ -550,6 +553,50 @@ void GraphExecutor::OutNode::CheckAllDone() {
              << _SuspendedThreads << endl ;
 }
 
+void GraphExecutor::OutNode::PThreadLock( pthread_mutex_t * aMutex , char * errmsg ) {
+//  if ( strcmp( errmsg , "EventLoop" ) && strcmp( errmsg , "EventW" ) ) {
+//    cdebug << "GraphExecutor::OutNode::PThreadLock " << pthread_self() << " " << aMutex << " "
+//           << errmsg << endl ;
+//  }
+  if ( pthread_mutex_lock( aMutex ) ) {
+    perror( errmsg ) ;
+    exit( 0 ) ;
+  }
+//  if ( strcmp( errmsg , "EventLoop" ) && strcmp( errmsg , "EventW" ) ) {
+//    cdebug << "GraphExecutor::OutNode::PThreadLocked " << pthread_self() << " " << aMutex << " "
+//           << errmsg << endl ;
+//  }
+}
+
+void GraphExecutor::OutNode::PThreadUnLock( pthread_mutex_t * aMutex , char * errmsg ) {
+//  if ( strcmp( errmsg , "EventLoop" ) && strcmp( errmsg , "EventW" ) ) {
+//    cdebug << " GraphExecutor::OutNode::PThreadUnLock " << pthread_self() << " " << aMutex << " "
+//           << errmsg << endl ;
+//  }
+  if ( pthread_mutex_unlock( aMutex ) ) {
+    perror( errmsg ) ;
+    exit( 0 ) ;
+  }
+}
+
+void GraphExecutor::OutNode::PThreadLock() {
+  cout << " GraphExecutor::OutNode::PThreadLock " << pthread_self() << endl ;
+  if ( pthread_mutex_lock( &_MutexWait ) ) {
+    perror( "GraphExecutor::OutNode::PThreadLock" ) ;
+    exit( 0 ) ;
+  }
+  cout << " GraphExecutor::OutNode::PThreadLocked " << pthread_self() << endl ;
+}
+
+void GraphExecutor::OutNode::PThreadUnLock() {
+  cout << " GraphExecutor::OutNode::PThreadUnLock " << pthread_self() << endl ;
+  if ( pthread_mutex_unlock( &_MutexWait ) ) {
+    perror( "GraphExecutor::OutNode::PThreadUnLock" ) ;
+    exit( 0 ) ;
+  }
+  cout << " GraphExecutor::OutNode::PThreadUnLocked " << pthread_self() << endl ;
+}
+
 void GraphExecutor::OutNode::NewThread() {
   if ( pthread_mutex_lock( &_MutexWait ) ) {
     perror("pthread_mutex_lock _NewThread") ;
@@ -932,8 +979,8 @@ SUPERV::GraphState GraphExecutor::OutNode::AutomatonGraphState(SUPERV::Automaton
 bool GraphExecutor::OutNode::PushEvent( GraphExecutor::InNode * aNode ,
                                         GraphExecutor::NodeEvent anEvent ,
                                         SUPERV::AutomatonState aState ) {
-  cdebug_in << "PushEvent Threads " << Threads() << " SuspendedThreads "
-            << SuspendedThreads() << endl ;
+//  cdebug_in << "PushEvent Threads " << Threads() << " SuspendedThreads "
+//            << SuspendedThreads() << endl ;
   if ( pthread_mutex_lock( &_MutexWait ) ) {
     perror("PushEvent pthread_mutex_lock ") ;
     exit( 0 ) ;
@@ -948,19 +995,19 @@ bool GraphExecutor::OutNode::PushEvent( GraphExecutor::InNode * aNode ,
   _States.push_back( aState ) ;
   pthread_cond_broadcast( &_EventWait );
   if ( aNode ) {
-    cdebug << aNode->ThreadNo() << " PushEvent " << aNode->Name() ;
-    cdebug << " " << aNode->Automaton()->EventName( anEvent )
-           << " " << aNode->Automaton()->StateName( aState )
-           << " ControleState "
-           << aNode->Automaton()->ControlStateName( aNode->ControlState() ) ;
+//    cdebug << aNode->ThreadNo() << " PushEvent " << aNode->Name() ;
+//    cdebug << " " << aNode->Automaton()->EventName( anEvent )
+//           << " " << aNode->Automaton()->StateName( aState )
+//           << " ControleState "
+//           << aNode->Automaton()->ControlStateName( aNode->ControlState() ) ;
   }
   else {
-    cdebug << "PushEvent " << Name() ;
-    cdebug << " " << theAutomaton->EventName( anEvent ) << " "
-           << theAutomaton->StateName( aState ) ;
+//    cdebug << "PushEvent " << Name() ;
+//    cdebug << " " << theAutomaton->EventName( anEvent ) << " "
+//           << theAutomaton->StateName( aState ) ;
   }
-  cdebug_out << "PushEvent Threads " << Threads() << " SuspendedThreads "
-             << SuspendedThreads() << endl ;
+//  cdebug_out << "PushEvent Threads " << Threads() << " SuspendedThreads "
+//             << SuspendedThreads() << endl ;
   if ( pthread_mutex_unlock( &_MutexWait ) ) {
     perror("PushEvent pthread_mutex_unlock ") ;
     exit( 0 ) ;
@@ -1662,20 +1709,20 @@ long GraphExecutor::OutNode::LastLevelDone() {
 const CORBA::Any *GraphExecutor::OutNode::GetInData(
                               const char * NodeName ,
                               const char * ServiceParameterName ) {
-  cdebug_in << "GraphExecutor::OutNode::GetInData " << NodeName << " "
-            << ServiceParameterName << endl ;
+//  cdebug_in << "GraphExecutor::OutNode::GetInData " << NodeName << " "
+//            << ServiceParameterName << endl ;
   const CORBA::Any * retdata = PortInData( NodeName , ServiceParameterName ) ;
-  cdebug_out << "GraphExecutor::OutNode::GetInData" << endl ;
+//  cdebug_out << "GraphExecutor::OutNode::GetInData" << endl ;
   return retdata ;
 }
 
 const CORBA::Any *GraphExecutor::OutNode::GetOutData(
                               const char * NodeName ,
                               const char * ServiceParameterName ) {
-  cdebug_in << "GraphExecutor::OutNode::GetData " << NodeName << " "
-            << ServiceParameterName << endl ;
+//  cdebug_in << "GraphExecutor::OutNode::GetOutData " << NodeName << " "
+//            << ServiceParameterName << endl ;
   const CORBA::Any * retdata = PortOutData( NodeName , ServiceParameterName ) ;
-  cdebug_out << "GraphExecutor::OutNode::GetOutData" << endl ;
+//  cdebug_out << "GraphExecutor::OutNode::GetOutData" << endl ;
   return retdata ;
 }
 
index d13a9d0891810e98b134742e2ea81c9706dfc6e2..fb54a37259d9a525a8d87573ee394b1dfb360ac3 100644 (file)
@@ -113,6 +113,11 @@ namespace GraphExecutor {
 
       void CheckAllDone() ;
 
+      void PThreadLock( pthread_mutex_t * aMutex , char * errmsg ) ;
+      void PThreadUnLock( pthread_mutex_t * aMutex , char * errmsg ) ;
+      void PThreadLock() ;
+      void PThreadUnLock() ;
+
       void NewThread() ;
       void ExitThread() ;
       void SuspendThread() ;
@@ -139,6 +144,8 @@ namespace GraphExecutor {
                       SUPERV::GraphState & aState ) ;
 
       void State(SUPERV::AutomatonState aState ) ;
+      const char * StateName(SUPERV::AutomatonState aState ) {
+             return theAutomaton->StateName( aState ) ; }
 
       SUPERV::GraphState State() ;
       SUPERV::GraphState State( const char * NodeName ) ;
index 31e0c0cf2a25ce9da5aa3a93e380f2c5867315fd..38adfb702a682af70512d709deaf5180919b0ecc 100644 (file)
@@ -43,11 +43,11 @@ bool GraphExecutor::InNode::InitPython() {
   aPyFunc += "import omniORB\n" ;
   aPyFunc += "print 'PyObjRef'\n" ;
   aPyFunc += "def PyObjRef( IORObjStr ) :\n" ;
-//  aPyFunc += "    print 'PyObjRef',IORObjStr\n" ;
+  aPyFunc += "    print 'PyObjRef',IORObjStr\n" ;
   aPyFunc += "    orb = CORBA.ORB_init( sys.argv , CORBA.ORB_ID )\n" ;
+  aPyFunc += "    print 'PyObjRef orb',orb\n" ;
   aPyFunc += "    objref = orb.string_to_object( IORObjStr )\n" ;
-//  aPyFunc += "    print IORObjStr,objref\n" ;
-//  aPyFunc += "    return objref,objref\n" ;
+  aPyFunc += "    print 'PyObjRef IORObjStr objref',IORObjStr,objref\n" ;
   aPyFunc += "    return objref\n" ;
   aPyFunc += "InitPyRunMethod.RunMethod( PyObjRef )\n" ;
   if ( PyRun_SimpleString( (char *) aPyFunc.c_str() ) ) {
@@ -61,11 +61,11 @@ bool GraphExecutor::InNode::InitPython() {
   aPyFunc += "import CORBA\n" ;
   aPyFunc += "import omniORB\n" ;
   aPyFunc += "def PyObjIor( ObjRef ) :\n" ;
-//  aPyFunc += "    print 'PyObjIor',ObjRef\n" ;
+  aPyFunc += "    print 'PyObjIor',ObjRef\n" ;
   aPyFunc += "    orb = CORBA.ORB_init( sys.argv , CORBA.ORB_ID )\n" ;
-//  aPyFunc += "    print 'PyObjIor',orb\n" ;
+  aPyFunc += "    print 'PyObjIor orb',orb\n" ;
   aPyFunc += "    objIor = orb.object_to_string( ObjRef )\n" ;
-//  aPyFunc += "    print 'PyObjIor',ObjRef,objIor\n" ;
+  aPyFunc += "    print 'PyObjIor ObjRef objIor',ObjRef,objIor\n" ;
   aPyFunc += "    return objIor\n" ;
   aPyFunc += "InitPyRunMethod.RunMethod( PyObjIor )\n" ;
   if ( PyRun_SimpleString( (char *) aPyFunc.c_str() ) ) {
@@ -150,14 +150,15 @@ bool GraphExecutor::InNode::PyDynInvoke( PyObject * MyPyRunMethod ,
   int n_out = nOutParams ;
   const char * sname;
 
-  cdebug_in << "GraphExecutor::InNode::PyDynInvoke " << method << endl ;
+  cdebug_in << ThreadNo() << "GraphExecutor::InNode::PyDynInvoke " << method << " " << n_in
+            << " InArgs " << n_out << " OutArgs" << endl ;
 
   CORBA::Any data ;
 
   PyObject * ArgsList = NULL ;
-  PyObject * ArgValue ;
-  PyObject * ArgResult ;
-  PyObject * Result ;
+  PyObject * ArgValue = NULL ;
+  PyObject * ArgResult = NULL ;
+  PyObject * Result = NULL ;
   PyObject * MyPyObjRefList = NULL ;
   PyObject * ResultObj = NULL ;
   PyObject * MyPyObjIorList = NULL ;
@@ -176,7 +177,7 @@ bool GraphExecutor::InNode::PyDynInvoke( PyObject * MyPyRunMethod ,
       data >>= t ;
       ArgValue = Py_BuildValue( "s" , t ) ;
       PyTuple_SetItem( ArgsList , i , ArgValue ) ;
-      cdebug << "ArgIn" << i << " : " << sname << " Value " << t << " (string) "
+      cdebug << "ArgIn" << i << " : " << sname << " " << method << " Value " << t << " (string) "
              << ArgsList->ob_refcnt << endl ;
       break ;
     }
@@ -185,7 +186,7 @@ bool GraphExecutor::InNode::PyDynInvoke( PyObject * MyPyRunMethod ,
       data >>= d ;
       ArgValue = Py_BuildValue( "d" , d ) ;
       PyTuple_SetItem( ArgsList , i , ArgValue ) ;
-      cdebug << "ArgIn" << i << " : " << sname << " Value " << d << " (double) " 
+      cdebug << "ArgIn" << i << " : " << sname << " " << method << " Value " << d << " (double) " 
              << ArgsList->ob_refcnt << endl ;
       break ;
     }
@@ -194,7 +195,7 @@ bool GraphExecutor::InNode::PyDynInvoke( PyObject * MyPyRunMethod ,
       data >>= l ;
       ArgValue = Py_BuildValue( "l" , l ) ;
       PyTuple_SetItem( ArgsList , i , ArgValue ) ;
-      cdebug << "ArgIn" << i << " : " << sname << " Value " << l
+      cdebug << "ArgIn" << i << " : " << sname << " " << method << " Value " << l
              << " (long) ArgsList->ob_refcnt" << ArgsList->ob_refcnt << endl ;
       break ;
     }
@@ -205,14 +206,14 @@ bool GraphExecutor::InNode::PyDynInvoke( PyObject * MyPyRunMethod ,
       IORObjRef = ObjectToString( ObjRef ) ;
       ObjValue = Py_BuildValue( "s" , IORObjRef ) ;
       PyTuple_SetItem( MyPyObjRefList , 0 , ObjValue ) ;
-      cdebug << "ArgIn" << i << " : " << sname << " Value " << IORObjRef << " (objref) "
+      cdebug << "ArgIn" << i << " : " << sname << method << " " << " Value " << IORObjRef << " (objref) "
              << MyPyObjRefList->ob_refcnt << endl ;
       ResultObj = PyEval_CallObject( MyPyObjRef , MyPyObjRefList ) ;
       cdebug << "MyPyObjRefList->ob_refcnt" << MyPyObjRefList->ob_refcnt << " "
              << "ResultObj->ob_refcnt" << ResultObj->ob_refcnt << endl ;
       PyObject_Print( ResultObj , stdout , 0 ) ;
       PyTuple_SetItem( ArgsList , i , ResultObj ) ;
-      cdebug << "ArgIn" << i << " : " << sname << " Value  (objref) ArgsList->ob_refcnt"
+      cdebug << "ArgIn" << i << " : " << sname << " " << method << " Value  (objref) ArgsList->ob_refcnt"
              << ArgsList->ob_refcnt << " ResultObj->ob_refcnt" << ResultObj->ob_refcnt
              << endl ;
       break ;
@@ -241,21 +242,27 @@ bool GraphExecutor::InNode::PyDynInvoke( PyObject * MyPyRunMethod ,
         if ( ArgValue == NULL ) {
           ArgValue = Result ;
        }
+        if ( !PyString_Check( ArgValue ) ) {
+          cdebug << "ArgOut" << i << " : " << sname << " " << method << " ERROR (string)" << endl ;
+       }
         t = PyString_AsString( ArgValue ) ;
         data <<= t ;
-        cdebug << "ArgOut" << i << " : " << sname << " Value " << t << " (string)"
+        cdebug << "ArgOut" << i << " : " << sname << " " << method << " Value " << t << " (string)"
                << endl ;
         break ;
       }
       case CORBA::tk_double : {
         double d ;
         ArgValue = PyTuple_GetItem( Result , i ) ;
+        if ( !PyFloat_Check( ArgValue ) ) {
+          cdebug << "ArgOut" << i << " : " << sname << " " << method << " ERROR (double)" << endl ;
+       }
         if ( ArgValue == NULL ) {
           ArgValue = Result ;
        }
         d = PyFloat_AsDouble( ArgValue ) ;
         data <<= d ;
-        cdebug << "ArgOut" << i << " : " << sname << " Value " << d << " (double)"
+        cdebug << "ArgOut" << i << " : " << sname << " " << method << " Value " << d << " (double)"
                << endl ;
         break ;
       }
@@ -265,9 +272,12 @@ bool GraphExecutor::InNode::PyDynInvoke( PyObject * MyPyRunMethod ,
         if ( ArgValue == NULL ) {
           ArgValue = Result ;
        }
+        if ( !PyInt_Check( ArgValue ) ) {
+          cdebug << "ArgOut" << i << " : " << sname << " " << method << " ERROR (long)" << endl ;
+       }
         l = PyInt_AsLong( ArgValue ) ;
         data <<= l ;
-        cdebug << "ArgOut" << i << " : " << sname << " Value " << l << " (long)" << endl ;
+        cdebug << "ArgOut" << i << " : " << sname << " " << method << " Value " << l << " (long)" << endl ;
         break ;
       }
       case CORBA::tk_objref : {
@@ -276,6 +286,8 @@ bool GraphExecutor::InNode::PyDynInvoke( PyObject * MyPyRunMethod ,
         if ( ObjIor == NULL ) {
           ObjIor = Result ;
        }
+        cdebug << "ArgOut" << i << " : " << sname << " " << method << " Value " << "(object reference) "<< endl ;
+        cout << "ArgOut" << i << " : " << sname << " " << method << " Value " << "(object reference) : " ;
         Py_INCREF( ObjIor ) ;
         PyObject_Print( ObjIor , stdout , 0 ) ;
         PyTuple_SetItem( MyPyObjIorList , 0 , ObjIor ) ;
@@ -290,18 +302,18 @@ bool GraphExecutor::InNode::PyDynInvoke( PyObject * MyPyRunMethod ,
           ObjRef = StringToObject( IOR ) ;
           data <<= ObjRef ;
           IORObjRef = ObjectToString( ObjRef ) ;
-          cdebug << "ArgOut" << i << " : " << sname << " Value " << "(object reference) "
+          cdebug << "ArgOut" << i << " : " << sname << " " << method << " Value " << "(object reference) "
                  << IORObjRef << endl ;
        }
         else {
           cdebug_out << "GraphExecutor::InNode::PyDynInvoke Error ResultIor == NULL"
-                     << endl ;
+                     << method << " " << endl ;
           RetVal = false ;
        }
         break ;
       }
       default : {
-        cdebug << "ArgOut" << i << " : " << sname << " Value " << "(other ERROR)" << endl ;
+        cdebug << "ArgOut" << i << " : " << sname << " " << method << " Value " << "(other ERROR)" << endl ;
       }
       }
       outParams[i].Value = data ;
@@ -309,12 +321,18 @@ bool GraphExecutor::InNode::PyDynInvoke( PyObject * MyPyRunMethod ,
 
     if ( MyPyObjIorList ) {
       int cnt = MyPyObjIorList->ob_refcnt ;
-      while ( cnt ) {
+      while ( cnt > 0 ) {
         cnt = MyPyObjIorList->ob_refcnt - 1 ;
         Py_DECREF( MyPyObjIorList ) ;
+        cdebug << "MyPyObjIorList->ob_refcnt" << MyPyObjIorList->ob_refcnt << endl ;
+      }
+    }
+    if ( ResultIor ) {
+      int cnt = ResultIor->ob_refcnt ;
+      while ( cnt > 0 ) {
+        cnt = ResultIor->ob_refcnt - 1 ;
         Py_DECREF( ResultIor ) ;
-        cdebug << "MyPyObjIorList->ob_refcnt" << MyPyObjIorList->ob_refcnt << " "
-               << "ResultIor->ob_refcnt" << ResultIor->ob_refcnt << endl ;
+        cdebug << "ResultIor->ob_refcnt" << ResultIor->ob_refcnt << endl ;
       }
     }
     Py_DECREF( Result ) ;
@@ -323,12 +341,18 @@ bool GraphExecutor::InNode::PyDynInvoke( PyObject * MyPyRunMethod ,
   Py_DECREF( ArgsList ) ;
   if ( MyPyObjRefList ) {
     int cnt = MyPyObjRefList->ob_refcnt ;
-    while ( cnt ) {
+    while ( cnt > 0 ) {
       cnt = MyPyObjRefList->ob_refcnt - 1 ;
       Py_DECREF( MyPyObjRefList ) ;
+      cdebug << "MyPyObjRefList->ob_refcnt" << MyPyObjRefList->ob_refcnt << endl ;
+    }
+  }
+  if ( ResultObj ) {
+    int cnt = ResultObj->ob_refcnt ;
+    while ( cnt > 0 ) {
+      cnt = ResultObj->ob_refcnt - 1 ;
       Py_DECREF( ResultObj ) ;
-      cdebug << "MyPyObjRefList->ob_refcnt" << MyPyObjRefList->ob_refcnt << " "
-             << "ResultObj->ob_refcnt" << ResultObj->ob_refcnt << endl ;
+      cdebug << "ResultObj->ob_refcnt" << ResultObj->ob_refcnt << endl ;
     }
   }
 
index 3e85fc293059322b0127cc30ad451660387cbf64..cbd9e23993ef69bb4b01267502e2e517606091a5 100644 (file)
@@ -1,13 +1,29 @@
-#==============================================================================
-#  File      : Makefile.in
-#  Created   : ven déc  7 13:32:20 CET 2001
-#  Author    : Paul RASCLE, EDF
-#  Project   : SALOME
-#  Copyright : EDF 2001
+#  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   : Makefile.in
+#  Author : Patrick GOLDBRONN (CEA)
+#  Module : SUPERV
 #  $Header$
-#==============================================================================
 
-# source path
 top_srcdir=@top_srcdir@
 top_builddir=..
 srcdir=@srcdir@
index fe3d75b03a7422cd7492b2f880b22f58d698264a..3f9a354be1de5b0b7164d2ae6fff4a5fc7cdafa5 100644 (file)
@@ -27,7 +27,7 @@
 #  $Header: 
 
 top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
 srcdir=@srcdir@
 VPATH=.:@srcdir@
 
@@ -63,6 +63,7 @@ LIB_SRC = SUPERVGUI.cxx              \
          SUPERVGUI_Port.cxx         \
          SUPERVGUI_BrowseNodeDlg.cxx \
          SUPERVGUI_Link.cxx        \
+         SUPERVGUI_CtrlLink.cxx     \
          SUPERVGUI_Label.cxx
 
 LIB_MOC = SUPERVGUI.h              \
index ecc765b86fbebba0cee52d457fe705c6561724ee..f4ce8b91951c254c4535154ff138802a41e6ac31 100644 (file)
@@ -1,11 +1,31 @@
-using namespace std;
-//  File      : SUPERVGUI.cxx
-//  Created   : 31 octobre 2001
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI.cxx
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
+using namespace std;
 #include "SUPERVGUI.h"
 
 #include "QAD_Resource.h"
@@ -92,7 +112,7 @@ QAD_StudyFrame* SUPERVGUI::createGraph() {
 void SUPERVGUI::loadEngine(SALOME_NamingService* namingService) {
     Trace("SUPERVGUI::loadEngine")
     SALOME_LifeCycleCORBA LCC(namingService);
-    Engines::Component_var objComponent = LCC.FindOrLoad_Component("SuperVisionContainer", "SUPERV");
+    Engines::Component_var objComponent = LCC.FindOrLoad_Component("SuperVisionContainer", "Supervision");
     if (CORBA::is_nil(objComponent)) {
         QMessageBox::warning(QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_CANT_LOAD_SUPERV"));
         return;
index 93e18122d540016eed2436ed3c742eed1e74f5bd..3bf460606e3d5a5c35a22f44a226ebde1ed510ff 100644 (file)
@@ -1,9 +1,29 @@
-//  File      : SUPERVGUI.h
-//  Created   : 31 octobre 2001
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI.h
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_H
 #define SUPERVGUI_H
index 6e533b4a9c9c26e44ed961879afd47d663257abf..a2b9b48a742b40179160cdd1cb263267cc2e20e3 100644 (file)
@@ -1,16 +1,39 @@
-using namespace std;
-//  File      : SUPERVGUI_Array.cxx
-//  Created   : 08 / 02 / 2002
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Array.cxx
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
+using namespace std;
 #include "SUPERVGUI_Def.h"
 #include "SUPERVGUI_Array.h"
 #include "SUPERVGUI_Main.h"
 #include "SUPERVGUI_ComputeNode.h"
 #include "SUPERVGUI_BrowseNodeDlg.h"
+#include "SUPERVGUI_Node.h"
+#include "SUPERVGUI_GraphNode.h"
+#include "SUPERVGUI_ControlNode.h"
 #include <qtooltip.h>
 #include <qlayout.h>
 
@@ -36,7 +59,7 @@ using namespace std;
       addChild(aNode, x, y);  \
       x += (CELL_WIDTH + CELL_SPACE); \
       SUPERV_CNode aCNodeEnd = SUPERV::CNode::_narrow(nodes->NodesName[co]->Coupled()); \
-      SUPERVGUI_Node* aNodeEnd = new SUPERVGUI_Cell(viewport(), main, aCNodeEnd); \
+      SUPERVGUI_Node* aNodeEnd = new SUPERVGUI_CellEndControl(viewport(), main, aCNodeEnd, dynamic_cast<SUPERVGUI_Cell*>(aNode)); \
       ResizeGraph(aNodeEnd, x, y); \
       addChild(aNodeEnd, x, y);  \
       x += (CELL_WIDTH + CELL_SPACE); \
@@ -124,6 +147,19 @@ void SUPERVGUI_Array::destroy() {
     };
 
     delete ihmList;
+
+    SUPERVGUI_CellEndControl* cellEC;
+    QObjectList* ihmListEC = queryList("SUPERVGUI_CellEndControl");
+    QObjectListIt iEC(*ihmListEC);
+
+    while ((cellEC=(SUPERVGUI_CellEndControl*)iEC.current()) != 0) {
+        ++iEC;
+        cellEC->updateStudy();
+        cellEC->close(true);
+    };
+
+    delete ihmListEC;
+
 }
 
 void SUPERVGUI_Array::sync() {
@@ -193,11 +229,25 @@ SUPERVGUI_Cell::SUPERVGUI_Cell(QWidget* parent, SUPERVGUI_Main* m, SUPERV_CNode
   myStatus->reparent(this, pos());
   aBox->addWidget(myStatus);
 
-  //  QToolTip::add(service, myNode->Name());
-  QToolTip::add(myTitle, myTitle->text());
+  if(m->isEditable()) {
+    //  QToolTip::add(service, myNode->Name());
+    QToolTip::add(myTitle, myTitle->text());
+    QToolTip::add(component, component->text());
+  }
 
   myPopup->setItemEnabled(myDeleteItem, false);
   adjustSize();
+
+  myIsControl = false;
+  myIsStart = false;
+
+  //check for control nodes
+  if (n->IsLoop() || n->IsSwitch()) {
+    myIsControl = true;  
+    myIsStart = true;
+  }
+  if (n->IsEndLoop() || n->IsEndSwitch())
+    myIsControl = true;
 }
 
 SUPERVGUI_Cell::~SUPERVGUI_Cell() {
@@ -259,7 +309,55 @@ void SUPERVGUI_Cell::updateStudy()
 
 void SUPERVGUI_Cell::rename() {
   SUPERVGUI_Node::rename();
-  myTitle->setText(myNode->Name());  
+  if (!myIsControl) { //not ControlNode
+    myTitle->setText(myNode->Name());  
+  }
+  else {
+    if (myIsStart) { //StartControlNode
+      if (myPairCell) {
+       QString nm = myNode->Name();
+       if (!nm.isEmpty()) {
+         myTitle->setText(nm);  
+         QString aStr(tr("ENDNODE_PREFIX"));
+         aStr += nm;
+         myPairCell->getTitle()->setText(aStr);
+         myPairCell->setNodeName(aStr);
+         // QToolTip::remove(myPairCell->getTitle());
+         QToolTip::add(myPairCell->getTitle(), myPairCell->getTitle()->text());  
+
+       }
+      }
+    }
+  }
+
   // QToolTip::remove(myTitle);
-  //QToolTip::add(myTitle, myTitle->text());  
+  QToolTip::add(myTitle, myTitle->text());  
+}
+
+void SUPERVGUI_Cell::setPairCell(SUPERVGUI_Cell* thePairCell) {
+  if (myIsControl) { //only for ControlNode
+    myPairCell = thePairCell;
+  }
+  else 
+    myPairCell = 0;
+}
+
+SUPERVGUI_Cell* SUPERVGUI_Cell::getPairCell() {
+  return myPairCell;
+}
+
+SUPERVGUI_CellEndControl::SUPERVGUI_CellEndControl(QWidget* parent, SUPERVGUI_Main* m, SUPERV_CNode n,
+                                                  SUPERVGUI_Cell* theStart)
+     :SUPERVGUI_Cell(parent, m, n)
+{
+  myPairCell = theStart;  //set start cell for end cell as pair 
+  myPairCell->setPairCell(dynamic_cast<SUPERVGUI_Cell*>(this));  //set end cell for start cell as pair
+}
+
+SUPERVGUI_CellEndControl::~SUPERVGUI_CellEndControl() {
+  Trace("SUPERVGUI_CellEndControl::~SUPERVGUI_CellEndControl");
+  QToolTip::remove(myTitle);
+  if (guiNode != NULL) {
+    guiNode->close();
+  }
 }
index e7f181992102d86abf52b6e3a8d347d61380b9da..dc0529a84a74a35aaabda3f7a91c2554def70601 100644 (file)
@@ -1,9 +1,29 @@
-//  File      : SUPERVGUI_Array.h
-//  Created   : 08 / 02 / 2002
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Array.h
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_Array_H
 #define SUPERVGUI_Array_H
@@ -12,6 +32,7 @@ using namespace std;
 #include "SUPERVGUI_Def.h"
 #include <qpopupmenu.h>
 #include "SUPERVGUI_Node.h"
+#include "SUPERVGUI_ControlNode.h"
 #include "SUPERVGUI_View.h"
 #include "SUPERVGUI_Label.h"
 
@@ -57,17 +78,34 @@ class SUPERVGUI_Cell: public SUPERVGUI_Node {
     void showAll() {};
 
     void updateStudy();
+    SUPERVGUI_Label* getTitle() { return myTitle; }
+    SUPERVGUI_Label* getComponent() { return component; }
+    void setPairCell(SUPERVGUI_Cell* thePairCell);
+    SUPERVGUI_Cell* getPairCell();
 
   public slots:
     virtual void rename();
 
-  private:
+  protected:
+    SUPERVGUI_Cell* myPairCell;  //for ControlNodes
     SUPERVGUI_Label* myTitle;
     SUPERVGUI_Node*  guiNode;
+
+  private:
     SUPERVGUI_Label* component;
     //SUPERVGUI_Label* service;
 
     int         myShowItem;
+    bool        myIsControl;
+    bool        myIsStart;
+};
+
+class SUPERVGUI_CellEndControl: public SUPERVGUI_Cell {
+  Q_OBJECT
+
+  public:
+    SUPERVGUI_CellEndControl(QWidget* parent, SUPERVGUI_Main* m, SUPERV_CNode n, SUPERVGUI_Cell* theStart);
+    virtual ~SUPERVGUI_CellEndControl();
 };
 
 #endif
index 5ec6fac860dae78364ccfde42e512e76624557d1..a3e187ad65a3e0bb64d6fabd3ddcac4e2881e825 100644 (file)
@@ -1,12 +1,14 @@
-using namespace std;
-//  File      : SUPERVGUI_BrowseNodeDlg.cxx
-//  Created   : 10 / 01 / 2003
-//  Author    : Vitaly SMETANNIKOV
-//  Project   : SALOME 
-//  Module    : SUPERVGUI
-//  Copyright : Open CASCADE 
-
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SUPERVGUI_BrowseNodeDlg.cxx
+//  Author : Vitaly SMETANNIKOV
+//  Module : SUPERV
 
+using namespace std;
 #include "SUPERVGUI_BrowseNodeDlg.h"
 #include "SUPERVGUI_Node.h"
 #include "SUPERVGUI.h"
@@ -250,8 +252,11 @@ void SUPERVGUI_BrowseNodeDlg::onSelectionChanged()
        if (aObj->FindAttribute( anAttr, "AttributeIOR" ) ) {
          anIOR = SALOMEDS::AttributeIOR::_narrow( anAttr );
          ior = anIOR->Value();
-         myActiveField->setData( ior );
        }
+       else {
+         ior = aObj->GetStudy()->ConvertObjectToIOR( aObj );
+       }
+       myActiveField->setData( ior );
       }
     }
   }
@@ -449,8 +454,11 @@ void SUPERVGUI_GetValueDlg::onSelectionChanged()
       if (aObj->FindAttribute( anAttr, "AttributeIOR" ) ) {
        anIOR = SALOMEDS::AttributeIOR::_narrow( anAttr );
        ior = anIOR->Value();
-       myField->setData( ior );
       }
+      else {
+       ior = aObj->GetStudy()->ConvertObjectToIOR( aObj );
+      }
+      myField->setData( ior );
     }
   }
 }
index c09cb59ce1cb223bd03d6ce89587368f52ebc148..371fda140b528472c6cde2533f29f78212e4f3a0 100644 (file)
@@ -1,10 +1,12 @@
-//  File      : SUPERVGUI_BrowseNodeDlg.h
-//  Created   : 10 / 01 / 2003
-//  Author    : Vitaly SMETANNIKOV
-//  Project   : SALOME 
-//  Module    : SUPERVGUI
-//  Copyright : Open CASCADE 
-
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SUPERVGUI_BrowseNodeDlg.h
+//  Author : Vitaly SMETANNIKOV
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_BrowseNodeDlg_H
 #define SUPERVGUI_BrowseNodeDlg_H
index 131d644a97165c9ed3a33db3f89d39c29727828b..5fba7792378fc969c9fc2b080100b671643c3271 100644 (file)
@@ -1,12 +1,14 @@
-using namespace std;
-//  File      : SUPERVGUI_ComputeNode.cxx
-//  Created   : 09 / 01 / 2003
-//  Author    : Vitaly SMETANNIKOV
-//  Project   : SALOME 
-//  Module    : SUPERVGUI
-//  Copyright : Open CASCADE 
-
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SUPERVGUI_ComputeNode.cxx
+//  Author : Vitaly SMETANNIKOV
+//  Module : SUPERV
 
+using namespace std;
 #include "SUPERVGUI_ComputeNode.h"
 #include "SUPERVGUI_Main.h"
 #include <qapplication.h>
@@ -39,6 +41,7 @@ SUPERVGUI_ComputeNode::SUPERVGUI_ComputeNode(QWidget* theParent, SUPERVGUI_Main*
   myServiceBox = new QVBox(this, "service");
   myComment = new SUPERVGUI_Label(myServiceBox, LABEL_WIDTH, LABEL_HEIGHT, aComment, QLabel::AlignLeft);
   connect(myComment, SIGNAL(MousePress(QMouseEvent*)), this, SLOT(showPopup(QMouseEvent*)));
+  QToolTip::add(myTitle, myTitle->text());
   QToolTip::add(myComment, myComment->text());
   aGridLayout->addMultiCellWidget(myServiceBox, 1, 1, 0, 1);
 
@@ -66,6 +69,7 @@ SUPERVGUI_ComputeNode::SUPERVGUI_ComputeNode(QWidget* theParent, SUPERVGUI_Main*
 
 
 SUPERVGUI_ComputeNode::~SUPERVGUI_ComputeNode() {
+  QToolTip::remove(myTitle);
   QToolTip::remove(myComment);
 }
 
@@ -138,6 +142,11 @@ void SUPERVGUI_ComputeNode::switchPorts() {
   myShowPopup->setItemChecked(myPortsItem, !aIsVisible);
 }
 
+void SUPERVGUI_ComputeNode::rename() {
+  SUPERVGUI_Node::rename();
+  // QToolTip::remove(myTitle);
+  QToolTip::add(myTitle, myTitle->text());
+}
 
 void SUPERVGUI_ComputeNode::updateShape() {
   qApp->processEvents();
index 6b661117d36172c598693d30b165ecb816e11c12..04f68876055080760f7bbf07004360a100d544ab 100644 (file)
@@ -1,10 +1,12 @@
-//  File      : SUPERVGUI_ComputeNode.h
-//  Created   : 09 / 01 / 2003
-//  Author    : Vitaly SMETANNIKOV
-//  Project   : SALOME 
-//  Module    : SUPERVGUI
-//  Copyright : Open CASCADE 
-
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SUPERVGUI_ComputeNode.h
+//  Author : Vitaly SMETANNIKOV
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_ComputeNode_H
 #define SUPERVGUI_ComputeNode_H
@@ -22,11 +24,14 @@ class SUPERVGUI_ComputeNode: public SUPERVGUI_GraphNode {
   void sync();
   void hideAll();
   void showAll();
+  SUPERVGUI_Label* getCommLabel() { return myComment; }
+  SUPERVGUI_Label* getTitleLabel() { return myTitle; }
   virtual void updateShape();
 
  public slots:
   void switchService();
   void switchPorts();
+  virtual void rename();
 
 
  private:
index 11f5cbf7ebcef498428273afa23c103c1e05af52..0449291cad2f73268f38ad284df20970bb949f38 100644 (file)
@@ -1,12 +1,14 @@
-using namespace std;
-//  File      : SUPERVGUI_ControlNode.cxx
-//  Created   : 14 / 01 / 2003
-//  Author    : Vitaly SMETANNIKOV
-//  Project   : SALOME 
-//  Module    : SUPERVGUI
-//  Copyright : Open CASCADE 
-
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SUPERVGUI_ControlNode.cxx
+//  Author : Vitaly SMETANNIKOV
+//  Module : SUPERV
 
+using namespace std;
 #include "SUPERVGUI_ControlNode.h"
 #include <qapplication.h>
 #include "SUPERVGUI_Main.h"
@@ -96,6 +98,10 @@ void SUPERVGUI_StartControlNode::setEndNode(SUPERVGUI_EndControlNode* theEndNode
   myEndNode = theEndNode; 
 }
 
+SUPERVGUI_EndControlNode* SUPERVGUI_StartControlNode::getEndNode() {
+  return myEndNode;
+}
+
 
 void SUPERVGUI_StartControlNode::setShape() {
   int aH = height();
index 5c5a6236200b2d2659f4101aef78bbd9f8de8e8d..fa2a3c76a74eb6f262b859b0bdb990d530cc2404 100644 (file)
@@ -1,9 +1,12 @@
-//  File      : SUPERVGUI_ControlNode.h
-//  Created   : 14 / 01 / 2003
-//  Author    : Vitaly SMETANNIKOV
-//  Project   : SALOME 
-//  Module    : SUPERVGUI
-//  Copyright : Open CASCADE 
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SUPERVGUI_ControlNode.h
+//  Author : Vitaly SMETANNIKOV
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_ControlNode_H
 #define SUPERVGUI_ControlNode_H
@@ -34,6 +37,7 @@ class SUPERVGUI_StartControlNode: public SUPERVGUI_GraphNode {
   virtual void deletePort(SUPERVGUI_Port* thePort);
 
   void setEndNode(SUPERVGUI_EndControlNode* theEndNode);
+  SUPERVGUI_EndControlNode* getEndNode();
 
  public slots:
   void switchPorts();
index c13e12136532b0793e98a2a5e2429e9b2ba740cd..65b95577ed419999618acd67958ece53b2f56b61 100644 (file)
@@ -1,12 +1,14 @@
-using namespace std;
-//  File      : SUPERVGUI_CtrlLink.cxx
-//  Created   : 14 / 05 / 2003
-//  Author    : Vitaly SMETANNIKOV
-//  Project   : SALOME 
-//  Module    : SUPERVGUI
-//  Copyright : Open CASCADE 
-
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SUPERVGUI_CtrlLink.cxx
+//  Author : Vitaly SMETANNIKOV
+//  Module : SUPERV
 
+using namespace std;
 #include "SUPERVGUI_CtrlLink.h"
 #include "SUPERVGUI_Graph.h"
 #include "SUPERVGUI_GraphNode.h"
index 85aecef642f2ec0a2a52b344c9dc15ead60ffdd3..36f1e1e70cd3c55dcc3b55a8759a86d273d7ce26 100644 (file)
@@ -1,10 +1,12 @@
-//  File      : SUPERVGUI_CtrlLink.h
-//  Created   : 14 / 05 / 2003
-//  Author    : Vitaly SMETANNIKOV
-//  Project   : SALOME 
-//  Module    : SUPERVGUI
-//  Copyright : Open CASCADE 
-
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SUPERVGUI_CtrlLink.h
+//  Author : Vitaly SMETANNIKOV
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_CTRLLink_H
 #define SUPERVGUI_CTRLLink_H
index f202f595d54a9eb7c3c05d603e4d52513e881b88..da2e9817186e1543247446063809482ec0b08235 100644 (file)
@@ -1,9 +1,12 @@
-//  File      : SUPERVGUI_Def.h
-//  Created   : 18 / 11 / 2002
-//  Author    : Vitaly SMETANNIKOV
-//  Project   : SALOME 
-//  Module    :  SUPERVGUI
-//  Copyright : Open CASCADE 
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SUPERVGUI_Def.h
+//  Author : Vitaly SMETANNIKOV
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_DEF_H
 #define SUPERVGUI_DEF_H
index 1f8c4cb52f6042926ad3ce1aa9adf67fb094b3f7..d4f83cb99d135df2395a7456a0b2b00bd04a1df0 100644 (file)
@@ -1,11 +1,31 @@
-using namespace std;
-//  File      : SUPERVGUI_Graph.cxx
-//  Created   : 17 / 10 / 2001
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Graph.cxx
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
+using namespace std;
 #include "SUPERVGUI_Def.h"
 #include "SUPERVGUI_Graph.h"
 #include "SUPERVGUI_Main.h"
index 83db0f5545a25cdd8ac491415e8c990bca16ed0b..bcec75c5373afaeb8cfe109b6ec4ab911420eea0 100644 (file)
@@ -1,9 +1,29 @@
-//  File      : SUPERVGUI_Graph.h
-//  Created   : 17 / 10 / 2001
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Graph.h
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_Graph_H
 #define SUPERVGUI_Graph_H
@@ -45,6 +65,8 @@ class SUPERVGUI_Graph: public SUPERVGUI_View {
     void draw();
     void clearView();
 
+    bool isAnyLinkCreating() { return (myNewLink != 0);};
+
 signals:
   void mouseMoved(QMouseEvent* theEvent);
   void mousePressed(QMouseEvent* theEvent);
index 6ef00439bf5f717649e2d3648d4153387edd51f6..283cf0f0de3b098dbb092d88223f977af022767a 100644 (file)
@@ -1,11 +1,14 @@
-using namespace std;
-//  File      : SUPERVGUI_ComputeNode.cxx
-//  Created   : 09 / 01 / 2003
-//  Author    : Vitaly SMETANNIKOV
-//  Project   : SALOME 
-//  Module    : SUPERVGUI
-//  Copyright : Open CASCADE 
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SUPERVGUI_ComputeNode.cxx
+//  Author : Vitaly SMETANNIKOV
+//  Module : SUPERV
 
+using namespace std;
 #include "SUPERVGUI_GraphNode.h"
 #include "SUPERVGUI_Graph.h"
 #include "SUPERVGUI_Main.h"
@@ -61,14 +64,16 @@ SUPERVGUI_GraphNode::~SUPERVGUI_GraphNode() {
 }
 
 void SUPERVGUI_GraphNode::mouseTitlePress(QMouseEvent* e) {
-  if (e->button() == RightButton) {
-    MouseLeft       = 0;
-    showPopup(e);
-  } else {
-    MouseLeft       = 1;
-    SUPERVGUI_Graph* sv = myMain->getGraph();
-    MouseX          = sv->childX(this) - e->globalX();
-    MouseY          = sv->childY(this) - e->globalY();
+  if (!myMain->getGraph()->isAnyLinkCreating()) {
+    if (e->button() == RightButton) {
+      MouseLeft       = 0;
+      showPopup(e);
+    } else {
+      MouseLeft       = 1;
+      SUPERVGUI_Graph* sv = myMain->getGraph();
+      MouseX          = sv->childX(this) - e->globalX();
+      MouseY          = sv->childY(this) - e->globalY();
+    }
   }
 }
 
@@ -245,6 +250,17 @@ void SUPERVGUI_GraphNode::sync() {
     pi->sync();
   }
   delete ihmList;
+    
+  //check: is creation of link is complete
+  if (myMain->getGraph()->isAnyLinkCreating()) {
+    //not creation complete
+    //cout<<"   --- $$$  1"<<endl;
+    myPopup->setItemEnabled(myDeleteItem, false);
+  }
+  else {
+    //creation complete
+    myPopup->setItemEnabled(myDeleteItem, true);
+  }
 }
 
 
index 46b9db8e47686ab8968f221d5b8dba01cced0327..f104b5c827a570f3025279774fc03349754f20fb 100644 (file)
@@ -1,10 +1,12 @@
-//  File      : SUPERVGUI_GraphNode.h
-//  Created   : 10 / 01 / 2003
-//  Author    : Vitaly SMETANNIKOV
-//  Project   : SALOME 
-//  Module    : SUPERVGUI
-//  Copyright : Open CASCADE 
-
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SUPERVGUI_GraphNode.h
+//  Author : Vitaly SMETANNIKOV
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_GraphNode_H
 #define SUPERVGUI_GraphNode_H
index 7909d7c06025e43514cdb1f98f22b0794271cf63..765c6bfb2d52901d3483c5908bb9e46562babcbe 100644 (file)
@@ -1,11 +1,31 @@
-using namespace std;
-//  File      : SUPERVGUI_Information.cxx
-//  Created   : 22 / 01 / 2002
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Information.cxx
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
+using namespace std;
 #include "SUPERVGUI_Information.h"
 #include "QAD_Application.h"
 #include "QAD_Desktop.h"
@@ -60,6 +80,23 @@ SUPERVGUI_Information::SUPERVGUI_Information(SUPERV_CNode node, bool isReadOnly)
     contV = new QLineEdit( TopGroup );
     contV->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
     contV->setMinimumSize( 200, 0 );
+    contV->setReadOnly( true/*isReadOnly*/ );
+    contV->setText( SUPERV::FNode::_narrow(node)->GetContainer() );
+    
+    compnameL = new QLabel( tr( "COMPONENT_NAME_LBL" ), TopGroup ); 
+    compnameV = new QLineEdit( TopGroup );      
+    compnameV->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
+    compnameV->setMinimumSize( 200, 0 );
+    compnameV->setReadOnly( true/*isReadOnly*/ );
+    compnameV->setText( SUPERV::FNode::_narrow(node)->GetComponentName() );
+
+    intnameL = new QLabel( tr( "INTERFACE_NAME_LBL" ), TopGroup ); 
+    intnameV = new QLineEdit( TopGroup );      
+    intnameV->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
+    intnameV->setMinimumSize( 200, 0 );
+    intnameV->setReadOnly( true/*isReadOnly*/ );
+    intnameV->setText( SUPERV::FNode::_narrow(node)->GetInterfaceName() );
+    
   }
   QLabel* cdatL = new QLabel( tr( "DATE_CREATION_LBL" ), TopGroup ); 
   cdatV = new QLabel( TopGroup );
@@ -87,14 +124,18 @@ SUPERVGUI_Information::SUPERVGUI_Information(SUPERV_CNode node, bool isReadOnly)
   if (node->IsFactory()) {
     TopGroupLayout->addWidget( contL, 2, 0 );
     TopGroupLayout->addWidget( contV, 2, 1 );
+    TopGroupLayout->addWidget( compnameL, 3, 0 );
+    TopGroupLayout->addWidget( compnameV, 3, 1 );
+    TopGroupLayout->addWidget( intnameL, 4, 0 );
+    TopGroupLayout->addWidget( intnameV, 4, 1 );
   }
-  TopGroupLayout->addWidget( cdatL, 3, 0 );
-  TopGroupLayout->addWidget( cdatV, 3, 1 );
-  TopGroupLayout->addWidget( udatL, 4, 0 );
-  TopGroupLayout->addWidget( udatV, 4, 1 );
-  TopGroupLayout->addWidget( commL, 5, 0 );
-  TopGroupLayout->addMultiCellWidget( commV, 5, 6, 1, 1 );
-  TopGroupLayout->addItem( new QSpacerItem( 5, 5, QSizePolicy::Minimum, QSizePolicy::Expanding  ), 6, 0 );
+  TopGroupLayout->addWidget( cdatL, 5, 0 );
+  TopGroupLayout->addWidget( cdatV, 5, 1 );
+  TopGroupLayout->addWidget( udatL, 6, 0 );
+  TopGroupLayout->addWidget( udatV, 6, 1 );
+  TopGroupLayout->addWidget( commL, 7, 0 );
+  TopGroupLayout->addMultiCellWidget( commV, 7, 8, 1, 1 );
+  TopGroupLayout->addItem( new QSpacerItem( 5, 5, QSizePolicy::Minimum, QSizePolicy::Expanding  ), 8, 0 );
   TopGroupLayout->setColStretch( 1, 5 );
 
   QGroupBox* GroupButtons = new QGroupBox( this, "GroupButtons" );
@@ -223,10 +264,10 @@ void SUPERVGUI_Information::okButton() {
   Trace("SUPERVGUI_Information::okButton");
   myNode->SetName( nameV->text().latin1());
   myNode->SetAuthor( authV->text().latin1() );
-  if (myNode->IsFactory()) {
+  /*if (myNode->IsFactory()) {
     SUPERV_FNode aFNode = SUPERV::FNode::_narrow(myNode);
     aFNode->SetContainer( contV->text().latin1() );
-  }
+    }*/
   myNode->SetComment( commV->text().latin1() );
   accept();
 }
index dfd9c72a738283cb348bced7ec481ccef3b9e1cf..115b822f3b796a76198e2d05b48068e079f382fe 100644 (file)
@@ -1,9 +1,29 @@
-//  File      : SUPERVGUI_Information.h
-//  Created   : 22 / 01 / 2002
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Information.h
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
 using namespace std;
 #ifndef SUPERVGUI_Information_H
@@ -31,6 +51,13 @@ class SUPERVGUI_Information: public QDialog {
     QLineEdit*      authV;
     QLineEdit*      contV;
     QLabel*         contL;
+
+    QLineEdit*      compnameV;
+    QLabel*         compnameL;
+
+    QLineEdit*      intnameV;
+    QLabel*         intnameL;
+
     QMultiLineEdit* commV;
     QLabel*         cdatV;
     QLabel*         udatV;
index 5c2e8d19f137d4602a3e98aed30760d4ff0b4c19..862519ca51ab0d22ed9d62576db004e9a8692b25 100644 (file)
@@ -1,11 +1,31 @@
-using namespace std;
-//  File      : SUPERVGUI_Label.cxx
-//  Created   : 24 / 10 / 2001
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Label.cxx
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
+using namespace std;
 #include "SUPERVGUI_Label.h"
 #include "SUPERVGUI_Def.h"
 
index 70e6daac39715f7a82aa8a563e132c709c29127b..21d374b3e3cb251b4fed6b9d5cd1285a983054f3 100644 (file)
@@ -1,11 +1,29 @@
-//  File      : SUPERVGUI_Label.h
-//  Created   : 24 / 10 / 2001
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
-
-//#include "SUPERVGUI.h"
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Label.h
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_Label_H
 #define SUPERVGUI_Label_H
index c60c3550ae591b4b55ff8cbd4ba9cea9a9b659ff..948ef6b84f559d9c7dea2a6205b6e6cd63fed903 100644 (file)
@@ -1,13 +1,14 @@
-using namespace std;
-//  File      : SUPERVGUI_Link.cxx
-//  Created   : 20 / 12 / 2002
-//  Author    : Vitaly SMETANNIKOV
-//  Project   : SALOME 
-//  Module    : SUPERVGUI
-//  Copyright : Open CASCADE 
-
-
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SUPERVGUI_Link.cxx
+//  Author : Vitaly SMETANNIKOV
+//  Module : SUPERV
 
+using namespace std;
 #include "SUPERVGUI_Graph.h"
 #include "SUPERVGUI_Main.h"
 #include "SUPERVGUI_Link.h"
index f9604ab213874b07144b93078b2f7eca0599f990..07048329b3eaa2da49fa41cbe82dc6b5dfa85207 100644 (file)
@@ -1,9 +1,12 @@
-//  File      : SUPERVGUI_Link.h
-//  Created   : 20 / 12 / 2002
-//  Author    : Vitaly SMETANNIKOV
-//  Project   : SALOME 
-//  Module    : SUPERVGUI
-//  Copyright : Open CASCADE 
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SUPERVGUI_Link.h
+//  Author : Vitaly SMETANNIKOV
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_Link_H
 #define SUPERVGUI_Link_H
index 74595fb33779821d754c797e8a96111f08197e5e..31b3801c3ccd97d78b0b701c2cb4030910e656ba 100644 (file)
@@ -1,11 +1,31 @@
-using namespace std;
-//  File      : SUPERVGUI_Main.cxx
-//  Created   : 24 / 10 / 2001
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Main.cxx
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
+using namespace std;
 #include "QAD_Splitter.h"
 #include "QAD_LeftFrame.h"
 #include "QAD_ObjectBrowser.h"
@@ -155,8 +175,7 @@ void SUPERVGUI_Main::init(QAD_Desktop* theDesktop) {
         father = builder->NewComponent(STUDY_SUPERVISION);
        anAttr = builder->FindOrCreateAttribute(father, "AttributeName");
        aName = SALOMEDS::AttributeName::_narrow(anAttr);
-       //aName->SetValue("Supervision");
-       aName->SetValue( QAD_Application::getDesktop()->getComponentUserName( "SUPERV" ) );
+       aName->SetValue("Supervision");
        
        anAttr = builder->FindOrCreateAttribute(father, "AttributePixMap");
        aPixmap = SALOMEDS::AttributePixMap::_narrow(anAttr);
@@ -426,6 +445,8 @@ void SUPERVGUI_Main::run() {
       QMessageBox::warning(QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_DF_NOTVALID"));
     } else if (!dataflow->IsExecutable()) {
       QMessageBox::warning(QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_DF_NOTEXECUTABLE"));
+    } else if (graph->isAnyLinkCreating()) {
+      QMessageBox::warning(QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_CRL_NOTCOMPLETE"));
     } else {
       myRunTime = QDateTime::currentDateTime();
       if (myIsKilled) {
@@ -457,13 +478,15 @@ void SUPERVGUI_Main::run() {
 
 void SUPERVGUI_Main::startExecute() {
   Trace("SUPERVGUI_Main::startExecute")
-    if ((SUPERV_isNull(dataflow))) return;
+  if ((SUPERV_isNull(dataflow))) return;
   
   if (dataflow->IsEditing()) {
     if (!dataflow->IsValid()) {
       QMessageBox::warning(QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_DF_NOTVALID"));
     } else if (!dataflow->IsExecutable()) {
       QMessageBox::warning(QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_DF_NOTEXECUTABLE"));
+    } else if (graph->isAnyLinkCreating()) {
+      QMessageBox::warning(QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_CRL_NOTCOMPLETE"));
     } else {
       myRunTime = QDateTime::currentDateTime();
       if (myIsKilled) {
@@ -951,6 +974,9 @@ bool SUPERVGUI_Main::putDataStudy(SUPERV_Port p, const char* inout) {
          isIn = false;
          return false;
        }
+      } else { // component has no drivel, but could store IORs (like Calculator)
+       SALOMEDS::SObject_var anIORSO = aStudy->FindObjectIOR(p->ToString());
+       if (!CORBA::is_nil(anIORSO)) aBuilder->Addreference(aSO, anIORSO);
       }
     }
   } else {
index 7d43978f96ab90914371681fba08b1314443a77e..b274fa837231e3c2fd749efffc163bf2145ced8c 100644 (file)
@@ -1,9 +1,29 @@
-//  File      : SUPERVGUI_Main.h
-//  Created   : 24 / 10 / 2001
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Main.h
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_Main_H
 #define SUPERVGUI_Main_H
index 2bb3faea6072e75ae1857eaa58f98cd93f247e7b..ba1a479e199fc898bebf75a9cd521dd4059f12c8 100644 (file)
@@ -1,11 +1,31 @@
-using namespace std;
-//  File      : SUPERVGUI_Node.cxx
-//  Created   : 24 / 10 / 2001
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Node.cxx
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
+using namespace std;
 #include "SUPERVGUI_Node.h"
 #include "SUPERVGUI_Main.h"
 #include "SUPERVGUI_Python.h"
@@ -13,6 +33,8 @@ using namespace std;
 #include "SUPERVGUI_BrowseNodeDlg.h"
 #include "SALOMEGUI_NameDlg.h"
 #include "SUPERVGUI_Information.h"
+#include "SUPERVGUI_ComputeNode.h"
+#include "SUPERVGUI_ControlNode.h"
 
 #include <qlayout.h>
 #include <qlabel.h>
@@ -20,6 +42,7 @@ using namespace std;
 #include <qpushbutton.h>
 #include <qhbox.h>
 #include <qgroupbox.h>
+#include <qtooltip.h>
 
 
 
@@ -52,13 +75,15 @@ SUPERVGUI_Node::SUPERVGUI_Node(QWidget* theParent, SUPERVGUI_Main* theMain, SUPE
 
   //create common popup
   myPopup = new QPopupMenu(this);
-  if (myMain->isEditable()) {
+  if (myMain->isEditable() && getNodeType() != SUPERV::EndLoopNode 
+                           && getNodeType() != SUPERV::EndSwitchNode) {
     myRenameItem  = myPopup->insertItem(tr("MSG_RENAME"), this, SLOT(rename()));
     myDeleteItem = myPopup->insertItem(tr("MSG_DELETE"), this, SLOT(remove()));
     mySeparatorId = myPopup->insertSeparator();
   }
   myPopup->insertItem(tr("MSG_BROWSE"), this, SLOT(browse()));
-  myPopup->insertItem(tr("MSG_CHANGE_INFO"), this, SLOT(changeInformation()));
+  if ((getNodeType() != SUPERV::EndLoopNode) && (getNodeType() != SUPERV::EndSwitchNode))
+    myPopup->insertItem(tr("MSG_CHANGE_INFO"), this, SLOT(changeInformation()));
   //myPopup->insertItem(tr("MSG_CONFIGURE"),   this, SLOT(configure()));
 
   if (myMain->isEditable() && (getNodeType() != SUPERV::FactoryNode)
@@ -148,10 +173,10 @@ void SUPERVGUI_Node::setState(SUPERV::GraphState theState)
     break;
   }
   myTime->setPaletteBackgroundColor(myStatus->paletteBackgroundColor());
-  int sec = 0; //myNode->getTime();
+  long sec = 0; //myNode->CpuUsed();
   //    sec++;
   char hms[9];
-  int s = sec/3600;
+  long s = sec/3600;
   hms[0]=(char)(((s/10)%10)+48);
   hms[1]=(char)((s%10)+48);
   hms[2]=':';
@@ -231,6 +256,55 @@ void SUPERVGUI_Node::changeInformation() {
   if (aDlg->exec() )
     sync();
   delete aDlg;
+  if (myNode->IsGOTO()) {
+    QString nmGT = myNode->Name();
+    if ( !nmGT.isEmpty() ) {
+      setNodeName(nmGT);
+    }
+  }
+  if (myMain->isEditable()) {
+    if (myMain->isArrayShown()) {  //Table View
+      if (myNode->IsLoop() || myNode->IsSwitch()) { //for synchronic names changing
+       QString nmA = myNode->Name();
+       if ( !nmA.isEmpty() ) {
+         setNodeName(nmA);
+         QString aStrA(tr("ENDNODE_PREFIX"));
+         aStrA+=nmA;
+         (dynamic_cast<SUPERVGUI_Cell*>(this))->getPairCell()->getTitle()->setText(aStrA);
+         (dynamic_cast<SUPERVGUI_Cell*>(this))->getPairCell()->setNodeName(aStrA);
+         // QToolTip::remove((dynamic_cast<SUPERVGUI_Cell*>(this))->getPairCell()->getTitle());
+         QToolTip::add((dynamic_cast<SUPERVGUI_Cell*>(this))->getPairCell()->getTitle(),
+                       (dynamic_cast<SUPERVGUI_Cell*>(this))->getPairCell()->getTitle()->text());
+
+       }
+      }
+      // QToolTip::remove((dynamic_cast<SUPERVGUI_Cell*>(this))->getTitle());
+      QToolTip::add((dynamic_cast<SUPERVGUI_Cell*>(this))->getTitle(),
+                   (dynamic_cast<SUPERVGUI_Cell*>(this))->getTitle()->text());
+      QToolTip::add((dynamic_cast<SUPERVGUI_Cell*>(this))->getComponent(),
+                   (dynamic_cast<SUPERVGUI_Cell*>(this))->getComponent()->text());
+    }
+    else {  //Graph View
+      if (myNode->IsLoop() || myNode->IsSwitch()) { //for synchronic names changing
+       QString nm = myNode->Name();
+       if ( !nm.isEmpty() ) {
+         setNodeName(nm);
+         QString aStr(tr("ENDNODE_PREFIX"));
+         aStr+=nm;
+         (dynamic_cast<SUPERVGUI_StartControlNode*>(this))->getEndNode()->setNodeName(aStr);
+       }
+      }
+      else {
+       if (!(myNode->IsGOTO())) {
+         // QToolTip::remove((dynamic_cast<SUPERVGUI_ComputeNode*>(this))->getCommLabel());
+         QToolTip::add((dynamic_cast<SUPERVGUI_ComputeNode*>(this))->getCommLabel(),
+                       (dynamic_cast<SUPERVGUI_ComputeNode*>(this))->getCommLabel()->text());
+         QToolTip::add((dynamic_cast<SUPERVGUI_ComputeNode*>(this))->getTitleLabel(),
+                       (dynamic_cast<SUPERVGUI_ComputeNode*>(this))->getTitleLabel()->text());
+       }
+      }
+    }
+  }
   /*    Trace("SUPERVGUI_Node::changeInformation")
     if (Supervision.information(myNode, !myMain->isEditable())) {
         myMain->syncAsync();
index 7f60bbe0d223e00fc5c0544127e0d5844565683d..08a9587edf1039db46c7ffc77fb92e235ce08ad8 100644 (file)
@@ -1,9 +1,29 @@
-//  File      : SUPERVGUI_Node.h
-//  Created   : 24 / 10 / 2001
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Node.h
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_Node_H
 #define SUPERVGUI_Node_H
index 05e82931d8406b5885388b6615b93a66bed1cf97..7515fb02d49e4a5f71dfe0eead4b4a0dee9095be 100644 (file)
@@ -1,11 +1,31 @@
-using namespace std;
-//  File      : SUPERVGUI_Notification.cxx
-//  Created   : 21 / 02 / 2002
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Notification.cxx
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
+using namespace std;
 #include "SUPERVGUI_Notification.h"
 #include "QAD_Message.h"
 #include "QAD_FileDlg.h"
index 3c5f93a8e3a007b0b62e6efa464fd814bd709283..add42ce609b32809e59c94ddbc2ba3f35dcfaa26 100644 (file)
@@ -1,9 +1,29 @@
-//  File      : SUPERVGUI_Notification.h
-//  Created   : 21 / 02 / 2002
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Notification.h
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_Notification_H
 #define SUPERVGUI_Notification_H
index 81434a05ad77b4df2497699e353ff8485ab4a269..27beac30b8d42291cf484450c2b5a223101bc71d 100644 (file)
@@ -1,11 +1,31 @@
-using namespace std;
-//  File      : SUPERVGUI_Port.cxx
-//  Created   : 25 / 10 / 2001
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Port.cxx
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
+using namespace std;
 #include "SUPERVGUI_Port.h"
 #include "SUPERVGUI_Def.h"
 #include "SUPERVGUI_Main.h"
index 173b65277fc175a9fd8db3d45901dc254cca6446..e1bcd5ed01442a56d73d13d46f1b420263434cf3 100644 (file)
@@ -1,9 +1,29 @@
-//  File      : SUPERVGUI_Port.h
-//  Created   : 25 / 10 / 2001
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Port.h
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_Port_H
 #define SUPERVGUI_Port_H
index b307d89635323dd483f5cd52cd29095b4591ed14..f59a0f151c195549603fd94fcb88b6ed7b79b0c1 100644 (file)
@@ -1,11 +1,31 @@
-using namespace std;
-// File      : SUPERVGUI_Python.cxx
-// Created   : 18 / 06 / 2002
-// Author    : Francis KLOSS
-// Project   : SALOME
-// Module    : SUPERVGUI
-// Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Python.cxx
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
+using namespace std;
 #include "SUPERVGUI_Def.h"
 #include "QAD_PyEditor.h"
 #include "QAD_PyInterp.h"
index 5549e8b8c512c69555894752311bc30d3d462edd..8e31fe1f80fb141def5b38671d2f516e8597ea00 100644 (file)
@@ -1,9 +1,29 @@
-// File      : SUPERVGUI_Python.h
-// Created   : 18 / 06 / 2002
-// Author    : Francis KLOSS
-// Project   : SALOME
-// Module    : SUPERVGUI
-// Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Python.h
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_Python_H
 #define SUPERVGUI_Python_H
index 230e55161527c12c0705d969a5becc797ac941eb..f9cb9e9acfad155b3ae05e1466ef796682309e79 100644 (file)
@@ -1,11 +1,31 @@
-using namespace std;
-//  File      : SUPERVGUI_Service.cxx
-//  Created   : 7 / 11 / 2001
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Service.cxx
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
+using namespace std;
 #include "SUPERVGUI_Service.h"
 #include "SUPERVGUI_Main.h"
 #include "SUPERVGUI.h"
index 3857650afb939004549009218148e27ae1a0fbaa..c04a154cb506a377f5fdd781e28b11c001d4c0e5 100644 (file)
@@ -1,9 +1,29 @@
-//  File      : SUPERVGUI_Service.h
-//  Created   : 7 / 11 / 2001
-//  Author    : Francis KLOSS
-//  Project   : SALOME
-//  Module    : SUPERVGUI
-//  Copyright : CEA
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  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   : SUPERVGUI_Service.h
+//  Author : Francis KLOSS
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_Service_H
 #define SUPERVGUI_Service_H
index e1a875a888c5513c6374a70d3d28586db0bac411..86fc5a6332e768b4903acf2ece6c28b96a590780 100644 (file)
@@ -1,12 +1,14 @@
-using namespace std;
-//  File      : SUPERVGUI_View.cxx
-//  Created   : 24 / 10 / 2002
-//  Author    : Vitaly SMETANNIKOV
-//  Project   : SALOME 
-//  Module    :  SUPERVGUI
-//  Copyright : Open CASCADE 
-
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SUPERVGUI_View.cxx
+//  Author : Vitaly SMETANNIKOV
+//  Module : SUPERV
 
+using namespace std;
 #include "SUPERVGUI_View.h"
 #include "SUPERVGUI_Main.h"
 #include "QAD_Config.h"
index 59176d642078efd56f6a37f10f011b34dab3baad..cfc8565ad0006c76beac9bed11db94b9d7224743 100644 (file)
@@ -1,10 +1,12 @@
-//  File      : SUPERVGUI_View.h
-//  Created   : 24 / 10 / 2002
-//  Author    : Vitaly SMETANNIKOV
-//  Project   : SALOME 
-//  Module    :  SUPERVGUI
-//  Copyright : Open CASCADE 
-
+//  SUPERV SUPERVGUI : GUI for Supervisor component
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SUPERVGUI_View.h
+//  Author : Vitaly SMETANNIKOV
+//  Module : SUPERV
 
 #ifndef SUPERVGUI_View_H
 #define SUPERVGUI_View_H
index 3a7e789bf189d01bd275d083ce39b02d5466b902..a71f998b27aac38c907dbc3c732bc44452e16572 100644 (file)
@@ -1,6 +1,29 @@
-# This is a Qt message file in .po format.  Each msgid starts with
-# a scope.  This scope should *NOT* be translated - eg. "Foo::Bar"
-# would be translated to "Pub", not "Foo::Pub".
+#  SUPERV SUPERVGUI : GUI for Supervisor component
+#
+#  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   : SupervisionGUI_icons.po
+#  Module : SUPERV
+
 msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
@@ -11,4 +34,4 @@ msgstr ""
 
 #: QAD_ObjectBrowser.cxx:140
 msgid "ICON_OBJBROWSER_Supervision"
-msgstr "Superv_tree_superv.png"
\ No newline at end of file
+msgstr "Superv_tree_superv.png"
index 87feedc5abea8980f366b6747fb1a0da50d90c79..00b51c30a281cc32ea231d1121f00464767c8812 100644 (file)
@@ -1,6 +1,29 @@
-# This is a Qt message file in .po format.  Each msgid starts with
-# a scope.  This scope should *NOT* be translated - eg. "Foo::Bar"
-# would be translated to "Pub", not "Foo::Pub".
+#  SUPERV SUPERVGUI : GUI for Supervisor component
+#
+#  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   : SupervisionGUI_msg_en.po
+#  Module : SUPERV
+
 msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
@@ -185,6 +208,10 @@ msgstr "Choose a Data in Study"
 msgid "MSG_GRAPH_DISPLAYED"
 msgstr "The DataFlow %1 \nis already displayed. Open again?"
 
+#:SUPERVGUI_Main.cxx:288
+msgid "MSG_CRL_NOTCOMPLETE"
+msgstr "Link Creation Is Not Complete"
+
 #:SUPERVGUI_Main.cxx:627
 msgid "MSG_NOTHING_COPY"
 msgstr "Nothing to copy."
@@ -408,6 +435,12 @@ msgstr "Author:"
 msgid "CONTAINER_LBL"
 msgstr "Container:"
 
+msgid "COMPONENT_NAME_LBL"
+msgstr "ComponentName:"
+
+msgid "INTERFACE_NAME_LBL"
+msgstr "InterfaceName:"
+
 msgid "DATE_CREATION_LBL"
 msgstr "Created:"
 
index 94898450f4f2c3c6ca9743b5bb0713bfc80d8184..f1c2519ed61d503827e76dfbae72a0a5eaa59120 100644 (file)
@@ -1,6 +1,29 @@
-# This is a Qt message file in .po format.  Each msgid starts with
-# a scope.  This scope should *NOT* be translated - eg. "Foo::Bar"
-# would be translated to "Pub", not "Foo::Pub".
+#  SUPERV SUPERVGUI : GUI for Supervisor component
+#
+#  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   : SupervisionGUI_msg_fr.po
+#  Module : SUPERV
+
 msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
diff --git a/src/SUPERVGUI/SupervisionGUI_icons.po b/src/SUPERVGUI/SupervisionGUI_icons.po
deleted file mode 100644 (file)
index 9f0e10f..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#  SUPERV SUPERVGUI : GUI for Supervisor component
-#
-#  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   : SupervisionGUI_icons.po
-#  Module : SUPERV
-
-msgid ""
-msgstr ""
-"Project-Id-Version: PROJECT VERSION\n"
-"POT-Creation-Date: 2001-09-11 12:08:44 PM CEST\n"
-"PO-Revision-Date: YYYY-MM-DD\n"
-"Last-Translator: FULLNAME <EMAIL@ADDRESS>\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-
-#: QAD_ObjectBrowser.cxx:140
-msgid "ICON_OBJBROWSER_Supervision"
-msgstr "Superv_tree_superv.png"
\ No newline at end of file
diff --git a/src/SUPERVGUI/SupervisionGUI_msg_en.po b/src/SUPERVGUI/SupervisionGUI_msg_en.po
deleted file mode 100644 (file)
index 00b51c3..0000000
+++ /dev/null
@@ -1,611 +0,0 @@
-#  SUPERV SUPERVGUI : GUI for Supervisor component
-#
-#  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   : SupervisionGUI_msg_en.po
-#  Module : SUPERV
-
-msgid ""
-msgstr ""
-"Project-Id-Version: PROJECT VERSION\n"
-"POT-Creation-Date: 2001-09-11 12:08:44 PM CEST\n"
-"PO-Revision-Date: YYYY-MM-DD\n"
-"Last-Translator: FULLNAME <EMAIL@ADRESS>\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-
-#Title of error messages
-msgid "ERROR"
-msgstr "Error"
-
-#:SUPERVGUI_Main.cxx:246
-msgid "MSG_FILE_EXIST"
-msgstr "File '%1' exists.\nReplace?"
-
-#:SUPERVGUI_Main.cxx:252
-msgid "MSG_BAD_WRITING"
-msgstr "Bad Writing File"
-
-#:SUPERVGUI_Main.cxx:242
-msgid "TTL_EXPORT_DATAFLOW"
-msgstr "Export Dataflow As..."
-
-#:SUPERVGUI_Main.cxx:41
-msgid "MSG_ACCESS_BAD_IOR"
-msgstr "Can't Access Dataflow: bad IOR"
-
-#:SUPERVGUI_Main.cxx:47
-msgid "MSG_NOACCESS_BY_IOR"
-msgstr "Can't Access Dataflow by IOR"
-
-#:SUPERVGUI_Main.cxx:53
-msgid "MSG_CANT_CREATE_DF"
-msgstr "Can't Create a New Dataflow"
-
-#:SUPERVGUI_Main.cxx:72
-msgid "MSG_BAD_FILE"
-msgstr "Bad File: %1"
-
-#:SUPERVGUI_Main.cxx:86
-msgid "MSG_CANT_COPY"
-msgstr "Can't Copy Dataflow"
-
-#:SUPERVGUI_Main.cxx:102
-msgid "MSG_DEL_LAST_PNT"
-msgstr "Delete Last Point"
-
-#:SUPERVGUI_Main.cxx:103
-msgid "MSG_DEL_LINK"
-msgstr "Delete Link"
-
-#:SUPERVGUI_Main.cxx:104
-msgid "MSG_ORTHO_LINE"
-msgstr "Ortho Mode"
-
-#:SUPERVGUI_Main.cxx:146
-msgid "WARNING"
-msgstr "Supervision Warning"
-
-#:SUPERVGUI_Main.cxx:147
-msgid "MSG_DF_RUNNING"
-msgstr "Dataflow Is Currently Running"
-
-#:SUPERVGUI_Main.cxx:148
-msgid "MSG_DF_EXECUTION"
-msgstr "Background Execution"
-
-#:SUPERVGUI_Main.cxx:149
-msgid "MSG_DF_KILL"
-msgstr "Kill Execution"
-
-#:SUPERVGUI_Main.cxx:185
-msgid "GRAPH_TITLE"
-msgstr "Supervision: "
-
-#:SUPERVGUI_Main.cxx:195
-msgid "MSG_GRAPH_STARTED"
-msgstr "===> Dataflow Execution is started"
-
-#:SUPERVGUI_Main.cxx:191
-msgid "MSG_GRAPH_READONLY"
-msgstr "===> Dataflow is Read Only"
-
-#:SUPERVGUI_Main.cxx:191
-msgid "MSG_GRAPH_EDITING"
-msgstr "===> Dataflow is Modifiable"
-
-#:SUPERVGUI_Main.cxx:200
-msgid "MSG_GRAPH_SUSPENDED"
-msgstr "===> Dataflow Execution is Suspended"
-
-#:SUPERVGUI_Main.cxx:204
-msgid "MSG_GRAPH_FINISHED"
-msgstr "===> Dataflow Execution is Finished"
-
-#:SUPERVGUI_Main.cxx:208
-msgid "MSG_GRAPH_ABORTED"
-msgstr "===> Dataflow Execution is Aborted"
-
-#:SUPERVGUI_Main.cxx:212
-msgid "MSG_GRAPH_KILLED"
-msgstr "===> Dataflow Execution is Killed"
-
-#:SUPERVGUI_Main.cxx:265
-msgid "MSG_GRAPH_INSERT"
-msgstr "Insert a Dataflow"
-
-#:SUPERVGUI_Main.cxx:285
-msgid "MSG_DF_NOTVALID"
-msgstr "Dataflow Not Valid"
-
-#:SUPERVGUI_Main.cxx:287
-msgid "MSG_DF_NOTEXECUTABLE"
-msgstr "Dataflow Not Executable"
-
-#:SUPERVGUI_Main.cxx:289
-msgid "MSG_DF_BADEXECUTE"
-msgstr "Dataflow Bad Execute"
-
-#:SUPERVGUI_Main.cxx:301
-msgid "MSG_DF_NOTRUNNING"
-msgstr "Dataflow Is Not Running"
-
-#:SUPERVGUI_Main.cxx:305
-msgid "MSG_CANTKILL_DF"
-msgstr "Can't Kill Dataflow"
-
-#:SUPERVGUI_Main.cxx:315
-msgid "MSG_DF_RESUMED"
-msgstr "===> Dataflow Execution is Resumed"
-
-#:SUPERVGUI_Main.cxx:318
-msgid "MSG_CANT_RESUME"
-msgstr "Can't Resume Dataflow"
-
-#:SUPERVGUI_Main.cxx:324
-msgid "MSG_CANT_SUSPEND"
-msgstr "Can't Suspend Dataflow"
-
-#:SUPERVGUI_Main.cxx:335
-msgid "MSG_DF_RESTARTED"
-msgstr "===> Dataflow Execution is Restarted"
-
-#:SUPERVGUI_Main.cxx:338
-msgid "MSG_CANT_RESTART"
-msgstr "Can't Restart Dataflow"
-
-#:SUPERVGUI_Main.cxx:344
-msgid "MSG_CANT_STOP"
-msgstr "Can't Stop Dataflow"
-
-#:SUPERVGUI_Main.cxx:477
-msgid "MSG_CHOOSE_OUTPUT"
-msgstr "Choose an Output Port"
-
-#:SUPERVGUI_Main.cxx:477
-msgid "MSG_CHOOSE_INPUT"
-msgstr "Choose an Input Port"
-
-#:SUPERVGUI_Main.cxx:486
-msgid "MSG_CANT_CREATE_LINK"
-msgstr "Can't Create This Link"
-
-#:SUPERVGUI_Main.cxx:508
-msgid "MSG_CANT_CREATE_POINT"
-msgstr "Can't Create Point(s) For This Link"
-
-#:SUPERVGUI_Main.cxx:541
-msgid "MSG_RIGHTLINE"
-msgstr "Right Line"
-
-#:SUPERVGUI_Main.cxx:541
-msgid "MSG_FREEPOINT"
-msgstr "Free Point"
-
-#:SUPERVGUI_Main.cxx:627
-msgid "MSG_CHOOSE_DATA"
-msgstr "Choose a Data in Study"
-
-#:SUPERVGUI_Main.cxx:170
-msgid "MSG_GRAPH_DISPLAYED"
-msgstr "The DataFlow %1 \nis already displayed. Open again?"
-
-#:SUPERVGUI_Main.cxx:288
-msgid "MSG_CRL_NOTCOMPLETE"
-msgstr "Link Creation Is Not Complete"
-
-#:SUPERVGUI_Main.cxx:627
-msgid "MSG_NOTHING_COPY"
-msgstr "Nothing to copy."
-
-msgid "MSG_CANT_CHANGELINK"
-msgstr "Can't Change Point Coordinates For a Link"
-
-msgid "MSG_CANT_CHANGE_COORDLINK"
-msgstr "Can't Change Coordinates For a Link"
-
-msgid "MSG_CANT_DEL_POINT"
-msgstr "Can't Delete this Point"
-
-msgid "MSG_CANT_ADD_POINT"
-msgstr "Can't Add this Point"
-
-msgid "MSG_CANT_GET_LNKCOORD"
-msgstr "Can't Get Coordinates From a Link"
-
-msgid "MSG_NOT_IMPLEMENTED"
-msgstr "Not Yet Implemented"
-
-msgid "MSG_CANT_STOPNODE"
-msgstr "Can't Stop Node"
-
-msgid "MSG_CANT_RESTARTNODE"
-msgstr "Can't Restart Node"
-
-msgid "MSG_CANT_KILLNODE"
-msgstr "Can't Kill Node"
-
-msgid "MSG_CANT_SUSPENDNODE"
-msgstr "Can't Suspend Node"
-
-msgid "MSG_CANT_RESUMENODE"
-msgstr "Can't Resume Node"
-
-msgid "MSG_CANT_RENAMENODE"
-msgstr "Can't Rename this Node"
-
-msgid "MSG_CHANGE_NODENAME"
-msgstr "Change the Name of a Node"
-
-msgid "MSG_ENTER_NODENAME"
-msgstr "Please, Enter a Node Name"
-
-msgid "MSG_STOP"
-msgstr "Stop"
-
-msgid "MSG_RESTART"
-msgstr "Restart"
-
-msgid "MSG_SUSPEND"
-msgstr "Suspend"
-
-msgid "MSG_RESUME"
-msgstr "Resume"
-
-msgid "MSG_KILL"
-msgstr "Kill"
-
-msgid "MSG_DELETE"
-msgstr "Delete"
-
-msgid "MSG_RENAME"
-msgstr "Rename"
-
-msgid "MSG_CONFIGURE"
-msgstr "Configure"
-
-msgid "MSG_CHANGE_INFO"
-msgstr "Change Informations"
-
-msgid "MSG_SHOW_PYTHON"
-msgstr "Show Python"
-
-msgid "MSG_ADD_BEFORE"
-msgstr "Add Before"
-
-msgid "MSG_ADD_AFTER"
-msgstr "Add After"
-
-msgid "MSG_DEL_POINT"
-msgstr "Delete Point"
-
-msgid "MSG_NONODE_TOADD"
-msgstr "No Node to Add in Dataflow"
-
-msgid "MSG_CANT_CHOOSE_SERVICE"
-msgstr "Can't Choose a Service in a Component"
-
-msgid "MSG_NO_SUPERVISION_WINDOW"
-msgstr "No Supervision Window Selected to Add Nodes in a Dataflow"
-
-msgid "MSG_SKETCH_LINK"
-msgstr "Sketch Link"
-
-msgid "MSG_FROMSTUDY"
-msgstr "Set From Study"
-
-msgid "MSG_SETVALUE"
-msgstr "Set Value"
-
-msgid "MSG_BROWSE"
-msgstr "Browse"
-
-msgid "MSG_DELLINK"
-msgstr "Delete Link"
-
-msgid "MSG_CANT_SETVAL"
-msgstr "Can't Set Input Value"
-
-msgid "TIT_INPUT_PORT"
-msgstr "Constant for Input Port"
-
-msgid "MSG_ENTER_VALUE"
-msgstr "Please, Enter a Value"
-
-msgid "MSG_IPORT_VAL"
-msgstr "Input Port Value : "
-
-msgid "MSG_OPORT_VAL"
-msgstr "Output Port Value : "
-
-msgid "MSG_INFO"
-msgstr "Information"
-
-msgid "MSG_TERMINATE"
-msgstr "Terminate"
-
-msgid "MSG_SHOWDATA"
-msgstr "Show Data"
-
-msgid "MSG_CALL_DATASHOW"
-msgstr "Call data show as soon ..."
-
-msgid "MSG_PUT_INSTUDY"
-msgstr "Put in Study"
-
-msgid "MSG_NOT_INSTUDY"
-msgstr "Not in Study"
-
-msgid "MSG_GRAPH_ISRUN"
-msgstr "Dataflow is still executing. Kill it?"
-
-msgid "MSG_NOWINDOW_TO_SUSPEND"
-msgstr "No Supervision Window Selected to Suspend or Resume a Dataflow"
-
-msgid "MSG_NOWINDOW_TO_ADD"
-msgstr "No Supervision Window Selected to add new components"
-
-msgid "MSG_NOWINDOW_TO_EXPORT"
-msgstr "No Supervision Window Selected to Export a Dataflow"
-
-msgid "MSG_CANT_LOAD_SUPERV"
-msgstr "Cannot Find or Load Supervision Component"
-
-msgid "MSG_CANT_NARROW_SUPERV"
-msgstr "Cannot _narrow Supervision Component"
-
-msgid "MSG_NOWINDOW_TO_RELOAD"
-msgstr "No Supervision Window Selected to Reload a Dataflow"
-
-msgid "MSG_NOWINDOW_TO_RUN"
-msgstr "No Supervision Window Selected to Run a Dataflow"
-
-msgid "MSG_NOWINDOW_TO_KILL"
-msgstr "No Supervision Window Selected to Kill a Dataflow"
-
-msgid "MSG_IMPORT"
-msgstr "Import Dataflow"
-
-msgid "MSG_NOTEDITABLE"
-msgstr "Current Dataflow is not editable"
-
-msgid "MSG_ADD_STUDY"
-msgstr "Add in Study"
-
-msgid "MSG_NO_DELLINK"
-msgstr "No Link to Delete"
-
-msgid "MSG_NO_LINK_ADDPNT"
-msgstr "No Link to Add a Point"
-
-msgid "MSG_ADD_NODE"
-msgstr "Add Node"
-
-msgid "MSG_ADD_POINT"
-msgstr "Add Point"
-
-msgid "MSG_INS_FILE"
-msgstr "Insert File"
-
-msgid "MSG_COPY_DATAFLOW"
-msgstr "Copy Dataflow"
-
-msgid "MSG_SWITCH_ARRAY"
-msgstr "Switch Array"
-
-msgid "MSG_FILTER_NOTIFY"
-msgstr "Filter Notification"
-
-msgid "MSG_SWITCH_GRAPH"
-msgstr "Switch Graph"
-
-msgid "MSG_COPY_PREFIX"
-msgstr "Copy%1_Of"
-
-msgid "TIT_RENAME"
-msgstr "Rename Dataflow"
-
-msgid "TLT_INFORMATIONS"
-msgstr "Informations"
-
-msgid "NAME_LBL"
-msgstr "Name:"
-
-msgid "AUTHOR_LBL"
-msgstr "Author:"
-
-msgid "CONTAINER_LBL"
-msgstr "Container:"
-
-msgid "COMPONENT_NAME_LBL"
-msgstr "ComponentName:"
-
-msgid "INTERFACE_NAME_LBL"
-msgstr "InterfaceName:"
-
-msgid "DATE_CREATION_LBL"
-msgstr "Created:"
-
-msgid "DATE_MODIFICATION_LBL"
-msgstr "Updated:"
-
-msgid "COMMENT_LBL"
-msgstr "Comment:"
-
-msgid "BUT_OK"
-msgstr "&OK"
-
-msgid "BUT_CANCEL"
-msgstr "&Cancel"
-
-msgid "MSG_CANT_CHANGE_INFO"
-msgstr "Can't Change Informations"
-
-msgid "MSG_ASK_DELETE"
-msgstr "Selected object and its subobjects will be deleted.\nContinue?"
-
-msgid "POP_VIEW"
-msgstr "View"
-
-msgid "POP_FULLVIEW"
-msgstr "Full"
-
-msgid "POP_CONTROLVIEW"
-msgstr "Control"
-
-msgid "POP_TABLEVIEW"
-msgstr "Table"
-
-msgid "POP_SHOW"
-msgstr "Show"
-
-msgid "POP_SHOWTITLES"
-msgstr "Comment"
-
-msgid "POP_SHOWPORTS"
-msgstr "Ports"
-
-msgid "TIT_BROWSENODE"
-msgstr "Browse Node "
-
-msgid "BUT_APPLY"
-msgstr "Ok"
-
-msgid "BUT_CLOSE"
-msgstr "Close"
-
-msgid "TIT_SETVALUE_PORT"
-msgstr "Set Value"
-
-msgid "ENTER_OR_SELECT_LBL"
-msgstr "Enter value or select any object from the study"
-
-msgid "TIT_SERVICES"
-msgstr "Add Node"
-
-msgid "TLT_FILTER_NOTIFY"
-msgstr "Filter Notification"
-
-msgid "COL_COMPONENTS"
-msgstr "Components and services"
-
-msgid "NOTIFICATION_LOGGING_LBL"
-msgstr "Notification Logging"
-
-msgid "SAVE_LOG_LBL"
-msgstr "Save in File"
-
-msgid "FILTER_LOG_LBL"
-msgstr "Filtered File"
-
-msgid "BUT_BROWSE"
-msgstr "Browse"
-
-msgid "ALL_FILES"
-msgstr "All files (*.*)"
-
-msgid "CHOOSE_LOG_FILES_TLT"
-msgstr "Select log file"
-
-msgid "ERR_CANT_OPEN_LOG_FILE"
-msgstr "Can't Open Log file"
-
-msgid "COL_PORTTYPE"
-msgstr "Port type"
-
-msgid "COL_PORTWAY"
-msgstr "Port way"
-
-msgid "TIT_ADDNODE"
-msgstr "Add Node"
-
-msgid "TIT_ADDCNODE"
-msgstr "Add Compute Node"
-
-msgid "TIT_ADDFNODE"
-msgstr "Add Factory Node"
-
-msgid "BTN_FACTORYNODE"
-msgstr "Factory"
-
-msgid "BTN_SWITCHNODE"
-msgstr "Switch"
-
-msgid "BTN_LOOPNODE"
-msgstr "Loop"
-
-msgid "MODULES_PANE"
-msgstr "Factory"
-
-msgid "INLINE_PANE"
-msgstr "Inline"
-
-msgid "ENDNODE_PREFIX"
-msgstr "EndOf"
-
-msgid "BUT_LOAD"
-msgstr "Load from file..."
-
-msgid "BUT_NEXT"
-msgstr "Next Function"
-
-msgid "TIT_LOADSCRIPT"
-msgstr "Load Script"
-
-msgid "MSG_CANT_LOADSCRIPT"
-msgstr "Can't open file"
-
-msgid "MSG_EMTY_FILE"
-msgstr "File is empty"
-
-msgid "MSG_NOMORE_FUNCTIONS"
-msgstr "No more functions in this file"
-
-msgid "MSG_SCRIPTTIP"
-msgstr "Define Name, Input and Output parameters, and body of function\nin fields below accordingly"
-
-msgid "POP_HIDEPORTS"
-msgstr "Hide Ports"
-
-msgid "COMMENT_FROM"
-msgstr " from "
-
-msgid "COMMENT_PYTHON"
-msgstr "Python function"
-
-msgid "COMMENT_CNODE"
-msgstr "Compute Node"
-
-msgid "TIT_FUNC_PYTHON"
-msgstr "Edit function"
-
-msgid "LBL_NODETYPE"
-msgstr "Node type"
-
-msgid "ITM_DEL_PORT"
-msgstr "Delete"
-
-msgid "MSG_CANT_CREATE_NODE"
-msgstr "Can't create node"
-
-msgid "MSG_PORT_EXIST"
-msgstr "Port with such name already exists"
-
diff --git a/src/SUPERVGUI/SupervisionGUI_msg_fr.po b/src/SUPERVGUI/SupervisionGUI_msg_fr.po
deleted file mode 100644 (file)
index f1c2519..0000000
+++ /dev/null
@@ -1,444 +0,0 @@
-#  SUPERV SUPERVGUI : GUI for Supervisor component
-#
-#  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   : SupervisionGUI_msg_fr.po
-#  Module : SUPERV
-
-msgid ""
-msgstr ""
-"Project-Id-Version: PROJECT VERSION\n"
-"POT-Creation-Date: 2001-09-11 12:08:44 PM CEST\n"
-"PO-Revision-Date: YYYY-MM-DD\n"
-"Last-Translator: FULLNAME <EMAIL@ADRESS>\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-
-#Title of error messages
-msgid "ERROR"
-msgstr "Supervision Error"
-
-#:SUPERVGUI_Main.cxx:246
-msgid "MSG_FILE_EXIST"
-msgstr "File '%1' exists.\nReplace?"
-
-#:SUPERVGUI_Main.cxx:252
-msgid "MSG_BAD_WRITING"
-msgstr "Bad Writing File"
-
-#:SUPERVGUI_Main.cxx:242
-msgid "TTL_EXPORT_DATAFLOW"
-msgstr "Export Dataflow As..."
-
-#:SUPERVGUI_Main.cxx:41
-msgid "MSG_ACCESS_BAD_IOR"
-msgstr "Can't Access Dataflow: bad IOR"
-
-#:SUPERVGUI_Main.cxx:47
-msgid "MSG_NOACCESS_BY_IOR"
-msgstr "Can't Access Dataflow by IOR"
-
-#:SUPERVGUI_Main.cxx:53
-msgid "MSG_CANT_CREATE_DF"
-msgstr "Can't Create a New Dataflow"
-
-#:SUPERVGUI_Main.cxx:72
-msgid "MSG_BAD_FILE"
-msgstr "Bad File"
-
-#:SUPERVGUI_Main.cxx:86
-msgid "MSG_CANT_COPY"
-msgstr "Can't Copy Dataflow"
-
-#:SUPERVGUI_Main.cxx:102
-msgid "MSG_DEL_LAST_PNT"
-msgstr "Delete Last Point"
-
-#:SUPERVGUI_Main.cxx:103
-msgid "MSG_DEL_LINK"
-msgstr "Delete Link"
-
-#:SUPERVGUI_Main.cxx:104
-msgid "MSG_ORTHO_LINE"
-msgstr "Ortho Mode"
-
-#:SUPERVGUI_Main.cxx:146
-msgid "WARNING"
-msgstr "Supervision Warning"
-
-#:SUPERVGUI_Main.cxx:147
-msgid "MSG_DF_RUNNING"
-msgstr "Dataflow Is Currently Running"
-
-#:SUPERVGUI_Main.cxx:148
-msgid "MSG_DF_EXECUTION"
-msgstr "Background Execution"
-
-#:SUPERVGUI_Main.cxx:149
-msgid "MSG_DF_KILL"
-msgstr "Kill Execution"
-
-#:SUPERVGUI_Main.cxx:185
-msgid "GRAPH_TITLE"
-msgstr "Supervision: "
-
-#:SUPERVGUI_Main.cxx:195
-msgid "MSG_GRAPH_STARTED"
-msgstr "===> Dataflow Execution is started"
-
-#:SUPERVGUI_Main.cxx:191
-msgid "MSG_GRAPH_READONLY"
-msgstr "===> Dataflow is Read Only"
-
-#:SUPERVGUI_Main.cxx:191
-msgid "MSG_GRAPH_EDITING"
-msgstr "===> Dataflow is Modifiable"
-
-#:SUPERVGUI_Main.cxx:200
-msgid "MSG_GRAPH_SUSPENDED"
-msgstr "===> Dataflow Execution is Suspended"
-
-#:SUPERVGUI_Main.cxx:204
-msgid "MSG_GRAPH_FINISHED"
-msgstr "===> Dataflow Execution is Finished"
-
-#:SUPERVGUI_Main.cxx:208
-msgid "MSG_GRAPH_ABORTED"
-msgstr "===> Dataflow Execution is Aborted"
-
-#:SUPERVGUI_Main.cxx:212
-msgid "MSG_GRAPH_KILLED"
-msgstr "===> Dataflow Execution is Killed"
-
-#:SUPERVGUI_Main.cxx:265
-msgid "MSG_GRAPH_INSERT"
-msgstr "Insert a Dataflow"
-
-#:SUPERVGUI_Main.cxx:285
-msgid "MSG_DF_NOTVALID"
-msgstr "Dataflow Not Valid"
-
-#:SUPERVGUI_Main.cxx:287
-msgid "MSG_DF_NOTEXECUTABLE"
-msgstr "Dataflow Not Executable"
-
-#:SUPERVGUI_Main.cxx:289
-msgid "MSG_DF_BADEXECUTE"
-msgstr "Dataflow Bad Execute"
-
-#:SUPERVGUI_Main.cxx:301
-msgid "MSG_DF_NOTRUNNING"
-msgstr "Dataflow Is Not Running"
-
-#:SUPERVGUI_Main.cxx:305
-msgid "MSG_CANTKILL_DF"
-msgstr "Can't Kill Dataflow"
-
-#:SUPERVGUI_Main.cxx:315
-msgid "MSG_DF_RESUMED"
-msgstr "===> Dataflow Execution is Resumed"
-
-#:SUPERVGUI_Main.cxx:318
-msgid "MSG_CANT_RESUME"
-msgstr "Can't Resume Dataflow"
-
-#:SUPERVGUI_Main.cxx:324
-msgid "MSG_CANT_SUSPEND"
-msgstr "Can't Suspend Dataflow"
-
-#:SUPERVGUI_Main.cxx:335
-msgid "MSG_DF_RESTARTED"
-msgstr "===> Dataflow Execution is Restarted"
-
-#:SUPERVGUI_Main.cxx:338
-msgid "MSG_CANT_RESTART"
-msgstr "Can't Restart Dataflow"
-
-#:SUPERVGUI_Main.cxx:344
-msgid "MSG_CANT_STOP"
-msgstr "Can't Stop Dataflow"
-
-#:SUPERVGUI_Main.cxx:477
-msgid "MSG_CHOOSE_OUTPUT"
-msgstr "Choose an Output Port"
-
-#:SUPERVGUI_Main.cxx:477
-msgid "MSG_CHOOSE_INPUT"
-msgstr "Choose an Input Port"
-
-#:SUPERVGUI_Main.cxx:486
-msgid "MSG_CANT_CREATE_LINK"
-msgstr "Can't Create This Link"
-
-#:SUPERVGUI_Main.cxx:508
-msgid "MSG_CANT_CREATE_POINT"
-msgstr "Can't Create Point(s) For This Link"
-
-#:SUPERVGUI_Main.cxx:541
-msgid "MSG_RIGHTLINE"
-msgstr "Right Line"
-
-#:SUPERVGUI_Main.cxx:541
-msgid "MSG_FREEPOINT"
-msgstr "Free Point"
-
-#:SUPERVGUI_Main.cxx:627
-msgid "MSG_CHOOSE_DATA"
-msgstr "Choose a Data in Study"
-
-#:SUPERVGUI_Main.cxx:170
-msgid "MSG_GRAPH_DISPLAYED"
-msgstr "The DataFlow %1 \nis already displayed. Open again?"
-
-#:SUPERVGUI_Main.cxx:627
-msgid "MSG_NOTHING_COPY"
-msgstr "Nothing to copy."
-
-msgid "MSG_CANT_CHANGELINK"
-msgstr "Can't Change Point Coordinates For a Link"
-
-msgid "MSG_CANT_CHANGE_COORDLINK"
-msgstr "Can't Change Coordinates For a Link"
-
-msgid "MSG_CANT_DEL_POINT"
-msgstr "Can't Delete this Point"
-
-msgid "MSG_CANT_ADD_POINT"
-msgstr "Can't Add this Point"
-
-msgid "MSG_CANT_GET_LNKCOORD"
-msgstr "Can't Get Coordinates From a Link"
-
-msgid "MSG_NOT_IMPLEMENTED"
-msgstr "Not Yet Implemented"
-
-msgid "MSG_CANT_STOPNODE"
-msgstr "Can't Stop Node"
-
-msgid "MSG_CANT_RESTARTNODE"
-msgstr "Can't Restart Node"
-
-msgid "MSG_CANT_KILLNODE"
-msgstr "Can't Kill Node"
-
-msgid "MSG_CANT_SUSPENDNODE"
-msgstr "Can't Suspend Node"
-
-msgid "MSG_CANT_RESUMENODE"
-msgstr "Can't Resume Node"
-
-msgid "MSG_CANT_RENAMENODE"
-msgstr "Can't Rename this Node"
-
-msgid "MSG_CHANGE_NODENAME"
-msgstr "Change the Name of a Node"
-
-msgid "MSG_ENTER_NODENAME"
-msgstr "Please, Enter a Node Name"
-
-msgid "MSG_STOP"
-msgstr "Stop"
-
-msgid "MSG_RESTART"
-msgstr "Restart"
-
-msgid "MSG_SUSPEND"
-msgstr "Suspend"
-
-msgid "MSG_RESUME"
-msgstr "Resume"
-
-msgid "MSG_KILL"
-msgstr "Kill"
-
-msgid "MSG_DELETE"
-msgstr "Delete"
-
-msgid "MSG_RENAME"
-msgstr "Rename"
-
-msgid "MSG_CONFIGURE"
-msgstr "Configure"
-
-msgid "MSG_CHANGE_INFO"
-msgstr "Change Informations"
-
-msgid "MSG_SHOW_PYTHON"
-msgstr "Show Python"
-
-msgid "MSG_ADD_BEFORE"
-msgstr "Add Before"
-
-msgid "MSG_ADD_AFTER"
-msgstr "Add After"
-
-msgid "MSG_DEL_POINT"
-msgstr "Delete Point"
-
-msgid "MSG_NONODE_TOADD"
-msgstr "No Node to Add in Dataflow"
-
-msgid "MSG_CANT_CHOOSE_SERVICE"
-msgstr "Can't Choose a Service in a Component"
-
-msgid "MSG_NO_SUPERVISION_WINDOW"
-msgstr "No Supervision Window Selected to Add Nodes in a Dataflow"
-
-msgid "MSG_SKETCH_LINK"
-msgstr "Sketch Link"
-
-msgid "MSG_FROMSTUDY"
-msgstr "Set From Study"
-
-msgid "MSG_SETVALUE"
-msgstr "Set Value"
-
-msgid "MSG_BROWSE"
-msgstr "Browse"
-
-msgid "MSG_DELLINK"
-msgstr "Delete Link"
-
-msgid "MSG_CANT_SETVAL"
-msgstr "Can't Set Input Value"
-
-msgid "TIT_INPUT_PORT"
-msgstr "Constant for Input Port"
-
-msgid "MSG_ENTER_VALUE"
-msgstr "Please, Enter a Value"
-
-msgid "MSG_IPORT_VAL"
-msgstr "Input Port Value : "
-
-msgid "MSG_OPORT_VAL"
-msgstr "Output Port Value : "
-
-msgid "MSG_INFO"
-msgstr "Supervision Information"
-
-msgid "MSG_TERMINATE"
-msgstr "Terminate"
-
-msgid "MSG_SHOWDATA"
-msgstr "Show Data"
-
-msgid "MSG_CALL_DATASHOW"
-msgstr "Call data show as soon ..."
-
-msgid "MSG_PUT_INSTUDY"
-msgstr "Put in Study"
-
-msgid "MSG_NOT_INSTUDY"
-msgstr "Not in Study"
-
-msgid "MSG_GRAPH_ISRUN"
-msgstr "Dataflow is still executing. Kill it?"
-
-msgid "MSG_NOWINDOW_TO_SUSPEND"
-msgstr "No Supervision Window Selected to Suspend or Resume a Dataflow"
-
-msgid "MSG_NOWINDOW_TO_ADD"
-msgstr "No Supervision Window Selected to add new components"
-
-msgid "MSG_NOWINDOW_TO_EXPORT"
-msgstr "No Supervision Window Selected to Export a Dataflow"
-
-msgid "MSG_CANT_LOAD_SUPERV"
-msgstr "Cannot Find or Load Supervision Component"
-
-msgid "MSG_CANT_NARROW_SUPERV"
-msgstr "Cannot _narrow Supervision Component"
-
-msgid "MSG_NOWINDOW_TO_RELOAD"
-msgstr "No Supervision Window Selected to Reload a Dataflow"
-
-msgid "MSG_NOWINDOW_TO_RUN"
-msgstr "No Supervision Window Selected to Run a Dataflow"
-
-msgid "MSG_NOWINDOW_TO_KILL"
-msgstr "No Supervision Window Selected to Kill a Dataflow"
-
-msgid "MSG_IMPORT"
-msgstr "Import Dataflow"
-
-msgid "MSG_NOTEDITABLE"
-msgstr "Current Dataflow is not editable"
-
-msgid "MSG_ADD_STUDY"
-msgstr "Add in Study"
-
-msgid "MSG_NO_DELLINK"
-msgstr "No Link to Delete"
-
-msgid "MSG_NO_LINK_ADDPNT"
-msgstr "No Link to Add a Point"
-
-msgid "MSG_ADD_NODE"
-msgstr "Add Node"
-
-msgid "MSG_ADD_POINT"
-msgstr "Add Point"
-
-msgid "MSG_INS_FILE"
-msgstr "Insert File"
-
-msgid "MSG_COPY_DATAFLOW"
-msgstr "Copy Dataflow"
-
-msgid "MSG_SWITCH_ARRAY"
-msgstr "Switch Array"
-
-msgid "MSG_FILTER_NOTIFY"
-msgstr "Filter Notification"
-
-msgid "MSG_SWITCH_GRAPH"
-msgstr "Switch Graph"
-
-msgid "MSG_COPY_PREFIX"
-msgstr "Copy%1_Of"
-
-msgid "TIT_RENAME"
-msgstr "Rename Dataflow"
-
-msgid "MSG_ASK_DELETE"
-msgstr "Selected object and its subobjects will be deleted.\nContinue?"
-
-msgid "POP_VIEW"
-msgstr "View"
-
-msgid "POP_FULLVIEW"
-msgstr "Full"
-
-msgid "POP_CONTROLVIEW"
-msgstr "Control"
-
-msgid "POP_TABLEVIEW"
-msgstr "Table"
-
-msgid "POP_SHOW"
-msgstr "Show"
-
-msgid "POP_SHOWTITLES"
-msgstr "Titles"
-
-msgid "POP_SHOWPORTS"
-msgstr "Ports"
index a65f2f29dbfa9d79cb740e3b50a285f984dfe560..ebcc16bd5cc8e5fc76abda4c07183304a9409b3e 100644 (file)
@@ -1,12 +1,15 @@
-using namespace std;
-//=============================================================================
-// File      : CNode_Impl.cxx
-// Created   : 2003
-// Author    : Jean Rahuel
-// Project   : SALOME
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : CNode_Impl.cxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
+using namespace std;
 #include <stdio.h>
 #include <fstream>
 #include <strstream>
@@ -57,7 +60,7 @@ CNode_Impl::CNode_Impl( CORBA::ORB_ptr orb ,
                         const char * FuncName  ,
                         const SUPERV::ListOfStrings & PythonFunction ) :
   Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
-  beginService( "CNode_Impl::CNode_Impl" );
+//  beginService( "CNode_Impl::CNode_Impl" );
   if ( FuncName && NodeName ) {
     cout << "CNode_Impl::CNode_Impl " << (void *) NodeName << " " << NodeName
          << " " << strlen(NodeName) << " " << (void *) FuncName << " " << FuncName
@@ -85,7 +88,7 @@ CNode_Impl::CNode_Impl( CORBA::ORB_ptr orb ,
                                             aFuncName ,
                                             aPythonFunction ) ;
   _IsNode = true ;
-  endService( "CNode_Impl::CNode_Impl" );  
+//  endService( "CNode_Impl::CNode_Impl" );  
 }
 
 CNode_Impl::CNode_Impl( CORBA::ORB_ptr orb ,
@@ -929,7 +932,8 @@ SUPERV::GraphState CNode_Impl::State() {
 //  beginService( "CNode_Impl::State" );
   SUPERV::GraphState RetVal = SUPERV::EditingState ;
   GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
-  if ( _DataFlowExecutor ) {
+  if ( _DataFlowExecutor && !_DataFlowEditor->EditedAfterExecution() ) {
+    //JR : 12/06/03  if ( _DataFlowExecutor ) {
     if ( _IsNode ) {
       RetVal = _DataFlowExecutor->State( Name() ) ;
     }
@@ -1255,11 +1259,12 @@ bool CNode_Impl::Resume() {
   return RetVal ;
 }
 
-bool CNode_Impl::ReRun() {
-  beginService( "CNode_Impl::ReRun" );
+bool CNode_Impl::Run() {
+  beginService( "CNode_Impl::Run" );
   bool RetVal = false ;
   GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
   if ( _DataFlowExecutor ) {
+    _DataFlowEditor->EditedAfterExecution( false ) ;
     if ( _IsNode ) {
       RetVal = _DataFlowExecutor->Run( Name() , Name() , false ) ;
     }
@@ -1267,6 +1272,24 @@ bool CNode_Impl::ReRun() {
       RetVal = _DataFlowExecutor->Run( false ) ;
     }
   }
+  endService( "CNode_Impl::Run" );
+  return RetVal ;
+}
+
+bool CNode_Impl::ReRun() {
+  beginService( "CNode_Impl::ReRun" );
+  bool RetVal = false ;
+  GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
+  if ( _DataFlowExecutor ) {
+    _DataFlowEditor->EditedAfterExecution( false ) ;
+    if ( _IsNode ) {
+      RetVal = _DataFlowExecutor->Run( Name() , Name() , false ) ;
+    }
+    else if ( DataFlowEditor()->IsEditing() ) {
+      //      RetVal = _DataFlowExecutor->Run( false ) ;
+      return ((Graph_Impl::Graph_Impl *) this)->Graph_Impl::Run() ;
+    }
+  }
   endService( "CNode_Impl::ReRun" );
   return RetVal ;
 }
@@ -1276,6 +1299,7 @@ bool CNode_Impl::ReRunAt( const char * aNodeName ) {
   bool RetVal = false ;
   GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
   if ( _DataFlowExecutor ) {
+    _DataFlowEditor->EditedAfterExecution( false ) ;
     if ( _IsNode ) {
       RetVal = _DataFlowExecutor->Run( Name() , aNodeName , false ) ;
     }
@@ -1313,3 +1337,21 @@ bool CNode_Impl::ReStartAt( const char * aNodeName ) {
   return RetVal ;
 }
 
+long CNode_Impl::CpuUsed() {
+  long RetVal = 0 ;
+  GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
+  if ( _DataFlowExecutor ) {
+    if ( _IsNode ) {
+//      RetVal = _DataFlowExecutor->CpuUsed( Name() ) ;
+    }
+    else {
+//      RetVal = _DataFlowExecutor->CpuUsed() ;
+    }
+  }
+  else {
+    return 0 ;
+  }
+  return RetVal ;
+}
+
+
index d6397a6da7f7c774c785a160f898ad9c090babc6..21ae26fc881468cf8d5ee13f55c11da12e21fa49 100644 (file)
@@ -1,11 +1,13 @@
-//=============================================================================
-// File      : CNode_Impl.hxx
-// Created   : 2003
-// Author    : Jean Rahuel
-// Project   : SALOME
-// Copyright : CEA
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : CNode_Impl.hxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
 #ifndef _CNODE_IMPL_HXX_
 #define _CNODE_IMPL_HXX_
@@ -189,11 +191,14 @@ class CNode_Impl : public POA_SUPERV::CNode ,
     virtual bool SuspendDone() ;
     virtual bool Resume() ;
 
+    virtual bool Run() ;
     virtual bool ReRun() ;
     virtual bool ReRunAt( const char * aNodeName ) ;
     virtual bool ReStart() ;
     virtual bool ReStartAt( const char * aNodeName ) ;
 
+    virtual long CpuUsed() ;
+
 } ;
 
 #endif
index 747e5d7716303a519f44eb0f8ffee2b81f30c627..39be6fe37909f6a6753763df7dd45b68be0473e4 100644 (file)
@@ -1,12 +1,15 @@
-using namespace std;
-//=============================================================================
-// File      : ELNode_Impl.cxx
-// Created   : Nov 2001
-// Author    : Jean Rahuel
-// Project   : SALOME
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : ELNode_Impl.cxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
+using namespace std;
 #include <stdio.h>
 #include <fstream>
 #include <strstream>
index 682b204e7bf66d21bb69e215324fc7e0e1619e72..30b1d8af7cacbd250389f90c816f1812228731c8 100644 (file)
@@ -1,11 +1,13 @@
-//=============================================================================
-// File      : ELNode_Impl.hxx
-// Created   : 2003
-// Author    : Jean Rahuel
-// Project   : SALOME
-// Copyright : CEA
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : ELNode_Impl.hxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
 #ifndef _ELNODE_IMPL_HXX_
 #define _ELNODE_IMPL_HXX_
index cfaa8f3b1d4f182a343a15edf50c3f80d11f4e8e..5b20b25a79c14d78961e6236c68b38edc6e188d0 100644 (file)
@@ -1,12 +1,15 @@
-using namespace std;
-//=============================================================================
-// File      : ESNode_Impl.cxx
-// Created   : 2003
-// Author    : Jean Rahuel
-// Project   : SALOME
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : ESNode_Impl.cxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
+using namespace std;
 #include <stdio.h>
 #include <fstream>
 #include <strstream>
index 809e8e22b2c4af069be7a89a101615b804705a43..48d6886b64ec87ba6bcf8edeb9e4c8e3077a1a60 100644 (file)
@@ -1,11 +1,13 @@
-//=============================================================================
-// File      : ESNode_Impl.hxx
-// Created   : 2003
-// Author    : Jean Rahuel
-// Project   : SALOME
-// Copyright : CEA 2003
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : ESNode_Impl.hxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
 #ifndef _ESNODE_IMPL_HXX_
 #define _ESNODE_IMPL_HXX_
index d9d29e236612c210091d7d2f604062ce09fb4766..130ecad41bbb44ebee0596cf1293ea2fe3dc64e6 100644 (file)
@@ -1,12 +1,15 @@
-using namespace std;
-//=============================================================================
-// File      : FNode_Impl.cxx
-// Created   : Nov 2001
-// Author    : Jean Rahuel
-// Project   : SALOME
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : FNode_Impl.cxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
+using namespace std;
 #include <stdio.h>
 #include <fstream>
 #include <strstream>
@@ -33,7 +36,7 @@ FNode_Impl::FNode_Impl( CORBA::ORB_ptr orb ,
 //  Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
   CNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , NodeService , NodeName , NodeKindOfNode , (char * ) NULL ) {
   MESSAGE( NodeName << " " );
-  beginService( "FNode_Impl::FNode_Impl" );
+//  beginService( "FNode_Impl::FNode_Impl" );
   _thisObj = this ;
   _id = _poa->activate_object(_thisObj);
   _Orb = CORBA::ORB::_duplicate(orb);
@@ -44,7 +47,7 @@ FNode_Impl::FNode_Impl( CORBA::ORB_ptr orb ,
 //                                           NodeKindOfNode ) ) ;
   DataFlowNode()->ComponentName( NodeComponentName ) ;
   DataFlowNode()->InterfaceName( NodeInterfaceName ) ;
-  endService( "FNode_Impl::FNode_Impl" );  
+//  endService( "FNode_Impl::FNode_Impl" );  
 }
 
 FNode_Impl::FNode_Impl( CORBA::ORB_ptr orb ,
index fb5031e782a329a9d97fed0228c75db0774d7db8..295113a61c4df219b9eabc154a80962c6238a422 100644 (file)
@@ -1,11 +1,13 @@
-//=============================================================================
-// File      : FNode_Impl.hxx
-// Created   : Nov 2001
-// Author    : Jean Rahuel
-// Project   : SALOME
-// Copyright : CEA 2001
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : FNode_Impl.hxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
 #ifndef _FNODE_IMPL_HXX_
 #define _FNODE_IMPL_HXX_
index d5c559fb9cf82524083ce56895732d1d803c488f..5d0951c5200493697c10cfc4d8ad74f088ede340 100644 (file)
@@ -1,12 +1,15 @@
-using namespace std;
-//=============================================================================
-// File      : GNode_Impl.cxx
-// Created   : 2003
-// Author    : Jean Rahuel
-// Project   : SALOME
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : GNode_Impl.cxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
+using namespace std;
 #include <stdio.h>
 #include <fstream>
 #include <strstream>
index d645622b5f8d0ee593441e705b0e91a10e0d9caf..840ea238951df8b0f6ddaded1638e39bf774e161 100644 (file)
@@ -1,11 +1,13 @@
-//=============================================================================
-// File      : GNode_Impl.hxx
-// Created   : 2003
-// Author    : Jean Rahuel
-// Project   : SALOME
-// Copyright : CEA 2003
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : GNode_Impl.hxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
 #ifndef _GNODE_IMPL_HXX_
 #define _GNODE_IMPL_HXX_
index 7b3a08cdc0c2ceca3b92827a5c1a49b73bc35e54..bfb13ce8b5c27b5f29c58dee5d30c7d2b449cf96 100644 (file)
@@ -1,12 +1,32 @@
-using namespace std;
-//=============================================================================
-// File      : Graph_Impl.cxx
-// Created   : Nov 2001
-// Author    : Jean Rahuel
-// Project   : SALOME
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  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   : Graph_Impl.cxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
+using namespace std;
 #include <stdio.h>
 #include <fstream>
 #include <strstream>
@@ -450,18 +470,35 @@ SUPERV::SNode_ptr Graph_Impl::SNode(
 SUPERV::CNode_ptr Graph_Impl::GetNode(char const * aNodeName ) {
 //  beginService( "Graph_Impl::GetNode" );
   SUPERV::CNode_var iobject = SUPERV::CNode::_nil() ;
-  if ( CORBA::is_nil( DataFlowEditor()->GetNode( aNodeName )->ObjRef() ) ) {
-    CNode_Impl * myNode = new CNode_Impl( _Orb , _Poa , _ContId ,
-                                          instanceName() , interfaceName() ,
-                                          DataFlowEditor() ,
-                                          DataFlowEditor()->GetNode( aNodeName ) ) ;
-    PortableServer::ObjectId * id = myNode->getId() ;
-    CORBA::Object_var obj = _poa->id_to_reference(*id);
-    iobject = SUPERV::CNode::_narrow(obj) ;
-    myNode->SetObjRef( SUPERV::CNode::_duplicate( iobject ) ) ;
-  }
-  else {
-    iobject = DataFlowEditor()->GetNode( aNodeName )->ObjRef() ;
+  /* JR : 13/06/03
+     if ( CORBA::is_nil( DataFlowEditor()->GetNode( aNodeName )->ObjRef() ) ) {
+     CNode_Impl * myNode = new CNode_Impl( _Orb , _Poa , _ContId ,
+     instanceName() , interfaceName() ,
+     DataFlowEditor() ,
+     DataFlowEditor()->GetNode( aNodeName ) ) ;
+     PortableServer::ObjectId * id = myNode->getId() ;
+     CORBA::Object_var obj = _poa->id_to_reference(*id);
+     iobject = SUPERV::CNode::_narrow(obj) ;
+     myNode->SetObjRef( SUPERV::CNode::_duplicate( iobject ) ) ;
+     }
+     else {
+     iobject = DataFlowEditor()->GetNode( aNodeName )->ObjRef() ;
+  */
+  GraphEditor::InNode * anInNode = DataFlowEditor()->GetNode( aNodeName ) ;
+  if ( anInNode ) {
+    if ( CORBA::is_nil( anInNode->ObjRef() ) ) {
+      CNode_Impl * myNode = new CNode_Impl( _Orb , _Poa , _ContId ,
+                                            instanceName() , interfaceName() ,
+                                            DataFlowEditor() ,
+                                            DataFlowEditor()->GetNode( aNodeName ) ) ;
+      PortableServer::ObjectId * id = myNode->getId() ;
+      CORBA::Object_var obj = _poa->id_to_reference(*id);
+      iobject = SUPERV::CNode::_narrow(obj) ;
+      myNode->SetObjRef( SUPERV::CNode::_duplicate( iobject ) ) ;
+    }
+    else {
+      iobject = DataFlowEditor()->GetNode( aNodeName )->ObjRef() ;
+    }
   }
 //  endService( "Graph_Impl::GetNode" );
   return SUPERV::CNode::_duplicate( iobject ) ;
@@ -499,7 +536,14 @@ SUPERV::Link_ptr Graph_Impl::Link( SUPERV::Port_ptr OutPort ,
 SUPERV::ListOfNodes_var  Graph_Impl::SetNode( SUPERV::ListOfNodes_var RetVal ,
                                               GraphBase::ComputingNode * aNode ) {
   int index = 0 ;
-  MESSAGE("Graph_Impl::SetNode " << aNode->Name() << " " << aNode->Kind() ) ;
+//   MESSAGE("Graph_Impl::SetNode " << aNode->Name() << " " << aNode->Kind() ) ;
+//  if ( _DataFlowExecutor ) {
+//    MESSAGE("Graph_Impl::SetNode " << aNode->Name() << " " << aNode->Kind() << " "
+//            << _DataFlowExecutor->StateName( _DataFlowExecutor->AutomatonState( aNode->Name() ) ) ) ;
+//  }
+//  else {
+//    MESSAGE("Graph_Impl::SetNode " << aNode->Name() << " " << aNode->Kind() ) ;
+//  }
   if ( aNode->IsComputingNode() ) {
     index = RetVal->CNodes.length() ;
     RetVal->CNodes.length( index+1 );
@@ -671,14 +715,22 @@ SUPERV::ListOfNodes * Graph_Impl::Nodes() {
     GraphBase::ComputingNode * aNode = DataFlowEditor()->GraphNodes( i ) ;
     RetVal = SetNode( RetVal , aNode ) ;
   }
-  MESSAGE("Graph_Impl::Nodes CNodes " << RetVal->CNodes.length()
-          << " FNodes " << RetVal->FNodes.length()
-          << " INodes " << RetVal->INodes.length()
-          << " GNodes " << RetVal->GNodes.length()
-          << " LNodes " << RetVal->LNodes.length()
-          << " ELNodes " << RetVal->ELNodes.length()
-          << " SNodes " << RetVal->SNodes.length()
-          << " ESNodes " << RetVal->ESNodes.length() ) ;
+  char * aStateG = "" ;
+  if ( _DataFlowExecutor ) {
+    aStateG = (char *) _DataFlowExecutor->StateName( _DataFlowExecutor->AutomatonState() ) ;
+  }
+//  MESSAGE("Graph_Impl::Nodes GraphState " << aStateG
+//          << " CNodes " << RetVal->CNodes.length()
+//          << " FNodes " << RetVal->FNodes.length()
+//          << " INodes " << RetVal->INodes.length()
+//          << " GNodes " << RetVal->GNodes.length()
+//          << " LNodes " << RetVal->LNodes.length()
+//          << " ELNodes " << RetVal->ELNodes.length()
+//          << " SNodes " << RetVal->SNodes.length()
+//          << " ESNodes " << RetVal->ESNodes.length() ) ;
+//  if ( _DataFlowExecutor ) {
+//    _DataFlowExecutor->EventList() ;
+//  }
   endService( "Graph_Impl::Nodes" );
   return ( RetVal._retn() ) ;
 }
@@ -933,6 +985,7 @@ bool Graph_Impl::Begin() {
       _DataFlowExecutor = NULL ;
       DataFlowEditor()->Executor( NULL ) ;
     }
+    DataFlowEditor()->EditedAfterExecution( false ) ;
     _ExecNumber += 1 ;
     char ExecNumber[30] ;
     sprintf( ExecNumber , "_%d" , _ExecNumber ) ;
@@ -958,14 +1011,14 @@ bool Graph_Impl::Run() {
   beginService( "Graph_Impl::Run" );
   bool RetVal = false ;
   if ( DataFlowEditor()->IsEditing() ) {
+    MESSAGE( "Graph_Impl::Run IsEditing" );
     RetVal = Begin() ;
+    MESSAGE( "Graph_Impl::(Re)Run " );
+    RetVal = CNode_Impl::Run() ;
   }
   else {
-    RetVal = true ;
-  }
-  if ( RetVal ) {
     MESSAGE( "Graph_Impl::(Re)Run " );
-    RetVal = ReRun() ;
+    RetVal = CNode_Impl::ReRun() ;
   }
   endService( "Graph_Impl::Run" );
   return RetVal ;
@@ -974,6 +1027,7 @@ bool Graph_Impl::Start() {
   beginService( "Graph_Impl::Start" );
   bool RetVal = false ;
   if ( DataFlowEditor()->IsEditing() ) {
+    MESSAGE( "Graph_Impl::Start IsEditing" );
     RetVal = Begin() ;
   }
   else {
@@ -1006,7 +1060,7 @@ bool Graph_Impl::EventNoW( SUPERV::CNode_out aNode ,
       }
     }
     else {
-      aNode = SUPERV::Graph::_duplicate( NULL ) ;
+      aNode = SUPERV::Graph::_duplicate( SUPERV::Graph::_nil() ) ;
     }
   }
   anEvent = theEvent ;
index 54e06b8243fa7029ac5191f99bbb4f98f2b9e8c4..090df65c38c557717c72bd8efab3309c841ece0b 100644 (file)
@@ -1,11 +1,30 @@
-//=============================================================================
-// File      : Graph_Impl.hxx
-// Created   : Nov 2001
-// Author    : Jean Rahuel
-// Project   : SALOME
-// Copyright : CEA 2001
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  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   : Graph_Impl.hxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
 #ifndef _GRAPH_IMPL_HXX_
 #define _GRAPH_IMPL_HXX_
index 6c10a6372841dc5a0a7a595c54788818ef291868..29689d1c44e26cb469efc23dc6b91617fc4466d0 100644 (file)
@@ -1,13 +1,15 @@
-using namespace std;
-//=============================================================================
-// File      : INode_Impl.cxx
-// Created   : 2003
-// Author    : Jean Rahuel
-// Project   : SALOME
-// Copyright : CEA
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : INode_Impl.cxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
+using namespace std;
 #include <stdio.h>
 #include <fstream>
 #include <strstream>
index 3fdfa10c7024d64786b9837b8284e67002b18e8e..4a1fc23835cbaba63bd738d81846fb8595ad21f6 100644 (file)
@@ -1,11 +1,13 @@
-//=============================================================================
-// File      : INode_Impl.hxx
-// Created   : 2003
-// Author    : Jean Rahuel
-// Project   : SALOME
-// Copyright : CEA
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : INode_Impl.hxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
 #ifndef _INODE_IMPL_HXX_
 #define _INODE_IMPL_HXX_
index 6f06bf3e1b09eb14c70e82f0d5cc5ab88d2d5ec6..9389664737983c9e4c49f676dae3f7a46567693f 100644 (file)
@@ -1,12 +1,15 @@
-using namespace std;
-//=============================================================================
-// File      : LNode_Impl.cxx
-// Created   : Nov 2001
-// Author    : Jean Rahuel
-// Project   : SALOME
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : LNode_Impl.cxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
+using namespace std;
 #include <stdio.h>
 #include <fstream>
 #include <strstream>
index efe7a5fe8a6c043027699155c3a5608f85931e01..fca090617f22f9aef4095628d9cb0381acc95252 100644 (file)
@@ -1,11 +1,13 @@
-//=============================================================================
-// File      : LNode_Impl.hxx
-// Created   : 2003
-// Author    : Jean Rahuel
-// Project   : SALOME
-// Copyright : CEA
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : LNode_Impl.hxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
 #ifndef _LNODE_IMPL_HXX_
 #define _LNODE_IMPL_HXX_
index f93996cf4b8329a29530f2cbcad1f73c814bceaa..fe2d3443258726b72f1a07bcb386fda42a8dac59 100644 (file)
@@ -1,12 +1,32 @@
-using namespace std;
-//=============================================================================
-// File      : Link_Impl.cxx
-// Created   : Nov 2001
-// Author    : Jean Rahuel
-// Project   : SALOME
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  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   : Link_Impl.cxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
+using namespace std;
 #include <stdio.h>
 #include <fstream>
 #include <strstream>
index 8cbd9e5d947f4c4b043e53c5090c1ba041e10c8a..9413b10aabe7de7c03ae46767ea5dd4dfdaf6b8e 100644 (file)
@@ -1,11 +1,30 @@
-//=============================================================================
-// File      : Link_Impl.hxx
-// Created   : Nov 2001
-// Author    : Jean Rahuel
-// Project   : SALOME
-// Copyright : CEA 2001
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  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   : Link_Impl.hxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
 #ifndef _LINK_IMPL_HXX_
 #define _LINK_IMPL_HXX_
index 0d249bb335d9123b82b0b07d3ea322194dd215dd..39a1c4c11e2c0b8e114d65720d33f7a14aff3911 100755 (executable)
@@ -1,13 +1,31 @@
-#==============================================================================
-#  File      : Makefile.in
-#  Created   : aug 21 2001
-#  Author    : , CEA
-#  Project   : SALOME
-#  Copyright : CEA 2001
+#  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+#
+#  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   : Makefile.in
+#  Author : , CEA
+#  Module : SUPERV
 #  $Header: 
-#==============================================================================
 
-# source path
 top_srcdir=@top_srcdir@
 top_builddir=../..
 srcdir=@srcdir@
index cd6b4dc84a838dfb72f08f4cc37dadeab61f1329..96d13d68bace5abd31cd8c64d0e192c74c48bc9a 100644 (file)
@@ -1,12 +1,32 @@
-using namespace std;
-//=============================================================================
-// File      : Port_Impl.cxx
-// Created   : Nov 2001
-// Author    : Jean Rahuel
-// Project   : SALOME
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  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   : Port_Impl.cxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
+using namespace std;
 #include <stdio.h>
 #include <fstream>
 #include <strstream>
index 8814a77d369e019505026e7f89bb1ac53985a07d..1177c14f07cacce38e9236ca438d19c60c8b3562 100644 (file)
@@ -1,11 +1,30 @@
-//=============================================================================
-// File      : Port_Impl.hxx
-// Created   : Nov 2001
-// Author    : Jean Rahuel
-// Project   : SALOME
-// Copyright : CEA 2001
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  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   : Port_Impl.hxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
 #ifndef _PORT_IMPL_HXX_
 #define _PORT_IMPL_HXX_
index 6b9718c084fef5280efbeb0c1b3b96c64888224a..b6d2dcd557212d5fc8dc0c820ba0a6f033299327 100644 (file)
@@ -1,12 +1,15 @@
-using namespace std;
-//=============================================================================
-// File      : SNode_Impl.cxx
-// Created   : 2003
-// Author    : Jean Rahuel
-// Project   : SALOME
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SNode_Impl.cxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
+using namespace std;
 #include <stdio.h>
 #include <fstream>
 #include <strstream>
index 1017995224fa917c815b1c18840e822c888ff7ad..00d59d2752a94cff1d596dbdcb245012399bc913 100644 (file)
@@ -1,11 +1,13 @@
-//=============================================================================
-// File      : SNode_Impl.hxx
-// Created   : 2003
-// Author    : Jean Rahuel
-// Project   : SALOME
-// Copyright : CEA 2003
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SNode_Impl.hxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
 #ifndef _SNODE_IMPL_HXX_
 #define _SNODE_IMPL_HXX_
index a1028ee8d8a982397f2b765463c304efefefacc3..7efe680c6836d9c11776007d662f9fed2b9c8a88 100644 (file)
@@ -1,17 +1,27 @@
 #! /usr/bin/env python
+#
+#  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+#
+#  Copyright (C) 2003  CEA/DEN, EDF R&D
+#
+#
+#
+#  File   : SuperV.py
+#  Module : SUPERV
 
 try :
     from salome import orb
     from salome import lcc
     from salome import naming_service
     from salome import CORBA
-    from salome import sg
+    import SALOME_ModuleCatalog
 except :
     import curses
     from LifeCycleCORBA import *
     from SALOME_NamingServicePy import *
     import SUPERV
     import SUPERV_idl
+    import SALOME_ModuleCatalog
 #    try :
 #        from libSuperVision_Swig import SuperV_Swig
 #        print 'SuperV_Swig imported'
@@ -30,11 +40,11 @@ from types import *
 #    SuperVision.Swig = 1
 #    print 'SuperV_Swig created'
 #except :
-#    SuperVision = lcc.FindOrLoadComponent("SuperVisionContainer","SUPERV")
+#    SuperVision = lcc.FindOrLoadComponent("SuperVisionContainer","Supervision")
 #    SuperVision.Swig = 0
 #    print 'Supervision Component loaded'
                     
-SuperVision = lcc.FindOrLoadComponent("SuperVisionContainer","SUPERV")
+SuperVision = lcc.FindOrLoadComponent("SuperVisionContainer","Supervision")
 SuperVision.Swig = 0
 
 modulecatalog = naming_service.Resolve("/Kernel/ModulCatalog")
@@ -396,6 +406,8 @@ class CNode:
         return self.N.Y()
     def destroy( self ):
         self.N.destroy()
+    def CpuUsed( self ):
+        return self.N.CpuUsed()
 
 ##########################################################
 class FNode(CNode):
index cb4a489e0d969620afea87cc15e324700a5197dc..c9dc910c78973cb87ba6d0d04086d9cae560658d 100755 (executable)
@@ -1,3 +1,29 @@
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  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   : SuperV_CheckOfUndefined.cxx
+//  Module : SUPERV
+
 using namespace std;
 #include <iostream>
 #include <fstream>
@@ -16,6 +42,9 @@ using namespace std;
 #include "DataFlowEditor_DataFlow.hxx"
 #include "DataFlowEditor_DataFlow.lxx"
 
+int _ArgC ;
+char ** _ArgV ;
+
 static PyMethodDef MethodPyVoidMethod[] = {
   { NULL,        NULL }
 };
index 92cd32578185505c55ff5c6031c1967c224f5b72..2c13d2eec453261ca7214e869a3c75cbb0f5a430 100644 (file)
@@ -1,12 +1,32 @@
-using namespace std;
-//=============================================================================
-// File      : SuperV_Impl.cxx
-// Created   : Nov 2001
-// Author    : Jean Rahuel
-// Project   : SALOME
-// $Header$
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  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   : SuperV_Impl.cxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header$
 
+using namespace std;
 #include <stdio.h>
 #include <fcntl.h>
 #include <sys/stat.h>
@@ -131,6 +151,13 @@ SALOMEDS::TMPFile* SuperV_Impl::Save(SALOMEDS::SComponent_ptr theComponent,
   return aStreamFile._retn();
 }
 
+SALOMEDS::TMPFile* SuperV_Impl::SaveASCII(SALOMEDS::SComponent_ptr theComponent,
+                                         const char* theURL,
+                                         bool isMultiFile) {
+  SALOMEDS::TMPFile_var aStreamFile = Save(theComponent, theURL, isMultiFile);
+  return aStreamFile._retn();
+}
+
 //  void SuperV_Impl::Load(const char* IORSComponent, const char* aUrlOfFile) {
 CORBA::Boolean SuperV_Impl::Load(SALOMEDS::SComponent_ptr theComponent,
                                 const SALOMEDS::TMPFile& theStream,
@@ -146,6 +173,13 @@ CORBA::Boolean SuperV_Impl::Load(SALOMEDS::SComponent_ptr theComponent,
   return true;
 }
 
+CORBA::Boolean SuperV_Impl::LoadASCII(SALOMEDS::SComponent_ptr theComponent,
+                                     const SALOMEDS::TMPFile& theStream,
+                                     const char* theURL,
+                                     bool isMultiFile) {
+  return Load(theComponent, theStream, theURL, isMultiFile);
+}
+
 void SuperV_Impl::Close(SALOMEDS::SComponent_ptr theComponent) {
 // mpv 06.03.2003: bug SAL1508 - graphs will be destructed at the GUI-level at the supervision frame closing
 
@@ -167,7 +201,8 @@ char* SuperV_Impl::ComponentDataType() {
 
 char* SuperV_Impl::IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
                                          const char* IORString,
-                                         CORBA::Boolean isMultiFile) {
+                                         CORBA::Boolean isMultiFile,
+                                         CORBA::Boolean isASCII) {
   MESSAGE("SuperV_Impl::IORToLocalPersistentID: IOR:"<<IORString);
 
   try {
@@ -190,7 +225,8 @@ char* SuperV_Impl::IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
 
 char* SuperV_Impl::LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
                                          const char* aLocalPersistentID,
-                                         CORBA::Boolean isMultiFile)
+                                         CORBA::Boolean isMultiFile,
+                                         CORBA::Boolean isASCII)
      throw(SALOME::SALOME_Exception)
 {
   MESSAGE("SuperV_Impl::LocalPersistentIDToIOR : IOR = " << aLocalPersistentID);
@@ -368,38 +404,40 @@ SALOMEDS::SObject_ptr SuperV_Impl::PasteInto(const SALOMEDS::TMPFile& theStream,
                                             CORBA::Long theObjectID,
                                             SALOMEDS::SObject_ptr theObject) {
   SALOMEDS::SObject_var aResultSO;
-
+  if(CORBA::is_nil(theObject)) return aResultSO._retn();
   SALOMEDS::StudyBuilder_var aBuilder = theObject->GetStudy()->NewBuilder();
+  aResultSO = SALOMEDS::SObject::_narrow(CORBA::Object::_duplicate(theObject));
 
   bool isGraph = (strcmp(theObject->GetFatherComponent()->GetID(),theObject->GetID()) == 0);
 
+
   if (!isGraph) {
     SALOMEDS::AttributeIOR_var anIOR =
       SALOMEDS::AttributeIOR::_narrow(aBuilder->FindOrCreateAttribute(theObject, "AttributeIOR"));
-    anIOR->SetValue((char*)theStream.NP_data());
-    return SALOMEDS::SObject_var(theObject)._retn();
+    int aLen = theStream.length();
+    char* aVal = new char[aLen+1];
+    aVal[aLen] = (char)0;
+    memcpy((void*)aVal, (void*)theStream.NP_data(), aLen);
+    anIOR->SetValue(aVal);
+    return aResultSO._retn();
   }
-  if(CORBA::is_nil(theObject)) return aResultSO._retn();
 
-  CORBA::String_var aTmpDir = strdup(SALOMEDS_Tool::GetTmpDir());
-  SALOMEDS::ListOfFileNames_var aSeq = SALOMEDS_Tool::PutStreamToFiles(theStream, aTmpDir, false);
-  char* aFullName = new char[strlen(aTmpDir)+strlen(aSeq[0])+1];
-  strcpy(aFullName, aTmpDir);
-  strcpy(aFullName+strlen(aTmpDir), aSeq[0]);
-  SUPERV::Graph_ptr aGraph = Graph(strdup(aFullName));
-  delete(aFullName);
-
-  SALOMEDS_Tool::RemoveTemporaryFiles(aTmpDir, aSeq.in(), true);
+  TCollection_AsciiString aTmpDir = SALOMEDS_Tool::GetTmpDir();
+  SALOMEDS::ListOfFileNames_var aSeq = SALOMEDS_Tool::PutStreamToFiles(theStream, aTmpDir.ToCString(), false);
+  TCollection_AsciiString aFullName;
+  aFullName = aTmpDir+aSeq[0];
+  SUPERV::Graph_var aGraph = Graph(aFullName.ToCString());
 
-  if (isGraph) {
-    aResultSO = aBuilder->NewObject(theObject);
-  } else {
-    aResultSO = theObject;
-  }
-
-  SALOMEDS::AttributeIOR_var anIOR =
-    SALOMEDS::AttributeIOR::_narrow(aBuilder->FindOrCreateAttribute(aResultSO, "AttributeIOR"));
-  anIOR->SetValue(aGraph->getIOR());
+   SALOMEDS_Tool::RemoveTemporaryFiles(aTmpDir.ToCString(), aSeq.in(), true);
+  
+   if (isGraph) {
+     aResultSO = aBuilder->NewObject(theObject);
+   }
+  
+   SALOMEDS::AttributeIOR_var anIOR =
+     SALOMEDS::AttributeIOR::_narrow(aBuilder->FindOrCreateAttribute(aResultSO, "AttributeIOR"));
+   anIOR->SetValue(CORBA::string_dup(aGraph->getIOR()));
 
   return aResultSO._retn();
 }
@@ -510,12 +548,13 @@ SUPERV::Graph_ptr SuperV_Impl::GraphE(const char * aGraphName ) {
 }
 
 SUPERV::Graph_ptr SuperV_Impl::getGraph(const char* ior) {
-    SUPERV::Graph_var iobject = (SUPERV::Graph_var)NULL;
+    SUPERV::Graph_var iobject = SUPERV::Graph::_nil();
     try {
         CORBA::Object_ptr obj = _Orb->string_to_object(ior);
         iobject = SUPERV::Graph::_narrow(obj);
     } catch ( ... ) {
-        SUPERV::Graph_var iobject = (SUPERV::Graph_var)NULL;
+      return SUPERV::Graph::_nil();
+      //         SUPERV::Graph_var iobject = (SUPERV::Graph_var)NULL;
     };
     return(SUPERV::Graph::_duplicate(iobject));
 }
index 00b6f6bc39f44157dbb5713dd3f64b55ef95dd26..e67a30d81742eb8dfddb4c57035673df1191ac8e 100644 (file)
@@ -1,11 +1,30 @@
-//=============================================================================
-// File      : SuperV_Impl.hxx
-// Created   : jeu jui 30 12:28:30 CEST 2001
-// Author    : Jean Rahuel
-// Project   : SALOME
-// Copyright : CEA 2001
-// $Header$
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  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   : SuperV_Impl.hxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header$
 
 #ifndef _SUPERV_IMPL_HXX_
 #define _SUPERV_IMPL_HXX_
@@ -51,20 +70,29 @@ class SuperV_Impl : public POA_SUPERV::SuperG ,
     SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent,
                            const char* theURL,
                            bool isMultiFile);
+    SALOMEDS::TMPFile* SaveASCII(SALOMEDS::SComponent_ptr theComponent,
+                                const char* theURL,
+                                bool isMultiFile);
     CORBA::Boolean Load(SALOMEDS::SComponent_ptr theComponent,
                        const SALOMEDS::TMPFile& theStream,
                        const char* theURL,
                        bool isMultiFile);
+    CORBA::Boolean LoadASCII(SALOMEDS::SComponent_ptr theComponent,
+                            const SALOMEDS::TMPFile& theStream,
+                            const char* theURL,
+                            bool isMultiFile);
 
     void Close(SALOMEDS::SComponent_ptr theComponent);
     char* ComponentDataType();
 
     char* IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
                                 const char* IORString,
-                              CORBA::Boolean isMultiFile);
+                                CORBA::Boolean isMultiFile,
+                                CORBA::Boolean isASCII);
     char* LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
                                 const char* aLocalPersistentID,
-                                CORBA::Boolean isMultiFile)
+                                CORBA::Boolean isMultiFile,
+                                CORBA::Boolean isASCII)
       throw(SALOME::SALOME_Exception);
 
     char* IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject, CORBA::Boolean isMultiFile);
index 69b52159bc9e306c95d7b357c7c9225e23a98951..bd87bcb3841c99a988aff340868661aa155c4de4 100644 (file)
@@ -1,12 +1,32 @@
-using namespace std;
-//=============================================================================
-// File      : Value_Impl.cxx
-// Created   : Nov 2001
-// Author    : Jean Rahuel
-// Project   : SALOME
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  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   : Value_Impl.cxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
+using namespace std;
 #include <stdio.h>
 #include <fstream>
 #include <strstream>
index 8c2bb2936e29e74316118822fc70ee958314aac3..dbe0c65a1a4d2d4cfd17befb92b5a84d4c7d6071 100644 (file)
@@ -1,11 +1,30 @@
-//=============================================================================
-// File      : Value_Impl.hxx
-// Created   : Nov 2001
-// Author    : Jean Rahuel
-// Project   : SALOME
-// Copyright : CEA 2001
-// $Header: 
-//=============================================================================
+//  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+//
+//  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   : Value_Impl.hxx
+//  Author : Jean Rahuel
+//  Module : SUPERV
+//  $Header: 
 
 #ifndef _VALUE_IMPL_HXX_
 #define _VALUE_IMPL_HXX_
index a0100fc4e7d1a3ea951a5a21bcc7cd21033e2aac..397c9c3bc235f6e3654a6186363819ad4962c2bf 100644 (file)
@@ -1,4 +1,13 @@
 #! /usr/bin/env python
+#
+#  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+#
+#  Copyright (C) 2003  CEA/DEN, EDF R&D
+#
+#
+#
+#  File   : batchmode_SuperV.py
+#  Module : SUPERV
 
 try :
     from batchmode_salome import orb
@@ -25,17 +34,16 @@ except :
 import re
 from types import *
 import SALOMEDS
-
 #try :
 #    SuperVision = SuperV_Swig( len(sys.argv) , sys.argv )
 #    SuperVision.Swig = 1
 #    print 'SuperV_Swig created'
 #except :
-#    SuperVision = lcc.FindOrLoadComponent("SuperVisionContainer","SUPERV")
+#    SuperVision = lcc.FindOrLoadComponent("SuperVisionContainer","Supervision")
 #    SuperVision.Swig = 0
 #    print 'Supervision Component loaded'
                     
-SuperVision = lcc.FindOrLoadComponent("SuperVisionContainer","SUPERV")
+SuperVision = lcc.FindOrLoadComponent("SuperVisionContainer","Supervision")
 SuperVision.Swig = 0
 
 modulecatalog = naming_service.Resolve("/Kernel/ModulCatalog")