summaryrefslogtreecommitdiffstats
path: root/src/xml/simple-node.h
diff options
context:
space:
mode:
authorMenTaLguY <mental@rydia.net>2007-07-04 23:27:58 +0000
committermental <mental@users.sourceforge.net>2007-07-04 23:27:58 +0000
commit270f8f25ff737fe755e87c057e93bdb9d840faa8 (patch)
treebcd33fdb34b2e5ad0ede9aa2b1f7400d252f54e1 /src/xml/simple-node.h
parentFirst stab at a connection UI from Nick (diff)
downloadinkscape-270f8f25ff737fe755e87c057e93bdb9d840faa8.tar.gz
inkscape-270f8f25ff737fe755e87c057e93bdb9d840faa8.zip
make subtree monitoring part of XML::Node's interface
(bzr r3186)
Diffstat (limited to 'src/xml/simple-node.h')
-rw-r--r--src/xml/simple-node.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/xml/simple-node.h b/src/xml/simple-node.h
index c843dadc5..b4439e289 100644
--- a/src/xml/simple-node.h
+++ b/src/xml/simple-node.h
@@ -103,6 +103,13 @@ public:
_observers.remove(observer);
}
+ void addSubtreeObserver(NodeObserver &observer) {
+ _subtree_observers.add(observer);
+ }
+ void removeSubtreeObserver(NodeObserver &observer) {
+ _subtree_observers.remove(observer);
+ }
+
protected:
SimpleNode(int code);
SimpleNode(SimpleNode const &repr);
@@ -110,7 +117,8 @@ protected:
virtual SimpleNode *_duplicate(Document *doc) const=0;
public: // ideally these should be protected somehow...
- void _setParent(Node *parent) { _parent = parent; }
+ NodeObserver &_subtreeObservers() { return _subtree_observers; }
+ void _setParent(Node *parent);
void _setNext(Node *next) { _next = next; }
void _bindDocument(Document &document);
@@ -140,6 +148,7 @@ private:
Node *_last_child;
CompositeNodeObserver _observers;
+ CompositeNodeObserver _subtree_observers;
};
}