Logo Search packages:      
Sourcecode: inkscape version File versions  Download package

Public Member Functions | Related Functions

Inkscape::XML::Document Struct Reference

Interface for XML documents. More...

#include <document.h>

Inheritance diagram for Inkscape::XML::Document:
Inheritance graph
[legend]
Collaboration diagram for Inkscape::XML::Document:
Collaboration graph
[legend]

List of all members.

Public Member Functions

unsigned _anchored_refcount () const
void anchor () const
virtual NodeObserverlogger ()=0
 Get the event logger for this document.
void release () const
Document transactions
virtual bool inTransaction ()=0
 Checks whether there is an active transaction for this document.
virtual void beginTransaction ()=0
 Begin a transaction and start recording changes.
virtual void rollback ()=0
 Restore the state of the document prior to the transaction.
virtual void commit ()=0
 Commit a transaction and discard change data.
virtual EventcommitUndoable ()=0
 Commit a transaction and store the events for later use.
Create new nodes
virtual NodecreateElement (char const *name)=0
virtual NodecreateTextNode (char const *content)=0
virtual NodecreateComment (char const *content)=0
virtual NodecreatePI (char const *target, char const *content)=0
Retrieve information about the node
virtual NodeType type () const =0
 Get the type of the node.
virtual gchar const * name () const =0
 Get the name of the element node.
virtual int code () const =0
 Get the integer code corresponding to the node's name.
virtual unsigned position () const =0
 Get the index of this node in parent's child order.
virtual unsigned childCount () const =0
 Get the number of children of this node.
virtual gchar const * content () const =0
 Get the content of a text or comment node.
virtual gchar const * attribute (gchar const *key) const =0
 Get the string representation of a node's attribute.
virtual Inkscape::Util::List
< AttributeRecord const > 
attributeList () const =0
 Get a list of the node's attributes.
virtual bool matchAttributeName (gchar const *partial_name) const =0
 Check whether this node has any attribute that matches a string.
Modify the node
virtual void setPosition (int pos)=0
 Set the position of this node in parent's child order.
virtual void setContent (gchar const *value)=0
 Set the content of a text or comment node.
virtual void setAttribute (gchar const *key, gchar const *value, bool is_interactive=false)=0
 Change an attribute of this node.
virtual void setCodeUnsafe (int code)=0
 Directly set the integer GQuark code for the name of the node.
Traverse the XML tree
virtual Documentdocument ()=0
 Get the node's associated document.
virtual Document const * document () const =0
virtual Noderoot ()=0
 Get the root node of this node's document.
virtual Node const * root () const =0
virtual Nodeparent ()=0
 Get the parent of this node.
virtual Node const * parent () const =0
virtual Nodenext ()=0
 Get the next sibling of this node.
virtual Node const * next () const =0
virtual NodefirstChild ()=0
 Get the first child of this node.
virtual Node const * firstChild () const =0
virtual NodelastChild ()=0
 Get the last child of this node.
virtual Node const * lastChild () const =0
virtual NodenthChild (unsigned index)=0
 Get the child of this node with a given index.
virtual Node const * nthChild (unsigned index) const =0
Manipulate the XML tree
virtual Nodeduplicate (Document *doc) const =0
 Create a duplicate of this node.
virtual void addChild (Node *child, Node *after)=0
 Insert another node as a child of this node.
virtual void appendChild (Node *child)=0
 Append a node as the last child of this node.
virtual void removeChild (Node *child)=0
 Remove a child of this node.
virtual void changeOrder (Node *child, Node *after)=0
 Move a given node in this node's child order.
virtual void mergeFrom (Node const *src, gchar const *key)=0
 Merge all children of another node with the current.
Notify observers about operations on the node
virtual void addObserver (NodeObserver &observer)=0
 Add an object that will be notified of the changes to this node.
virtual void removeObserver (NodeObserver &observer)=0
 Remove an object from the list of observers.
virtual void synthesizeEvents (NodeObserver &observer)=0
 Generate a sequence of events corresponding to the state of this node.
virtual void synthesizeEvents (NodeEventVector const *vector, void *data)=0
 Generate a sequence of events corresponding to the state of this node.
virtual void addSubtreeObserver (NodeObserver &observer)=0
 Add an object that will be notified of the changes to this node and its descendants.
virtual void removeSubtreeObserver (NodeObserver &observer)=0
 Remove an object from the subtree observers list.
virtual void addListener (NodeEventVector const *vector, void *data)=0
 Add a set node change callbacks with an associated data.
virtual void removeListenerByData (void *data)=0
 Remove a set of node change callbacks by their associated data.

Related Functions

(Note that these are not member functions.)


Inkscape::XML::Nodesp_repr_lookup_child (Inkscape::XML::Node *repr, gchar const *key, gchar const *value)
 Find an element node using an unique attribute.
Inkscape::XML::Nodesp_repr_lookup_name (Inkscape::XML::Node *repr, gchar const *name, gint maxdepth)
 Find an element node with the given name.
Nodenext_node (Node *node)
 Get the next node in sibling order.
Nodeprevious_node (Node *node)
 Get the previous node in sibling order.
Nodeparent_node (Node *node)
 Get the node's parent.

Detailed Description

Interface for XML documents.

This class represents a complete document tree. You have to go through this class to create new nodes. It also contains transaction support, which forms the base of the undo system.

The document is also a node. It usually contains only two child nodes - a processing instruction node (PINode) containing the XML prolog, and the root node. You can get the root node of the document by calling the root() method.

The name "transaction" can be misleading, because they are not atomic. Their main feature is that they provide rollback. After starting a transaction, all changes made to the document are stored in an internal event log. At any time after starting the transaction, you can call the rollback() method, which restores the document to the state it was before starting the transaction. Calling the commit() method causes the internal event log to be discarded, and you can estabilish a new "restore point" by calling beginTransaction() again. There can be only one active transaction at a time for a given document.

Definition at line 44 of file document.h.


The documentation for this struct was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index