]> SALOME platform Git repositories - modules/superv.git/commitdiff
Salome HOME
Fix for PAL8028: calling to Editors data model only after "OK" button was pressed...
authorasv <asv@opencascade.com>
Mon, 7 Feb 2005 14:30:36 +0000 (14:30 +0000)
committerasv <asv@opencascade.com>
Mon, 7 Feb 2005 14:30:36 +0000 (14:30 +0000)
src/SUPERVGUI/SUPERVGUI_CanvasNode.cxx
src/SUPERVGUI/SUPERVGUI_ManagePortsDlg.cxx

index a7469ff8a7bd4c14e49835a80e96abaa0e4446b0..0104b9e37695103e3debcca57890f041ed36edc8 100644 (file)
@@ -563,6 +563,7 @@ SUPERV_Port SUPERVGUI_CanvasNode::createInPort()
   }
   SUPERVGUI_PortParamsDlg* aDlg = new SUPERVGUI_PortParamsDlg(getPortsNamesIN(aNode,true));
   if (aDlg->exec()) {
+    myMain->Editing(); // PAL6170: GUI->Engine: setting "Editing" flag 
     SUPERV_Port aPort = aNode->InPort(aDlg->getName().latin1(),
                                      aDlg->getType().latin1());    
     delete aDlg;
@@ -582,6 +583,7 @@ SUPERV_Port SUPERVGUI_CanvasNode::createOutPort()
   
   SUPERVGUI_PortParamsDlg* aDlg = new SUPERVGUI_PortParamsDlg(getPortsNamesIN(aNode,false));
   if (aDlg->exec()) {
+    myMain->Editing(); // PAL6170: GUI->Engine: setting "Editing" flag 
     SUPERV_Port aPort = aNode->OutPort(aDlg->getName().latin1(),
                                       aDlg->getType().latin1());
     delete aDlg;
@@ -592,8 +594,6 @@ SUPERV_Port SUPERVGUI_CanvasNode::createOutPort()
 }
 
 void SUPERVGUI_CanvasNode::addInputPort() {
-  myMain->Editing(); // PAL6170: GUI->Engine: setting "Editing" flag 
-
   SUPERV_Port aPort = createInPort();
   if (aPort == NULL || CORBA::is_nil( aPort ) ) return;
 
@@ -602,8 +602,6 @@ void SUPERVGUI_CanvasNode::addInputPort() {
 
 
 void SUPERVGUI_CanvasNode::addOutputPort() {
-  myMain->Editing(); // PAL6170: GUI->Engine: setting "Editing" flag 
-
   SUPERV_Port aPort = createOutPort();
   if (aPort == NULL || CORBA::is_nil( aPort ) ) return;
 
@@ -612,8 +610,6 @@ void SUPERVGUI_CanvasNode::addOutputPort() {
 
 
 void SUPERVGUI_CanvasNode::editFunction()  {
-  myMain->Editing(); // PAL6170: GUI->Engine: setting "Editing" flag 
-
   if (getNodeType() == SUPERV::LoopNode) {
     SUPERVGUI_EditPythonDlg* aDlg = new SUPERVGUI_EditPythonDlg(true);
     SUPERV_LNode aLNode = getLoopNode();
@@ -621,6 +617,7 @@ void SUPERVGUI_CanvasNode::editFunction()  {
     aDlg->setMoreFunction(aLNode->PyMore());
     aDlg->setNextFunction(aLNode->PyNext());
     if (aDlg->exec()) {
+      myMain->Editing(); // PAL6170: GUI->Engine: setting "Editing" flag 
       aLNode->SetPyInit(aDlg->getInitFuncName().latin1(), (aDlg->getInitFunction()).in());
       aLNode->SetPyMore(aDlg->getMoreFuncName().latin1(), (aDlg->getMoreFunction()).in());
       aLNode->SetPyNext(aDlg->getNextFuncName().latin1(), (aDlg->getNextFunction()).in());
@@ -632,6 +629,7 @@ void SUPERVGUI_CanvasNode::editFunction()  {
     SUPERV_INode aINode = getInlineNode();
     aDlg->setFunction(aINode->PyFunction());
     if (aDlg->exec()) {
+      myMain->Editing(); // PAL6170: GUI->Engine: setting "Editing" flag 
       aINode->SetPyFunction(aDlg->getFuncName().latin1(), (aDlg->getFunction()).in());
     }
     delete aDlg;
@@ -650,8 +648,6 @@ void SUPERVGUI_CanvasNode::pastePort() {
  * for detailed description of the functionality
  */
 void SUPERVGUI_CanvasNode::managePorts() {
-  myMain->Editing(); // PAL6170: GUI->Engine: setting "Editing" flag 
-
   SUPERVGUI_ManagePortsDlg* aDlg = new SUPERVGUI_ManagePortsDlg( this );
   aDlg->exec();
   delete aDlg;
index eb8d83cb92dc6097ec88479cfdf19656833ee0ae..956133da7a0c3ed9ac7cfcc3c46b849a067fd993 100644 (file)
@@ -295,6 +295,7 @@ SUPERVGUI_ManagePortsDlg::~SUPERVGUI_ManagePortsDlg() {
  * Set the ports as entered by user (order, name/type, etc.) and close the dialog
  */
 void SUPERVGUI_ManagePortsDlg::accept() {
+  myNode->getMain()->Editing(); // PAL6170: GUI->Engine: setting "Editing" flag 
   // 1. set the ports to Engine's CNode
   SUPERV_INode aINode = myNode->getInlineNode();
   if ( !SUPERV_isNull( aINode ) ) {