summaryrefslogtreecommitdiffstats
path: root/src/lpe-tool-context.cpp
diff options
context:
space:
mode:
authorMarkus Engel <markus.engel@tum.de>2013-04-09 20:12:07 +0000
committerMarkus Engel <markus.engel@tum.de>2013-04-09 20:12:07 +0000
commit1d8f1753cd8cab38d19fcc26a4ad70ba2e794ac8 (patch)
treeb010ac32dcfd9923c2ec38dff3b70955242dfa70 /src/lpe-tool-context.cpp
parentStarted conversion of SPEventContext tree; added virtual pads to all classes. (diff)
downloadinkscape-1d8f1753cd8cab38d19fcc26a4ad70ba2e794ac8.tar.gz
inkscape-1d8f1753cd8cab38d19fcc26a4ad70ba2e794ac8.zip
Added constructors to EventContext tree / some missing virtual pads.
(bzr r11608.1.90)
Diffstat (limited to 'src/lpe-tool-context.cpp')
-rw-r--r--src/lpe-tool-context.cpp30
1 files changed, 21 insertions, 9 deletions
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;
@@ -104,6 +108,12 @@ sp_lpetool_context_init(SPLPEToolContext *lc)
}
static void
+sp_lpetool_context_init(SPLPEToolContext *lc)
+{
+ new (lc) SPLPEToolContext();
+}
+
+static void
sp_lpetool_context_dispose(GObject *object)
{
SPLPEToolContext *lc = SP_LPETOOL_CONTEXT(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;