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 |