diff options
| author | Jon A. Cruz <jon@joncruz.org> | 2011-02-22 09:17:44 +0000 |
|---|---|---|
| committer | Jon A. Cruz <jon@joncruz.org> | 2011-02-22 09:17:44 +0000 |
| commit | 0e0ce7571944e0a9d60294b6efdc855e6df52db8 (patch) | |
| tree | 3cd452f4abfb51a8f4ffbbb08d001f651ff65d29 /src | |
| parent | Finished cleanup of outdated SP_OBJECT_STYLE C macro. (diff) | |
| download | inkscape-0e0ce7571944e0a9d60294b6efdc855e6df52db8.tar.gz inkscape-0e0ce7571944e0a9d60294b6efdc855e6df52db8.zip | |
Finished cleanup of outdated SP_OBJECT_REPR C macro.
(bzr r10067)
Diffstat (limited to 'src')
82 files changed, 338 insertions, 290 deletions
diff --git a/src/connector-context.cpp b/src/connector-context.cpp index ac39831b7..27e052499 100644 --- a/src/connector-context.cpp +++ b/src/connector-context.cpp @@ -489,7 +489,7 @@ void sp_connector_context_switch_mode(SPEventContext* ec, unsigned int newMode) cc->knot_tip = cc_knot_tips[1]; /* if (cc->active_shape) { - cc->selection->set( SP_OBJECT( cc->active_shape ) ); + cc->selection->set( cc->active_shape ); } else { @@ -497,7 +497,7 @@ void sp_connector_context_switch_mode(SPEventContext* ec, unsigned int newMode) if ( item ) { cc_set_active_shape(cc, item); - cc->selection->set( SP_OBJECT( item ) ); + cc->selection->set( item ); } }*/ } @@ -899,7 +899,7 @@ connector_handle_button_press(SPConnectorContext *const cc, GdkEventButton const if ( cc->selected_handle ) { cc->state = SP_CONNECTOR_CONTEXT_DRAGGING; - cc->selection->set( SP_OBJECT( cc->active_shape ) ); + cc->selection->set( cc->active_shape ); } ret = TRUE; @@ -1668,7 +1668,7 @@ static void cc_set_active_shape(SPConnectorContext *cc, SPItem *item) } // Listen in case the active shape changes - cc->active_shape_repr = SP_OBJECT_REPR(item); + cc->active_shape_repr = item->getRepr(); if (cc->active_shape_repr) { Inkscape::GC::anchor(cc->active_shape_repr); sp_repr_add_listener(cc->active_shape_repr, &shape_repr_events, cc); @@ -1800,7 +1800,7 @@ cc_set_active_conn(SPConnectorContext *cc, SPItem *item) } // Listen in case the active conn changes - cc->active_conn_repr = SP_OBJECT_REPR(item); + cc->active_conn_repr = item->getRepr(); if (cc->active_conn_repr) { Inkscape::GC::anchor(cc->active_conn_repr); sp_repr_add_listener(cc->active_conn_repr, &shape_repr_events, cc); diff --git a/src/dialogs/find.cpp b/src/dialogs/find.cpp index fe264892a..c112b3531 100644 --- a/src/dialogs/find.cpp +++ b/src/dialogs/find.cpp @@ -110,15 +110,18 @@ sp_find_squeeze_window() bool item_id_match (SPItem *item, const gchar *id, bool exact) { - if (SP_OBJECT_REPR (item) == NULL) + if (item->getRepr() == NULL) { return false; + } - if (SP_IS_STRING(item)) // SPStrings have "on demand" ids which are useless for searching + if (SP_IS_STRING(item)) { // SPStrings have "on demand" ids which are useless for searching return false; + } - const gchar *item_id = (SP_OBJECT_REPR (item))->attribute("id"); - if (item_id == NULL) + const gchar *item_id = item->getRepr()->attribute("id"); + if (item_id == NULL) { return false; + } if (exact) { return ((bool) !strcmp(item_id, id)); @@ -131,8 +134,9 @@ item_id_match (SPItem *item, const gchar *id, bool exact) bool item_text_match (SPItem *item, const gchar *text, bool exact) { - if (SP_OBJECT_REPR (item) == NULL) + if (item->getRepr() == NULL) { return false; + } if (SP_IS_TEXT(item) || SP_IS_FLOWTEXT(item)) { const gchar *item_text = sp_te_get_string_multiline (item); @@ -154,12 +158,14 @@ item_text_match (SPItem *item, const gchar *text, bool exact) bool item_style_match (SPItem *item, const gchar *text, bool exact) { - if (SP_OBJECT_REPR (item) == NULL) + if (item->getRepr() == NULL) { return false; + } - const gchar *item_text = (SP_OBJECT_REPR (item))->attribute("style"); - if (item_text == NULL) + const gchar *item_text = item->getRepr()->attribute("style"); + if (item_text == NULL) { return false; + } if (exact) { return ((bool) !strcmp(item_text, text)); @@ -168,18 +174,18 @@ item_style_match (SPItem *item, const gchar *text, bool exact) } } -bool -item_attr_match (SPItem *item, const gchar *name, bool exact) +bool item_attr_match(SPItem *item, const gchar *name, bool exact) { - if (SP_OBJECT_REPR (item) == NULL) - return false; - - if (exact) { - const gchar *attr_value = (SP_OBJECT_REPR (item))->attribute(name); - return ((bool) (attr_value != NULL)); - } else { - return SP_OBJECT_REPR (item)->matchAttributeName(name); + bool result = false; + if (item->getRepr()) { + if (exact) { + const gchar *attr_value = item->getRepr()->attribute(name); + result = (attr_value != NULL); + } else { + result = item->getRepr()->matchAttributeName(name); + } } + return result; } @@ -288,17 +294,20 @@ all_items (SPObject *r, GSList *l, bool hidden, bool locked) { SPDesktop *desktop = SP_ACTIVE_DESKTOP; - if (SP_IS_DEFS(r)) + 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 = 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); - } + if ( SP_IS_ITEM(child) && !child->cloned && !desktop->isLayer(child) ) { + SPItem *item = SP_ITEM(child); + if ((hidden || !desktop->itemIsHidden(item)) && (locked || !item->isLocked())) { + l = g_slist_prepend (l, child); + } } l = all_items (child, l, hidden, locked); } @@ -311,9 +320,10 @@ all_selection_items (Inkscape::Selection *s, GSList *l, SPObject *ancestor, bool SPDesktop *desktop = SP_ACTIVE_DESKTOP; for (GSList *i = (GSList *) s->itemList(); i != NULL; i = i->next) { - if (SP_IS_ITEM (i->data) && !SP_OBJECT_IS_CLONED (i->data) && !desktop->isLayer(SP_ITEM(i->data))) { - if (!ancestor || ancestor->isAncestorOf(SP_OBJECT (i->data))) { - if ((hidden || !desktop->itemIsHidden(SP_ITEM(i->data))) && (locked || !SP_ITEM(i->data)->isLocked())) { + if ( SP_IS_ITEM(i->data) && !reinterpret_cast<SPObject*>(i->data)->cloned && !desktop->isLayer(SP_ITEM(i->data))) { + SPItem * item = SP_ITEM(i->data); + if (!ancestor || ancestor->isAncestorOf(item)) { + if ((hidden || !desktop->itemIsHidden(item)) && (locked || !item->isLocked())) { l = g_slist_prepend (l, i->data); } } diff --git a/src/dialogs/item-properties.cpp b/src/dialogs/item-properties.cpp index 8b5ac1784..94b8b1e98 100644 --- a/src/dialogs/item-properties.cpp +++ b/src/dialogs/item-properties.cpp @@ -310,7 +310,7 @@ sp_item_widget_setup ( SPWidget *spw, Inkscape::Selection *selection ) w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "hidden")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), item->isExplicitlyHidden()); - if (SP_OBJECT_IS_CLONED (item)) { + if (item->cloned) { /* ID */ w = GTK_WIDGET(gtk_object_get_data (GTK_OBJECT (spw), "id")); diff --git a/src/dialogs/object-attributes.cpp b/src/dialogs/object-attributes.cpp index d9a0545e1..cbf5f1e89 100644 --- a/src/dialogs/object-attributes.cpp +++ b/src/dialogs/object-attributes.cpp @@ -141,7 +141,7 @@ sp_object_attributes_dialog (SPObject *object, const gchar *tag) if (!strcmp (tag, "Link")) { sp_object_attr_show_dialog (object, anchor_desc, tag); } else if (!strcmp (tag, "Image")) { - Inkscape::XML::Node *ir = SP_OBJECT_REPR(object); + Inkscape::XML::Node *ir = object->getRepr(); const gchar *href = ir->attribute("xlink:href"); if ( (!href) || ((strncmp(href, "data:", 5) == 0)) ) { sp_object_attr_show_dialog (object, image_nohref_desc, tag); diff --git a/src/dialogs/spellcheck.cpp b/src/dialogs/spellcheck.cpp index 4712d9926..f72612420 100644 --- a/src/dialogs/spellcheck.cpp +++ b/src/dialogs/spellcheck.cpp @@ -210,7 +210,7 @@ all_text_items (SPObject *r, GSList *l, bool hidden, bool locked) } 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 (SP_IS_ITEM (child) && !child->cloned && !_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)) l = g_slist_prepend (l, child); diff --git a/src/draw-context.cpp b/src/draw-context.cpp index 182d4fca4..774fca62d 100644 --- a/src/draw-context.cpp +++ b/src/draw-context.cpp @@ -301,7 +301,7 @@ spdc_check_for_and_apply_waiting_LPE(SPDrawContext *dc, SPItem *item) int shape = prefs->getInt(tool_name(dc) + "/shape", 0); bool shape_applied = false; - SPCSSAttr *css_item = sp_css_attr_from_object (SP_OBJECT(item), SP_STYLE_FLAG_ALWAYS); + SPCSSAttr *css_item = sp_css_attr_from_object(item, SP_STYLE_FLAG_ALWAYS); const char *cstroke = sp_repr_css_property(css_item, "stroke", "none"); #define SHAPE_LENGTH 10 @@ -380,7 +380,7 @@ spdc_check_for_and_apply_waiting_LPE(SPDrawContext *dc, SPItem *item) sp_repr_css_set_property (css, "fill", cstroke); } sp_repr_css_set_property (css, "stroke", "none"); - sp_desktop_apply_css_recursive(SP_OBJECT(item), css, true); + sp_desktop_apply_css_recursive(item, css, true); sp_repr_css_attr_unref(css); return; } @@ -653,7 +653,7 @@ spdc_flush_white(SPDrawContext *dc, SPCurve *gc) bool has_lpe = false; Inkscape::XML::Node *repr; if (dc->white_item) { - repr = SP_OBJECT_REPR(dc->white_item); + repr = dc->white_item->getRepr(); has_lpe = sp_lpe_item_has_path_effect_recursive(SP_LPE_ITEM(dc->white_item)); } else { repr = xml_doc->createElement("svg:path"); diff --git a/src/extension/implementation/implementation.cpp b/src/extension/implementation/implementation.cpp index b1b671026..63181d0c4 100644 --- a/src/extension/implementation/implementation.cpp +++ b/src/extension/implementation/implementation.cpp @@ -96,23 +96,26 @@ Implementation::save(Inkscape::Extension::Output */*module*/, SPDocument */*doc* return; } /* Implementation::save */ -Gtk::Widget * -Implementation::prefs_effect(Inkscape::Extension::Effect *module, Inkscape::UI::View::View * view, sigc::signal<void> * changeSignal, ImplementationDocumentCache * docCache) { - if (module->param_visible_count() == 0) return NULL; +Gtk::Widget *Implementation::prefs_effect(Inkscape::Extension::Effect *module, Inkscape::UI::View::View * view, sigc::signal<void> * changeSignal, ImplementationDocumentCache * /*docCache*/) +{ + if (module->param_visible_count() == 0) { + return NULL; + } SPDocument * current_document = view->doc(); using Inkscape::Util::GSListConstIterator; GSListConstIterator<SPItem *> selected = sp_desktop_selection((SPDesktop *)view)->itemList(); - Inkscape::XML::Node * first_select = NULL; + Inkscape::XML::Node const* first_select = NULL; if (selected != NULL) { const SPItem * item = *selected; - first_select = SP_OBJECT_REPR(item); + first_select = item->getRepr(); } - return module->autogui(current_document, first_select, changeSignal); -} /* Implementation::prefs_effect */ + // TODO deal with this broken const correctness: + return module->autogui(current_document, const_cast<Inkscape::XML::Node *>(first_select), changeSignal); +} // Implementation::prefs_effect void Implementation::effect(Inkscape::Extension::Effect */*module*/, Inkscape::UI::View::View */*document*/, ImplementationDocumentCache * /*docCache*/) { diff --git a/src/extension/internal/bitmap/imagemagick.cpp b/src/extension/internal/bitmap/imagemagick.cpp index e907612fd..65968bdc4 100644 --- a/src/extension/internal/bitmap/imagemagick.cpp +++ b/src/extension/internal/bitmap/imagemagick.cpp @@ -226,8 +226,9 @@ ImageMagick::prefs_effect(Inkscape::Extension::Effect *module, Inkscape::UI::Vie using Inkscape::Util::GSListConstIterator; GSListConstIterator<SPItem *> selected = sp_desktop_selection((SPDesktop *)view)->itemList(); Inkscape::XML::Node * first_select = NULL; - if (selected != NULL) - first_select = SP_OBJECT_REPR(*selected); + if (selected != NULL) { + first_select = (*selected)->getRepr(); + } return module->autogui(current_document, first_select, changeSignal); } diff --git a/src/extension/internal/bluredge.cpp b/src/extension/internal/bluredge.cpp index ba6b8383c..8ec09d11e 100644 --- a/src/extension/internal/bluredge.cpp +++ b/src/extension/internal/bluredge.cpp @@ -74,9 +74,9 @@ BlurEdge::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View std::vector<Inkscape::XML::Node *> new_items(steps); Inkscape::XML::Document *xml_doc = desktop->doc()->getReprDoc(); Inkscape::XML::Node * new_group = xml_doc->createElement("svg:g"); - (SP_OBJECT_REPR(spitem)->parent())->appendChild(new_group); + spitem->getRepr()->parent()->appendChild(new_group); - double orig_opacity = sp_repr_css_double_property(sp_repr_css_attr(SP_OBJECT_REPR(spitem), "style"), "opacity", 1.0); + double orig_opacity = sp_repr_css_double_property(sp_repr_css_attr(spitem->getRepr(), "style"), "opacity", 1.0); char opacity_string[64]; g_ascii_formatd(opacity_string, sizeof(opacity_string), "%f", orig_opacity / (steps)); @@ -84,7 +84,7 @@ BlurEdge::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View for (int i = 0; i < steps; i++) { double offset = (width / (float)(steps - 1) * (float)i) - (width / 2.0); - new_items[i] = (SP_OBJECT_REPR(spitem))->duplicate(xml_doc); + new_items[i] = spitem->getRepr()->duplicate(xml_doc); SPCSSAttr * css = sp_repr_css_attr(new_items[i], "style"); sp_repr_css_set_property(css, "opacity", opacity_string); diff --git a/src/extension/internal/filter/filter.cpp b/src/extension/internal/filter/filter.cpp index 90dc5dd6f..715278051 100644 --- a/src/extension/internal/filter/filter.cpp +++ b/src/extension/internal/filter/filter.cpp @@ -133,12 +133,12 @@ Filter::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View *d items.insert<GSListConstIterator<SPItem *> >(items.end(), selection->itemList(), NULL); Inkscape::XML::Document * xmldoc = document->doc()->getReprDoc(); - Inkscape::XML::Node * defsrepr = SP_OBJECT_REPR(SP_DOCUMENT_DEFS(document->doc())); + Inkscape::XML::Node * defsrepr = SP_DOCUMENT_DEFS(document->doc())->getRepr(); for(std::list<SPItem *>::iterator item = items.begin(); item != items.end(); item++) { SPItem * spitem = *item; - Inkscape::XML::Node * node = SP_OBJECT_REPR(spitem); + Inkscape::XML::Node * node = spitem->getRepr(); SPCSSAttr * css = sp_repr_css_attr(node, "style"); gchar const * filter = sp_repr_css_property(css, "filter", NULL); diff --git a/src/extension/internal/grid.cpp b/src/extension/internal/grid.cpp index a19ab7538..2e743d32a 100644 --- a/src/extension/internal/grid.cpp +++ b/src/extension/internal/grid.cpp @@ -183,8 +183,9 @@ Grid::prefs_effect(Inkscape::Extension::Effect *module, Inkscape::UI::View::View using Inkscape::Util::GSListConstIterator; GSListConstIterator<SPItem *> selected = sp_desktop_selection((SPDesktop *)view)->itemList(); Inkscape::XML::Node * first_select = NULL; - if (selected != NULL) - first_select = SP_OBJECT_REPR(*selected); + if (selected != NULL) { + first_select = (*selected)->getRepr(); + } return module->autogui(current_document, first_select, changeSignal); } diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp index 8d7c95560..94edf826e 100644 --- a/src/extension/internal/pdfinput/svg-builder.cpp +++ b/src/extension/internal/pdfinput/svg-builder.cpp @@ -531,7 +531,7 @@ void SvgBuilder::setClipPath(GfxState *state, bool even_odd) { clip_path->appendChild(path); Inkscape::GC::release(path); // Append clipPath to defs and get id - SP_OBJECT_REPR (SP_DOCUMENT_DEFS (_doc))->appendChild(clip_path); + SP_DOCUMENT_DEFS(_doc)->getRepr()->appendChild(clip_path); gchar *urltext = g_strdup_printf ("url(#%s)", clip_path->attribute("id")); Inkscape::GC::release(clip_path); _container->setAttribute("clip-path", urltext); @@ -678,7 +678,7 @@ gchar *SvgBuilder::_createTilingPattern(GfxTilingPattern *tiling_pattern, delete pattern_builder; // Append the pattern to defs - SP_OBJECT_REPR (SP_DOCUMENT_DEFS (_doc))->appendChild(pattern_node); + SP_DOCUMENT_DEFS(_doc)->getRepr()->appendChild(pattern_node); gchar *id = g_strdup(pattern_node->attribute("id")); Inkscape::GC::release(pattern_node); @@ -752,7 +752,7 @@ gchar *SvgBuilder::_createGradient(GfxShading *shading, double *matrix, bool for return NULL; } - Inkscape::XML::Node *defs = SP_OBJECT_REPR (SP_DOCUMENT_DEFS (_doc)); + Inkscape::XML::Node *defs = SP_DOCUMENT_DEFS(_doc)->getRepr(); defs->appendChild(gradient); gchar *id = g_strdup(gradient->attribute("id")); Inkscape::GC::release(gradient); @@ -1635,9 +1635,9 @@ Inkscape::XML::Node *SvgBuilder::_createMask(double width, double height) { sp_repr_set_svg_double(mask_node, "height", height); // Append mask to defs if (_is_top_level) { - SP_OBJECT_REPR (SP_DOCUMENT_DEFS (_doc))->appendChild(mask_node); + SP_DOCUMENT_DEFS(_doc)->getRepr()->appendChild(mask_node); Inkscape::GC::release(mask_node); - return SP_OBJECT_REPR (SP_DOCUMENT_DEFS (_doc))->lastChild(); + return SP_DOCUMENT_DEFS(_doc)->getRepr()->lastChild(); } else { // Work around for renderer bug when mask isn't defined in pattern static int mask_count = 0; Inkscape::XML::Node *defs = _root->firstChild(); diff --git a/src/extension/param/parameter.cpp b/src/extension/param/parameter.cpp index ac7c8b8dd..529d5a775 100644 --- a/src/extension/param/parameter.cpp +++ b/src/extension/param/parameter.cpp @@ -349,7 +349,7 @@ Parameter::new_child (Inkscape::XML::Node * parent) Inkscape::XML::Node *Parameter::document_param_node(SPDocument * doc) { Inkscape::XML::Document *xml_doc = doc->getReprDoc(); - Inkscape::XML::Node * defs = SP_OBJECT_REPR(SP_DOCUMENT_DEFS(doc)); + Inkscape::XML::Node * defs = SP_DOCUMENT_DEFS(doc)->getRepr(); Inkscape::XML::Node * params = NULL; GQuark const name_quark = g_quark_from_string("inkscape:extension-params"); diff --git a/src/extension/patheffect.cpp b/src/extension/patheffect.cpp index 8e3fc13f1..09ee9be0b 100644 --- a/src/extension/patheffect.cpp +++ b/src/extension/patheffect.cpp @@ -42,7 +42,7 @@ PathEffect::processPathEffects (SPDocument * doc, Inkscape::XML::Node * path) return; gchar ** patheffects = g_strsplit(patheffectlist, ";", 128); - Inkscape::XML::Node * defs = SP_OBJECT_REPR(SP_DOCUMENT_DEFS(doc)); + Inkscape::XML::Node * defs = SP_DOCUMENT_DEFS(doc)->getRepr(); for (int i = 0; patheffects[i] != NULL && i < 128; i++) { gchar * patheffect = patheffects[i]; diff --git a/src/file.cpp b/src/file.cpp index c041cb262..2816b0434 100644 --- a/src/file.cpp +++ b/src/file.cpp @@ -964,7 +964,7 @@ file_import(SPDocument *in_doc, const Glib::ustring &uri, prevent_id_clashes(doc, in_doc); SPObject *in_defs = SP_DOCUMENT_DEFS(in_doc); - Inkscape::XML::Node *last_def = SP_OBJECT_REPR(in_defs)->lastChild(); + Inkscape::XML::Node *last_def = in_defs->getRepr()->lastChild(); SPCSSAttr *style = sp_css_attr_from_object(doc->getRoot()); @@ -1000,7 +1000,7 @@ file_import(SPDocument *in_doc, const Glib::ustring &uri, SPObject *new_obj = NULL; for ( SPObject *child = doc->getRoot()->firstChild(); child; child = child->getNext() ) { if (SP_IS_ITEM(child)) { - Inkscape::XML::Node *newitem = SP_OBJECT_REPR(child)->duplicate(xml_in_doc); + Inkscape::XML::Node *newitem = child->getRepr()->duplicate(xml_in_doc); // convert layers to groups, and make sure they are unlocked // FIXME: add "preserve layers" mode where each layer from @@ -1013,15 +1013,15 @@ file_import(SPDocument *in_doc, const Glib::ustring &uri, } // don't lose top-level defs or style elements - else if (SP_OBJECT_REPR(child)->type() == Inkscape::XML::ELEMENT_NODE) { - const gchar *tag = SP_OBJECT_REPR(child)->name(); + else if (child->getRepr()->type() == Inkscape::XML::ELEMENT_NODE) { + const gchar *tag = child->getRepr()->name(); if (!strcmp(tag, "svg:defs")) { for ( SPObject *x = child->firstChild(); x; x = x->getNext() ) { - SP_OBJECT_REPR(in_defs)->addChild(SP_OBJECT_REPR(x)->duplicate(xml_in_doc), last_def); + in_defs->getRepr()->addChild(x->getRepr()->duplicate(xml_in_doc), last_def); } } else if (!strcmp(tag, "svg:style")) { - in_doc->getRoot()->appendChildRepr(SP_OBJECT_REPR(child)->duplicate(xml_in_doc)); + in_doc->getRoot()->appendChildRepr(child->getRepr()->duplicate(xml_in_doc)); } } } diff --git a/src/filters/colormatrix.cpp b/src/filters/colormatrix.cpp index 6018afe09..34e730c65 100644 --- a/src/filters/colormatrix.cpp +++ b/src/filters/colormatrix.cpp @@ -190,7 +190,7 @@ sp_feColorMatrix_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape: /* TODO: Don't just clone, but create a new repr node and write all * relevant values into it */ if (!repr) { - repr = SP_OBJECT_REPR(object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); } if (((SPObjectClass *) feColorMatrix_parent_class)->write) { diff --git a/src/filters/componenttransfer.cpp b/src/filters/componenttransfer.cpp index c6ff4f5f2..48d9c3212 100644 --- a/src/filters/componenttransfer.cpp +++ b/src/filters/componenttransfer.cpp @@ -221,7 +221,7 @@ sp_feComponentTransfer_write(SPObject *object, Inkscape::XML::Document *doc, Ink /* TODO: Don't just clone, but create a new repr node and write all * relevant values into it */ if (!repr) { - repr = SP_OBJECT_REPR(object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); } if (((SPObjectClass *) feComponentTransfer_parent_class)->write) { diff --git a/src/filters/convolvematrix.cpp b/src/filters/convolvematrix.cpp index 3f1419967..99c6ca413 100644 --- a/src/filters/convolvematrix.cpp +++ b/src/filters/convolvematrix.cpp @@ -299,7 +299,7 @@ sp_feConvolveMatrix_write(SPObject *object, Inkscape::XML::Document *doc, Inksca /* TODO: Don't just clone, but create a new repr node and write all * relevant values into it */ if (!repr) { - repr = SP_OBJECT_REPR(object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); } diff --git a/src/filters/diffuselighting.cpp b/src/filters/diffuselighting.cpp index 95faa4a29..5c55a3d20 100644 --- a/src/filters/diffuselighting.cpp +++ b/src/filters/diffuselighting.cpp @@ -245,7 +245,7 @@ sp_feDiffuseLighting_write(SPObject *object, Inkscape::XML::Document *doc, Inksc /* TODO: Don't just clone, but create a new repr node and write all * relevant values _and children_ into it */ if (!repr) { - repr = SP_OBJECT_REPR(object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); //repr = doc->createElement("svg:feDiffuseLighting"); } diff --git a/src/filters/flood.cpp b/src/filters/flood.cpp index 25780c1ae..741c9e984 100644 --- a/src/filters/flood.cpp +++ b/src/filters/flood.cpp @@ -201,7 +201,7 @@ sp_feFlood_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML:: /* TODO: Don't just clone, but create a new repr node and write all * relevant values into it */ if (!repr) { - repr = SP_OBJECT_REPR(object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); } if (((SPObjectClass *) feFlood_parent_class)->write) { diff --git a/src/filters/image.cpp b/src/filters/image.cpp index bbe775c18..ebad7a002 100644 --- a/src/filters/image.cpp +++ b/src/filters/image.cpp @@ -234,7 +234,7 @@ static Inkscape::XML::Node * sp_feImage_write(SPObject *object, Inkscape::XML::D /* TODO: Don't just clone, but create a new repr node and write all * relevant values into it */ if (!repr) { - repr = SP_OBJECT_REPR(object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); } if (((SPObjectClass *) feImage_parent_class)->write) { diff --git a/src/filters/merge.cpp b/src/filters/merge.cpp index 4d6573564..226c82a72 100644 --- a/src/filters/merge.cpp +++ b/src/filters/merge.cpp @@ -150,7 +150,7 @@ sp_feMerge_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML:: /* TODO: Don't just clone, but create a new repr node and write all * relevant values into it. And child nodes, too! */ if (!repr) { - repr = SP_OBJECT_REPR(object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); } diff --git a/src/filters/mergenode.cpp b/src/filters/mergenode.cpp index b7b06a94a..b2aea5cca 100644 --- a/src/filters/mergenode.cpp +++ b/src/filters/mergenode.cpp @@ -150,9 +150,9 @@ sp_feMergeNode_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::X if (flags & SP_OBJECT_WRITE_EXT) { if (repr) { // is this sane? - //repr->mergeFrom(SP_OBJECT_REPR(object), "id"); + //repr->mergeFrom(object->getRepr(), "id"); } else { - repr = SP_OBJECT_REPR(object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); } } diff --git a/src/filters/morphology.cpp b/src/filters/morphology.cpp index 7ae65c48d..c6a7f9993 100644 --- a/src/filters/morphology.cpp +++ b/src/filters/morphology.cpp @@ -184,7 +184,7 @@ sp_feMorphology_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape:: /* TODO: Don't just clone, but create a new repr node and write all * relevant values into it */ if (!repr) { - repr = SP_OBJECT_REPR(object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); } if (((SPObjectClass *) feMorphology_parent_class)->write) { diff --git a/src/filters/offset.cpp b/src/filters/offset.cpp index 48ee895dc..263e5bf06 100644 --- a/src/filters/offset.cpp +++ b/src/filters/offset.cpp @@ -168,7 +168,7 @@ sp_feOffset_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML: /* TODO: Don't just clone, but create a new repr node and write all * relevant values into it */ if (!repr) { - repr = SP_OBJECT_REPR(object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); } if (((SPObjectClass *) feOffset_parent_class)->write) { diff --git a/src/filters/specularlighting.cpp b/src/filters/specularlighting.cpp index 41eb38e61..27d2a8c02 100644 --- a/src/filters/specularlighting.cpp +++ b/src/filters/specularlighting.cpp @@ -272,7 +272,7 @@ sp_feSpecularLighting_write(SPObject *object, Inkscape::XML::Document *doc, Inks /* TODO: Don't just clone, but create a new repr node and write all * relevant values _and children_ into it */ if (!repr) { - repr = SP_OBJECT_REPR(object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); //repr = doc->createElement("svg:feSpecularLighting"); } diff --git a/src/filters/tile.cpp b/src/filters/tile.cpp index f37409b14..f42ec1de5 100644 --- a/src/filters/tile.cpp +++ b/src/filters/tile.cpp @@ -150,7 +150,7 @@ sp_feTile_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::N /* TODO: Don't just clone, but create a new repr node and write all * relevant values into it */ if (!repr) { - repr = SP_OBJECT_REPR(object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); } if (((SPObjectClass *) feTile_parent_class)->write) { diff --git a/src/filters/turbulence.cpp b/src/filters/turbulence.cpp index 739001311..9d1448c70 100644 --- a/src/filters/turbulence.cpp +++ b/src/filters/turbulence.cpp @@ -234,7 +234,7 @@ sp_feTurbulence_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape:: /* TODO: Don't just clone, but create a new repr node and write all * relevant values into it */ if (!repr) { - repr = SP_OBJECT_REPR(object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); } if (((SPObjectClass *) feTurbulence_parent_class)->write) { diff --git a/src/helper/stock-items.cpp b/src/helper/stock-items.cpp index 4ec61c54a..9f3f172ac 100644 --- a/src/helper/stock-items.cpp +++ b/src/helper/stock-items.cpp @@ -71,8 +71,8 @@ static SPObject * sp_marker_load_from_svg(gchar const *name, SPDocument *current if (object && SP_IS_MARKER(object)) { SPDefs *defs= (SPDefs *) SP_DOCUMENT_DEFS(current_doc); Inkscape::XML::Document *xml_doc = current_doc->getReprDoc(); - Inkscape::XML::Node *mark_repr = SP_OBJECT_REPR(object)->duplicate(xml_doc); - SP_OBJECT_REPR(defs)->addChild(mark_repr, NULL); + Inkscape::XML::Node *mark_repr = object->getRepr()->duplicate(xml_doc); + defs->getRepr()->addChild(mark_repr, NULL); SPObject *cloned_item = current_doc->getObjectByRepr(mark_repr); Inkscape::GC::release(mark_repr); return cloned_item; @@ -115,8 +115,8 @@ sp_pattern_load_from_svg(gchar const *name, SPDocument *current_doc) if (object && SP_IS_PATTERN(object)) { SPDefs *defs= (SPDefs *) SP_DOCUMENT_DEFS(current_doc); Inkscape::XML::Document *xml_doc = current_doc->getReprDoc(); - Inkscape::XML::Node *pat_repr = SP_OBJECT_REPR(object)->duplicate(xml_doc); - SP_OBJECT_REPR(defs)->addChild(pat_repr, NULL); + Inkscape::XML::Node *pat_repr = object->getRepr()->duplicate(xml_doc); + defs->getRepr()->addChild(pat_repr, NULL); Inkscape::GC::release(pat_repr); return object; } @@ -158,8 +158,8 @@ sp_gradient_load_from_svg(gchar const *name, SPDocument *current_doc) if (object && SP_IS_GRADIENT(object)) { SPDefs *defs= (SPDefs *) SP_DOCUMENT_DEFS(current_doc); Inkscape::XML::Document *xml_doc = current_doc->getReprDoc(); - Inkscape::XML::Node *pat_repr = SP_OBJECT_REPR(object)->duplicate(xml_doc); - SP_OBJECT_REPR(defs)->addChild(pat_repr, NULL); + Inkscape::XML::Node *pat_repr = object->getRepr()->duplicate(xml_doc); + defs->getRepr()->addChild(pat_repr, NULL); Inkscape::GC::release(pat_repr); return object; } @@ -201,8 +201,8 @@ SPObject *get_stock_item(gchar const *urn) if (!strcmp(base, "marker")) { for ( SPObject *child = defs->firstChild(); child; child = child->getNext() ) { - if (SP_OBJECT_REPR(child)->attribute("inkscape:stockid") && - !strcmp(name_p, SP_OBJECT_REPR(child)->attribute("inkscape:stockid")) && + if (child->getRepr()->attribute("inkscape:stockid") && + !strcmp(name_p, child->getRepr()->attribute("inkscape:stockid")) && SP_IS_MARKER(child)) { object = child; @@ -214,7 +214,7 @@ SPObject *get_stock_item(gchar const *urn) for ( SPObject *child = defs->firstChild() ; child; child = child->getNext() ) { if (child->getRepr()->attribute("inkscape:stockid") && - !strcmp(name_p, SP_OBJECT_REPR(child)->attribute("inkscape:stockid")) && + !strcmp(name_p, child->getRepr()->attribute("inkscape:stockid")) && SP_IS_PATTERN(child)) { object = child; @@ -225,8 +225,8 @@ SPObject *get_stock_item(gchar const *urn) else if (!strcmp(base,"gradient")) { for ( SPObject *child = defs->firstChild(); child; child = child->getNext() ) { - if (SP_OBJECT_REPR(child)->attribute("inkscape:stockid") && - !strcmp(name_p, SP_OBJECT_REPR(child)->attribute("inkscape:stockid")) && + if (child->getRepr()->attribute("inkscape:stockid") && + !strcmp(name_p, child->getRepr()->attribute("inkscape:stockid")) && SP_IS_GRADIENT(child)) { object = child; diff --git a/src/jabber_whiteboard/node-tracker.cpp b/src/jabber_whiteboard/node-tracker.cpp index 9f40a7dc6..286ab8216 100644 --- a/src/jabber_whiteboard/node-tracker.cpp +++ b/src/jabber_whiteboard/node-tracker.cpp @@ -288,7 +288,7 @@ void XMLNodeTracker::reset() if (!namedview) { g_warning("namedview node does not exist; it will be created during synchronization"); } else { - put(_namedviewKey, *(SP_OBJECT_REPR(namedview))); + put(_namedviewKey, *(namedview->getRepr())); } } diff --git a/src/live_effects/lpe-curvestitch.cpp b/src/live_effects/lpe-curvestitch.cpp index 80221e7b8..febe33208 100644 --- a/src/live_effects/lpe-curvestitch.cpp +++ b/src/live_effects/lpe-curvestitch.cpp @@ -163,7 +163,7 @@ LPECurveStitch::resetDefaults(SPItem * item) // calculate bounding box: (isn't there a simpler way?) Piecewise<D2<SBasis> > pwd2; - std::vector<Geom::Path> temppath = sp_svg_read_pathv( SP_OBJECT_REPR(item)->attribute("inkscape:original-d")); + std::vector<Geom::Path> temppath = sp_svg_read_pathv( item->getRepr()->attribute("inkscape:original-d")); for (unsigned int i=0; i < temppath.size(); i++) { pwd2.concat( temppath[i].toPwSb() ); } diff --git a/src/main.cpp b/src/main.cpp index a1b21cc4d..ac0994be6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1298,7 +1298,7 @@ sp_do_export_png(SPDocument *doc) if (sp_export_use_hints) { // retrieve export filename hint - const gchar *fn_hint = SP_OBJECT_REPR(o)->attribute("inkscape:export-filename"); + const gchar *fn_hint = o->getRepr()->attribute("inkscape:export-filename"); if (fn_hint) { if (sp_export_png) { g_warning ("Using export filename from the command line (--export-png). Filename hint %s is ignored.", fn_hint); @@ -1313,7 +1313,7 @@ sp_do_export_png(SPDocument *doc) } // retrieve export dpi hints - const gchar *dpi_hint = SP_OBJECT_REPR(o)->attribute("inkscape:export-xdpi"); // only xdpi, ydpi is always the same now + const gchar *dpi_hint = o->getRepr()->attribute("inkscape:export-xdpi"); // only xdpi, ydpi is always the same now if (dpi_hint) { if (sp_export_dpi || sp_export_width || sp_export_height) { g_warning ("Using bitmap dimensions from the command line (--export-dpi, --export-width, or --export-height). DPI hint %s is ignored.", dpi_hint); diff --git a/src/marker.cpp b/src/marker.cpp index efbe27680..faffadd58 100644 --- a/src/marker.cpp +++ b/src/marker.cpp @@ -740,7 +740,7 @@ const gchar *generate_marker(GSList *reprs, Geom::Rect bounds, SPDocument *docum dup_transform = Geom::identity(); dup_transform *= move; - copy->doWriteTransform(SP_OBJECT_REPR(copy), dup_transform); + copy->doWriteTransform(copy->getRepr(), dup_transform); } Inkscape::GC::release(repr); diff --git a/src/object-edit.cpp b/src/object-edit.cpp index a683500c0..2b03d7654 100644 --- a/src/object-edit.cpp +++ b/src/object-edit.cpp @@ -80,8 +80,8 @@ sp_item_knot_holder(SPItem *item, SPDesktop *desktop) knotholder = new OffsetKnotHolder(desktop, item, NULL); } else if (SP_IS_FLOWTEXT(item) && SP_FLOWTEXT(item)->has_internal_frame()) { knotholder = new FlowtextKnotHolder(desktop, SP_FLOWTEXT(item)->get_frame(NULL), NULL); - } else if ((SP_OBJECT(item)->style->fill.isPaintserver()) - && SP_IS_PATTERN(SP_STYLE_FILL_SERVER(SP_OBJECT(item)->style))) { + } else if ((item->style->fill.isPaintserver()) + && SP_IS_PATTERN(item->style->getFillPaintServer())) { knotholder = new KnotHolder(desktop, item, NULL); knotholder->add_pattern_knotholder(); } @@ -164,11 +164,11 @@ RectKnotHolderEntityRX::knot_click(guint state) if (state & GDK_SHIFT_MASK) { /* remove rounding from rectangle */ - SP_OBJECT_REPR(rect)->setAttribute("rx", NULL); - SP_OBJECT_REPR(rect)->setAttribute("ry", NULL); + rect->getRepr()->setAttribute("rx", NULL); + rect->getRepr()->setAttribute("ry", NULL); } else if (state & GDK_CONTROL_MASK) { /* Ctrl-click sets the vertical rounding to be the same as the horizontal */ - SP_OBJECT_REPR(rect)->setAttribute("ry", SP_OBJECT_REPR(rect)->attribute("rx")); + rect->getRepr()->setAttribute("ry", rect->getRepr()->attribute("rx")); } } @@ -222,11 +222,11 @@ RectKnotHolderEntityRY::knot_click(guint state) if (state & GDK_SHIFT_MASK) { /* remove rounding */ - SP_OBJECT_REPR(rect)->setAttribute("rx", NULL); - SP_OBJECT_REPR(rect)->setAttribute("ry", NULL); + rect->getRepr()->setAttribute("rx", NULL); + rect->getRepr()->setAttribute("ry", NULL); } else if (state & GDK_CONTROL_MASK) { /* Ctrl-click sets the vertical rounding to be the same as the horizontal */ - SP_OBJECT_REPR(rect)->setAttribute("rx", SP_OBJECT_REPR(rect)->attribute("ry")); + rect->getRepr()->setAttribute("rx", rect->getRepr()->attribute("ry")); } } diff --git a/src/persp3d-reference.cpp b/src/persp3d-reference.cpp index 509332b52..895eac6f2 100644 --- a/src/persp3d-reference.cpp +++ b/src/persp3d-reference.cpp @@ -55,7 +55,7 @@ Persp3DReference::start_listening(Persp3D* to) return; } persp = to; - persp_repr = SP_OBJECT_REPR(to); + persp_repr = to->getRepr(); _delete_connection = to->connectDelete(sigc::bind(sigc::ptr_fun(&persp3dreference_delete_self), this)); _modified_connection = to->connectModified(sigc::bind<2>(sigc::ptr_fun(&persp3dreference_source_modified), this)); } diff --git a/src/persp3d.cpp b/src/persp3d.cpp index fbd782294..d43e6b2c5 100644 --- a/src/persp3d.cpp +++ b/src/persp3d.cpp @@ -134,7 +134,7 @@ static void persp3d_build(SPObject *object, SPDocument *document, Inkscape::XML: static void persp3d_release(SPObject *object) { Persp3D *persp = SP_PERSP3D(object); delete persp->perspective_impl; - SP_OBJECT_REPR(object)->removeListenerByData(object); + object->getRepr()->removeListenerByData(object); } @@ -244,10 +244,10 @@ Persp3D *persp3d_create_xml_element(SPDocument *document, Persp3DImpl *dup) {// g_free (str); /* Append the new persp3d to defs */ - SP_OBJECT_REPR(defs)->addChild(repr, NULL); + defs->getRepr()->addChild(repr, NULL); Inkscape::GC::release(repr); - return (Persp3D *) SP_OBJECT(defs)->get_child_by_repr (repr); + return reinterpret_cast<Persp3D *>( defs->get_child_by_repr(repr) ); } Persp3D *persp3d_document_first_persp(SPDocument *document) @@ -338,7 +338,7 @@ persp3d_toggle_VP (Persp3D *persp, Proj::Axis axis, bool set_undo) { // On the other hand, vp_drag_sel_modified() would update all boxes; // here we can confine ourselves to the boxes of this particular perspective. persp3d_update_box_reprs (persp); - SP_OBJECT(persp)->updateRepr(SP_OBJECT_WRITE_EXT); + persp->updateRepr(SP_OBJECT_WRITE_EXT); if (set_undo) { DocumentUndo::done(sp_desktop_document(inkscape_active_desktop()), SP_VERB_CONTEXT_3DBOX, _("Toggle vanishing point")); @@ -376,7 +376,7 @@ persp3d_rotate_VP (Persp3D *persp, Proj::Axis axis, double angle, bool alt_press persp->perspective_impl->tmat.set_infinite_direction (axis, a); persp3d_update_box_reprs (persp); - SP_OBJECT(persp)->updateRepr(SP_OBJECT_WRITE_EXT); + persp->updateRepr(SP_OBJECT_WRITE_EXT); } void @@ -388,7 +388,7 @@ void persp3d_apply_affine_transformation (Persp3D *persp, Geom::Affine const &xform) { persp->perspective_impl->tmat *= xform; persp3d_update_box_reprs(persp); - SP_OBJECT(persp)->updateRepr(SP_OBJECT_WRITE_EXT); + persp->updateRepr(SP_OBJECT_WRITE_EXT); } gchar * @@ -455,7 +455,7 @@ persp3d_update_box_reprs (Persp3D *persp) { if (persp_impl->boxes.empty()) return; for (std::vector<SPBox3D *>::iterator i = persp_impl->boxes.begin(); i != persp_impl->boxes.end(); ++i) { - SP_OBJECT(*i)->updateRepr(SP_OBJECT_WRITE_EXT); + (*i)->updateRepr(SP_OBJECT_WRITE_EXT); box3d_set_z_orders(*i); } } @@ -504,7 +504,7 @@ persp3d_absorb(Persp3D *persp1, Persp3D *persp2) { for (std::list<SPBox3D *>::iterator i = boxes_of_persp2.begin(); i != boxes_of_persp2.end(); ++i) { box3d_switch_perspectives((*i), persp2, persp1, true); - SP_OBJECT(*i)->updateRepr(SP_OBJECT_WRITE_EXT); // so that undo/redo can do its job properly + (*i)->updateRepr(SP_OBJECT_WRITE_EXT); // so that undo/redo can do its job properly } } @@ -583,7 +583,7 @@ persp3d_print_all_selected() { for (std::list<Persp3D *>::iterator j = sel_persps.begin(); j != sel_persps.end(); ++j) { Persp3D *persp = SP_PERSP3D(*j); Persp3DImpl *persp_impl = persp->perspective_impl; - g_print (" %s (%d): ", SP_OBJECT_REPR(persp)->attribute("id"), persp->perspective_impl->my_counter); + g_print (" %s (%d): ", persp->getRepr()->attribute("id"), persp->perspective_impl->my_counter); for (std::vector<SPBox3D *>::iterator i = persp_impl->boxes.begin(); i != persp_impl->boxes.end(); ++i) { g_print ("%d ", (*i)->my_counter); @@ -596,7 +596,7 @@ persp3d_print_all_selected() { void print_current_persp3d(gchar *func_name, Persp3D *persp) { g_print ("%s: current_persp3d is now %s\n", func_name, - persp ? SP_OBJECT_REPR(persp)->attribute("id") : "NULL"); + persp ? persp->getRepr()->attribute("id") : "NULL"); } /* diff --git a/src/sp-anchor.cpp b/src/sp-anchor.cpp index e57ac8a58..517512eb2 100644 --- a/src/sp-anchor.cpp +++ b/src/sp-anchor.cpp @@ -152,7 +152,7 @@ static Inkscape::XML::Node *sp_anchor_write(SPObject *object, Inkscape::XML::Doc repr->setAttribute("xlink:href", anchor->href); - if (repr != SP_OBJECT_REPR(object)) { + if (repr != object->getRepr()) { // XML Tree being directly used while it shouldn't be in the // below COPY_ATTR lines COPY_ATTR(repr, object->getRepr(), "xlink:type"); diff --git a/src/sp-conn-end.cpp b/src/sp-conn-end.cpp index 3cea95cc5..d11eca4c7 100644 --- a/src/sp-conn-end.cpp +++ b/src/sp-conn-end.cpp @@ -233,8 +233,8 @@ sp_conn_end_deleted(SPObject *, SPObject *const owner, unsigned const handle_ix) g_return_if_fail(handle_ix < 2); char const * const attr_strs[] = {"inkscape:connection-start", "inkscape:connection-start-point", "inkscape:connection-end", "inkscape:connection-end-point"}; - SP_OBJECT_REPR(owner)->setAttribute(attr_strs[2*handle_ix], NULL); - SP_OBJECT_REPR(owner)->setAttribute(attr_strs[2*handle_ix+1], NULL); + owner->getRepr()->setAttribute(attr_strs[2*handle_ix], NULL); + owner->getRepr()->setAttribute(attr_strs[2*handle_ix+1], NULL); /* I believe this will trigger sp_conn_end_href_changed. */ } @@ -375,8 +375,8 @@ sp_conn_end_href_changed(SPObject */*old_ref*/, SPObject */*ref*/, SPObject *refobj = connEnd.ref.getObject(); if (refobj) { connEnd._delete_connection - = SP_OBJECT(refobj)->connectDelete(sigc::bind(sigc::ptr_fun(&sp_conn_end_deleted), - SP_OBJECT(path), handle_ix)); + = refobj->connectDelete(sigc::bind(sigc::ptr_fun(&sp_conn_end_deleted), + path, handle_ix)); connEnd._transformed_connection = SP_ITEM(refobj)->connectTransformed(sigc::bind(sigc::ptr_fun(&sp_conn_end_shape_move), path)); diff --git a/src/sp-desc.cpp b/src/sp-desc.cpp index 1c8229847..18b1a1cad 100644 --- a/src/sp-desc.cpp +++ b/src/sp-desc.cpp @@ -66,11 +66,12 @@ static Inkscape::XML::Node * sp_desc_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags) { if (!repr) { - repr = SP_OBJECT_REPR (object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); } - if (((SPObjectClass *) desc_parent_class)->write) + if (((SPObjectClass *) desc_parent_class)->write) { ((SPObjectClass *) desc_parent_class)->write(object, doc, repr, flags); + } return repr; } diff --git a/src/sp-ellipse.cpp b/src/sp-ellipse.cpp index 722271fda..4ebbe6287 100644 --- a/src/sp-ellipse.cpp +++ b/src/sp-ellipse.cpp @@ -168,7 +168,7 @@ sp_genericellipse_update_patheffect(SPLPEItem *lpeitem, bool write) sp_genericellipse_set_shape(shape); if (write) { - Inkscape::XML::Node *repr = SP_OBJECT_REPR(shape); + Inkscape::XML::Node *repr = shape->getRepr(); if ( shape->curve != NULL ) { gchar *str = sp_svg_write_path(shape->curve->get_pathvector()); repr->setAttribute("d", str); @@ -187,9 +187,9 @@ static void sp_genericellipse_set_shape(SPShape *shape) { if (sp_lpe_item_has_broken_path_effect(SP_LPE_ITEM(shape))) { g_warning ("The ellipse shape has unknown LPE on it! Convert to path to make it editable preserving the appearance; editing it as ellipse will remove the bad LPE"); - if (SP_OBJECT_REPR(shape)->attribute("d")) { + if (shape->getRepr()->attribute("d")) { // unconditionally read the curve from d, if any, to preserve appearance - Geom::PathVector pv = sp_svg_read_pathv(SP_OBJECT_REPR(shape)->attribute("d")); + Geom::PathVector pv = sp_svg_read_pathv(shape->getRepr()->attribute("d")); SPCurve *cold = new SPCurve(pv); shape->setCurveInsync( cold, TRUE); cold->unref(); @@ -364,12 +364,14 @@ static Inkscape::XML::Node *sp_genericellipse_write(SPObject *object, Inkscape:: sp_repr_set_svg_double(repr, "sodipodi:rx", ellipse->rx.computed); sp_repr_set_svg_double(repr, "sodipodi:ry", ellipse->ry.computed); - if (SP_IS_ARC(ellipse)) - sp_arc_set_elliptical_path_attribute(SP_ARC(object), SP_OBJECT_REPR(object)); + if (SP_IS_ARC(ellipse)) { + sp_arc_set_elliptical_path_attribute(SP_ARC(object), object->getRepr()); + } } - if (((SPObjectClass *) ge_parent_class)->write) + if (((SPObjectClass *) ge_parent_class)->write) { ((SPObjectClass *) ge_parent_class)->write(object, xml_doc, repr, flags); + } return repr; } diff --git a/src/sp-filter-primitive.cpp b/src/sp-filter-primitive.cpp index 30eda7159..87f96fb90 100644 --- a/src/sp-filter-primitive.cpp +++ b/src/sp-filter-primitive.cpp @@ -182,7 +182,7 @@ sp_filter_primitive_write(SPObject *object, Inkscape::XML::Document *doc, Inksca SPFilter *parent = SP_FILTER(object->parent); if (!repr) { - repr = SP_OBJECT_REPR(object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); } gchar const *in_name = sp_filter_name_for_image(parent, prim->image_in); diff --git a/src/sp-flowdiv.cpp b/src/sp-flowdiv.cpp index 4d07cffd7..4dfdcbb9a 100644 --- a/src/sp-flowdiv.cpp +++ b/src/sp-flowdiv.cpp @@ -405,7 +405,7 @@ static Inkscape::XML::Node *sp_flowtspan_write(SPObject *object, Inkscape::XML:: } else if ( SP_IS_FLOWPARA(child) ) { child->updateRepr(flags); } else if ( SP_IS_STRING(child) ) { - SP_OBJECT_REPR(child)->setContent(SP_STRING(child)->string.c_str()); + child->getRepr()->setContent(SP_STRING(child)->string.c_str()); } } } diff --git a/src/sp-font-face.cpp b/src/sp-font-face.cpp index 93e2eeac8..520eee855 100644 --- a/src/sp-font-face.cpp +++ b/src/sp-font-face.cpp @@ -865,7 +865,7 @@ static Inkscape::XML::Node *sp_fontface_write(SPObject *object, Inkscape::XML::D sp_repr_set_svg_double(repr, "overline-position", face->overline_position); sp_repr_set_svg_double(repr, "overline-thickness", face->overline_thickness); - if (repr != SP_OBJECT_REPR(object)) { + if (repr != object->getRepr()) { // In all COPY_ATTR given below the XML tree is // being used directly while it shouldn't be. COPY_ATTR(repr, object->getRepr(), "font-family"); diff --git a/src/sp-gaussian-blur.cpp b/src/sp-gaussian-blur.cpp index 1c28fb76f..3786d9094 100644 --- a/src/sp-gaussian-blur.cpp +++ b/src/sp-gaussian-blur.cpp @@ -159,7 +159,7 @@ sp_gaussianBlur_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape:: /* TODO: Don't just clone, but create a new repr node and write all * relevant values into it */ if (!repr) { - repr = SP_OBJECT_REPR(object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); } if (((SPObjectClass *) gaussianBlur_parent_class)->write) { diff --git a/src/sp-glyph-kerning.cpp b/src/sp-glyph-kerning.cpp index 7a9f9b2ff..61a2ac531 100644 --- a/src/sp-glyph-kerning.cpp +++ b/src/sp-glyph-kerning.cpp @@ -250,7 +250,7 @@ static Inkscape::XML::Node *sp_glyph_kerning_write(SPObject *object, Inkscape::X sp_repr_set_svg_double(repr, "vert-origin-y", glyph->vert_origin_y); sp_repr_set_svg_double(repr, "vert-adv-y", glyph->vert_adv_y); */ - if (repr != SP_OBJECT_REPR(object)) { + if (repr != object->getRepr()) { // All the COPY_ATTR functions below use // XML Tree directly, while they shouldn't. COPY_ATTR(repr, object->getRepr(), "u1"); diff --git a/src/sp-glyph.cpp b/src/sp-glyph.cpp index 6f7238133..709a33be2 100644 --- a/src/sp-glyph.cpp +++ b/src/sp-glyph.cpp @@ -290,7 +290,7 @@ static Inkscape::XML::Node *sp_glyph_write(SPObject *object, Inkscape::XML::Docu sp_repr_set_svg_double(repr, "vert-origin-y", glyph->vert_origin_y); sp_repr_set_svg_double(repr, "vert-adv-y", glyph->vert_adv_y); */ - if (repr != SP_OBJECT_REPR(object)) { + if (repr != object->getRepr()) { // All the COPY_ATTR functions below use // XML Tree directly while they shouldn't. COPY_ATTR(repr, object->getRepr(), "unicode"); diff --git a/src/sp-guide.cpp b/src/sp-guide.cpp index a0186a37d..7d36df4a3 100644 --- a/src/sp-guide.cpp +++ b/src/sp-guide.cpp @@ -222,7 +222,7 @@ static void sp_guide_set(SPObject *object, unsigned int key, const gchar *value) guide->point_on_line = Geom::Point(newx, newy); } else if (success == 1) { // before 0.46 style guideline definition. - const gchar *attr = SP_OBJECT_REPR(object)->attribute("orientation"); + const gchar *attr = object->getRepr()->attribute("orientation"); if (attr && !strcmp(attr, "horizontal")) { guide->point_on_line = Geom::Point(0, newx); } else { @@ -345,7 +345,7 @@ double SPGuide::getDistanceFrom(Geom::Point const &pt) const * true indicates a "committing" version: in response to button release event after * dragging a guideline, or clicking OK in guide editing dialog. */ -void sp_guide_moveto(SPGuide const &guide, Geom::Point const point_on_line, bool const commit) +void sp_guide_moveto(SPGuide &guide, Geom::Point const point_on_line, bool const commit) { g_assert(SP_IS_GUIDE(&guide)); @@ -357,7 +357,7 @@ void sp_guide_moveto(SPGuide const &guide, Geom::Point const point_on_line, bool case, so that the guide's new position is available for sp_item_rm_unsatisfied_cns. */ if (commit) { //XML Tree being used here directly while it shouldn't be. - sp_repr_set_point(SP_OBJECT(&guide)->getRepr(), "position", point_on_line); + sp_repr_set_point(guide.getRepr(), "position", point_on_line); } /* DISABLED CODE BECAUSE SPGuideAttachment IS NOT USE AT THE MOMENT (johan) @@ -376,7 +376,7 @@ void sp_guide_moveto(SPGuide const &guide, Geom::Point const point_on_line, bool * true indicates a "committing" version: in response to button release event after * dragging a guideline, or clicking OK in guide editing dialog. */ -void sp_guide_set_normal(SPGuide const &guide, Geom::Point const normal_to_line, bool const commit) +void sp_guide_set_normal(SPGuide &guide, Geom::Point const normal_to_line, bool const commit) { g_assert(SP_IS_GUIDE(&guide)); @@ -388,7 +388,7 @@ void sp_guide_set_normal(SPGuide const &guide, Geom::Point const normal_to_line, case, so that the guide's new position is available for sp_item_rm_unsatisfied_cns. */ if (commit) { //XML Tree being used directly while it shouldn't be - sp_repr_set_point(SP_OBJECT(&guide)->getRepr(), "orientation", normal_to_line); + sp_repr_set_point(guide.getRepr(), "orientation", normal_to_line); } /* DISABLED CODE BECAUSE SPGuideAttachment IS NOT USE AT THE MOMENT (johan) @@ -459,7 +459,7 @@ void sp_guide_remove(SPGuide *guide) guide->attached_items.clear(); //XML Tree being used directly while it shouldn't be. - sp_repr_unparent(SP_OBJECT(guide)->getRepr()); + sp_repr_unparent(guide->getRepr()); } /* diff --git a/src/sp-guide.h b/src/sp-guide.h index f9f67f301..c53042da5 100644 --- a/src/sp-guide.h +++ b/src/sp-guide.h @@ -60,8 +60,8 @@ GType sp_guide_get_type(); void sp_guide_pt_pairs_to_guides(SPDesktop *dt, std::list<std::pair<Geom::Point, Geom::Point> > &pts); void sp_guide_create_guides_around_page(SPDesktop *dt); -void sp_guide_moveto(SPGuide const &guide, Geom::Point const point_on_line, bool const commit); -void sp_guide_set_normal(SPGuide const &guide, Geom::Point const normal_to_line, bool const commit); +void sp_guide_moveto(SPGuide &guide, Geom::Point const point_on_line, bool const commit); +void sp_guide_set_normal(SPGuide &guide, Geom::Point const normal_to_line, bool const commit); void sp_guide_remove(SPGuide *guide); char *sp_guide_description(SPGuide const *guide, const bool verbose = true); diff --git a/src/sp-item-notify-moveto.cpp b/src/sp-item-notify-moveto.cpp index 928d6f82f..2005356bd 100644 --- a/src/sp-item-notify-moveto.cpp +++ b/src/sp-item-notify-moveto.cpp @@ -49,7 +49,7 @@ void sp_item_notify_moveto(SPItem &item, SPGuide const &mv_g, int const snappoin /* Commit repr. */ { - item.doWriteTransform(SP_OBJECT_REPR(&item), item.transform); + item.doWriteTransform(item.getRepr(), item.transform); } sp_item_rm_unsatisfied_cns(item); diff --git a/src/sp-item-transform.cpp b/src/sp-item-transform.cpp index c3a95dc0f..e91c80b5f 100644 --- a/src/sp-item-transform.cpp +++ b/src/sp-item-transform.cpp @@ -26,7 +26,7 @@ sp_item_rotate_rel(SPItem *item, Geom::Rotate const &rotation) // Rotate item. item->set_i2d_affine(item->i2d_affine() * (Geom::Affine)affine); // Use each item's own transform writer, consistent with sp_selection_apply_affine() - item->doWriteTransform(SP_OBJECT_REPR(item), item->transform); + item->doWriteTransform(item->getRepr(), item->transform); // Restore the center position (it's changed because the bbox center changed) if (item->isCenterSet()) { @@ -42,7 +42,7 @@ sp_item_scale_rel (SPItem *item, Geom::Scale const &scale) if (bbox) { Geom::Translate const s(bbox->midpoint()); // use getCenter? item->set_i2d_affine(item->i2d_affine() * s.inverse() * scale * s); - item->doWriteTransform(SP_OBJECT_REPR(item), item->transform); + item->doWriteTransform(item->getRepr(), item->transform); } } @@ -56,7 +56,7 @@ sp_item_skew_rel (SPItem *item, double skewX, double skewY) Geom::Affine affine = Geom::Affine(s).inverse() * skew * Geom::Affine(s); item->set_i2d_affine(item->i2d_affine() * affine); - item->doWriteTransform(SP_OBJECT_REPR(item), item->transform); + item->doWriteTransform(item->getRepr(), item->transform); // Restore the center position (it's changed because the bbox center changed) if (item->isCenterSet()) { @@ -69,7 +69,7 @@ void sp_item_move_rel(SPItem *item, Geom::Translate const &tr) { item->set_i2d_affine(item->i2d_affine() * tr); - item->doWriteTransform(SP_OBJECT_REPR(item), item->transform); + item->doWriteTransform(item->getRepr(), item->transform); } /* diff --git a/src/sp-lpe-item.cpp b/src/sp-lpe-item.cpp index afd36d2dd..7d42400fa 100644 --- a/src/sp-lpe-item.cpp +++ b/src/sp-lpe-item.cpp @@ -434,7 +434,7 @@ sp_lpe_item_create_original_path_recursive(SPLPEItem *lpeitem) } } else if (SP_IS_PATH(lpeitem)) { - Inkscape::XML::Node *pathrepr = SP_OBJECT_REPR(lpeitem); + Inkscape::XML::Node *pathrepr = lpeitem->getRepr(); if ( !pathrepr->attribute("inkscape:original-d") ) { pathrepr->setAttribute("inkscape:original-d", pathrepr->attribute("d")); } @@ -454,7 +454,7 @@ sp_lpe_item_cleanup_original_path_recursive(SPLPEItem *lpeitem) } } else if (SP_IS_PATH(lpeitem)) { - Inkscape::XML::Node *repr = SP_OBJECT_REPR(lpeitem); + Inkscape::XML::Node *repr = lpeitem->getRepr(); if (!sp_lpe_item_has_path_effect_recursive(lpeitem) && repr->attribute("inkscape:original-d")) { repr->setAttribute("d", repr->attribute("inkscape:original-d")); @@ -485,7 +485,7 @@ void sp_lpe_item_add_path_effect(SPLPEItem *lpeitem, gchar *value, bool reset) hreflist.push_back( std::string(value) ); std::string hrefs = hreflist_write_svg(hreflist); - SP_OBJECT_REPR(lpeitem)->setAttribute("inkscape:path-effect", hrefs.c_str()); + lpeitem->getRepr()->setAttribute("inkscape:path-effect", hrefs.c_str()); // make sure there is an original-d for paths!!! sp_lpe_item_create_original_path_recursive(lpeitem); @@ -516,7 +516,7 @@ void sp_lpe_item_add_path_effect(SPLPEItem *lpeitem, gchar *value, bool reset) void sp_lpe_item_add_path_effect(SPLPEItem *lpeitem, LivePathEffectObject * new_lpeobj) { - const gchar * repr_id = SP_OBJECT_REPR(new_lpeobj)->attribute("id"); + const gchar * repr_id = new_lpeobj->getRepr()->attribute("id"); gchar *hrefstr = g_strdup_printf("#%s", repr_id); sp_lpe_item_add_path_effect(lpeitem, hrefstr, false); g_free(hrefstr); @@ -533,9 +533,9 @@ void sp_lpe_item_remove_current_path_effect(SPLPEItem *lpeitem, bool keep_paths) std::string r = patheffectlist_write_svg(new_list); if (!r.empty()) { - SP_OBJECT_REPR(lpeitem)->setAttribute("inkscape:path-effect", r.c_str()); + lpeitem->getRepr()->setAttribute("inkscape:path-effect", r.c_str()); } else { - SP_OBJECT_REPR(lpeitem)->setAttribute("inkscape:path-effect", NULL); + lpeitem->getRepr()->setAttribute("inkscape:path-effect", NULL); } if (!keep_paths) { @@ -545,7 +545,7 @@ void sp_lpe_item_remove_current_path_effect(SPLPEItem *lpeitem, bool keep_paths) void sp_lpe_item_remove_all_path_effects(SPLPEItem *lpeitem, bool keep_paths) { - SP_OBJECT_REPR(lpeitem)->setAttribute("inkscape:path-effect", NULL); + lpeitem->getRepr()->setAttribute("inkscape:path-effect", NULL); if (!keep_paths) { sp_lpe_item_cleanup_original_path_recursive(lpeitem); @@ -568,7 +568,7 @@ void sp_lpe_item_down_current_path_effect(SPLPEItem *lpeitem) } } std::string r = patheffectlist_write_svg(new_list); - SP_OBJECT_REPR(lpeitem)->setAttribute("inkscape:path-effect", r.c_str()); + lpeitem->getRepr()->setAttribute("inkscape:path-effect", r.c_str()); sp_lpe_item_cleanup_original_path_recursive(lpeitem); } @@ -588,7 +588,7 @@ void sp_lpe_item_up_current_path_effect(SPLPEItem *lpeitem) } std::string r = patheffectlist_write_svg(new_list); - SP_OBJECT_REPR(lpeitem)->setAttribute("inkscape:path-effect", r.c_str()); + lpeitem->getRepr()->setAttribute("inkscape:path-effect", r.c_str()); sp_lpe_item_cleanup_original_path_recursive(lpeitem); } @@ -785,7 +785,7 @@ void SPLPEItem::replacePathEffects( std::vector<LivePathEffectObject const *> co std::vector<LivePathEffectObject const *>::const_iterator found_it(std::find(old_lpeobjs.begin(), old_lpeobjs.end(), current_lpeobj)); if ( found_it != old_lpeobjs.end() ) { std::vector<LivePathEffectObject const *>::difference_type found_index = std::distance (old_lpeobjs.begin(), found_it); - const gchar * repr_id = SP_OBJECT_REPR(new_lpeobjs[found_index])->attribute("id"); + const gchar * repr_id = new_lpeobjs[found_index]->getRepr()->attribute("id"); gchar *hrefstr = g_strdup_printf("#%s", repr_id); hreflist.push_back( std::string(hrefstr) ); g_free(hrefstr); @@ -795,7 +795,7 @@ void SPLPEItem::replacePathEffects( std::vector<LivePathEffectObject const *> co } } std::string r = hreflist_write_svg(hreflist); - SP_OBJECT_REPR(this)->setAttribute("inkscape:path-effect", r.c_str()); + this->getRepr()->setAttribute("inkscape:path-effect", r.c_str()); } /** @@ -815,7 +815,7 @@ bool sp_lpe_item_fork_path_effects_if_necessary(SPLPEItem *lpeitem, unsigned int // Clones of the LPEItem will increase the refcount of the lpeobjects. // Therefore, nr_of_allowed_users should be increased with the number of clones (i.e. refs to the lpeitem) - nr_of_allowed_users += SP_OBJECT(lpeitem)->hrefcount; + nr_of_allowed_users += lpeitem->hrefcount; std::vector<LivePathEffectObject const *> old_lpeobjs, new_lpeobjs; PathEffectList effect_list = sp_lpe_item_get_effect_list(lpeitem); diff --git a/src/sp-metadata.cpp b/src/sp-metadata.cpp index 426810c7d..21410d4fd 100644 --- a/src/sp-metadata.cpp +++ b/src/sp-metadata.cpp @@ -188,11 +188,11 @@ sp_metadata_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML: debug("0x%08x",(unsigned int)object); //SPMetadata *metadata = SP_METADATA(object); - if ( repr != SP_OBJECT_REPR(object) ) { + if ( repr != object->getRepr() ) { if (repr) { - repr->mergeFrom(SP_OBJECT_REPR (object), "id"); + repr->mergeFrom(object->getRepr(), "id"); } else { - repr = SP_OBJECT_REPR (object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); } } @@ -221,4 +221,13 @@ sp_document_metadata (SPDocument *document) } -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 : diff --git a/src/sp-missing-glyph.cpp b/src/sp-missing-glyph.cpp index 9604fe0ca..fdf75253e 100644 --- a/src/sp-missing-glyph.cpp +++ b/src/sp-missing-glyph.cpp @@ -175,7 +175,7 @@ static Inkscape::XML::Node *sp_missing_glyph_write(SPObject *object, Inkscape::X sp_repr_set_svg_double(repr, "vert-origin-y", glyph->vert_origin_y); sp_repr_set_svg_double(repr, "vert-adv-y", glyph->vert_adv_y); */ - if (repr != SP_OBJECT_REPR(object)) { + if (repr != object->getRepr()) { // All the COPY_ATTR functions below use // XML Tree directly while they shouldn't. diff --git a/src/sp-object.h b/src/sp-object.h index 74e957b4b..20cf54098 100644 --- a/src/sp-object.h +++ b/src/sp-object.h @@ -46,17 +46,11 @@ class SPObjectClass; /* Parent, Style, Viewport, User */ #define SP_OBJECT_MODIFIED_CASCADE (SP_OBJECT_FLAGS_ALL & ~(SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG)) -/* Generic */ -#define SP_OBJECT_IS_CLONED(o) (((SPObject *) (o))->cloned) - /* Write flags */ #define SP_OBJECT_WRITE_BUILD (1 << 0) #define SP_OBJECT_WRITE_EXT (1 << 1) #define SP_OBJECT_WRITE_ALL (1 << 2) -/* Convenience stuff */ -#define SP_OBJECT_REPR(o) (((SPObject *) (o))->getRepr()) - #include <glib-object.h> #include <sigc++/connection.h> #include <sigc++/functors/slot.h> diff --git a/src/sp-offset.cpp b/src/sp-offset.cpp index 6f825ab1d..5cad7540d 100644 --- a/src/sp-offset.cpp +++ b/src/sp-offset.cpp @@ -183,7 +183,7 @@ sp_offset_init(SPOffset *offset) new (&offset->_changed_connection) sigc::connection(); new (&offset->_transformed_connection) sigc::connection(); // set up the uri reference - offset->sourceRef = new SPUseReference(SP_OBJECT(offset)); + offset->sourceRef = new SPUseReference(offset); offset->_changed_connection = offset->sourceRef->changedSignal().connect(sigc::bind(sigc::ptr_fun(sp_offset_href_changed), offset)); } @@ -457,7 +457,7 @@ sp_offset_set_shape(SPShape *shape) // it's also useless to compute the offset with a 0 radius //XML Tree being used directly here while it shouldn't be. - const char *res_d = SP_OBJECT(shape)->getRepr()->attribute("inkscape:original"); + const char *res_d = shape->getRepr()->attribute("inkscape:original"); if ( res_d ) { Geom::PathVector pv = sp_svg_read_pathv(res_d); SPCurve *c = new SPCurve(pv); @@ -987,15 +987,16 @@ sp_offset_top_point (SPOffset * offset, Geom::Point *px) // the listening functions static void sp_offset_start_listening(SPOffset *offset,SPObject* to) { - if ( to == NULL ) + if ( to == NULL ) { return; + } offset->sourceObject = to; - offset->sourceRepr = SP_OBJECT_REPR(to); + offset->sourceRepr = to->getRepr(); - offset->_delete_connection = SP_OBJECT(to)->connectDelete(sigc::bind(sigc::ptr_fun(&sp_offset_delete_self), offset)); + offset->_delete_connection = to->connectDelete(sigc::bind(sigc::ptr_fun(&sp_offset_delete_self), offset)); offset->_transformed_connection = SP_ITEM(to)->connectTransformed(sigc::bind(sigc::ptr_fun(&sp_offset_move_compensate), offset)); - offset->_modified_connection = SP_OBJECT(to)->connectModified(sigc::bind<2>(sigc::ptr_fun(&sp_offset_source_modified), offset)); + offset->_modified_connection = to->connectModified(sigc::bind<2>(sigc::ptr_fun(&sp_offset_source_modified), offset)); } static void sp_offset_quit_listening(SPOffset *offset) @@ -1019,7 +1020,7 @@ sp_offset_href_changed(SPObject */*old_ref*/, SPObject */*ref*/, SPOffset *offse SPItem *refobj = offset->sourceRef->getObject(); if (refobj) sp_offset_start_listening(offset,refobj); offset->sourceDirty=true; - SP_OBJECT(offset)->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); + offset->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); } } @@ -1052,8 +1053,8 @@ sp_offset_move_compensate(Geom::Affine const *mp, SPItem */*original*/, SPOffset item->transform *= compensate; // commit the compensation - item->doWriteTransform(SP_OBJECT_REPR(item), item->transform, &advertized_move); - SP_OBJECT(item)->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); + item->doWriteTransform(item->getRepr(), item->transform, &advertized_move); + item->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); } static void @@ -1069,7 +1070,7 @@ sp_offset_delete_self(SPObject */*deleted*/, SPOffset *offset) offset->sourceHref = NULL; offset->sourceRef->detach(); } else if (mode == SP_CLONE_ORPHANS_DELETE) { - SP_OBJECT(offset)->deleteObject(); + offset->deleteObject(); } } @@ -1148,8 +1149,9 @@ refresh_offset_source(SPOffset* offset) delete res; delete orig; + // TODO fix: //XML Tree being used diectly here while it shouldn't be. - SP_OBJECT (offset)->getRepr()->setAttribute("inkscape:original", res_d); + offset->getRepr()->setAttribute("inkscape:original", res_d); free (res_d); } diff --git a/src/sp-path.cpp b/src/sp-path.cpp index 5d84b468e..16e2fcc1b 100644 --- a/src/sp-path.cpp +++ b/src/sp-path.cpp @@ -414,7 +414,7 @@ sp_path_update_patheffect(SPLPEItem *lpeitem, bool write) { SPShape * const shape = (SPShape *) lpeitem; SPPath * const path = (SPPath *) lpeitem; - Inkscape::XML::Node *repr = SP_OBJECT_REPR(shape); + Inkscape::XML::Node *repr = shape->getRepr(); #ifdef PATH_VERBOSE g_message("sp_path_update_patheffect"); @@ -428,7 +428,7 @@ g_message("sp_path_update_patheffect"); bool success = sp_lpe_item_perform_path_effect(SP_LPE_ITEM(shape), curve); if (success && write) { - // could also do SP_OBJECT(shape)->updateRepr(); but only the d attribute needs updating. + // could also do shape->getRepr()->updateRepr(); but only the d attribute needs updating. #ifdef PATH_VERBOSE g_message("sp_path_update_patheffect writes 'd' attribute"); #endif @@ -450,7 +450,7 @@ g_message("sp_path_update_patheffect writes 'd' attribute"); } } } - SP_OBJECT(shape)->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); + shape->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); curve->unref(); } } @@ -478,7 +478,7 @@ sp_path_set_original_curve (SPPath *path, SPCurve *curve, unsigned int owner, bo } } sp_lpe_item_update_patheffect(path, true, write); - SP_OBJECT(path)->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); + path->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); } /** diff --git a/src/sp-polyline.cpp b/src/sp-polyline.cpp index d0954f239..705b9a10b 100644 --- a/src/sp-polyline.cpp +++ b/src/sp-polyline.cpp @@ -140,8 +140,8 @@ Inkscape::XML::Node *SPPolyLine::write(SPObject *object, Inkscape::XML::Document repr = xml_doc->createElement("svg:polyline"); } - if (repr != SP_OBJECT_REPR (object)) { - repr->mergeFrom(SP_OBJECT_REPR (object), "id"); + if (repr != object->getRepr()) { + repr->mergeFrom(object->getRepr(), "id"); } if (((SPObjectClass *) (SPPolyLineClass::static_parent_class))->write) { diff --git a/src/sp-root.cpp b/src/sp-root.cpp index 5b0bf4cde..8286bfc4f 100644 --- a/src/sp-root.cpp +++ b/src/sp-root.cpp @@ -376,7 +376,7 @@ static void sp_root_remove_child(SPObject *object, Inkscape::XML::Node *child) { SPRoot *root = (SPRoot *) object; - if ( root->defs && SP_OBJECT_REPR(root->defs) == child ) { + if ( root->defs && (root->defs->getRepr() == child) ) { SPObject *iter = 0; // We search for first remaining <defs> node - it is not beautiful, but works for ( iter = object->firstChild() ; iter ; iter = iter->getNext() ) { diff --git a/src/sp-skeleton.cpp b/src/sp-skeleton.cpp index 42fc5289f..8910613f3 100644 --- a/src/sp-skeleton.cpp +++ b/src/sp-skeleton.cpp @@ -188,9 +188,9 @@ sp_skeleton_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML: if (flags & SP_OBJECT_WRITE_EXT) { if (repr) { // is this sane? - repr->mergeFrom(SP_OBJECT_REPR(object), "id"); + repr->mergeFrom(object->getRepr(), "id"); } else { - repr = SP_OBJECT_REPR(object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); } } diff --git a/src/sp-spiral.cpp b/src/sp-spiral.cpp index abee41473..e4bd0fa21 100644 --- a/src/sp-spiral.cpp +++ b/src/sp-spiral.cpp @@ -300,7 +300,7 @@ sp_spiral_update_patheffect(SPLPEItem *lpeitem, bool write) sp_spiral_set_shape(shape); if (write) { - Inkscape::XML::Node *repr = SP_OBJECT_REPR(shape); + Inkscape::XML::Node *repr = shape->getRepr(); if ( shape->curve != NULL ) { gchar *str = sp_svg_write_path(shape->curve->get_pathvector()); repr->setAttribute("d", str); @@ -422,9 +422,9 @@ sp_spiral_set_shape (SPShape *shape) if (sp_lpe_item_has_broken_path_effect(SP_LPE_ITEM(shape))) { g_warning ("The spiral shape has unknown LPE on it! Convert to path to make it editable preserving the appearance; editing it as spiral will remove the bad LPE"); - if (SP_OBJECT_REPR(shape)->attribute("d")) { + if (shape->getRepr()->attribute("d")) { // unconditionally read the curve from d, if any, to preserve appearance - Geom::PathVector pv = sp_svg_read_pathv(SP_OBJECT_REPR(shape)->attribute("d")); + Geom::PathVector pv = sp_svg_read_pathv(shape->getRepr()->attribute("d")); SPCurve *cold = new SPCurve(pv); shape->setCurveInsync( cold, TRUE); cold->unref(); @@ -435,7 +435,7 @@ sp_spiral_set_shape (SPShape *shape) Geom::Point darray[SAMPLE_SIZE + 1]; double t; - SP_OBJECT (spiral)->requestModified(SP_OBJECT_MODIFIED_FLAG); + spiral->requestModified(SP_OBJECT_MODIFIED_FLAG); SPCurve *c = new SPCurve (); diff --git a/src/sp-star.cpp b/src/sp-star.cpp index 57c72ca75..200217ba2 100644 --- a/src/sp-star.cpp +++ b/src/sp-star.cpp @@ -283,7 +283,7 @@ sp_star_update_patheffect(SPLPEItem *lpeitem, bool write) sp_star_set_shape(shape); if (write) { - Inkscape::XML::Node *repr = SP_OBJECT_REPR(shape); + Inkscape::XML::Node *repr = shape->getRepr(); if ( shape->curve != NULL ) { gchar *str = sp_svg_write_path(shape->curve->get_pathvector()); repr->setAttribute("d", str); @@ -434,9 +434,9 @@ sp_star_set_shape (SPShape *shape) // by disabling the entire stack (including the shape LPE) if (sp_lpe_item_has_broken_path_effect(SP_LPE_ITEM(shape))) { g_warning ("The star shape has unknown LPE on it! Convert to path to make it editable preserving the appearance; editing it as star will remove the bad LPE"); - if (SP_OBJECT_REPR(shape)->attribute("d")) { + if (shape->getRepr()->attribute("d")) { // unconditionally read the curve from d, if any, to preserve appearance - Geom::PathVector pv = sp_svg_read_pathv(SP_OBJECT_REPR(shape)->attribute("d")); + Geom::PathVector pv = sp_svg_read_pathv(shape->getRepr()->attribute("d")); SPCurve *cold = new SPCurve(pv); shape->setCurveInsync( cold, TRUE); cold->unref(); @@ -539,7 +539,7 @@ sp_star_position_set (SPStar *star, gint sides, Geom::Point center, gdouble r1, star->flatsided = isflat; star->rounded = rounded; star->randomized = randomized; - SP_OBJECT(star)->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); + star->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); } static void sp_star_snappoints(SPItem const *item, std::vector<Inkscape::SnapCandidatePoint> &p, Inkscape::SnapPreferences const *snapprefs) diff --git a/src/sp-string.cpp b/src/sp-string.cpp index c116e8dd8..3512aa45a 100644 --- a/src/sp-string.cpp +++ b/src/sp-string.cpp @@ -146,7 +146,7 @@ sp_string_read_content(SPObject *object) whitespace = false; } } - if (whitespace && SP_OBJECT_REPR(object)->next() != NULL) { // can't use SPObject::getNext() when the SPObject tree is still being built + if (whitespace && object->getRepr()->next() != NULL) { // can't use SPObject::getNext() when the SPObject tree is still being built string->string += ' '; } } diff --git a/src/sp-symbol.cpp b/src/sp-symbol.cpp index 182a2756a..70ab4d173 100644 --- a/src/sp-symbol.cpp +++ b/src/sp-symbol.cpp @@ -259,7 +259,7 @@ sp_symbol_update (SPObject *object, SPCtx *ctx, guint flags) symbol = SP_SYMBOL (object); ictx = (SPItemCtx *) ctx; - if (SP_OBJECT_IS_CLONED (object)) { + if (object->cloned) { /* Cloned <symbol> is actually renderable */ /* fixme: We have to set up clip here too */ @@ -413,7 +413,7 @@ sp_symbol_show (SPItem *item, NRArena *arena, unsigned int key, unsigned int fla symbol = SP_SYMBOL (item); - if (SP_OBJECT_IS_CLONED (symbol)) { + if (symbol->cloned) { /* Cloned <symbol> is actually renderable */ if (((SPItemClass *) (parent_class))->show) { ai = ((SPItemClass *) (parent_class))->show (item, arena, key, flags); @@ -437,7 +437,7 @@ sp_symbol_hide (SPItem *item, unsigned int key) symbol = SP_SYMBOL (item); - if (SP_OBJECT_IS_CLONED (symbol)) { + if (symbol->cloned) { /* Cloned <symbol> is actually renderable */ if (((SPItemClass *) (parent_class))->hide) ((SPItemClass *) (parent_class))->hide (item, key); @@ -449,7 +449,7 @@ sp_symbol_bbox(SPItem const *item, NRRect *bbox, Geom::Affine const &transform, { SPSymbol const *symbol = SP_SYMBOL(item); - if (SP_OBJECT_IS_CLONED (symbol)) { + if (symbol->cloned) { /* Cloned <symbol> is actually renderable */ if (((SPItemClass *) (parent_class))->bbox) { @@ -463,7 +463,7 @@ static void sp_symbol_print (SPItem *item, SPPrintContext *ctx) { SPSymbol *symbol = SP_SYMBOL(item); - if (SP_OBJECT_IS_CLONED (symbol)) { + if (symbol->cloned) { /* Cloned <symbol> is actually renderable */ sp_print_bind(ctx, &symbol->c2p, 1.0); diff --git a/src/sp-title.cpp b/src/sp-title.cpp index c820c70f0..d21c7b71e 100644 --- a/src/sp-title.cpp +++ b/src/sp-title.cpp @@ -66,11 +66,12 @@ static Inkscape::XML::Node * sp_title_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags) { if (!repr) { - repr = SP_OBJECT_REPR (object)->duplicate(doc); + repr = object->getRepr()->duplicate(doc); } - if (((SPObjectClass *) title_parent_class)->write) + if (((SPObjectClass *) title_parent_class)->write) { ((SPObjectClass *) title_parent_class)->write(object, doc, repr, flags); + } return repr; } diff --git a/src/sp-tref-reference.cpp b/src/sp-tref-reference.cpp index 181920669..e82f575e0 100644 --- a/src/sp-tref-reference.cpp +++ b/src/sp-tref-reference.cpp @@ -37,7 +37,7 @@ void SPTRefReference::updateObserver() delete subtreeObserved; } - subtreeObserved = new Inkscape::XML::Subtree(*SP_OBJECT_REPR(referred)); + subtreeObserved = new Inkscape::XML::Subtree(*referred->getRepr()); subtreeObserved->addObserver(*this); } } diff --git a/src/ui/clipboard.cpp b/src/ui/clipboard.cpp index 1b98d7474..4f4f8a022 100644 --- a/src/ui/clipboard.cpp +++ b/src/ui/clipboard.cpp @@ -82,6 +82,7 @@ #include "svg/svg-color.h" #include "sp-namedview.h" #include "snap.h" +#include "persp3d.h" /// @brief Made up mimetype to represent Gdk::Pixbuf clipboard contents #define CLIPBOARD_GDK_PIXBUF_TARGET "image/x-gdk-pixbuf" @@ -602,7 +603,7 @@ void ClipboardManagerImpl::_copySelection(Inkscape::Selection *selection) if (!SP_IS_ITEM(i->data)) { continue; } - Inkscape::XML::Node *obj = SP_OBJECT_REPR(i->data); + Inkscape::XML::Node *obj = reinterpret_cast<SPObject *>(i->data)->getRepr(); Inkscape::XML::Node *obj_copy = _copyNode(obj, _doc, _root); // copy complete inherited style @@ -628,7 +629,7 @@ void ClipboardManagerImpl::_copySelection(Inkscape::Selection *selection) // copy path effect from the first path if (SP_IS_OBJECT(sorted_items->data)) { - gchar const *effect = SP_OBJECT_REPR(sorted_items->data)->attribute("inkscape:path-effect"); + gchar const *effect = reinterpret_cast<SPObject *>(sorted_items->data)->getRepr()->attribute("inkscape:path-effect"); if (effect) { _clipnode->setAttribute("inkscape:path-effect", effect); } @@ -677,7 +678,7 @@ void ClipboardManagerImpl::_copyUsedDefs(SPItem *item) SPShape *shape = SP_SHAPE (item); for (int i = 0 ; i < SP_MARKER_LOC_QTY ; i++) { if (shape->marker[i]) { - _copyNode(SP_OBJECT_REPR(SP_OBJECT(shape->marker[i])), _doc, _defs); + _copyNode(shape->marker[i]->getRepr(), _doc, _defs); } } } @@ -689,14 +690,14 @@ void ClipboardManagerImpl::_copyUsedDefs(SPItem *item) { LivePathEffectObject *lpeobj = (*it)->lpeobject; if (lpeobj) { - _copyNode(SP_OBJECT_REPR(SP_OBJECT(lpeobj)), _doc, _defs); + _copyNode(lpeobj->getRepr(), _doc, _defs); } } } } // For 3D boxes, copy perspectives if (SP_IS_BOX3D(item)) { - _copyNode(SP_OBJECT_REPR(SP_OBJECT(box3d_get_perspective(SP_BOX3D(item)))), _doc, _defs); + _copyNode(box3d_get_perspective(SP_BOX3D(item))->getRepr(), _doc, _defs); } // Copy text paths if (SP_IS_TEXT_TEXTPATH(item)) { @@ -704,14 +705,14 @@ void ClipboardManagerImpl::_copyUsedDefs(SPItem *item) } // Copy clipping objects if (item->clip_ref->getObject()) { - _copyNode(SP_OBJECT_REPR(item->clip_ref->getObject()), _doc, _defs); + _copyNode(item->clip_ref->getObject()->getRepr(), _doc, _defs); } // Copy mask objects if (item->mask_ref->getObject()) { SPObject *mask = item->mask_ref->getObject(); - _copyNode(SP_OBJECT_REPR(mask), _doc, _defs); + _copyNode(mask->getRepr(), _doc, _defs); // recurse into the mask for its gradients etc. - for (SPObject *o = SP_OBJECT(mask)->children ; o != NULL ; o = o->next) { + for (SPObject *o = mask->children ; o != NULL ; o = o->next) { if (SP_IS_ITEM(o)) { _copyUsedDefs(SP_ITEM(o)); } @@ -721,12 +722,12 @@ void ClipboardManagerImpl::_copyUsedDefs(SPItem *item) if (style->getFilter()) { SPObject *filter = style->getFilter(); if (SP_IS_FILTER(filter)) { - _copyNode(SP_OBJECT_REPR(filter), _doc, _defs); + _copyNode(filter->getRepr(), _doc, _defs); } } // recurse - for (SPObject *o = SP_OBJECT(item)->children ; o != NULL ; o = o->next) { + for (SPObject *o = item->children ; o != NULL ; o = o->next) { if (SP_IS_ITEM(o)) { _copyUsedDefs(SP_ITEM(o)); } @@ -741,7 +742,7 @@ void ClipboardManagerImpl::_copyGradient(SPGradient *gradient) { while (gradient) { // climb up the refs, copying each one in the chain - _copyNode(SP_OBJECT_REPR(gradient), _doc, _defs); + _copyNode(gradient->getRepr(), _doc, _defs); gradient = gradient->ref->getObject(); } } @@ -754,7 +755,7 @@ void ClipboardManagerImpl::_copyPattern(SPPattern *pattern) { // climb up the references, copying each one in the chain while (pattern) { - _copyNode(SP_OBJECT_REPR(pattern), _doc, _defs); + _copyNode(pattern->getRepr(), _doc, _defs); // items in the pattern may also use gradients and other patterns, so recurse for ( SPObject *child = pattern->firstChild() ; child ; child = child->getNext() ) { @@ -777,7 +778,7 @@ void ClipboardManagerImpl::_copyTextPath(SPTextPath *tp) if (!path) { return; } - Inkscape::XML::Node *path_node = SP_OBJECT_REPR(path); + Inkscape::XML::Node *path_node = path->getRepr(); // Do not copy the text path to defs if it's already copied if (sp_repr_lookup_child(_root, "id", path_node->attribute("id"))) { @@ -813,7 +814,7 @@ void ClipboardManagerImpl::_pasteDocument(SPDesktop *desktop, SPDocument *clipdo { SPDocument *target_document = sp_desktop_document(desktop); Inkscape::XML::Node *root = clipdoc->getReprRoot(); - Inkscape::XML::Node *target_parent = SP_OBJECT_REPR(desktop->currentLayer()); + Inkscape::XML::Node *target_parent = desktop->currentLayer()->getRepr(); Inkscape::XML::Document *target_xmldoc = target_document->getReprDoc(); // copy definitions @@ -893,7 +894,7 @@ void ClipboardManagerImpl::_pasteDefs(SPDesktop *desktop, SPDocument *clipdoc) SPDocument *target_document = sp_desktop_document(desktop); Inkscape::XML::Node *root = clipdoc->getReprRoot(); Inkscape::XML::Node *defs = sp_repr_lookup_name(root, "svg:defs", 1); - Inkscape::XML::Node *target_defs = SP_OBJECT_REPR(SP_DOCUMENT_DEFS(target_document)); + Inkscape::XML::Node *target_defs = SP_DOCUMENT_DEFS(target_document)->getRepr(); Inkscape::XML::Document *target_xmldoc = target_document->getReprDoc(); prevent_id_clashes(clipdoc, target_document); @@ -1253,7 +1254,7 @@ void ClipboardManagerImpl::_createInternalClipboard() if ( _clipboardSPDoc == NULL ) { _clipboardSPDoc = SPDocument::createNewDoc(NULL, false, true); //g_assert( _clipboardSPDoc != NULL ); - _defs = SP_OBJECT_REPR(SP_DOCUMENT_DEFS(_clipboardSPDoc)); + _defs = SP_DOCUMENT_DEFS(_clipboardSPDoc)->getRepr(); _doc = _clipboardSPDoc->getReprDoc(); _root = _clipboardSPDoc->getReprRoot(); diff --git a/src/ui/dialog/document-metadata.cpp b/src/ui/dialog/document-metadata.cpp index a8a0fa191..08479275b 100644 --- a/src/ui/dialog/document-metadata.cpp +++ b/src/ui/dialog/document-metadata.cpp @@ -85,7 +85,7 @@ DocumentMetadata::init() { update(); - Inkscape::XML::Node *repr = SP_OBJECT_REPR(sp_desktop_namedview(getDesktop())); + Inkscape::XML::Node *repr = sp_desktop_namedview(getDesktop())->getRepr(); repr->addListener (&_repr_events, this); show_all_children(); @@ -93,7 +93,7 @@ DocumentMetadata::init() DocumentMetadata::~DocumentMetadata() { - Inkscape::XML::Node *repr = SP_OBJECT_REPR(sp_desktop_namedview(getDesktop())); + Inkscape::XML::Node *repr = sp_desktop_namedview(getDesktop())->getRepr(); repr->removeListenerByData (this); for (RDElist::iterator it = _rdflist.begin(); it != _rdflist.end(); it++) @@ -211,7 +211,7 @@ DocumentMetadata::update() void DocumentMetadata::_handleDocumentReplaced(SPDesktop* desktop, SPDocument *) { - Inkscape::XML::Node *repr = SP_OBJECT_REPR(sp_desktop_namedview(desktop)); + Inkscape::XML::Node *repr = sp_desktop_namedview(desktop)->getRepr(); repr->addListener (&_repr_events, this); update(); } @@ -219,7 +219,7 @@ DocumentMetadata::_handleDocumentReplaced(SPDesktop* desktop, SPDocument *) void DocumentMetadata::_handleActivateDesktop(Inkscape::Application *, SPDesktop *desktop) { - Inkscape::XML::Node *repr = SP_OBJECT_REPR(sp_desktop_namedview(desktop)); + Inkscape::XML::Node *repr = sp_desktop_namedview(desktop)->getRepr(); repr->addListener(&_repr_events, this); update(); } @@ -227,7 +227,7 @@ DocumentMetadata::_handleActivateDesktop(Inkscape::Application *, SPDesktop *des void DocumentMetadata::_handleDeactivateDesktop(Inkscape::Application *, SPDesktop *desktop) { - Inkscape::XML::Node *repr = SP_OBJECT_REPR(sp_desktop_namedview(desktop)); + Inkscape::XML::Node *repr = sp_desktop_namedview(desktop)->getRepr(); repr->removeListenerByData(this); } diff --git a/src/ui/dialog/document-properties.cpp b/src/ui/dialog/document-properties.cpp index 16212bef7..0c001da4b 100644 --- a/src/ui/dialog/document-properties.cpp +++ b/src/ui/dialog/document-properties.cpp @@ -143,9 +143,9 @@ DocumentProperties::init() { update(); - Inkscape::XML::Node *repr = SP_OBJECT_REPR(sp_desktop_namedview(getDesktop())); + Inkscape::XML::Node *repr = sp_desktop_namedview(getDesktop())->getRepr(); repr->addListener (&_repr_events, this); - Inkscape::XML::Node *root = SP_OBJECT_REPR(sp_desktop_document(getDesktop())->root); + Inkscape::XML::Node *root = sp_desktop_document(getDesktop())->root->getRepr(); root->addListener (&_repr_events, this); show_all_children(); @@ -154,9 +154,9 @@ DocumentProperties::init() DocumentProperties::~DocumentProperties() { - Inkscape::XML::Node *repr = SP_OBJECT_REPR(sp_desktop_namedview(getDesktop())); + Inkscape::XML::Node *repr = sp_desktop_namedview(getDesktop())->getRepr(); repr->removeListenerByData (this); - Inkscape::XML::Node *root = SP_OBJECT_REPR(sp_desktop_document(getDesktop())->root); + Inkscape::XML::Node *root = sp_desktop_document(getDesktop())->root->getRepr(); root->removeListenerByData (this); } @@ -439,7 +439,9 @@ DocumentProperties::populate_linked_profiles_box() { _LinkedProfilesListStore->clear(); const GSList *current = SP_ACTIVE_DOCUMENT->getResourceList( "iccprofile" ); - if (current) _emb_profiles_observer.set(SP_OBJECT(current->data)->parent); + if (current) { + _emb_profiles_observer.set(SP_OBJECT(current->data)->parent); + } while ( current ) { SPObject* obj = SP_OBJECT(current->data); Inkscape::ColorProfile* prof = reinterpret_cast<Inkscape::ColorProfile*>(obj); @@ -807,7 +809,7 @@ DocumentProperties::update() double const doc_w_px = sp_desktop_document(dt)->getWidth(); double const doc_h_px = sp_desktop_document(dt)->getHeight(); _page_sizer.setDim (doc_w_px, doc_h_px); - _page_sizer.updateFitMarginsUI(SP_OBJECT_REPR(nv)); + _page_sizer.updateFitMarginsUI(nv->getRepr()); //-----------------------------------------------------------guide page @@ -873,9 +875,9 @@ DocumentProperties::on_response (int id) void DocumentProperties::_handleDocumentReplaced(SPDesktop* desktop, SPDocument *document) { - Inkscape::XML::Node *repr = SP_OBJECT_REPR(sp_desktop_namedview(desktop)); + Inkscape::XML::Node *repr = sp_desktop_namedview(desktop)->getRepr(); repr->addListener(&_repr_events, this); - Inkscape::XML::Node *root = SP_OBJECT_REPR(document->root); + Inkscape::XML::Node *root = document->root->getRepr(); root->addListener(&_repr_events, this); update(); } @@ -883,9 +885,9 @@ DocumentProperties::_handleDocumentReplaced(SPDesktop* desktop, SPDocument *docu void DocumentProperties::_handleActivateDesktop(Inkscape::Application *, SPDesktop *desktop) { - Inkscape::XML::Node *repr = SP_OBJECT_REPR(sp_desktop_namedview(desktop)); + Inkscape::XML::Node *repr = sp_desktop_namedview(desktop)->getRepr(); repr->addListener(&_repr_events, this); - Inkscape::XML::Node *root = SP_OBJECT_REPR(sp_desktop_document(desktop)->root); + Inkscape::XML::Node *root = sp_desktop_document(desktop)->root->getRepr(); root->addListener(&_repr_events, this); update(); } @@ -893,9 +895,9 @@ DocumentProperties::_handleActivateDesktop(Inkscape::Application *, SPDesktop *d void DocumentProperties::_handleDeactivateDesktop(Inkscape::Application *, SPDesktop *desktop) { - Inkscape::XML::Node *repr = SP_OBJECT_REPR(sp_desktop_namedview(desktop)); + Inkscape::XML::Node *repr = sp_desktop_namedview(desktop)->getRepr(); repr->removeListenerByData(this); - Inkscape::XML::Node *root = SP_OBJECT_REPR(sp_desktop_document(desktop)->root); + Inkscape::XML::Node *root = sp_desktop_document(desktop)->root->getRepr(); root->removeListenerByData(this); } @@ -934,7 +936,7 @@ void DocumentProperties::onNewGrid() { SPDesktop *dt = getDesktop(); - Inkscape::XML::Node *repr = SP_OBJECT_REPR(sp_desktop_namedview(dt)); + Inkscape::XML::Node *repr = sp_desktop_namedview(dt)->getRepr(); SPDocument *doc = sp_desktop_document(dt); Glib::ustring typestring = _grids_combo_gridtype.get_active_text(); diff --git a/src/ui/dialog/find.cpp b/src/ui/dialog/find.cpp index b6d6a0319..bdae14c62 100644 --- a/src/ui/dialog/find.cpp +++ b/src/ui/dialog/find.cpp @@ -142,15 +142,18 @@ Find::~Find() bool Find::item_id_match (SPItem *item, const gchar *id, bool exact) { - if (SP_OBJECT_REPR (item) == NULL) + if (item->getRepr() == NULL) { return false; + } - if (SP_IS_STRING(item)) // SPStrings have "on demand" ids which are useless for searching + if (SP_IS_STRING(item)) { // SPStrings have "on demand" ids which are useless for searching return false; + } - const gchar *item_id = (SP_OBJECT_REPR (item))->attribute("id"); - if (item_id == NULL) + const gchar *item_id = item->getRepr()->attribute("id"); + if (item_id == NULL) { return false; + } if (exact) { return ((bool) !strcmp(item_id, id)); @@ -163,8 +166,9 @@ Find::item_id_match (SPItem *item, const gchar *id, bool exact) bool Find::item_text_match (SPItem *item, const gchar *text, bool exact) { - if (SP_OBJECT_REPR (item) == NULL) + if (item->getRepr() == NULL) { return false; + } if (SP_IS_TEXT(item) || SP_IS_FLOWTEXT(item)) { const gchar *item_text = sp_te_get_string_multiline (item); @@ -186,12 +190,14 @@ Find::item_text_match (SPItem *item, const gchar *text, bool exact) bool Find::item_style_match (SPItem *item, const gchar *text, bool exact) { - if (SP_OBJECT_REPR (item) == NULL) + if (item->getRepr() == NULL) { return false; + } - const gchar *item_text = (SP_OBJECT_REPR (item))->attribute("style"); - if (item_text == NULL) + const gchar *item_text = item->getRepr()->attribute("style"); + if (item_text == NULL) { return false; + } if (exact) { return ((bool) !strcmp(item_text, text)); @@ -200,18 +206,18 @@ Find::item_style_match (SPItem *item, const gchar *text, bool exact) } } -bool -Find::item_attr_match (SPItem *item, const gchar *name, bool exact) +bool Find::item_attr_match(SPItem *item, const gchar *name, bool exact) { - if (SP_OBJECT_REPR (item) == NULL) - return false; - - if (exact) { - const gchar *attr_value = (SP_OBJECT_REPR (item))->attribute(name); - return ((bool) (attr_value != NULL)); - } else { - return SP_OBJECT_REPR (item)->matchAttributeName(name); + bool result = false; + if (item->getRepr()) { + if (exact) { + const gchar *attr_value = item->getRepr()->attribute(name); + result = (attr_value != NULL); + } else { + result = item->getRepr()->matchAttributeName(name); + } } + return result; } @@ -342,17 +348,20 @@ Find::all_items (SPObject *r, GSList *l, bool hidden, bool locked) { SPDesktop *desktop = getDesktop(); - if (SP_IS_DEFS(r)) + 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 = r->firstChild(); child; child = child->getNext()) { - 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); - } + if (SP_IS_ITEM(child) && !child->cloned && !desktop->isLayer(SP_ITEM(child))) { + SPItem *item = reinterpret_cast<SPItem *>(child); + if ((hidden || !desktop->itemIsHidden(item)) && (locked || !item->isLocked())) { + l = g_slist_prepend (l, child); + } } l = all_items (child, l, hidden, locked); } @@ -365,9 +374,10 @@ Find::all_selection_items (Inkscape::Selection *s, GSList *l, SPObject *ancestor SPDesktop *desktop = getDesktop(); for (GSList *i = (GSList *) s->itemList(); i != NULL; i = i->next) { - if (SP_IS_ITEM (i->data) && !SP_OBJECT_IS_CLONED (i->data) && !desktop->isLayer(SP_ITEM(i->data))) { - if (!ancestor || ancestor->isAncestorOf(SP_OBJECT (i->data))) { - if ((hidden || !desktop->itemIsHidden(SP_ITEM(i->data))) && (locked || !SP_ITEM(i->data)->isLocked())) { + if (SP_IS_ITEM (i->data) && !reinterpret_cast<SPItem *>(i->data)->cloned && !desktop->isLayer(SP_ITEM(i->data))) { + SPItem *item = reinterpret_cast<SPItem *>(i->data); + if (!ancestor || ancestor->isAncestorOf(item)) { + if ((hidden || !desktop->itemIsHidden(item)) && (locked || !item->isLocked())) { l = g_slist_prepend (l, i->data); } } @@ -524,3 +534,14 @@ Find::squeeze_window() } // namespace UI } // namespace Inkscape + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/svg-fonts-dialog.cpp b/src/ui/dialog/svg-fonts-dialog.cpp index a7f914327..2d1b5ae39 100644 --- a/src/ui/dialog/svg-fonts-dialog.cpp +++ b/src/ui/dialog/svg-fonts-dialog.cpp @@ -114,7 +114,7 @@ void SvgFontsDialog::AttrEntry::on_attr_changed(){ const gchar* name = (const gchar*)sp_attribute_name(this->attr); if(name && o) { - SP_OBJECT_REPR(o)->setAttribute((const gchar*) name, this->entry.get_text().c_str()); + o->getRepr()->setAttribute((const gchar*) name, this->entry.get_text().c_str()); o->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); Glib::ustring undokey = "svgfonts:"; @@ -438,7 +438,7 @@ SPGlyph *new_glyph(SPDocument* document, SPFont *font, const int count) repr->setAttribute("glyph-name", os.str().c_str()); // Append the new glyph node to the current font - SP_OBJECT_REPR(font)->appendChild(repr); + font->getRepr()->appendChild(repr); Inkscape::GC::release(repr); // get corresponding object @@ -732,7 +732,7 @@ void SvgFontsDialog::add_kerning_pair(){ repr->setAttribute("k", "0"); // Append the new hkern node to the current font - SP_OBJECT_REPR(get_selected_spfont())->appendChild(repr); + get_selected_spfont()->getRepr()->appendChild(repr); Inkscape::GC::release(repr); // get corresponding object @@ -797,7 +797,7 @@ SPFont *new_font(SPDocument *document) repr->setAttribute("horiz-adv-x", "1024"); // Append the new font node to defs - SP_OBJECT_REPR(defs)->appendChild(repr); + defs->getRepr()->appendChild(repr); //create a missing glyph Inkscape::XML::Node *fontface; diff --git a/src/ui/dialog/tile.cpp b/src/ui/dialog/tile.cpp index 8ae81d528..b0a39bd0e 100644 --- a/src/ui/dialog/tile.cpp +++ b/src/ui/dialog/tile.cpp @@ -316,7 +316,7 @@ g_print("\n row = %f col = %f selection x= %f selection y = %f", total_row_h for (; current_row != NULL; current_row = current_row->next) { SPItem *item=SP_ITEM(current_row->data); - Inkscape::XML::Node *repr = SP_OBJECT_REPR(item); + Inkscape::XML::Node *repr = item->getRepr(); Geom::OptRect b = item->getBounds(item->i2doc_affine()); Geom::Point min; if (b) { diff --git a/src/ui/widget/attr-widget.h b/src/ui/widget/attr-widget.h index b9924a2ef..7b9c35ab7 100644 --- a/src/ui/widget/attr-widget.h +++ b/src/ui/widget/attr-widget.h @@ -149,7 +149,7 @@ protected: { const gchar* name = (const gchar*)sp_attribute_name(_attr); if(name && o) { - const gchar* val = SP_OBJECT_REPR(o)->attribute(name); + const gchar* val = o->getRepr()->attribute(name); return val; } return 0; diff --git a/src/ui/widget/page-sizer.cpp b/src/ui/widget/page-sizer.cpp index f7cb6f145..f306b9eea 100644 --- a/src/ui/widget/page-sizer.cpp +++ b/src/ui/widget/page-sizer.cpp @@ -422,7 +422,7 @@ PageSizer::setDim (double w, double h, bool changeList) // The origin for the user is in the lower left corner; this point should remain stationary when // changing the page size. The SVG's origin however is in the upper left corner, so we must compensate for this Geom::Translate const vert_offset(Geom::Point(0, (old_height - h))); - SP_GROUP(SP_ROOT(doc->root))->translateChildItems(vert_offset); + SP_GROUP(SP_ROOT(doc->root))->translateChildItems(vert_offset); DocumentUndo::done(doc, SP_VERB_NONE, _("Set page size")); } @@ -538,8 +538,8 @@ PageSizer::fire_fit_canvas_to_selection_or_drawing() SPNamedView *nv; Inkscape::XML::Node *nv_repr; if ((doc = sp_desktop_document(SP_ACTIVE_DESKTOP)) - && (nv = sp_document_namedview(doc, 0)) - && (nv_repr = SP_OBJECT_REPR(nv))) { + && (nv = sp_document_namedview(doc, 0)) + && (nv_repr = nv->getRepr())) { sp_repr_set_svg_double(nv_repr, "fit-margin-top", _marginTop.getValue()); sp_repr_set_svg_double(nv_repr, "fit-margin-left", _marginLeft.getValue()); sp_repr_set_svg_double(nv_repr, "fit-margin-right", _marginRight.getValue()); diff --git a/src/ui/widget/registered-widget.cpp b/src/ui/widget/registered-widget.cpp index c68e8348b..c2580013a 100644 --- a/src/ui/widget/registered-widget.cpp +++ b/src/ui/widget/registered-widget.cpp @@ -344,7 +344,7 @@ RegisteredColorPicker::on_changed (guint32 rgba) SPDesktop *dt = SP_ACTIVE_DESKTOP; if (!dt) return; - local_repr = SP_OBJECT_REPR (sp_desktop_namedview(dt)); + local_repr = sp_desktop_namedview(dt)->getRepr(); local_doc = sp_desktop_document(dt); } diff --git a/src/ui/widget/registered-widget.h b/src/ui/widget/registered-widget.h index 9c3ecb5e6..560c63dd4 100644 --- a/src/ui/widget/registered-widget.h +++ b/src/ui/widget/registered-widget.h @@ -101,7 +101,7 @@ protected: if (!local_repr) { // no repr specified, use active desktop's namedview's repr SPDesktop* dt = SP_ACTIVE_DESKTOP; - local_repr = SP_OBJECT_REPR (sp_desktop_namedview(dt)); + local_repr = reinterpret_cast<SPObject *>(sp_desktop_namedview(dt))->getRepr(); local_doc = sp_desktop_document(dt); } diff --git a/src/ui/widget/ruler.cpp b/src/ui/widget/ruler.cpp index 1a6455ca0..a220a54ad 100644 --- a/src/ui/widget/ruler.cpp +++ b/src/ui/widget/ruler.cpp @@ -102,7 +102,7 @@ Ruler::on_button_press_event(GdkEventButton *evb) { g_assert(_dt); Geom::Point const &event_dt = get_event_dt(); - Inkscape::XML::Node *repr = SP_OBJECT_REPR(_dt->namedview); + Inkscape::XML::Node *repr = _dt->namedview->getRepr(); if (evb->button == 1) { _dragging = true; @@ -153,7 +153,7 @@ Ruler::on_button_release_event(GdkEventButton *evb) repr->setAttribute("orientation", _horiz_f ? "horizontal" : "vertical"); double const guide_pos_dt = event_dt[ _horiz_f ? Geom::Y : Geom::X ]; sp_repr_set_svg_double(repr, "position", guide_pos_dt); - SP_OBJECT_REPR(_dt->namedview)->appendChild(repr); + _dt->namedview->getRepr()->appendChild(repr); Inkscape::GC::release(repr); DocumentUndo::done(sp_desktop_document(_dt), SP_VERB_NONE, /* TODO: annotate */ "ruler.cpp:157"); diff --git a/src/ui/widget/selected-style.cpp b/src/ui/widget/selected-style.cpp index e7d8ac5a3..50476dc65 100644 --- a/src/ui/widget/selected-style.cpp +++ b/src/ui/widget/selected-style.cpp @@ -950,7 +950,7 @@ SelectedStyle::update() if (paint->set && paint->isPaintserver()) { SPPaintServer *server = (i == SS_FILL)? SP_STYLE_FILL_SERVER (query) : SP_STYLE_STROKE_SERVER (query); if ( server ) { - Inkscape::XML::Node *srepr = SP_OBJECT_REPR(server); + Inkscape::XML::Node *srepr = server->getRepr(); _paintserver_id[i] += "url(#"; _paintserver_id[i] += srepr->attribute("id"); _paintserver_id[i] += ")"; diff --git a/src/ui/widget/tolerance-slider.cpp b/src/ui/widget/tolerance-slider.cpp index cc179ddbc..51e0a262f 100644 --- a/src/ui/widget/tolerance-slider.cpp +++ b/src/ui/widget/tolerance-slider.cpp @@ -189,7 +189,7 @@ ToleranceSlider::update (double val) SPDocument *doc = sp_desktop_document(dt); bool saved = DocumentUndo::getUndoSensitive(doc); DocumentUndo::setUndoSensitive(doc, false); - Inkscape::XML::Node *repr = SP_OBJECT_REPR (sp_desktop_namedview(dt)); + Inkscape::XML::Node *repr = sp_desktop_namedview(dt)->getRepr(); repr->setAttribute(_key.c_str(), os.str().c_str()); DocumentUndo::setUndoSensitive(doc, saved); diff --git a/src/unclump.cpp b/src/unclump.cpp index 951719900..d027a6986 100644 --- a/src/unclump.cpp +++ b/src/unclump.cpp @@ -297,7 +297,7 @@ unclump_push (SPItem *from, SPItem *what, double dist) //g_print ("push %s at %g,%g from %g,%g by %g,%g, dist %g\n", what->getId(), it[Geom::X],it[Geom::Y], p[Geom::X],p[Geom::Y], by[Geom::X],by[Geom::Y], dist); what->set_i2d_affine(what->i2d_affine() * move); - what->doWriteTransform(SP_OBJECT_REPR(what), what->transform, NULL); + what->doWriteTransform(what->getRepr(), what->transform, NULL); } /** @@ -320,7 +320,7 @@ unclump_pull (SPItem *to, SPItem *what, double dist) //g_print ("pull %s at %g,%g to %g,%g by %g,%g, dist %g\n", what->getId(), it[Geom::X],it[Geom::Y], p[Geom::X],p[Geom::Y], by[Geom::X],by[Geom::Y], dist); what->set_i2d_affine(what->i2d_affine() * move); - what->doWriteTransform(SP_OBJECT_REPR(what), what->transform, NULL); + what->doWriteTransform(what->getRepr(), what->transform, NULL); } diff --git a/src/verbs.cpp b/src/verbs.cpp index 55f5fd8d5..1ad68b792 100644 --- a/src/verbs.cpp +++ b/src/verbs.cpp @@ -1580,7 +1580,7 @@ TextVerb::perform(SPAction *action, void */*data*/, void */*pdata*/) SPDocument *doc = sp_desktop_document(dt); (void)doc; - Inkscape::XML::Node *repr = SP_OBJECT_REPR(dt->namedview); + Inkscape::XML::Node *repr = dt->namedview->getRepr(); (void)repr; } @@ -1595,7 +1595,7 @@ ZoomVerb::perform(SPAction *action, void *data, void */*pdata*/) SPDocument *doc = sp_desktop_document(dt); - Inkscape::XML::Node *repr = SP_OBJECT_REPR(dt->namedview); + Inkscape::XML::Node *repr = dt->namedview->getRepr(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); gdouble zoom_inc = diff --git a/src/widgets/paint-selector.cpp b/src/widgets/paint-selector.cpp index 7b513a4d7..f0b55cf13 100644 --- a/src/widgets/paint-selector.cpp +++ b/src/widgets/paint-selector.cpp @@ -950,7 +950,7 @@ void SPPaintSelector::updatePatternList( SPPattern *pattern ) gtk_object_set_data(GTK_OBJECT(mnu), "update", GINT_TO_POINTER(TRUE)); - gchar *patname = (gchar *) SP_OBJECT_REPR(pattern)->attribute("id"); + gchar const *patname = pattern->getRepr()->attribute("id"); GtkMenu *m = GTK_MENU(gtk_option_menu_get_menu(GTK_OPTION_MENU(mnu))); diff --git a/src/xml/rebase-hrefs.cpp b/src/xml/rebase-hrefs.cpp index 065517160..b2efd7ee6 100644 --- a/src/xml/rebase-hrefs.cpp +++ b/src/xml/rebase-hrefs.cpp @@ -230,7 +230,7 @@ void Inkscape::XML::rebase_hrefs(SPDocument *const doc, gchar const *const new_b * cases. */ GSList const *images = doc->getResourceList("image"); for (GSList const *l = images; l != NULL; l = l->next) { - Inkscape::XML::Node *ir = SP_OBJECT_REPR(l->data); + Inkscape::XML::Node *ir = static_cast<SPObject *>(l->data)->getRepr(); gchar const *const href = ir->attribute("xlink:href"); /* TODO: Most of this function currently treats href as if it were a simple filename |
