I have successfully implemented the code that enables dragging of the recolor nodes.
Right now, any node you drag shall change the color of the entire selection.
Another development: I successfully can edit the color from the Desktop.
Here it is for future reference if someone needs it.
Inkscape::Selection *selection = sp_desktop_selection(desktop);
GSList const *items = selection->itemList();
g_printf("\n\n\t\t Prinitng the id's of Selected objects ");
for (GSList const *i = items; i != NULL; i = i->next)
{
SPObject *obj=reinterpret_cast<SPObject *>(i->data);
Inkscape::XML::Node* obj_repr = obj->getRepr();
SPCSSAttr* obj_css = sp_repr_css_attr( obj_repr , "style" );
sp_repr_css_set_property ( obj_css , "fill", "#00ff00");
Glib::ustring str;
sp_repr_css_write_string (obj_css, str);
obj_repr->setAttribute ("style", str.c_str(), TRUE);
}
Now only the linking task remains. By linking I mean the link b/w the recolor nodes and the selected objects so that only the respective node is changing the color of the respective object.
I am facing one problem in that respect:
Initializing a string,
gchar* id = g_sprintf( "obj%d", i );
is giving a runtime error. The same goes with g_snprintf( ..)
Any idea whats going wrong ?
--