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/lpe-tool-context.cpp | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'src/lpe-tool-context.cpp') diff --git a/src/lpe-tool-context.cpp b/src/lpe-tool-context.cpp index ddea7a579..3d81efc00 100644 --- a/src/lpe-tool-context.cpp +++ b/src/lpe-tool-context.cpp @@ -74,25 +74,29 @@ sp_lpetool_context_class_init(SPLPEToolContextClass *klass) object_class->dispose = sp_lpetool_context_dispose; - event_context_class->setup = sp_lpetool_context_setup; - event_context_class->set = sp_lpetool_context_set; - event_context_class->root_handler = sp_lpetool_context_root_handler; - event_context_class->item_handler = sp_lpetool_context_item_handler; +// event_context_class->setup = sp_lpetool_context_setup; +// event_context_class->set = sp_lpetool_context_set; +// event_context_class->root_handler = sp_lpetool_context_root_handler; +// event_context_class->item_handler = sp_lpetool_context_item_handler; } CLPEToolContext::CLPEToolContext(SPLPEToolContext* lpetoolcontext) : CPenContext(lpetoolcontext) { this->splpetoolcontext = lpetoolcontext; } -static void -sp_lpetool_context_init(SPLPEToolContext *lc) -{ +SPLPEToolContext::SPLPEToolContext() : SPPenContext() { + SPLPEToolContext* lc = this; + lc->clpetoolcontext = new CLPEToolContext(lc); delete lc->cpencontext; lc->cpencontext = lc->clpetoolcontext; lc->cdrawcontext = lc->clpetoolcontext; lc->ceventcontext = lc->clpetoolcontext; + lc->mode = Inkscape::LivePathEffect::BEND_PATH; + lc->shape_editor = 0; + lc->_lpetool_message_context = 0; + lc->cursor_shape = cursor_crosshairs_xpm; lc->hot_x = 7; lc->hot_y = 7; @@ -103,6 +107,12 @@ sp_lpetool_context_init(SPLPEToolContext *lc) new (&lc->sel_changed_connection) sigc::connection(); } +static void +sp_lpetool_context_init(SPLPEToolContext *lc) +{ + new (lc) SPLPEToolContext(); +} + static void sp_lpetool_context_dispose(GObject *object) { @@ -263,7 +273,8 @@ gint CLPEToolContext::root_handler(GdkEvent* event) { if (sp_pen_context_has_waiting_LPE(lc)) { // quit when we are waiting for a LPE to be applied - ret = ((SPEventContextClass *) sp_lpetool_context_parent_class)->root_handler(event_context, event); + //ret = ((SPEventContextClass *) sp_lpetool_context_parent_class)->root_handler(event_context, event); + ret = event_context->ceventcontext->root_handler(event); return ret; } @@ -295,7 +306,8 @@ gint CLPEToolContext::root_handler(GdkEvent* event) { sp_pen_context_wait_for_LPE_mouse_clicks(lc, type, Inkscape::LivePathEffect::Effect::acceptsNumClicks(type)); // we pass the mouse click on to pen tool as the first click which it should collect - ret = ((SPEventContextClass *) sp_lpetool_context_parent_class)->root_handler(event_context, event); + //ret = ((SPEventContextClass *) sp_lpetool_context_parent_class)->root_handler(event_context, event); + ret = event_context->ceventcontext->root_handler(event); } break; -- cgit v1.2.3