]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
no message
authorstv <stv@opencascade.com>
Fri, 15 Jun 2007 07:58:00 +0000 (07:58 +0000)
committerstv <stv@opencascade.com>
Fri, 15 Jun 2007 07:58:00 +0000 (07:58 +0000)
src/Qtx/QtxPopupMgr.cxx
src/Qtx/QtxPopupMgr.h

index 018f205e54eb8bc6e1e88d84fe9e96cf7f873b44..accc7ee1809c593ca10c284df5bbf544f7159171 100644 (file)
@@ -282,8 +282,13 @@ void QtxPopupMgr::setSelection( QtxPopupSelection* sel )
   if ( mySelection == sel )
     return;
 
+  delete mySelection;
+
   mySelection = sel;
 
+  if ( mySelection )
+    mySelection->setParent( this );
+
   QtxActionMgr::triggerUpdate();
 }
 
@@ -488,18 +493,18 @@ bool QtxPopupMgr::isSatisfied( QAction* act, const RuleType ruleType ) const
       for ( int i = 0; i < mySelection->count() && !res; i++ )
       {
         QList<QVariant> c;
-       for ( QStringList::const_iterator anIt1 = specific.begin(); anIt1 != specific.end(); ++anIt1 )
+             for ( QStringList::const_iterator anIt1 = specific.begin(); anIt1 != specific.end(); ++anIt1 )
           c.append( parameter( *anIt1, i ) );
         aCorteges.insert( c, 0 );
       }
       for ( QMap<QList<QVariant>, int>::const_iterator anIt = aCorteges.begin(); anIt  != aCorteges.end(); ++anIt )
       {
-       const QList<QVariant>& aCortege = anIt.key();
-       QStringList::const_iterator anIt1 = specific.begin(), aLast1 = specific.end();
-       QList<QVariant>::const_iterator anIt2 = aCortege.begin();
-       for ( ; anIt1 != aLast1; anIt1++, anIt2++ )
-         p->setParameter( *anIt1, *anIt2 );
-       res = res || result( p );
+             const QList<QVariant>& aCortege = anIt.key();
+             QStringList::const_iterator anIt1 = specific.begin(), aLast1 = specific.end();
+             QList<QVariant>::const_iterator anIt2 = aCortege.begin();
+             for ( ; anIt1 != aLast1; anIt1++, anIt2++ )
+               p->setParameter( *anIt1, *anIt2 );
+             res = res || result( p );
       }
     }
     else
@@ -635,6 +640,7 @@ QVariant QtxPopupMgr::parameter( const QString& name, const int idx ) const
   \brief Constructor.
 */
 QtxPopupSelection::QtxPopupSelection()
+: QObject( 0 )
 {
 }
 
index 1d79acae39c635866655a8d2156c39cf96eec5ab..97188b1cb4ea2962427d7566d34edde7ad6955e4 100644 (file)
@@ -95,8 +95,10 @@ private:
   QtxPopupSelection* mySelection;
 };
 
-class QTX_EXPORT QtxPopupSelection
+class QTX_EXPORT QtxPopupSelection : public QObject
 {
+  Q_OBJECT
+
 public:
   QtxPopupSelection();
   virtual ~QtxPopupSelection();