From 24be82a046370f6da8b3e69fb3f85ae8100573b6 Mon Sep 17 00:00:00 2001 From: mkr Date: Thu, 26 Jan 2006 07:32:53 +0000 Subject: [PATCH] Fix for bug IPAL11362 : "Gate" ports disappear after redisplaying node with started execution process. --- src/SUPERVGUI/SUPERVGUI_Main.cxx | 9 +++++++++ src/SUPERVGUI/SUPERVGUI_Main.h | 3 +++ src/Supervision/CNode_Impl.cxx | 4 ++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/SUPERVGUI/SUPERVGUI_Main.cxx b/src/SUPERVGUI/SUPERVGUI_Main.cxx index b48d726..db4c6a2 100644 --- a/src/SUPERVGUI/SUPERVGUI_Main.cxx +++ b/src/SUPERVGUI/SUPERVGUI_Main.cxx @@ -1291,6 +1291,15 @@ void SUPERVGUI_Main::checkExecution() { } } +// mkr : IPAL11362 +/** + * Update current values on show event + */ +void SUPERVGUI_Main::showEvent( QShowEvent* theEvent ) { + sync(); + QWidget::showEvent( theEvent ); +} + /** * Editing() is to be called by any operation in GUI before modification of a datamodel * (add/remove ports or nodes, etc.). It is used to resolve inconsistancies between 2 data models diff --git a/src/SUPERVGUI/SUPERVGUI_Main.h b/src/SUPERVGUI/SUPERVGUI_Main.h index bb06476..0a4a4a6 100644 --- a/src/SUPERVGUI/SUPERVGUI_Main.h +++ b/src/SUPERVGUI/SUPERVGUI_Main.h @@ -165,6 +165,9 @@ class SUPERVGUI_Main: public SUPERVGraph_View { void chooseData(QListViewItem* item); void checkExecution(); + protected: + virtual void showEvent( QShowEvent* theEvent ); // mkr : IPAL11362 + private: void init(SUIT_Desktop* parent); void syncNotification(); diff --git a/src/Supervision/CNode_Impl.cxx b/src/Supervision/CNode_Impl.cxx index 7f3cf4c..31a2dbe 100644 --- a/src/Supervision/CNode_Impl.cxx +++ b/src/Supervision/CNode_Impl.cxx @@ -1035,7 +1035,7 @@ SUPERV::ListOfPorts * CNode_Impl::Ports() { begin = false ; } if ( anInPort->IsLoop() || ( anInPort->IsGate() && anInPort->IsNotConnected() && - ( IsExecuting() || DataFlowEditor()->IsReadOnly() ) ) ) { + ( /*IsExecuting() || */DataFlowEditor()->IsReadOnly() ) ) ) { // mkr : IPAL11362 // MESSAGE( "InPort " << i << " " << anInPort->PortName() << " of Node " << Name() << " ignored" ) ; } else if ( CORBA::is_nil( anInPort->ObjRef() ) ) { @@ -1090,7 +1090,7 @@ SUPERV::ListOfPorts * CNode_Impl::Ports() { begin = false ; } if ( anOutPort->IsLoop() || ( anOutPort->IsGate() && anOutPort->IsNotConnected() && - ( IsExecuting() || DataFlowEditor()->IsReadOnly() ) ) ) { + ( /*IsExecuting() || */DataFlowEditor()->IsReadOnly() ) ) ) { // mkr : IPAL11362 // MESSAGE( "OutPort " << i << " " << anOutPort->PortName() << " of Node " << Name() << " ignored" ) ; } else if ( CORBA::is_nil( anOutPort->ObjRef() ) ) { -- 2.39.2