kdelibs/kdeui/tests/proxymodeltestapp/proxymodeltestwidget.cpp
2014-11-13 01:04:59 +02:00

73 lines
2.2 KiB
C++
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* This file is part of the proxy model test suite.
*
* Copyright 2009  Stephen Kelly <steveire@gmail.com>
*
* 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 "proxymodeltestwidget.h"
#include <QSplitter>
#include <QTreeView>
#include <QHBoxLayout>
#include <QPushButton>
#include "modelcommander.h"
#include "dynamictreemodel.h"
#include "kselectionproxymodel.h"
#if 0
#include "kdescendantsproxymodel.h"
#endif
#include "modelcommanderwidget.h"
ProxyModelTestWidget::ProxyModelTestWidget(QWidget* parent, Qt::WindowFlags f)
: QWidget(parent, f)
{
QVBoxLayout *layout = new QVBoxLayout(this);
QSplitter *splitter = new QSplitter(this);
m_rootModel = new DynamicTreeModel(this);
(void) new ModelCommanderWidget(m_rootModel, splitter);
QTreeView *rootModelView = new QTreeView(splitter);
rootModelView->setModel(m_rootModel);
rootModelView->setSelectionMode(QTreeView::ExtendedSelection);
KSelectionProxyModel *selProxyModel = new KSelectionProxyModel(rootModelView->selectionModel(), this);
selProxyModel->setSourceModel(m_rootModel);
selProxyModel->setFilterBehavior(KSelectionProxyModel::ChildrenOfExactSelection);
QTreeView *selModelView = new QTreeView(splitter);
selModelView->setModel(selProxyModel);
#if 0
KDescendantsProxyModel *descProxyModel = new KDescendantsProxyModel(this);
descProxyModel->setSourceModel(m_rootModel);
QTreeView *descProxyModelView = new QTreeView(splitter);
descProxyModelView ->setModel(descProxyModel);
#endif
// Your Proxy Here?
layout->addWidget(splitter);
}