⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dom2_traversal.cpp

📁 konqueror3 embedded版本, KDE环境下的当家浏览器的嵌入式版本源码包.
💻 CPP
字号:
/** * This file is part of the DOM implementation for KDE. * * (C) 1999 Lars Knoll (knoll@kde.org) * (C) 2000 Frederik Holljen (frederik.holljen@hig.no) * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB.  If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. * */#include "dom/dom_exception.h"#include "dom/dom_string.h"#include "xml/dom2_traversalimpl.h"using namespace DOM;NodeIterator::NodeIterator(){    impl = 0;}NodeIterator::NodeIterator(const NodeIterator &other){    impl = other.impl;    if (impl) impl->ref();}NodeIterator::NodeIterator(NodeIteratorImpl *i){    impl = i;    if (impl) impl->ref();}NodeIterator &NodeIterator::operator = (const NodeIterator &other){    if ( impl != other.impl ) {	if (impl) impl->deref();	impl = other.impl;	if (impl) impl->ref();    }    return *this;}NodeIterator::~NodeIterator(){    if (impl) impl->deref();}Node NodeIterator::root(){    if (impl) return impl->root();    return 0;}unsigned long NodeIterator::whatToShow(){    if (impl) return impl->whatToShow();    return 0;}NodeFilter NodeIterator::filter(){    if (impl) return impl->filter();    return 0;}bool NodeIterator::expandEntityReferences(){    if (impl) return impl->expandEntityReferences();    return 0;}Node NodeIterator::nextNode(  ){    if (!impl)	throw DOMException(DOMException::INVALID_STATE_ERR);    int exceptioncode = 0;    NodeImpl *r = impl->nextNode(exceptioncode);    if (exceptioncode)	throw DOMException(exceptioncode);    return r;}Node NodeIterator::previousNode(  ){    if (!impl)	throw DOMException(DOMException::INVALID_STATE_ERR);    int exceptioncode = 0;    NodeImpl *r = impl->previousNode(exceptioncode);    if (exceptioncode)	throw DOMException(exceptioncode);    return r;}void NodeIterator::detach(){    if (!impl)	throw DOMException(DOMException::INVALID_STATE_ERR);    int exceptioncode = 0;    impl->detach(exceptioncode);    if (exceptioncode)	throw DOMException(exceptioncode);}NodeIteratorImpl *NodeIterator::handle() const{    return impl;}bool NodeIterator::isNull() const{    return (impl == 0);}// -----------------------------------------------------------NodeFilter::NodeFilter(){    impl = 0;}NodeFilter::NodeFilter(const NodeFilter &other){    impl = other.impl;    if (impl) impl->ref();}NodeFilter::NodeFilter(NodeFilterImpl *i){    impl = i;    if (impl) impl->ref();}NodeFilter &NodeFilter::operator = (const NodeFilter &other){    if ( impl != other.impl ) {	if (impl) impl->deref();	impl = other.impl;	if (impl) impl->ref();    }    return *this;}NodeFilter::~NodeFilter(){    if (impl) impl->deref();}short NodeFilter::acceptNode(const Node &n){    if (impl) return impl->acceptNode(n);    return 0;}void NodeFilter::setCustomNodeFilter(CustomNodeFilter *custom){    if (impl) impl->setCustomNodeFilter(custom);}CustomNodeFilter *NodeFilter::customNodeFilter(){    if (impl) return impl->customNodeFilter();    return 0;}NodeFilterImpl *NodeFilter::handle() const{    return impl;}bool NodeFilter::isNull() const{    return (impl == 0);}NodeFilter NodeFilter::createCustom(CustomNodeFilter *custom){    NodeFilterImpl *i = new NodeFilterImpl();    i->setCustomNodeFilter(custom);    return i;}// --------------------------------------------------------------CustomNodeFilter::CustomNodeFilter(){    impl = 0;}CustomNodeFilter::~CustomNodeFilter(){}short CustomNodeFilter::acceptNode (const Node &/*n*/){    return NodeFilter::FILTER_ACCEPT;}bool CustomNodeFilter::isNull(){    return false;}DOMString CustomNodeFilter::customNodeFilterType(){    return "";}// --------------------------------------------------------------TreeWalker::TreeWalker(){    impl = 0;}TreeWalker::TreeWalker(const TreeWalker &other){    impl = other.impl;    if (impl) impl->ref();}TreeWalker::TreeWalker(TreeWalkerImpl *i){    impl = i;    if (impl) impl->ref();}TreeWalker & TreeWalker::operator = (const TreeWalker &other){    if ( impl != other.impl ) {	if (impl) impl->deref();	impl = other.impl;	if (impl) impl->ref();    }    return *this;}TreeWalker::~TreeWalker(){    if (impl) impl->deref();}Node TreeWalker::root(){    if (impl) return impl->getRoot();    return 0;}unsigned long TreeWalker::whatToShow(){    if (impl) return impl->getWhatToShow();    return 0;}NodeFilter TreeWalker::filter(){    if (impl) return impl->getFilter();    return 0;}bool TreeWalker::expandEntityReferences(){    if (impl) return impl->getExpandEntityReferences();    return false;}Node TreeWalker::currentNode(){    if (impl) return impl->getCurrentNode();    return 0;}void TreeWalker::setCurrentNode(const Node& _currentNode){    if (impl) impl->setCurrentNode(_currentNode.handle());}Node TreeWalker::parentNode(){    if (impl) return impl->parentNode();    return 0;}Node TreeWalker::firstChild(){    if (impl) return impl->firstChild();    return 0;}Node TreeWalker::lastChild(){    if (impl) return impl->lastChild();    return 0;}Node TreeWalker::previousSibling(){    if (impl) return impl->previousSibling();    return 0;}Node TreeWalker::nextSibling(){    if (impl) return impl->nextSibling();    return 0;}Node TreeWalker::previousNode(){    if (impl) return impl->previousNode();    return 0;}Node TreeWalker::nextNode(){    if (impl) return impl->nextNode();    return 0;}TreeWalkerImpl *TreeWalker::handle() const{    return impl;}bool TreeWalker::isNull() const{    return (impl == 0);}// -----------------------------------------------------------------------/*DocumentTraversal::DocumentTraversal(){}DocumentTraversal::DocumentTraversal(const DocumentTraversal &other){}DocumentTraversal &DocumentTraversal::operator = (const DocumentTraversal &other){    DocumentTraversal::operator = (other);    return *this;}DocumentTraversal::~DocumentTraversal(){}NodeIterator DocumentTraversal::createNodeIterator( const Node &root, long whatToShow,						    const NodeFilter &filter,						    bool entityReferenceExpansion ){    return NodeIterator();}TreeWalker DocumentTraversal::createTreeWalker( const Node &root, long whatToShow,						const NodeFilter &filter,						bool entityReferenceExpansion ){    return TreeWalker();}*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -