/* * This file is part of the proxy model test suite. * * Copyright 2015 Stephen Kelly * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301  USA */ #include "selectioninqmlwidget.h" #include #include #include #include #include #include #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("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"))); }