23 #include "dom/dom_exception.h"
24 #include "dom/dom_string.h"
25 #include "xml/dom2_traversalimpl.h"
30 NodeIterator::NodeIterator()
38 if (impl) impl->ref();
41 NodeIterator::NodeIterator(NodeIteratorImpl *i)
44 if (impl) impl->ref();
49 if ( impl != other.impl ) {
50 if (impl) impl->deref();
52 if (impl) impl->ref();
57 NodeIterator::~NodeIterator()
59 if (impl) impl->deref();
64 if (impl)
return impl->root();
70 if (impl)
return impl->whatToShow();
76 if (impl)
return impl->filter();
82 if (impl)
return impl->expandEntityReferences();
91 int exceptioncode = 0;
92 NodeImpl *r = impl->nextNode(exceptioncode);
103 int exceptioncode = 0;
104 NodeImpl *r = impl->previousNode(exceptioncode);
115 int exceptioncode = 0;
116 impl->detach(exceptioncode);
121 NodeIteratorImpl *NodeIterator::handle()
const
126 bool NodeIterator::isNull()
const
133 NodeFilter::NodeFilter()
138 NodeFilter::NodeFilter(
const NodeFilter &other)
141 if (impl) impl->ref();
144 NodeFilter::NodeFilter(NodeFilterImpl *i)
147 if (impl) impl->ref();
152 if ( impl != other.impl ) {
153 if (impl) impl->deref();
155 if (impl) impl->ref();
160 NodeFilter::~NodeFilter()
162 if (impl) impl->deref();
167 if (impl)
return impl->acceptNode(n);
173 if (impl) impl->setCustomNodeFilter(custom);
178 if (impl)
return impl->customNodeFilter();
182 NodeFilterImpl *NodeFilter::handle()
const
187 bool NodeFilter::isNull()
const
194 NodeFilterImpl *i =
new NodeFilterImpl();
195 i->setCustomNodeFilter(custom);
200 CustomNodeFilter::CustomNodeFilter()
205 CustomNodeFilter::~CustomNodeFilter()
209 short CustomNodeFilter::acceptNode (
const Node &)
211 return NodeFilter::FILTER_ACCEPT;
214 bool CustomNodeFilter::isNull()
219 DOMString CustomNodeFilter::customNodeFilterType()
226 TreeWalker::TreeWalker()
231 TreeWalker::TreeWalker(
const TreeWalker &other)
234 if (impl) impl->ref();
237 TreeWalker::TreeWalker(TreeWalkerImpl *i)
240 if (impl) impl->ref();
245 if ( impl != other.impl ) {
246 if (impl) impl->deref();
248 if (impl) impl->ref();
254 TreeWalker::~TreeWalker()
256 if (impl) impl->deref();
261 if (impl)
return impl->getRoot();
267 if (impl)
return impl->getWhatToShow();
273 if (impl)
return impl->getFilter();
279 if (impl)
return impl->getExpandEntityReferences();
285 if (impl)
return impl->getCurrentNode();
291 if (impl) impl->setCurrentNode(_currentNode.handle());
296 if (impl)
return impl->parentNode();
302 if (impl)
return impl->firstChild();
308 if (impl)
return impl->lastChild();
314 if (impl)
return impl->previousSibling();
320 if (impl)
return impl->nextSibling();
326 if (impl)
return impl->previousNode();
332 if (impl)
return impl->nextNode();
336 TreeWalkerImpl *TreeWalker::handle()
const
341 bool TreeWalker::isNull()
const