eraser-toolbar.cpp revision e79732dbc8b87af3a755ab900b76d3696d10f393
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm * Erasor aux toolbar
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm/* Authors:
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm * MenTaLguY <mental@rydia.net>
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm * Lauris Kaplinski <lauris@kaplinski.com>
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm * bulia byak <buliabyak@users.sf.net>
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm * Frank Felfe <innerspace@iname.com>
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm * John Cliff <simarilius@yahoo.com>
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm * David Turner <novalis@gnu.org>
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm * Josh Andler <scislac@scislac.com>
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm * Jon A. Cruz <jon@joncruz.org>
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm * Maximilian Albert <maximilian.albert@gmail.com>
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm * Tavmjong Bah <tavmjong@free.fr>
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm * Abhishek Sharma
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm * Kris De Gussem <Kris.DeGussem@gmail.com>
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm * Copyright (C) 2004 David Turner
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm * Copyright (C) 2003 MenTaLguY
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm * Copyright (C) 1999-2011 authors
0fc5ce7045233dae7e15fdc86774370f1b1d73cbjohanengelen * Copyright (C) 2001-2002 Ximian, Inc.
0fc5ce7045233dae7e15fdc86774370f1b1d73cbjohanengelen * Released under GNU GPL, read the file 'COPYING' for more information
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm#include "calligraphy-toolbar.h" // TODO: needed for update_presets_list
fb5a72174252e0e79107dcad3bf5a2bbd73e349cjohanengelen//########################
a797dcb8e284cab19f60b3eff93a53a62abda263johanengelen//## Eraser ##
fb5a72174252e0e79107dcad3bf5a2bbd73e349cjohanengelen//########################
bdd7add6c064afee52d2eabeaa18f745430e5a4djohanengelenstatic void sp_erc_width_value_changed( GtkAdjustment *adj, GObject *tbl )
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm Inkscape::Preferences *prefs = Inkscape::Preferences::get();
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm prefs->setDouble( "/tools/eraser/width", gtk_adjustment_get_value(adj) );
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrmstatic void sp_erasertb_mode_changed( EgeSelectOneAction *act, GObject *tbl )
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm SPDesktop *desktop = static_cast<SPDesktop *>(g_object_get_data( tbl, "desktop" ));
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm bool eraserMode = ege_select_one_action_get_active( act ) != 0;
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm if (DocumentUndo::getUndoSensitive(desktop->getDocument())) {
0fc5ce7045233dae7e15fdc86774370f1b1d73cbjohanengelen Inkscape::Preferences *prefs = Inkscape::Preferences::get();
0fc5ce7045233dae7e15fdc86774370f1b1d73cbjohanengelen prefs->setBool( "/tools/eraser/mode", eraserMode );
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm // only take action if run by the attr_changed listener
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm // in turn, prevent listener from responding
f07bfd5a05d43a6d11f7cd442f085149092dea88pjrm g_object_set_data( tbl, "freeze", GINT_TO_POINTER(TRUE) );
EgeSelectOneAction* act = ege_select_one_action_new( "EraserModeAction", (""), (""), NULL, GTK_TREE_MODEL(model) );
gchar const* labels[] = {_("(no width)"),_("(hairline)"), 0, 0, 0, _("(default)"), 0, 0, 0, 0, _("(broad stroke)")};