defuze.me
Client
|
00001 /************************************************************************** 00002 ** defuze.me Epitech Innovative Project 00003 ** 00004 ** Copyright 2010-2012 00005 ** Athena Calmettes - Jocelyn De La Rosa - Francois Gaillard 00006 ** Adrien Jarthon - Alexandre Moore - Luc Peres - Arnaud Sellier 00007 ** 00008 ** All rights reserved. 00009 **************************************************************************/ 00010 00011 #ifndef EDITABLETREEITEM_HPP 00012 #define EDITABLETREEITEM_HPP 00013 00014 #include <QList> 00015 #include <QVariant> 00016 #include <QVector> 00017 #include <QModelIndex> 00018 00019 class EditableTreeItem 00020 { 00021 public: 00022 EditableTreeItem(const QVector<QVariant> &data, EditableTreeItem *parent = 0); 00023 EditableTreeItem(const QString &title, EditableTreeItem *parent = 0); 00024 ~EditableTreeItem(); 00025 00026 EditableTreeItem *child(int number); 00027 int childCount() const; 00028 int columnCount() const; 00029 QVariant data(int column) const; 00030 bool insertChildren(int position, int count, int columns); 00031 bool insertColumns(int position, int columns); 00032 EditableTreeItem *parent(); 00033 bool removeChildren(int position, int count); 00034 bool removeColumns(int position, int columns); 00035 int childNumber() const; 00036 bool setData(int column, const QVariant &value); 00037 00038 QModelIndex index; 00039 00040 protected: 00041 QList<EditableTreeItem*> childItems; 00042 QVector<QVariant> itemData; 00043 EditableTreeItem *parentItem; 00044 }; 00045 00046 #endif // EDITABLETREEITEM_HPP