diff options
Diffstat (limited to 'src/star-context.cpp')
| -rw-r--r-- | src/star-context.cpp | 42 |
1 files changed, 15 insertions, 27 deletions
diff --git a/src/star-context.cpp b/src/star-context.cpp index 6979d51a2..2e1402cbb 100644 --- a/src/star-context.cpp +++ b/src/star-context.cpp @@ -52,15 +52,24 @@ using Inkscape::DocumentUndo; static void sp_star_context_dispose (GObject *object); -static void sp_star_context_setup (SPEventContext *ec); -static void sp_star_context_finish(SPEventContext *ec); -static void sp_star_context_set (SPEventContext *ec, Inkscape::Preferences::Entry *val); -static gint sp_star_context_root_handler (SPEventContext *ec, GdkEvent *event); - static void sp_star_drag (SPStarContext * sc, Geom::Point p, guint state); static void sp_star_finish (SPStarContext * sc); static void sp_star_cancel(SPStarContext * sc); +#include "sp-factory.h" + +namespace { + SPEventContext* createStarContext() { + return new SPStarContext(); + } + + bool starContextRegistered = ToolFactory::instance().registerObject("/tools/shapes/star", createStarContext); +} + +const std::string& CStarContext::getPrefsPath() { + return SPStarContext::prefsPath; +} + const std::string SPStarContext::prefsPath = "/tools/shapes/star"; G_DEFINE_TYPE(SPStarContext, sp_star_context, SP_TYPE_EVENT_CONTEXT); @@ -89,6 +98,7 @@ SPStarContext::SPStarContext() : SPEventContext() { star_context->cstarcontext = new CStarContext(star_context); delete star_context->ceventcontext; star_context->ceventcontext = star_context->cstarcontext; + types.insert(typeid(SPStarContext)); star_context->randomized = 0; star_context->_message_context = 0; @@ -121,11 +131,6 @@ sp_star_context_init (SPStarContext * star_context) new (star_context) SPStarContext(); } -static void sp_star_context_finish(SPEventContext *ec) -{ - ec->ceventcontext->finish(); -} - void CStarContext::finish() { SPEventContext* ec = this->speventcontext; @@ -185,12 +190,6 @@ static void sp_star_context_selection_changed (Inkscape::Selection * selection, ec->shape_editor->set_item(item, SH_KNOTHOLDER); } -static void -sp_star_context_setup (SPEventContext *ec) -{ - ec->ceventcontext->setup(); -} - void CStarContext::setup() { SPEventContext* ec = this->speventcontext; @@ -229,12 +228,6 @@ void CStarContext::setup() { sc->_message_context = new Inkscape::MessageContext((ec->desktop)->messageStack()); } -static void -sp_star_context_set (SPEventContext *ec, Inkscape::Preferences::Entry *val) -{ - ec->ceventcontext->set(val); -} - void CStarContext::set(Inkscape::Preferences::Entry* val) { SPEventContext* ec = this->speventcontext; @@ -254,11 +247,6 @@ void CStarContext::set(Inkscape::Preferences::Entry* val) { } } -static gint sp_star_context_root_handler(SPEventContext *event_context, GdkEvent *event) -{ - return event_context->ceventcontext->root_handler(event); -} - gint CStarContext::root_handler(GdkEvent* event) { SPEventContext* event_context = this->speventcontext; |
