]> git.sven.stormbind.net Git - sven/vym.git/blob - src/findresultmodel.h
New upstream version 2.9.22
[sven/vym.git] / src / findresultmodel.h
1 #ifndef FINDRESULTMODEL_H
2 #define FINDRESULTMODEL_H
3
4 #include <QAbstractItemModel>
5 #include <QModelIndex>
6 #include <QTextDocument>
7 #include <QVariant>
8
9 class FindResultItem;
10 class TreeItem;
11
12 class FindResultModel : public QAbstractItemModel {
13     Q_OBJECT
14
15   public:
16     FindResultModel(QObject *parent = 0);
17     ~FindResultModel();
18     void clear();
19
20     QVariant data(const QModelIndex &index, int role) const;
21     QVariant headerData(int section, Qt::Orientation orientation,
22                         int role = Qt::DisplayRole) const;
23
24     QModelIndex index(FindResultItem *fri);
25     QModelIndex index(int row, int column,
26                       const QModelIndex &parent = QModelIndex()) const;
27     QModelIndex parent(const QModelIndex &index) const;
28
29     int rowCount(const QModelIndex &parent = QModelIndex()) const;
30     int columnCount(const QModelIndex &parent = QModelIndex()) const;
31
32     Qt::ItemFlags flags(const QModelIndex &index) const;
33     bool setData(const QModelIndex &index, const QVariant &value,
34                  int role = Qt::EditRole);
35     bool setHeaderData(int section, Qt::Orientation orientation,
36                        const QVariant &value, int role = Qt::EditRole);
37
38     bool insertColumns(int position, int columns,
39                        const QModelIndex &parent = QModelIndex());
40     bool removeColumns(int position, int columns,
41                        const QModelIndex &parent = QModelIndex());
42     bool insertRows(int position, int rows,
43                     const QModelIndex &parent = QModelIndex());
44     bool removeRows(int position, int rows,
45                     const QModelIndex &parent = QModelIndex());
46
47     FindResultItem *getItem(const QModelIndex &index) const;
48
49     FindResultItem *addItem(TreeItem *ti);
50     FindResultItem *addSubItem(FindResultItem *parent, const QString &s,
51                                TreeItem *pi, int i);
52
53     void setSearchString(const QString &s);
54     QString getSearchString();
55     void setSearchFlags(QTextDocument::FindFlags f);
56     QTextDocument::FindFlags getSearchFlags();
57     void setShowParentsLevel(uint i);
58     uint getShowParentsLevel();
59
60   private:
61     uint showParentsLevel;
62
63     FindResultItem *rootItem;
64
65     QString searchString;
66     QTextDocument::FindFlags searchFlags;
67 };
68
69 #endif