summaryrefslogtreecommitdiffstats
path: root/src/rect-context.cpp
diff options
context:
space:
mode:
authorMarkus Engel <markus.engel@tum.de>2013-03-29 23:52:42 +0000
committerMarkus Engel <markus.engel@tum.de>2013-03-29 23:52:42 +0000
commita168040d5a452544328a1e6ad35aaac351f94d44 (patch)
treefae1ba829f543a473da281bd5fa6e4deabbf6912 /src/rect-context.cpp
parentRemoved function pointers from SPObject and subclasses. (diff)
parentDutch translation update (diff)
downloadinkscape-a168040d5a452544328a1e6ad35aaac351f94d44.tar.gz
inkscape-a168040d5a452544328a1e6ad35aaac351f94d44.zip
merged from trunk
(bzr r11608.1.56)
Diffstat (limited to 'src/rect-context.cpp')
-rw-r--r--src/rect-context.cpp52
1 files changed, 17 insertions, 35 deletions
diff --git a/src/rect-context.cpp b/src/rect-context.cpp
index 43194a1ae..040127ae3 100644
--- a/src/rect-context.cpp
+++ b/src/rect-context.cpp
@@ -49,8 +49,6 @@ using Inkscape::DocumentUndo;
//static const double goldenratio = 1.61803398874989484820; // golden ratio
-static void sp_rect_context_class_init(SPRectContextClass *klass);
-static void sp_rect_context_init(SPRectContext *rect_context);
static void sp_rect_context_dispose(GObject *object);
static void sp_rect_context_setup(SPEventContext *ec);
@@ -64,35 +62,13 @@ static void sp_rect_drag(SPRectContext &rc, Geom::Point const pt, guint state);
static void sp_rect_finish(SPRectContext *rc);
static void sp_rect_cancel(SPRectContext *rc);
-static SPEventContextClass *parent_class;
-
-
-GType sp_rect_context_get_type()
-{
- static GType type = 0;
- if (!type) {
- GTypeInfo info = {
- sizeof(SPRectContextClass),
- NULL, NULL,
- (GClassInitFunc) sp_rect_context_class_init,
- NULL, NULL,
- sizeof(SPRectContext),
- 4,
- (GInstanceInitFunc) sp_rect_context_init,
- NULL, /* value_table */
- };
- type = g_type_register_static(SP_TYPE_EVENT_CONTEXT, "SPRectContext", &info, (GTypeFlags) 0);
- }
- return type;
-}
+G_DEFINE_TYPE(SPRectContext, sp_rect_context, SP_TYPE_EVENT_CONTEXT);
static void sp_rect_context_class_init(SPRectContextClass *klass)
{
GObjectClass *object_class = (GObjectClass *) klass;
SPEventContextClass *event_context_class = (SPEventContextClass *) klass;
- parent_class = (SPEventContextClass *) g_type_class_peek_parent(klass);
-
object_class->dispose = sp_rect_context_dispose;
event_context_class->setup = sp_rect_context_setup;
@@ -133,8 +109,8 @@ static void sp_rect_context_finish(SPEventContext *ec)
sp_rect_finish(rc);
rc->sel_changed_connection.disconnect();
- if (((SPEventContextClass *) parent_class)->finish) {
- ((SPEventContextClass *) parent_class)->finish(ec);
+ if (((SPEventContextClass *) sp_rect_context_parent_class)->finish) {
+ ((SPEventContextClass *) sp_rect_context_parent_class)->finish(ec);
}
}
@@ -161,14 +137,14 @@ static void sp_rect_context_dispose(GObject *object)
delete rc->_message_context;
}
- G_OBJECT_CLASS(parent_class)->dispose(object);
+ G_OBJECT_CLASS(sp_rect_context_parent_class)->dispose(object);
}
/**
* Callback that processes the "changed" signal on the selection;
* destroys old and creates new knotholder.
*/
-void sp_rect_context_selection_changed(Inkscape::Selection *selection, gpointer data)
+static void sp_rect_context_selection_changed(Inkscape::Selection *selection, gpointer data)
{
SPRectContext *rc = SP_RECT_CONTEXT(data);
SPEventContext *ec = SP_EVENT_CONTEXT(rc);
@@ -182,8 +158,8 @@ static void sp_rect_context_setup(SPEventContext *ec)
{
SPRectContext *rc = SP_RECT_CONTEXT(ec);
- if (((SPEventContextClass *) parent_class)->setup) {
- ((SPEventContextClass *) parent_class)->setup(ec);
+ if (((SPEventContextClass *) sp_rect_context_parent_class)->setup) {
+ ((SPEventContextClass *) sp_rect_context_parent_class)->setup(ec);
}
ec->shape_editor = new ShapeEditor(ec->desktop);
@@ -245,8 +221,8 @@ static gint sp_rect_context_item_handler(SPEventContext *event_context, SPItem *
break;
}
- if (((SPEventContextClass *) parent_class)->item_handler) {
- ret = ((SPEventContextClass *) parent_class)->item_handler(event_context, item, event);
+ if (((SPEventContextClass *) sp_rect_context_parent_class)->item_handler) {
+ ret = ((SPEventContextClass *) sp_rect_context_parent_class)->item_handler(event_context, item, event);
}
return ret;
@@ -427,6 +403,12 @@ static gint sp_rect_context_root_handler(SPEventContext *event_context, GdkEvent
}
break;
+ case GDK_KEY_Delete:
+ case GDK_KEY_KP_Delete:
+ case GDK_KEY_BackSpace:
+ ret = event_context->deleteSelectedDrag(MOD__CTRL_ONLY);
+ break;
+
default:
break;
}
@@ -452,8 +434,8 @@ static gint sp_rect_context_root_handler(SPEventContext *event_context, GdkEvent
}
if (!ret) {
- if (((SPEventContextClass *) parent_class)->root_handler) {
- ret = ((SPEventContextClass *) parent_class)->root_handler(event_context, event);
+ if (((SPEventContextClass *) sp_rect_context_parent_class)->root_handler) {
+ ret = ((SPEventContextClass *) sp_rect_context_parent_class)->root_handler(event_context, event);
}
}