-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathobjectbrowser.h
40 lines (31 loc) · 971 Bytes
/
objectbrowser.h
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
/*
* objectbrowser.h, part of VCMI engine
*
* Authors: listed in file AUTHORS in main folder
*
* License: GNU General Public License v2.0 or later
* Full text of license available in license.txt file, in main folder
*
*/
#pragma once
#include <QSortFilterProxyModel>
#include "../lib/GameConstants.h"
class ObjectBrowserProxyModel : public QSortFilterProxyModel
{
public:
explicit ObjectBrowserProxyModel(QObject *parent = nullptr);
Qt::ItemFlags flags(const QModelIndex &index) const override;
QMimeData * mimeData(const QModelIndexList & indexes) const override;
TerrainId terrain;
QString filter;
protected:
bool filterAcceptsRow(int source_row, const QModelIndex & source_parent) const override;
bool filterAcceptsRowText(int source_row, const QModelIndex &source_parent) const;
};
class ObjectBrowser : public QTreeView
{
public:
ObjectBrowser(QWidget * parent);
protected:
void startDrag(Qt::DropActions supportedActions) override;
};