/*
5 * Authors: see git history
7 * Copyright (C) 2018 Authors
8 * Copyright 2005 MenTaLguY <mental@rydia.net>
10 * Released under GNU GPL v2+, read the file
'COPYING' for more information.
Enumeration of all XML event types.
void removeChild(Node &node, Node &child, Node *prev)
void setContent(Node &node, Util::ptr_shared old_content, Util::ptr_shared new_content)
void addChild(Node &node, Node &child, Node *prev)
void setElementName(Node &node, GQuark old_name, GQuark new_name)
void setAttribute(Node &node, GQuark name, Util::ptr_shared old_value, Util::ptr_shared new_value)
void discard()
Clear the internal log.
Event * detach()
Get the internal event log.
void setChildOrder(Node &node, Node &child, Node *old_prev, Node *new_prev)
Interface for refcounted XML nodes.
virtual Node * next()=0
Get the next sibling of this node.
virtual void appendChild(Node *child)=0
Append a node as the last child of this node.
void notifyChildOrderChanged(Node &parent, Node &child, Node *old_prev, Node *new_prev) override
Child order change callback.
void notifyContentChanged(Node &node, Util::ptr_shared old_content, Util::ptr_shared new_content) override
Content change callback.
Node * createComment(char const *content) override
Node * createElement(char const *name) override
void notifyChildRemoved(Node &parent, Node &child, Node *prev) override
Child removal callback.
void notifyElementNameChanged(Node &node, GQuark old_name, GQuark new_name) override
Element name change callback.
void rollback() override
Restore the state of the document prior to the transaction.
void beginTransaction() override
Begin a transaction and start recording changes.
Inkscape::XML::Event * commitUndoable() override
Commit a transaction and store the events for later use.
void notifyAttributeChanged(Node &node, GQuark name, Util::ptr_shared old_value, Util::ptr_shared new_value) override
Attribute change callback.
Node * createPI(char const *target, char const *content) override
void notifyChildAdded(Node &parent, Node &child, Node *prev) override
Child addition callback.
void commit() override
Commit a transaction and discard change data.
Document * duplicate(Document *) const override
Create a duplicate of this node.
Node * createTextNode(char const *content) override
Node * firstChild() override
Get the first child of this node.
Node * parent() override
Get the parent of this node.
char const * content() const override
Get the content of a text or comment node.
char const * name() const override
Get the name of the element node.
static char const *const parent
Element node implementation.
TODO: insert short description here.
void sp_repr_undo_log(Inkscape::XML::Event *log)
void sp_repr_free_log(Inkscape::XML::Event *log)
Inkscape::XML::Node * node
static R & release(R &r)
Decrements the reference count of a anchored object.
ptr_shared share_string(char const *string)
Helper class to stream background task notifications as a series of messages.
Processing instruction node implementation.
Piecewise< SBasis > log(Interval in)
Inkscape::XML::SimpleDocument - generic XML document implementation.
Interface for XML documents.
Document * duplicate(Document *doc) const override=0
Create a duplicate of this node.
Processing instruction node, e.g.
Text node implementation.