diff options
| author | Jon A. Cruz <jon@joncruz.org> | 2010-12-12 08:40:34 +0000 |
|---|---|---|
| committer | Jon A. Cruz <jon@joncruz.org> | 2010-12-12 08:40:34 +0000 |
| commit | aadfea4113abc6863d7ab03d21b973802c41c503 (patch) | |
| tree | 3f890c0c112433fd850d59558208addf1baa85da /src/dialogs | |
| parent | Pot and Dutch translation update (diff) | |
| parent | A simple layout document as to what, why and how is cppification. (diff) | |
| download | inkscape-aadfea4113abc6863d7ab03d21b973802c41c503.tar.gz inkscape-aadfea4113abc6863d7ab03d21b973802c41c503.zip | |
Merge and cleanup of GSoC C++-ification project.
(bzr r9945.1.1)
Diffstat (limited to 'src/dialogs')
| -rw-r--r-- | src/dialogs/clonetiler.cpp | 55 | ||||
| -rw-r--r-- | src/dialogs/export.cpp | 57 | ||||
| -rw-r--r-- | src/dialogs/find.cpp | 10 | ||||
| -rw-r--r-- | src/dialogs/item-properties.cpp | 29 | ||||
| -rw-r--r-- | src/dialogs/spellcheck.cpp | 19 | ||||
| -rw-r--r-- | src/dialogs/text-edit.cpp | 11 | ||||
| -rw-r--r-- | src/dialogs/xml-tree.cpp | 61 |
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); |
