summaryrefslogtreecommitdiffstats
path: root/src/tweak-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/tweak-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/tweak-context.cpp')
-rw-r--r--src/tweak-context.cpp37
1 files changed, 15 insertions, 22 deletions
diff --git a/src/tweak-context.cpp b/src/tweak-context.cpp
index 9fca2183b..a287a0831 100644
--- a/src/tweak-context.cpp
+++ b/src/tweak-context.cpp
@@ -83,9 +83,20 @@ using Inkscape::DocumentUndo;
static void sp_tweak_context_dispose(GObject *object);
-static void sp_tweak_context_setup(SPEventContext *ec);
-static void sp_tweak_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val);
-static gint sp_tweak_context_root_handler(SPEventContext *ec, GdkEvent *event);
+
+#include "sp-factory.h"
+
+namespace {
+ SPEventContext* createTweakContext() {
+ return new SPTweakContext();
+ }
+
+ bool tweakContextRegistered = ToolFactory::instance().registerObject("/tools/tweak", createTweakContext);
+}
+
+const std::string& CTweakContext::getPrefsPath() {
+ return SPTweakContext::prefsPath;
+}
const std::string SPTweakContext::prefsPath = "/tools/tweak";
@@ -114,6 +125,7 @@ SPTweakContext::SPTweakContext() : SPEventContext() {
tc->ctweakcontext = new CTweakContext(tc);
delete tc->ceventcontext;
tc->ceventcontext = tc->ctweakcontext;
+ types.insert(typeid(SPTweakContext));
tc->_message_context = 0;
tc->mode = 0;
@@ -285,12 +297,6 @@ sp_tweak_context_style_set(SPCSSAttr const *css, SPTweakContext *tc)
return false;
}
-static void
-sp_tweak_context_setup(SPEventContext *ec)
-{
- ec->ceventcontext->setup();
-}
-
void CTweakContext::setup() {
SPEventContext* ec = this->speventcontext;
@@ -345,12 +351,6 @@ void CTweakContext::setup() {
}
}
-static void
-sp_tweak_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val)
-{
- ec->ceventcontext->set(val);
-}
-
void CTweakContext::set(Inkscape::Preferences::Entry* val) {
SPEventContext* ec = this->speventcontext;
@@ -1186,13 +1186,6 @@ sp_tweak_switch_mode_temporarily (SPTweakContext *tc, gint mode, bool with_shift
sp_tweak_update_cursor (tc, with_shift);
}
-gint
-sp_tweak_context_root_handler(SPEventContext *event_context,
- GdkEvent *event)
-{
- return event_context->ceventcontext->root_handler(event);
-}
-
gint CTweakContext::root_handler(GdkEvent* event) {
SPEventContext* event_context = this->speventcontext;