summaryrefslogtreecommitdiffstats
path: root/tests/manual/widgets/itemviews/delegate/example.cpp
diff options
context:
space:
mode:
authorFrédéric Lefebvre <[email protected]>2024-11-28 15:03:59 +0100
committerFrederic Lefebvre <[email protected]>2025-01-17 08:49:05 +0000
commitec6ed20c66c6717fdf295fb0b8d1cafe727eb92d (patch)
tree3cc2e7265cd9189df633b6f977db52e6c1691bfe /tests/manual/widgets/itemviews/delegate/example.cpp
parent4daed2877251b861ce9f7ee5a09dc035518e1d9e (diff)
Remove manual test Delegate as irrelevant
Tests QLineEdit and QComboBox in a QStyledItemDelegate. Seems more like a bug reproducer. Remove delegate manual test as irrelevant. Change-Id: I17ae04716641aa4ad0ca932db640be71636ddf31 Reviewed-by: Thorbjørn Lund Martsum <[email protected]> Reviewed-by: Richard Moe Gustavsen <[email protected]>
Diffstat (limited to 'tests/manual/widgets/itemviews/delegate/example.cpp')
-rw-r--r--tests/manual/widgets/itemviews/delegate/example.cpp82
1 files changed, 0 insertions, 82 deletions
diff --git a/tests/manual/widgets/itemviews/delegate/example.cpp b/tests/manual/widgets/itemviews/delegate/example.cpp
deleted file mode 100644
index 7dbbf445dfd..00000000000
--- a/tests/manual/widgets/itemviews/delegate/example.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright (C) 2012 Thorbjørn Lund Martsum - tmartsum[at]gmail.com
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
-
-#include <QLineEdit>
-#include <QApplication>
-#include <QTableView>
-#include <QStandardItemModel>
-#include <QStyledItemDelegate>
-#include <QDebug>
-#include <QComboBox>
-
-class ExampleEditor : public QLineEdit
-{
-public:
- ExampleEditor(QWidget *parent = nullptr):QLineEdit(parent) { qDebug() << "ctor"; }
- ~ExampleEditor() { QApplication::instance()->quit(); }
-};
-
-class ExampleDelegate : public QStyledItemDelegate
-{
-public:
- ExampleDelegate() : QStyledItemDelegate()
- {
- m_editor = new ExampleEditor(0);
- m_combobox = new QComboBox(0);
- m_combobox->addItem(QString::fromUtf8("item1"));
- m_combobox->addItem(QString::fromUtf8("item2"));
- }
-protected:
- QWidget* createEditor(QWidget *p, const QStyleOptionViewItem &o, const QModelIndex &i) const
- {
- // doubleclick rownumber 3 (last row) to see the difference.
- if (i.row() == 3) {
- m_combobox->setParent(p);
- m_combobox->setGeometry(o.rect);
- return m_combobox;
- } else {
- m_editor->setParent(p);
- m_editor->setGeometry(o.rect);
- return m_editor;
- }
- }
- void destroyEditor(QWidget *editor, const QModelIndex &) const
- {
- editor->setParent(0);
- qDebug() << "intercepted destroy :)";
- }
-
- // Avoid setting data - and therefore show that the editor keeps its state.
- void setEditorData(QWidget* w, const QModelIndex &) const
- {
- QComboBox *combobox = qobject_cast<QComboBox*>(w);
- if (combobox) {
- qDebug() << "Try to show popup at once";
- // Now we could try to make a call to
- // QCoreApplication::processEvents();
- // But it does not matter. The fix:
- // https://codereview.qt-project.org/40608
- // is blocking QComboBox from reacting to this doubleclick edit event
- // and we need to do that since the mouseReleaseEvent has not yet happened,
- // and therefore cannot be processed.
- combobox->showPopup();
- }
- }
-
- ~ExampleDelegate() { delete m_editor; }
- mutable ExampleEditor *m_editor;
- mutable QComboBox *m_combobox;
-};
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- QTableView tv;
- QStandardItemModel m;
- m.setRowCount(4);
- m.setColumnCount(2);
- tv.setModel(&m);
- tv.show();
- tv.setItemDelegate(new ExampleDelegate());
- app.exec();
-}