summaryrefslogtreecommitdiffstats
path: root/smtreeitem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'smtreeitem.cpp')
-rw-r--r--smtreeitem.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/smtreeitem.cpp b/smtreeitem.cpp
index 950926e..e7f4336 100644
--- a/smtreeitem.cpp
+++ b/smtreeitem.cpp
@@ -23,7 +23,7 @@ void SmTreeItem::appendChild(SmTreeItem *child){
mChildren.append(child);
}
-SmTreeItem *SmTreeItem::child(int row){
+SmTreeItem *SmTreeItem::child(int row) const{
return mChildren.at(row);
}
@@ -46,6 +46,10 @@ SmTreeItem *SmTreeItem::parent(){
return mParent;
}
+void SmTreeItem::setParent(SmTreeItem *parent){
+ mParent = parent;
+}
+
QVariant SmTreeItem::data(int column) const{
return mData.at(column);
}
@@ -62,10 +66,13 @@ bool SmTreeItem::insertChild(int where, SmTreeItem *child){
return true;
}
-bool SmTreeItem::removeChild(int where){
+bool SmTreeItem::removeChild(int where, bool deleteChild){
if((where < 0) || (where >= mChildren.count())){
return false;
}
- delete mChildren.takeAt(where);
+ SmTreeItem *child = mChildren.takeAt(where);
+ if(deleteChild){
+ delete child;
+ }
return true;
}