##// END OF EJS Templates
Refactoring of catalogue: use a custom item class
Refactoring of catalogue: use a custom item class

File last commit:

r1229:6059a4da3f90
r1229:6059a4da3f90
Show More
CatalogueAbstractTreeItem.h
34 lines | 1.0 KiB | text/x-c | CLexer
#ifndef SCIQLOP_CATALOGUEABSTRACTTREEITEM_H
#define SCIQLOP_CATALOGUEABSTRACTTREEITEM_H
#include <Common/spimpl.h>
#include <QVariant>
#include <QVector>
class QMimeData;
class CatalogueAbstractTreeItem {
public:
constexpr static const int DEFAULT_TYPE = -1;
CatalogueAbstractTreeItem(int type = DEFAULT_TYPE);
virtual ~CatalogueAbstractTreeItem();
void addChild(CatalogueAbstractTreeItem *child);
QVector<CatalogueAbstractTreeItem *> children() const;
CatalogueAbstractTreeItem *parent() const;
int type() const;
QString text(int column = 0) const;
virtual QVariant data(int column, int role) const;
virtual Qt::ItemFlags flags(int column) const;
virtual bool setData(int column, int role, const QVariant &value);
virtual bool canDropMimeData(const QMimeData *data, Qt::DropAction action);
private:
class CatalogueAbstractTreeItemPrivate;
spimpl::unique_impl_ptr<CatalogueAbstractTreeItemPrivate> impl;
};
#endif // SCIQLOP_CATALOGUEABSTRACTTREEITEM_H