Hello all, 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 ?