void SUPERVGUI_Clipboard::pasteNode() {
Trace("SUPERVGUI_Main::pasteNode");
SUPERV::CNode_var aNode = getCopyNode();
- if ( !CORBA::is_nil( aNode ) ) {
+ SUPERVGUI_Main* aMain = Supervision.getMain();
+ if ( !CORBA::is_nil( aNode ) && aMain ) {
- SUPERV::Graph_var dataflow = Supervision.getMain()->getDataflow();
+ 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();
switch ( aNode->Kind() ) {
void SUPERVGUI_Clipboard::pastePort( SUPERVGUI_CanvasNode* node )
{
SUPERV::Port_var aPort = getCopyPort();
- if ( !CORBA::is_nil(aPort) ) {
+ SUPERVGUI_Main* aMain = Supervision.getMain();
+ if ( !CORBA::is_nil(aPort) && aMain ) {
+
SUPERV::INode_var aNode = node->getInlineNode();
if (!CORBA::is_nil(aNode)) {
QString aName = aPort->Name();
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() );