#include <QVariant>\r
#include <QVector>\r
\r
-class ShoppingTreeItem\r
+#include "ShoppingTreeModel.h"\r
+\r
+class ShoppingTreeItem : public QObject\r
{\r
+Q_OBJECT\r
+\r
public:\r
- ShoppingTreeItem(const QVector<QVariant> &data, TreeItem *parent = 0);\r
- ShoppingTreeItem();\r
+\r
+ enum ItemType\r
+ {\r
+ Category = 0,\r
+ Item = 1,\r
+\r
+ NotDefined = -1\r
+ };\r
+\r
+ ShoppingTreeItem(const QVector<QVariant> &data, ShoppingTreeItem *parent = 0);\r
+ ~ShoppingTreeItem();\r
\r
ShoppingTreeItem *child(int number);\r
int childCount() const;\r
int columnCount() const;\r
QVariant data(int column) const;\r
- bool insertChildren(int position, int count, int columns);\r
+ bool insertChildren(int position, int count, int columns,\r
+ ShoppingTreeModel* model = 0);\r
bool insertColumns(int position, int columns);\r
- TreeItem *parent();\r
+ ShoppingTreeItem *parent();\r
bool removeChildren(int position, int count);\r
bool removeColumns(int position, int columns);\r
int childNumber() const;\r
bool setData(int column, const QVariant &value);\r
+ bool setItemType(const ItemType type);\r
+ ItemType getItemType() const;\r
+\r
+signals:\r
+ void childItemSet(ShoppingTreeItem *item);\r
+ void dataChanged(int column);\r
+ void childRemoved(ShoppingTreeItem *item);\r
\r
private:\r
- QList<TreeItem*> childItems;\r
+ QList<ShoppingTreeItem*> childItems;\r
QVector<QVariant> itemData;\r
- TreeItem *parentItem;\r
+ ShoppingTreeItem *parentItem;\r
+\r
+ ItemType m_itemType;\r
};\r
\r
#endif // SHOPPINGTREEITEM_H\r