Scribus
Open source desktop publishing at your fingertips
treemodel.h
1 /****************************************************************************
2 **
3 ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
4 ** All rights reserved.
5 ** Contact: Nokia Corporation (qt-info@nokia.com)
6 **
7 ** This file is part of the examples of the Qt Toolkit.
8 **
9 ** $QT_BEGIN_LICENSE:BSD$
10 ** You may use this file under the terms of the BSD license as follows:
11 **
12 ** "Redistribution and use in source and binary forms, with or without
13 ** modification, are permitted provided that the following conditions are
14 ** met:
15 ** * Redistributions of source code must retain the above copyright
16 ** notice, this list of conditions and the following disclaimer.
17 ** * Redistributions in binary form must reproduce the above copyright
18 ** notice, this list of conditions and the following disclaimer in
19 ** the documentation and/or other materials provided with the
20 ** distribution.
21 ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
22 ** the names of its contributors may be used to endorse or promote
23 ** products derived from this software without specific prior written
24 ** permission.
25 **
26 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
27 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
28 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
29 ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
30 ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
31 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
32 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
33 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
34 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36 ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
37 ** $QT_END_LICENSE$
38 **
39 ****************************************************************************/
40 
41 #ifndef TREEMODEL_H
42 #define TREEMODEL_H
43 
44 #include <QAbstractItemModel>
45 #include <QModelIndex>
46 #include <QVariant>
47 
48 //Scribus class TreeItem;
49 #include "treeitem.h" //Scribus include this here to make subclasses easier
50 
52 class TreeModel : public QAbstractItemModel
53 {
54  Q_OBJECT
55 
56 public:
57  TreeModel(const QString &data, QObject *parent = 0);
58  TreeModel(QObject *parent = 0) {}; //Scribus Added for ScHelpTreeModel
59  ~TreeModel();
60 
61  QVariant data(const QModelIndex &index, int role) const;
62  Qt::ItemFlags flags(const QModelIndex &index) const;
63  QVariant headerData(int section, Qt::Orientation orientation,
64  int role = Qt::DisplayRole) const;
65  QModelIndex index(int row, int column,
66  const QModelIndex &parent = QModelIndex()) const;
67  QModelIndex parent(const QModelIndex &index) const;
68  int rowCount(const QModelIndex &parent = QModelIndex()) const;
69  int columnCount(const QModelIndex &parent = QModelIndex()) const;
70 
71 //Scribus private:
72 protected:
73  void setupModelData(const QStringList &lines, TreeItem *parent);
74 
75  TreeItem *rootItem;
76 };
78 
79 #endif
[0]
Definition: treemodel.h:52
QVariant data(const QModelIndex &index, int role) const
[2]
Definition: treemodel.cpp:82
~TreeModel()
[0]
Definition: treemodel.cpp:65
TreeModel(const QString &data, QObject *parent=0)
[0]
Definition: treemodel.cpp:54
int rowCount(const QModelIndex &parent=QModelIndex()) const
[7]
Definition: treemodel.cpp:156
int columnCount(const QModelIndex &parent=QModelIndex()) const
[1]
Definition: treemodel.cpp:72
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
[4]
Definition: treemodel.cpp:107
QModelIndex parent(const QModelIndex &index) const
[6]
Definition: treemodel.cpp:140
Qt::ItemFlags flags(const QModelIndex &index) const
[3]
Definition: treemodel.cpp:97
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const
[5]
Definition: treemodel.cpp:118
void setupModelData(const QStringList &lines, TreeItem *parent)
[8]
Definition: treemodel.cpp:171
[0]
Definition: treeitem.h:48