#ifndef SHOPPINGTREEITEM_H\r
#define SHOPPINGTREEITEM_H\r
\r
-#include <QList>\r
-#include <QVariant>\r
-#include <QVector>\r
+#include <QDomNode>\r
+#include <QHash>\r
\r
-#include "ShoppingTreeModel.h"\r
-\r
-class ShoppingTreeItem : public QObject\r
+class ShoppingTreeItem\r
{\r
-Q_OBJECT\r
-\r
public:\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(QDomNode &node, int row, 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
- ShoppingTreeModel* model = 0);\r
- bool insertColumns(int position, int columns);\r
+ ShoppingTreeItem *child(int i);\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
+ QDomNode node() const;\r
+ int row();\r
\r
private:\r
- QList<ShoppingTreeItem*> childItems;\r
- QVector<QVariant> itemData;\r
+ QDomNode domNode;\r
+ QHash<int,ShoppingTreeItem*> childItems;\r
ShoppingTreeItem *parentItem;\r
-\r
- ItemType m_itemType;\r
+ int rowNumber;\r
};\r
\r
#endif // SHOPPINGTREEITEM_H\r