// SUPERV SUPERVGUI : GUI for Supervisor component
//
-// Copyright (C) 2003 OPEN CASCADE
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// File : SUPERVGUI_CanvasPort.cxx
// Author : Natalia KOPNOVA
// Module : SUPERV
-using namespace std;
#include "SUPERVGUI_CanvasPort.h"
#include "SUPERVGUI_CanvasNode.h"
#include "SUPERVGUI_CanvasLink.h"
#include "SalomeApp_Study.h"
-SUPERVGUI_CanvasPort::SUPERVGUI_CanvasPort(QObject* theParent, SUPERVGUI_Main* theMain, SUPERV::Port_ptr thePort):
+SUPERVGUI_CanvasPort::SUPERVGUI_CanvasPort (QObject* theParent, SUPERVGUI_Main* theMain,
+ SUPERV::Port_ptr thePort):
QObject(theParent),
myMain(theMain),
myPrs(0),
// setName(myPort->Name());
setName(myMain->getCanvas()->getPortName(thePort));
+
+ // mkr : PAL8237
+ connect(this, SIGNAL(objectDeleted()), myMain, SLOT(onObjectCreatedDeleted()));
}
SUPERVGUI_CanvasPort::~SUPERVGUI_CanvasPort()
Trace("SUPERVGUI_CanvasPort::remove");
myPort->destroy();
+
+ emit objectDeleted(); // mkr : PAL8237
+
delete this;
}
//***********************************************************
// Input Port
//***********************************************************
-SUPERVGUI_CanvasPortIn::SUPERVGUI_CanvasPortIn(QObject* theParent, SUPERVGUI_Main* theMain, SUPERV::Port_ptr thePort):
+SUPERVGUI_CanvasPortIn::SUPERVGUI_CanvasPortIn (QObject* theParent, SUPERVGUI_Main* theMain,
+ SUPERV::Port_ptr thePort):
SUPERVGUI_CanvasPort(theParent, theMain, thePort)
{
Trace("SUPERVGUI_CanvasPortIn::SUPERVGUI_CanvasPortIn");
QPopupMenu* SUPERVGUI_CanvasPortIn::getPopupMenu(QWidget* theParent)
{
QPopupMenu* popup = SUPERVGUI_CanvasPort::getPopupMenu(theParent);
- bool editable = getEngine()->IsInput() && !getEngine()->IsLinked() && !getMain()->getDataflow()->IsExecuting();
+ bool editable = (getEngine()->IsInput() &&
+ !getEngine()->IsLinked() &&
+ !getMain()->getDataflow()->IsExecuting());
if (!getEngine()->IsGate() && editable)
popup->insertItem(tr("MSG_SETVALUE"), this, SLOT(setInput()));
//***********************************************************
// Output Port
//***********************************************************
-SUPERVGUI_CanvasPortOut::SUPERVGUI_CanvasPortOut(QObject* theParent, SUPERVGUI_Main* theMain, SUPERV::Port_ptr thePort):
+SUPERVGUI_CanvasPortOut::SUPERVGUI_CanvasPortOut (QObject* theParent, SUPERVGUI_Main* theMain,
+ SUPERV::Port_ptr thePort):
SUPERVGUI_CanvasPort(theParent, theMain, thePort)
{
Trace("SUPERVGUI_CanvasPortOut::SUPERVGUI_CanvasPortOut");
myInStudy = false;
+
+ // mkr : PAL8150
+ connect(this, SIGNAL(putInStudy( QString* )), getMain(), SLOT(onPutInStudy( QString* )));
}
SUPERVGUI_CanvasPortOut::~SUPERVGUI_CanvasPortOut()
getMain()->getCanvas()->update();
if ( myInStudy ) // put values to study (supervision, supervision->dataflow, supervision->dataflow->runXXX, etc.
- getMain()->putDataStudy( getEngine(), STUDY_PORT_OUT );
+ if ( getMain()->putDataStudy( getEngine(), STUDY_PORT_OUT ) ) {
+ // mkr : PAL8110 : re-register dataflow in object browser with
+ // changing its key to IOR name (from xml-file name, for example)
+ SUPERVGUI* aSupMod = SUPERVGUI::Supervision();
+ if ( !aSupMod ) {
+ MESSAGE("NULL Supervision module!");
+ return;
+ }
+ aSupMod->unregisterGraph(getMain());
+ aSupMod->registerGraph(getMain()->getDataflow()->getIOR(), getMain());
+ }
+
+ // mkr : PAL8150
+ QString aNodePortName = QString( getEngine()->Node()->Name() ) + QString( "_" ) + QString( getEngine()->Name() );
+ emit putInStudy( &aNodePortName );
+
}