summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorJon A. Cruz <jon@joncruz.org>2011-02-21 07:59:34 +0000
committerJon A. Cruz <jon@joncruz.org>2011-02-21 07:59:34 +0000
commitccba415bc620a21239f11361078c8c30006106c7 (patch)
treeb68a10c9bfa0af11aed2a2db8ef8ed025af39654 /src/widgets
parentPass removing some outdated C-macro use. (diff)
downloadinkscape-ccba415bc620a21239f11361078c8c30006106c7.tar.gz
inkscape-ccba415bc620a21239f11361078c8c30006106c7.zip
Finished cleanup of outated SP_OBJECT_DOCUMENT C macro.
(bzr r10060)
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/gradient-selector.cpp12
-rw-r--r--src/widgets/gradient-vector.cpp76
-rw-r--r--src/widgets/paint-selector.cpp10
-rw-r--r--src/widgets/sp-attribute-widget.cpp20
-rw-r--r--src/widgets/stroke-style.cpp66
-rw-r--r--src/widgets/swatch-selector.cpp6
-rw-r--r--src/widgets/toolbox.cpp103
7 files changed, 152 insertions, 141 deletions
diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp
index 49549de1c..f7a981c9f 100644
--- a/src/widgets/gradient-selector.cpp
+++ b/src/widgets/gradient-selector.cpp
@@ -259,7 +259,7 @@ SPGradientSpread SPGradientSelector::getSpread()
void SPGradientSelector::setVector(SPDocument *doc, SPGradient *vector)
{
g_return_if_fail(!vector || SP_IS_GRADIENT(vector));
- g_return_if_fail(!vector || (SP_OBJECT_DOCUMENT(vector) == doc));
+ g_return_if_fail(!vector || (vector->document == doc));
if (vector && !vector->hasStops()) {
return;
@@ -312,7 +312,7 @@ sp_gradient_selector_vector_set (SPGradientVectorSelector */*gvs*/, SPGradient *
if (!blocked) {
blocked = TRUE;
gr = sp_gradient_ensure_vector_normalized (gr);
- sel->setVector((gr) ? SP_OBJECT_DOCUMENT (gr) : 0, gr);
+ sel->setVector((gr) ? gr->document : 0, gr);
g_signal_emit (G_OBJECT (sel), signals[CHANGED], 0, gr);
blocked = FALSE;
}
@@ -344,9 +344,9 @@ sp_gradient_selector_add_vector_clicked (GtkWidget */*w*/, SPGradientSelector *s
Inkscape::XML::Node *repr = NULL;
- if (gr)
- repr = SP_OBJECT_REPR (gr)->duplicate(xml_doc);
- else {
+ if (gr) {
+ repr = gr->getRepr()->duplicate(xml_doc);
+ } else {
repr = xml_doc->createElement("svg:linearGradient");
Inkscape::XML::Node *stop = xml_doc->createElement("svg:stop");
stop->setAttribute("offset", "0");
@@ -360,7 +360,7 @@ sp_gradient_selector_add_vector_clicked (GtkWidget */*w*/, SPGradientSelector *s
Inkscape::GC::release(stop);
}
- SP_OBJECT_REPR (SP_DOCUMENT_DEFS (doc))->addChild(repr, NULL);
+ SP_DOCUMENT_DEFS(doc)->getRepr()->addChild(repr, NULL);
gr = (SPGradient *) doc->getObjectByRepr(repr);
sp_gradient_vector_selector_set_gradient(
diff --git a/src/widgets/gradient-vector.cpp b/src/widgets/gradient-vector.cpp
index 1be0aae8e..839ddf67c 100644
--- a/src/widgets/gradient-vector.cpp
+++ b/src/widgets/gradient-vector.cpp
@@ -162,7 +162,7 @@ GtkWidget *sp_gradient_vector_selector_new(SPDocument *doc, SPGradient *gr)
GtkWidget *gvs;
g_return_val_if_fail(!gr || SP_IS_GRADIENT(gr), NULL);
- g_return_val_if_fail(!gr || (SP_OBJECT_DOCUMENT(gr) == doc), NULL);
+ g_return_val_if_fail(!gr || (gr->document == doc), NULL);
gvs = static_cast<GtkWidget*>(gtk_type_new(SP_TYPE_GRADIENT_VECTOR_SELECTOR));
@@ -187,7 +187,7 @@ void sp_gradient_vector_selector_set_gradient(SPGradientVectorSelector *gvs, SPD
g_return_if_fail(SP_IS_GRADIENT_VECTOR_SELECTOR(gvs));
g_return_if_fail(!gr || (doc != NULL));
g_return_if_fail(!gr || SP_IS_GRADIENT(gr));
- g_return_if_fail(!gr || (SP_OBJECT_DOCUMENT(gr) == doc));
+ g_return_if_fail(!gr || (gr->document == doc));
g_return_if_fail(!gr || gr->hasStops());
if (doc != gvs->doc) {
@@ -256,7 +256,7 @@ static void sp_gvs_rebuild_gui_full(SPGradientVectorSelector *gvs)
/* Pick up all gradients with vectors */
GSList *gl = NULL;
if (gvs->gr) {
- const GSList *gradients = SP_OBJECT_DOCUMENT(gvs->gr)->getResourceList("gradient");
+ const GSList *gradients = gvs->gr->document->getResourceList("gradient");
for (const GSList *curr = gradients; curr; curr = curr->next) {
SPGradient* grad = SP_GRADIENT(curr->data);
if ( grad->hasStops() && (grad->isSwatch() == gvs->swatched) ) {
@@ -371,7 +371,7 @@ static void sp_gvs_gradient_activate(GtkMenuItem *mi, SPGradientVectorSelector *
/* We do extra undo push here */
/* If handler has already done it, it is just NOP */
// FIXME: looks like this is never a valid undo step, consider removing this
- DocumentUndo::done(SP_OBJECT_DOCUMENT(norm), SP_VERB_CONTEXT_GRADIENT,
+ DocumentUndo::done(norm->document, SP_VERB_CONTEXT_GRADIENT,
/* TODO: annotate */ "gradient-vector.cpp:350");
}
}
@@ -479,7 +479,7 @@ static void verify_grad(SPGradient *gradient)
}
Inkscape::XML::Document *xml_doc;
- xml_doc = SP_OBJECT_REPR(gradient)->document();
+ xml_doc = gradient->getRepr()->document();
if (i < 1) {
Inkscape::CSSOStringStream os;
@@ -490,20 +490,20 @@ static void verify_grad(SPGradient *gradient)
child = xml_doc->createElement("svg:stop");
sp_repr_set_css_double(child, "offset", 0.0);
child->setAttribute("style", os.str().c_str());
- SP_OBJECT_REPR(gradient)->addChild(child, NULL);
+ gradient->getRepr()->addChild(child, NULL);
Inkscape::GC::release(child);
child = xml_doc->createElement("svg:stop");
sp_repr_set_css_double(child, "offset", 1.0);
child->setAttribute("style", os.str().c_str());
- SP_OBJECT_REPR(gradient)->addChild(child, NULL);
+ gradient->getRepr()->addChild(child, NULL);
Inkscape::GC::release(child);
}
if (i < 2) {
- sp_repr_set_css_double(SP_OBJECT_REPR(stop), "offset", 0.0);
- Inkscape::XML::Node *child = SP_OBJECT_REPR(stop)->duplicate(SP_OBJECT_REPR(gradient)->document());
+ sp_repr_set_css_double(stop->getRepr(), "offset", 0.0);
+ Inkscape::XML::Node *child = stop->getRepr()->duplicate(gradient->getRepr()->document());
sp_repr_set_css_double(child, "offset", 1.0);
- SP_OBJECT_REPR(gradient)->addChild(child, SP_OBJECT_REPR(stop));
+ gradient->getRepr()->addChild(child, stop->getRepr());
Inkscape::GC::release(child);
}
}
@@ -513,7 +513,7 @@ static void select_stop_in_list( GtkWidget *mnu, SPGradient *gradient, SPStop *n
int i = 0;
for ( SPObject *ochild = gradient->firstChild() ; ochild ; ochild = ochild->getNext() ) {
if (SP_IS_STOP(ochild)) {
- if (SP_OBJECT(ochild) == SP_OBJECT(new_stop)) {
+ if (ochild == new_stop) {
gtk_option_menu_set_history(GTK_OPTION_MENU(mnu), i);
break;
}
@@ -565,7 +565,7 @@ static void update_stop_list( GtkWidget *mnu, SPGradient *gradient, SPStop *new_
gtk_widget_show(cpv);
gtk_container_add( GTK_CONTAINER(hb), cpv );
g_object_set_data( G_OBJECT(i), "preview", cpv );
- Inkscape::XML::Node *repr = SP_OBJECT_REPR((SPItem *) sl->data);
+ Inkscape::XML::Node *repr = reinterpret_cast<SPItem *>(sl->data)->getRepr();
GtkWidget *l = gtk_label_new(repr->attribute("id"));
gtk_widget_show(l);
gtk_misc_set_alignment(GTK_MISC(l), 1.0, 0.5);
@@ -659,9 +659,9 @@ static void offadjustmentChanged( GtkAdjustment *adjustment, GtkWidget *vb)
SPStop *stop = SP_STOP(g_object_get_data(G_OBJECT(gtk_menu_get_active(GTK_MENU(gtk_option_menu_get_menu(mnu)))), "stop"));
stop->offset = adjustment->value;
- sp_repr_set_css_double(SP_OBJECT_REPR(stop), "offset", stop->offset);
+ sp_repr_set_css_double(stop->getRepr(), "offset", stop->offset);
- DocumentUndo::maybeDone(SP_OBJECT_DOCUMENT(stop), "gradient:stop:offset", SP_VERB_CONTEXT_GRADIENT,
+ DocumentUndo::maybeDone(stop->document, "gradient:stop:offset", SP_VERB_CONTEXT_GRADIENT,
_("Change gradient stop offset"));
blocked = FALSE;
@@ -705,15 +705,15 @@ static void sp_grd_ed_add_stop(GtkWidget */*widget*/, GtkWidget *vb)
}
if (next != NULL) {
- new_stop_repr = SP_OBJECT_REPR(stop)->duplicate(SP_OBJECT_REPR(gradient)->document());
- SP_OBJECT_REPR(gradient)->addChild(new_stop_repr, SP_OBJECT_REPR(stop));
+ new_stop_repr = stop->getRepr()->duplicate(gradient->getRepr()->document());
+ gradient->getRepr()->addChild(new_stop_repr, stop->getRepr());
} else {
next = stop;
- new_stop_repr = SP_OBJECT_REPR(stop->getPrevStop())->duplicate(SP_OBJECT_REPR(gradient)->document());
- SP_OBJECT_REPR(gradient)->addChild(new_stop_repr, SP_OBJECT_REPR(stop->getPrevStop()));
+ new_stop_repr = stop->getPrevStop()->getRepr()->duplicate(gradient->getRepr()->document());
+ gradient->getRepr()->addChild(new_stop_repr, stop->getPrevStop()->getRepr());
}
- SPStop *newstop = (SPStop *) SP_OBJECT_DOCUMENT(gradient)->getObjectByRepr(new_stop_repr);
+ SPStop *newstop = reinterpret_cast<SPStop *>(gradient->document->getObjectByRepr(new_stop_repr));
newstop->offset = (stop->offset + next->offset) * 0.5 ;
@@ -726,8 +726,8 @@ static void sp_grd_ed_add_stop(GtkWidget */*widget*/, GtkWidget *vb)
sp_svg_write_color(c, sizeof(c), cnew);
gdouble opacity = static_cast<gdouble>(SP_RGBA32_A_F(cnew));
os << "stop-color:" << c << ";stop-opacity:" << opacity <<";";
- SP_OBJECT_REPR (newstop)->setAttribute("style", os.str().c_str());
- sp_repr_set_css_double( SP_OBJECT_REPR(newstop), "offset", (double)newstop->offset);
+ newstop->getRepr()->setAttribute("style", os.str().c_str());
+ sp_repr_set_css_double( newstop->getRepr(), "offset", (double)newstop->offset);
sp_gradient_vector_widget_load_gradient(vb, gradient);
Inkscape::GC::release(new_stop_repr);
@@ -736,7 +736,7 @@ static void sp_grd_ed_add_stop(GtkWidget */*widget*/, GtkWidget *vb)
GtkWidget *offslide =GTK_WIDGET(g_object_get_data(G_OBJECT(vb), "offslide"));
gtk_widget_set_sensitive(offslide, TRUE);
gtk_widget_set_sensitive(GTK_WIDGET(offspin), TRUE);
- DocumentUndo::done(SP_OBJECT_DOCUMENT(gradient), SP_VERB_CONTEXT_GRADIENT,
+ DocumentUndo::done(gradient->document, SP_VERB_CONTEXT_GRADIENT,
_("Add gradient stop"));
}
@@ -754,20 +754,20 @@ static void sp_grd_ed_del_stop(GtkWidget */*widget*/, GtkWidget *vb)
SPStop *next = stop->getNextStop();
if (next) {
next->offset = 0;
- sp_repr_set_css_double(SP_OBJECT_REPR(next), "offset", 0);
+ sp_repr_set_css_double(next->getRepr(), "offset", 0);
}
} else if (stop->offset == 1) {
SPStop *prev = stop->getPrevStop();
if (prev) {
prev->offset = 1;
- sp_repr_set_css_double(SP_OBJECT_REPR(prev), "offset", 1);
+ sp_repr_set_css_double(prev->getRepr(), "offset", 1);
}
}
- SP_OBJECT_REPR(gradient)->removeChild(SP_OBJECT_REPR(stop));
+ gradient->getRepr()->removeChild(stop->getRepr());
sp_gradient_vector_widget_load_gradient(vb, gradient);
update_stop_list(GTK_WIDGET(mnu), gradient, NULL);
- DocumentUndo::done(SP_OBJECT_DOCUMENT(gradient), SP_VERB_CONTEXT_GRADIENT,
+ DocumentUndo::done(gradient->document, SP_VERB_CONTEXT_GRADIENT,
_("Delete gradient stop"));
}
@@ -787,7 +787,7 @@ static GtkWidget * sp_gradient_vector_widget_new(SPGradient *gradient, SPStop *s
gtk_widget_show(w);
gtk_box_pack_start(GTK_BOX(vb), w, TRUE, TRUE, PAD);
- sp_repr_add_listener(SP_OBJECT_REPR(gradient), &grad_edit_dia_repr_events, vb);
+ sp_repr_add_listener(gradient->getRepr(), &grad_edit_dia_repr_events, vb);
GtkTooltips *tt = gtk_tooltips_new();
/* Stop list */
@@ -1031,11 +1031,11 @@ static void sp_gradient_vector_widget_load_gradient(GtkWidget *widget, SPGradien
update_stop_list(GTK_WIDGET(mnu), gradient, NULL);
// Once the user edits a gradient, it stops being auto-collectable
- if (SP_OBJECT_REPR(gradient)->attribute("inkscape:collect")) {
- SPDocument *document = SP_OBJECT_DOCUMENT(gradient);
+ if (gradient->getRepr()->attribute("inkscape:collect")) {
+ SPDocument *document = gradient->document;
bool saved = DocumentUndo::getUndoSensitive(document);
DocumentUndo::setUndoSensitive(document, false);
- SP_OBJECT_REPR(gradient)->setAttribute("inkscape:collect", NULL);
+ gradient->getRepr()->setAttribute("inkscape:collect", NULL);
DocumentUndo::setUndoSensitive(document, saved);
}
} else { // no gradient, disable everything
@@ -1077,9 +1077,7 @@ static gboolean sp_gradient_vector_dialog_delete(GtkWidget */*widget*/, GdkEvent
static void sp_gradient_vector_widget_destroy(GtkObject *object, gpointer /*data*/)
{
- GObject *gradient;
-
- gradient = (GObject*)g_object_get_data(G_OBJECT(object), "gradient");
+ SPObject *gradient = reinterpret_cast<SPObject*>(g_object_get_data(G_OBJECT(object), "gradient"));
sigc::connection *release_connection = (sigc::connection *)g_object_get_data(G_OBJECT(object), "gradient_release_connection");
sigc::connection *modified_connection = (sigc::connection *)g_object_get_data(G_OBJECT(object), "gradient_modified_connection");
@@ -1092,8 +1090,8 @@ static void sp_gradient_vector_widget_destroy(GtkObject *object, gpointer /*data
sp_signal_disconnect_by_data(gradient, object);
}
- if (gradient && SP_OBJECT_REPR(gradient)) {
- sp_repr_remove_listener_by_data(SP_OBJECT_REPR(gradient), object);
+ if (gradient && gradient->getRepr()) {
+ sp_repr_remove_listener_by_data(gradient->getRepr(), object);
}
}
@@ -1178,14 +1176,14 @@ static void sp_gradient_vector_color_changed(SPColorSelector *csel, GtkObject *o
float alpha = 0;
csel->base->getColorAlpha( color, alpha );
- sp_repr_set_css_double(SP_OBJECT_REPR(stop), "offset", stop->offset);
+ sp_repr_set_css_double(stop->getRepr(), "offset", stop->offset);
Inkscape::CSSOStringStream os;
os << "stop-color:" << color.toString() << ";stop-opacity:" << static_cast<gdouble>(alpha) <<";";
- SP_OBJECT_REPR(stop)->setAttribute("style", os.str().c_str());
+ stop->getRepr()->setAttribute("style", os.str().c_str());
// g_snprintf(c, 256, "stop-color:#%06x;stop-opacity:%g;", rgb >> 8, static_cast<gdouble>(alpha));
- //SP_OBJECT_REPR(stop)->setAttribute("style", c);
+ //stop->getRepr()->setAttribute("style", c);
- DocumentUndo::done(SP_OBJECT_DOCUMENT(ngr), SP_VERB_CONTEXT_GRADIENT,
+ DocumentUndo::done(ngr->document, SP_VERB_CONTEXT_GRADIENT,
_("Change gradient stop color"));
blocked = FALSE;
diff --git a/src/widgets/paint-selector.cpp b/src/widgets/paint-selector.cpp
index 1d8acb40a..7b513a4d7 100644
--- a/src/widgets/paint-selector.cpp
+++ b/src/widgets/paint-selector.cpp
@@ -457,7 +457,7 @@ void SPPaintSelector::setSwatch(SPGradient *vector )
SwatchSelector *swatchsel = static_cast<SwatchSelector*>(g_object_get_data(G_OBJECT(selector), "swatch-selector"));
if (swatchsel) {
- swatchsel->setVector( (vector) ? SP_OBJECT_DOCUMENT(vector) : 0, vector );
+ swatchsel->setVector( (vector) ? vector->document : 0, vector );
}
}
@@ -471,7 +471,7 @@ void SPPaintSelector::setGradientLinear(SPGradient *vector)
SPGradientSelector *gsel = getGradientFromData(this);
gsel->setMode(SPGradientSelector::MODE_LINEAR);
- gsel->setVector((vector) ? SP_OBJECT_DOCUMENT(vector) : 0, vector);
+ gsel->setVector((vector) ? vector->document : 0, vector);
}
void SPPaintSelector::setGradientRadial(SPGradient *vector)
@@ -485,7 +485,7 @@ void SPPaintSelector::setGradientRadial(SPGradient *vector)
gsel->setMode(SPGradientSelector::MODE_RADIAL);
- gsel->setVector((vector) ? SP_OBJECT_DOCUMENT(vector) : 0, vector);
+ gsel->setVector((vector) ? vector->document : 0, vector);
}
void SPPaintSelector::setGradientProperties( SPGradientUnits units, SPGradientSpread spread )
@@ -541,7 +541,7 @@ void SPPaintSelector::pushAttrsToGradient( SPGradient *gr ) const
getGradientProperties( units, spread );
gr->setUnits(units);
gr->setSpread(spread);
- SP_OBJECT(gr)->updateRepr();
+ gr->updateRepr();
}
static void
@@ -804,7 +804,7 @@ sp_pattern_menu_build (GtkWidget *m, GSList *pattern_list, SPDocument */*source*
{
for (; pattern_list != NULL; pattern_list = pattern_list->next) {
- Inkscape::XML::Node *repr = SP_OBJECT_REPR((SPItem *) pattern_list->data);
+ Inkscape::XML::Node *repr = reinterpret_cast<SPItem *>(pattern_list->data)->getRepr();
GtkWidget *i = gtk_menu_item_new();
gtk_widget_show(i);
diff --git a/src/widgets/sp-attribute-widget.cpp b/src/widgets/sp-attribute-widget.cpp
index 0c31c2f74..a64a03f4e 100644
--- a/src/widgets/sp-attribute-widget.cpp
+++ b/src/widgets/sp-attribute-widget.cpp
@@ -154,14 +154,12 @@ sp_attribute_widget_changed (GtkEditable *editable)
if (!*text)
text = NULL;
- if (spaw->hasobj && spaw->src.object) {
-
- SP_OBJECT_REPR (spaw->src.object)->setAttribute(spaw->attribute, text, false);
- DocumentUndo::done(SP_OBJECT_DOCUMENT (spaw->src.object), SP_VERB_NONE,
+ if (spaw->hasobj && spaw->src.object) {
+ spaw->src.object->getRepr()->setAttribute(spaw->attribute, text, false);
+ DocumentUndo::done(spaw->src.object->document, SP_VERB_NONE,
_("Set attribute"));
} else if (spaw->src.repr) {
-
spaw->src.repr->setAttribute(spaw->attribute, text, false);
/* TODO: Warning! Undo will not be flushed in given case */
}
@@ -248,7 +246,7 @@ sp_attribute_widget_set_object ( SPAttributeWidget *spaw,
spaw->attribute = g_strdup (attribute);
- val = SP_OBJECT_REPR (object)->attribute(attribute);
+ val = object->getRepr()->attribute(attribute);
gtk_entry_set_text (GTK_ENTRY (spaw), val ? val : (const gchar *) "");
spaw->blocked = FALSE;
}
@@ -317,7 +315,7 @@ sp_attribute_widget_object_modified ( SPObject */*object*/,
if (flags && SP_OBJECT_MODIFIED_FLAG) {
const gchar *val, *text;
- val = SP_OBJECT_REPR (spaw->src.object)->attribute(spaw->attribute);
+ val = spaw->src.object->getRepr()->attribute(spaw->attribute);
text = gtk_entry_get_text (GTK_ENTRY (spaw));
if (val || text) {
@@ -588,7 +586,7 @@ sp_attribute_table_set_object ( SPAttributeTable *spat,
XPAD, YPAD );
w = gtk_entry_new ();
gtk_widget_show (w);
- val = SP_OBJECT_REPR (object)->attribute(attributes[i]);
+ val = object->getRepr()->attribute(attributes[i]);
gtk_entry_set_text (GTK_ENTRY (w), val ? val : (const gchar *) "");
gtk_table_attach ( GTK_TABLE (spat->table), w, 1, 2, i, i + 1,
(GtkAttachOptions)(GTK_EXPAND | GTK_FILL),
@@ -719,7 +717,7 @@ sp_attribute_table_object_modified ( SPObject */*object*/,
gint i;
for (i = 0; i < spat->num_attr; i++) {
const gchar *val, *text;
- val = SP_OBJECT_REPR (spat->src.object)->attribute(spat->attributes[i]);
+ val = spat->src.object->getRepr()->attribute(spat->attributes[i]);
text = gtk_entry_get_text (GTK_ENTRY (spat->entries[i]));
if (val || text) {
if (!val || !text || strcmp (val, text)) {
@@ -763,8 +761,8 @@ sp_attribute_table_entry_changed ( GtkEditable *editable,
text = NULL;
if (spat->hasobj && spat->src.object) {
- SP_OBJECT_REPR (spat->src.object)->setAttribute(spat->attributes[i], text, false);
- DocumentUndo::done(SP_OBJECT_DOCUMENT (spat->src.object), SP_VERB_NONE,
+ spat->src.object->getRepr()->setAttribute(spat->attributes[i], text, false);
+ DocumentUndo::done(spat->src.object->document, SP_VERB_NONE,
_("Set attribute"));
} else if (spat->src.repr) {
diff --git a/src/widgets/stroke-style.cpp b/src/widgets/stroke-style.cpp
index 9b79ed09e..555418269 100644
--- a/src/widgets/stroke-style.cpp
+++ b/src/widgets/stroke-style.cpp
@@ -161,11 +161,11 @@ sp_marker_prev_new(unsigned psize, gchar const *mname,
// Create a copy repr of the marker with id="sample"
Inkscape::XML::Document *xml_doc = sandbox->getReprDoc();
- Inkscape::XML::Node *mrepr = SP_OBJECT_REPR (marker)->duplicate(xml_doc);
+ Inkscape::XML::Node *mrepr = marker->getRepr()->duplicate(xml_doc);
mrepr->setAttribute("id", "sample");
// Replace the old sample in the sandbox by the new one
- Inkscape::XML::Node *defsrepr = SP_OBJECT_REPR (sandbox->getObjectById("defs"));
+ Inkscape::XML::Node *defsrepr = sandbox->getObjectById("defs")->getRepr();
SPObject *oldmarker = sandbox->getObjectById("sample");
if (oldmarker)
oldmarker->deleteObject(false);
@@ -225,7 +225,7 @@ ink_marker_list_get (SPDocument *source)
GSList *ml = NULL;
SPDefs *defs = (SPDefs *) SP_DOCUMENT_DEFS (source);
- for ( SPObject *child = SP_OBJECT(defs)->firstChild(); child; child = child->getNext() )
+ for ( SPObject *child = defs->firstChild(); child; child = child->getNext() )
{
if (SP_IS_MARKER(child)) {
ml = g_slist_prepend (ml, child);
@@ -248,14 +248,15 @@ sp_marker_menu_build (Gtk::Menu *m, GSList *marker_list, SPDocument *source, SPD
NRArenaItem *root = SP_ITEM(sandbox->getRoot())->invoke_show((NRArena *) arena, visionkey, SP_ITEM_SHOW_DISPLAY);
for (; marker_list != NULL; marker_list = marker_list->next) {
- Inkscape::XML::Node *repr = SP_OBJECT_REPR((SPItem *) marker_list->data);
+ Inkscape::XML::Node *repr = reinterpret_cast<SPItem *>(marker_list->data)->getRepr();
Gtk::MenuItem *i = new Gtk::MenuItem();
i->show();
- if (repr->attribute("inkscape:stockid"))
+ if (repr->attribute("inkscape:stockid")) {
i->set_data("stockid", (void *) "true");
- else
+ } else {
i->set_data("stockid", (void *) "false");
+ }
gchar const *markid = repr->attribute("id");
i->set_data("marker", (void *) markid);
@@ -468,7 +469,7 @@ sp_marker_select(Gtk::OptionMenu *mnu, Gtk::Container *spw, SPMarkerLoc const wh
if (!strcmp(stockid,"true")) markurn = g_strconcat("urn:inkscape:marker:",markid,NULL);
SPObject *mark = get_stock_item(markurn);
if (mark) {
- Inkscape::XML::Node *repr = SP_OBJECT_REPR(mark);
+ Inkscape::XML::Node *repr = mark->getRepr();
marker = g_strconcat("url(#", repr->attribute("id"), ")", NULL);
}
} else {
@@ -486,16 +487,17 @@ sp_marker_select(Gtk::OptionMenu *mnu, Gtk::Container *spw, SPMarkerLoc const wh
Inkscape::Selection *selection = sp_desktop_selection(desktop);
GSList const *items = selection->itemList();
for (; items != NULL; items = items->next) {
- SPItem *item = (SPItem *) items->data;
- if (!SP_IS_SHAPE(item) || SP_IS_RECT(item)) // can't set marker to rect, until it's converted to using <path>
- continue;
- Inkscape::XML::Node *selrepr = SP_OBJECT_REPR((SPItem *) items->data);
- if (selrepr) {
- sp_repr_css_change_recursive(selrepr, css, "style");
- }
- SP_OBJECT(items->data)->requestModified(SP_OBJECT_MODIFIED_FLAG);
- SP_OBJECT(items->data)->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_STYLE_MODIFIED_FLAG);
- }
+ SPItem *item = reinterpret_cast<SPItem *>(items->data);
+ if (!SP_IS_SHAPE(item) || SP_IS_RECT(item)) { // can't set marker to rect, until it's converted to using <path>
+ continue;
+ }
+ Inkscape::XML::Node *selrepr = item->getRepr();
+ if (selrepr) {
+ sp_repr_css_change_recursive(selrepr, css, "style");
+ }
+ item->requestModified(SP_OBJECT_MODIFIED_FLAG);
+ item->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_STYLE_MODIFIED_FLAG);
+ }
sp_repr_css_attr_unref(css);
css = 0;
@@ -690,7 +692,7 @@ sp_stroke_style_line_widget_new(void)
tt->set_tip(*sb, _("Stroke width"));
sb->show();
spw_label(t, C_("Stroke width", "_Width:"), 0, i, sb);
-
+
sp_dialog_defocus_on_enter_cpp(sb);
hb->pack_start(*sb, false, false, 0);
@@ -813,10 +815,10 @@ sp_stroke_style_line_widget_new(void)
/* Dash */
spw_label(t, _("Dashes:"), 0, i, NULL); //no mnemonic for now
- //decide what to do:
- // implement a set_mnemonic_source function in the
- // SPDashSelector class, so that we do not have to
- // expose any of the underlying widgets?
+ //decide what to do:
+ // implement a set_mnemonic_source function in the
+ // SPDashSelector class, so that we do not have to
+ // expose any of the underlying widgets?
ds = manage(new SPDashSelector);
ds->show();
@@ -1091,7 +1093,7 @@ sp_stroke_style_line_update(Gtk::Container *spw, Inkscape::Selection *sel)
GSList const *objects = sel->itemList();
SPObject * const object = SP_OBJECT(objects->data);
- SPStyle * const style = SP_OBJECT_STYLE(object);
+ SPStyle * const style = object->style;
/* Markers */
sp_stroke_style_update_marker_menus(spw, objects); // FIXME: make this desktop query too
@@ -1174,7 +1176,7 @@ sp_stroke_style_scale_line(Gtk::Container *spw)
if (unit->base == SP_UNIT_ABSOLUTE || unit->base == SP_UNIT_DEVICE) {
width = sp_units_get_pixels (width_typed, *unit);
} else { // percentage
- gdouble old_w = SP_OBJECT_STYLE (i->data)->stroke_width.computed;
+ gdouble old_w = SP_OBJECT(i->data)->style->stroke_width.computed;
width = old_w * width_typed / 100;
}
@@ -1362,14 +1364,16 @@ ink_marker_menu_set_current(SPObject *marker, Gtk::OptionMenu *mnu)
Gtk::Menu *m = mnu->get_menu();
if (marker != NULL) {
bool mark_is_stock = false;
- if (SP_OBJECT_REPR(marker)->attribute("inkscape:stockid"))
+ if (marker->getRepr()->attribute("inkscape:stockid")) {
mark_is_stock = true;
+ }
- gchar *markname;
- if (mark_is_stock)
- markname = g_strdup(SP_OBJECT_REPR(marker)->attribute("inkscape:stockid"));
- else
- markname = g_strdup(SP_OBJECT_REPR(marker)->attribute("id"));
+ gchar *markname = 0;
+ if (mark_is_stock) {
+ markname = g_strdup(marker->getRepr()->attribute("inkscape:stockid"));
+ } else {
+ markname = g_strdup(marker->getRepr()->attribute("id"));
+ }
int markpos = ink_marker_menu_get_pos(m, markname);
mnu->set_history(markpos);
@@ -1427,7 +1431,7 @@ sp_stroke_style_update_marker_menus(Gtk::Container *spw, GSList const *objects)
// If the object has this type of markers,
// Extract the name of the marker that the object uses
- SPObject *marker = ink_extract_marker_name(object->style->marker[keyloc[i].loc].value, SP_OBJECT_DOCUMENT(object));
+ SPObject *marker = ink_extract_marker_name(object->style->marker[keyloc[i].loc].value, object->document);
// Scroll the menu to that marker
ink_marker_menu_set_current(marker, mnu);
diff --git a/src/widgets/swatch-selector.cpp b/src/widgets/swatch-selector.cpp
index 935282a3a..cd624630b 100644
--- a/src/widgets/swatch-selector.cpp
+++ b/src/widgets/swatch-selector.cpp
@@ -133,9 +133,9 @@ void SwatchSelector::_changedCb(SPColorSelector */*csel*/, void *data)
gchar c[64];
sp_svg_write_color(c, sizeof(c), rgb);
os << "stop-color:" << c << ";stop-opacity:" << static_cast<gdouble>(alpha) <<";";
- SP_OBJECT_REPR(stop)->setAttribute("style", os.str().c_str());
+ stop->getRepr()->setAttribute("style", os.str().c_str());
- DocumentUndo::done(SP_OBJECT_DOCUMENT(ngr), SP_VERB_CONTEXT_GRADIENT,
+ DocumentUndo::done(ngr->document, SP_VERB_CONTEXT_GRADIENT,
_("Change swatch color"));
}
}
@@ -169,7 +169,7 @@ void SwatchSelector::connectchangedHandler( GCallback handler, void *data )
void SwatchSelector::setVector(SPDocument */*doc*/, SPGradient *vector)
{
//GtkVBox * box = gobj();
- _gsel->setVector((vector) ? SP_OBJECT_DOCUMENT(vector) : 0, vector);
+ _gsel->setVector((vector) ? vector->document : 0, vector);
if ( vector && vector->isSolid() ) {
SPStop* stop = vector->getFirstStop();
diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp
index b488a0280..7ef864383 100644
--- a/src/widgets/toolbox.cpp
+++ b/src/widgets/toolbox.cpp
@@ -2041,14 +2041,14 @@ static void toggle_snap_callback(GtkToggleAction *act, gpointer data) //data poi
SPDesktop *dt = reinterpret_cast<SPDesktop*>(ptr);
SPNamedView *nv = sp_desktop_namedview(dt);
- SPDocument *doc = SP_OBJECT_DOCUMENT(nv);
+ SPDocument *doc = nv->document;
if (dt == NULL || nv == NULL) {
g_warning("No desktop or namedview specified (in toggle_snap_callback)!");
return;
}
- Inkscape::XML::Node *repr = SP_OBJECT_REPR(nv);
+ Inkscape::XML::Node *repr = nv->getRepr();
if (repr == NULL) {
g_warning("This namedview doesn't have a xml representation attached!");
@@ -2520,13 +2520,14 @@ static void sp_stb_magnitude_value_changed( GtkAdjustment *adj, GObject *dataKlu
Inkscape::Selection *selection = sp_desktop_selection(desktop);
GSList const *items = selection->itemList();
for (; items != NULL; items = items->next) {
- if (SP_IS_STAR((SPItem *) items->data)) {
- Inkscape::XML::Node *repr = SP_OBJECT_REPR((SPItem *) items->data);
+ SPItem *item = reinterpret_cast<SPItem*>(items->data);
+ if (SP_IS_STAR(item)) {
+ Inkscape::XML::Node *repr = item->getRepr();
sp_repr_set_int(repr,"sodipodi:sides",(gint)adj->value);
sp_repr_set_svg_double(repr, "sodipodi:arg2",
(sp_repr_get_double_attribute(repr, "sodipodi:arg1", 0.5)
+ M_PI / (gint)adj->value));
- SP_OBJECT((SPItem *) items->data)->updateRepr();
+ item->updateRepr();
modmade = true;
}
}
@@ -2561,8 +2562,9 @@ static void sp_stb_proportion_value_changed( GtkAdjustment *adj, GObject *dataKl
Inkscape::Selection *selection = sp_desktop_selection(desktop);
GSList const *items = selection->itemList();
for (; items != NULL; items = items->next) {
- if (SP_IS_STAR((SPItem *) items->data)) {
- Inkscape::XML::Node *repr = SP_OBJECT_REPR((SPItem *) items->data);
+ SPItem *item = reinterpret_cast<SPItem *>(items->data);
+ if (SP_IS_STAR(item)) {
+ Inkscape::XML::Node *repr = item->getRepr();
gdouble r1 = sp_repr_get_double_attribute(repr, "sodipodi:r1", 1.0);
gdouble r2 = sp_repr_get_double_attribute(repr, "sodipodi:r2", 1.0);
@@ -2572,7 +2574,7 @@ static void sp_stb_proportion_value_changed( GtkAdjustment *adj, GObject *dataKl
sp_repr_set_svg_double(repr, "sodipodi:r1", r2*adj->value);
}
- SP_OBJECT((SPItem *) items->data)->updateRepr();
+ item->updateRepr();
modmade = true;
}
}
@@ -2613,10 +2615,11 @@ static void sp_stb_sides_flat_state_changed( EgeSelectOneAction *act, GObject *d
}
for (; items != NULL; items = items->next) {
- if (SP_IS_STAR((SPItem *) items->data)) {
- Inkscape::XML::Node *repr = SP_OBJECT_REPR((SPItem *) items->data);
+ SPItem *item = reinterpret_cast<SPItem *>(items->data);
+ if (SP_IS_STAR(item)) {
+ Inkscape::XML::Node *repr = item->getRepr();
repr->setAttribute("inkscape:flatsided", flat ? "true" : "false" );
- SP_OBJECT((SPItem *) items->data)->updateRepr();
+ item->updateRepr();
modmade = true;
}
}
@@ -2651,10 +2654,11 @@ static void sp_stb_rounded_value_changed( GtkAdjustment *adj, GObject *dataKludg
Inkscape::Selection *selection = sp_desktop_selection(desktop);
GSList const *items = selection->itemList();
for (; items != NULL; items = items->next) {
- if (SP_IS_STAR((SPItem *) items->data)) {
- Inkscape::XML::Node *repr = SP_OBJECT_REPR((SPItem *) items->data);
+ SPItem *item = reinterpret_cast<SPItem*>(items->data);
+ if (SP_IS_STAR(item)) {
+ Inkscape::XML::Node *repr = item->getRepr();
sp_repr_set_svg_double(repr, "inkscape:rounded", (gdouble) adj->value);
- SP_OBJECT(items->data)->updateRepr();
+ item->updateRepr();
modmade = true;
}
}
@@ -2688,10 +2692,11 @@ static void sp_stb_randomized_value_changed( GtkAdjustment *adj, GObject *dataKl
Inkscape::Selection *selection = sp_desktop_selection(desktop);
GSList const *items = selection->itemList();
for (; items != NULL; items = items->next) {
- if (SP_IS_STAR((SPItem *) items->data)) {
- Inkscape::XML::Node *repr = SP_OBJECT_REPR((SPItem *) items->data);
+ SPItem *item = reinterpret_cast<SPItem *>(items->data);
+ if (SP_IS_STAR(item)) {
+ Inkscape::XML::Node *repr = item->getRepr();
sp_repr_set_svg_double(repr, "inkscape:randomized", (gdouble) adj->value);
- SP_OBJECT(items->data)->updateRepr();
+ item->updateRepr();
modmade = true;
}
}
@@ -2783,9 +2788,10 @@ sp_star_toolbox_selection_changed(Inkscape::Selection *selection, GObject *tbl)
items != NULL;
items = items->next)
{
- if (SP_IS_STAR((SPItem *) items->data)) {
+ SPItem* item = reinterpret_cast<SPItem *>(items->data);
+ if (SP_IS_STAR(item)) {
n_selected++;
- repr = SP_OBJECT_REPR((SPItem *) items->data);
+ repr = item->getRepr();
}
}
@@ -3055,7 +3061,7 @@ static void sp_rtb_value_changed(GtkAdjustment *adj, GObject *tbl, gchar const *
if (adj->value != 0) {
setter(SP_RECT(items->data), sp_units_get_pixels(adj->value, *unit));
} else {
- SP_OBJECT_REPR(items->data)->setAttribute(value_name, NULL);
+ SP_OBJECT(items->data)->getRepr()->setAttribute(value_name, NULL);
}
modmade = true;
}
@@ -3184,10 +3190,10 @@ static void sp_rect_toolbox_selection_changed(Inkscape::Selection *selection, GO
for (GSList const *items = selection->itemList();
items != NULL;
items = items->next) {
- if (SP_IS_RECT((SPItem *) items->data)) {
+ if (SP_IS_RECT(reinterpret_cast<SPItem *>(items->data))) {
n_selected++;
- item = (SPItem *) items->data;
- repr = SP_OBJECT_REPR(item);
+ item = reinterpret_cast<SPItem *>(items->data);
+ repr = item->getRepr();
}
}
@@ -3474,7 +3480,7 @@ static void box3d_toolbox_selection_changed(Inkscape::Selection *selection, GObj
// FIXME: Also deal with multiple selected boxes
SPBox3D *box = SP_BOX3D(item);
Persp3D *persp = box3d_get_perspective(box);
- persp_repr = SP_OBJECT_REPR(persp);
+ persp_repr = persp->getRepr();
if (persp_repr) {
g_object_set_data(tbl, "repr", persp_repr);
Inkscape::GC::anchor(persp_repr);
@@ -3513,7 +3519,7 @@ static void box3d_angle_value_changed(GtkAdjustment *adj, GObject *dataKludge, P
Persp3D *persp = sel_persps.front();
persp->perspective_impl->tmat.set_infinite_direction (axis, adj->value);
- SP_OBJECT(persp)->updateRepr();
+ persp->updateRepr();
// TODO: use the correct axis here, too
DocumentUndo::maybeDone(document, "perspangle", SP_VERB_CONTEXT_3DBOX, _("3D Box: Change perspective (angle of infinite axis)"));
@@ -3731,10 +3737,11 @@ static void sp_spl_tb_value_changed(GtkAdjustment *adj, GObject *tbl, Glib::ustr
items != NULL;
items = items->next)
{
- if (SP_IS_SPIRAL((SPItem *) items->data)) {
- Inkscape::XML::Node *repr = SP_OBJECT_REPR((SPItem *) items->data);
+ SPItem *item = reinterpret_cast<SPItem*>(items->data);
+ if (SP_IS_SPIRAL(item)) {
+ Inkscape::XML::Node *repr = item->getRepr();
sp_repr_set_svg_double( repr, namespaced_name, adj->value );
- SP_OBJECT((SPItem *) items->data)->updateRepr();
+ item->updateRepr();
modmade = true;
}
}
@@ -3841,9 +3848,10 @@ static void sp_spiral_toolbox_selection_changed(Inkscape::Selection *selection,
items != NULL;
items = items->next)
{
- if (SP_IS_SPIRAL((SPItem *) items->data)) {
+ SPItem *item = reinterpret_cast<SPItem*>(items->data);
+ if (SP_IS_SPIRAL(item)) {
n_selected++;
- repr = SP_OBJECT_REPR((SPItem *) items->data);
+ repr = item->getRepr();
}
}
@@ -5395,10 +5403,11 @@ static void sp_arctb_open_state_changed( EgeSelectOneAction *act, GObject *tbl )
items != NULL;
items = items->next)
{
- if (SP_IS_ARC((SPItem *) items->data)) {
- Inkscape::XML::Node *repr = SP_OBJECT_REPR((SPItem *) items->data);
+ SPItem *item = reinterpret_cast<SPItem*>(items->data);
+ if (SP_IS_ARC(item)) {
+ Inkscape::XML::Node *repr = item->getRepr();
repr->setAttribute("sodipodi:open", "true");
- SP_OBJECT((SPItem *) items->data)->updateRepr();
+ item->updateRepr();
modmade = true;
}
}
@@ -5407,10 +5416,11 @@ static void sp_arctb_open_state_changed( EgeSelectOneAction *act, GObject *tbl )
items != NULL;
items = items->next)
{
- if (SP_IS_ARC((SPItem *) items->data)) {
- Inkscape::XML::Node *repr = SP_OBJECT_REPR((SPItem *) items->data);
+ SPItem *item = reinterpret_cast<SPItem *>(items->data);
+ if (SP_IS_ARC(item)) {
+ Inkscape::XML::Node *repr = item->getRepr();
repr->setAttribute("sodipodi:open", NULL);
- SP_OBJECT((SPItem *) items->data)->updateRepr();
+ item->updateRepr();
modmade = true;
}
}
@@ -5496,9 +5506,10 @@ static void sp_arc_toolbox_selection_changed(Inkscape::Selection *selection, GOb
items != NULL;
items = items->next)
{
- if (SP_IS_ARC((SPItem *) items->data)) {
+ SPItem *item = reinterpret_cast<SPItem *>(items->data);
+ if (SP_IS_ARC(item)) {
n_selected++;
- repr = SP_OBJECT_REPR((SPItem *) items->data);
+ repr = item->getRepr();
}
}
@@ -6688,7 +6699,7 @@ static void sp_text_align_mode_changed( EgeSelectOneAction *act, GObject *tbl )
if (SP_IS_TEXT((SPItem *) items->data)) {
SPItem *item = SP_ITEM(items->data);
- unsigned writing_mode = SP_OBJECT_STYLE(item)->writing_mode.value;
+ unsigned writing_mode = item->style->writing_mode.value;
// below, variable names suggest horizontal move, but we check the writing direction
// and move in the corresponding axis
int axis;
@@ -6708,7 +6719,7 @@ static void sp_text_align_mode_changed( EgeSelectOneAction *act, GObject *tbl )
// frame (currently unused)
double left_slack = 0;
double right_slack = 0;
- unsigned old_align = SP_OBJECT_STYLE(item)->text_align.value;
+ unsigned old_align = item->style->text_align.value;
double move = 0;
if (old_align == SP_CSS_TEXT_ALIGN_START || old_align == SP_CSS_TEXT_ALIGN_LEFT) {
switch (mode) {
@@ -6754,8 +6765,8 @@ static void sp_text_align_mode_changed( EgeSelectOneAction *act, GObject *tbl )
XY = XY + Geom::Point (0, move);
}
SP_TEXT(item)->attributes.setFirstXY(XY);
- SP_OBJECT(item)->updateRepr();
- SP_OBJECT(item)->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG);
+ item->updateRepr();
+ item->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG);
}
}
@@ -6843,7 +6854,7 @@ static void sp_text_lineheight_value_changed( GtkAdjustment *adj, GObject *tbl )
bool modmade = false;
for (; items != NULL; items = items->next) {
if (SP_IS_TEXT (items->data)) {
- SP_OBJECT_REPR(items->data)->setAttribute("sodipodi:linespacing", sp_repr_css_property (css, "line-height", NULL));
+ SP_OBJECT(items->data)->getRepr()->setAttribute("sodipodi:linespacing", sp_repr_css_property (css, "line-height", NULL));
modmade = true;
}
}
@@ -8013,7 +8024,7 @@ static void connector_spacing_changed(GtkAdjustment *adj, GObject* tbl)
return;
}
- Inkscape::XML::Node *repr = SP_OBJECT_REPR(desktop->namedview);
+ Inkscape::XML::Node *repr = desktop->namedview->getRepr();
if ( !repr->attribute("inkscape:connector-spacing") &&
( adj->value == defaultConnSpacing )) {
@@ -8032,7 +8043,7 @@ static void connector_spacing_changed(GtkAdjustment *adj, GObject* tbl)
g_object_set_data( tbl, "freeze", GINT_TO_POINTER(TRUE));
sp_repr_set_css_double(repr, "inkscape:connector-spacing", adj->value);
- SP_OBJECT(desktop->namedview)->updateRepr();
+ desktop->namedview->updateRepr();
bool modmade = false;
GSList *items = get_avoided_items(NULL, desktop->currentRoot(), desktop);
@@ -8314,7 +8325,7 @@ static void sp_connector_toolbox_prep( SPDesktop *desktop, GtkActionGroup* mainA
// Code to watch for changes to the connector-spacing attribute in
// the XML.
- Inkscape::XML::Node *repr = SP_OBJECT_REPR(desktop->namedview);
+ Inkscape::XML::Node *repr = desktop->namedview->getRepr();
g_assert(repr != NULL);
purge_repr_listener( holder, holder );