Typed SVG document implementation. More...
#include <document.h>
Public Types | |
typedef sigc::signal< void > | CommitSignal |
typedef sigc::signal< void, SPObject * > | IDChangedSignal |
typedef sigc::signal< void, guint > | ModifiedSignal |
typedef sigc::signal< void > | ReconstructionFinish |
typedef sigc::signal< void > | ReconstructionStart |
typedef sigc::signal< void, double, double > | ResizedSignal |
typedef sigc::signal< void > | ResourcesChangedSignal |
typedef sigc::signal< void, gchar const * > | URISetSignal |
Public Member Functions | |
unsigned | _anchored_refcount () const |
void | _emitModified () |
bool | _updateDocument () |
void | addUndoObserver (Inkscape::UndoStackObserver &observer) |
void | anchor () const |
void | bindObjectToId (gchar const *id, SPObject *object) |
void | bindObjectToRepr (Inkscape::XML::Node *repr, SPObject *object) |
void | collectOrphans () |
sigc::connection | connectCommit (CommitSignal::slot_type slot) |
sigc::connection | connectIdChanged (const gchar *id, IDChangedSignal::slot_type slot) |
sigc::connection | connectModified (ModifiedSignal::slot_type slot) |
sigc::connection | connectReconstructionFinish (ReconstructionFinish::slot_type slot) |
sigc::connection | connectReconstructionStart (ReconstructionStart::slot_type slot) |
sigc::connection | connectResized (ResizedSignal::slot_type slot) |
sigc::connection | connectURISet (URISetSignal::slot_type slot) |
void | emitReconstructionFinish (void) |
void | emitReconstructionStart (void) |
void | fitToRect (Geom::Rect const &rect, bool with_margins=false) |
Persp3D * | getCurrentPersp3D () |
Persp3DImpl * | getCurrentPersp3DImpl () |
Glib::ustring | getLanguage () |
SPObject * | getObjectById (gchar const *id) |
SPObject * | getObjectByRepr (Inkscape::XML::Node *repr) |
void | getPerspectivesInDefs (std::vector< Persp3D * > &list) |
bool | isModifiedSinceSave () const |
bool | isSeeking () const |
Are we currently in a transition between two "known good" states of the document? | |
unsigned int | numPerspectivesInDefs () |
void | operator delete (void *p) |
void * | operator new (std::size_t size, ScanPolicy scan=SCANNED, CollectionPolicy collect=AUTO) throw (std::bad_alloc) |
void * | operator new[] (std::size_t size, ScanPolicy scan=SCANNED, CollectionPolicy collect=AUTO) throw (std::bad_alloc) |
void | queueForOrphanCollection (SPObject *object) |
void | release () const |
void | removeUndoObserver (Inkscape::UndoStackObserver &observer) |
void | reset_key (void *dummy) |
unsigned long | serial () const |
void | setCurrentPersp3D (Persp3D *const persp) |
void | setCurrentPersp3DImpl (Persp3DImpl *const persp_impl) |
void | setModifiedSinceSave (bool modified=true) |
Public Attributes | |
GSList * | _collection_queue |
sigc::connection | _desktop_activated_connection |
sigc::connection | _selection_changed_connection |
Glib::ustring | actionkey |
Last action key. | |
gchar * | base |
To be used for resolving relative hrefs. | |
unsigned int | keepalive: 1 |
guint | modified_id |
Handler ID. | |
unsigned int | modified_since_save: 1 |
gchar * | name |
basename(uri) or other human-readable label for the document. | |
bool | oldSignalsConnected |
SPDocumentPrivate * | priv |
Inkscape::ProfileManager * | profileManager |
Inkscape::XML::Document * | rdoc |
Our Inkscape::XML::Document. | |
guint | rerouting_handler_id |
Connector rerouting handler ID. | |
SPObject * | root |
Our SPRoot. | |
Avoid::Router * | router |
Inkscape::XML::Node * | rroot |
Root element of Inkscape::XML::Document. | |
CRCascade * | style_cascade |
gchar * | uri |
A filename (not a URI yet), or NULL. | |
unsigned int | virgin: 1 |
Has the document never been touched? | |
Private Member Functions | |
void | operator= (SPDocument const &) |
SPDocument (SPDocument const &) | |
Private Attributes | |
Persp3D * | current_persp3d |
Persp3DImpl * | current_persp3d_impl |
Typed SVG document implementation.
SPDocument serves as the container of both model trees (agnostic XML and typed object tree), and implements all of the document-level functionality used by the program. Many document level operations, like load, save, print, export and so on, use SPDocument as their basic datatype.
SPDocument implements undo and redo stacks and an id-based object dictionary. Thanks to unique id attributes, the latter can be used to map from the XML tree back to the object tree.
SPDocument performs the basic operations needed for asynchronous update notification (SPObject modified virtual method), and implements the 'modified' signal, as well.
Definition at line 68 of file document.h.