summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorBjörn Breitmeyer <bjoern.breitmeyer.ford@kdab.com>2015-05-12 11:06:07 +0200
committerBjörn Breitmeyer <bjoern.breitmeyer@kdab.com>2015-05-13 14:28:39 +0000
commit48798bddd807b788944f7dc8ecdae11495ee888c (patch)
tree3aef2a6d19567ef62cd9cddf274c608916f5cf69 /examples
parent6fb996146b58b185ab8b28fab6f78ef056b9655d (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.cpp4
-rw-r--r--examples/RemoteObjects/ModelViewServer/main.cpp33
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()));