From d05e58717cb708c5d6f511d748b8f630413f799e Mon Sep 17 00:00:00 2001 From: johnce Date: Wed, 5 Aug 2009 18:32:38 +0000 Subject: [PATCH] xml/Document -> DocumentTree --- src/arc-context.cpp | 3 ++- src/box3d-context.cpp | 2 +- src/document.h | 4 +++- src/xml/document.h | 6 +++--- src/xml/rebase-hrefs.cpp | 8 ++++---- src/xml/rebase-hrefs.h | 5 +++-- src/xml/repr-css.cpp | 8 ++++---- src/xml/repr.h | 2 +- 8 files changed, 21 insertions(+), 17 deletions(-) diff --git a/src/arc-context.cpp b/src/arc-context.cpp index e689c93db..835e43a26 100644 --- a/src/arc-context.cpp +++ b/src/arc-context.cpp @@ -25,6 +25,7 @@ #include "display/sp-canvas.h" #include "sp-ellipse.h" #include "document.h" +#include "xml/document.h" #include "sp-namedview.h" #include "selection.h" #include "desktop-handles.h" @@ -403,7 +404,7 @@ static void sp_arc_drag(SPArcContext *ac, Geom::Point pt, guint state) } /* Create object */ - Inkscape::XML::Document *xml_doc = sp_document_repr_doc(desktop->doc()); + Inkscape::XML::DocumentTree *xml_doc = sp_document_repr_doc(desktop->doc()); Inkscape::XML::Node *repr = xml_doc->createElement("svg:path"); repr->setAttribute("sodipodi:type", "arc"); diff --git a/src/box3d-context.cpp b/src/box3d-context.cpp index 7e6eaaa22..4146ec30d 100644 --- a/src/box3d-context.cpp +++ b/src/box3d-context.cpp @@ -561,7 +561,7 @@ static void sp_box3d_drag(Box3DContext &bc, guint /*state*/) } /* Create object */ - Inkscape::XML::Document *xml_doc = sp_document_repr_doc(SP_EVENT_CONTEXT_DOCUMENT(&bc)); + Inkscape::XML::DocumentTree *xml_doc = sp_document_repr_doc(SP_EVENT_CONTEXT_DOCUMENT(&bc)); Inkscape::XML::Node *repr = xml_doc->createElement("svg:g"); repr->setAttribute("sodipodi:type", "inkscape:box3d"); diff --git a/src/document.h b/src/document.h index 45b828155..cb83c4d0d 100644 --- a/src/document.h +++ b/src/document.h @@ -31,6 +31,8 @@ #include #include +#include "xml/document.h" + namespace Avoid { class Router; } @@ -84,7 +86,7 @@ public: unsigned int virgin : 1; ///< Has the document never been touched? unsigned int modified_since_save : 1; - Inkscape::XML::Document *rdoc; ///< Our Inkscape::XML::Document + Inkscape::XML::DocumentTree *rdoc; ///< Our Inkscape::XML::Document Inkscape::XML::Node *rroot; ///< Root element of Inkscape::XML::Document SPObject *root; ///< Our SPRoot CRCascade *style_cascade; diff --git a/src/xml/document.h b/src/xml/document.h index 2b9ea5cc3..a5f457fe8 100644 --- a/src/xml/document.h +++ b/src/xml/document.h @@ -12,8 +12,8 @@ * */ -#ifndef SEEN_INKSCAPE_XML_SP_REPR_DOC_H -#define SEEN_INKSCAPE_XML_SP_REPR_DOC_H +#ifndef SEEN_INKSCAPE_XML_SP_REPR_DOCTREE_H +#define SEEN_INKSCAPE_XML_SP_REPR_DOCTREE_H #include "xml/xml-forward.h" #include "xml/node.h" @@ -41,7 +41,7 @@ namespace XML { * "restore point" by calling beginTransaction() again. There can be only one active * transaction at a time for a given document. */ -struct Document : virtual public Node { +class DocumentTree : virtual public Node { public: /** * @name Document transactions diff --git a/src/xml/rebase-hrefs.cpp b/src/xml/rebase-hrefs.cpp index 8d771fef2..0fa5c0337 100644 --- a/src/xml/rebase-hrefs.cpp +++ b/src/xml/rebase-hrefs.cpp @@ -1,6 +1,6 @@ #include "xml/rebase-hrefs.h" #include "dir-util.h" -#include "../document.h" /* Unfortunately there's a separate xml/document.h. */ +#include "document.h" /* Unfortunately there's a separate xml/document.h. */ #include "io/sys.h" #include "sp-object.h" #include "streq.h" @@ -199,9 +199,9 @@ Inkscape::XML::calc_abs_doc_base(gchar const *const doc_base) * * \param spns True iff doc should contain sodipodi:absref attributes. */ -void Inkscape::XML::rebase_hrefs(Document *const doc, gchar const *const new_base, bool const spns) +void Inkscape::XML::rebase_hrefs(Inkscape::XML::Document *doc, gchar const *const new_base, bool const spns) { - gchar *const old_abs_base = calc_abs_doc_base(doc->base); + gchar *const old_abs_base = calc_abs_doc_base((Inkscape::XML::Document *)(doc)->base); gchar *const new_abs_base = calc_abs_doc_base(new_base); /* TODO: Should handle not just image but also: @@ -224,7 +224,7 @@ void Inkscape::XML::rebase_hrefs(Document *const doc, gchar const *const new_bas * * Note also that Inkscape only supports fragment hrefs (href="#pattern257") for many of these * cases. */ - GSList const *images = sp_document_get_resource_list(doc, "image"); + GSList const *images = sp_document_get_resource_list((Inkscape::XML::Document *)doc, "image"); for (GSList const *l = images; l != NULL; l = l->next) { Inkscape::XML::Node *ir = SP_OBJECT_REPR(l->data); diff --git a/src/xml/rebase-hrefs.h b/src/xml/rebase-hrefs.h index 2f82a5587..36de6ba6e 100644 --- a/src/xml/rebase-hrefs.h +++ b/src/xml/rebase-hrefs.h @@ -4,14 +4,15 @@ #include #include "util/list.h" #include "xml/attribute-record.h" -struct Document; +#include "document.h" namespace Inkscape { namespace XML { +//struct Document; gchar *calc_abs_doc_base(gchar const *doc_base); -void rebase_hrefs(Document *doc, gchar const *new_base, bool spns); +void rebase_hrefs(Inkscape::XML::Document *doc, gchar const *new_base, bool spns); Inkscape::Util::List rebase_href_attrs( gchar const *old_abs_base, diff --git a/src/xml/repr-css.cpp b/src/xml/repr-css.cpp index 172cfa6f3..a7e913853 100644 --- a/src/xml/repr-css.cpp +++ b/src/xml/repr-css.cpp @@ -22,15 +22,15 @@ using Inkscape::XML::NodeType; struct SPCSSAttrImpl : public SimpleNode, public SPCSSAttr { public: - SPCSSAttrImpl(Document *doc) + SPCSSAttrImpl(Inkscape::XML::Document *doc) : SimpleNode(g_quark_from_static_string("css"), doc) {} - SPCSSAttrImpl(SPCSSAttrImpl const &other, Document *doc) - : SimpleNode(other, doc) {} + SPCSSAttrImpl(SPCSSAttrImpl const &other, Inkscape::XML::Document *doc) + : SimpleNode(other, (Inkscape::XML::Document *)doc) {} NodeType type() const { return Inkscape::XML::ELEMENT_NODE; } protected: - SimpleNode *_duplicate(Inkscape::XML::Document* doc) const { return new SPCSSAttrImpl(*this, doc); } + SimpleNode *_duplicate(Inkscape::XML::Document* doc) const { return new SPCSSAttrImpl(*this, (Inkscape::XML::Document *)doc); } }; static void sp_repr_css_add_components(SPCSSAttr *css, Node *repr, gchar const *attr); diff --git a/src/xml/repr.h b/src/xml/repr.h index 549822e4e..b40fe63a9 100644 --- a/src/xml/repr.h +++ b/src/xml/repr.h @@ -148,7 +148,7 @@ Inkscape::XML::Node *sp_repr_lookup_child(Inkscape::XML::Node *repr, gchar const *value); -inline Inkscape::XML::Node *sp_repr_document_first_child(Inkscape::XML::Document const *doc) { +inline Inkscape::XML::Node *sp_repr_document_first_child(Inkscape::XML::DocumentTree const *doc) { return const_cast(doc->firstChild()); } -- 2.30.2