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/spiral-context.cpp | 43 +++++++++++++++---------------------------- 1 file changed, 15 insertions(+), 28 deletions(-) (limited to 'src/spiral-context.cpp') diff --git a/src/spiral-context.cpp b/src/spiral-context.cpp index 7e3aed1b9..2f171ddde 100644 --- a/src/spiral-context.cpp +++ b/src/spiral-context.cpp @@ -47,16 +47,25 @@ using Inkscape::DocumentUndo; static void sp_spiral_context_dispose(GObject *object); -static void sp_spiral_context_setup(SPEventContext *ec); -static void sp_spiral_context_finish(SPEventContext *ec); -static void sp_spiral_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val); - -static gint sp_spiral_context_root_handler(SPEventContext *event_context, GdkEvent *event); static void sp_spiral_drag(SPSpiralContext *sc, Geom::Point const &p, guint state); static void sp_spiral_finish(SPSpiralContext *sc); static void sp_spiral_cancel(SPSpiralContext *sc); +#include "sp-factory.h" + +namespace { + SPEventContext* createSpiralContext() { + return new SPSpiralContext(); + } + + bool spiralContextRegistered = ToolFactory::instance().registerObject("/tools/shapes/spiral", createSpiralContext); +} + +const std::string& CSpiralContext::getPrefsPath() { + return SPSpiralContext::prefsPath; +} + const std::string SPSpiralContext::prefsPath = "/tools/shapes/spiral"; G_DEFINE_TYPE(SPSpiralContext, sp_spiral_context, SP_TYPE_EVENT_CONTEXT); @@ -85,6 +94,7 @@ SPSpiralContext::SPSpiralContext() : SPEventContext() { spiral_context->cspiralcontext = new CSpiralContext(spiral_context); delete spiral_context->ceventcontext; spiral_context->ceventcontext = spiral_context->cspiralcontext; + types.insert(typeid(SPSpiralContext)); spiral_context->_message_context = 0; @@ -114,11 +124,6 @@ sp_spiral_context_init(SPSpiralContext *spiral_context) new (spiral_context) SPSpiralContext(); } -static void sp_spiral_context_finish(SPEventContext *ec) -{ - ec->ceventcontext->finish(); -} - void CSpiralContext::finish() { SPEventContext* ec = this->speventcontext; @@ -173,12 +178,6 @@ static void sp_spiral_context_selection_changed(Inkscape::Selection *selection, ec->shape_editor->set_item(item, SH_KNOTHOLDER); } -static void -sp_spiral_context_setup(SPEventContext *ec) -{ - ec->ceventcontext->setup(); -} - void CSpiralContext::setup() { SPEventContext* ec = this->speventcontext; @@ -214,12 +213,6 @@ void CSpiralContext::setup() { sc->_message_context = new Inkscape::MessageContext((ec->desktop)->messageStack()); } -static void -sp_spiral_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val) -{ - ec->ceventcontext->set(val); -} - void CSpiralContext::set(Inkscape::Preferences::Entry* val) { SPEventContext* ec = this->speventcontext; @@ -235,12 +228,6 @@ void CSpiralContext::set(Inkscape::Preferences::Entry* val) { } } -static gint -sp_spiral_context_root_handler(SPEventContext *event_context, GdkEvent *event) -{ - return event_context->ceventcontext->root_handler(event); -} - gint CSpiralContext::root_handler(GdkEvent* event) { SPEventContext* event_context = this->speventcontext; -- cgit v1.2.3