Salome HOME
Merge from OCC_development_generic_2006
[modules/superv.git] / src / SUPERVGUI / SUPERVGUI_CanvasLink.cxx
index 955d3b89698ce8f31daf577d3e557866e4610c7a..a58cbb5458bbad5f78a65a9917650c3045305c0d 100644 (file)
@@ -6,7 +6,6 @@
 //  Author : Natalia KOPNOVA
 //  Module : SUPERV
 
-using namespace std;
 #include "SUPERVGUI_CanvasLink.h"
 #include "SUPERVGUI_Canvas.h"
 #include "SUPERVGUI_CanvasPort.h"
@@ -52,6 +51,9 @@ SUPERVGUI_CanvasLink::SUPERVGUI_CanvasLink(QObject* theParent, SUPERVGUI_Main* t
     else
       myColor = DRAW_COLOR;
   }
+
+  // mkr : PAL8237
+  connect(this, SIGNAL(objectCreatedDeleted()), myMain, SLOT(onObjectCreatedDeleted()));
 }
 
 SUPERVGUI_CanvasLink::~SUPERVGUI_CanvasLink()
@@ -231,7 +233,10 @@ void SUPERVGUI_CanvasLink::remove() {
       }
     }
     myLink->destroy();
+
+    emit objectCreatedDeleted(); // mkr : PAL8237
   }
+
   delete this;
   if (aPort && !aValue.isEmpty() && myMain->getDataflow()->GraphLevel() == 0) {
     aPort->setValue(aValue);
@@ -254,8 +259,10 @@ void SUPERVGUI_CanvasLink::addPoint() {
       anIndex = aPoint->getIndex()+1;
       if (anIndex < 1) anIndex = 1;
     }
-    if (myLink && !SUPERV_isNull(myLink)) 
+    if (myLink && !SUPERV_isNull(myLink)) {
       myLink->AddCoord(anIndex, mySelectedPoint.x(), mySelectedPoint.y());
+      emit objectCreatedDeleted(); // mkr : PAL8237
+    }
     merge();
     myMain->getCanvas()->update();
   }
@@ -264,13 +271,25 @@ void SUPERVGUI_CanvasLink::addPoint() {
 void SUPERVGUI_CanvasLink::removePoint() {
   if (mySelectedItem && mySelectedItem->rtti() == SUPERVGUI_Canvas::Rtti_LinkPoint) {
     SUPERVGUI_CanvasPointPrs* aPoint = (SUPERVGUI_CanvasPointPrs*) mySelectedItem;
-    if (myLink && !SUPERV_isNull(myLink)) 
+    if (myLink && !SUPERV_isNull(myLink)) {
       myLink->RemoveCoord(aPoint->getIndex());
+      emit objectCreatedDeleted(); // mkr : PAL8237
+    }
     merge();
     myMain->getCanvas()->update();
   }
 }
 
+QString SUPERVGUI_CanvasLink::getToolTipText() const {
+  QString aTTT;
+  if (myInputPort && myOutputPort)
+    aTTT = myOutputPort->getEngine()->Node()->Name() + QString(" : ") + 
+      myOutputPort->getEngine()->Name() + QString(" => ") +
+      myInputPort->getEngine()->Node()->Name() + QString(" : ") + 
+      myInputPort->getEngine()->Name();
+  return aTTT;
+}
+
 /*
 //===============================================================================
 //  SUPERVGUI_CanvasStreamLink: new link to be created