summaryrefslogtreecommitdiffstats
path: root/src/arc-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/arc-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/arc-context.cpp')
-rw-r--r--src/arc-context.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/arc-context.cpp b/src/arc-context.cpp
index cd9adece0..21fd41a49 100644
--- a/src/arc-context.cpp
+++ b/src/arc-context.cpp
@@ -60,6 +60,21 @@ static void sp_arc_drag(SPArcContext *ec, Geom::Point pt, guint state);
static void sp_arc_finish(SPArcContext *ec);
static void sp_arc_cancel(SPArcContext *ec);
+
+#include "sp-factory.h"
+
+namespace {
+ SPEventContext* createArcContext() {
+ return new SPArcContext();
+ }
+
+ bool arcContextRegistered = ToolFactory::instance().registerObject("/tools/shapes/arc", createArcContext);
+}
+
+const std::string& CArcContext::getPrefsPath() {
+ return SPArcContext::prefsPath;
+}
+
const std::string SPArcContext::prefsPath = "/tools/shapes/arc";
G_DEFINE_TYPE(SPArcContext, sp_arc_context, SP_TYPE_EVENT_CONTEXT);
@@ -87,6 +102,7 @@ SPArcContext::SPArcContext() : SPEventContext() {
arc_context->carccontext = new CArcContext(arc_context);
delete arc_context->ceventcontext;
arc_context->ceventcontext = arc_context->carccontext;
+ types.insert(typeid(SPArcContext));
arc_context->_message_context = 0;