X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSUPERVGUI%2FSUPERVGUI_Clipboard.cxx;h=a26faf868e0c3e9e7acf92105a6db6442fa80ad4;hb=ea7f29f75031ca13b9454f5e9ac73730f1f584eb;hp=4f20f9fab121634598a34860ddb48da8a0a41822;hpb=ba259e92d52389c6acdca997e379785a15551ee0;p=modules%2Fsuperv.git diff --git a/src/SUPERVGUI/SUPERVGUI_Clipboard.cxx b/src/SUPERVGUI/SUPERVGUI_Clipboard.cxx index 4f20f9f..a26faf8 100644 --- a/src/SUPERVGUI/SUPERVGUI_Clipboard.cxx +++ b/src/SUPERVGUI/SUPERVGUI_Clipboard.cxx @@ -139,6 +139,9 @@ void SUPERVGUI_Clipboard::pasteNode() { SUPERVGUI_Main* aMain = Supervision.getMain(); if ( !CORBA::is_nil( aNode ) && aMain ) { + if ( !aMain->ReadyToModify() ) // null dataflow or executing, .. + return; + aMain->Editing(); // PAL6170: GUI->Engine: setting "Editing" flag, why here? -> PAL7960 SUPERV::Graph_var dataflow = aMain->getDataflow(); @@ -367,8 +370,6 @@ void SUPERVGUI_Clipboard::pastePort( SUPERVGUI_CanvasNode* node ) SUPERVGUI_Main* aMain = Supervision.getMain(); if ( !CORBA::is_nil(aPort) && aMain ) { - aMain->Editing(); // PAL6170: GUI->Engine: setting "Editing" flag, why here? -> PAL7960 - SUPERV::INode_var aNode = node->getInlineNode(); if (!CORBA::is_nil(aNode)) { QString aName = aPort->Name(); @@ -379,16 +380,20 @@ void SUPERVGUI_Clipboard::pastePort( SUPERVGUI_CanvasNode* node ) QStringList aNames = node->getPortsNamesIN(aNode, true); if (aNames.contains(aName)) QMessageBox::warning( QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_PORT_EXIST") ); - else + else { + aMain->Editing(); // PAL6170: GUI->Engine: setting "Editing" flag, why here? -> PAL7960 aPastePort = aNode->InPort(aName.latin1(), aType.latin1()); + } } else { //check if port with such name is already exists QStringList aNames = node->getPortsNamesIN(aNode, false); if (aNames.contains(aName)) QMessageBox::warning( QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_PORT_EXIST") ); - else + else { + aMain->Editing(); // PAL6170: GUI->Engine: setting "Editing" flag, why here? -> PAL7960 aPastePort = aNode->OutPort(aName.latin1(), aType.latin1()); + } } if ( !CORBA::is_nil(aPastePort) ) node->createPort( aPastePort.in() );