From 6a1663ece896e790ab6de408abdddaca0d2a5e5c Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Date: Fri, 19 Jul 2019 00:02:00 +0200 Subject: Fixes for pressure pencil --- src/live_effects/parameter/togglebutton.cpp | 76 +++++++++++++++-------------- src/live_effects/parameter/togglebutton.h | 58 ++++++++++------------ 2 files changed, 66 insertions(+), 68 deletions(-) (limited to 'src/live_effects/parameter') diff --git a/src/live_effects/parameter/togglebutton.cpp b/src/live_effects/parameter/togglebutton.cpp index 555b1222a..06a67eae6 100644 --- a/src/live_effects/parameter/togglebutton.cpp +++ b/src/live_effects/parameter/togglebutton.cpp @@ -25,13 +25,17 @@ namespace Inkscape { namespace LivePathEffect { -ToggleButtonParam::ToggleButtonParam( const Glib::ustring& label, const Glib::ustring& tip, - const Glib::ustring& key, Inkscape::UI::Widget::Registry* wr, - Effect* effect, bool default_value, Glib::ustring inactive_label, - char const * _icon_active, char const * _icon_inactive, - Gtk::BuiltinIconSize _icon_size) - : Parameter(label, tip, key, wr, effect), value(default_value), defvalue(default_value), - inactive_label(std::move(inactive_label)), _icon_active(_icon_active), _icon_inactive(_icon_inactive), _icon_size(_icon_size) +ToggleButtonParam::ToggleButtonParam(const Glib::ustring &label, const Glib::ustring &tip, const Glib::ustring &key, + Inkscape::UI::Widget::Registry *wr, Effect *effect, bool default_value, + Glib::ustring inactive_label, char const *_icon_active, char const *_icon_inactive, + Gtk::BuiltinIconSize _icon_size) + : Parameter(label, tip, key, wr, effect) + , value(default_value) + , defvalue(default_value) + , inactive_label(std::move(inactive_label)) + , _icon_active(_icon_active) + , _icon_inactive(_icon_inactive) + , _icon_size(_icon_size) { checkwdg = nullptr; } @@ -95,33 +99,33 @@ ToggleButtonParam::param_newWidget() false, param_effect->getRepr(), param_effect->getSPDoc()) ); - auto box_button = new Gtk::Box(Gtk::ORIENTATION_HORIZONTAL); - box_button->set_homogeneous(false); - Gtk::Label * label = new Gtk::Label(""); - if (!param_label.empty()) { - if(value || inactive_label.empty()){ - label->set_text(param_label.c_str()); - }else{ - label->set_text(inactive_label.c_str()); - } - } - label->show(); - if ( _icon_active ) { - if(!_icon_inactive){ - _icon_inactive = _icon_active; - } - box_button->show(); - Gtk::Widget *icon_button = nullptr; - if (!value) { - icon_button = sp_get_icon_image(_icon_inactive, _icon_size); - } else { - icon_button = sp_get_icon_image(_icon_active, _icon_size); - } - icon_button->show(); - box_button->pack_start(*icon_button, false, false, 1); - if (!param_label.empty()) { - box_button->pack_start (*label, false, false, 1); - } + auto box_button = new Gtk::Box(Gtk::ORIENTATION_HORIZONTAL); + box_button->set_homogeneous(false); + Gtk::Label *label = new Gtk::Label(""); + if (!param_label.empty()) { + if (value || inactive_label.empty()) { + label->set_text(param_label.c_str()); + } else { + label->set_text(inactive_label.c_str()); + } + } + label->show(); + if (_icon_active) { + if (!_icon_inactive) { + _icon_inactive = _icon_active; + } + box_button->show(); + Gtk::Widget *icon_button = nullptr; + if (!value) { + icon_button = sp_get_icon_image(_icon_inactive, _icon_size); + } else { + icon_button = sp_get_icon_image(_icon_active, _icon_size); + } + icon_button->show(); + box_button->pack_start(*icon_button, false, false, 1); + if (!param_label.empty()) { + box_button->pack_start(*label, false, false, 1); + } }else{ box_button->pack_start(*label, false, false, 1); } @@ -149,7 +153,7 @@ ToggleButtonParam::refresh_button() if(!box_button){ return; } - std::vector children = box_button->get_children(); + std::vector children = box_button->get_children(); if (!param_label.empty()) { Gtk::Label *lab = dynamic_cast(children[children.size()-1]); if (!lab) return; @@ -160,7 +164,7 @@ ToggleButtonParam::refresh_button() } } if ( _icon_active ) { - Gdk::Pixbuf * icon_pixbuf = nullptr; + Gdk::Pixbuf *icon_pixbuf = nullptr; Gtk::Widget *im = dynamic_cast(children[0]); if (!im) return; if (!value) { diff --git a/src/live_effects/parameter/togglebutton.h b/src/live_effects/parameter/togglebutton.h index d21c9ac37..b76a2d7c8 100644 --- a/src/live_effects/parameter/togglebutton.h +++ b/src/live_effects/parameter/togglebutton.h @@ -25,37 +25,31 @@ namespace LivePathEffect { */ class ToggleButtonParam : public Parameter { public: - ToggleButtonParam( const Glib::ustring& label, - const Glib::ustring& tip, - const Glib::ustring& key, - Inkscape::UI::Widget::Registry* wr, - Effect* effect, - bool default_value = false, - Glib::ustring inactive_label = "", - char const * icon_active = nullptr, - char const * icon_inactive = nullptr, - Gtk::BuiltinIconSize icon_size = Gtk::ICON_SIZE_SMALL_TOOLBAR); - ~ToggleButtonParam() override; - ToggleButtonParam(const ToggleButtonParam&) = delete; - ToggleButtonParam& operator=(const ToggleButtonParam&) = delete; - - Gtk::Widget * param_newWidget() override; - - bool param_readSVGValue(const gchar * strvalue) override; - gchar * param_getSVGValue() const override; - gchar * param_getDefaultSVGValue() const override; - - void param_setValue(bool newvalue); - void param_set_default() override; - - bool get_value() const { return value; }; - - inline operator bool() const { return value; }; - - sigc::signal& signal_toggled() { return _signal_toggled; } - virtual void toggled(); - void param_update_default(bool default_value); - void param_update_default(const gchar * default_value) override; + ToggleButtonParam(const Glib::ustring &label, const Glib::ustring &tip, const Glib::ustring &key, + Inkscape::UI::Widget::Registry *wr, Effect *effect, bool default_value = false, + Glib::ustring inactive_label = "", char const *icon_active = nullptr, + char const *icon_inactive = nullptr, Gtk::BuiltinIconSize icon_size = Gtk::ICON_SIZE_SMALL_TOOLBAR); + ~ToggleButtonParam() override; + ToggleButtonParam(const ToggleButtonParam &) = delete; + ToggleButtonParam &operator=(const ToggleButtonParam &) = delete; + + Gtk::Widget *param_newWidget() override; + + bool param_readSVGValue(const gchar *strvalue) override; + gchar *param_getSVGValue() const override; + gchar *param_getDefaultSVGValue() const override; + + void param_setValue(bool newvalue); + void param_set_default() override; + + bool get_value() const { return value; }; + + inline operator bool() const { return value; }; + + sigc::signal &signal_toggled() { return _signal_toggled; } + virtual void toggled(); + void param_update_default(bool default_value); + void param_update_default(const gchar *default_value) override; private: void refresh_button(); @@ -64,7 +58,7 @@ private: const Glib::ustring inactive_label; const char * _icon_active; const char * _icon_inactive; - Gtk::BuiltinIconSize _icon_size; + Gtk::BuiltinIconSize _icon_size; Inkscape::UI::Widget::RegisteredToggleButton * checkwdg; sigc::signal _signal_toggled; -- cgit v1.2.3