From 1d8f1753cd8cab38d19fcc26a4ad70ba2e794ac8 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Tue, 9 Apr 2013 22:12:07 +0200 Subject: Added constructors to EventContext tree / some missing virtual pads. (bzr r11608.1.90) --- src/tweak-context.cpp | 66 +++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 54 insertions(+), 12 deletions(-) (limited to 'src/tweak-context.cpp') diff --git a/src/tweak-context.cpp b/src/tweak-context.cpp index 28e4c1629..d41eebec8 100644 --- a/src/tweak-context.cpp +++ b/src/tweak-context.cpp @@ -97,14 +97,30 @@ sp_tweak_context_class_init(SPTweakContextClass *klass) object_class->dispose = sp_tweak_context_dispose; - event_context_class->setup = sp_tweak_context_setup; - event_context_class->set = sp_tweak_context_set; - event_context_class->root_handler = sp_tweak_context_root_handler; +// event_context_class->setup = sp_tweak_context_setup; +// event_context_class->set = sp_tweak_context_set; +// event_context_class->root_handler = sp_tweak_context_root_handler; } -static void -sp_tweak_context_init(SPTweakContext *tc) -{ +CTweakContext::CTweakContext(SPTweakContext* tweakcontext) : CEventContext(tweakcontext) { + this->sptweakcontext = tweakcontext; +} + +SPTweakContext::SPTweakContext() : SPEventContext() { + SPTweakContext* tc = this; + + tc->ctweakcontext = new CTweakContext(tc); + delete tc->ceventcontext; + tc->ceventcontext = tc->ctweakcontext; + + tc->_message_context = 0; + tc->mode = 0; + tc->dilate_area = 0; + tc->usetilt = 0; + tc->usepressure = 0; + tc->is_drawing = false; + tc->fidelity = 0; + SPEventContext *event_context = SP_EVENT_CONTEXT(tc); event_context->cursor_shape = cursor_push_xpm; @@ -129,6 +145,12 @@ sp_tweak_context_init(SPTweakContext *tc) new (&tc->style_set_connection) sigc::connection(); } +static void +sp_tweak_context_init(SPTweakContext *tc) +{ + new (tc) SPTweakContext(); +} + static void sp_tweak_context_dispose(GObject *object) { @@ -264,11 +286,18 @@ sp_tweak_context_style_set(SPCSSAttr const *css, SPTweakContext *tc) static void sp_tweak_context_setup(SPEventContext *ec) { + ec->ceventcontext->setup(); +} + +void CTweakContext::setup() { + SPEventContext* ec = this->speventcontext; + SPTweakContext *tc = SP_TWEAK_CONTEXT(ec); - if ((SP_EVENT_CONTEXT_CLASS(sp_tweak_context_parent_class))->setup) { - (SP_EVENT_CONTEXT_CLASS(sp_tweak_context_parent_class))->setup(ec); - } +// if ((SP_EVENT_CONTEXT_CLASS(sp_tweak_context_parent_class))->setup) { +// (SP_EVENT_CONTEXT_CLASS(sp_tweak_context_parent_class))->setup(ec); +// } + CEventContext::setup(); { /* TODO: have a look at sp_dyna_draw_context_setup where the same is done.. generalize? at least make it an arcto! */ @@ -317,6 +346,12 @@ sp_tweak_context_setup(SPEventContext *ec) static void sp_tweak_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val) { + ec->ceventcontext->set(val); +} + +void CTweakContext::set(Inkscape::Preferences::Entry* val) { + SPEventContext* ec = this->speventcontext; + SPTweakContext *tc = SP_TWEAK_CONTEXT(ec); Glib::ustring path = val->getEntryName(); @@ -1153,6 +1188,12 @@ gint sp_tweak_context_root_handler(SPEventContext *event_context, GdkEvent *event) { + return event_context->ceventcontext->root_handler(event); +} + +gint CTweakContext::root_handler(GdkEvent* event) { + SPEventContext* event_context = this->speventcontext; + SPTweakContext *tc = SP_TWEAK_CONTEXT(event_context); SPDesktop *desktop = event_context->desktop; @@ -1511,9 +1552,10 @@ sp_tweak_context_root_handler(SPEventContext *event_context, } if (!ret) { - if ((SP_EVENT_CONTEXT_CLASS(sp_tweak_context_parent_class))->root_handler) { - ret = (SP_EVENT_CONTEXT_CLASS(sp_tweak_context_parent_class))->root_handler(event_context, event); - } +// if ((SP_EVENT_CONTEXT_CLASS(sp_tweak_context_parent_class))->root_handler) { +// ret = (SP_EVENT_CONTEXT_CLASS(sp_tweak_context_parent_class))->root_handler(event_context, event); +// } + ret = CEventContext::root_handler(event); } return ret; -- cgit v1.2.3 From fbb85064cfaaf03cc09bacedb16a8561f61f2b3d Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sat, 13 Apr 2013 00:37:18 +0200 Subject: Added prefPaths to contexts; modified SPFactory (bzr r11608.1.94) --- src/tweak-context.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/tweak-context.cpp') diff --git a/src/tweak-context.cpp b/src/tweak-context.cpp index d41eebec8..9fca2183b 100644 --- a/src/tweak-context.cpp +++ b/src/tweak-context.cpp @@ -87,6 +87,8 @@ static void sp_tweak_context_setup(SPEventContext *ec); static void sp_tweak_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val); static gint sp_tweak_context_root_handler(SPEventContext *ec, GdkEvent *event); +const std::string SPTweakContext::prefsPath = "/tools/tweak"; + G_DEFINE_TYPE(SPTweakContext, sp_tweak_context, SP_TYPE_EVENT_CONTEXT); static void -- cgit v1.2.3 From fbdc8b84ff670c684dafc7d7d403ed01e7077e70 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sat, 13 Apr 2013 18:13:17 +0200 Subject: Replaced casting macros for EventContext tree; added contructors. (bzr r11608.1.96) --- src/tweak-context.cpp | 37 +++++++++++++++---------------------- 1 file changed, 15 insertions(+), 22 deletions(-) (limited to 'src/tweak-context.cpp') diff --git a/src/tweak-context.cpp b/src/tweak-context.cpp index 9fca2183b..a287a0831 100644 --- a/src/tweak-context.cpp +++ b/src/tweak-context.cpp @@ -83,9 +83,20 @@ using Inkscape::DocumentUndo; static void sp_tweak_context_dispose(GObject *object); -static void sp_tweak_context_setup(SPEventContext *ec); -static void sp_tweak_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val); -static gint sp_tweak_context_root_handler(SPEventContext *ec, GdkEvent *event); + +#include "sp-factory.h" + +namespace { + SPEventContext* createTweakContext() { + return new SPTweakContext(); + } + + bool tweakContextRegistered = ToolFactory::instance().registerObject("/tools/tweak", createTweakContext); +} + +const std::string& CTweakContext::getPrefsPath() { + return SPTweakContext::prefsPath; +} const std::string SPTweakContext::prefsPath = "/tools/tweak"; @@ -114,6 +125,7 @@ SPTweakContext::SPTweakContext() : SPEventContext() { tc->ctweakcontext = new CTweakContext(tc); delete tc->ceventcontext; tc->ceventcontext = tc->ctweakcontext; + types.insert(typeid(SPTweakContext)); tc->_message_context = 0; tc->mode = 0; @@ -285,12 +297,6 @@ sp_tweak_context_style_set(SPCSSAttr const *css, SPTweakContext *tc) return false; } -static void -sp_tweak_context_setup(SPEventContext *ec) -{ - ec->ceventcontext->setup(); -} - void CTweakContext::setup() { SPEventContext* ec = this->speventcontext; @@ -345,12 +351,6 @@ void CTweakContext::setup() { } } -static void -sp_tweak_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val) -{ - ec->ceventcontext->set(val); -} - void CTweakContext::set(Inkscape::Preferences::Entry* val) { SPEventContext* ec = this->speventcontext; @@ -1186,13 +1186,6 @@ sp_tweak_switch_mode_temporarily (SPTweakContext *tc, gint mode, bool with_shift sp_tweak_update_cursor (tc, with_shift); } -gint -sp_tweak_context_root_handler(SPEventContext *event_context, - GdkEvent *event) -{ - return event_context->ceventcontext->root_handler(event); -} - gint CTweakContext::root_handler(GdkEvent* event) { SPEventContext* event_context = this->speventcontext; -- cgit v1.2.3 From 65ba6ad9a82f8f47974eb10665478fd783692bb5 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sat, 20 Apr 2013 23:19:46 +0200 Subject: Merging of EventContext classes complete. (bzr r11608.1.98) --- src/tweak-context.cpp | 65 ++++++++++++--------------------------------------- 1 file changed, 15 insertions(+), 50 deletions(-) (limited to 'src/tweak-context.cpp') diff --git a/src/tweak-context.cpp b/src/tweak-context.cpp index a287a0831..5790c79b9 100644 --- a/src/tweak-context.cpp +++ b/src/tweak-context.cpp @@ -81,9 +81,6 @@ using Inkscape::DocumentUndo; #define DYNA_MIN_WIDTH 1.0e-6 -static void sp_tweak_context_dispose(GObject *object); - - #include "sp-factory.h" namespace { @@ -94,39 +91,15 @@ namespace { bool tweakContextRegistered = ToolFactory::instance().registerObject("/tools/tweak", createTweakContext); } -const std::string& CTweakContext::getPrefsPath() { +const std::string& SPTweakContext::getPrefsPath() { return SPTweakContext::prefsPath; } const std::string SPTweakContext::prefsPath = "/tools/tweak"; -G_DEFINE_TYPE(SPTweakContext, sp_tweak_context, SP_TYPE_EVENT_CONTEXT); - -static void -sp_tweak_context_class_init(SPTweakContextClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS(klass); - SPEventContextClass *event_context_class = SP_EVENT_CONTEXT_CLASS(klass); - - object_class->dispose = sp_tweak_context_dispose; - -// event_context_class->setup = sp_tweak_context_setup; -// event_context_class->set = sp_tweak_context_set; -// event_context_class->root_handler = sp_tweak_context_root_handler; -} - -CTweakContext::CTweakContext(SPTweakContext* tweakcontext) : CEventContext(tweakcontext) { - this->sptweakcontext = tweakcontext; -} - SPTweakContext::SPTweakContext() : SPEventContext() { SPTweakContext* tc = this; - tc->ctweakcontext = new CTweakContext(tc); - delete tc->ceventcontext; - tc->ceventcontext = tc->ctweakcontext; - types.insert(typeid(SPTweakContext)); - tc->_message_context = 0; tc->mode = 0; tc->dilate_area = 0; @@ -156,25 +129,17 @@ SPTweakContext::SPTweakContext() : SPEventContext() { tc->do_l = true; tc->do_o = false; - new (&tc->style_set_connection) sigc::connection(); + //new (&tc->style_set_connection) sigc::connection(); } -static void -sp_tweak_context_init(SPTweakContext *tc) -{ - new (tc) SPTweakContext(); -} - -static void -sp_tweak_context_dispose(GObject *object) -{ - SPTweakContext *tc = SP_TWEAK_CONTEXT(object); - SPEventContext *ec = SP_EVENT_CONTEXT(object); +SPTweakContext::~SPTweakContext() { + SPTweakContext *tc = SP_TWEAK_CONTEXT(this); + SPEventContext *ec = SP_EVENT_CONTEXT(this); ec->enableGrDrag(false); tc->style_set_connection.disconnect(); - tc->style_set_connection.~connection(); + //tc->style_set_connection.~connection(); if (tc->dilate_area) { sp_canvas_item_destroy(tc->dilate_area); @@ -185,7 +150,7 @@ sp_tweak_context_dispose(GObject *object) delete tc->_message_context; } - G_OBJECT_CLASS(sp_tweak_context_parent_class)->dispose(object); + //G_OBJECT_CLASS(sp_tweak_context_parent_class)->dispose(object); } static bool is_transform_mode (gint mode) @@ -297,15 +262,15 @@ sp_tweak_context_style_set(SPCSSAttr const *css, SPTweakContext *tc) return false; } -void CTweakContext::setup() { - SPEventContext* ec = this->speventcontext; +void SPTweakContext::setup() { + SPEventContext* ec = this; SPTweakContext *tc = SP_TWEAK_CONTEXT(ec); // if ((SP_EVENT_CONTEXT_CLASS(sp_tweak_context_parent_class))->setup) { // (SP_EVENT_CONTEXT_CLASS(sp_tweak_context_parent_class))->setup(ec); // } - CEventContext::setup(); + SPEventContext::setup(); { /* TODO: have a look at sp_dyna_draw_context_setup where the same is done.. generalize? at least make it an arcto! */ @@ -351,8 +316,8 @@ void CTweakContext::setup() { } } -void CTweakContext::set(Inkscape::Preferences::Entry* val) { - SPEventContext* ec = this->speventcontext; +void SPTweakContext::set(Inkscape::Preferences::Entry* val) { + SPEventContext* ec = this; SPTweakContext *tc = SP_TWEAK_CONTEXT(ec); Glib::ustring path = val->getEntryName(); @@ -1186,8 +1151,8 @@ sp_tweak_switch_mode_temporarily (SPTweakContext *tc, gint mode, bool with_shift sp_tweak_update_cursor (tc, with_shift); } -gint CTweakContext::root_handler(GdkEvent* event) { - SPEventContext* event_context = this->speventcontext; +gint SPTweakContext::root_handler(GdkEvent* event) { + SPEventContext* event_context = this; SPTweakContext *tc = SP_TWEAK_CONTEXT(event_context); SPDesktop *desktop = event_context->desktop; @@ -1550,7 +1515,7 @@ gint CTweakContext::root_handler(GdkEvent* event) { // if ((SP_EVENT_CONTEXT_CLASS(sp_tweak_context_parent_class))->root_handler) { // ret = (SP_EVENT_CONTEXT_CLASS(sp_tweak_context_parent_class))->root_handler(event_context, event); // } - ret = CEventContext::root_handler(event); + ret = SPEventContext::root_handler(event); } return ret; -- cgit v1.2.3 From 5512f857e2f33f1aa40124dc82b353e5f2e5a0b0 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sat, 20 Apr 2013 23:58:53 +0200 Subject: Moved factories to different files. (bzr r11608.1.100) --- src/tweak-context.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/tweak-context.cpp') diff --git a/src/tweak-context.cpp b/src/tweak-context.cpp index 5790c79b9..d6d5ccd47 100644 --- a/src/tweak-context.cpp +++ b/src/tweak-context.cpp @@ -81,7 +81,7 @@ using Inkscape::DocumentUndo; #define DYNA_MIN_WIDTH 1.0e-6 -#include "sp-factory.h" +#include "tool-factory.h" namespace { SPEventContext* createTweakContext() { -- cgit v1.2.3 From 389b871cdea29ace85567863c439eb0537a36f54 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sun, 21 Apr 2013 20:45:27 +0200 Subject: Cleaned up a bit. (bzr r11608.1.102) --- src/tweak-context.cpp | 322 +++++++++++++++++++++++--------------------------- 1 file changed, 146 insertions(+), 176 deletions(-) (limited to 'src/tweak-context.cpp') diff --git a/src/tweak-context.cpp b/src/tweak-context.cpp index d6d5ccd47..990a62000 100644 --- a/src/tweak-context.cpp +++ b/src/tweak-context.cpp @@ -98,59 +98,47 @@ const std::string& SPTweakContext::getPrefsPath() { const std::string SPTweakContext::prefsPath = "/tools/tweak"; SPTweakContext::SPTweakContext() : SPEventContext() { - SPTweakContext* tc = this; - - tc->_message_context = 0; - tc->mode = 0; - tc->dilate_area = 0; - tc->usetilt = 0; - tc->usepressure = 0; - tc->is_drawing = false; - tc->fidelity = 0; - - SPEventContext *event_context = SP_EVENT_CONTEXT(tc); - - event_context->cursor_shape = cursor_push_xpm; - event_context->hot_x = 4; - event_context->hot_y = 4; + this->_message_context = 0; + this->mode = 0; + this->dilate_area = 0; + this->usetilt = 0; + this->usepressure = 0; + this->is_drawing = false; + this->fidelity = 0; + + this->cursor_shape = cursor_push_xpm; + this->hot_x = 4; + this->hot_y = 4; /* attributes */ - tc->dragging = FALSE; + this->dragging = FALSE; - tc->width = 0.2; - tc->force = 0.2; - tc->pressure = TC_DEFAULT_PRESSURE; + this->width = 0.2; + this->force = 0.2; + this->pressure = TC_DEFAULT_PRESSURE; - tc->is_dilating = false; - tc->has_dilated = false; + this->is_dilating = false; + this->has_dilated = false; - tc->do_h = true; - tc->do_s = true; - tc->do_l = true; - tc->do_o = false; - - //new (&tc->style_set_connection) sigc::connection(); + this->do_h = true; + this->do_s = true; + this->do_l = true; + this->do_o = false; } SPTweakContext::~SPTweakContext() { - SPTweakContext *tc = SP_TWEAK_CONTEXT(this); - SPEventContext *ec = SP_EVENT_CONTEXT(this); - - ec->enableGrDrag(false); + this->enableGrDrag(false); - tc->style_set_connection.disconnect(); - //tc->style_set_connection.~connection(); + this->style_set_connection.disconnect(); - if (tc->dilate_area) { - sp_canvas_item_destroy(tc->dilate_area); - tc->dilate_area = NULL; + if (this->dilate_area) { + sp_canvas_item_destroy(this->dilate_area); + this->dilate_area = NULL; } - if (tc->_message_context) { - delete tc->_message_context; + if (this->_message_context) { + delete this->_message_context; } - - //G_OBJECT_CLASS(sp_tweak_context_parent_class)->dispose(object); } static bool is_transform_mode (gint mode) @@ -249,27 +237,19 @@ sp_tweak_update_cursor (SPTweakContext *tc, bool with_shift) g_free(sel_message); } -static bool -sp_tweak_context_style_set(SPCSSAttr const *css, SPTweakContext *tc) -{ - if (tc->mode == TWEAK_MODE_COLORPAINT) { // intercept color setting only in this mode +bool SPTweakContext::set_style(const SPCSSAttr* css) { + if (this->mode == TWEAK_MODE_COLORPAINT) { // intercept color setting only in this mode // we cannot store properties with uris - css = sp_css_attr_unset_uris (const_cast(css)); + css = sp_css_attr_unset_uris(const_cast(css)); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setStyle("/tools/tweak/style", const_cast(css)); + prefs->setStyle("/tools/tweak/style", const_cast(css)); return true; } + return false; } void SPTweakContext::setup() { - SPEventContext* ec = this; - - SPTweakContext *tc = SP_TWEAK_CONTEXT(ec); - -// if ((SP_EVENT_CONTEXT_CLASS(sp_tweak_context_parent_class))->setup) { -// (SP_EVENT_CONTEXT_CLASS(sp_tweak_context_parent_class))->setup(ec); -// } SPEventContext::setup(); { @@ -282,65 +262,63 @@ void SPTweakContext::setup() { c->curveto(1, -C1, C1, -1, 0, -1 ); c->curveto(-C1, -1, -1, -C1, -1, 0 ); c->closepath(); - tc->dilate_area = sp_canvas_bpath_new(sp_desktop_controls(ec->desktop), c); + this->dilate_area = sp_canvas_bpath_new(sp_desktop_controls(this->desktop), c); c->unref(); - sp_canvas_bpath_set_fill(SP_CANVAS_BPATH(tc->dilate_area), 0x00000000,(SPWindRule)0); - sp_canvas_bpath_set_stroke(SP_CANVAS_BPATH(tc->dilate_area), 0xff9900ff, 1.0, SP_STROKE_LINEJOIN_MITER, SP_STROKE_LINECAP_BUTT); - sp_canvas_item_hide(tc->dilate_area); + sp_canvas_bpath_set_fill(SP_CANVAS_BPATH(this->dilate_area), 0x00000000,(SPWindRule)0); + sp_canvas_bpath_set_stroke(SP_CANVAS_BPATH(this->dilate_area), 0xff9900ff, 1.0, SP_STROKE_LINEJOIN_MITER, SP_STROKE_LINECAP_BUTT); + sp_canvas_item_hide(this->dilate_area); } - tc->is_drawing = false; + this->is_drawing = false; - tc->_message_context = new Inkscape::MessageContext((ec->desktop)->messageStack()); + this->_message_context = new Inkscape::MessageContext(this->desktop->messageStack()); - sp_event_context_read(ec, "width"); - sp_event_context_read(ec, "mode"); - sp_event_context_read(ec, "fidelity"); - sp_event_context_read(ec, "force"); - sp_event_context_read(ec, "usepressure"); - sp_event_context_read(ec, "doh"); - sp_event_context_read(ec, "dol"); - sp_event_context_read(ec, "dos"); - sp_event_context_read(ec, "doo"); + sp_event_context_read(this, "width"); + sp_event_context_read(this, "mode"); + sp_event_context_read(this, "fidelity"); + sp_event_context_read(this, "force"); + sp_event_context_read(this, "usepressure"); + sp_event_context_read(this, "doh"); + sp_event_context_read(this, "dol"); + sp_event_context_read(this, "dos"); + sp_event_context_read(this, "doo"); - tc->style_set_connection = ec->desktop->connectSetStyle( // catch style-setting signal in this tool - sigc::bind(sigc::ptr_fun(&sp_tweak_context_style_set), tc) + this->style_set_connection = this->desktop->connectSetStyle( // catch style-setting signal in this tool + //sigc::bind(sigc::ptr_fun(&sp_tweak_context_style_set), this) + sigc::mem_fun(this, &SPTweakContext::set_style) ); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); if (prefs->getBool("/tools/tweak/selcue")) { - ec->enableSelectionCue(); + this->enableSelectionCue(); } if (prefs->getBool("/tools/tweak/gradientdrag")) { - ec->enableGrDrag(); + this->enableGrDrag(); } } void SPTweakContext::set(Inkscape::Preferences::Entry* val) { - SPEventContext* ec = this; - - SPTweakContext *tc = SP_TWEAK_CONTEXT(ec); Glib::ustring path = val->getEntryName(); if (path == "width") { - tc->width = CLAMP(val->getDouble(0.1), -1000.0, 1000.0); + this->width = CLAMP(val->getDouble(0.1), -1000.0, 1000.0); } else if (path == "mode") { - tc->mode = val->getInt(); - sp_tweak_update_cursor(tc, false); + this->mode = val->getInt(); + sp_tweak_update_cursor(this, false); } else if (path == "fidelity") { - tc->fidelity = CLAMP(val->getDouble(), 0.0, 1.0); + this->fidelity = CLAMP(val->getDouble(), 0.0, 1.0); } else if (path == "force") { - tc->force = CLAMP(val->getDouble(1.0), 0, 1.0); + this->force = CLAMP(val->getDouble(1.0), 0, 1.0); } else if (path == "usepressure") { - tc->usepressure = val->getBool(); + this->usepressure = val->getBool(); } else if (path == "doh") { - tc->do_h = val->getBool(); + this->do_h = val->getBool(); } else if (path == "dos") { - tc->do_s = val->getBool(); + this->do_s = val->getBool(); } else if (path == "dol") { - tc->do_l = val->getBool(); + this->do_l = val->getBool(); } else if (path == "doo") { - tc->do_o = val->getBool(); + this->do_o = val->getBool(); } } @@ -1152,38 +1130,33 @@ sp_tweak_switch_mode_temporarily (SPTweakContext *tc, gint mode, bool with_shift } gint SPTweakContext::root_handler(GdkEvent* event) { - SPEventContext* event_context = this; - - SPTweakContext *tc = SP_TWEAK_CONTEXT(event_context); - SPDesktop *desktop = event_context->desktop; - gint ret = FALSE; switch (event->type) { case GDK_ENTER_NOTIFY: - sp_canvas_item_show(tc->dilate_area); + sp_canvas_item_show(this->dilate_area); break; case GDK_LEAVE_NOTIFY: - sp_canvas_item_hide(tc->dilate_area); + sp_canvas_item_hide(this->dilate_area); break; case GDK_BUTTON_PRESS: - if (event->button.button == 1 && !event_context->space_panning) { + if (event->button.button == 1 && !this->space_panning) { - if (Inkscape::have_viable_layer(desktop, tc->_message_context) == false) { + if (Inkscape::have_viable_layer(desktop, this->_message_context) == false) { return TRUE; } Geom::Point const button_w(event->button.x, event->button.y); Geom::Point const button_dt(desktop->w2d(button_w)); - tc->last_push = desktop->dt2doc(button_dt); + this->last_push = desktop->dt2doc(button_dt); - sp_tweak_extinput(tc, event); + sp_tweak_extinput(this, event); desktop->canvas->forceFullRedrawAfterInterruptions(3); - tc->is_drawing = true; - tc->is_dilating = true; - tc->has_dilated = false; + this->is_drawing = true; + this->is_dilating = true; + this->has_dilated = false; ret = TRUE; } @@ -1194,27 +1167,27 @@ gint SPTweakContext::root_handler(GdkEvent* event) { event->motion.y); Geom::Point motion_dt(desktop->w2d(motion_w)); Geom::Point motion_doc(desktop->dt2doc(motion_dt)); - sp_tweak_extinput(tc, event); + sp_tweak_extinput(this, event); // draw the dilating cursor - double radius = get_dilate_radius(tc); + double radius = get_dilate_radius(this); Geom::Affine const sm (Geom::Scale(radius, radius) * Geom::Translate(desktop->w2d(motion_w))); - sp_canvas_item_affine_absolute(tc->dilate_area, sm); - sp_canvas_item_show(tc->dilate_area); + sp_canvas_item_affine_absolute(this->dilate_area, sm); + sp_canvas_item_show(this->dilate_area); guint num = 0; if (!desktop->selection->isEmpty()) { num = g_slist_length(const_cast(desktop->selection->itemList())); } if (num == 0) { - tc->_message_context->flash(Inkscape::ERROR_MESSAGE, _("Nothing selected! Select objects to tweak.")); + this->_message_context->flash(Inkscape::ERROR_MESSAGE, _("Nothing selected! Select objects to tweak.")); } // dilating: - if (tc->is_drawing && ( event->motion.state & GDK_BUTTON1_MASK )) { - sp_tweak_dilate (tc, motion_w, motion_doc, motion_doc - tc->last_push, event->button.state & GDK_SHIFT_MASK? true : false); - //tc->last_push = motion_doc; - tc->has_dilated = true; + if (this->is_drawing && ( event->motion.state & GDK_BUTTON1_MASK )) { + sp_tweak_dilate (this, motion_w, motion_doc, motion_doc - this->last_push, event->button.state & GDK_SHIFT_MASK? true : false); + //this->last_push = motion_doc; + this->has_dilated = true; // it's slow, so prevent clogging up with events gobble_motion_events(GDK_BUTTON1_MASK); return TRUE; @@ -1228,67 +1201,67 @@ gint SPTweakContext::root_handler(GdkEvent* event) { Geom::Point const motion_dt(desktop->w2d(motion_w)); desktop->canvas->endForcedFullRedraws(); - tc->is_drawing = false; + this->is_drawing = false; - if (tc->is_dilating && event->button.button == 1 && !event_context->space_panning) { - if (!tc->has_dilated) { + if (this->is_dilating && event->button.button == 1 && !this->space_panning) { + if (!this->has_dilated) { // if we did not rub, do a light tap - tc->pressure = 0.03; - sp_tweak_dilate (tc, motion_w, desktop->dt2doc(motion_dt), Geom::Point(0,0), MOD__SHIFT); + this->pressure = 0.03; + sp_tweak_dilate (this, motion_w, desktop->dt2doc(motion_dt), Geom::Point(0,0), MOD__SHIFT); } - tc->is_dilating = false; - tc->has_dilated = false; - switch (tc->mode) { + this->is_dilating = false; + this->has_dilated = false; + switch (this->mode) { case TWEAK_MODE_MOVE: - DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(tc)->desktop), + DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(this)->desktop), SP_VERB_CONTEXT_TWEAK, _("Move tweak")); break; case TWEAK_MODE_MOVE_IN_OUT: - DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(tc)->desktop), + DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(this)->desktop), SP_VERB_CONTEXT_TWEAK, _("Move in/out tweak")); break; case TWEAK_MODE_MOVE_JITTER: - DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(tc)->desktop), + DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(this)->desktop), SP_VERB_CONTEXT_TWEAK, _("Move jitter tweak")); break; case TWEAK_MODE_SCALE: - DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(tc)->desktop), + DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(this)->desktop), SP_VERB_CONTEXT_TWEAK, _("Scale tweak")); break; case TWEAK_MODE_ROTATE: - DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(tc)->desktop), + DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(this)->desktop), SP_VERB_CONTEXT_TWEAK, _("Rotate tweak")); break; case TWEAK_MODE_MORELESS: - DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(tc)->desktop), + DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(this)->desktop), SP_VERB_CONTEXT_TWEAK, _("Duplicate/delete tweak")); break; case TWEAK_MODE_PUSH: - DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(tc)->desktop), + DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(this)->desktop), SP_VERB_CONTEXT_TWEAK, _("Push path tweak")); break; case TWEAK_MODE_SHRINK_GROW: - DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(tc)->desktop), + DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(this)->desktop), SP_VERB_CONTEXT_TWEAK, _("Shrink/grow path tweak")); break; case TWEAK_MODE_ATTRACT_REPEL: - DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(tc)->desktop), + DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(this)->desktop), SP_VERB_CONTEXT_TWEAK, _("Attract/repel path tweak")); break; case TWEAK_MODE_ROUGHEN: - DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(tc)->desktop), + DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(this)->desktop), SP_VERB_CONTEXT_TWEAK, _("Roughen path tweak")); break; case TWEAK_MODE_COLORPAINT: - DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(tc)->desktop), + DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(this)->desktop), SP_VERB_CONTEXT_TWEAK, _("Color paint tweak")); break; case TWEAK_MODE_COLORJITTER: - DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(tc)->desktop), + DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(this)->desktop), SP_VERB_CONTEXT_TWEAK, _("Color jitter tweak")); break; case TWEAK_MODE_BLUR: - DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(tc)->desktop), + DocumentUndo::done(sp_desktop_document(SP_EVENT_CONTEXT(this)->desktop), SP_VERB_CONTEXT_TWEAK, _("Blur tweak")); break; } @@ -1302,7 +1275,7 @@ gint SPTweakContext::root_handler(GdkEvent* event) { case GDK_KEY_M: case GDK_KEY_0: if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_MOVE, MOD__SHIFT); + sp_tweak_switch_mode(this, TWEAK_MODE_MOVE, MOD__SHIFT); ret = TRUE; } break; @@ -1310,7 +1283,7 @@ gint SPTweakContext::root_handler(GdkEvent* event) { case GDK_KEY_I: case GDK_KEY_1: if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_MOVE_IN_OUT, MOD__SHIFT); + sp_tweak_switch_mode(this, TWEAK_MODE_MOVE_IN_OUT, MOD__SHIFT); ret = TRUE; } break; @@ -1318,7 +1291,7 @@ gint SPTweakContext::root_handler(GdkEvent* event) { case GDK_KEY_Z: case GDK_KEY_2: if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_MOVE_JITTER, MOD__SHIFT); + sp_tweak_switch_mode(this, TWEAK_MODE_MOVE_JITTER, MOD__SHIFT); ret = TRUE; } break; @@ -1328,7 +1301,7 @@ gint SPTweakContext::root_handler(GdkEvent* event) { case GDK_KEY_period: case GDK_KEY_3: if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_SCALE, MOD__SHIFT); + sp_tweak_switch_mode(this, TWEAK_MODE_SCALE, MOD__SHIFT); ret = TRUE; } break; @@ -1336,7 +1309,7 @@ gint SPTweakContext::root_handler(GdkEvent* event) { case GDK_KEY_bracketleft: case GDK_KEY_4: if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_ROTATE, MOD__SHIFT); + sp_tweak_switch_mode(this, TWEAK_MODE_ROTATE, MOD__SHIFT); ret = TRUE; } break; @@ -1344,7 +1317,7 @@ gint SPTweakContext::root_handler(GdkEvent* event) { case GDK_KEY_D: case GDK_KEY_5: if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_MORELESS, MOD__SHIFT); + sp_tweak_switch_mode(this, TWEAK_MODE_MORELESS, MOD__SHIFT); ret = TRUE; } break; @@ -1352,7 +1325,7 @@ gint SPTweakContext::root_handler(GdkEvent* event) { case GDK_KEY_P: case GDK_KEY_6: if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_PUSH, MOD__SHIFT); + sp_tweak_switch_mode(this, TWEAK_MODE_PUSH, MOD__SHIFT); ret = TRUE; } break; @@ -1360,7 +1333,7 @@ gint SPTweakContext::root_handler(GdkEvent* event) { case GDK_KEY_S: case GDK_KEY_7: if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_SHRINK_GROW, MOD__SHIFT); + sp_tweak_switch_mode(this, TWEAK_MODE_SHRINK_GROW, MOD__SHIFT); ret = TRUE; } break; @@ -1368,7 +1341,7 @@ gint SPTweakContext::root_handler(GdkEvent* event) { case GDK_KEY_A: case GDK_KEY_8: if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_ATTRACT_REPEL, MOD__SHIFT); + sp_tweak_switch_mode(this, TWEAK_MODE_ATTRACT_REPEL, MOD__SHIFT); ret = TRUE; } break; @@ -1376,28 +1349,28 @@ gint SPTweakContext::root_handler(GdkEvent* event) { case GDK_KEY_R: case GDK_KEY_9: if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_ROUGHEN, MOD__SHIFT); + sp_tweak_switch_mode(this, TWEAK_MODE_ROUGHEN, MOD__SHIFT); ret = TRUE; } break; case GDK_KEY_c: case GDK_KEY_C: if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_COLORPAINT, MOD__SHIFT); + sp_tweak_switch_mode(this, TWEAK_MODE_COLORPAINT, MOD__SHIFT); ret = TRUE; } break; case GDK_KEY_j: case GDK_KEY_J: if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_COLORJITTER, MOD__SHIFT); + sp_tweak_switch_mode(this, TWEAK_MODE_COLORJITTER, MOD__SHIFT); ret = TRUE; } break; case GDK_KEY_b: case GDK_KEY_B: if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_BLUR, MOD__SHIFT); + sp_tweak_switch_mode(this, TWEAK_MODE_BLUR, MOD__SHIFT); ret = TRUE; } break; @@ -1405,61 +1378,61 @@ gint SPTweakContext::root_handler(GdkEvent* event) { case GDK_KEY_Up: case GDK_KEY_KP_Up: if (!MOD__CTRL_ONLY) { - tc->force += 0.05; - if (tc->force > 1.0) { - tc->force = 1.0; + this->force += 0.05; + if (this->force > 1.0) { + this->force = 1.0; } - desktop->setToolboxAdjustmentValue ("tweak-force", tc->force * 100); + desktop->setToolboxAdjustmentValue ("tweak-force", this->force * 100); ret = TRUE; } break; case GDK_KEY_Down: case GDK_KEY_KP_Down: if (!MOD__CTRL_ONLY) { - tc->force -= 0.05; - if (tc->force < 0.0) { - tc->force = 0.0; + this->force -= 0.05; + if (this->force < 0.0) { + this->force = 0.0; } - desktop->setToolboxAdjustmentValue ("tweak-force", tc->force * 100); + desktop->setToolboxAdjustmentValue ("tweak-force", this->force * 100); ret = TRUE; } break; case GDK_KEY_Right: case GDK_KEY_KP_Right: if (!MOD__CTRL_ONLY) { - tc->width += 0.01; - if (tc->width > 1.0) { - tc->width = 1.0; + this->width += 0.01; + if (this->width > 1.0) { + this->width = 1.0; } - desktop->setToolboxAdjustmentValue ("altx-tweak", tc->width * 100); // the same spinbutton is for alt+x - sp_tweak_update_area(tc); + desktop->setToolboxAdjustmentValue ("altx-tweak", this->width * 100); // the same spinbutton is for alt+x + sp_tweak_update_area(this); ret = TRUE; } break; case GDK_KEY_Left: case GDK_KEY_KP_Left: if (!MOD__CTRL_ONLY) { - tc->width -= 0.01; - if (tc->width < 0.01) { - tc->width = 0.01; + this->width -= 0.01; + if (this->width < 0.01) { + this->width = 0.01; } - desktop->setToolboxAdjustmentValue ("altx-tweak", tc->width * 100); - sp_tweak_update_area(tc); + desktop->setToolboxAdjustmentValue ("altx-tweak", this->width * 100); + sp_tweak_update_area(this); ret = TRUE; } break; case GDK_KEY_Home: case GDK_KEY_KP_Home: - tc->width = 0.01; - desktop->setToolboxAdjustmentValue ("altx-tweak", tc->width * 100); - sp_tweak_update_area(tc); + this->width = 0.01; + desktop->setToolboxAdjustmentValue ("altx-tweak", this->width * 100); + sp_tweak_update_area(this); ret = TRUE; break; case GDK_KEY_End: case GDK_KEY_KP_End: - tc->width = 1.0; - desktop->setToolboxAdjustmentValue ("altx-tweak", tc->width * 100); - sp_tweak_update_area(tc); + this->width = 1.0; + desktop->setToolboxAdjustmentValue ("altx-tweak", this->width * 100); + sp_tweak_update_area(this); ret = TRUE; break; case GDK_KEY_x: @@ -1472,17 +1445,17 @@ gint SPTweakContext::root_handler(GdkEvent* event) { case GDK_KEY_Shift_L: case GDK_KEY_Shift_R: - sp_tweak_update_cursor(tc, true); + sp_tweak_update_cursor(this, true); break; case GDK_KEY_Control_L: case GDK_KEY_Control_R: - sp_tweak_switch_mode_temporarily(tc, TWEAK_MODE_SHRINK_GROW, MOD__SHIFT); + sp_tweak_switch_mode_temporarily(this, TWEAK_MODE_SHRINK_GROW, MOD__SHIFT); break; case GDK_KEY_Delete: case GDK_KEY_KP_Delete: case GDK_KEY_BackSpace: - ret = event_context->deleteSelectedDrag(MOD__CTRL_ONLY); + ret = this->deleteSelectedDrag(MOD__CTRL_ONLY); break; default: @@ -1495,15 +1468,15 @@ gint SPTweakContext::root_handler(GdkEvent* event) { switch (get_group0_keyval(&event->key)) { case GDK_KEY_Shift_L: case GDK_KEY_Shift_R: - sp_tweak_update_cursor(tc, false); + sp_tweak_update_cursor(this, false); break; case GDK_KEY_Control_L: case GDK_KEY_Control_R: - sp_tweak_switch_mode (tc, prefs->getInt("/tools/tweak/mode"), MOD__SHIFT); - tc->_message_context->clear(); + sp_tweak_switch_mode (this, prefs->getInt("/tools/tweak/mode"), MOD__SHIFT); + this->_message_context->clear(); break; default: - sp_tweak_switch_mode (tc, prefs->getInt("/tools/tweak/mode"), MOD__SHIFT); + sp_tweak_switch_mode (this, prefs->getInt("/tools/tweak/mode"), MOD__SHIFT); break; } } @@ -1512,9 +1485,6 @@ gint SPTweakContext::root_handler(GdkEvent* event) { } if (!ret) { -// if ((SP_EVENT_CONTEXT_CLASS(sp_tweak_context_parent_class))->root_handler) { -// ret = (SP_EVENT_CONTEXT_CLASS(sp_tweak_context_parent_class))->root_handler(event_context, event); -// } ret = SPEventContext::root_handler(event); } -- cgit v1.2.3 From bdde74bbab299f2ee448f1c55469c56a66fb01f7 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sun, 21 Apr 2013 23:58:15 +0200 Subject: Removed some unused files; more refactoring in EventContext tree. (bzr r11608.1.104) --- src/tweak-context.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src/tweak-context.cpp') diff --git a/src/tweak-context.cpp b/src/tweak-context.cpp index 990a62000..d1cf8bbf9 100644 --- a/src/tweak-context.cpp +++ b/src/tweak-context.cpp @@ -297,28 +297,28 @@ void SPTweakContext::setup() { } } -void SPTweakContext::set(Inkscape::Preferences::Entry* val) { - Glib::ustring path = val->getEntryName(); +void SPTweakContext::set(const Inkscape::Preferences::Entry& val) { + Glib::ustring path = val.getEntryName(); if (path == "width") { - this->width = CLAMP(val->getDouble(0.1), -1000.0, 1000.0); + this->width = CLAMP(val.getDouble(0.1), -1000.0, 1000.0); } else if (path == "mode") { - this->mode = val->getInt(); + this->mode = val.getInt(); sp_tweak_update_cursor(this, false); } else if (path == "fidelity") { - this->fidelity = CLAMP(val->getDouble(), 0.0, 1.0); + this->fidelity = CLAMP(val.getDouble(), 0.0, 1.0); } else if (path == "force") { - this->force = CLAMP(val->getDouble(1.0), 0, 1.0); + this->force = CLAMP(val.getDouble(1.0), 0, 1.0); } else if (path == "usepressure") { - this->usepressure = val->getBool(); + this->usepressure = val.getBool(); } else if (path == "doh") { - this->do_h = val->getBool(); + this->do_h = val.getBool(); } else if (path == "dos") { - this->do_s = val->getBool(); + this->do_s = val.getBool(); } else if (path == "dol") { - this->do_l = val->getBool(); + this->do_l = val.getBool(); } else if (path == "doo") { - this->do_o = val->getBool(); + this->do_o = val.getBool(); } } -- cgit v1.2.3 From b2dd3583e7372d23d18bbc6e861f4f645ec3dc37 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Tue, 30 Jul 2013 23:17:21 +0200 Subject: Further refactoring of EventContexts. (bzr r11608.1.109) --- src/tweak-context.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/tweak-context.cpp') diff --git a/src/tweak-context.cpp b/src/tweak-context.cpp index 4e842abbb..74e2e12e2 100644 --- a/src/tweak-context.cpp +++ b/src/tweak-context.cpp @@ -258,7 +258,7 @@ sp_tweak_update_cursor (SPTweakContext *tc, bool with_shift) event_context->cursor_shape = cursor_color_xpm; break; } - sp_event_context_update_cursor(event_context); + event_context->sp_event_context_update_cursor(); g_free(sel_message); } @@ -1154,7 +1154,7 @@ sp_tweak_switch_mode_temporarily (SPTweakContext *tc, gint mode, bool with_shift sp_tweak_update_cursor (tc, with_shift); } -gint SPTweakContext::root_handler(GdkEvent* event) { +bool SPTweakContext::root_handler(GdkEvent* event) { gint ret = FALSE; switch (event->type) { -- cgit v1.2.3 From 989abbac025a8b3349748d19a613a08586c5fdcd Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Wed, 31 Jul 2013 21:11:20 +0200 Subject: Fixed SPObject ctor and dtor; removed singleton.h; some smaller changes. (bzr r11608.1.110) --- src/tweak-context.cpp | 39 ++++++++++++++++----------------------- 1 file changed, 16 insertions(+), 23 deletions(-) (limited to 'src/tweak-context.cpp') diff --git a/src/tweak-context.cpp b/src/tweak-context.cpp index 74e2e12e2..3afdc177c 100644 --- a/src/tweak-context.cpp +++ b/src/tweak-context.cpp @@ -107,7 +107,6 @@ const std::string& SPTweakContext::getPrefsPath() { const std::string SPTweakContext::prefsPath = "/tools/tweak"; SPTweakContext::SPTweakContext() : SPEventContext() { - this->_message_context = 0; this->mode = 0; this->dilate_area = 0; this->usetilt = 0; @@ -144,10 +143,6 @@ SPTweakContext::~SPTweakContext() { sp_canvas_item_destroy(this->dilate_area); this->dilate_area = NULL; } - - if (this->_message_context) { - delete this->_message_context; - } } static bool is_transform_mode (gint mode) @@ -182,11 +177,11 @@ sp_tweak_update_cursor (SPTweakContext *tc, bool with_shift) switch (tc->mode) { case TWEAK_MODE_MOVE: - tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag to move."), sel_message); + tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag to move."), sel_message); event_context->cursor_shape = cursor_tweak_move_xpm; break; case TWEAK_MODE_MOVE_IN_OUT: - tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to move in; with Shift to move out."), sel_message); + tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to move in; with Shift to move out."), sel_message); if (with_shift) { event_context->cursor_shape = cursor_tweak_move_out_xpm; } else { @@ -194,11 +189,11 @@ sp_tweak_update_cursor (SPTweakContext *tc, bool with_shift) } break; case TWEAK_MODE_MOVE_JITTER: - tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to move randomly."), sel_message); + tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to move randomly."), sel_message); event_context->cursor_shape = cursor_tweak_move_jitter_xpm; break; case TWEAK_MODE_SCALE: - tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to scale down; with Shift to scale up."), sel_message); + tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to scale down; with Shift to scale up."), sel_message); if (with_shift) { event_context->cursor_shape = cursor_tweak_scale_up_xpm; } else { @@ -206,7 +201,7 @@ sp_tweak_update_cursor (SPTweakContext *tc, bool with_shift) } break; case TWEAK_MODE_ROTATE: - tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to rotate clockwise; with Shift, counterclockwise."), sel_message); + tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to rotate clockwise; with Shift, counterclockwise."), sel_message); if (with_shift) { event_context->cursor_shape = cursor_tweak_rotate_counterclockwise_xpm; } else { @@ -214,7 +209,7 @@ sp_tweak_update_cursor (SPTweakContext *tc, bool with_shift) } break; case TWEAK_MODE_MORELESS: - tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to duplicate; with Shift, delete."), sel_message); + tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to duplicate; with Shift, delete."), sel_message); if (with_shift) { event_context->cursor_shape = cursor_tweak_less_xpm; } else { @@ -222,11 +217,11 @@ sp_tweak_update_cursor (SPTweakContext *tc, bool with_shift) } break; case TWEAK_MODE_PUSH: - tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag to push paths."), sel_message); + tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag to push paths."), sel_message); event_context->cursor_shape = cursor_push_xpm; break; case TWEAK_MODE_SHRINK_GROW: - tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to inset paths; with Shift to outset."), sel_message); + tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to inset paths; with Shift to outset."), sel_message); if (with_shift) { event_context->cursor_shape = cursor_thicken_xpm; } else { @@ -234,7 +229,7 @@ sp_tweak_update_cursor (SPTweakContext *tc, bool with_shift) } break; case TWEAK_MODE_ATTRACT_REPEL: - tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to attract paths; with Shift to repel."), sel_message); + tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to attract paths; with Shift to repel."), sel_message); if (with_shift) { event_context->cursor_shape = cursor_repel_xpm; } else { @@ -242,19 +237,19 @@ sp_tweak_update_cursor (SPTweakContext *tc, bool with_shift) } break; case TWEAK_MODE_ROUGHEN: - tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to roughen paths."), sel_message); + tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to roughen paths."), sel_message); event_context->cursor_shape = cursor_roughen_xpm; break; case TWEAK_MODE_COLORPAINT: - tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to paint objects with color."), sel_message); + tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to paint objects with color."), sel_message); event_context->cursor_shape = cursor_color_xpm; break; case TWEAK_MODE_COLORJITTER: - tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to randomize colors."), sel_message); + tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to randomize colors."), sel_message); event_context->cursor_shape = cursor_color_xpm; break; case TWEAK_MODE_BLUR: - tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to increase blur; with Shift to decrease."), sel_message); + tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to increase blur; with Shift to decrease."), sel_message); event_context->cursor_shape = cursor_color_xpm; break; } @@ -296,8 +291,6 @@ void SPTweakContext::setup() { this->is_drawing = false; - this->_message_context = new Inkscape::MessageContext(this->desktop->messageStack()); - sp_event_context_read(this, "width"); sp_event_context_read(this, "mode"); sp_event_context_read(this, "fidelity"); @@ -1167,7 +1160,7 @@ bool SPTweakContext::root_handler(GdkEvent* event) { case GDK_BUTTON_PRESS: if (event->button.button == 1 && !this->space_panning) { - if (Inkscape::have_viable_layer(desktop, this->_message_context) == false) { + if (Inkscape::have_viable_layer(desktop, this->message_context) == false) { return TRUE; } @@ -1205,7 +1198,7 @@ bool SPTweakContext::root_handler(GdkEvent* event) { num = g_slist_length(const_cast(desktop->selection->itemList())); } if (num == 0) { - this->_message_context->flash(Inkscape::ERROR_MESSAGE, _("Nothing selected! Select objects to tweak.")); + this->message_context->flash(Inkscape::ERROR_MESSAGE, _("Nothing selected! Select objects to tweak.")); } // dilating: @@ -1498,7 +1491,7 @@ bool SPTweakContext::root_handler(GdkEvent* event) { case GDK_KEY_Control_L: case GDK_KEY_Control_R: sp_tweak_switch_mode (this, prefs->getInt("/tools/tweak/mode"), MOD__SHIFT(event)); - this->_message_context->clear(); + this->message_context->clear(); break; default: sp_tweak_switch_mode (this, prefs->getInt("/tools/tweak/mode"), MOD__SHIFT(event)); -- cgit v1.2.3 From bf4a1d2d49850170b936c30cfe2b30e798716406 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sat, 3 Aug 2013 03:03:43 +0200 Subject: Cleaned up. (bzr r11608.1.117) --- src/tweak-context.cpp | 87 +++++++++++++++++++++++++-------------------------- 1 file changed, 42 insertions(+), 45 deletions(-) (limited to 'src/tweak-context.cpp') diff --git a/src/tweak-context.cpp b/src/tweak-context.cpp index 3afdc177c..2171ecbe4 100644 --- a/src/tweak-context.cpp +++ b/src/tweak-context.cpp @@ -160,14 +160,10 @@ static bool is_color_mode (gint mode) return (mode == TWEAK_MODE_COLORPAINT || mode == TWEAK_MODE_COLORJITTER || mode == TWEAK_MODE_BLUR); } -static void -sp_tweak_update_cursor (SPTweakContext *tc, bool with_shift) -{ - SPEventContext *event_context = SP_EVENT_CONTEXT(tc); - SPDesktop *desktop = event_context->desktop; - +void SPTweakContext::update_cursor (bool with_shift) { guint num = 0; gchar *sel_message = NULL; + if (!desktop->selection->isEmpty()) { num = g_slist_length(const_cast(desktop->selection->itemList())); sel_message = g_strdup_printf(ngettext("%i object selected","%i objects selected",num), num); @@ -175,85 +171,86 @@ sp_tweak_update_cursor (SPTweakContext *tc, bool with_shift) sel_message = g_strdup_printf(_("Nothing selected")); } - switch (tc->mode) { + switch (this->mode) { case TWEAK_MODE_MOVE: - tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag to move."), sel_message); - event_context->cursor_shape = cursor_tweak_move_xpm; + this->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag to move."), sel_message); + this->cursor_shape = cursor_tweak_move_xpm; break; case TWEAK_MODE_MOVE_IN_OUT: - tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to move in; with Shift to move out."), sel_message); + this->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to move in; with Shift to move out."), sel_message); if (with_shift) { - event_context->cursor_shape = cursor_tweak_move_out_xpm; + this->cursor_shape = cursor_tweak_move_out_xpm; } else { - event_context->cursor_shape = cursor_tweak_move_in_xpm; + this->cursor_shape = cursor_tweak_move_in_xpm; } break; case TWEAK_MODE_MOVE_JITTER: - tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to move randomly."), sel_message); - event_context->cursor_shape = cursor_tweak_move_jitter_xpm; + this->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to move randomly."), sel_message); + this->cursor_shape = cursor_tweak_move_jitter_xpm; break; case TWEAK_MODE_SCALE: - tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to scale down; with Shift to scale up."), sel_message); + this->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to scale down; with Shift to scale up."), sel_message); if (with_shift) { - event_context->cursor_shape = cursor_tweak_scale_up_xpm; + this->cursor_shape = cursor_tweak_scale_up_xpm; } else { - event_context->cursor_shape = cursor_tweak_scale_down_xpm; + this->cursor_shape = cursor_tweak_scale_down_xpm; } break; case TWEAK_MODE_ROTATE: - tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to rotate clockwise; with Shift, counterclockwise."), sel_message); + this->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to rotate clockwise; with Shift, counterclockwise."), sel_message); if (with_shift) { - event_context->cursor_shape = cursor_tweak_rotate_counterclockwise_xpm; + this->cursor_shape = cursor_tweak_rotate_counterclockwise_xpm; } else { - event_context->cursor_shape = cursor_tweak_rotate_clockwise_xpm; + this->cursor_shape = cursor_tweak_rotate_clockwise_xpm; } break; case TWEAK_MODE_MORELESS: - tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to duplicate; with Shift, delete."), sel_message); + this->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to duplicate; with Shift, delete."), sel_message); if (with_shift) { - event_context->cursor_shape = cursor_tweak_less_xpm; + this->cursor_shape = cursor_tweak_less_xpm; } else { - event_context->cursor_shape = cursor_tweak_more_xpm; + this->cursor_shape = cursor_tweak_more_xpm; } break; case TWEAK_MODE_PUSH: - tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag to push paths."), sel_message); - event_context->cursor_shape = cursor_push_xpm; + this->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag to push paths."), sel_message); + this->cursor_shape = cursor_push_xpm; break; case TWEAK_MODE_SHRINK_GROW: - tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to inset paths; with Shift to outset."), sel_message); + this->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to inset paths; with Shift to outset."), sel_message); if (with_shift) { - event_context->cursor_shape = cursor_thicken_xpm; + this->cursor_shape = cursor_thicken_xpm; } else { - event_context->cursor_shape = cursor_thin_xpm; + this->cursor_shape = cursor_thin_xpm; } break; case TWEAK_MODE_ATTRACT_REPEL: - tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to attract paths; with Shift to repel."), sel_message); + this->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to attract paths; with Shift to repel."), sel_message); if (with_shift) { - event_context->cursor_shape = cursor_repel_xpm; + this->cursor_shape = cursor_repel_xpm; } else { - event_context->cursor_shape = cursor_attract_xpm; + this->cursor_shape = cursor_attract_xpm; } break; case TWEAK_MODE_ROUGHEN: - tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to roughen paths."), sel_message); - event_context->cursor_shape = cursor_roughen_xpm; + this->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to roughen paths."), sel_message); + this->cursor_shape = cursor_roughen_xpm; break; case TWEAK_MODE_COLORPAINT: - tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to paint objects with color."), sel_message); - event_context->cursor_shape = cursor_color_xpm; + this->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to paint objects with color."), sel_message); + this->cursor_shape = cursor_color_xpm; break; case TWEAK_MODE_COLORJITTER: - tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to randomize colors."), sel_message); - event_context->cursor_shape = cursor_color_xpm; + this->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to randomize colors."), sel_message); + this->cursor_shape = cursor_color_xpm; break; case TWEAK_MODE_BLUR: - tc->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to increase blur; with Shift to decrease."), sel_message); - event_context->cursor_shape = cursor_color_xpm; + this->message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to increase blur; with Shift to decrease."), sel_message); + this->cursor_shape = cursor_color_xpm; break; } - event_context->sp_event_context_update_cursor(); + + this->sp_event_context_update_cursor(); g_free(sel_message); } @@ -322,7 +319,7 @@ void SPTweakContext::set(const Inkscape::Preferences::Entry& val) { this->width = CLAMP(val.getDouble(0.1), -1000.0, 1000.0); } else if (path == "mode") { this->mode = val.getInt(); - sp_tweak_update_cursor(this, false); + this->update_cursor(false); } else if (path == "fidelity") { this->fidelity = CLAMP(val.getDouble(), 0.0, 1.0); } else if (path == "force") { @@ -1130,7 +1127,7 @@ sp_tweak_switch_mode (SPTweakContext *tc, gint mode, bool with_shift) SP_EVENT_CONTEXT(tc)->desktop->setToolboxSelectOneValue ("tweak_tool_mode", mode); // need to set explicitly, because the prefs may not have changed by the previous tc->mode = mode; - sp_tweak_update_cursor (tc, with_shift); + tc->update_cursor(with_shift); } static void @@ -1144,7 +1141,7 @@ sp_tweak_switch_mode_temporarily (SPTweakContext *tc, gint mode, bool with_shift prefs->setInt("/tools/tweak/mode", now_mode); // changing prefs changed tc->mode, restore back :) tc->mode = mode; - sp_tweak_update_cursor (tc, with_shift); + tc->update_cursor(with_shift); } bool SPTweakContext::root_handler(GdkEvent* event) { @@ -1463,7 +1460,7 @@ bool SPTweakContext::root_handler(GdkEvent* event) { case GDK_KEY_Shift_L: case GDK_KEY_Shift_R: - sp_tweak_update_cursor(this, true); + this->update_cursor(true); break; case GDK_KEY_Control_L: @@ -1486,7 +1483,7 @@ bool SPTweakContext::root_handler(GdkEvent* event) { switch (get_group0_keyval(&event->key)) { case GDK_KEY_Shift_L: case GDK_KEY_Shift_R: - sp_tweak_update_cursor(this, false); + this->update_cursor(false); break; case GDK_KEY_Control_L: case GDK_KEY_Control_R: -- cgit v1.2.3