summaryrefslogtreecommitdiffstats
path: root/src/spray-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/spray-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/spray-context.cpp')
-rw-r--r--src/spray-context.cpp32
1 files changed, 14 insertions, 18 deletions
diff --git a/src/spray-context.cpp b/src/spray-context.cpp
index 7d4980355..bb9f05530 100644
--- a/src/spray-context.cpp
+++ b/src/spray-context.cpp
@@ -80,9 +80,19 @@ using namespace std;
static void sp_spray_context_dispose(GObject *object);
-static void sp_spray_context_setup(SPEventContext *ec);
-static void sp_spray_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val);
-static gint sp_spray_context_root_handler(SPEventContext *ec, GdkEvent *event);
+#include "sp-factory.h"
+
+namespace {
+ SPEventContext* createSprayContext() {
+ return new SPSprayContext();
+ }
+
+ bool sprayContextRegistered = ToolFactory::instance().registerObject("/tools/spray", createSprayContext);
+}
+
+const std::string& CSprayContext::getPrefsPath() {
+ return SPSprayContext::prefsPath;
+}
const std::string SPSprayContext::prefsPath = "/tools/spray";
@@ -145,6 +155,7 @@ SPSprayContext::SPSprayContext() : SPEventContext() {
tc->cspraycontext = new CSprayContext(tc);
delete tc->ceventcontext;
tc->ceventcontext = tc->cspraycontext;
+ types.insert(typeid(SPSprayContext));
tc->usetilt = 0;
tc->_message_context = 0;
@@ -248,11 +259,6 @@ static void sp_spray_update_cursor(SPSprayContext *tc, bool /*with_shift*/)
g_free(sel_message);
}
-static void sp_spray_context_setup(SPEventContext *ec)
-{
- ec->ceventcontext->setup();
-}
-
void CSprayContext::setup() {
SPEventContext* ec = this->speventcontext;
@@ -307,11 +313,6 @@ void CSprayContext::setup() {
}
}
-static void sp_spray_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val)
-{
- ec->ceventcontext->set(val);
-}
-
void CSprayContext::set(Inkscape::Preferences::Entry* val) {
SPEventContext* ec = this->speventcontext;
@@ -648,11 +649,6 @@ static void sp_spray_switch_mode(SPSprayContext *tc, gint mode, bool with_shift)
sp_spray_update_cursor(tc, with_shift);
}
-gint sp_spray_context_root_handler(SPEventContext *event_context, GdkEvent *event)
-{
- return event_context->ceventcontext->root_handler(event);
-}
-
gint CSprayContext::root_handler(GdkEvent* event) {
SPEventContext* event_context = this->speventcontext;