summaryrefslogtreecommitdiffstats
path: root/src/gradient-context.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gradient-context.cpp')
-rw-r--r--src/gradient-context.cpp36
1 files changed, 6 insertions, 30 deletions
diff --git a/src/gradient-context.cpp b/src/gradient-context.cpp
index 231490771..8fd002d70 100644
--- a/src/gradient-context.cpp
+++ b/src/gradient-context.cpp
@@ -51,8 +51,6 @@
using Inkscape::DocumentUndo;
-static void sp_gradient_context_class_init(SPGradientContextClass *klass);
-static void sp_gradient_context_init(SPGradientContext *gr_context);
static void sp_gradient_context_dispose(GObject *object);
static void sp_gradient_context_setup(SPEventContext *ec);
@@ -61,35 +59,13 @@ static gint sp_gradient_context_root_handler(SPEventContext *event_context, GdkE
static void sp_gradient_drag(SPGradientContext &rc, Geom::Point const pt, guint state, guint32 etime);
-static SPEventContextClass *parent_class;
-
-
-GType sp_gradient_context_get_type()
-{
- static GType type = 0;
- if (!type) {
- GTypeInfo info = {
- sizeof(SPGradientContextClass),
- NULL, NULL,
- (GClassInitFunc) sp_gradient_context_class_init,
- NULL, NULL,
- sizeof(SPGradientContext),
- 4,
- (GInstanceInitFunc) sp_gradient_context_init,
- NULL, /* value_table */
- };
- type = g_type_register_static(SP_TYPE_EVENT_CONTEXT, "SPGradientContext", &info, (GTypeFlags) 0);
- }
- return type;
-}
+G_DEFINE_TYPE(SPGradientContext, sp_gradient_context, SP_TYPE_EVENT_CONTEXT);
static void sp_gradient_context_class_init(SPGradientContextClass *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_gradient_context_dispose;
event_context_class->setup = sp_gradient_context_setup;
@@ -127,7 +103,7 @@ static void sp_gradient_context_dispose(GObject *object)
rc->subselcon->disconnect();
delete rc->subselcon;
- G_OBJECT_CLASS(parent_class)->dispose(object);
+ G_OBJECT_CLASS(sp_gradient_context_parent_class)->dispose(object);
}
const gchar *gr_handle_descr [] = {
@@ -204,8 +180,8 @@ static void sp_gradient_context_setup(SPEventContext *ec)
{
SPGradientContext *rc = SP_GRADIENT_CONTEXT(ec);
- if (((SPEventContextClass *) parent_class)->setup) {
- ((SPEventContextClass *) parent_class)->setup(ec);
+ if (((SPEventContextClass *) sp_gradient_context_parent_class)->setup) {
+ ((SPEventContextClass *) sp_gradient_context_parent_class)->setup(ec);
}
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
@@ -879,8 +855,8 @@ sp_gradient_context_root_handler(SPEventContext *event_context, GdkEvent *event)
}
if (!ret) {
- if (((SPEventContextClass *) parent_class)->root_handler) {
- ret = ((SPEventContextClass *) parent_class)->root_handler(event_context, event);
+ if (((SPEventContextClass *) sp_gradient_context_parent_class)->root_handler) {
+ ret = ((SPEventContextClass *) sp_gradient_context_parent_class)->root_handler(event_context, event);
}
}