]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
QxGraph_Canvas destructor: clear a list of Prs objects.
authormkr <mkr@opencascade.com>
Wed, 21 Mar 2007 12:44:07 +0000 (12:44 +0000)
committermkr <mkr@opencascade.com>
Wed, 21 Mar 2007 12:44:07 +0000 (12:44 +0000)
QxGraph_Prs destructor: delete all existing graphic items.

src/QxGraph/QxGraph_Canvas.cxx
src/QxGraph/QxGraph_Prs.cxx

index a11e53f26ef4e75af476b2d2fff5921038c23f00..8eb1afe632746635d69273c2a7b909ff1d938ca0 100644 (file)
@@ -48,7 +48,7 @@ QxGraph_Canvas::QxGraph_Canvas(SUIT_ResourceMgr* theMgr) :
 */
 QxGraph_Canvas::~QxGraph_Canvas()
 {
-  QObjectList* aNodeList = queryList("QObject");
+  /*QObjectList* aNodeList = queryList("QObject");
   QObjectListIt aIt(*aNodeList);
   QObject* anObj;
   while ( (anObj = aIt.current()) != 0 ) {
@@ -56,7 +56,10 @@ QxGraph_Canvas::~QxGraph_Canvas()
     aNodeList->removeRef(anObj);
     delete anObj;
   }
-  delete aNodeList;
+  delete aNodeList;*/
+
+  myPrsList.setAutoDelete(true);
+  myPrsList.clear();
 }
 
 /*!
index ef453e4b02434274f18676ff8701824d0e059634..26ec0e4d9e7fda20afdc166e82613c8404699ef8 100644 (file)
@@ -43,7 +43,20 @@ QxGraph_Prs::QxGraph_Prs(QxGraph_Canvas* theCanvas):
 */
 QxGraph_Prs::~QxGraph_Prs()
 {
-
+  for ( DMode2ItemList::iterator it1 = myDisplayMap.begin();
+       it1 != myDisplayMap.end();
+       it1++ )
+  {
+    for ( std::list<QCanvasItem*>::iterator it2 = (*it1).second.begin();
+         it2 != (*it1).second.end();
+         it2++ )
+    {
+      QCanvasItem* anItem = *it2;
+      if ( anItem ) delete anItem;
+    }
+  }
+      
+  myDisplayMap.clear();
 }
 
 /*!
@@ -62,7 +75,7 @@ void QxGraph_Prs::addItem(QCanvasItem* theItem, int theDMode)
  */
 void QxGraph_Prs::show()
 {
-  if ( isToUpdate() )
+  if ( isToUpdate() ) 
     update();
 
   for ( std::list<QCanvasItem*>::iterator it = myDisplayMap[myDMode].begin();