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

sp-object.h File Reference


Detailed Description

Abstract base class for all nodes

Authors: Lauris Kaplinski <lauris@kaplinski.com>

Copyright (C) 1999-2002 authors Copyright (C) 2001-2002 Ximian, Inc.

Released under GNU GPL, read the file 'COPYING' for more information

Definition in file sp-object.h.

#include <glib-object.h>
#include <sigc++/connection.h>
#include <sigc++/functors/slot.h>
#include <sigc++/signal.h>
#include "forward.h"
#include "version.h"
#include "util/forward-pointer-iterator.h"

Go to the source code of this file.

Namespaces

namespace  Inkscape
namespace  Inkscape::XML

Classes

struct  SPCtx
 Unused. More...
struct  SPException
 An attempt to implement exceptions, unused? More...
struct  SPIXmlSpace
 Internal class consisting of two bits. More...
class  SPObject
 A refcounting tree node object. More...
struct  SPObject::ParentIteratorStrategy
 Switch containing next() method. More...
struct  SPObject::SiblingIteratorStrategy
 Switch containing next() method. More...
struct  SPObjectClass
 The SPObject vtable. More...

Defines

#define SP_EXCEPTION_INIT(ex)   {(ex)->code = SP_NO_EXCEPTION;}
#define SP_EXCEPTION_IS_OK(ex)   (!(ex) || ((ex)->code == SP_NO_EXCEPTION))
#define SP_OBJECT_CHILD_MODIFIED_FLAG   (1 << 1)
#define SP_OBJECT_DOCUMENT(o)   (((SPObject *) (o))->document)
#define SP_OBJECT_FLAGS_ALL   0xff
#define SP_OBJECT_HREFCOUNT(o)   (((SPObject *) (o))->hrefcount)
#define SP_OBJECT_ID(o)   (((SPObject *) (o))->getId())
#define SP_OBJECT_IS_CLONED(o)   (((SPObject *) (o))->cloned)
#define SP_OBJECT_MODIFIED_CASCADE   (SP_OBJECT_FLAGS_ALL & ~(SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))
#define SP_OBJECT_MODIFIED_FLAG   (1 << 0)
#define SP_OBJECT_MODIFIED_STATE   (SP_OBJECT_FLAGS_ALL & ~(SP_OBJECT_PARENT_MODIFIED_FLAG))
#define SP_OBJECT_NEXT(o)   (((SPObject *) (o))->next)
#define SP_OBJECT_PARENT(o)   (((SPObject *) (o))->parent)
#define SP_OBJECT_PARENT_MODIFIED_FLAG   (1 << 2)
#define SP_OBJECT_PREV(o)   (sp_object_prev((SPObject *) (o)))
#define SP_OBJECT_REPR(o)   (((SPObject *) (o))->repr)
#define SP_OBJECT_STYLE(o)   (((SPObject *) (o))->style)
#define SP_OBJECT_STYLE_MODIFIED_FLAG   (1 << 3)
#define SP_OBJECT_USER_MODIFIED_FLAG_A   (1 << 5)
#define SP_OBJECT_USER_MODIFIED_FLAG_B   (1 << 6)
#define SP_OBJECT_USER_MODIFIED_FLAG_C   (1 << 7)
#define SP_OBJECT_VIEWPORT_MODIFIED_FLAG   (1 << 4)
#define SP_OBJECT_WRITE_ALL   (1 << 2)
#define SP_OBJECT_WRITE_BUILD   (1 << 0)
#define SP_OBJECT_WRITE_EXT   (1 << 1)

Enumerations

enum  { SP_XML_SPACE_DEFAULT, SP_XML_SPACE_PRESERVE }
enum  SPExceptionType {
  SP_NO_EXCEPTION, SP_INDEX_SIZE_ERR, SP_DOMSTRING_SIZE_ERR, SP_HIERARCHY_REQUEST_ERR,
  SP_WRONG_DOCUMENT_ERR, SP_INVALID_CHARACTER_ERR, SP_NO_DATA_ALLOWED_ERR, SP_NO_MODIFICATION_ALLOWED_ERR,
  SP_NOT_FOUND_ERR, SP_NOT_SUPPORTED_ERR, SP_INUSE_ATTRIBUTE_ERR, SP_INVALID_STATE_ERR,
  SP_SYNTAX_ERR, SP_INVALID_MODIFICATION_ERR, SP_NAMESPACE_ERR, SP_INVALID_ACCESS_ERR
}

Functions

void sp_object_attach (SPObject *parent, SPObject *object, SPObject *prev)
int sp_object_compare_position (SPObject const *first, SPObject const *second)
void sp_object_detach (SPObject *parent, SPObject *object)
SPObjectsp_object_first_child (SPObject *parent)
SPObjectsp_object_get_child_by_repr (SPObject *object, Inkscape::XML::Node *repr)
gchar const * sp_object_get_style_property (SPObject const *object, gchar const *key, gchar const *def)
gchar const * sp_object_getAttribute (SPObject const *object, gchar const *key, SPException *ex)
SPObjectsp_object_href (SPObject *object, gpointer owner)
SPObjectsp_object_hunref (SPObject *object, gpointer owner)
void sp_object_invoke_build (SPObject *object, SPDocument *document, Inkscape::XML::Node *repr, unsigned int cloned)
SPObjectsp_object_prev (SPObject *child)
void sp_object_read_attr (SPObject *object, gchar const *key)
SPObjectsp_object_ref (SPObject *object, SPObject *owner=NULL)
void sp_object_removeAttribute (SPObject *object, gchar const *key, SPException *ex)
void sp_object_reorder (SPObject *object, SPObject *prev)
void sp_object_set (SPObject *object, unsigned int key, gchar const *value)
void sp_object_setAttribute (SPObject *object, gchar const *key, gchar const *value, SPException *ex)
gchar const * sp_object_tagName_get (SPObject const *object, SPException *ex)
SPObjectsp_object_unref (SPObject *object, SPObject *owner=NULL)


Generated by  Doxygen 1.6.0   Back to index