summaryrefslogtreecommitdiffstats
path: root/src/spiral-context.cpp
diff options
context:
space:
mode:
authorMarkus Engel <markus.engel@tum.de>2013-04-13 16:13:17 +0000
committerMarkus Engel <markus.engel@tum.de>2013-04-13 16:13:17 +0000
commitfbdc8b84ff670c684dafc7d7d403ed01e7077e70 (patch)
tree964a82e4e94d8d6602e90893ac51ac9e2f7ec362 /src/spiral-context.cpp
parentMade factory a template. (diff)
downloadinkscape-fbdc8b84ff670c684dafc7d7d403ed01e7077e70.tar.gz
inkscape-fbdc8b84ff670c684dafc7d7d403ed01e7077e70.zip
Replaced casting macros for EventContext tree; added contructors.
(bzr r11608.1.96)
Diffstat (limited to 'src/spiral-context.cpp')
-rw-r--r--src/spiral-context.cpp43
1 files changed, 15 insertions, 28 deletions
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;