1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
/*
This file is part of the proxy model test suite.
SPDX-FileCopyrightText: 2015 Stephen Kelly <steveire@gmail.com>
SPDX-License-Identifier: LGPL-2.1-or-later
*/
#include "selectioninqmlwidget.h"
#include <QHBoxLayout>
#include <QLabel>
#include <QQmlContext>
#include <QQmlEngine>
#include <QQuickWidget>
#include <QSplitter>
#include <QTreeView>
#include "dynamictreemodel.h"
#include "dynamictreewidget.h"
#include "kselectionproxymodel.h"
SelectionInQmlWidget::SelectionInQmlWidget(QWidget *parent)
: QWidget(parent)
{
QHBoxLayout *layout = new QHBoxLayout(this);
QSplitter *splitter = new QSplitter(this);
layout->addWidget(splitter);
m_rootModel = new DynamicTreeModel(this);
new DynamicTreeWidget(m_rootModel, splitter);
QTreeView *selectionTree = new QTreeView(splitter);
selectionTree->setSelectionMode(QAbstractItemView::ExtendedSelection);
selectionTree->setModel(m_rootModel);
selectionTree->expandAll();
qmlRegisterType<KSelectionProxyModel>("KF5ItemModels", 1, 0, "SelectionProxyModel");
QQuickWidget *quickView = new QQuickWidget(splitter);
quickView->engine()->rootContext()->setContextProperty(QStringLiteral("_model"), m_rootModel);
quickView->engine()->rootContext()->setContextProperty(QStringLiteral("_selectionModel"), selectionTree->selectionModel());
quickView->setSource(QUrl::fromLocalFile(QLatin1String(SRC_DIR "/selection.qml")));
}
|