git-svn-id: file:///svnroot/family-shop-mgr@27 26eb2498-383b-47a6-be48-5d6f36779e85
[family-shop-mgr] / code / family-shop-mgr / ShoppingTreeItem.h
index 73475a3..214db12 100644 (file)
 #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
+\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
@@ -36,18 +49,28 @@ public:
     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
     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<ShoppingTreeItem*> childItems;\r
     QVector<QVariant> itemData;\r
     ShoppingTreeItem *parentItem;\r
+\r
+    ItemType m_itemType;\r
 };\r
 \r
 #endif // SHOPPINGTREEITEM_H\r