diff options
Diffstat (limited to 'chrome/views')
-rw-r--r-- | chrome/views/tree_model.h | 3 | ||||
-rw-r--r-- | chrome/views/tree_node_model.h | 7 |
2 files changed, 8 insertions, 2 deletions
diff --git a/chrome/views/tree_model.h b/chrome/views/tree_model.h index 3608fbc..70be773 100644 --- a/chrome/views/tree_model.h +++ b/chrome/views/tree_model.h @@ -41,9 +41,8 @@ class TreeModelObserver { // Notification the children of |parent| have been reordered. Note, only // the direct children of |parent| have been reordered, not descendants. - // TODO(sky): make this pure virtual after all sites have been updated. virtual void TreeNodeChildrenReordered(TreeModel* model, - TreeModelNode* parent) {} + TreeModelNode* parent) = 0; // Notification that the contents of a node has changed. virtual void TreeNodeChanged(TreeModel* model, TreeModelNode* node) = 0; diff --git a/chrome/views/tree_node_model.h b/chrome/views/tree_node_model.h index 52126d6..eb7e290 100644 --- a/chrome/views/tree_node_model.h +++ b/chrome/views/tree_node_model.h @@ -92,6 +92,13 @@ class TreeNode : public TreeModelNode { return node; } + // Removes all the children from this node. This does NOT delete the nodes. + void RemoveAll() { + for (size_t i = 0; i < children_->size(); ++i) + children_[i]->parent_ = NULL; + children_->clear(); + } + // Returns the number of children. int GetChildCount() { return static_cast<int>(children_->size()); |