From cf26937de2910da16cb3299db5550ae16b926159 Mon Sep 17 00:00:00 2001 From: J-P Nurmi <jpnurmi@theqtcompany.com> Date: Tue, 4 Nov 2014 14:38:54 +0100 Subject: [PATCH] Revise the Table View example A simple sortable and searchable table view example that also fits a mobile screen. The old "example" is demoted as a manual test app. Task-number: QTBUG-41253 Change-Id: I746c8e5871c35a184748abbb4427ca3d160ffc8e Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com> --- .../controls/tableview/images/header.png | Bin 356 -> 0 bytes .../controls/tableview/images/selectedrow.png | Bin 303 -> 0 bytes .../controls/tableview/images/sort-up.png | Bin 205 -> 0 bytes examples/quick/controls/tableview/main.qml | 469 +++++------------- .../quick/controls/tableview/resources.qrc | 8 - .../quick/controls/tableview/src/main.cpp | 14 +- .../tableview/src/sortfilterproxymodel.cpp | 189 +++++++ .../tableview/src/sortfilterproxymodel.h | 111 +++++ examples/quick/controls/tableview/src/src.pri | 8 +- .../quick/controls/tableview/tableview.pro | 11 +- .../controls/tableview/tableview.qmlproject | 16 - .../quick/controls/tableview/tableview.qrc | 5 + .../qtquickcontrols-example-tableview.png | Bin 38463 -> 36290 bytes .../doc/src/qtquickcontrols-examples.qdoc | 32 +- 14 files changed, 474 insertions(+), 389 deletions(-) delete mode 100644 examples/quick/controls/tableview/images/header.png delete mode 100644 examples/quick/controls/tableview/images/selectedrow.png delete mode 100644 examples/quick/controls/tableview/images/sort-up.png delete mode 100644 examples/quick/controls/tableview/resources.qrc create mode 100644 examples/quick/controls/tableview/src/sortfilterproxymodel.cpp create mode 100644 examples/quick/controls/tableview/src/sortfilterproxymodel.h delete mode 100644 examples/quick/controls/tableview/tableview.qmlproject create mode 100644 examples/quick/controls/tableview/tableview.qrc diff --git a/examples/quick/controls/tableview/images/header.png b/examples/quick/controls/tableview/images/header.png deleted file mode 100644 index dba6646092ce4f4f6dcc52f05c3fa96535eab660..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^c0er2!2~3qadFKBQjEnx?oJHr&dIz4a@dl*-CY>W z7}6Lff2wOX1&VMMctjR6FmMZlFeAgPITAoY_7YEDSN7YiB79tOD^GkB2MS4+xJHyX z=jZ08=9Mrw7o{eaq^2m8XO?6rxO@5rgg5em6z%tPaSVw#{5I?&*I@;oJw1Q^tN-HG zK2Z~t&z~BweBE8E7LoT0IpQ8aoivNfQ=+BVuh)xxfu?HrE@uv@<SnnPinnRm-k$1L zu*>dV>F(*u#>-!8bDZG(C%!&AZJOU6Q*}+}Jn;&_9hHv`l*e<WNcNhpojIZEeXieS z_qzr`lD`;>4m{qjv@mpSY*F)i(cZbG>p%UNdia{&_eURuluy3dnpdTgXm+OJ&Kj<E t4W9pXAolg?PwSR!{AU<;etysc&UxNxJXS9+*#N!5;OXk;vd$@?2>@;Pged?3 diff --git a/examples/quick/controls/tableview/images/selectedrow.png b/examples/quick/controls/tableview/images/selectedrow.png deleted file mode 100644 index 71192ea4e2b72d820f7afa745d50275fa8a1fb82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^Hb5-S!2~34eBFHkNHG=%xjQkeJ16rJ$YD$Jc6VVg zV@P9|{Hd<l6ez-3;1OBOz`!jG!i)^F=12eq*-JcqUD<E5ituqtwRWVP1qw-)xJHyX z=jZ08=9Mrw7o{eaq^2m8XO?6rxO@5rgg5eu0~K|7x;TbJ9DX}(FIR(tNUQ%NDU&aU zY{UCSba`DnuD5ZhNY85Fw`uN>d9u5x{>`#VLEnAyZgM3Yj~thCwDh^WP*K<t*}QIw z9Pci%lE6+i%a?seQ`Oh^$~C9HmY;g=&$dfpzy9uHjQ^$L=fWtx)m-7LyP{ImJjUW( rOWkEH8K1Jwd3@&omL<vYkr%|pN{sdUH(cEfbQOcAtDnm{r-UW|VfSVC diff --git a/examples/quick/controls/tableview/images/sort-up.png b/examples/quick/controls/tableview/images/sort-up.png deleted file mode 100644 index 27fcb19153992dbc4003103460fd74004e6778e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)I!3HFqj;YoHDaPU;cPEB*=VV?2Ic!PZ?k)`f zL2$v|<&%LToCO|{#X#+^L734gSv3$S$X?><>&kwQQ;tJd|IWR|IzS;`PZ!4!j_al; zHwrcf2pqXkZt{p}8(Z7KseuBf77FD*idQ_5k(lCn>FzG+XDYovGlfI0PI}Uy;vT9S s5HY#t&(04`hR3Q8mG$eF&DoxBA1@|3Ls8CTBG6z4Pgg&ebxsLQ0I)kkxc~qF diff --git a/examples/quick/controls/tableview/main.qml b/examples/quick/controls/tableview/main.qml index b85f2d1d9..49386289d 100644 --- a/examples/quick/controls/tableview/main.qml +++ b/examples/quick/controls/tableview/main.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. @@ -38,385 +38,150 @@ ** ****************************************************************************/ - - - - import QtQuick 2.2 -import QtQuick.Window 2.1 +import QtQuick.Layouts 1.1 import QtQuick.Controls 1.2 -import QtQuick.XmlListModel 2.0 +import org.qtproject.example 1.0 -Window { +ApplicationWindow { + id: window visible: true - width: 538 + frame.margins * 2 - height: 360 + frame.margins * 2 - - ToolBar { - id: toolbar - width: parent.width + title: "Table View Example" - ListModel { - id: delegatemenu - ListElement { text: "Shiny delegate" } - ListElement { text: "Scale selected" } - ListElement { text: "Editable items" } - } + toolBar: ToolBar { + TextField { + id: searchBox - ComboBox { - id: delegateChooser - enabled: frame.currentIndex === 3 ? 1 : 0 - model: delegatemenu - width: 150 - anchors.left: parent.left - anchors.leftMargin: 8 - anchors.verticalCenter: parent.verticalCenter - } + placeholderText: "Search..." + inputMethodHints: Qt.ImhNoPredictiveText - CheckBox { - id: enabledCheck - text: "Enabled" - checked: true + width: window.width / 5 * 2 anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter } } - SystemPalette {id: syspal} - color: syspal.window - - XmlListModel { - id: flickerModel - source: "http://api.flickr.com/services/feeds/photos_public.gne?format=rss2&tags=" + "Qt" - query: "/rss/channel/item" - namespaceDeclarations: "declare namespace media=\"http://search.yahoo.com/mrss/\";" - XmlRole { name: "title"; query: "title/string()" } - XmlRole { name: "imagesource"; query: "media:thumbnail/@url/string()" } - XmlRole { name: "credit"; query: "media:credit/string()" } - } - - ListModel { - id: nestedModel - ListElement{content: ListElement { description: "Core" ; color:"#ffaacc"}} - ListElement{content: ListElement { description: "Second" ; color:"#ffccaa"}} - ListElement{content: ListElement { description: "Third" ; color:"#ffffaa"}} - } + TableView { + id: tableView - ListModel { - id: largeModel - Component.onCompleted: { - for (var i=0 ; i< 500 ; ++i) - largeModel.append({"name":"Person "+i , "age": Math.round(Math.random()*100), "gender": Math.random()>0.5 ? "Male" : "Female"}) - } - } + frameVisible: false + sortIndicatorVisible: true - Column { - anchors.top: toolbar.bottom - anchors.right: parent.right - anchors.left: parent.left - anchors.bottom: parent.bottom - anchors.margins: 8 + anchors.fill: parent - TabView { - id:frame - focus:true - enabled: enabledCheck.checked + Layout.minimumWidth: 400 + Layout.minimumHeight: 240 + Layout.preferredWidth: 600 + Layout.preferredHeight: 400 - property int margins: Qt.platform.os === "osx" ? 16 : 0 + TableViewColumn { + id: titleColumn + title: "Title" + role: "title" + movable: false + resizable: false + width: tableView.viewport.width - authorColumn.width + } - height: parent.height - 34 - anchors.right: parent.right - anchors.left: parent.left - anchors.margins: margins + TableViewColumn { + id: authorColumn + title: "Author" + role: "author" + movable: false + resizable: false + width: tableView.viewport.width / 3 + } - Tab { - title: "XmlListModel" + model: SortFilterProxyModel { + id: proxyModel + source: sourceModel.count > 0 ? sourceModel : null - TableView { - model: flickerModel - anchors.fill: parent - anchors.margins: 12 + sortOrder: tableView.sortIndicatorOrder + sortCaseSensitivity: Qt.CaseInsensitive + sortRole: sourceModel.count > 0 ? tableView.getColumn(tableView.sortIndicatorColumn).role : "" - TableViewColumn { - role: "title" - title: "Title" - width: 120 - } - TableViewColumn { - role: "credit" - title: "Credit" - width: 120 - } - TableViewColumn { - role: "imagesource" - title: "Image source" - width: 200 - visible: true - } + filterString: "*" + searchBox.text + "*" + filterSyntax: SortFilterProxyModel.Wildcard + filterCaseSensitivity: Qt.CaseInsensitive + } - frameVisible: frameCheckbox.checked - headerVisible: headerCheckbox.checked - sortIndicatorVisible: sortableCheckbox.checked - alternatingRowColors: alternateCheckbox.checked - } + ListModel { + id: sourceModel + ListElement { + title: "Moby-Dick" + author: "Herman Melville" } - Tab { - title: "Multivalue" - - TableView { - model: nestedModel - anchors.fill: parent - anchors.margins: 12 - - TableViewColumn { - role: "content" - title: "Text and Color" - width: 220 - } - - itemDelegate: Item { - Rectangle{ - color: styleData.value.get(0).color - anchors.top:parent.top - anchors.right:parent.right - anchors.bottom:parent.bottom - anchors.margins: 4 - width:32 - border.color:"#666" - } - Text { - width: parent.width - anchors.margins: 4 - anchors.left: parent.left - anchors.verticalCenter: parent.verticalCenter - elide: styleData.elideMode - text: styleData.value.get(0).description - color: styleData.textColor - } - } - - frameVisible: frameCheckbox.checked - headerVisible: headerCheckbox.checked - sortIndicatorVisible: sortableCheckbox.checked - alternatingRowColors: alternateCheckbox.checked - } + ListElement { + title: "The Adventures of Tom Sawyer" + author: "Mark Twain" } - Tab { - title: "Generated" - - TableView { - model: largeModel - anchors.margins: 12 - anchors.fill: parent - TableViewColumn { - role: "name" - title: "Name" - width: 120 - } - TableViewColumn { - role: "age" - title: "Age" - width: 120 - } - TableViewColumn { - role: "gender" - title: "Gender" - width: 120 - } - frameVisible: frameCheckbox.checked - headerVisible: headerCheckbox.checked - sortIndicatorVisible: sortableCheckbox.checked - alternatingRowColors: alternateCheckbox.checked - } + ListElement { + title: "Cat’s Cradle" + author: "Kurt Vonnegut" } - - Tab { - title: "Delegates" - Item { - anchors.fill: parent - - Component { - id: delegate1 - Item { - clip: true - Text { - width: parent.width - anchors.margins: 4 - anchors.left: parent.left - anchors.verticalCenter: parent.verticalCenter - elide: styleData.elideMode - text: styleData.value !== undefined ? styleData.value : "" - color: styleData.textColor - } - } - } - - Component { - id: delegate2 - Text { - width: parent.width - anchors.margins: 4 - anchors.left: parent.left - anchors.verticalCenter: parent.verticalCenter - elide: styleData.elideMode - text: styleData.value !== undefined ? styleData.value : "" - color: styleData.textColor - } - } - - Component { - id: editableDelegate - Item { - - Text { - width: parent.width - anchors.margins: 4 - anchors.left: parent.left - anchors.verticalCenter: parent.verticalCenter - elide: styleData.elideMode - text: styleData.value !== undefined ? styleData.value : "" - color: styleData.textColor - visible: !styleData.selected - } - Loader { // Initialize text editor lazily to improve performance - id: loaderEditor - anchors.fill: parent - anchors.margins: 4 - Connections { - target: loaderEditor.item - onAccepted: { - if (typeof styleData.value === 'number') - largeModel.setProperty(styleData.row, styleData.role, Number(parseFloat(loaderEditor.item.text).toFixed(0))) - else - largeModel.setProperty(styleData.row, styleData.role, loaderEditor.item.text) - } - } - sourceComponent: styleData.selected ? editor : null - Component { - id: editor - TextInput { - id: textinput - color: styleData.textColor - text: styleData.value - MouseArea { - id: mouseArea - anchors.fill: parent - hoverEnabled: true - onClicked: textinput.forceActiveFocus() - } - } - } - } - } - } - TableView { - id: delegatesView - model: largeModel - anchors.margins: 12 - anchors.fill:parent - frameVisible: frameCheckbox.checked - headerVisible: headerCheckbox.checked - sortIndicatorVisible: sortableCheckbox.checked - alternatingRowColors: alternateCheckbox.checked - - TableViewColumn { - role: "name" - title: "Name" - width: 120 - } - TableViewColumn { - role: "age" - title: "Age" - width: 120 - } - TableViewColumn { - role: "gender" - title: "Gender" - width: 120 - } - - headerDelegate: BorderImage{ - source: "images/header.png" - border{left:2;right:2;top:2;bottom:2} - Text { - anchors.verticalCenter: parent.verticalCenter - anchors.left: parent.left - anchors.right: indicator.visible ? indicator.left : parent.right - anchors.margins: 6 - text: styleData.value - elide: Text.ElideRight - color:"#333" - } - // Sort indicator - Image { - id: indicator - anchors.verticalCenter: parent.verticalCenter - anchors.right: parent.right - anchors.rightMargin: 6 - source: "images/sort-up.png" - visible: delegatesView.sortIndicatorVisible && - styleData.column === delegatesView.sortIndicatorColumn - rotation: delegatesView.sortIndicatorOrder === Qt.AscendingOrder ? 180 : 0 - Behavior on rotation { NumberAnimation { } } - } - - } - - rowDelegate: Rectangle { - height: (delegateChooser.currentIndex == 1 && styleData.selected) ? 30 : 20 - Behavior on height{ NumberAnimation{} } - - color: styleData.selected ? "#448" : (styleData.alternate? "#eee" : "#fff") - BorderImage{ - id: selected - anchors.fill: parent - source: "images/selectedrow.png" - visible: styleData.selected - border{left:2; right:2; top:2; bottom:2} - SequentialAnimation { - running: true; loops: Animation.Infinite - NumberAnimation { target:selected; property: "opacity"; to: 1.0; duration: 900} - NumberAnimation { target:selected; property: "opacity"; to: 0.5; duration: 900} - } - } - } - - itemDelegate: { - if (delegateChooser.currentIndex == 2) - return editableDelegate; - else - return delegate1; - } - } - } + ListElement { + title: "Farenheit 451" + author: "Ray Bradbury" } - } - Row{ - x: 12 - height: 34 - CheckBox{ - id: alternateCheckbox - checked: true - text: "Alternate" - anchors.verticalCenter: parent.verticalCenter + ListElement { + title: "It" + author: "Stephen King" + } + ListElement { + title: "On the Road" + author: "Jack Kerouac" + } + ListElement { + title: "Of Mice and Men" + author: "John Steinbeck" + } + ListElement { + title: "Do Androids Dream of Electric Sheep?" + author: "Philip K. Dick" + } + ListElement { + title: "Uncle Tom’s Cabin" + author: "Harriet Beecher Stowe" + } + ListElement { + title: "The Call of the Wild" + author: "Jack London" + } + ListElement { + title: "The Old Man and the Sea" + author: "Ernest Hemingway" + } + ListElement { + title: "A Streetcar Named Desire" + author: "Tennessee Williams" + } + ListElement { + title: "Catch-22" + author: "Joseph Heller" + } + ListElement { + title: "One Flew Over the Cuckoo’s Nest" + author: "Ken Kesey" + } + ListElement { + title: "The Murders in the Rue Morgue" + author: "Edgar Allan Poe" + } + ListElement { + title: "Breakfast at Tiffany’s" + author: "Truman Capote" } - CheckBox{ - id: sortableCheckbox - checked: false - text: "Sort indicator" - anchors.verticalCenter: parent.verticalCenter + ListElement { + title: "Death of a Salesman" + author: "Arthur Miller" } - CheckBox{ - id: frameCheckbox - checked: true - text: "Frame" - anchors.verticalCenter: parent.verticalCenter + ListElement { + title: "Post Office" + author: "Charles Bukowski" } - CheckBox{ - id: headerCheckbox - checked: true - text: "Headers" - anchors.verticalCenter: parent.verticalCenter + ListElement { + title: "Herbert West—Reanimator" + author: "H. P. Lovecraft" } } } diff --git a/examples/quick/controls/tableview/resources.qrc b/examples/quick/controls/tableview/resources.qrc deleted file mode 100644 index 83d3f6a76..000000000 --- a/examples/quick/controls/tableview/resources.qrc +++ /dev/null @@ -1,8 +0,0 @@ -<!DOCTYPE RCC><RCC version="1.0"> -<qresource prefix="/"> - <file>main.qml</file> - <file>images/selectedrow.png</file> - <file>images/header.png</file> - <file>images/sort-up.png</file> -</qresource> -</RCC> diff --git a/examples/quick/controls/tableview/src/main.cpp b/examples/quick/controls/tableview/src/main.cpp index a757f4853..1406b84ce 100644 --- a/examples/quick/controls/tableview/src/main.cpp +++ b/examples/quick/controls/tableview/src/main.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. @@ -39,11 +39,21 @@ ****************************************************************************/ #include "qtquickcontrolsapplication.h" -#include <QtQml/QQmlApplicationEngine> +#include "sortfilterproxymodel.h" +#include <QtQml/qqmlapplicationengine.h> +#include <QtGui/qsurfaceformat.h> +#include <QtQml/qqml.h> int main(int argc, char *argv[]) { QtQuickControlsApplication app(argc, argv); + if (QCoreApplication::arguments().contains(QLatin1String("--coreprofile"))) { + QSurfaceFormat fmt; + fmt.setVersion(4, 4); + fmt.setProfile(QSurfaceFormat::CoreProfile); + QSurfaceFormat::setDefaultFormat(fmt); + } + qmlRegisterType<SortFilterProxyModel>("org.qtproject.example", 1, 0, "SortFilterProxyModel"); QQmlApplicationEngine engine(QUrl("qrc:/main.qml")); return app.exec(); } diff --git a/examples/quick/controls/tableview/src/sortfilterproxymodel.cpp b/examples/quick/controls/tableview/src/sortfilterproxymodel.cpp new file mode 100644 index 000000000..7b999470f --- /dev/null +++ b/examples/quick/controls/tableview/src/sortfilterproxymodel.cpp @@ -0,0 +1,189 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Quick Controls module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "sortfilterproxymodel.h" +#include <QtDebug> +#include <QtQml> + +SortFilterProxyModel::SortFilterProxyModel(QObject *parent) : QSortFilterProxyModel(parent), m_complete(false) +{ + connect(this, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SIGNAL(countChanged())); + connect(this, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SIGNAL(countChanged())); +} + +int SortFilterProxyModel::count() const +{ + return rowCount(); +} + +QObject *SortFilterProxyModel::source() const +{ + return sourceModel(); +} + +void SortFilterProxyModel::setSource(QObject *source) +{ + setSourceModel(qobject_cast<QAbstractItemModel *>(source)); +} + +QByteArray SortFilterProxyModel::sortRole() const +{ + return m_sortRole; +} + +void SortFilterProxyModel::setSortRole(const QByteArray &role) +{ + if (m_sortRole != role) { + m_sortRole = role; + if (m_complete) + QSortFilterProxyModel::setSortRole(roleKey(role)); + } +} + +void SortFilterProxyModel::setSortOrder(Qt::SortOrder order) +{ + QSortFilterProxyModel::sort(0, order); +} + +QByteArray SortFilterProxyModel::filterRole() const +{ + return m_filterRole; +} + +void SortFilterProxyModel::setFilterRole(const QByteArray &role) +{ + if (m_filterRole != role) { + m_filterRole = role; + if (m_complete) + QSortFilterProxyModel::setFilterRole(roleKey(role)); + } +} + +QString SortFilterProxyModel::filterString() const +{ + return filterRegExp().pattern(); +} + +void SortFilterProxyModel::setFilterString(const QString &filter) +{ + setFilterRegExp(QRegExp(filter, filterCaseSensitivity(), static_cast<QRegExp::PatternSyntax>(filterSyntax()))); +} + +SortFilterProxyModel::FilterSyntax SortFilterProxyModel::filterSyntax() const +{ + return static_cast<FilterSyntax>(filterRegExp().patternSyntax()); +} + +void SortFilterProxyModel::setFilterSyntax(SortFilterProxyModel::FilterSyntax syntax) +{ + setFilterRegExp(QRegExp(filterString(), filterCaseSensitivity(), static_cast<QRegExp::PatternSyntax>(syntax))); +} + +QJSValue SortFilterProxyModel::get(int idx) const +{ + QJSEngine *engine = qmlEngine(this); + QJSValue value = engine->newObject(); + if (idx >= 0 && idx < count()) { + QHash<int, QByteArray> roles = roleNames(); + QHashIterator<int, QByteArray> it(roles); + while (it.hasNext()) { + it.next(); + value.setProperty(QString::fromUtf8(it.value()), data(index(idx, 0), it.key()).toString()); + } + } + return value; +} + +void SortFilterProxyModel::classBegin() +{ +} + +void SortFilterProxyModel::componentComplete() +{ + m_complete = true; + if (!m_sortRole.isEmpty()) + QSortFilterProxyModel::setSortRole(roleKey(m_sortRole)); + if (!m_filterRole.isEmpty()) + QSortFilterProxyModel::setFilterRole(roleKey(m_filterRole)); +} + +int SortFilterProxyModel::roleKey(const QByteArray &role) const +{ + QHash<int, QByteArray> roles = roleNames(); + QHashIterator<int, QByteArray> it(roles); + while (it.hasNext()) { + it.next(); + if (it.value() == role) + return it.key(); + } + return -1; +} + +QHash<int, QByteArray> SortFilterProxyModel::roleNames() const +{ + if (QAbstractItemModel *source = sourceModel()) + return source->roleNames(); + return QHash<int, QByteArray>(); +} + +bool SortFilterProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const +{ + QRegExp rx = filterRegExp(); + if (rx.isEmpty()) + return true; + QAbstractItemModel *model = sourceModel(); + if (filterRole().isEmpty()) { + QHash<int, QByteArray> roles = roleNames(); + QHashIterator<int, QByteArray> it(roles); + while (it.hasNext()) { + it.next(); + QModelIndex sourceIndex = model->index(sourceRow, 0, sourceParent); + QString key = model->data(sourceIndex, it.key()).toString(); + if (key.contains(rx)) + return true; + } + return false; + } + QModelIndex sourceIndex = model->index(sourceRow, 0, sourceParent); + if (!sourceIndex.isValid()) + return true; + QString key = model->data(sourceIndex, roleKey(filterRole())).toString(); + return key.contains(rx); +} diff --git a/examples/quick/controls/tableview/src/sortfilterproxymodel.h b/examples/quick/controls/tableview/src/sortfilterproxymodel.h new file mode 100644 index 000000000..026b5d124 --- /dev/null +++ b/examples/quick/controls/tableview/src/sortfilterproxymodel.h @@ -0,0 +1,111 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Quick Controls module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef SORTFILTERPROXYMODEL_H +#define SORTFILTERPROXYMODEL_H + +#include <QtCore/qsortfilterproxymodel.h> +#include <QtQml/qqmlparserstatus.h> +#include <QtQml/qjsvalue.h> + +class SortFilterProxyModel : public QSortFilterProxyModel, public QQmlParserStatus +{ + Q_OBJECT + Q_INTERFACES(QQmlParserStatus) + + Q_PROPERTY(int count READ count NOTIFY countChanged) + Q_PROPERTY(QObject *source READ source WRITE setSource) + + Q_PROPERTY(QByteArray sortRole READ sortRole WRITE setSortRole) + Q_PROPERTY(Qt::SortOrder sortOrder READ sortOrder WRITE setSortOrder) + + Q_PROPERTY(QByteArray filterRole READ filterRole WRITE setFilterRole) + Q_PROPERTY(QString filterString READ filterString WRITE setFilterString) + Q_PROPERTY(FilterSyntax filterSyntax READ filterSyntax WRITE setFilterSyntax) + + Q_ENUMS(FilterSyntax) + +public: + explicit SortFilterProxyModel(QObject *parent = 0); + + QObject *source() const; + void setSource(QObject *source); + + QByteArray sortRole() const; + void setSortRole(const QByteArray &role); + + void setSortOrder(Qt::SortOrder order); + + QByteArray filterRole() const; + void setFilterRole(const QByteArray &role); + + QString filterString() const; + void setFilterString(const QString &filter); + + enum FilterSyntax { + RegExp, + Wildcard, + FixedString + }; + + FilterSyntax filterSyntax() const; + void setFilterSyntax(FilterSyntax syntax); + + int count() const; + Q_INVOKABLE QJSValue get(int index) const; + + void classBegin(); + void componentComplete(); + +signals: + void countChanged(); + +protected: + int roleKey(const QByteArray &role) const; + QHash<int, QByteArray> roleNames() const; + bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const; + +private: + bool m_complete; + QByteArray m_sortRole; + QByteArray m_filterRole; +}; + +#endif // SORTFILTERPROXYMODEL_H diff --git a/examples/quick/controls/tableview/src/src.pri b/examples/quick/controls/tableview/src/src.pri index 66d903eac..491f851c9 100644 --- a/examples/quick/controls/tableview/src/src.pri +++ b/examples/quick/controls/tableview/src/src.pri @@ -1,2 +1,8 @@ +INCLUDEPATH += $$PWD + +HEADERS += \ + $$PWD/sortfilterproxymodel.h + SOURCES += \ - $$PWD/main.cpp + $$PWD/main.cpp \ + $$PWD/sortfilterproxymodel.cpp diff --git a/examples/quick/controls/tableview/tableview.pro b/examples/quick/controls/tableview/tableview.pro index c982ac203..c0ed1a2f9 100644 --- a/examples/quick/controls/tableview/tableview.pro +++ b/examples/quick/controls/tableview/tableview.pro @@ -1,12 +1,11 @@ -QT += qml quick +TEMPLATE = app TARGET = tableview -!no_desktop: QT += widgets -include(src/src.pri) -include(../shared/shared.pri) +RESOURCES += \ + tableview.qrc OTHER_FILES += \ main.qml -RESOURCES += \ - resources.qrc +include(src/src.pri) +include(../shared/shared.pri) diff --git a/examples/quick/controls/tableview/tableview.qmlproject b/examples/quick/controls/tableview/tableview.qmlproject deleted file mode 100644 index e5a8bf02c..000000000 --- a/examples/quick/controls/tableview/tableview.qmlproject +++ /dev/null @@ -1,16 +0,0 @@ -import QmlProject 1.1 - -Project { - mainFile: "main.qml" - - /* Include .qml, .js, and image files from current directory and subdirectories */ - QmlFiles { - directory: "." - } - JavaScriptFiles { - directory: "." - } - ImageFiles { - directory: "." - } -} diff --git a/examples/quick/controls/tableview/tableview.qrc b/examples/quick/controls/tableview/tableview.qrc new file mode 100644 index 000000000..3b111a907 --- /dev/null +++ b/examples/quick/controls/tableview/tableview.qrc @@ -0,0 +1,5 @@ +<!DOCTYPE RCC><RCC version="1.0"> +<qresource prefix="/"> + <file>main.qml</file> +</qresource> +</RCC> diff --git a/src/controls/doc/images/qtquickcontrols-example-tableview.png b/src/controls/doc/images/qtquickcontrols-example-tableview.png index b9dc67c317a8f071841bbc5a6ffa78b997854723..c4ab8d9973ca1a9de080446f33e19c142e48d34a 100644 GIT binary patch literal 36290 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 P_)=5WJofyEY0!TG6F7&2 literal 38463 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 AyZ`_I diff --git a/src/controls/doc/src/qtquickcontrols-examples.qdoc b/src/controls/doc/src/qtquickcontrols-examples.qdoc index ca293df0e..4e6fccb08 100644 --- a/src/controls/doc/src/qtquickcontrols-examples.qdoc +++ b/src/controls/doc/src/qtquickcontrols-examples.qdoc @@ -69,10 +69,34 @@ \brief An example for the TableView control. \image qtquickcontrols-example-tableview.png - This example shows how a \l{TableView} from \l{Qt Quick Controls} - can be used together with different types of data models to display - lists of information with support for scroll bars, selections and - resizable header sections. + This example project demonstrates the usage of \l {TableView} from + \l{Qt Quick Controls} - a control to display one or more columns of + information from a data list model. The example includes a model + that supports sorting and filtering. + + The C++ class, SortFilterProxyModel, is registered as a QML type + under the namespace, "\c{org.qtproject.example 1.0}". + + The following snippets show how the type is registered under + a namespace and later imported by \e main.qml. + + QML type registration: + + \code + #include <QtQml/qqml.h> + ... + qmlRegisterType<SortFilterProxyModel>("org.qtproject.example", 1, 0, "SortFilterProxyModel"); + ... + \endcode + + QML namespace import: + + \qml + import org.qtproject.example 1.0 + \endqml + + For more information about registering C++ classses as QML types, see + \l {Defining QML Types from C++}. \include examples-run.qdocinc */ -- GitLab