summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/kernel/qstackedlayout/tst_qstackedlayout.cpp
diff options
context:
space:
mode:
authorThorbjørn Lund Martsum <tmartsum@gmail.com>2012-09-03 06:35:39 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-21 23:17:55 +0200
commit42d681f9cfc984046a93b9efe19903d46ac68bb1 (patch)
tree0a93a177458dc661b9ceb200f8fa21250b6b601f /tests/auto/widgets/kernel/qstackedlayout/tst_qstackedlayout.cpp
parente327ba191df56f3315a004d7650d5f1080f12acb (diff)
Add widget replace function to QLayout
Sometimes it is nice to be able to replace a widget in a layout. Change-Id: I23a6a65e417e94d53bc48639503db1a142bc3f10 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Diffstat (limited to 'tests/auto/widgets/kernel/qstackedlayout/tst_qstackedlayout.cpp')
-rw-r--r--tests/auto/widgets/kernel/qstackedlayout/tst_qstackedlayout.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/auto/widgets/kernel/qstackedlayout/tst_qstackedlayout.cpp b/tests/auto/widgets/kernel/qstackedlayout/tst_qstackedlayout.cpp
index 9ab7bb5305..1ff2e7867c 100644
--- a/tests/auto/widgets/kernel/qstackedlayout/tst_qstackedlayout.cpp
+++ b/tests/auto/widgets/kernel/qstackedlayout/tst_qstackedlayout.cpp
@@ -70,6 +70,7 @@ private slots:
void removeWidget();
void keepFocusAfterSetCurrent();
void heigthForWidth();
+ void replaceWidget();
private:
QWidget *testWidget;
@@ -393,6 +394,27 @@ void tst_QStackedLayout::heigthForWidth()
}
+void tst_QStackedLayout::replaceWidget()
+{
+ QWidget w;
+ QStackedLayout *stackLayout = new QStackedLayout(&w);
+
+ QLineEdit *replaceFrom = new QLineEdit;
+ QLineEdit *replaceTo = new QLineEdit;
+ stackLayout->addWidget(new QLineEdit());
+ stackLayout->addWidget(replaceFrom);
+ stackLayout->addWidget(new QLineEdit());
+ stackLayout->setCurrentWidget(replaceFrom);
+
+ QCOMPARE(stackLayout->indexOf(replaceFrom), 1);
+ QCOMPARE(stackLayout->indexOf(replaceTo), -1);
+ stackLayout->replaceWidget(replaceFrom, replaceTo);
+
+ QCOMPARE(stackLayout->indexOf(replaceFrom), -1);
+ QCOMPARE(stackLayout->indexOf(replaceTo), 1);
+ QCOMPARE(stackLayout->currentWidget(), replaceTo);
+}
+
QTEST_MAIN(tst_QStackedLayout)
#include "tst_qstackedlayout.moc"