X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Ftreemodel.h;h=db7e5abb4c6316cffaad5655bdacca4e94731e3d;hp=df34fb06e0c328f0489f944fd1bbf1883444b8fa;hb=3a3e844f9fcfd12235a0086af75ecd503b621ef4;hpb=695758015a80eb8c158a9ac4c0f1c0b547e70df3 diff --git a/src/client/treemodel.h b/src/client/treemodel.h index df34fb06..db7e5abb 100644 --- a/src/client/treemodel.h +++ b/src/client/treemodel.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2015 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,8 +18,9 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef TREEMODEL_H -#define TREEMODEL_H +#pragma once + +#include "client-export.h" #include #include @@ -31,7 +32,7 @@ /***************************************** * general item used in the Tree Model *****************************************/ -class AbstractTreeItem : public QObject +class CLIENT_EXPORT AbstractTreeItem : public QObject { Q_OBJECT @@ -42,7 +43,7 @@ public: }; Q_DECLARE_FLAGS(TreeItemFlags, TreeItemFlag) - AbstractTreeItem(AbstractTreeItem *parent = 0); + AbstractTreeItem(AbstractTreeItem *parent = nullptr); bool newChild(AbstractTreeItem *child); bool newChilds(const QList &items); @@ -82,7 +83,7 @@ signals: void endRemoveChilds(); protected: - void customEvent(QEvent *event); + void customEvent(QEvent *event) override; private: QList _childItems; @@ -100,18 +101,18 @@ private: /***************************************** * SimpleTreeItem *****************************************/ -class SimpleTreeItem : public AbstractTreeItem +class CLIENT_EXPORT SimpleTreeItem : public AbstractTreeItem { Q_OBJECT public: - SimpleTreeItem(const QList &data, AbstractTreeItem *parent = 0); - virtual ~SimpleTreeItem(); + SimpleTreeItem(QList data, AbstractTreeItem *parent = nullptr); + ~SimpleTreeItem() override; - virtual QVariant data(int column, int role) const; - virtual bool setData(int column, const QVariant &value, int role); + QVariant data(int column, int role) const override; + bool setData(int column, const QVariant &value, int role) override; - virtual int columnCount() const; + int columnCount() const override; private: QList _itemData; @@ -121,33 +122,27 @@ private: /***************************************** * PropertyMapItem *****************************************/ -class PropertyMapItem : public AbstractTreeItem +class CLIENT_EXPORT PropertyMapItem : public AbstractTreeItem { Q_OBJECT public: - PropertyMapItem(const QStringList &propertyOrder, AbstractTreeItem *parent = 0); - PropertyMapItem(AbstractTreeItem *parent = 0); + PropertyMapItem(AbstractTreeItem *parent = nullptr); - virtual ~PropertyMapItem(); + virtual QStringList propertyOrder() const = 0; - virtual QVariant data(int column, int role) const; - virtual bool setData(int column, const QVariant &value, int role); + QVariant data(int column, int role) const override; + bool setData(int column, const QVariant &value, int role) override; virtual QString toolTip(int column) const { Q_UNUSED(column) return QString(); } - virtual int columnCount() const; - - void appendProperty(const QString &property); - -private: - QStringList _propertyOrder; + int columnCount() const override; }; /***************************************** * TreeModel *****************************************/ -class TreeModel : public QAbstractItemModel +class CLIENT_EXPORT TreeModel : public QAbstractItemModel { Q_OBJECT @@ -157,22 +152,24 @@ public: UserRole }; - TreeModel(const QList &, QObject *parent = 0); - virtual ~TreeModel(); + TreeModel(const QList &, QObject *parent = nullptr); + ~TreeModel() override; - virtual QVariant data(const QModelIndex &index, int role) const; - virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); + AbstractTreeItem *root() const; - virtual Qt::ItemFlags flags(const QModelIndex &index) const; - QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; + QVariant data(const QModelIndex &index, int role) const override; + bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override; - QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; + Qt::ItemFlags flags(const QModelIndex &index) const override; + QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; + + QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override; QModelIndex indexByItem(AbstractTreeItem *item) const; - QModelIndex parent(const QModelIndex &index) const; + QModelIndex parent(const QModelIndex &index) const override; - int rowCount(const QModelIndex &parent = QModelIndex()) const; - int columnCount(const QModelIndex &parent = QModelIndex()) const; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + int columnCount(const QModelIndex &parent = QModelIndex()) const override; virtual void clear(); @@ -208,6 +205,3 @@ private slots: void debug_rowsRemoved(const QModelIndex &parent, int start, int end); void debug_dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); }; - - -#endif