diff options
author | Björn Breitmeyer <bjoern.breitmeyer.ford@kdab.com> | 2015-05-12 11:06:07 +0200 |
---|---|---|
committer | Björn Breitmeyer <bjoern.breitmeyer@kdab.com> | 2015-05-13 14:28:39 +0000 |
commit | 48798bddd807b788944f7dc8ecdae11495ee888c (patch) | |
tree | 3aef2a6d19567ef62cd9cddf274c608916f5cf69 /examples | |
parent | 6fb996146b58b185ab8b28fab6f78ef056b9655d (diff) |
start extending modelview examples.
Change-Id: I67bae866d49b6d96af0f9e5b580f6bc7fdd5d41b
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/RemoteObjects/ModelViewClient/main.cpp | 4 | ||||
-rw-r--r-- | examples/RemoteObjects/ModelViewServer/main.cpp | 33 |
2 files changed, 31 insertions, 6 deletions
diff --git a/examples/RemoteObjects/ModelViewClient/main.cpp b/examples/RemoteObjects/ModelViewClient/main.cpp index 7eecdd4..177132e 100644 --- a/examples/RemoteObjects/ModelViewClient/main.cpp +++ b/examples/RemoteObjects/ModelViewClient/main.cpp @@ -39,7 +39,7 @@ ** ****************************************************************************/ -#include <QTableView> +#include <QTreeView> #include <QApplication> #include <QRemoteObjectNode> #include <QAbstractItemReplica> @@ -57,7 +57,7 @@ int main(int argc, char **argv) QRemoteObjectNode node = QRemoteObjectNode::createNodeConnectedToRegistry(); - QTableView view; + QTreeView view; view.setWindowTitle(QStringLiteral("RemoteView")); view.resize(640,480); view.setModel(node.acquireModel(QStringLiteral("RemoteModel"))); diff --git a/examples/RemoteObjects/ModelViewServer/main.cpp b/examples/RemoteObjects/ModelViewServer/main.cpp index d6cdc4f..421741d 100644 --- a/examples/RemoteObjects/ModelViewServer/main.cpp +++ b/examples/RemoteObjects/ModelViewServer/main.cpp @@ -38,7 +38,7 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ -#include <QTableView> +#include <QTreeView> #include <QApplication> #include <QRemoteObjectNode> #include <QTimer> @@ -50,7 +50,7 @@ struct TimerHandler : public QObject { Q_OBJECT public: - QAbstractItemModel *model; + QStandardItemModel *model; public Q_SLOTS: void changeData() { Q_ASSERT(model); @@ -73,11 +73,32 @@ public Q_SLOTS: model->removeRows(2, 4); } + void changeFlags() { + QStandardItem *item = model->item(0, 0); + item->setEnabled(false); + item = item->child(0, 0); + item->setFlags(item->flags() & Qt::ItemIsSelectable); + } + void moveData() { model->moveRows(QModelIndex(), 2, 4, QModelIndex(), 10); } }; +QList<QStandardItem*> addChild(int numChildren, int nestingLevel) +{ + QList<QStandardItem*> result; + if (nestingLevel == 0) + return result; + for (int i = 0; i < numChildren; ++i) { + QStandardItem *child = new QStandardItem(QStringLiteral("Child num %1, nesting Level %2").arg(i+1).arg(nestingLevel)); + if (i == 0) + child->appendRow(addChild(numChildren, nestingLevel -1)); + result.push_back(child); + } + return result; +} + int main(int argc, char *argv[]) { QLoggingCategory::setFilterRules("qt.remoteobjects.debug=false\n" @@ -93,12 +114,15 @@ int main(int argc, char *argv[]) list.reserve(modelSize); for (int i = 0; i < modelSize; ++i) { QStandardItem *firstItem = new QStandardItem(QStringLiteral("FancyTextNumber %1").arg(i)); + if (i == 0) + firstItem->appendRow(addChild(2, 2)); QStandardItem *secondItem = new QStandardItem(QStringLiteral("FancyRow2TextNumber %1").arg(i)); if (i % 2 == 0) firstItem->setBackground(Qt::red); QList<QStandardItem*> row; row << firstItem << secondItem; - sourceModel.appendRow(row); + sourceModel.invisibleRootItem()->appendRow(row); + //sourceModel.appendRow(row); list << QStringLiteral("FancyTextNumber %1").arg(i); } @@ -111,7 +135,7 @@ int main(int argc, char *argv[]) QRemoteObjectNode node2 = QRemoteObjectNode::createHostNodeConnectedToRegistry(); node2.enableRemoting(&sourceModel, QStringLiteral("RemoteModel"), roles); - QTableView view; + QTreeView view; view.setWindowTitle(QStringLiteral("SourceView")); view.setModel(&sourceModel); view.show(); @@ -119,6 +143,7 @@ int main(int argc, char *argv[]) handler.model = &sourceModel; QTimer::singleShot(5000, &handler, SLOT(changeData())); QTimer::singleShot(10000, &handler, SLOT(insertData())); + QTimer::singleShot(11000, &handler, SLOT(changeFlags())); QTimer::singleShot(12000, &handler, SLOT(removeData())); QTimer::singleShot(13000, &handler, SLOT(moveData())); |