tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp
changeset 37 758a864f9613
parent 23 89e065397ea6
equal deleted inserted replaced
36:ef0373b55136 37:758a864f9613
   181 
   181 
   182     // Install effect on QGraphicsItem.
   182     // Install effect on QGraphicsItem.
   183     QGraphicsItem *item = new QGraphicsRectItem(0, 0, 10, 10);
   183     QGraphicsItem *item = new QGraphicsRectItem(0, 0, 10, 10);
   184     item->setGraphicsEffect(effect);
   184     item->setGraphicsEffect(effect);
   185     QVERIFY(effect->source());
   185     QVERIFY(effect->source());
   186     QCOMPARE(effect->source()->graphicsItem(), item);
   186     QCOMPARE(effect->source()->graphicsItem(), (const QGraphicsItem*)item);
   187     QVERIFY(effect->m_sourceChangedFlags & QGraphicsEffect::SourceAttached);
   187     QVERIFY(effect->m_sourceChangedFlags & QGraphicsEffect::SourceAttached);
   188     effect->reset();
   188     effect->reset();
   189 
   189 
   190     // Make sure disabling/enabling the effect doesn't change the source.
   190     // Make sure disabling/enabling the effect doesn't change the source.
   191     effect->setEnabled(false);
   191     effect->setEnabled(false);
   192     QVERIFY(effect->source());
   192     QVERIFY(effect->source());
   193     QCOMPARE(effect->source()->graphicsItem(), item);
   193     QCOMPARE(effect->source()->graphicsItem(), (const QGraphicsItem*)item);
   194     QVERIFY(!effect->m_sourceChangedFlags);
   194     QVERIFY(!effect->m_sourceChangedFlags);
   195     effect->reset();
   195     effect->reset();
   196 
   196 
   197     effect->setEnabled(true);
   197     effect->setEnabled(true);
   198     QVERIFY(effect->source());
   198     QVERIFY(effect->source());
   199     QCOMPARE(effect->source()->graphicsItem(), item);
   199     QCOMPARE(effect->source()->graphicsItem(), (const QGraphicsItem*)item);
   200     QVERIFY(!effect->m_sourceChangedFlags);
   200     QVERIFY(!effect->m_sourceChangedFlags);
   201     effect->reset();
   201     effect->reset();
   202 
   202 
   203     // Uninstall effect on QGraphicsItem.
   203     // Uninstall effect on QGraphicsItem.
   204     effect->reset();
   204     effect->reset();
   208 
   208 
   209     // The item takes ownership and should delete the effect when destroyed.
   209     // The item takes ownership and should delete the effect when destroyed.
   210     item->setGraphicsEffect(effect);
   210     item->setGraphicsEffect(effect);
   211     QPointer<QGraphicsEffectSource> source = effect->source();
   211     QPointer<QGraphicsEffectSource> source = effect->source();
   212     QVERIFY(source);
   212     QVERIFY(source);
   213     QCOMPARE(source->graphicsItem(), item);
   213     QCOMPARE(source->graphicsItem(), (const QGraphicsItem*)item);
   214     delete item;
   214     delete item;
   215     QVERIFY(!effect);
   215     QVERIFY(!effect);
   216     QVERIFY(!source);
   216     QVERIFY(!source);
   217 }
   217 }
   218 
   218