diff options
Diffstat (limited to 'src/xml/node-fns.h')
| -rw-r--r-- | src/xml/node-fns.h | 58 |
1 files changed, 51 insertions, 7 deletions
diff --git a/src/xml/node-fns.h b/src/xml/node-fns.h index 54366e61f..4c6408789 100644 --- a/src/xml/node-fns.h +++ b/src/xml/node-fns.h @@ -1,37 +1,81 @@ -#ifndef SEEN_REPR_GET_CHILDREN_H -#define SEEN_REPR_GET_CHILDREN_H +/** @file + * @brief Helper functions for XML nodes + */ +/* Authors: + * Unknown author + * Krzysztof KosiĆski <tweenk.pl@gmail.com> (documentation) + * + * Copyright 2008 Authors + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * See the file COPYING for details. + */ + +#ifndef SEEN_XML_NODE_FNS_H +#define SEEN_XML_NODE_FNS_H #include "xml/node.h" namespace Inkscape { namespace XML { -class Node; - bool id_permitted(Node const *node); +//@{ +/** + * @brief Get the next node in sibling order + * @param node The origin node + * @return The next node in sibling order + * @relates Inkscape::XML::Node + */ inline Node *next_node(Node *node) { return ( node ? node->next() : NULL ); } inline Node const *next_node(Node const *node) { return ( node ? node->next() : NULL ); } +//@} + +//@{ +/** + * @brief Get the previous node in sibling order + * + * This method, unlike Node::next(), is a linear search over the children of @c node's parent. + * The return value is NULL when the node has no parent or is first in the sibling order. + * + * @param node The origin node + * @return The previous node in sibling order, or NULL + * @relates Inkscape::XML::Node + */ Node *previous_node(Node *node); inline Node const *previous_node(Node const *node) { return previous_node(const_cast<Node *>(node)); } +//@} + +//@{ +/** + * @brief Get the node's parent + * @param node The origin node + * @return The node's parent + * @relates Inkscape::XML::Node + */ inline Node *parent_node(Node *node) { return ( node ? node->parent() : NULL ); } inline Node const *parent_node(Node const *node) { return ( node ? node->parent() : NULL ); } +//@} } } -#endif /* !SEEN_REPR_GET_CHILDREN_H */ - +#endif /* !SEEN_XML_NODE_FNS_H */ /* Local Variables: mode:c++ @@ -41,4 +85,4 @@ inline Node const *parent_node(Node const *node) { fill-column:99 End: */ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : |
