#include <cstdlib>
#include <cstring>
#include <list>
#include <map>
#include <string>
#include <utility>
#include "extract-uri.h"
#include "id-clash.h"
#include "sp-object.h"
#include "style.h"
#include "xml/node.h"
#include "xml/repr.h"
Go to the source code of this file.
Classes | |
struct | IdReference |
Defines | |
#define | __ID_CLASH_C__ |
#define | NUM_CLIPBOARD_PROPERTIES (sizeof(clipboard_properties) / sizeof(*clipboard_properties)) |
#define | NUM_HREF_LIKE_ATTRIBUTES (sizeof(href_like_attributes) / sizeof(*href_like_attributes)) |
#define | NUM_OTHER_URL_PROPERTIES (sizeof(other_url_properties) / sizeof(*other_url_properties)) |
#define | NUM_SPIPAINT_PROPERTIES (sizeof(SPIPaint_properties) / sizeof(*SPIPaint_properties)) |
Typedefs | |
typedef std::pair< SPObject *, std::string > | id_changeitem_type |
typedef std::list < id_changeitem_type > | id_changelist_type |
typedef std::map< std::string, std::list< IdReference > > | refmap_type |
Enumerations | |
enum | ID_REF_TYPE { REF_HREF, REF_STYLE, REF_URL, REF_CLIPBOARD } |
Functions | |
static void | change_clashing_ids (SPDocument *imported_doc, SPDocument *current_doc, SPObject *elem, const refmap_type *refmap, id_changelist_type *id_changes) |
static void | find_references (SPObject *elem, refmap_type *refmap) |
static void | fix_up_refs (const refmap_type *refmap, const id_changelist_type &id_changes) |
void | prevent_id_clashes (SPDocument *imported_doc, SPDocument *current_doc) |
Variables | |
const char * | clipboard_properties [] |
const char * | href_like_attributes [] |
const char * | other_url_properties [] |
const SPIPaint SPStyle::* | SPIPaint_members [] |
const char * | SPIPaint_properties [] |
Routines for resolving ID clashes when importing or pasting.
Authors: Stephen Silver <sasilver@users.sourceforge.net>
Copyright (C) 2008 authors
Released under GNU GPL, read the file 'COPYING' for more information
Definition in file id-clash.cpp.