summaryrefslogtreecommitdiffstats
path: root/src/dialogs
diff options
context:
space:
mode:
authorJon A. Cruz <jon@joncruz.org>2010-12-12 09:05:21 +0000
committerJon A. Cruz <jon@joncruz.org>2010-12-12 09:05:21 +0000
commit7ddc9f155a2a0822e2e56d828bbdccc65c141081 (patch)
tree3f890c0c112433fd850d59558208addf1baa85da /src/dialogs
parentPot and Dutch translation update (diff)
parentMerge and cleanup of GSoC C++-ification project. (diff)
downloadinkscape-7ddc9f155a2a0822e2e56d828bbdccc65c141081.tar.gz
inkscape-7ddc9f155a2a0822e2e56d828bbdccc65c141081.zip
GSoC C++-ificiation merge and cleanup.
(bzr r9946)
Diffstat (limited to 'src/dialogs')
-rw-r--r--src/dialogs/clonetiler.cpp55
-rw-r--r--src/dialogs/export.cpp57
-rw-r--r--src/dialogs/find.cpp10
-rw-r--r--src/dialogs/item-properties.cpp29
-rw-r--r--src/dialogs/spellcheck.cpp19
-rw-r--r--src/dialogs/text-edit.cpp11
-rw-r--r--src/dialogs/xml-tree.cpp61
7 files changed, 129 insertions, 113 deletions
diff --git a/src/dialogs/clonetiler.cpp b/src/dialogs/clonetiler.cpp
index 864cf8927..8045675b4 100644
--- a/src/dialogs/clonetiler.cpp
+++ b/src/dialogs/clonetiler.cpp
@@ -4,6 +4,8 @@
/* Authors:
* bulia byak <buliabyak@users.sf.net>
* Johan Engelen <goejendaagh@zonnet.nl>
+ * Jon A. Cruz <jon@joncruz.org>
+ * Abhishek Sharma
*
* Copyright (C) 2004-2006 Authors
* Released under GNU GPL, read the file 'COPYING' for more information
@@ -45,6 +47,8 @@
#include "widgets/icon.h"
#include "xml/repr.h"
+using Inkscape::DocumentUndo;
+
#define MIN_ONSCREEN_DISTANCE 50
static GtkWidget *dlg = NULL;
@@ -110,11 +114,6 @@ clonetiler_dialog_delete (GtkObject */*object*/, GdkEvent * /*event*/, gpointer
}
-static void on_delete()
-{
- (void)clonetiler_dialog_delete (0, 0, NULL);
-}
-
static void
on_picker_color_changed (guint rgba)
{
@@ -839,9 +838,9 @@ clonetiler_trace_hide_tiled_clones_recursively (SPObject *from)
if (!trace_arena)
return;
- for (SPObject *o = sp_object_first_child(from); o != NULL; o = SP_OBJECT_NEXT(o)) {
+ for (SPObject *o = from->firstChild(); o != NULL; o = o->next) {
if (SP_IS_ITEM(o) && clonetiler_is_a_clone_of (o, NULL))
- sp_item_invoke_hide(SP_ITEM(o), trace_visionkey); // FIXME: hide each tiled clone's original too!
+ SP_ITEM(o)->invoke_hide(trace_visionkey); // FIXME: hide each tiled clone's original too!
clonetiler_trace_hide_tiled_clones_recursively (o);
}
}
@@ -851,17 +850,16 @@ clonetiler_trace_setup (SPDocument *doc, gdouble zoom, SPItem *original)
{
trace_arena = NRArena::create();
/* Create ArenaItem and set transform */
- trace_visionkey = sp_item_display_key_new(1);
+ trace_visionkey = SPItem::display_key_new(1);
trace_doc = doc;
- trace_root = sp_item_invoke_show( SP_ITEM(SP_DOCUMENT_ROOT (trace_doc)),
- (NRArena *) trace_arena, trace_visionkey, SP_ITEM_SHOW_DISPLAY);
+ trace_root = SP_ITEM(trace_doc->getRoot())->invoke_show((NRArena *) trace_arena, trace_visionkey, SP_ITEM_SHOW_DISPLAY);
// hide the (current) original and any tiled clones, we only want to pick the background
- sp_item_invoke_hide(original, trace_visionkey);
- clonetiler_trace_hide_tiled_clones_recursively (SP_OBJECT(SP_DOCUMENT_ROOT (trace_doc)));
+ original->invoke_hide(trace_visionkey);
+ clonetiler_trace_hide_tiled_clones_recursively(SP_OBJECT(trace_doc->getRoot()));
- sp_document_root (trace_doc)->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG);
- sp_document_ensure_up_to_date(trace_doc);
+ trace_doc->getRoot()->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG);
+ trace_doc->ensureUpToDate();
trace_zoom = zoom;
}
@@ -944,7 +942,7 @@ static void
clonetiler_trace_finish ()
{
if (trace_doc) {
- sp_item_invoke_hide(SP_ITEM(sp_document_root(trace_doc)), trace_visionkey);
+ SP_ITEM(trace_doc->getRoot())->invoke_hide(trace_visionkey);
}
if (trace_arena) {
((NRObject *) trace_arena)->unreference();
@@ -972,20 +970,20 @@ clonetiler_unclump( GtkWidget */*widget*/, void * )
GSList *to_unclump = NULL; // not including the original
- for (SPObject *child = sp_object_first_child(parent); child != NULL; child = SP_OBJECT_NEXT(child)) {
+ for (SPObject *child = parent->firstChild(); child != NULL; child = child->next) {
if (clonetiler_is_a_clone_of (child, obj)) {
to_unclump = g_slist_prepend (to_unclump, child);
}
}
- sp_document_ensure_up_to_date(sp_desktop_document(desktop));
+ sp_desktop_document(desktop)->ensureUpToDate();
unclump (to_unclump);
g_slist_free (to_unclump);
- sp_document_done (sp_desktop_document (desktop), SP_VERB_DIALOG_CLONETILER,
- _("Unclump tiled clones"));
+ DocumentUndo::done(sp_desktop_document(desktop), SP_VERB_DIALOG_CLONETILER,
+ _("Unclump tiled clones"));
}
static guint
@@ -995,7 +993,7 @@ clonetiler_number_of_clones (SPObject *obj)
guint n = 0;
- for (SPObject *child = sp_object_first_child(parent); child != NULL; child = SP_OBJECT_NEXT(child)) {
+ for (SPObject *child = parent->firstChild(); child != NULL; child = child->next) {
if (clonetiler_is_a_clone_of (child, obj)) {
n ++;
}
@@ -1024,7 +1022,7 @@ clonetiler_remove( GtkWidget */*widget*/, void *, bool do_undo = true )
// remove old tiling
GSList *to_delete = NULL;
- for (SPObject *child = sp_object_first_child(parent); child != NULL; child = SP_OBJECT_NEXT(child)) {
+ for (SPObject *child = parent->firstChild(); child != NULL; child = child->next) {
if (clonetiler_is_a_clone_of (child, obj)) {
to_delete = g_slist_prepend (to_delete, child);
}
@@ -1036,9 +1034,10 @@ clonetiler_remove( GtkWidget */*widget*/, void *, bool do_undo = true )
clonetiler_change_selection (NULL, selection, dlg);
- if (do_undo)
- sp_document_done (sp_desktop_document (desktop), SP_VERB_DIALOG_CLONETILER,
- _("Delete tiled clones"));
+ if (do_undo) {
+ DocumentUndo::done(sp_desktop_document(desktop), SP_VERB_DIALOG_CLONETILER,
+ _("Delete tiled clones"));
+ }
}
static Geom::Rect
@@ -1222,7 +1221,7 @@ clonetiler_apply( GtkWidget */*widget*/, void * )
bool prefs_bbox = prefs->getBool("/tools/bounding_box", false);
SPItem::BBoxType bbox_type = ( prefs_bbox ?
SPItem::APPROXIMATE_BBOX : SPItem::GEOMETRIC_BBOX );
- Geom::OptRect r = SP_ITEM(obj)->getBounds(sp_item_i2doc_affine(SP_ITEM(obj)),
+ Geom::OptRect r = SP_ITEM(obj)->getBounds(SP_ITEM(obj)->i2doc_affine(),
bbox_type);
if (r) {
w = r->dimensions()[Geom::X];
@@ -1471,7 +1470,7 @@ clonetiler_apply( GtkWidget */*widget*/, void * )
double radius = blur * perimeter;
// this is necessary for all newly added clones to have correct bboxes,
// otherwise filters won't work:
- sp_document_ensure_up_to_date(sp_desktop_document(desktop));
+ sp_desktop_document(desktop)->ensureUpToDate();
// it's hard to figure out exact width/height of the tile without having an object
// that we can take bbox of; however here we only need a lower bound so that blur
// margins are not too small, and the perimeter should work
@@ -1501,8 +1500,8 @@ clonetiler_apply( GtkWidget */*widget*/, void * )
desktop->clearWaitingCursor();
- sp_document_done(sp_desktop_document(desktop), SP_VERB_DIALOG_CLONETILER,
- _("Create tiled clones"));
+ DocumentUndo::done(sp_desktop_document(desktop), SP_VERB_DIALOG_CLONETILER,
+ _("Create tiled clones"));
}
static GtkWidget *
diff --git a/src/dialogs/export.cpp b/src/dialogs/export.cpp
index 82e2d45e1..7e99c2496 100644
--- a/src/dialogs/export.cpp
+++ b/src/dialogs/export.cpp
@@ -5,6 +5,8 @@
* Lauris Kaplinski <lauris@kaplinski.com>
* bulia byak <buliabyak@users.sf.net>
* Johan Engelen <j.b.c.engelen@ewi.utwente.nl>
+ * Jon A. Cruz <jon@joncruz.org>
+ * Abhishek Sharma
*
* Copyright (C) 1999-2007 Authors
* Copyright (C) 2001-2002 Ximian, Inc.
@@ -66,6 +68,8 @@
#include <gdk/gdkwin32.h>
#endif
+using Inkscape::DocumentUndo;
+
#define SP_EXPORT_MIN_SIZE 1.0
#define DPI_BASE PX_PER_IN
@@ -362,9 +366,9 @@ gchar* create_filepath_from_id (const gchar *id, const gchar *file_entry_text) {
if (directory == NULL) {
/* Grab document directory */
- if (SP_DOCUMENT_URI(SP_ACTIVE_DOCUMENT)) {
+ if ( SP_ACTIVE_DOCUMENT->getURI() ) {
// std::cout << "Directory from document" << std::endl;
- directory = g_dirname(SP_DOCUMENT_URI(SP_ACTIVE_DOCUMENT));
+ directory = g_dirname( SP_ACTIVE_DOCUMENT->getURI() );
}
}
@@ -535,11 +539,11 @@ sp_export_dialog (void)
* this code sets the name first, it may not be the one users
* really see.
*/
- if (SP_ACTIVE_DOCUMENT && SP_DOCUMENT_URI (SP_ACTIVE_DOCUMENT))
+ if ( SP_ACTIVE_DOCUMENT && SP_ACTIVE_DOCUMENT->getURI() )
{
gchar *name;
SPDocument * doc = SP_ACTIVE_DOCUMENT;
- const gchar *uri = SP_DOCUMENT_URI (doc);
+ const gchar *uri = doc->getURI();
const gchar *text_extension = get_file_save_extension (Inkscape::Extension::FILE_SAVE_METHOD_SAVE_AS).c_str();
Inkscape::Extension::Output * oextension = NULL;
@@ -780,7 +784,7 @@ sp_export_selection_modified ( Inkscape::Application */*inkscape*/,
if ( SP_ACTIVE_DESKTOP ) {
SPDocument *doc;
doc = sp_desktop_document (SP_ACTIVE_DESKTOP);
- Geom::OptRect bbox = sp_item_bbox_desktop (SP_ITEM (SP_DOCUMENT_ROOT (doc)), SPItem::RENDERING_BBOX);
+ Geom::OptRect bbox = SP_ITEM(doc->root)->getBboxDesktop(SPItem::RENDERING_BBOX);
if (bbox) {
sp_export_set_area (base, bbox->min()[Geom::X],
bbox->min()[Geom::Y],
@@ -861,7 +865,7 @@ sp_export_area_toggled (GtkToggleButton *tb, GtkObject *base)
/** \todo
* This returns wrong values if the document has a viewBox.
*/
- bbox = sp_item_bbox_desktop (SP_ITEM (SP_DOCUMENT_ROOT (doc)), SPItem::RENDERING_BBOX);
+ bbox = SP_ITEM(doc->root)->getBboxDesktop(SPItem::RENDERING_BBOX);
/* If the drawing is valid, then we'll use it and break
otherwise we drop through to the page settings */
if (bbox) {
@@ -871,7 +875,7 @@ sp_export_area_toggled (GtkToggleButton *tb, GtkObject *base)
}
case SELECTION_PAGE:
bbox = Geom::Rect(Geom::Point(0.0, 0.0),
- Geom::Point(sp_document_width(doc), sp_document_height(doc)));
+ Geom::Point(doc->getWidth(), doc->getHeight()));
// std::cout << "Using selection: PAGE" << std::endl;
key = SELECTION_PAGE;
@@ -1064,8 +1068,8 @@ gchar *absolutize_path_from_document_location (SPDocument *doc, const gchar *fil
{
gchar *path = 0;
//Make relative paths go from the document location, if possible:
- if (!g_path_is_absolute(filename) && doc->uri) {
- gchar *dirname = g_path_get_dirname(doc->uri);
+ if (!g_path_is_absolute(filename) && doc->getURI()) {
+ gchar *dirname = g_path_get_dirname(doc->getURI());
if (dirname) {
path = g_build_filename(dirname, filename, NULL);
g_free(dirname);
@@ -1105,10 +1109,10 @@ sp_export_export_clicked (GtkButton */*button*/, GtkObject *base)
for (GSList *i = (GSList *) sp_desktop_selection(SP_ACTIVE_DESKTOP)->itemList();
i != NULL;
i = i->next) {
- SPItem *item = (SPItem *) i->data;
+ SPItem *item = reinterpret_cast<SPItem *>(i->data);
// retrieve export filename hint
- const gchar *filename = SP_OBJECT_REPR(item)->attribute("inkscape:export-filename");
+ const gchar *filename = item->getRepr()->attribute("inkscape:export-filename");
gchar *path = 0;
if (!filename) {
path = create_filepath_from_id(item->getId(), NULL);
@@ -1117,7 +1121,7 @@ sp_export_export_clicked (GtkButton */*button*/, GtkObject *base)
}
// retrieve export dpi hints
- const gchar *dpi_hint = SP_OBJECT_REPR(item)->attribute("inkscape:export-xdpi"); // only xdpi, ydpi is always the same now
+ const gchar *dpi_hint = item->getRepr()->attribute("inkscape:export-xdpi"); // only xdpi, ydpi is always the same now
gdouble dpi = 0.0;
if (dpi_hint) {
dpi = atof(dpi_hint);
@@ -1127,7 +1131,7 @@ sp_export_export_clicked (GtkButton */*button*/, GtkObject *base)
}
Geom::OptRect area;
- sp_item_invoke_bbox(item, area, sp_item_i2d_affine((SPItem *) item), TRUE);
+ item->invoke_bbox( area, item->i2d_affine(), TRUE );
if (area) {
gint width = (gint) (area->width() * dpi / PX_PER_IN + 0.5);
gint height = (gint) (area->height() * dpi / PX_PER_IN + 0.5);
@@ -1239,14 +1243,13 @@ sp_export_export_clicked (GtkButton */*button*/, GtkObject *base)
case SELECTION_PAGE:
case SELECTION_DRAWING: {
SPDocument * doc = SP_ACTIVE_DOCUMENT;
- Inkscape::XML::Node * repr = sp_document_repr_root(doc);
+ Inkscape::XML::Node * repr = doc->getReprRoot();
bool modified = false;
- const gchar * temp_string;
- bool saved = sp_document_get_undo_sensitive(doc);
- sp_document_set_undo_sensitive(doc, false);
+ bool saved = DocumentUndo::getUndoSensitive(doc);
+ DocumentUndo::setUndoSensitive(doc, false);
- temp_string = repr->attribute("inkscape:export-filename");
+ gchar const *temp_string = repr->attribute("inkscape:export-filename");
if (temp_string == NULL || strcmp(temp_string, filename_ext)) {
repr->setAttribute("inkscape:export-filename", filename_ext);
modified = true;
@@ -1261,7 +1264,7 @@ sp_export_export_clicked (GtkButton */*button*/, GtkObject *base)
sp_repr_set_svg_double(repr, "inkscape:export-ydpi", ydpi);
modified = true;
}
- sp_document_set_undo_sensitive(doc, saved);
+ DocumentUndo::setUndoSensitive(doc, saved);
if (modified) {
doc->setModifiedSinceSave();
@@ -1273,8 +1276,8 @@ sp_export_export_clicked (GtkButton */*button*/, GtkObject *base)
SPDocument * doc = SP_ACTIVE_DOCUMENT;
bool modified = false;
- bool saved = sp_document_get_undo_sensitive(doc);
- sp_document_set_undo_sensitive(doc, false);
+ bool saved = DocumentUndo::getUndoSensitive(doc);
+ DocumentUndo::setUndoSensitive(doc, false);
reprlst = sp_desktop_selection(SP_ACTIVE_DESKTOP)->reprList();
for(; reprlst != NULL; reprlst = reprlst->next) {
@@ -1283,8 +1286,8 @@ sp_export_export_clicked (GtkButton */*button*/, GtkObject *base)
if (repr->attribute("id") == NULL ||
!(g_strrstr(filename_ext, repr->attribute("id")) != NULL &&
- (!SP_DOCUMENT_URI(SP_ACTIVE_DOCUMENT) ||
- strcmp(g_dirname(filename), g_dirname(SP_DOCUMENT_URI(SP_ACTIVE_DOCUMENT))) == 0))) {
+ ( !SP_ACTIVE_DOCUMENT->getURI() ||
+ strcmp(g_dirname(filename), g_dirname(SP_ACTIVE_DOCUMENT->getURI())) == 0))) {
temp_string = repr->attribute("inkscape:export-filename");
if (temp_string == NULL || strcmp(temp_string, filename_ext)) {
repr->setAttribute("inkscape:export-filename", filename_ext);
@@ -1302,7 +1305,7 @@ sp_export_export_clicked (GtkButton */*button*/, GtkObject *base)
modified = true;
}
}
- sp_document_set_undo_sensitive(doc, saved);
+ DocumentUndo::setUndoSensitive(doc, saved);
if (modified) {
doc->setModifiedSinceSave();
@@ -1498,7 +1501,7 @@ sp_export_detect_size(GtkObject * base) {
case SELECTION_DRAWING: {
SPDocument *doc = sp_desktop_document (SP_ACTIVE_DESKTOP);
- Geom::OptRect bbox = sp_item_bbox_desktop (SP_ITEM (SP_DOCUMENT_ROOT (doc)), SPItem::RENDERING_BBOX);
+ Geom::OptRect bbox = SP_ITEM(doc->root)->getBboxDesktop(SPItem::RENDERING_BBOX);
// std::cout << "Drawing " << bbox2;
if ( bbox && sp_export_bbox_equal(*bbox,current_bbox) ) {
@@ -1513,8 +1516,8 @@ sp_export_detect_size(GtkObject * base) {
doc = sp_desktop_document (SP_ACTIVE_DESKTOP);
Geom::Point x(0.0, 0.0);
- Geom::Point y(sp_document_width(doc),
- sp_document_height(doc));
+ Geom::Point y(doc->getWidth(),
+ doc->getHeight());
Geom::Rect bbox(x, y);
// std::cout << "Page " << bbox;
diff --git a/src/dialogs/find.cpp b/src/dialogs/find.cpp
index a3612f60e..fe264892a 100644
--- a/src/dialogs/find.cpp
+++ b/src/dialogs/find.cpp
@@ -3,6 +3,8 @@
*/
/* Authors:
* bulia byak <bulia@users.sf.net>
+ * Jon A. Cruz <jon@joncruz.org>
+ * Abhishek Sharma
*
* Copyright (C) 2004 Authors
*
@@ -292,7 +294,7 @@ all_items (SPObject *r, GSList *l, bool hidden, bool locked)
if (!strcmp (SP_OBJECT_REPR (r)->name(), "svg:metadata"))
return l; // we're not interested in metadata
- for (SPObject *child = sp_object_first_child(r); child; child = SP_OBJECT_NEXT (child)) {
+ for (SPObject *child = r->firstChild(); child; child = child->next) {
if (SP_IS_ITEM (child) && !SP_OBJECT_IS_CLONED (child) && !desktop->isLayer(SP_ITEM(child))) {
if ((hidden || !desktop->itemIsHidden(SP_ITEM(child))) && (locked || !SP_ITEM(child)->isLocked())) {
l = g_slist_prepend (l, child);
@@ -342,7 +344,7 @@ void sp_find_dialog_find(GObject *, GObject *dlg)
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (dlg), "inlayer")))) {
l = all_items (desktop->currentLayer(), l, hidden, locked);
} else {
- l = all_items (SP_DOCUMENT_ROOT (sp_desktop_document (desktop)), l, hidden, locked);
+ l = all_items(sp_desktop_document(desktop)->getRoot(), l, hidden, locked);
}
}
guint all = g_slist_length (l);
@@ -606,8 +608,8 @@ sp_find_types ()
{
GtkWidget *c = sp_find_types_checkbox_indented (vb, "clones", TRUE, tt, _("Search clones"),
- //TRANSLATORS: "Clones" is a noun indicating type of object to find
- C_("Find dialog","Clones"), NULL, 10);
+ //TRANSLATORS: "Clones" is a noun indicating type of object to find
+ C_("Find dialog","Clones"), NULL, 10);
gtk_box_pack_start (GTK_BOX (vb_all), c, FALSE, FALSE, 0);
}
diff --git a/src/dialogs/item-properties.cpp b/src/dialogs/item-properties.cpp
index 40665e08e..8b5ac1784 100644
--- a/src/dialogs/item-properties.cpp
+++ b/src/dialogs/item-properties.cpp
@@ -5,6 +5,7 @@
* Lauris Kaplinski <lauris@kaplinski.com>
* bulia byak <buliabyak@users.sf.net>
* Johan Engelen <goejendaagh@zonnet.nl>
+ * Abhishek Sharma
*
* Copyright (C) 1999-2006 Authors
* Copyright (C) 2001 Ximian, Inc.
@@ -41,6 +42,8 @@
#include "../widgets/sp-attribute-widget.h"
#include "../widgets/sp-widget.h"
+using Inkscape::DocumentUndo;
+
#define MIN_ONSCREEN_DISTANCE 50
static GtkWidget *dlg = NULL;
@@ -398,8 +401,8 @@ sp_item_widget_sensitivity_toggled (GtkWidget *widget, SPWidget *spw)
item->setLocked(gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)));
- sp_document_done (SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
- gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))? _("Lock object") : _("Unlock object"));
+ DocumentUndo::done(SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))? _("Lock object") : _("Unlock object"));
gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
}
@@ -417,8 +420,8 @@ sp_item_widget_hidden_toggled(GtkWidget *widget, SPWidget *spw)
item->setExplicitlyHidden(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)));
- sp_document_done (SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
- gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))? _("Hide object") : _("Unhide object"));
+ DocumentUndo::done(SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))? _("Hide object") : _("Unhide object"));
gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
}
@@ -449,9 +452,9 @@ sp_item_widget_label_changed( GtkWidget */*widget*/, SPWidget *spw )
SPException ex;
gtk_label_set_markup_with_mnemonic (GTK_LABEL (id_label), _("_ID:"));
SP_EXCEPTION_INIT (&ex);
- sp_object_setAttribute (SP_OBJECT (item), "id", id, &ex);
- sp_document_done (SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
- _("Set object ID"));
+ item->setAttribute("id", id, &ex);
+ DocumentUndo::done(SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
+ _("Set object ID"));
}
/* Retrieve the label widget for the object's label */
@@ -465,16 +468,16 @@ sp_item_widget_label_changed( GtkWidget */*widget*/, SPWidget *spw )
SPObject *obj = (SPObject*)item;
if (strcmp (label, obj->defaultLabel())) {
obj->setLabel(label);
- sp_document_done (SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
- _("Set object label"));
+ DocumentUndo::done(SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
+ _("Set object label"));
}
/* Retrieve the title */
GtkWidget *w = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(spw), "title"));
gchar *title = (gchar *)gtk_entry_get_text(GTK_ENTRY (w));
if (obj->setTitle(title))
- sp_document_done(SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
- _("Set object title"));
+ DocumentUndo::done(SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
+ _("Set object title"));
/* Retrieve the description */
GtkTextView *tv = GTK_TEXT_VIEW(gtk_object_get_data(GTK_OBJECT(spw), "desc"));
@@ -483,8 +486,8 @@ sp_item_widget_label_changed( GtkWidget */*widget*/, SPWidget *spw )
gtk_text_buffer_get_bounds(buf, &start, &end);
gchar *desc = gtk_text_buffer_get_text(buf, &start, &end, TRUE);
if (obj->setDesc(desc))
- sp_document_done(SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
- _("Set object description"));
+ DocumentUndo::done(SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
+ _("Set object description"));
g_free(desc);
gtk_object_set_data (GTK_OBJECT (spw), "blocked", GUINT_TO_POINTER (FALSE));
diff --git a/src/dialogs/spellcheck.cpp b/src/dialogs/spellcheck.cpp
index 476a551f1..12105c8c0 100644
--- a/src/dialogs/spellcheck.cpp
+++ b/src/dialogs/spellcheck.cpp
@@ -3,6 +3,8 @@
*/
/* Authors:
* bulia byak <bulia@users.sf.net>
+ * Jon A. Cruz <jon@joncruz.org>
+ * Abhishek Sharma
*
* Copyright (C) 2009 Authors
*
@@ -200,10 +202,11 @@ all_text_items (SPObject *r, GSList *l, bool hidden, bool locked)
if (SP_IS_DEFS(r))
return l; // we're not interested in items in defs
- if (!strcmp (SP_OBJECT_REPR (r)->name(), "svg:metadata"))
+ if (!strcmp(r->getRepr()->name(), "svg:metadata")) {
return l; // we're not interested in metadata
+ }
- for (SPObject *child = sp_object_first_child(r); child; child = SP_OBJECT_NEXT (child)) {
+ for (SPObject *child = r->firstChild(); child; child = child->next) {
if (SP_IS_ITEM (child) && !SP_OBJECT_IS_CLONED (child) && !_desktop->isLayer(SP_ITEM(child))) {
if ((hidden || !_desktop->itemIsHidden(SP_ITEM(child))) && (locked || !SP_ITEM(child)->isLocked())) {
if (SP_IS_TEXT(child) || SP_IS_FLOWTEXT(child))
@@ -236,8 +239,8 @@ gint compare_text_bboxes (gconstpointer a, gconstpointer b)
SPItem *i1 = SP_ITEM(a);
SPItem *i2 = SP_ITEM(b);
- Geom::OptRect bbox1 = i1->getBounds(sp_item_i2d_affine(i1));
- Geom::OptRect bbox2 = i2->getBounds(sp_item_i2d_affine(i2));
+ Geom::OptRect bbox1 = i1->getBounds(i1->i2d_affine());
+ Geom::OptRect bbox2 = i2->getBounds(i2->i2d_affine());
if (!bbox1 || !bbox2) {
return 0;
}
@@ -392,7 +395,7 @@ spellcheck_init(SPDesktop *desktop)
_speller3 = to_aspell_speller(ret);
}
- _root = SP_DOCUMENT_ROOT (sp_desktop_document (desktop));
+ _root = sp_desktop_document(desktop)->getRoot();
// empty the list of objects we've checked
g_slist_free (_seen_objects);
@@ -570,7 +573,7 @@ spellcheck_next_word()
// draw rect
std::vector<Geom::Point> points =
- _layout->createSelectionShape(_begin_w, _end_w, sp_item_i2d_affine(_text));
+ _layout->createSelectionShape(_begin_w, _end_w, _text->i2d_affine());
Geom::Point tl, br;
tl = br = points.front();
for (unsigned i = 0 ; i < points.size() ; i ++) {
@@ -777,8 +780,8 @@ sp_spellcheck_accept (GObject *, GObject *dlg)
// find the end of the word anew
_end_w = _begin_w;
_end_w.nextEndOfWord();
- sp_document_done (sp_desktop_document(_desktop), SP_VERB_CONTEXT_TEXT,
- _("Fix spelling"));
+ SPDocumentUndo::done(sp_desktop_document(_desktop), SP_VERB_CONTEXT_TEXT,
+ _("Fix spelling"));
}
}
diff --git a/src/dialogs/text-edit.cpp b/src/dialogs/text-edit.cpp
index 8a8fe6a29..61f56e3f7 100644
--- a/src/dialogs/text-edit.cpp
+++ b/src/dialogs/text-edit.cpp
@@ -5,6 +5,7 @@
* Lauris Kaplinski <lauris@ximian.com>
* bulia byak <buliabyak@users.sf.net>
* Johan Engelen <goejendaagh@zonnet.nl>
+ * Abhishek Sharma
*
* Copyright (C) 1999-2007 Authors
* Copyright (C) 2000-2001 Ximian, Inc.
@@ -49,6 +50,8 @@ extern "C" {
#include "widgets/icon.h"
#include <xml/repr.h>
+using Inkscape::DocumentUndo;
+
#define VB_MARGIN 4
#define MIN_ONSCREEN_DISTANCE 50
@@ -638,7 +641,7 @@ sp_text_edit_dialog_apply( GtkButton */*button*/, GtkWidget *dlg )
if (SP_IS_TEXT (item_list->data)) {
// backwards compatibility:
- SP_OBJECT_REPR(item_list->data)->setAttribute("sodipodi:linespacing", sp_repr_css_property (css, "line-height", NULL));
+ reinterpret_cast<SPObject*>(item_list->data)->getRepr()->setAttribute("sodipodi:linespacing", sp_repr_css_property (css, "line-height", NULL));
++items;
}
@@ -661,8 +664,8 @@ sp_text_edit_dialog_apply( GtkButton */*button*/, GtkWidget *dlg )
}
// complete the transaction
- sp_document_done (sp_desktop_document (SP_ACTIVE_DESKTOP), SP_VERB_CONTEXT_TEXT,
- _("Set text style"));
+ DocumentUndo::done(sp_desktop_document(SP_ACTIVE_DESKTOP), SP_VERB_CONTEXT_TEXT,
+ _("Set text style"));
gtk_widget_set_sensitive (apply, FALSE);
sp_repr_css_attr_unref (css);
g_object_set_data (G_OBJECT (dlg), "blocked", GINT_TO_POINTER (FALSE));
@@ -727,7 +730,7 @@ sp_text_edit_dialog_read_selection ( GtkWidget *dlg,
sp_font_preview_set_phrase (SP_FONT_PREVIEW (preview), NULL);
}
} // end of if (docontent)
- repr = SP_OBJECT_REPR (text);
+ repr = text->getRepr();
} else {
gtk_widget_set_sensitive (textw, FALSE);
diff --git a/src/dialogs/xml-tree.cpp b/src/dialogs/xml-tree.cpp
index bd442b887..c90cde490 100644
--- a/src/dialogs/xml-tree.cpp
+++ b/src/dialogs/xml-tree.cpp
@@ -7,6 +7,8 @@
* bulia byak <buliabyak@users.sf.net>
* Johan Engelen <goejendaagh@zonnet.nl>
* David Turner
+ * Jon A. Cruz <jon@joncruz.org>
+ * Abhishek Sharma
*
* Copyright (C) 1999-2006 Authors
* Released under GNU GPL, read the file 'COPYING' for more information
@@ -40,6 +42,8 @@
#include "../widgets/sp-xmlview-content.h"
#include "../widgets/sp-xmlview-tree.h"
+using Inkscape::DocumentUndo;
+
#define MIN_ONSCREEN_DISTANCE 50
struct EditableDest {
@@ -679,9 +683,8 @@ void set_tree_document(SPDocument *document)
if (current_document) {
document_uri_set_connection = current_document->connectURISet(sigc::bind(sigc::ptr_fun(&on_document_uri_set), current_document));
- on_document_uri_set(SP_DOCUMENT_URI(current_document), current_document);
- set_tree_repr(sp_document_repr_root(current_document));
-
+ on_document_uri_set( current_document->getURI(), current_document );
+ set_tree_repr(current_document->getReprRoot());
} else {
set_tree_repr(NULL);
}
@@ -870,10 +873,10 @@ void after_tree_move(GtkCTree */*tree*/,
if (GTK_CTREE_ROW(node)->parent == new_parent &&
GTK_CTREE_ROW(node)->sibling == new_sibling)
{
- sp_document_done(current_document, SP_VERB_DIALOG_XML_EDITOR,
- _("Drag XML subtree"));
+ DocumentUndo::done(current_document, SP_VERB_DIALOG_XML_EDITOR,
+ _("Drag XML subtree"));
} else {
- sp_document_cancel(current_document);
+ DocumentUndo::cancel(current_document);
}
}
@@ -1275,7 +1278,7 @@ void on_document_uri_set(gchar const */*uri*/, SPDocument *document)
{
gchar title[500];
sp_ui_dialog_title_string(Inkscape::Verb::get(SP_VERB_DIALOG_XML_EDITOR), title);
- gchar *t = g_strdup_printf("%s: %s", SP_DOCUMENT_NAME(document), title);
+ gchar *t = g_strdup_printf("%s: %s", document->getName(), title);
gtk_window_set_title(GTK_WINDOW(dlg), t);
g_free(t);
}
@@ -1362,7 +1365,7 @@ void cmd_new_element_node(GtkObject */*object*/, gpointer /*data*/)
gtk_main();
if (selected_repr != NULL && name.text) {
- Inkscape::XML::Document *xml_doc = sp_document_repr_doc(current_document);
+ Inkscape::XML::Document *xml_doc = current_document->getReprDoc();
Inkscape::XML::Node *new_repr;
new_repr = xml_doc->createElement(name.text);
Inkscape::GC::release(new_repr);
@@ -1371,8 +1374,8 @@ void cmd_new_element_node(GtkObject */*object*/, gpointer /*data*/)
set_tree_select(new_repr);
set_dt_select(new_repr);
- sp_document_done(current_document, SP_VERB_DIALOG_XML_EDITOR,
- _("Create new element node"));
+ DocumentUndo::done(current_document, SP_VERB_DIALOG_XML_EDITOR,
+ _("Create new element node"));
}
} // end of cmd_new_element_node()
@@ -1383,12 +1386,12 @@ void cmd_new_text_node(GtkObject */*object*/, gpointer /*data*/)
{
g_assert(selected_repr != NULL);
- Inkscape::XML::Document *xml_doc = sp_document_repr_doc(current_document);
+ Inkscape::XML::Document *xml_doc = current_document->getReprDoc();
Inkscape::XML::Node *text = xml_doc->createTextNode("");
selected_repr->appendChild(text);
- sp_document_done(current_document, SP_VERB_DIALOG_XML_EDITOR,
- _("Create new text node"));
+ DocumentUndo::done(current_document, SP_VERB_DIALOG_XML_EDITOR,
+ _("Create new text node"));
set_tree_select(text);
set_dt_select(text);
@@ -1405,8 +1408,8 @@ void cmd_duplicate_node(GtkObject */*object*/, gpointer /*data*/)
Inkscape::XML::Node *dup = selected_repr->duplicate(parent->document());
parent->addChild(dup, selected_repr);
- sp_document_done(current_document, SP_VERB_DIALOG_XML_EDITOR,
- _("Duplicate node"));
+ DocumentUndo::done(current_document, SP_VERB_DIALOG_XML_EDITOR,
+ _("Duplicate node"));
GtkCTreeNode *node = sp_xmlview_tree_get_repr_node(SP_XMLVIEW_TREE(tree), dup);
@@ -1422,8 +1425,8 @@ void cmd_delete_node(GtkObject */*object*/, gpointer /*data*/)
g_assert(selected_repr != NULL);
sp_repr_unparent(selected_repr);
- sp_document_done(current_document, SP_VERB_DIALOG_XML_EDITOR,
- Q_("nodeAsInXMLinHistoryDialog|Delete node"));
+ DocumentUndo::done(current_document, SP_VERB_DIALOG_XML_EDITOR,
+ Q_("nodeAsInXMLinHistoryDialog|Delete node"));
}
@@ -1440,8 +1443,8 @@ void cmd_delete_attr(GtkObject */*object*/, gpointer /*data*/)
updated->updateRepr();
}
- sp_document_done(current_document, SP_VERB_DIALOG_XML_EDITOR,
- _("Delete attribute"));
+ DocumentUndo::done(current_document, SP_VERB_DIALOG_XML_EDITOR,
+ _("Delete attribute"));
}
@@ -1469,8 +1472,8 @@ void cmd_set_attr(GtkObject */*object*/, gpointer /*data*/)
updated->updateRepr();
}
- sp_document_done(current_document, SP_VERB_DIALOG_XML_EDITOR,
- _("Change attribute"));
+ DocumentUndo::done(current_document, SP_VERB_DIALOG_XML_EDITOR,
+ _("Change attribute"));
/* TODO: actually, the row won't have been created yet. why? */
gint row = sp_xmlview_attr_list_find_row_from_key(GTK_CLIST(attributes),
@@ -1499,8 +1502,8 @@ void cmd_raise_node(GtkObject */*object*/, gpointer /*data*/)
parent->changeOrder(selected_repr, ref);
- sp_document_done(current_document, SP_VERB_DIALOG_XML_EDITOR,
- _("Raise node"));
+ DocumentUndo::done(current_document, SP_VERB_DIALOG_XML_EDITOR,
+ _("Raise node"));
set_tree_select(selected_repr);
set_dt_select(selected_repr);
@@ -1516,8 +1519,8 @@ void cmd_lower_node(GtkObject */*object*/, gpointer /*data*/)
parent->changeOrder(selected_repr, selected_repr->next());
- sp_document_done(current_document, SP_VERB_DIALOG_XML_EDITOR,
- _("Lower node"));
+ DocumentUndo::done(current_document, SP_VERB_DIALOG_XML_EDITOR,
+ _("Lower node"));
set_tree_select(selected_repr);
set_dt_select(selected_repr);
@@ -1546,8 +1549,8 @@ void cmd_indent_node(GtkObject */*object*/, gpointer /*data*/)
parent->removeChild(repr);
prev->addChild(repr, ref);
- sp_document_done(current_document, SP_VERB_DIALOG_XML_EDITOR,
- _("Indent node"));
+ DocumentUndo::done(current_document, SP_VERB_DIALOG_XML_EDITOR,
+ _("Indent node"));
set_tree_select(repr);
set_dt_select(repr);
@@ -1567,8 +1570,8 @@ void cmd_unindent_node(GtkObject */*object*/, gpointer /*data*/)
parent->removeChild(repr);
grandparent->addChild(repr, parent);
- sp_document_done(current_document, SP_VERB_DIALOG_XML_EDITOR,
- _("Unindent node"));
+ DocumentUndo::done(current_document, SP_VERB_DIALOG_XML_EDITOR,
+ _("Unindent node"));
set_tree_select(repr);
set_dt_select(repr);