summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-05-01 22:41:12 -0400
committerBen Boeckel <MathStuf@gmail.com>2009-05-01 22:41:12 -0400
commitc82f833ffdeeb96df01acc3db1d9470723a2eb2f (patch)
tree52d57a5758b08ac37389cee911cce8b3369d2b7a
parent7bfa5c29faf7f593b81e6917f81364da1837a73a (diff)
downloadsigen-c82f833ffdeeb96df01acc3db1d9470723a2eb2f.tar.gz
sigen-c82f833ffdeeb96df01acc3db1d9470723a2eb2f.tar.xz
sigen-c82f833ffdeeb96df01acc3db1d9470723a2eb2f.zip
Add factory method so that the root item can create new ones
-rw-r--r--sigmodr/tree/RootTreeItem.cpp2
-rw-r--r--sigmodr/tree/TreeItem.cpp5
-rw-r--r--sigmodr/tree/TreeItem.h2
3 files changed, 8 insertions, 1 deletions
diff --git a/sigmodr/tree/RootTreeItem.cpp b/sigmodr/tree/RootTreeItem.cpp
index 9e55e0e6..08cc7ce7 100644
--- a/sigmodr/tree/RootTreeItem.cpp
+++ b/sigmodr/tree/RootTreeItem.cpp
@@ -31,5 +31,5 @@ RootTreeItem::RootTreeItem() :
void RootTreeItem::addGame(Game* game)
{
-// m_children.append(new TreeItem(EntryGame, game, this));
+ m_children.append(newTreeItem(EntryGame, game, this));
}
diff --git a/sigmodr/tree/TreeItem.cpp b/sigmodr/tree/TreeItem.cpp
index 4652bb38..f825b27a 100644
--- a/sigmodr/tree/TreeItem.cpp
+++ b/sigmodr/tree/TreeItem.cpp
@@ -37,6 +37,11 @@ TreeItem::~TreeItem()
delete item;
}
+TreeItem* TreeItem::newTreeItem(ItemType type, Sigmod::Object* object, TreeItem* parent)
+{
+ return new TreeItem(type, object, parent);
+}
+
int TreeItem::row()
{
if (m_parent)
diff --git a/sigmodr/tree/TreeItem.h b/sigmodr/tree/TreeItem.h
index d8250edf..42608759 100644
--- a/sigmodr/tree/TreeItem.h
+++ b/sigmodr/tree/TreeItem.h
@@ -133,6 +133,8 @@ class SIGMODRTREE_NO_EXPORT TreeItem
TreeItem(const ItemType type, Sigmod::Object* object, TreeItem* parent);
virtual ~TreeItem();
+ TreeItem* newTreeItem(const ItemType type, Sigmod::Object* object, TreeItem* parent);
+
const ItemType m_type;
Sigmod::Object* m_object;
TreeItem* m_parent;