X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Ftreemodel.h;h=f7159fd420189239122d55959dc944f21e5e8987;hp=a8c8a9940bd1e3497974023fa4b547f16f18078b;hb=c5cbe5eb77fce2ab954a98399a1450803108217b;hpb=c4507cf512b6fd04e5c75a7ac00b9c2888fb646f diff --git a/src/client/treemodel.h b/src/client/treemodel.h index a8c8a994..f7159fd4 100644 --- a/src/client/treemodel.h +++ b/src/client/treemodel.h @@ -43,6 +43,10 @@ public: void removeChild(int column, int row); void removeChild(int row); + + void removeChildById(int column, const quint64 &id); + void removeChildById(const quint64 &id); + void removeAllChilds(); virtual quint64 id() const; @@ -59,6 +63,7 @@ public: virtual int columnCount() const = 0; virtual QVariant data(int column, int role) const = 0; + virtual bool setData(int column, const QVariant &value, int role) = 0; virtual Qt::ItemFlags flags() const; virtual void setFlags(Qt::ItemFlags); @@ -70,8 +75,6 @@ public: signals: void dataChanged(int column = -1); void newChild(AbstractTreeItem *); - void childRemoved(int row); - void childsRemoved(int firstRow, int lastRow); void beginRemoveChilds(int firstRow, int lastRow); void endRemoveChilds(); @@ -97,7 +100,10 @@ class SimpleTreeItem : public AbstractTreeItem { public: SimpleTreeItem(const QList &data, AbstractTreeItem *parent = 0); virtual ~SimpleTreeItem(); + virtual QVariant data(int column, int role) const; + virtual bool setData(int column, const QVariant &value, int role); + virtual int columnCount() const; private: @@ -117,6 +123,8 @@ public: virtual ~PropertyMapItem(); virtual QVariant data(int column, int role) const; + virtual bool setData(int column, const QVariant &value, int role); + virtual int columnCount() const; void appendProperty(const QString &property); @@ -136,7 +144,9 @@ public: TreeModel(const QList &, QObject *parent = 0); virtual ~TreeModel(); - QVariant data(const QModelIndex &index, int role) const; + virtual QVariant data(const QModelIndex &index, int role) const; + virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); + virtual Qt::ItemFlags flags(const QModelIndex &index) const; QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; @@ -158,9 +168,6 @@ private slots: void beginRemoveChilds(int firstRow, int lastRow); void endRemoveChilds(); - void childRemoved(int row); - void childsRemoved(int firstRow, int lastRow); - protected: void appendChild(AbstractTreeItem *parent, AbstractTreeItem *child);