X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSUPERVGUI%2FSUPERVGUI_Canvas.cxx;h=58d6e2ad8f92d53e5bdb3323f7db06684accaa7e;hb=ea7f29f75031ca13b9454f5e9ac73730f1f584eb;hp=fb1f77cf38661bbe4f61fd2b0308a312182f5143;hpb=e4b2f8f88a294e451364a8b84d170a59dcbb5d3f;p=modules%2Fsuperv.git diff --git a/src/SUPERVGUI/SUPERVGUI_Canvas.cxx b/src/SUPERVGUI/SUPERVGUI_Canvas.cxx index fb1f77c..58d6e2a 100644 --- a/src/SUPERVGUI/SUPERVGUI_Canvas.cxx +++ b/src/SUPERVGUI/SUPERVGUI_Canvas.cxx @@ -98,13 +98,18 @@ SUPERVGUI_Canvas::SUPERVGUI_Canvas(SUPERVGUI_Main* m): SUPERVGUI_Canvas::~SUPERVGUI_Canvas() { + // asv : 17.01.05 : why delete its own children (CanvasNode-s)? + // they must be destroyed automatically. QObjectList* aNodeList = queryList("SUPERVGUI_CanvasNode"); QObjectListIt aIt(*aNodeList); QObject* anObj; - while ((anObj = aIt.current()) != 0) { + while ( (anObj = aIt.current()) != 0 ) { ++aIt; + aNodeList->removeRef(anObj); delete anObj; } + // asv : list returned by queryList() must be removed + delete aNodeList; } void SUPERVGUI_Canvas::addView(QCanvasView* theView) @@ -157,7 +162,6 @@ void SUPERVGUI_Canvas::updateLinks() } void SUPERVGUI_Canvas::sync() { - // MESSAGE("===> SUPERVGUI_Canvas::sync()"); if (SUPERV_isNull(myMain->getDataflow())) return; SUPERVGUI_CanvasNode* ihmNode; @@ -174,7 +178,6 @@ void SUPERVGUI_Canvas::sync() { * Synchronizes Graph presentation with internal graph structure */ void SUPERVGUI_Canvas::merge() { - // MESSAGE("===> SUPERVGUI_Canvas::merge()"); if (SUPERV_isNull(myMain->getDataflow())) return; SUPERVGUI_CanvasNode* ihmNode; @@ -272,23 +275,6 @@ void SUPERVGUI_Canvas::merge() { delete ihmList; } -void SUPERVGUI_Canvas::setAsFromStudy(bool theToStudy) -{ - if (theToStudy) return; - - SUPERVGUI_CanvasPortOut* aPortOut; - QObjectList* aPortList = queryList("SUPERVGUI_CanvasPortOut"); - QObjectListIt aPortIt(*aPortList); - while ((aPortOut=(SUPERVGUI_CanvasPortOut*)aPortIt.current()) != 0) { - ++aPortIt; - if (aPortOut->isInStudy()) { - aPortOut->setStudyState(theToStudy); - aPortOut->sync(); - } - } - delete aPortList; -} - SUPERVGUI_CanvasNode* SUPERVGUI_Canvas::getNode(SUPERV::CNode_ptr theNode) const { return (SUPERVGUI_CanvasNode*)