File: proxymodeltestwidget.cpp

package info (click to toggle)
kitemmodels 5.116.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,844 kB
  • sloc: cpp: 18,018; python: 26; sh: 13; makefile: 7
file content (57 lines) | stat: -rw-r--r-- 1,649 bytes parent folder | download | duplicates (3)
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
48
49
50
51
52
53
54
55
56
57
/*
    This file is part of the proxy model test suite.

    SPDX-FileCopyrightText: 2009 Stephen Kelly <steveire@gmail.com>

    SPDX-License-Identifier: LGPL-2.1-or-later
*/

#include "proxymodeltestwidget.h"

#include <QPushButton>
#include <QSplitter>
#include <QTreeView>
#include <QVBoxLayout>

#include "dynamictreemodel.h"
#include "kselectionproxymodel.h"
#include "modelcommander.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);
}

#include "moc_proxymodeltestwidget.cpp"