diff options
| author | Markus Engel <markus.engel@tum.de> | 2013-04-20 21:19:46 +0000 |
|---|---|---|
| committer | Markus Engel <markus.engel@tum.de> | 2013-04-20 21:19:46 +0000 |
| commit | 65ba6ad9a82f8f47974eb10665478fd783692bb5 (patch) | |
| tree | 21ecad9197b19c636e7950503ea8f2a9a5366194 /src/flood-context.cpp | |
| parent | Further changes to EventContexts; they work without GObject (diff) | |
| download | inkscape-65ba6ad9a82f8f47974eb10665478fd783692bb5.tar.gz inkscape-65ba6ad9a82f8f47974eb10665478fd783692bb5.zip | |
Merging of EventContext classes complete.
(bzr r11608.1.98)
Diffstat (limited to 'src/flood-context.cpp')
| -rw-r--r-- | src/flood-context.cpp | 84 |
1 files changed, 16 insertions, 68 deletions
diff --git a/src/flood-context.cpp b/src/flood-context.cpp index 333be207e..14cf58501 100644 --- a/src/flood-context.cpp +++ b/src/flood-context.cpp @@ -75,13 +75,6 @@ using Inkscape::Display::ExtractARGB32; using Inkscape::Display::ExtractRGB32; using Inkscape::Display::AssembleARGB32; -static void sp_flood_context_dispose(GObject *object); - -static void sp_flood_context_setup(SPEventContext *ec); - -static gint sp_flood_context_root_handler(SPEventContext *event_context, GdkEvent *event); -static gint sp_flood_context_item_handler(SPEventContext *event_context, SPItem *item, GdkEvent *event); - static void sp_flood_finish(SPFloodContext *rc); #include "sp-factory.h" @@ -94,38 +87,15 @@ namespace { bool paintbucketContextRegistered = ToolFactory::instance().registerObject("/tools/paintbucket", createPaintbucketContext); } -const std::string& CFloodContext::getPrefsPath() { +const std::string& SPFloodContext::getPrefsPath() { return SPFloodContext::prefsPath; } const std::string SPFloodContext::prefsPath = "/tools/paintbucket"; -G_DEFINE_TYPE(SPFloodContext, sp_flood_context, SP_TYPE_EVENT_CONTEXT); - -static void sp_flood_context_class_init(SPFloodContextClass *klass) -{ - GObjectClass *object_class = (GObjectClass *) klass; - SPEventContextClass *event_context_class = (SPEventContextClass *) klass; - - object_class->dispose = sp_flood_context_dispose; - -// event_context_class->setup = sp_flood_context_setup; -// event_context_class->root_handler = sp_flood_context_root_handler; -// event_context_class->item_handler = sp_flood_context_item_handler; -} - -CFloodContext::CFloodContext(SPFloodContext* floodcontext) : CEventContext(floodcontext) { - this->spfloodcontext = floodcontext; -} - SPFloodContext::SPFloodContext() : SPEventContext() { SPFloodContext* flood_context = this; - flood_context->cfloodcontext = new CFloodContext(flood_context); - delete flood_context->ceventcontext; - flood_context->ceventcontext = flood_context->cfloodcontext; - types.insert(typeid(SPFloodContext)); - flood_context->_message_context = 0; SPEventContext *event_context = SP_EVENT_CONTEXT(flood_context); @@ -141,21 +111,15 @@ SPFloodContext::SPFloodContext() : SPEventContext() { flood_context->item = NULL; - new (&flood_context->sel_changed_connection) sigc::connection(); -} - -static void sp_flood_context_init(SPFloodContext *flood_context) -{ - new (flood_context) SPFloodContext(); + //new (&flood_context->sel_changed_connection) sigc::connection(); } -static void sp_flood_context_dispose(GObject *object) -{ - SPFloodContext *rc = SP_FLOOD_CONTEXT(object); - SPEventContext *ec = SP_EVENT_CONTEXT(object); +SPFloodContext::~SPFloodContext() { + SPFloodContext *rc = SP_FLOOD_CONTEXT(this); + SPEventContext *ec = SP_EVENT_CONTEXT(this); rc->sel_changed_connection.disconnect(); - rc->sel_changed_connection.~connection(); + //rc->sel_changed_connection.~connection(); delete ec->shape_editor; ec->shape_editor = NULL; @@ -169,7 +133,7 @@ static void sp_flood_context_dispose(GObject *object) delete rc->_message_context; } - G_OBJECT_CLASS(sp_flood_context_parent_class)->dispose(object); + //G_OBJECT_CLASS(sp_flood_context_parent_class)->dispose(object); } /** @@ -186,20 +150,15 @@ static void sp_flood_context_selection_changed(Inkscape::Selection *selection, g ec->shape_editor->set_item(item, SH_KNOTHOLDER); } -static void sp_flood_context_setup(SPEventContext *ec) -{ - ec->ceventcontext->setup(); -} - -void CFloodContext::setup() { - SPEventContext* ec = this->speventcontext; +void SPFloodContext::setup() { + SPEventContext* ec = this; SPFloodContext *rc = SP_FLOOD_CONTEXT(ec); // if (((SPEventContextClass *) sp_flood_context_parent_class)->setup) { // ((SPEventContextClass *) sp_flood_context_parent_class)->setup(ec); // } - CEventContext::setup(); + SPEventContext::setup(); ec->shape_editor = new ShapeEditor(ec->desktop); @@ -1159,13 +1118,8 @@ static void sp_flood_do_flood_fill(SPEventContext *event_context, GdkEvent *even DocumentUndo::done(document, SP_VERB_CONTEXT_PAINTBUCKET, _("Fill bounded area")); } -static gint sp_flood_context_item_handler(SPEventContext *event_context, SPItem *item, GdkEvent *event) -{ - return event_context->ceventcontext->item_handler(item, event); -} - -gint CFloodContext::item_handler(SPItem* item, GdkEvent* event) { - SPEventContext* event_context = this->speventcontext; +gint SPFloodContext::item_handler(SPItem* item, GdkEvent* event) { + SPEventContext* event_context = this; gint ret = FALSE; @@ -1193,18 +1147,13 @@ gint CFloodContext::item_handler(SPItem* item, GdkEvent* event) { // ret = ((SPEventContextClass *) sp_flood_context_parent_class)->item_handler(event_context, item, event); // } // CPPIFY: ret is overwritten... - ret = CEventContext::item_handler(item, event); + ret = SPEventContext::item_handler(item, event); return ret; } -static gint sp_flood_context_root_handler(SPEventContext *event_context, GdkEvent *event) -{ - return event_context->ceventcontext->root_handler(event); -} - -gint CFloodContext::root_handler(GdkEvent* event) { - SPEventContext* event_context = this->speventcontext; +gint SPFloodContext::root_handler(GdkEvent* event) { + SPEventContext* event_context = this; static bool dragging; @@ -1308,13 +1257,12 @@ gint CFloodContext::root_handler(GdkEvent* event) { // if (((SPEventContextClass *) sp_flood_context_parent_class)->root_handler) { // ret = ((SPEventContextClass *) sp_flood_context_parent_class)->root_handler(event_context, event); // } - ret = CEventContext::root_handler(event); + ret = SPEventContext::root_handler(event); } return ret; } - static void sp_flood_finish(SPFloodContext *rc) { rc->_message_context->clear(); |
