admin [Fri, 28 Jan 2005 12:14:59 +0000 (12:14 +0000)]
This commit was generated by cvs2git to create branch
'JR_ASV_2_1_0_deb_with_KERNEL_Head'.
Cherrypick from master 2005-01-28 12:14:58 UTC asv <asv@opencascade.com> 'New example graphs from Jean Rahuel. Most of them test correct exectution of Switch nodes.':
examples/GraphGOTO1.py
examples/GraphGOTO1.xml
examples/GraphGOTOAborted.py
examples/GraphGOTOAborted.xml
examples/GraphLoopSwitchOfSwitch.py
examples/GraphLoopSwitchOfSwitch.xml
examples/GraphLoopSwitchOfSwitchNOTValid.py
examples/GraphLoopSwitchOfSwitchNOTValid.xml
examples/GraphLoopSwitchs.py
examples/GraphLoopSwitchs.xml
examples/GraphSwitchCheckBranch.py
examples/GraphSwitchCheckBranch.xml
examples/GraphSwitchCheckBranch1.py
examples/GraphSwitchCheckBranch1.xml
examples/GraphSwitchCheckDefault1NOTValid.py
examples/GraphSwitchCheckDefault1NOTValid.xml
examples/GraphSwitchCheckDefault2NOTValid.py
examples/GraphSwitchCheckDefault2NOTValid.xml
examples/GraphSwitchCheckDefault2NOTValid1.py
examples/GraphSwitchCheckDefault2NOTValid1.xml
examples/GraphSwitchCheckDefault2NOTValid2.py
examples/GraphSwitchCheckDefault2NOTValid2.xml
examples/GraphSwitchOutputNOTValid.py
examples/GraphSwitchOutputNOTValid.xml
asv [Thu, 20 Jan 2005 15:35:13 +0000 (15:35 +0000)]
Modifications from last integration into PAL CVS were taken from there and merged into this version. It was a bug with incorrect order of libraries. Please, see comment to PAL7687 for details.
asv [Thu, 20 Jan 2005 12:51:48 +0000 (12:51 +0000)]
Changes were made to make the code compilable with head version of KERNEL. It is compilable and working: execution of InLine nodes works.
Control of execution of Inline nodes - does not work (Kill, Suspend, Resume), because it was implemented using signals, that were caught and handled in Container.
mkr [Wed, 19 Jan 2005 13:59:36 +0000 (13:59 +0000)]
Fix the following cases:
1) closing dataflow window in Table view leads to exception,
2) node's deletion in Full view and then switching to Table
view leads to exception,
3) remove unnecessary COUTs and MESSAGEs.
rahuel [Mon, 17 Jan 2005 13:10:47 +0000 (13:10 +0000)]
That graph was wrong : 2 branches of the SwitchNode were executed at the same time ; that is not allowed. It is now corrected : there is only 2 brnaches now.
rahuel [Thu, 13 Jan 2005 15:23:17 +0000 (15:23 +0000)]
Debug : an OutPort connected to a Gate may only be connected again to a Gate of an other node
Debug : RemoveLink of a link to an EndSwitchNode was wrong
asv [Wed, 12 Jan 2005 11:37:53 +0000 (11:37 +0000)]
A small bug was fixed: when library is not accessible (library file not found, etc.), the Library dialog with empty list of library nodes was still shown. Now a new method Library::CanImport() is introduced. It is called BEFORE showing the dialog, if it returns false - dialog is not shown.
asv [Tue, 11 Jan 2005 13:38:09 +0000 (13:38 +0000)]
"InitLoop" port name changed to "DoLoop". This change was implemented in the Engine's code as well. "DoLoop" is the correct name of "hidden" port of Loops.
asv [Tue, 11 Jan 2005 10:53:17 +0000 (10:53 +0000)]
The following bug was fixed:
for Loop node, removal of an Input Port automatically removes the corresponding Output Port. So for Loops the oldPorts list (removed before creation of new ports) should be filtered to include only Input Ports.
asv [Mon, 10 Jan 2005 10:43:27 +0000 (10:43 +0000)]
A constructor and destructor added.
A bug was fixed: replacement of ALL occurances of function name in the node's code, NOT only in "def Func_Name():" line.
asv [Mon, 10 Jan 2005 06:17:28 +0000 (06:17 +0000)]
replacement "on the fly" (during the call) of "InitLoop" port by "DoLoop" port is commented out. Please, see the comment in the code (use diff with previous version).
asv [Mon, 10 Jan 2005 06:13:52 +0000 (06:13 +0000)]
Copy/Paste ports and nodes functionality was transfered to SUPERVGUI_Clipboard class. All references to the functions in various classes were modified to reflect this change.
rahuel [Fri, 7 Jan 2005 15:15:05 +0000 (15:15 +0000)]
Gates were not properly handled in Loops ; now they are
Input Values of ports were allowd but were not properly handled : now they are
See GraphInputLoop in examples
See GraphLoopGates and GraphLoopsGates in example
mkr [Wed, 29 Dec 2004 13:35:39 +0000 (13:35 +0000)]
Point 2.3 of "SUPERVISOR: Current state - bugs/improvements":
disable popup menu items "Copy Node" and "Paste Port"
if Loop or Switch node has been copied and then delete
before paste operation.
mkr [Wed, 29 Dec 2004 11:36:50 +0000 (11:36 +0000)]
Point 2.3 of "SUPERVISOR: Current state - bugs/improvements" :
enable popup menu item "Copy Node" on EndLoop and EndSwitch nodes,
disable popup menu items "Paste Port" and "Paste Node" if port and node,
which has been copied, were deleted respectively.
asv [Wed, 29 Dec 2004 11:23:24 +0000 (11:23 +0000)]
The internal predefined port of a LOOP node was renamed from "InitLoop" to "DoLoop" in the Supervisor Engine. This change influenced all graphs that contain Loops - they must be changed, all references to "InitLoop" port must be replaced with "DoLoop" port in PY and XML files.
asv [Wed, 29 Dec 2004 11:20:41 +0000 (11:20 +0000)]
Methods ReRun(), ReRunAt(), ReStart(), ReStartAt() were removed from CNode's interface. These methods are called in GraphSyracuse* python scripts - decided to remove them with the corresponding XML graphs.
asv [Fri, 24 Dec 2004 13:26:26 +0000 (13:26 +0000)]
An improvement for adding a library node: it will use addNode() function, so creation of a PythonEditPane and LibDlg must take Service::myX, myY as arguments for future modification (on Add node command).
asv [Fri, 24 Dec 2004 13:24:51 +0000 (13:24 +0000)]
A new functionality: Import/Export Inline nodes to Library is implemented. CanvasNode modification: add a popup command to call "Export to Library" on an InLine node.
asv [Fri, 24 Dec 2004 12:55:06 +0000 (12:55 +0000)]
Adding a Node to viewport is unified: one common method addNode() is created in Service to be called form all places where Engine's nodes are created (Paste, Library, etc.)
Messages are modified as usual: new messages were added.
asv [Thu, 23 Dec 2004 13:47:40 +0000 (13:47 +0000)]
An improvement on link creation: if a link already exists between the ports, then on new link creation it is removed, and new link is created. If link already exists - is important check for Input Gate ports, which can accept many incoming links.
asv [Wed, 22 Dec 2004 11:20:26 +0000 (11:20 +0000)]
An improvement on link creation: if a link already exists between the ports, then on new link creation it is removed, and new link is created. If link already exists - is important check for Input Gate ports, which can accept many incoming links.
asv [Wed, 15 Dec 2004 11:24:19 +0000 (11:24 +0000)]
1. PAL6170, "Bugs and Improvements" p.2.21: calling of dataflow->Editing() added inside each of edition operations (see list of edition operations in comments of PAL6170). Also removed "Set Value" command from popup of CanvasPort in during execution (in Suspend).
2. removed ReRun(), ReStart() methods from Main as deprecated (p.1.20 of "Bugs and Improvements").
asv [Wed, 15 Dec 2004 11:20:32 +0000 (11:20 +0000)]
The following methods and constants were removed as never being used:
OutNode: Run(3 params), ReRun(), ReStart()
DataFlow: Run(3 params),
InNode: ReStart()
FiniteStateMachine: ReRunnedState.
Also removed use of deprecated constants from SUPERV namespace: ReRunEvent, ReStartEvent, ReRunState, ReStartState.
asv [Wed, 15 Dec 2004 11:16:38 +0000 (11:16 +0000)]
a new private method run() was introduced instead of using CNode_Impl::Run() which was removed. run() is now called from both Run() ("Execute graph") and Start() ("Execute graph step-by-step") to remove code dublication.
asv [Wed, 15 Dec 2004 11:14:49 +0000 (11:14 +0000)]
Run(), ReRun(), ReRunAt(), ReStart(), ReStartAt() methods were removed. ReXXX methods were removed from IDL as never being called. Run() methods was removed, its functionality (basic calling of Executor->Run() ) was moved to Graph_Impl with modification.
asv [Wed, 15 Dec 2004 11:12:40 +0000 (11:12 +0000)]
ReRun(), ReRunAt(), ReStart(), ReStartAt() methods of Graph interface were removed. Also corresponding constants ReRunEvent, ReStartEvent, ReRunState, ReStartState were removed from enumerations.
These methods and constants were not used and only complicated the code.
mkr [Tue, 14 Dec 2004 13:40:57 +0000 (13:40 +0000)]
Inconsistencies between GUI and TUI in SUPERVISOR:
1) add the possibility to create of an InLine node without a
Python function defined (empty, no code);
2) add the possibility to define Python functions in EndLoop and EndSwith
nodes and to create Loop and Switch nodes with empty functions;
3) add the possibilyty to define a function without a body - in this case,
if a function with the same name was already defined in another node,
it's code (body) will be used (executed).
asv [Mon, 13 Dec 2004 14:36:34 +0000 (14:36 +0000)]
A bug was fixed: _Loading field is set to "false" (as it normally should be except for explicid "loading" time) in 2 cases:
1) constructors of InNode (in InitInNode() )
2) before invocation of Python interpreteur during InLine nodes' excution.
asv [Mon, 13 Dec 2004 14:33:09 +0000 (14:33 +0000)]
Unfortunatelly, I have to write a common comment for check-in of many files in SUPERVGUI. Two main things were done during this edition:
1) improvements that were implemented in cvs-PAL were merged here. They mainly concerned Python editor improvements ("Load from file" works with Python functions with blank lines, etc.) and some minor (N4) bugs in SUPERVGUI fixed by SAK.
2) removal of all unused classes, so called non-canvas classes. Only Canvas-bases GUI entities (Node, Port, Link) are left in SUPERVGUI, and the other classes, used in SUPERVISOR previously, are permanentally removed. 2 view modes were removed from SUPERVGUI_Def.h: TABLE and GRAPH. CANVASTABLE, CANVAS, and CONTROLFLOW are now the only implemented modes of dataflow presentation.
rahuel [Fri, 10 Dec 2004 12:53:04 +0000 (12:53 +0000)]
Graphs for test of catch of SIGSEGV and SIGFPE in Containers and in Python InLineNodes. Graph for test of Undefined symbol : there is no way to know that there is that situation ...
asv [Fri, 10 Dec 2004 09:53:57 +0000 (09:53 +0000)]
A special "Loading" state was implemented. It is returned to GUI if the corresponding InNode returns IsLoading()==true.
So,
1) OutNode::State( char* aNodeName ) will return LoadingState in case InNode is Loading
2) InNode::IsLoading( bool b ) pushes to GUI "Executing" state if b == false -- loading is complete.
asv [Thu, 9 Dec 2004 07:41:23 +0000 (07:41 +0000)]
A new dialog class for edition of Ports of an InLine nodes is introduced. This functionality is described in details in "Bugs and improvements in SUPERVISOR" 2.1, and Bug PAL 7384.