summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlex Valavanis <valavanisalex@gmail.com>2013-01-26 19:33:04 +0000
committerAlex Valavanis <valavanisalex@gmail.com>2013-01-26 19:33:04 +0000
commit1615436543169f305d1df4d830ed8f5ec5dc75ed (patch)
tree3357241d19485b7a0e0e190d66474cd58c8d9166 /src
parentMore GObject boilerplate reduction (diff)
downloadinkscape-1615436543169f305d1df4d830ed8f5ec5dc75ed.tar.gz
inkscape-1615436543169f305d1df4d830ed8f5ec5dc75ed.zip
More GObject boilerplate reduction
(bzr r12065)
Diffstat (limited to 'src')
-rw-r--r--src/connector-context.cpp39
-rw-r--r--src/display/sp-canvas.cpp133
-rw-r--r--src/display/sp-canvas.h6
-rw-r--r--src/dyna-draw-context.cpp42
-rw-r--r--src/ege-adjustment-action.cpp41
-rw-r--r--src/ege-color-prof-tracker.cpp31
-rw-r--r--src/ege-select-one-action.cpp40
-rw-r--r--src/filters/blend.cpp49
-rw-r--r--src/filters/colormatrix.cpp49
-rw-r--r--src/filters/componenttransfer.cpp55
-rw-r--r--src/filters/composite.cpp49
-rw-r--r--src/filters/convolvematrix.cpp49
-rw-r--r--src/filters/diffuselighting.cpp60
-rw-r--r--src/filters/displacementmap.cpp49
-rw-r--r--src/filters/distantlight.cpp46
-rw-r--r--src/filters/gaussian-blur.cpp49
-rw-r--r--src/filters/image.cpp48
-rw-r--r--src/filters/merge.cpp49
-rw-r--r--src/filters/mergenode.cpp45
-rw-r--r--src/filters/morphology.cpp49
-rw-r--r--src/filters/offset.cpp49
-rw-r--r--src/filters/pointlight.cpp46
-rw-r--r--src/filters/specularlighting.cpp60
-rw-r--r--src/filters/spotlight.cpp46
-rw-r--r--src/filters/tile.cpp49
-rw-r--r--src/filters/turbulence.cpp49
-rw-r--r--src/gradient-context.cpp36
-rw-r--r--src/helper/action.cpp41
-rw-r--r--src/helper/unit-menu.cpp27
-rw-r--r--src/ink-comboboxentry-action.cpp44
-rw-r--r--src/lpe-tool-context.cpp49
-rw-r--r--src/mesh-context.cpp36
-rw-r--r--src/pencil-context.cpp37
-rw-r--r--src/sp-filter.cpp58
-rw-r--r--src/sp-lpe-item.cpp63
-rw-r--r--src/sp-mask.cpp45
-rw-r--r--src/sp-metadata.cpp49
-rw-r--r--src/sp-pattern.cpp42
-rw-r--r--src/sp-title.cpp30
-rw-r--r--src/ui/tool/node-tool.cpp78
-rw-r--r--src/widgets/button.cpp45
-rw-r--r--src/widgets/icon.cpp44
-rw-r--r--src/widgets/icon.h6
43 files changed, 463 insertions, 1544 deletions
diff --git a/src/connector-context.cpp b/src/connector-context.cpp
index 24a7203ac..9631eecb1 100644
--- a/src/connector-context.cpp
+++ b/src/connector-context.cpp
@@ -109,8 +109,6 @@
using Inkscape::DocumentUndo;
-static void sp_connector_context_class_init(SPConnectorContextClass *klass);
-static void sp_connector_context_init(SPConnectorContext *conn_context);
static void sp_connector_context_dispose(GObject *object);
static void sp_connector_context_setup(SPEventContext *ec);
@@ -156,8 +154,6 @@ static void shape_event_attr_changed(Inkscape::XML::Node *repr, gchar const *nam
/*static Geom::Point connector_drag_origin_w(0, 0);
static bool connector_within_tolerance = false;*/
-static SPEventContextClass *parent_class;
-
static Inkscape::XML::NodeEventVector shape_repr_events = {
NULL, /* child_added */
@@ -175,26 +171,7 @@ static Inkscape::XML::NodeEventVector layer_repr_events = {
NULL /* order_changed */
};
-
-GType
-sp_connector_context_get_type(void)
-{
- static GType type = 0;
- if (!type) {
- GTypeInfo info = {
- sizeof(SPConnectorContextClass),
- NULL, NULL,
- (GClassInitFunc) sp_connector_context_class_init,
- NULL, NULL,
- sizeof(SPConnectorContext),
- 4,
- (GInstanceInitFunc) sp_connector_context_init,
- NULL, /* value_table */
- };
- type = g_type_register_static(SP_TYPE_EVENT_CONTEXT, "SPConnectorContext", &info, (GTypeFlags)0);
- }
- return type;
-}
+G_DEFINE_TYPE(SPConnectorContext, sp_connector_context, SP_TYPE_EVENT_CONTEXT);
static void
sp_connector_context_class_init(SPConnectorContextClass *klass)
@@ -202,8 +179,6 @@ sp_connector_context_class_init(SPConnectorContextClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS(klass);
SPEventContextClass *event_context_class = SP_EVENT_CONTEXT_CLASS(klass);
- parent_class = SP_EVENT_CONTEXT_CLASS(g_type_class_peek_parent(klass));
-
object_class->dispose = sp_connector_context_dispose;
event_context_class->setup = sp_connector_context_setup;
@@ -283,7 +258,7 @@ sp_connector_context_dispose(GObject *object)
}
g_assert( cc->newConnRef == NULL );
- G_OBJECT_CLASS(parent_class)->dispose(object);
+ G_OBJECT_CLASS(sp_connector_context_parent_class)->dispose(object);
}
@@ -293,8 +268,8 @@ sp_connector_context_setup(SPEventContext *ec)
SPConnectorContext *cc = SP_CONNECTOR_CONTEXT(ec);
SPDesktop *dt = ec->desktop;
- if ((SP_EVENT_CONTEXT_CLASS(parent_class))->setup) {
- (SP_EVENT_CONTEXT_CLASS(parent_class))->setup(ec);
+ if ((SP_EVENT_CONTEXT_CLASS(sp_connector_context_parent_class))->setup) {
+ (SP_EVENT_CONTEXT_CLASS(sp_connector_context_parent_class))->setup(ec);
}
cc->selection = sp_desktop_selection(dt);
@@ -358,8 +333,8 @@ sp_connector_context_finish(SPEventContext *ec)
spcc_connector_finish(cc);
cc->state = SP_CONNECTOR_CONTEXT_IDLE;
- if ((SP_EVENT_CONTEXT_CLASS(parent_class))->finish) {
- (SP_EVENT_CONTEXT_CLASS(parent_class))->finish(ec);
+ if ((SP_EVENT_CONTEXT_CLASS(sp_connector_context_parent_class))->finish) {
+ (SP_EVENT_CONTEXT_CLASS(sp_connector_context_parent_class))->finish(ec);
}
if (cc->selection) {
@@ -560,7 +535,7 @@ sp_connector_context_root_handler(SPEventContext *ec, GdkEvent *event)
if (!ret) {
gint (*const parent_root_handler)(SPEventContext *, GdkEvent *)
- = (SP_EVENT_CONTEXT_CLASS(parent_class))->root_handler;
+ = (SP_EVENT_CONTEXT_CLASS(sp_connector_context_parent_class))->root_handler;
if (parent_root_handler) {
ret = parent_root_handler(ec, event);
}
diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp
index eb51860ab..8b20ab2de 100644
--- a/src/display/sp-canvas.cpp
+++ b/src/display/sp-canvas.cpp
@@ -227,21 +227,6 @@ public:
static int pickCurrentItem(SPCanvas *canvas, GdkEvent *event);
/**
- * Class initialization function for SPCanvasClass.
- */
- static void classInit(SPCanvasClass *klass);
-
- /**
- * Callback: object initialization for SPCanvas.
- */
- static void init(SPCanvas *canvas);
-
- /**
- * Destroy handler for SPCanvas.
- */
- static void dispose(GObject *object);
-
- /**
* The canvas widget's realize callback.
*/
static void realize(GtkWidget *widget);
@@ -369,25 +354,11 @@ public:
static void add_idle(SPCanvas *canvas);
/**
- * Convenience function to remove the idle handler of a canvas.
- */
- static void remove_idle(SPCanvas *canvas);
-
- /**
- * Removes the transient state of the canvas (idle handler, grabs).
- */
- static void shutdown_transients(SPCanvas *canvas);
-
- /**
* Update callback for canvas widget.
*/
static void requestCanvasUpdate(SPCanvas *canvas);
-
- static GtkWidgetClass *parentClass;
};
-GtkWidgetClass *SPCanvasImpl::parentClass = 0;
-
GType SPCanvasItem::getType()
{
static GType object_type = 0;
@@ -437,9 +408,9 @@ void sp_canvas_item_class_init(SPCanvasItemClass *klass)
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT);
- gobject_class->dispose = sp_canvas_item_dispose;
+ gobject_class->dispose = sp_canvas_item_dispose;
gobject_class->finalize = sp_canvas_item_finalize;
- klass->destroy = sp_canvas_item_real_destroy;
+ klass->destroy = sp_canvas_item_real_destroy;
object_signals[DESTROY] =
g_signal_new ("destroy",
@@ -1218,68 +1189,46 @@ void SPCanvasGroup::remove(SPCanvasItem *item)
}
}
-/**
- * Registers the SPCanvas class if necessary, and returns the type ID
- * associated to it.
- *
- * @return The type ID of the SPCanvas class.
- */
-GType SPCanvas::getType(void)
-{
- static GType type = 0;
- if (!type) {
- GTypeInfo info = {
- sizeof(SPCanvasClass),
- 0, // base_init
- 0, // base_finalize
- (GClassInitFunc)SPCanvasImpl::classInit,
- 0, // class_finalize
- 0, // class_data
- sizeof(SPCanvas),
- 0, // n_preallocs
- (GInstanceInitFunc)SPCanvasImpl::init,
- 0 // value_table
- };
- type = g_type_register_static(GTK_TYPE_WIDGET, "SPCanvas", &info, static_cast<GTypeFlags>(0));
- }
- return type;
-}
+static void sp_canvas_dispose (GObject *object);
+static void sp_canvas_shutdown_transients(SPCanvas *canvas);
-void SPCanvasImpl::classInit(SPCanvasClass *klass)
-{
- GObjectClass *object_class = (GObjectClass *) klass;
- GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;
+G_DEFINE_TYPE(SPCanvas, sp_canvas, GTK_TYPE_WIDGET);
- parentClass = reinterpret_cast<GtkWidgetClass *>(g_type_class_peek_parent(klass));
+static void
+sp_canvas_class_init(SPCanvasClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS(klass);
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
- object_class->dispose = SPCanvasImpl::dispose;
+ object_class->dispose = sp_canvas_dispose;
- widget_class->realize = SPCanvasImpl::realize;
- widget_class->unrealize = SPCanvasImpl::unrealize;
+ widget_class->realize = SPCanvasImpl::realize;
+ widget_class->unrealize = SPCanvasImpl::unrealize;
#if GTK_CHECK_VERSION(3,0,0)
- widget_class->get_preferred_width = SPCanvasImpl::getPreferredWidth;
+ widget_class->get_preferred_width = SPCanvasImpl::getPreferredWidth;
widget_class->get_preferred_height = SPCanvasImpl::getPreferredHeight;
- widget_class->draw = SPCanvasImpl::handleDraw;
+ widget_class->draw = SPCanvasImpl::handleDraw;
#else
- widget_class->size_request = SPCanvasImpl::sizeRequest;
- widget_class->expose_event = SPCanvasImpl::handleExpose;
+ widget_class->size_request = SPCanvasImpl::sizeRequest;
+ widget_class->expose_event = SPCanvasImpl::handleExpose;
#endif
- widget_class->size_allocate = SPCanvasImpl::sizeAllocate;
- widget_class->button_press_event = SPCanvasImpl::button;
+ widget_class->size_allocate = SPCanvasImpl::sizeAllocate;
+ widget_class->button_press_event = SPCanvasImpl::button;
widget_class->button_release_event = SPCanvasImpl::button;
- widget_class->motion_notify_event = SPCanvasImpl::handleMotion;
- widget_class->scroll_event = SPCanvasImpl::handleScroll;
- widget_class->key_press_event = SPCanvasImpl::handleKeyEvent;
- widget_class->key_release_event = SPCanvasImpl::handleKeyEvent;
- widget_class->enter_notify_event = SPCanvasImpl::handleCrossing;
- widget_class->leave_notify_event = SPCanvasImpl::handleCrossing;
- widget_class->focus_in_event = SPCanvasImpl::handleFocusIn;
- widget_class->focus_out_event = SPCanvasImpl::handleFocusOut;
+ widget_class->motion_notify_event = SPCanvasImpl::handleMotion;
+ widget_class->scroll_event = SPCanvasImpl::handleScroll;
+ widget_class->key_press_event = SPCanvasImpl::handleKeyEvent;
+ widget_class->key_release_event = SPCanvasImpl::handleKeyEvent;
+ widget_class->enter_notify_event = SPCanvasImpl::handleCrossing;
+ widget_class->leave_notify_event = SPCanvasImpl::handleCrossing;
+ widget_class->focus_in_event = SPCanvasImpl::handleFocusIn;
+ widget_class->focus_out_event = SPCanvasImpl::handleFocusOut;
}
-void SPCanvasImpl::init(SPCanvas *canvas)
+static void
+sp_canvas_init(SPCanvas *canvas)
{
gtk_widget_set_has_window (GTK_WIDGET (canvas), TRUE);
gtk_widget_set_double_buffered (GTK_WIDGET (canvas), FALSE);
@@ -1318,7 +1267,7 @@ void SPCanvasImpl::init(SPCanvas *canvas)
canvas->is_scrolling = false;
}
-void SPCanvasImpl::remove_idle(SPCanvas *canvas)
+static void sp_canvas_remove_idle(SPCanvas *canvas)
{
if (canvas->idle_id) {
g_source_remove (canvas->idle_id);
@@ -1326,7 +1275,8 @@ void SPCanvasImpl::remove_idle(SPCanvas *canvas)
}
}
-void SPCanvasImpl::shutdown_transients(SPCanvas *canvas)
+static void
+sp_canvas_shutdown_transients(SPCanvas *canvas)
{
// We turn off the need_redraw flag, since if the canvas is mapped again
// it will request a redraw anyways. We do not turn off the need_update
@@ -1352,10 +1302,11 @@ void SPCanvasImpl::shutdown_transients(SPCanvas *canvas)
#endif
}
- remove_idle(canvas);
+ sp_canvas_remove_idle(canvas);
}
-void SPCanvasImpl::dispose(GObject *object)
+static void
+sp_canvas_dispose(GObject *object)
{
SPCanvas *canvas = SP_CANVAS(object);
@@ -1364,12 +1315,12 @@ void SPCanvasImpl::dispose(GObject *object)
canvas->root = NULL;
}
- shutdown_transients(canvas);
+ sp_canvas_shutdown_transients(canvas);
#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
canvas->cms_key.~ustring();
#endif
- if (G_OBJECT_CLASS(parentClass)->dispose) {
- (* G_OBJECT_CLASS(parentClass)->dispose)(object);
+ if (G_OBJECT_CLASS(sp_canvas_parent_class)->dispose) {
+ (* G_OBJECT_CLASS(sp_canvas_parent_class)->dispose)(object);
}
}
@@ -1388,7 +1339,7 @@ void trackLatency(GdkEvent const *event)
GtkWidget *SPCanvas::createAA()
{
- SPCanvas *canvas = reinterpret_cast<SPCanvas *>(g_object_new(SPCanvas::getType(), NULL));
+ SPCanvas *canvas = SP_CANVAS(g_object_new(SP_TYPE_CANVAS, NULL));
return GTK_WIDGET(canvas);
}
@@ -1456,10 +1407,10 @@ void SPCanvasImpl::unrealize(GtkWidget *widget)
canvas->grabbed_item = NULL;
canvas->focused_item = NULL;
- shutdown_transients(canvas);
+ sp_canvas_shutdown_transients(canvas);
- if (GTK_WIDGET_CLASS(parentClass)->unrealize)
- (* GTK_WIDGET_CLASS(parentClass)->unrealize)(widget);
+ if (GTK_WIDGET_CLASS(sp_canvas_parent_class)->unrealize)
+ (* GTK_WIDGET_CLASS(sp_canvas_parent_class)->unrealize)(widget);
}
diff --git a/src/display/sp-canvas.h b/src/display/sp-canvas.h
index f0366a2e5..b570b739e 100644
--- a/src/display/sp-canvas.h
+++ b/src/display/sp-canvas.h
@@ -39,7 +39,7 @@
G_BEGIN_DECLS
-#define SP_TYPE_CANVAS (SPCanvas::getType())
+#define SP_TYPE_CANVAS (sp_canvas_get_type())
#define SP_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), SP_TYPE_CANVAS, SPCanvas))
#define SP_IS_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), SP_TYPE_CANVAS))
@@ -71,14 +71,14 @@ G_END_DECLS
class SPCanvasImpl;
+GType sp_canvas_get_type() G_GNUC_CONST;
+
/**
* Port of GnomeCanvas for inkscape needs.
*/
struct SPCanvas {
friend class SPCanvasImpl;
- static GType getType();
-
/**
* Returns new canvas as widget.
*/
diff --git a/src/dyna-draw-context.cpp b/src/dyna-draw-context.cpp
index b30950f5a..742d52f09 100644
--- a/src/dyna-draw-context.cpp
+++ b/src/dyna-draw-context.cpp
@@ -81,8 +81,6 @@ using Inkscape::DocumentUndo;
#define DYNA_MIN_WIDTH 1.0e-6
-static void sp_dyna_draw_context_class_init(SPDynaDrawContextClass *klass);
-static void sp_dyna_draw_context_init(SPDynaDrawContext *ddc);
static void sp_dyna_draw_context_dispose(GObject *object);
static void sp_dyna_draw_context_setup(SPEventContext *ec);
@@ -101,29 +99,7 @@ static Geom::Point sp_dyna_draw_get_npoint(SPDynaDrawContext const *ddc, Geom::P
static Geom::Point sp_dyna_draw_get_vpoint(SPDynaDrawContext const *ddc, Geom::Point n);
static void draw_temporary_box(SPDynaDrawContext *dc);
-
-static SPEventContextClass *dd_parent_class = 0;
-
-GType sp_dyna_draw_context_get_type(void)
-{
- static GType type = 0;
- if (!type) {
- GTypeInfo info = {
- sizeof(SPDynaDrawContextClass),
- 0, // base_init
- 0, // base_finalize
- (GClassInitFunc)sp_dyna_draw_context_class_init,
- 0, // class_finalize
- 0, // class_data
- sizeof(SPDynaDrawContext),
- 0, // n_preallocs
- (GInstanceInitFunc)sp_dyna_draw_context_init,
- 0 // value_table
- };
- type = g_type_register_static(SP_TYPE_COMMON_CONTEXT, "SPDynaDrawContext", &info, static_cast<GTypeFlags>(0));
- }
- return type;
-}
+G_DEFINE_TYPE(SPDynaDrawContext, sp_dyna_draw_context, SP_TYPE_COMMON_CONTEXT);
static void
sp_dyna_draw_context_class_init(SPDynaDrawContextClass *klass)
@@ -131,8 +107,6 @@ sp_dyna_draw_context_class_init(SPDynaDrawContextClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS(klass);
SPEventContextClass *event_context_class = SP_EVENT_CONTEXT_CLASS(klass);
- dd_parent_class = SP_EVENT_CONTEXT_CLASS(g_type_class_peek_parent(klass));
-
object_class->dispose = sp_dyna_draw_context_dispose;
event_context_class->setup = sp_dyna_draw_context_setup;
@@ -182,7 +156,7 @@ sp_dyna_draw_context_dispose(GObject *object)
}
- G_OBJECT_CLASS(dd_parent_class)->dispose(object);
+ G_OBJECT_CLASS(sp_dyna_draw_context_parent_class)->dispose(object);
ddc->hatch_pointer_past.~list();
ddc->hatch_nearest_past.~list();
@@ -195,8 +169,8 @@ sp_dyna_draw_context_setup(SPEventContext *ec)
{
SPDynaDrawContext *ddc = SP_DYNA_DRAW_CONTEXT(ec);
- if ((SP_EVENT_CONTEXT_CLASS(dd_parent_class))->setup)
- (SP_EVENT_CONTEXT_CLASS(dd_parent_class))->setup(ec);
+ if ((SP_EVENT_CONTEXT_CLASS(sp_dyna_draw_context_parent_class))->setup)
+ (SP_EVENT_CONTEXT_CLASS(sp_dyna_draw_context_parent_class))->setup(ec);
ddc->accumulated = new SPCurve();
ddc->currentcurve = new SPCurve();
@@ -262,8 +236,8 @@ sp_dyna_draw_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val)
ddc->keep_selected = val->getBool();
} else {
//pass on up to parent class to handle common attributes.
- if ( dd_parent_class->set ) {
- dd_parent_class->set(ec, val);
+ if ( SP_COMMON_CONTEXT_CLASS(sp_dyna_draw_context_parent_class)->set ) {
+ SP_COMMON_CONTEXT_CLASS(sp_dyna_draw_context_parent_class)->set(ec, val);
}
}
@@ -974,8 +948,8 @@ sp_dyna_draw_context_root_handler(SPEventContext *event_context,
}
if (!ret) {
- if ((SP_EVENT_CONTEXT_CLASS(dd_parent_class))->root_handler) {
- ret = (SP_EVENT_CONTEXT_CLASS(dd_parent_class))->root_handler(event_context, event);
+ if ((SP_EVENT_CONTEXT_CLASS(sp_dyna_draw_context_parent_class))->root_handler) {
+ ret = (SP_EVENT_CONTEXT_CLASS(sp_dyna_draw_context_parent_class))->root_handler(event_context, event);
}
}
diff --git a/src/ege-adjustment-action.cpp b/src/ege-adjustment-action.cpp
index 8253818d2..5a827096f 100644
--- a/src/ege-adjustment-action.cpp
+++ b/src/ege-adjustment-action.cpp
@@ -50,8 +50,6 @@
#include "ui/widget/gimpspinscale.h"
-static void ege_adjustment_action_class_init( EgeAdjustmentActionClass* klass );
-static void ege_adjustment_action_init( EgeAdjustmentAction* action );
static void ege_adjustment_action_finalize( GObject* object );
static void ege_adjustment_action_get_property( GObject* obj, guint propId, GValue* value, GParamSpec * pspec );
static void ege_adjustment_action_set_property( GObject* obj, guint propId, const GValue *value, GParamSpec* pspec );
@@ -70,8 +68,6 @@ static void ege_adjustment_action_defocus( EgeAdjustmentAction* action );
static void egeAct_free_description( gpointer data, gpointer user_data );
static void egeAct_free_all_descriptions( EgeAdjustmentAction* action );
-
-static GtkActionClass* gParentClass = 0;
static EgeCreateAdjWidgetCB gFactoryCb = 0;
static GQuark gDataName = 0;
@@ -146,34 +142,11 @@ enum {
BUMP_CUSTOM = 100
};
-GType ege_adjustment_action_get_type( void )
-{
- static GType myType = 0;
- if ( !myType ) {
- static const GTypeInfo myInfo = {
- sizeof( EgeAdjustmentActionClass ),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc)ege_adjustment_action_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof( EgeAdjustmentAction ),
- 0, /* n_preallocs */
- (GInstanceInitFunc)ege_adjustment_action_init,
- NULL
- };
-
- myType = g_type_register_static( GTK_TYPE_ACTION, "EgeAdjustmentAction", &myInfo, (GTypeFlags)0 );
- }
-
- return myType;
-}
-
+G_DEFINE_TYPE(EgeAdjustmentAction, ege_adjustment_action, GTK_TYPE_ACTION);
static void ege_adjustment_action_class_init( EgeAdjustmentActionClass* klass )
{
if ( klass ) {
- gParentClass = GTK_ACTION_CLASS( g_type_class_peek_parent( klass ) );
GObjectClass * objClass = G_OBJECT_CLASS( klass );
gDataName = g_quark_from_string("ege-adj-action");
@@ -308,8 +281,8 @@ static void ege_adjustment_action_finalize( GObject* object )
egeAct_free_all_descriptions( action );
- if ( G_OBJECT_CLASS(gParentClass)->finalize ) {
- (*G_OBJECT_CLASS(gParentClass)->finalize)(object);
+ if ( G_OBJECT_CLASS(ege_adjustment_action_parent_class)->finalize ) {
+ (*G_OBJECT_CLASS(ege_adjustment_action_parent_class)->finalize)(object);
}
}
@@ -772,7 +745,7 @@ static GtkWidget* create_menu_item( GtkAction* action )
gtk_widget_show_all( subby );
g_value_unset( &value );
} else {
- item = gParentClass->create_menu_item( action );
+ item = GTK_ACTION_CLASS(ege_adjustment_action_parent_class)->create_menu_item( action );
}
return item;
@@ -910,7 +883,7 @@ static GtkWidget* create_tool_item( GtkAction* action )
g_value_unset( &value );
} else {
- item = gParentClass->create_tool_item( action );
+ item = GTK_ACTION_CLASS(ege_adjustment_action_parent_class)->create_tool_item( action );
}
return item;
@@ -918,12 +891,12 @@ static GtkWidget* create_tool_item( GtkAction* action )
static void connect_proxy( GtkAction *action, GtkWidget *proxy )
{
- gParentClass->connect_proxy( action, proxy );
+ GTK_ACTION_CLASS(ege_adjustment_action_parent_class)->connect_proxy( action, proxy );
}
static void disconnect_proxy( GtkAction *action, GtkWidget *proxy )
{
- gParentClass->disconnect_proxy( action, proxy );
+ GTK_ACTION_CLASS(ege_adjustment_action_parent_class)->disconnect_proxy( action, proxy );
}
void ege_adjustment_action_defocus( EgeAdjustmentAction* action )
diff --git a/src/ege-color-prof-tracker.cpp b/src/ege-color-prof-tracker.cpp
index c0e095a98..2e1b8188f 100644
--- a/src/ege-color-prof-tracker.cpp
+++ b/src/ege-color-prof-tracker.cpp
@@ -90,11 +90,9 @@ enum {
ADDED,
REMOVED,
MODIFIED,
- LAST_SIGNAL};
-
+ LAST_SIGNAL
+};
-static void ege_color_prof_tracker_class_init( EgeColorProfTrackerClass* klass );
-static void ege_color_prof_tracker_init( EgeColorProfTracker* tracker );
static void ege_color_prof_tracker_get_property( GObject* obj, guint propId, GValue* value, GParamSpec * pspec );
static void ege_color_prof_tracker_set_property( GObject* obj, guint propId, const GValue *value, GParamSpec* pspec );
@@ -114,7 +112,6 @@ void handle_property_change(GdkScreen* screen, const gchar* name);
void add_x11_tracking_for_screen(GdkScreen* screen, ScreenTrack* screenTrack);
#endif /* GDK_WINDOWING_X11 */
-static GObjectClass* gParentClass = 0;
static guint signals[LAST_SIGNAL] = {0};
static GSList* tracked_screens = 0;
@@ -140,33 +137,11 @@ static void clear_profile( GdkScreen* screen, guint monitor );
static void set_profile( GdkScreen* screen, guint monitor, const guint8* data, guint len );
static void track_screen( GdkScreen* screen, EgeColorProfTracker* tracker );
-GType ege_color_prof_tracker_get_type( void )
-{
- static GType myType = 0;
- if ( !myType ) {
- static const GTypeInfo myInfo = {
- sizeof( EgeColorProfTrackerClass ),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc)ege_color_prof_tracker_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof( EgeColorProfTracker ),
- 0, /* n_preallocs */
- (GInstanceInitFunc)ege_color_prof_tracker_init,
- NULL
- };
-
- myType = g_type_register_static( G_TYPE_OBJECT, "EgeColorProfTracker", &myInfo, (GTypeFlags)0 );
- }
-
- return myType;
-}
+G_DEFINE_TYPE(EgeColorProfTracker, ege_color_prof_tracker, G_TYPE_OBJECT);
void ege_color_prof_tracker_class_init( EgeColorProfTrackerClass* klass )
{
if ( klass ) {
- gParentClass = G_OBJECT_CLASS( g_type_class_peek_parent( klass ) );
GObjectClass* objClass = G_OBJECT_CLASS( klass );
objClass->get_property = ege_color_prof_tracker_get_property;
diff --git a/src/ege-select-one-action.cpp b/src/ege-select-one-action.cpp
index a5d92e809..33cfd04f2 100644
--- a/src/ege-select-one-action.cpp
+++ b/src/ege-select-one-action.cpp
@@ -49,9 +49,6 @@ enum {
CHANGED = 0,
LAST_SIGNAL};
-
-static void ege_select_one_action_class_init( EgeSelectOneActionClass* klass );
-static void ege_select_one_action_init( EgeSelectOneAction* action );
static void ege_select_one_action_finalize( GObject* action );
static void ege_select_one_action_get_property( GObject* obj, guint propId, GValue* value, GParamSpec * pspec );
static void ege_select_one_action_set_property( GObject* obj, guint propId, const GValue *value, GParamSpec* pspec );
@@ -73,7 +70,6 @@ static void disconnect_proxy( GtkAction *action, GtkWidget *proxy );
static int scan_max_width( GtkTreeModel *model, gint labelColumn );
-static GtkActionClass* gParentClass = 0;
static guint signals[LAST_SIGNAL] = {0};
static GQuark gDataName = 0;
@@ -126,28 +122,7 @@ enum {
PROP_SELECTION
};
-GType ege_select_one_action_get_type( void )
-{
- static GType myType = 0;
- if ( !myType ) {
- static const GTypeInfo myInfo = {
- sizeof( EgeSelectOneActionClass ),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc)ege_select_one_action_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof( EgeSelectOneAction ),
- 0, /* n_preallocs */
- (GInstanceInitFunc)ege_select_one_action_init,
- NULL
- };
-
- myType = g_type_register_static( GTK_TYPE_ACTION, "EgeSelectOneAction", &myInfo, (GTypeFlags)0 );
- }
-
- return myType;
-}
+G_DEFINE_TYPE(EgeSelectOneAction, ege_select_one_action, GTK_TYPE_ACTION);
GtkTreeModel *ege_select_one_action_get_model(EgeSelectOneAction* action ){
return GTK_TREE_MODEL(action->private_data->model);
@@ -155,7 +130,6 @@ GtkTreeModel *ege_select_one_action_get_model(EgeSelectOneAction* action ){
void ege_select_one_action_class_init( EgeSelectOneActionClass* klass )
{
if ( klass ) {
- gParentClass = GTK_ACTION_CLASS( g_type_class_peek_parent( klass ) );
GObjectClass* objClass = G_OBJECT_CLASS( klass );
gDataName = g_quark_from_string("ege-select1-action");
@@ -292,8 +266,8 @@ void ege_select_one_action_finalize( GObject* object )
g_free( action->private_data->appearance );
g_free( action->private_data->selection );
- if ( G_OBJECT_CLASS(gParentClass)->finalize ) {
- (*G_OBJECT_CLASS(gParentClass)->finalize)(object);
+ if ( G_OBJECT_CLASS(ege_select_one_action_parent_class)->finalize ) {
+ (*G_OBJECT_CLASS(ege_select_one_action_parent_class)->finalize)(object);
}
}
@@ -631,7 +605,7 @@ GtkWidget* create_menu_item( GtkAction* action )
g_free(sss);
} else {
- item = gParentClass->create_menu_item( action );
+ item = GTK_ACTION_CLASS(ege_select_one_action_parent_class)->create_menu_item( action );
}
return item;
@@ -855,7 +829,7 @@ GtkWidget* create_tool_item( GtkAction* action )
gtk_widget_show_all( item );
} else {
- item = gParentClass->create_tool_item( action );
+ item = GTK_ACTION_CLASS(ege_select_one_action_parent_class)->create_tool_item( action );
}
return item;
@@ -864,12 +838,12 @@ GtkWidget* create_tool_item( GtkAction* action )
void connect_proxy( GtkAction *action, GtkWidget *proxy )
{
- gParentClass->connect_proxy( action, proxy );
+ GTK_ACTION_CLASS(ege_select_one_action_parent_class)->connect_proxy( action, proxy );
}
void disconnect_proxy( GtkAction *action, GtkWidget *proxy )
{
- gParentClass->disconnect_proxy( action, proxy );
+ GTK_ACTION_CLASS(ege_select_one_action_parent_class)->disconnect_proxy( action, proxy );
}
diff --git a/src/filters/blend.cpp b/src/filters/blend.cpp
index 809bd6c00..a43927e81 100644
--- a/src/filters/blend.cpp
+++ b/src/filters/blend.cpp
@@ -31,10 +31,6 @@
#include "display/nr-filter-types.h"
/* FeBlend base class */
-
-static void sp_feBlend_class_init(SPFeBlendClass *klass);
-static void sp_feBlend_init(SPFeBlend *feBlend);
-
static void sp_feBlend_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_feBlend_release(SPObject *object);
static void sp_feBlend_set(SPObject *object, unsigned int key, gchar const *value);
@@ -42,28 +38,7 @@ static void sp_feBlend_update(SPObject *object, SPCtx *ctx, guint flags);
static Inkscape::XML::Node *sp_feBlend_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
static void sp_feBlend_build_renderer(SPFilterPrimitive *sp_prim, Inkscape::Filters::Filter *filter);
-static SPFilterPrimitiveClass *feBlend_parent_class;
-
-GType
-sp_feBlend_get_type()
-{
- static GType feBlend_type = 0;
-
- if (!feBlend_type) {
- GTypeInfo feBlend_info = {
- sizeof(SPFeBlendClass),
- NULL, NULL,
- (GClassInitFunc) sp_feBlend_class_init,
- NULL, NULL,
- sizeof(SPFeBlend),
- 16,
- (GInstanceInitFunc) sp_feBlend_init,
- NULL, /* value_table */
- };
- feBlend_type = g_type_register_static(SP_TYPE_FILTER_PRIMITIVE, "SPFeBlend", &feBlend_info, (GTypeFlags)0);
- }
- return feBlend_type;
-}
+G_DEFINE_TYPE(SPFeBlend, sp_feBlend, SP_TYPE_FILTER_PRIMITIVE);
static void
sp_feBlend_class_init(SPFeBlendClass *klass)
@@ -71,8 +46,6 @@ sp_feBlend_class_init(SPFeBlendClass *klass)
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
SPFilterPrimitiveClass *sp_primitive_class = (SPFilterPrimitiveClass *)klass;
- feBlend_parent_class = (SPFilterPrimitiveClass*)g_type_class_peek_parent(klass);
-
sp_object_class->build = sp_feBlend_build;
sp_object_class->release = sp_feBlend_release;
sp_object_class->write = sp_feBlend_write;
@@ -98,8 +71,8 @@ sp_feBlend_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *re
{
SPFeBlend *blend = SP_FEBLEND(object);
- if (((SPObjectClass *) feBlend_parent_class)->build) {
- ((SPObjectClass *) feBlend_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_feBlend_parent_class)->build) {
+ ((SPObjectClass *) sp_feBlend_parent_class)->build(object, document, repr);
}
/*LOAD ATTRIBUTES FROM REPR HERE*/
@@ -123,8 +96,8 @@ sp_feBlend_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *re
static void
sp_feBlend_release(SPObject *object)
{
- if (((SPObjectClass *) feBlend_parent_class)->release)
- ((SPObjectClass *) feBlend_parent_class)->release(object);
+ if (((SPObjectClass *) sp_feBlend_parent_class)->release)
+ ((SPObjectClass *) sp_feBlend_parent_class)->release(object);
}
static Inkscape::Filters::FilterBlendMode sp_feBlend_readmode(gchar const *value)
@@ -186,8 +159,8 @@ sp_feBlend_set(SPObject *object, unsigned int key, gchar const *value)
}
break;
default:
- if (((SPObjectClass *) feBlend_parent_class)->set)
- ((SPObjectClass *) feBlend_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_feBlend_parent_class)->set)
+ ((SPObjectClass *) sp_feBlend_parent_class)->set(object, key, value);
break;
}
@@ -218,8 +191,8 @@ sp_feBlend_update(SPObject *object, SPCtx *ctx, guint flags)
object->getRepr()->setAttribute("in2", sp_filter_name_for_image(parent, blend->in2));
}
- if (((SPObjectClass *) feBlend_parent_class)->update) {
- ((SPObjectClass *) feBlend_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_feBlend_parent_class)->update) {
+ ((SPObjectClass *) sp_feBlend_parent_class)->update(object, ctx, flags);
}
}
@@ -267,8 +240,8 @@ sp_feBlend_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::
}
repr->setAttribute("mode", mode);
- if (((SPObjectClass *) feBlend_parent_class)->write) {
- ((SPObjectClass *) feBlend_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_feBlend_parent_class)->write) {
+ ((SPObjectClass *) sp_feBlend_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/filters/colormatrix.cpp b/src/filters/colormatrix.cpp
index b88b84037..aaf1c2986 100644
--- a/src/filters/colormatrix.cpp
+++ b/src/filters/colormatrix.cpp
@@ -30,10 +30,6 @@
#include "display/nr-filter-colormatrix.h"
/* FeColorMatrix base class */
-
-static void sp_feColorMatrix_class_init(SPFeColorMatrixClass *klass);
-static void sp_feColorMatrix_init(SPFeColorMatrix *feColorMatrix);
-
static void sp_feColorMatrix_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_feColorMatrix_release(SPObject *object);
static void sp_feColorMatrix_set(SPObject *object, unsigned int key, gchar const *value);
@@ -41,28 +37,7 @@ static void sp_feColorMatrix_update(SPObject *object, SPCtx *ctx, guint flags);
static Inkscape::XML::Node *sp_feColorMatrix_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
static void sp_feColorMatrix_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter);
-static SPFilterPrimitiveClass *feColorMatrix_parent_class;
-
-GType
-sp_feColorMatrix_get_type()
-{
- static GType feColorMatrix_type = 0;
-
- if (!feColorMatrix_type) {
- GTypeInfo feColorMatrix_info = {
- sizeof(SPFeColorMatrixClass),
- NULL, NULL,
- (GClassInitFunc) sp_feColorMatrix_class_init,
- NULL, NULL,
- sizeof(SPFeColorMatrix),
- 16,
- (GInstanceInitFunc) sp_feColorMatrix_init,
- NULL, /* value_table */
- };
- feColorMatrix_type = g_type_register_static(SP_TYPE_FILTER_PRIMITIVE, "SPFeColorMatrix", &feColorMatrix_info, (GTypeFlags)0);
- }
- return feColorMatrix_type;
-}
+G_DEFINE_TYPE(SPFeColorMatrix, sp_feColorMatrix, SP_TYPE_FILTER_PRIMITIVE);
static void
sp_feColorMatrix_class_init(SPFeColorMatrixClass *klass)
@@ -70,8 +45,6 @@ sp_feColorMatrix_class_init(SPFeColorMatrixClass *klass)
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
SPFilterPrimitiveClass *sp_primitive_class = (SPFilterPrimitiveClass *)klass;
- feColorMatrix_parent_class = (SPFilterPrimitiveClass*)g_type_class_peek_parent(klass);
-
sp_object_class->build = sp_feColorMatrix_build;
sp_object_class->release = sp_feColorMatrix_release;
sp_object_class->write = sp_feColorMatrix_write;
@@ -93,8 +66,8 @@ sp_feColorMatrix_init(SPFeColorMatrix */*feColorMatrix*/)
static void
sp_feColorMatrix_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) feColorMatrix_parent_class)->build) {
- ((SPObjectClass *) feColorMatrix_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_feColorMatrix_parent_class)->build) {
+ ((SPObjectClass *) sp_feColorMatrix_parent_class)->build(object, document, repr);
}
/*LOAD ATTRIBUTES FROM REPR HERE*/
@@ -108,8 +81,8 @@ sp_feColorMatrix_build(SPObject *object, SPDocument *document, Inkscape::XML::No
static void
sp_feColorMatrix_release(SPObject *object)
{
- if (((SPObjectClass *) feColorMatrix_parent_class)->release)
- ((SPObjectClass *) feColorMatrix_parent_class)->release(object);
+ if (((SPObjectClass *) sp_feColorMatrix_parent_class)->release)
+ ((SPObjectClass *) sp_feColorMatrix_parent_class)->release(object);
}
static Inkscape::Filters::FilterColorMatrixType sp_feColorMatrix_read_type(gchar const *value){
@@ -158,8 +131,8 @@ sp_feColorMatrix_set(SPObject *object, unsigned int key, gchar const *str)
}
break;
default:
- if (((SPObjectClass *) feColorMatrix_parent_class)->set)
- ((SPObjectClass *) feColorMatrix_parent_class)->set(object, key, str);
+ if (((SPObjectClass *) sp_feColorMatrix_parent_class)->set)
+ ((SPObjectClass *) sp_feColorMatrix_parent_class)->set(object, key, str);
break;
}
}
@@ -177,8 +150,8 @@ sp_feColorMatrix_update(SPObject *object, SPCtx *ctx, guint flags)
}
- if (((SPObjectClass *) feColorMatrix_parent_class)->update) {
- ((SPObjectClass *) feColorMatrix_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_feColorMatrix_parent_class)->update) {
+ ((SPObjectClass *) sp_feColorMatrix_parent_class)->update(object, ctx, flags);
}
}
@@ -194,8 +167,8 @@ sp_feColorMatrix_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape:
repr = object->getRepr()->duplicate(doc);
}
- if (((SPObjectClass *) feColorMatrix_parent_class)->write) {
- ((SPObjectClass *) feColorMatrix_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_feColorMatrix_parent_class)->write) {
+ ((SPObjectClass *) sp_feColorMatrix_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/filters/componenttransfer.cpp b/src/filters/componenttransfer.cpp
index 8cc388dd0..71e1ffe8e 100644
--- a/src/filters/componenttransfer.cpp
+++ b/src/filters/componenttransfer.cpp
@@ -28,10 +28,6 @@
#include "display/nr-filter-component-transfer.h"
/* FeComponentTransfer base class */
-
-static void sp_feComponentTransfer_class_init(SPFeComponentTransferClass *klass);
-static void sp_feComponentTransfer_init(SPFeComponentTransfer *feComponentTransfer);
-
static void sp_feComponentTransfer_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_feComponentTransfer_release(SPObject *object);
static void sp_feComponentTransfer_set(SPObject *object, unsigned int key, gchar const *value);
@@ -40,35 +36,14 @@ static void sp_feComponentTransfer_build_renderer(SPFilterPrimitive *primitive,
static void sp_feComponentTransfer_remove_child(SPObject *object, Inkscape::XML::Node *child);
static void sp_feComponentTransfer_child_added(SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *ref);
static Inkscape::XML::Node *sp_feComponentTransfer_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
-static SPFilterPrimitiveClass *feComponentTransfer_parent_class;
-GType
-sp_feComponentTransfer_get_type()
-{
- static GType feComponentTransfer_type = 0;
-
- if (!feComponentTransfer_type) {
- GTypeInfo feComponentTransfer_info = {
- sizeof(SPFeComponentTransferClass),
- NULL, NULL,
- (GClassInitFunc) sp_feComponentTransfer_class_init,
- NULL, NULL,
- sizeof(SPFeComponentTransfer),
- 16,
- (GInstanceInitFunc) sp_feComponentTransfer_init,
- NULL, /* value_table */
- };
- feComponentTransfer_type = g_type_register_static(SP_TYPE_FILTER_PRIMITIVE, "SPFeComponentTransfer", &feComponentTransfer_info, (GTypeFlags)0);
- }
- return feComponentTransfer_type;
-}
+G_DEFINE_TYPE(SPFeComponentTransfer, sp_feComponentTransfer, SP_TYPE_FILTER_PRIMITIVE);
static void
sp_feComponentTransfer_class_init(SPFeComponentTransferClass *klass)
{
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
SPFilterPrimitiveClass *sp_primitive_class = (SPFilterPrimitiveClass *)klass;
- feComponentTransfer_parent_class = (SPFilterPrimitiveClass*)g_type_class_peek_parent(klass);
sp_object_class->build = sp_feComponentTransfer_build;
sp_object_class->release = sp_feComponentTransfer_release;
@@ -93,8 +68,8 @@ sp_feComponentTransfer_init(SPFeComponentTransfer */*feComponentTransfer*/)
static void
sp_feComponentTransfer_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) feComponentTransfer_parent_class)->build) {
- ((SPObjectClass *) feComponentTransfer_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_feComponentTransfer_parent_class)->build) {
+ ((SPObjectClass *) sp_feComponentTransfer_parent_class)->build(object, document, repr);
}
/*LOAD ATTRIBUTES FROM REPR HERE*/
@@ -144,8 +119,8 @@ sp_feComponentTransfer_child_added(SPObject *object, Inkscape::XML::Node *child,
{
SPFeComponentTransfer *f = SP_FECOMPONENTTRANSFER(object);
- if (((SPObjectClass *) feComponentTransfer_parent_class)->child_added)
- (* ((SPObjectClass *) feComponentTransfer_parent_class)->child_added)(object, child, ref);
+ if (((SPObjectClass *) sp_feComponentTransfer_parent_class)->child_added)
+ (* ((SPObjectClass *) sp_feComponentTransfer_parent_class)->child_added)(object, child, ref);
sp_feComponentTransfer_children_modified(f);
object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG);
@@ -160,8 +135,8 @@ sp_feComponentTransfer_remove_child(SPObject *object, Inkscape::XML::Node *child
{
SPFeComponentTransfer *f = SP_FECOMPONENTTRANSFER(object);
- if (((SPObjectClass *) feComponentTransfer_parent_class)->remove_child)
- (* ((SPObjectClass *) feComponentTransfer_parent_class)->remove_child)(object, child);
+ if (((SPObjectClass *) sp_feComponentTransfer_parent_class)->remove_child)
+ (* ((SPObjectClass *) sp_feComponentTransfer_parent_class)->remove_child)(object, child);
sp_feComponentTransfer_children_modified(f);
object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG);
@@ -173,8 +148,8 @@ sp_feComponentTransfer_remove_child(SPObject *object, Inkscape::XML::Node *child
static void
sp_feComponentTransfer_release(SPObject *object)
{
- if (((SPObjectClass *) feComponentTransfer_parent_class)->release)
- ((SPObjectClass *) feComponentTransfer_parent_class)->release(object);
+ if (((SPObjectClass *) sp_feComponentTransfer_parent_class)->release)
+ ((SPObjectClass *) sp_feComponentTransfer_parent_class)->release(object);
}
/**
@@ -189,8 +164,8 @@ sp_feComponentTransfer_set(SPObject *object, unsigned int key, gchar const *valu
switch(key) {
/*DEAL WITH SETTING ATTRIBUTES HERE*/
default:
- if (((SPObjectClass *) feComponentTransfer_parent_class)->set)
- ((SPObjectClass *) feComponentTransfer_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_feComponentTransfer_parent_class)->set)
+ ((SPObjectClass *) sp_feComponentTransfer_parent_class)->set(object, key, value);
break;
}
}
@@ -208,8 +183,8 @@ sp_feComponentTransfer_update(SPObject *object, SPCtx *ctx, guint flags)
}
- if (((SPObjectClass *) feComponentTransfer_parent_class)->update) {
- ((SPObjectClass *) feComponentTransfer_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_feComponentTransfer_parent_class)->update) {
+ ((SPObjectClass *) sp_feComponentTransfer_parent_class)->update(object, ctx, flags);
}
}
@@ -225,8 +200,8 @@ sp_feComponentTransfer_write(SPObject *object, Inkscape::XML::Document *doc, Ink
repr = object->getRepr()->duplicate(doc);
}
- if (((SPObjectClass *) feComponentTransfer_parent_class)->write) {
- ((SPObjectClass *) feComponentTransfer_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_feComponentTransfer_parent_class)->write) {
+ ((SPObjectClass *) sp_feComponentTransfer_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/filters/composite.cpp b/src/filters/composite.cpp
index 66e8e3415..d490f336c 100644
--- a/src/filters/composite.cpp
+++ b/src/filters/composite.cpp
@@ -26,10 +26,6 @@
#include "sp-filter.h"
/* FeComposite base class */
-
-static void sp_feComposite_class_init(SPFeCompositeClass *klass);
-static void sp_feComposite_init(SPFeComposite *feComposite);
-
static void sp_feComposite_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_feComposite_release(SPObject *object);
static void sp_feComposite_set(SPObject *object, unsigned int key, gchar const *value);
@@ -37,28 +33,7 @@ static void sp_feComposite_update(SPObject *object, SPCtx *ctx, guint flags);
static Inkscape::XML::Node *sp_feComposite_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
static void sp_feComposite_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter);
-static SPFilterPrimitiveClass *feComposite_parent_class;
-
-GType
-sp_feComposite_get_type()
-{
- static GType feComposite_type = 0;
-
- if (!feComposite_type) {
- GTypeInfo feComposite_info = {
- sizeof(SPFeCompositeClass),
- NULL, NULL,
- (GClassInitFunc) sp_feComposite_class_init,
- NULL, NULL,
- sizeof(SPFeComposite),
- 16,
- (GInstanceInitFunc) sp_feComposite_init,
- NULL, /* value_table */
- };
- feComposite_type = g_type_register_static(SP_TYPE_FILTER_PRIMITIVE, "SPFeComposite", &feComposite_info, (GTypeFlags)0);
- }
- return feComposite_type;
-}
+G_DEFINE_TYPE(SPFeComposite, sp_feComposite, SP_TYPE_FILTER_PRIMITIVE);
static void
sp_feComposite_class_init(SPFeCompositeClass *klass)
@@ -66,8 +41,6 @@ sp_feComposite_class_init(SPFeCompositeClass *klass)
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
SPFilterPrimitiveClass *sp_primitive_class = (SPFilterPrimitiveClass *)klass;
- feComposite_parent_class = (SPFilterPrimitiveClass*)g_type_class_peek_parent(klass);
-
sp_object_class->build = sp_feComposite_build;
sp_object_class->release = sp_feComposite_release;
sp_object_class->write = sp_feComposite_write;
@@ -96,8 +69,8 @@ sp_feComposite_init(SPFeComposite *feComposite)
static void
sp_feComposite_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) feComposite_parent_class)->build) {
- ((SPObjectClass *) feComposite_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_feComposite_parent_class)->build) {
+ ((SPObjectClass *) sp_feComposite_parent_class)->build(object, document, repr);
}
SPFeComposite *comp = SP_FECOMPOSITE(object);
@@ -128,8 +101,8 @@ sp_feComposite_build(SPObject *object, SPDocument *document, Inkscape::XML::Node
static void
sp_feComposite_release(SPObject *object)
{
- if (((SPObjectClass *) feComposite_parent_class)->release)
- ((SPObjectClass *) feComposite_parent_class)->release(object);
+ if (((SPObjectClass *) sp_feComposite_parent_class)->release)
+ ((SPObjectClass *) sp_feComposite_parent_class)->release(object);
}
static FeCompositeOperator
@@ -212,8 +185,8 @@ sp_feComposite_set(SPObject *object, unsigned int key, gchar const *value)
break;
default:
- if (((SPObjectClass *) feComposite_parent_class)->set)
- ((SPObjectClass *) feComposite_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_feComposite_parent_class)->set)
+ ((SPObjectClass *) sp_feComposite_parent_class)->set(object, key, value);
break;
}
@@ -246,8 +219,8 @@ sp_feComposite_update(SPObject *object, SPCtx *ctx, guint flags)
object->getRepr()->setAttribute("in2", sp_filter_name_for_image(parent, comp->in2));
}
- if (((SPObjectClass *) feComposite_parent_class)->update) {
- ((SPObjectClass *) feComposite_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_feComposite_parent_class)->update) {
+ ((SPObjectClass *) sp_feComposite_parent_class)->update(object, ctx, flags);
}
}
@@ -309,8 +282,8 @@ sp_feComposite_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::X
repr->setAttribute("k4", 0);
}
- if (((SPObjectClass *) feComposite_parent_class)->write) {
- ((SPObjectClass *) feComposite_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_feComposite_parent_class)->write) {
+ ((SPObjectClass *) sp_feComposite_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/filters/convolvematrix.cpp b/src/filters/convolvematrix.cpp
index 470bfb64a..d002ef731 100644
--- a/src/filters/convolvematrix.cpp
+++ b/src/filters/convolvematrix.cpp
@@ -29,10 +29,6 @@
#include "display/nr-filter-convolve-matrix.h"
/* FeConvolveMatrix base class */
-
-static void sp_feConvolveMatrix_class_init(SPFeConvolveMatrixClass *klass);
-static void sp_feConvolveMatrix_init(SPFeConvolveMatrix *feConvolveMatrix);
-
static void sp_feConvolveMatrix_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_feConvolveMatrix_release(SPObject *object);
static void sp_feConvolveMatrix_set(SPObject *object, unsigned int key, gchar const *value);
@@ -40,28 +36,7 @@ static void sp_feConvolveMatrix_update(SPObject *object, SPCtx *ctx, guint flags
static Inkscape::XML::Node *sp_feConvolveMatrix_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
static void sp_feConvolveMatrix_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter);
-static SPFilterPrimitiveClass *feConvolveMatrix_parent_class;
-
-GType
-sp_feConvolveMatrix_get_type()
-{
- static GType feConvolveMatrix_type = 0;
-
- if (!feConvolveMatrix_type) {
- GTypeInfo feConvolveMatrix_info = {
- sizeof(SPFeConvolveMatrixClass),
- NULL, NULL,
- (GClassInitFunc) sp_feConvolveMatrix_class_init,
- NULL, NULL,
- sizeof(SPFeConvolveMatrix),
- 16,
- (GInstanceInitFunc) sp_feConvolveMatrix_init,
- NULL, /* value_table */
- };
- feConvolveMatrix_type = g_type_register_static(SP_TYPE_FILTER_PRIMITIVE, "SPFeConvolveMatrix", &feConvolveMatrix_info, (GTypeFlags)0);
- }
- return feConvolveMatrix_type;
-}
+G_DEFINE_TYPE(SPFeConvolveMatrix, sp_feConvolveMatrix, SP_TYPE_FILTER_PRIMITIVE);
static void
sp_feConvolveMatrix_class_init(SPFeConvolveMatrixClass *klass)
@@ -69,8 +44,6 @@ sp_feConvolveMatrix_class_init(SPFeConvolveMatrixClass *klass)
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
SPFilterPrimitiveClass *sp_primitive_class = (SPFilterPrimitiveClass *)klass;
- feConvolveMatrix_parent_class = (SPFilterPrimitiveClass*)g_type_class_peek_parent(klass);
-
sp_object_class->build = sp_feConvolveMatrix_build;
sp_object_class->release = sp_feConvolveMatrix_release;
sp_object_class->write = sp_feConvolveMatrix_write;
@@ -104,8 +77,8 @@ sp_feConvolveMatrix_init(SPFeConvolveMatrix *feConvolveMatrix)
static void
sp_feConvolveMatrix_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) feConvolveMatrix_parent_class)->build) {
- ((SPObjectClass *) feConvolveMatrix_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_feConvolveMatrix_parent_class)->build) {
+ ((SPObjectClass *) sp_feConvolveMatrix_parent_class)->build(object, document, repr);
}
/*LOAD ATTRIBUTES FROM REPR HERE*/
@@ -126,8 +99,8 @@ sp_feConvolveMatrix_build(SPObject *object, SPDocument *document, Inkscape::XML:
static void
sp_feConvolveMatrix_release(SPObject *object)
{
- if (((SPObjectClass *) feConvolveMatrix_parent_class)->release)
- ((SPObjectClass *) feConvolveMatrix_parent_class)->release(object);
+ if (((SPObjectClass *) sp_feConvolveMatrix_parent_class)->release)
+ ((SPObjectClass *) sp_feConvolveMatrix_parent_class)->release(object);
}
static Inkscape::Filters::FilterConvolveMatrixEdgeMode sp_feConvolveMatrix_read_edgeMode(gchar const *value){
@@ -265,8 +238,8 @@ sp_feConvolveMatrix_set(SPObject *object, unsigned int key, gchar const *value)
}
break;
default:
- if (((SPObjectClass *) feConvolveMatrix_parent_class)->set)
- ((SPObjectClass *) feConvolveMatrix_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_feConvolveMatrix_parent_class)->set)
+ ((SPObjectClass *) sp_feConvolveMatrix_parent_class)->set(object, key, value);
break;
}
@@ -285,8 +258,8 @@ sp_feConvolveMatrix_update(SPObject *object, SPCtx *ctx, guint flags)
}
- if (((SPObjectClass *) feConvolveMatrix_parent_class)->update) {
- ((SPObjectClass *) feConvolveMatrix_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_feConvolveMatrix_parent_class)->update) {
+ ((SPObjectClass *) sp_feConvolveMatrix_parent_class)->update(object, ctx, flags);
}
}
@@ -303,8 +276,8 @@ sp_feConvolveMatrix_write(SPObject *object, Inkscape::XML::Document *doc, Inksca
}
- if (((SPObjectClass *) feConvolveMatrix_parent_class)->write) {
- ((SPObjectClass *) feConvolveMatrix_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_feConvolveMatrix_parent_class)->write) {
+ ((SPObjectClass *) sp_feConvolveMatrix_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/filters/diffuselighting.cpp b/src/filters/diffuselighting.cpp
index 0f2f29d67..2e69f7555 100644
--- a/src/filters/diffuselighting.cpp
+++ b/src/filters/diffuselighting.cpp
@@ -31,10 +31,6 @@
#include "display/nr-filter-diffuselighting.h"
/* FeDiffuseLighting base class */
-
-static void sp_feDiffuseLighting_class_init(SPFeDiffuseLightingClass *klass);
-static void sp_feDiffuseLighting_init(SPFeDiffuseLighting *feDiffuseLighting);
-
static void sp_feDiffuseLighting_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_feDiffuseLighting_release(SPObject *object);
static void sp_feDiffuseLighting_set(SPObject *object, unsigned int key, gchar const *value);
@@ -52,35 +48,13 @@ static Inkscape::XML::Node *sp_feDiffuseLighting_write(SPObject *object, Inkscap
static void sp_feDiffuseLighting_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter);
static void sp_feDiffuseLighting_children_modified(SPFeDiffuseLighting *sp_diffuselighting);
-static SPFilterPrimitiveClass *feDiffuseLighting_parent_class;
-
-GType
-sp_feDiffuseLighting_get_type()
-{
- static GType feDiffuseLighting_type = 0;
-
- if (!feDiffuseLighting_type) {
- GTypeInfo feDiffuseLighting_info = {
- sizeof(SPFeDiffuseLightingClass),
- NULL, NULL,
- (GClassInitFunc) sp_feDiffuseLighting_class_init,
- NULL, NULL,
- sizeof(SPFeDiffuseLighting),
- 16,
- (GInstanceInitFunc) sp_feDiffuseLighting_init,
- NULL, /* value_table */
- };
- feDiffuseLighting_type = g_type_register_static(SP_TYPE_FILTER_PRIMITIVE, "SPFeDiffuseLighting", &feDiffuseLighting_info, (GTypeFlags)0);
- }
- return feDiffuseLighting_type;
-}
+G_DEFINE_TYPE(SPFeDiffuseLighting, sp_feDiffuseLighting, SP_TYPE_FILTER_PRIMITIVE);
static void
sp_feDiffuseLighting_class_init(SPFeDiffuseLightingClass *klass)
{
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
SPFilterPrimitiveClass *sp_primitive_class = (SPFilterPrimitiveClass *)klass;
- feDiffuseLighting_parent_class = (SPFilterPrimitiveClass*)g_type_class_peek_parent(klass);
sp_object_class->build = sp_feDiffuseLighting_build;
sp_object_class->release = sp_feDiffuseLighting_release;
@@ -116,8 +90,8 @@ sp_feDiffuseLighting_init(SPFeDiffuseLighting *feDiffuseLighting)
static void
sp_feDiffuseLighting_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) feDiffuseLighting_parent_class)->build) {
- ((SPObjectClass *) feDiffuseLighting_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_feDiffuseLighting_parent_class)->build) {
+ ((SPObjectClass *) sp_feDiffuseLighting_parent_class)->build(object, document, repr);
}
/*LOAD ATTRIBUTES FROM REPR HERE*/
@@ -134,8 +108,8 @@ sp_feDiffuseLighting_build(SPObject *object, SPDocument *document, Inkscape::XML
static void
sp_feDiffuseLighting_release(SPObject *object)
{
- if (((SPObjectClass *) feDiffuseLighting_parent_class)->release)
- ((SPObjectClass *) feDiffuseLighting_parent_class)->release(object);
+ if (((SPObjectClass *) sp_feDiffuseLighting_parent_class)->release)
+ ((SPObjectClass *) sp_feDiffuseLighting_parent_class)->release(object);
}
/**
@@ -213,8 +187,8 @@ sp_feDiffuseLighting_set(SPObject *object, unsigned int key, gchar const *value)
object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG);
break;
default:
- if (((SPObjectClass *) feDiffuseLighting_parent_class)->set)
- ((SPObjectClass *) feDiffuseLighting_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_feDiffuseLighting_parent_class)->set)
+ ((SPObjectClass *) sp_feDiffuseLighting_parent_class)->set(object, key, value);
break;
}
@@ -233,8 +207,8 @@ sp_feDiffuseLighting_update(SPObject *object, SPCtx *ctx, guint flags)
object->readAttr( "lighting-color" );
}
- if (((SPObjectClass *) feDiffuseLighting_parent_class)->update) {
- ((SPObjectClass *) feDiffuseLighting_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_feDiffuseLighting_parent_class)->update) {
+ ((SPObjectClass *) sp_feDiffuseLighting_parent_class)->update(object, ctx, flags);
}
}
@@ -269,8 +243,8 @@ sp_feDiffuseLighting_write(SPObject *object, Inkscape::XML::Document *doc, Inksc
} else
repr->setAttribute("lighting-color", NULL);
- if (((SPObjectClass *) feDiffuseLighting_parent_class)->write) {
- ((SPObjectClass *) feDiffuseLighting_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_feDiffuseLighting_parent_class)->write) {
+ ((SPObjectClass *) sp_feDiffuseLighting_parent_class)->write(object, doc, repr, flags);
}
return repr;
@@ -284,8 +258,8 @@ sp_feDiffuseLighting_child_added(SPObject *object, Inkscape::XML::Node *child, I
{
SPFeDiffuseLighting *f = SP_FEDIFFUSELIGHTING(object);
- if (((SPObjectClass *) feDiffuseLighting_parent_class)->child_added)
- (* ((SPObjectClass *) feDiffuseLighting_parent_class)->child_added)(object, child, ref);
+ if (((SPObjectClass *) sp_feDiffuseLighting_parent_class)->child_added)
+ (* ((SPObjectClass *) sp_feDiffuseLighting_parent_class)->child_added)(object, child, ref);
sp_feDiffuseLighting_children_modified(f);
object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG);
@@ -300,8 +274,8 @@ sp_feDiffuseLighting_remove_child(SPObject *object, Inkscape::XML::Node *child)
{
SPFeDiffuseLighting *f = SP_FEDIFFUSELIGHTING(object);
- if (((SPObjectClass *) feDiffuseLighting_parent_class)->remove_child)
- (* ((SPObjectClass *) feDiffuseLighting_parent_class)->remove_child)(object, child);
+ if (((SPObjectClass *) sp_feDiffuseLighting_parent_class)->remove_child)
+ (* ((SPObjectClass *) sp_feDiffuseLighting_parent_class)->remove_child)(object, child);
sp_feDiffuseLighting_children_modified(f);
object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG);
@@ -311,8 +285,8 @@ static void
sp_feDiffuseLighting_order_changed (SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *old_ref, Inkscape::XML::Node *new_ref)
{
SPFeDiffuseLighting *f = SP_FEDIFFUSELIGHTING(object);
- if (((SPObjectClass *) (feDiffuseLighting_parent_class))->order_changed)
- (* ((SPObjectClass *) (feDiffuseLighting_parent_class))->order_changed) (object, child, old_ref, new_ref);
+ if (((SPObjectClass *) (sp_feDiffuseLighting_parent_class))->order_changed)
+ (* ((SPObjectClass *) (sp_feDiffuseLighting_parent_class))->order_changed) (object, child, old_ref, new_ref);
sp_feDiffuseLighting_children_modified(f);
object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG);
diff --git a/src/filters/displacementmap.cpp b/src/filters/displacementmap.cpp
index 69a678c26..408ffce9e 100644
--- a/src/filters/displacementmap.cpp
+++ b/src/filters/displacementmap.cpp
@@ -26,10 +26,6 @@
#include "display/nr-filter-displacement-map.h"
/* FeDisplacementMap base class */
-
-static void sp_feDisplacementMap_class_init(SPFeDisplacementMapClass *klass);
-static void sp_feDisplacementMap_init(SPFeDisplacementMap *feDisplacementMap);
-
static void sp_feDisplacementMap_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_feDisplacementMap_release(SPObject *object);
static void sp_feDisplacementMap_set(SPObject *object, unsigned int key, gchar const *value);
@@ -37,28 +33,7 @@ static void sp_feDisplacementMap_update(SPObject *object, SPCtx *ctx, guint flag
static void sp_feDisplacementMap_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter);
static Inkscape::XML::Node *sp_feDisplacementMap_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
-static SPFilterPrimitiveClass *feDisplacementMap_parent_class;
-
-GType
-sp_feDisplacementMap_get_type()
-{
- static GType feDisplacementMap_type = 0;
-
- if (!feDisplacementMap_type) {
- GTypeInfo feDisplacementMap_info = {
- sizeof(SPFeDisplacementMapClass),
- NULL, NULL,
- (GClassInitFunc) sp_feDisplacementMap_class_init,
- NULL, NULL,
- sizeof(SPFeDisplacementMap),
- 16,
- (GInstanceInitFunc) sp_feDisplacementMap_init,
- NULL, /* value_table */
- };
- feDisplacementMap_type = g_type_register_static(SP_TYPE_FILTER_PRIMITIVE, "SPFeDisplacementMap", &feDisplacementMap_info, (GTypeFlags)0);
- }
- return feDisplacementMap_type;
-}
+G_DEFINE_TYPE(SPFeDisplacementMap, sp_feDisplacementMap, SP_TYPE_FILTER_PRIMITIVE);
static void
sp_feDisplacementMap_class_init(SPFeDisplacementMapClass *klass)
@@ -66,8 +41,6 @@ sp_feDisplacementMap_class_init(SPFeDisplacementMapClass *klass)
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
SPFilterPrimitiveClass *sp_primitive_class = (SPFilterPrimitiveClass *)klass;
- feDisplacementMap_parent_class = (SPFilterPrimitiveClass*)g_type_class_peek_parent(klass);
-
sp_object_class->build = sp_feDisplacementMap_build;
sp_object_class->release = sp_feDisplacementMap_release;
sp_object_class->write = sp_feDisplacementMap_write;
@@ -93,8 +66,8 @@ sp_feDisplacementMap_init(SPFeDisplacementMap *feDisplacementMap)
static void
sp_feDisplacementMap_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) feDisplacementMap_parent_class)->build) {
- ((SPObjectClass *) feDisplacementMap_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_feDisplacementMap_parent_class)->build) {
+ ((SPObjectClass *) sp_feDisplacementMap_parent_class)->build(object, document, repr);
}
/*LOAD ATTRIBUTES FROM REPR HERE*/
@@ -121,8 +94,8 @@ sp_feDisplacementMap_build(SPObject *object, SPDocument *document, Inkscape::XML
static void
sp_feDisplacementMap_release(SPObject *object)
{
- if (((SPObjectClass *) feDisplacementMap_parent_class)->release)
- ((SPObjectClass *) feDisplacementMap_parent_class)->release(object);
+ if (((SPObjectClass *) sp_feDisplacementMap_parent_class)->release)
+ ((SPObjectClass *) sp_feDisplacementMap_parent_class)->release(object);
}
static FilterDisplacementMapChannelSelector sp_feDisplacementMap_readChannelSelector(gchar const *value)
@@ -191,8 +164,8 @@ sp_feDisplacementMap_set(SPObject *object, unsigned int key, gchar const *value)
}
break;
default:
- if (((SPObjectClass *) feDisplacementMap_parent_class)->set)
- ((SPObjectClass *) feDisplacementMap_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_feDisplacementMap_parent_class)->set)
+ ((SPObjectClass *) sp_feDisplacementMap_parent_class)->set(object, key, value);
break;
}
@@ -224,8 +197,8 @@ sp_feDisplacementMap_update(SPObject *object, SPCtx *ctx, guint flags)
object->getRepr()->setAttribute("in2", sp_filter_name_for_image(parent, disp->in2));
}
- if (((SPObjectClass *) feDisplacementMap_parent_class)->update) {
- ((SPObjectClass *) feDisplacementMap_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_feDisplacementMap_parent_class)->update) {
+ ((SPObjectClass *) sp_feDisplacementMap_parent_class)->update(object, ctx, flags);
}
}
@@ -277,8 +250,8 @@ sp_feDisplacementMap_write(SPObject *object, Inkscape::XML::Document *doc, Inksc
repr->setAttribute("yChannelSelector",
get_channelselector_name(disp->yChannelSelector));
- if (((SPObjectClass *) feDisplacementMap_parent_class)->write) {
- ((SPObjectClass *) feDisplacementMap_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_feDisplacementMap_parent_class)->write) {
+ ((SPObjectClass *) sp_feDisplacementMap_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/filters/distantlight.cpp b/src/filters/distantlight.cpp
index 891049415..5e1c35a95 100644
--- a/src/filters/distantlight.cpp
+++ b/src/filters/distantlight.cpp
@@ -30,47 +30,19 @@
#include "macros.h"
/* FeDistantLight class */
-
-static void sp_fedistantlight_class_init(SPFeDistantLightClass *klass);
-static void sp_fedistantlight_init(SPFeDistantLight *fedistantlight);
-
static void sp_fedistantlight_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_fedistantlight_release(SPObject *object);
static void sp_fedistantlight_set(SPObject *object, unsigned int key, gchar const *value);
static void sp_fedistantlight_update(SPObject *object, SPCtx *ctx, guint flags);
static Inkscape::XML::Node *sp_fedistantlight_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
-static SPObjectClass *feDistantLight_parent_class;
-
-GType
-sp_fedistantlight_get_type()
-{
- static GType fedistantlight_type = 0;
-
- if (!fedistantlight_type) {
- GTypeInfo fedistantlight_info = {
- sizeof(SPFeDistantLightClass),
- NULL, NULL,
- (GClassInitFunc) sp_fedistantlight_class_init,
- NULL, NULL,
- sizeof(SPFeDistantLight),
- 16,
- (GInstanceInitFunc) sp_fedistantlight_init,
- NULL, /* value_table */
- };
- fedistantlight_type = g_type_register_static(SP_TYPE_OBJECT, "SPFeDistantLight", &fedistantlight_info, (GTypeFlags)0);
- }
- return fedistantlight_type;
-}
+G_DEFINE_TYPE(SPFeDistantLight, sp_fedistantlight, SP_TYPE_OBJECT);
static void
sp_fedistantlight_class_init(SPFeDistantLightClass *klass)
{
-
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
- feDistantLight_parent_class = (SPObjectClass*)g_type_class_peek_parent(klass);
-
sp_object_class->build = sp_fedistantlight_build;
sp_object_class->release = sp_fedistantlight_release;
sp_object_class->write = sp_fedistantlight_write;
@@ -95,8 +67,8 @@ sp_fedistantlight_init(SPFeDistantLight *fedistantlight)
static void
sp_fedistantlight_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) feDistantLight_parent_class)->build) {
- ((SPObjectClass *) feDistantLight_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_fedistantlight_parent_class)->build) {
+ ((SPObjectClass *) sp_fedistantlight_parent_class)->build(object, document, repr);
}
//Read values of key attributes from XML nodes into object.
@@ -170,8 +142,8 @@ sp_fedistantlight_set(SPObject *object, unsigned int key, gchar const *value)
break;
default:
// See if any parents need this value.
- if (((SPObjectClass *) feDistantLight_parent_class)->set) {
- ((SPObjectClass *) feDistantLight_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_fedistantlight_parent_class)->set) {
+ ((SPObjectClass *) sp_fedistantlight_parent_class)->set(object, key, value);
}
break;
}
@@ -192,8 +164,8 @@ sp_fedistantlight_update(SPObject *object, SPCtx *ctx, guint flags)
object->readAttr( "elevation" );
}
- if (((SPObjectClass *) feDistantLight_parent_class)->update) {
- ((SPObjectClass *) feDistantLight_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_fedistantlight_parent_class)->update) {
+ ((SPObjectClass *) sp_fedistantlight_parent_class)->update(object, ctx, flags);
}
}
@@ -214,8 +186,8 @@ sp_fedistantlight_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape
if (fedistantlight->elevation_set)
sp_repr_set_css_double(repr, "elevation", fedistantlight->elevation);
- if (((SPObjectClass *) feDistantLight_parent_class)->write) {
- ((SPObjectClass *) feDistantLight_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_fedistantlight_parent_class)->write) {
+ ((SPObjectClass *) sp_fedistantlight_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/filters/gaussian-blur.cpp b/src/filters/gaussian-blur.cpp
index ee1af8904..ca93cf6d8 100644
--- a/src/filters/gaussian-blur.cpp
+++ b/src/filters/gaussian-blur.cpp
@@ -31,10 +31,6 @@
//#include "macros.h"
/* GaussianBlur base class */
-
-static void sp_gaussianBlur_class_init(SPGaussianBlurClass *klass);
-static void sp_gaussianBlur_init(SPGaussianBlur *gaussianBlur);
-
static void sp_gaussianBlur_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_gaussianBlur_release(SPObject *object);
static void sp_gaussianBlur_set(SPObject *object, unsigned int key, gchar const *value);
@@ -42,28 +38,7 @@ static void sp_gaussianBlur_update(SPObject *object, SPCtx *ctx, guint flags);
static Inkscape::XML::Node *sp_gaussianBlur_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
static void sp_gaussianBlur_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter);
-static SPFilterPrimitiveClass *gaussianBlur_parent_class;
-
-GType
-sp_gaussianBlur_get_type()
-{
- static GType gaussianBlur_type = 0;
-
- if (!gaussianBlur_type) {
- GTypeInfo gaussianBlur_info = {
- sizeof(SPGaussianBlurClass),
- NULL, NULL,
- (GClassInitFunc) sp_gaussianBlur_class_init,
- NULL, NULL,
- sizeof(SPGaussianBlur),
- 16,
- (GInstanceInitFunc) sp_gaussianBlur_init,
- NULL, /* value_table */
- };
- gaussianBlur_type = g_type_register_static(SP_TYPE_FILTER_PRIMITIVE, "SPGaussianBlur", &gaussianBlur_info, (GTypeFlags)0);
- }
- return gaussianBlur_type;
-}
+G_DEFINE_TYPE(SPGaussianBlur, sp_gaussianBlur, SP_TYPE_FILTER_PRIMITIVE);
static void
sp_gaussianBlur_class_init(SPGaussianBlurClass *klass)
@@ -71,8 +46,6 @@ sp_gaussianBlur_class_init(SPGaussianBlurClass *klass)
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
SPFilterPrimitiveClass *sp_primitive_class = (SPFilterPrimitiveClass *)klass;
- gaussianBlur_parent_class = (SPFilterPrimitiveClass *)g_type_class_peek_parent(klass);
-
sp_object_class->build = sp_gaussianBlur_build;
sp_object_class->release = sp_gaussianBlur_release;
sp_object_class->write = sp_gaussianBlur_write;
@@ -95,8 +68,8 @@ sp_gaussianBlur_init(SPGaussianBlur */*gaussianBlur*/)
static void
sp_gaussianBlur_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) gaussianBlur_parent_class)->build) {
- ((SPObjectClass *) gaussianBlur_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_gaussianBlur_parent_class)->build) {
+ ((SPObjectClass *) sp_gaussianBlur_parent_class)->build(object, document, repr);
}
object->readAttr( "stdDeviation" );
@@ -110,8 +83,8 @@ static void
sp_gaussianBlur_release(SPObject *object)
{
- if (((SPObjectClass *) gaussianBlur_parent_class)->release)
- ((SPObjectClass *) gaussianBlur_parent_class)->release(object);
+ if (((SPObjectClass *) sp_gaussianBlur_parent_class)->release)
+ ((SPObjectClass *) sp_gaussianBlur_parent_class)->release(object);
}
/**
@@ -128,8 +101,8 @@ sp_gaussianBlur_set(SPObject *object, unsigned int key, gchar const *value)
object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG);
break;
default:
- if (((SPObjectClass *) gaussianBlur_parent_class)->set)
- ((SPObjectClass *) gaussianBlur_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_gaussianBlur_parent_class)->set)
+ ((SPObjectClass *) sp_gaussianBlur_parent_class)->set(object, key, value);
break;
}
@@ -145,8 +118,8 @@ sp_gaussianBlur_update(SPObject *object, SPCtx *ctx, guint flags)
object->readAttr( "stdDeviation" );
}
- if (((SPObjectClass *) gaussianBlur_parent_class)->update) {
- ((SPObjectClass *) gaussianBlur_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_gaussianBlur_parent_class)->update) {
+ ((SPObjectClass *) sp_gaussianBlur_parent_class)->update(object, ctx, flags);
}
}
@@ -162,8 +135,8 @@ sp_gaussianBlur_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::
repr = object->getRepr()->duplicate(doc);
}
- if (((SPObjectClass *) gaussianBlur_parent_class)->write) {
- ((SPObjectClass *) gaussianBlur_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_gaussianBlur_parent_class)->write) {
+ ((SPObjectClass *) sp_gaussianBlur_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/filters/image.cpp b/src/filters/image.cpp
index f6ef310f7..ec31e59a7 100644
--- a/src/filters/image.cpp
+++ b/src/filters/image.cpp
@@ -30,10 +30,6 @@
#include "display/nr-filter-image.h"
/* FeImage base class */
-
-static void sp_feImage_class_init(SPFeImageClass *klass);
-static void sp_feImage_init(SPFeImage *feImage);
-
static void sp_feImage_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_feImage_release(SPObject *object);
static void sp_feImage_set(SPObject *object, unsigned int key, gchar const *value);
@@ -41,35 +37,13 @@ static void sp_feImage_update(SPObject *object, SPCtx *ctx, guint flags);
static Inkscape::XML::Node *sp_feImage_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
static void sp_feImage_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter);
-static SPFilterPrimitiveClass *feImage_parent_class;
-
-GType sp_feImage_get_type()
-{
- static GType feImage_type = 0;
-
- if (!feImage_type) {
- GTypeInfo feImage_info = {
- sizeof(SPFeImageClass),
- NULL, NULL,
- (GClassInitFunc) sp_feImage_class_init,
- NULL, NULL,
- sizeof(SPFeImage),
- 16,
- (GInstanceInitFunc) sp_feImage_init,
- NULL, /* value_table */
- };
- feImage_type = g_type_register_static(SP_TYPE_FILTER_PRIMITIVE, "SPFeImage", &feImage_info, (GTypeFlags)0);
- }
- return feImage_type;
-}
+G_DEFINE_TYPE(SPFeImage, sp_feImage, SP_TYPE_FILTER_PRIMITIVE);
static void sp_feImage_class_init(SPFeImageClass *klass)
{
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
SPFilterPrimitiveClass * sp_primitive_class = (SPFilterPrimitiveClass *)klass;
- feImage_parent_class = (SPFilterPrimitiveClass*)g_type_class_peek_parent(klass);
-
sp_object_class->build = sp_feImage_build;
sp_object_class->release = sp_feImage_release;
sp_object_class->write = sp_feImage_write;
@@ -96,8 +70,8 @@ static void sp_feImage_build(SPObject *object, SPDocument *document, Inkscape::X
SPFeImage *feImage = SP_FEIMAGE(object);
feImage->document = document;
- if (((SPObjectClass *) feImage_parent_class)->build) {
- ((SPObjectClass *) feImage_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_feImage_parent_class)->build) {
+ ((SPObjectClass *) sp_feImage_parent_class)->build(object, document, repr);
}
/*LOAD ATTRIBUTES FROM REPR HERE*/
@@ -117,8 +91,8 @@ static void sp_feImage_release(SPObject *object)
feImage->_href_modified_connection.disconnect();
if (feImage->SVGElemRef) delete feImage->SVGElemRef;
- if (((SPObjectClass *) feImage_parent_class)->release)
- ((SPObjectClass *) feImage_parent_class)->release(object);
+ if (((SPObjectClass *) sp_feImage_parent_class)->release)
+ ((SPObjectClass *) sp_feImage_parent_class)->release(object);
}
static void sp_feImage_elem_modified(SPObject* /*href*/, guint /*flags*/, SPObject* obj)
@@ -247,8 +221,8 @@ static void sp_feImage_set(SPObject *object, unsigned int key, gchar const *valu
break;
default:
- if (((SPObjectClass *) feImage_parent_class)->set)
- ((SPObjectClass *) feImage_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_feImage_parent_class)->set)
+ ((SPObjectClass *) sp_feImage_parent_class)->set(object, key, value);
break;
}
@@ -266,8 +240,8 @@ static void sp_feImage_update(SPObject *object, SPCtx *ctx, guint flags)
/* do something to trigger redisplay, updates? */
}
- if (((SPObjectClass *) feImage_parent_class)->update) {
- ((SPObjectClass *) feImage_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_feImage_parent_class)->update) {
+ ((SPObjectClass *) sp_feImage_parent_class)->update(object, ctx, flags);
}
}
@@ -282,8 +256,8 @@ static Inkscape::XML::Node * sp_feImage_write(SPObject *object, Inkscape::XML::D
repr = object->getRepr()->duplicate(doc);
}
- if (((SPObjectClass *) feImage_parent_class)->write) {
- ((SPObjectClass *) feImage_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_feImage_parent_class)->write) {
+ ((SPObjectClass *) sp_feImage_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/filters/merge.cpp b/src/filters/merge.cpp
index b5a6d7dad..7346a0892 100644
--- a/src/filters/merge.cpp
+++ b/src/filters/merge.cpp
@@ -25,10 +25,6 @@
#include "display/nr-filter-merge.h"
/* FeMerge base class */
-
-static void sp_feMerge_class_init(SPFeMergeClass *klass);
-static void sp_feMerge_init(SPFeMerge *feMerge);
-
static void sp_feMerge_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_feMerge_release(SPObject *object);
static void sp_feMerge_set(SPObject *object, unsigned int key, gchar const *value);
@@ -36,28 +32,7 @@ static void sp_feMerge_update(SPObject *object, SPCtx *ctx, guint flags);
static Inkscape::XML::Node *sp_feMerge_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
static void sp_feMerge_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter);
-static SPFilterPrimitiveClass *feMerge_parent_class;
-
-GType
-sp_feMerge_get_type()
-{
- static GType feMerge_type = 0;
-
- if (!feMerge_type) {
- GTypeInfo feMerge_info = {
- sizeof(SPFeMergeClass),
- NULL, NULL,
- (GClassInitFunc) sp_feMerge_class_init,
- NULL, NULL,
- sizeof(SPFeMerge),
- 16,
- (GInstanceInitFunc) sp_feMerge_init,
- NULL, /* value_table */
- };
- feMerge_type = g_type_register_static(SP_TYPE_FILTER_PRIMITIVE, "SPFeMerge", &feMerge_info, (GTypeFlags)0);
- }
- return feMerge_type;
-}
+G_DEFINE_TYPE(SPFeMerge, sp_feMerge, SP_TYPE_FILTER_PRIMITIVE);
static void
sp_feMerge_class_init(SPFeMergeClass *klass)
@@ -65,8 +40,6 @@ sp_feMerge_class_init(SPFeMergeClass *klass)
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
SPFilterPrimitiveClass *sp_primitive_class = (SPFilterPrimitiveClass *)klass;
- feMerge_parent_class = (SPFilterPrimitiveClass*)g_type_class_peek_parent(klass);
-
sp_object_class->build = sp_feMerge_build;
sp_object_class->release = sp_feMerge_release;
sp_object_class->write = sp_feMerge_write;
@@ -89,8 +62,8 @@ sp_feMerge_init(SPFeMerge */*feMerge*/)
static void
sp_feMerge_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) feMerge_parent_class)->build) {
- ((SPObjectClass *) feMerge_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_feMerge_parent_class)->build) {
+ ((SPObjectClass *) sp_feMerge_parent_class)->build(object, document, repr);
}
/*LOAD ATTRIBUTES FROM REPR HERE*/
@@ -102,8 +75,8 @@ sp_feMerge_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *re
static void
sp_feMerge_release(SPObject *object)
{
- if (((SPObjectClass *) feMerge_parent_class)->release)
- ((SPObjectClass *) feMerge_parent_class)->release(object);
+ if (((SPObjectClass *) sp_feMerge_parent_class)->release)
+ ((SPObjectClass *) sp_feMerge_parent_class)->release(object);
}
/**
@@ -118,8 +91,8 @@ sp_feMerge_set(SPObject *object, unsigned int key, gchar const *value)
switch(key) {
/*DEAL WITH SETTING ATTRIBUTES HERE*/
default:
- if (((SPObjectClass *) feMerge_parent_class)->set)
- ((SPObjectClass *) feMerge_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_feMerge_parent_class)->set)
+ ((SPObjectClass *) sp_feMerge_parent_class)->set(object, key, value);
break;
}
@@ -135,8 +108,8 @@ sp_feMerge_update(SPObject *object, SPCtx *ctx, guint flags)
object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG);
}
- if (((SPObjectClass *) feMerge_parent_class)->update) {
- ((SPObjectClass *) feMerge_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_feMerge_parent_class)->update) {
+ ((SPObjectClass *) sp_feMerge_parent_class)->update(object, ctx, flags);
}
}
@@ -153,8 +126,8 @@ sp_feMerge_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::
}
- if (((SPObjectClass *) feMerge_parent_class)->write) {
- ((SPObjectClass *) feMerge_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_feMerge_parent_class)->write) {
+ ((SPObjectClass *) sp_feMerge_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/filters/mergenode.cpp b/src/filters/mergenode.cpp
index 639928305..fa193ad77 100644
--- a/src/filters/mergenode.cpp
+++ b/src/filters/mergenode.cpp
@@ -23,46 +23,19 @@
#include "filters/merge.h"
#include "display/nr-filter-types.h"
-static void sp_feMergeNode_class_init(SPFeMergeNodeClass *klass);
-static void sp_feMergeNode_init(SPFeMergeNode *skeleton);
-
static void sp_feMergeNode_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_feMergeNode_release(SPObject *object);
static void sp_feMergeNode_set(SPObject *object, unsigned int key, gchar const *value);
static void sp_feMergeNode_update(SPObject *object, SPCtx *ctx, guint flags);
static Inkscape::XML::Node *sp_feMergeNode_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
-static SPObjectClass *feMergeNode_parent_class;
-
-GType
-sp_feMergeNode_get_type()
-{
- static GType feMergeNode_type = 0;
-
- if (!feMergeNode_type) {
- GTypeInfo feMergeNode_info = {
- sizeof(SPFeMergeNodeClass),
- NULL, NULL,
- (GClassInitFunc) sp_feMergeNode_class_init,
- NULL, NULL,
- sizeof(SPFeMergeNode),
- 16,
- (GInstanceInitFunc) sp_feMergeNode_init,
- NULL, /* value_table */
- };
- feMergeNode_type = g_type_register_static(SP_TYPE_OBJECT, "SPFeMergeNode", &feMergeNode_info, (GTypeFlags)0);
- }
- return feMergeNode_type;
-}
+G_DEFINE_TYPE(SPFeMergeNode, sp_feMergeNode, SP_TYPE_OBJECT);
static void
sp_feMergeNode_class_init(SPFeMergeNodeClass *klass)
{
- //GObjectClass *gobject_class = (GObjectClass *)klass;
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
- feMergeNode_parent_class = (SPObjectClass*)g_type_class_peek_parent(klass);
-
sp_object_class->build = sp_feMergeNode_build;
sp_object_class->release = sp_feMergeNode_release;
sp_object_class->write = sp_feMergeNode_write;
@@ -95,8 +68,8 @@ sp_feMergeNode_release(SPObject *object)
{
/* deal with our children and our selves here */
- if (((SPObjectClass *) feMergeNode_parent_class)->release)
- ((SPObjectClass *) feMergeNode_parent_class)->release(object);
+ if (((SPObjectClass *) sp_feMergeNode_parent_class)->release)
+ ((SPObjectClass *) sp_feMergeNode_parent_class)->release(object);
}
/**
@@ -117,8 +90,8 @@ sp_feMergeNode_set(SPObject *object, unsigned int key, gchar const *value)
}
/* See if any parents need this value. */
- if (((SPObjectClass *) feMergeNode_parent_class)->set) {
- ((SPObjectClass *) feMergeNode_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_feMergeNode_parent_class)->set) {
+ ((SPObjectClass *) sp_feMergeNode_parent_class)->set(object, key, value);
}
}
@@ -134,8 +107,8 @@ sp_feMergeNode_update(SPObject *object, SPCtx *ctx, guint flags)
object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG);
}
- if (((SPObjectClass *) feMergeNode_parent_class)->update) {
- ((SPObjectClass *) feMergeNode_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_feMergeNode_parent_class)->update) {
+ ((SPObjectClass *) sp_feMergeNode_parent_class)->update(object, ctx, flags);
}
}
@@ -157,8 +130,8 @@ sp_feMergeNode_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::X
}
}
- if (((SPObjectClass *) feMergeNode_parent_class)->write) {
- ((SPObjectClass *) feMergeNode_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_feMergeNode_parent_class)->write) {
+ ((SPObjectClass *) sp_feMergeNode_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/filters/morphology.cpp b/src/filters/morphology.cpp
index 42327d59f..886a10311 100644
--- a/src/filters/morphology.cpp
+++ b/src/filters/morphology.cpp
@@ -27,10 +27,6 @@
#include "display/nr-filter-morphology.h"
/* FeMorphology base class */
-
-static void sp_feMorphology_class_init(SPFeMorphologyClass *klass);
-static void sp_feMorphology_init(SPFeMorphology *feMorphology);
-
static void sp_feMorphology_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_feMorphology_release(SPObject *object);
static void sp_feMorphology_set(SPObject *object, unsigned int key, gchar const *value);
@@ -38,36 +34,13 @@ static void sp_feMorphology_update(SPObject *object, SPCtx *ctx, guint flags);
static Inkscape::XML::Node *sp_feMorphology_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
static void sp_feMorphology_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter);
-static SPFilterPrimitiveClass *feMorphology_parent_class;
-
-GType
-sp_feMorphology_get_type()
-{
- static GType feMorphology_type = 0;
-
- if (!feMorphology_type) {
- GTypeInfo feMorphology_info = {
- sizeof(SPFeMorphologyClass),
- NULL, NULL,
- (GClassInitFunc) sp_feMorphology_class_init,
- NULL, NULL,
- sizeof(SPFeMorphology),
- 16,
- (GInstanceInitFunc) sp_feMorphology_init,
- NULL, /* value_table */
- };
- feMorphology_type = g_type_register_static(SP_TYPE_FILTER_PRIMITIVE, "SPFeMorphology", &feMorphology_info, (GTypeFlags)0);
- }
- return feMorphology_type;
-}
+G_DEFINE_TYPE(SPFeMorphology, sp_feMorphology, SP_TYPE_FILTER_PRIMITIVE);
static void
sp_feMorphology_class_init(SPFeMorphologyClass *klass)
{
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
SPFilterPrimitiveClass *sp_primitive_class = (SPFilterPrimitiveClass *)klass;
-
- feMorphology_parent_class = (SPFilterPrimitiveClass*)g_type_class_peek_parent(klass);
sp_object_class->build = sp_feMorphology_build;
sp_object_class->release = sp_feMorphology_release;
@@ -92,8 +65,8 @@ sp_feMorphology_init(SPFeMorphology *feMorphology)
static void
sp_feMorphology_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) feMorphology_parent_class)->build) {
- ((SPObjectClass *) feMorphology_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_feMorphology_parent_class)->build) {
+ ((SPObjectClass *) sp_feMorphology_parent_class)->build(object, document, repr);
}
/*LOAD ATTRIBUTES FROM REPR HERE*/
@@ -107,8 +80,8 @@ sp_feMorphology_build(SPObject *object, SPDocument *document, Inkscape::XML::Nod
static void
sp_feMorphology_release(SPObject *object)
{
- if (((SPObjectClass *) feMorphology_parent_class)->release)
- ((SPObjectClass *) feMorphology_parent_class)->release(object);
+ if (((SPObjectClass *) sp_feMorphology_parent_class)->release)
+ ((SPObjectClass *) sp_feMorphology_parent_class)->release(object);
}
static Inkscape::Filters::FilterMorphologyOperator sp_feMorphology_read_operator(gchar const *value){
@@ -151,8 +124,8 @@ sp_feMorphology_set(SPObject *object, unsigned int key, gchar const *value)
object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG);
break;
default:
- if (((SPObjectClass *) feMorphology_parent_class)->set)
- ((SPObjectClass *) feMorphology_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_feMorphology_parent_class)->set)
+ ((SPObjectClass *) sp_feMorphology_parent_class)->set(object, key, value);
break;
}
@@ -171,8 +144,8 @@ sp_feMorphology_update(SPObject *object, SPCtx *ctx, guint flags)
}
- if (((SPObjectClass *) feMorphology_parent_class)->update) {
- ((SPObjectClass *) feMorphology_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_feMorphology_parent_class)->update) {
+ ((SPObjectClass *) sp_feMorphology_parent_class)->update(object, ctx, flags);
}
}
@@ -188,8 +161,8 @@ sp_feMorphology_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::
repr = object->getRepr()->duplicate(doc);
}
- if (((SPObjectClass *) feMorphology_parent_class)->write) {
- ((SPObjectClass *) feMorphology_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_feMorphology_parent_class)->write) {
+ ((SPObjectClass *) sp_feMorphology_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/filters/offset.cpp b/src/filters/offset.cpp
index f45169aba..2851f4f7d 100644
--- a/src/filters/offset.cpp
+++ b/src/filters/offset.cpp
@@ -26,10 +26,6 @@
#include "display/nr-filter-offset.h"
/* FeOffset base class */
-
-static void sp_feOffset_class_init(SPFeOffsetClass *klass);
-static void sp_feOffset_init(SPFeOffset *feOffset);
-
static void sp_feOffset_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_feOffset_release(SPObject *object);
static void sp_feOffset_set(SPObject *object, unsigned int key, gchar const *value);
@@ -37,28 +33,7 @@ static void sp_feOffset_update(SPObject *object, SPCtx *ctx, guint flags);
static Inkscape::XML::Node *sp_feOffset_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
static void sp_feOffset_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter);
-static SPFilterPrimitiveClass *feOffset_parent_class;
-
-GType
-sp_feOffset_get_type()
-{
- static GType feOffset_type = 0;
-
- if (!feOffset_type) {
- GTypeInfo feOffset_info = {
- sizeof(SPFeOffsetClass),
- NULL, NULL,
- (GClassInitFunc) sp_feOffset_class_init,
- NULL, NULL,
- sizeof(SPFeOffset),
- 16,
- (GInstanceInitFunc) sp_feOffset_init,
- NULL, /* value_table */
- };
- feOffset_type = g_type_register_static(SP_TYPE_FILTER_PRIMITIVE, "SPFeOffset", &feOffset_info, (GTypeFlags)0);
- }
- return feOffset_type;
-}
+G_DEFINE_TYPE(SPFeOffset, sp_feOffset, SP_TYPE_FILTER_PRIMITIVE);
static void
sp_feOffset_class_init(SPFeOffsetClass *klass)
@@ -66,8 +41,6 @@ sp_feOffset_class_init(SPFeOffsetClass *klass)
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
SPFilterPrimitiveClass *sp_primitive_class = (SPFilterPrimitiveClass *)klass;
- feOffset_parent_class = (SPFilterPrimitiveClass*)g_type_class_peek_parent(klass);
-
sp_object_class->build = sp_feOffset_build;
sp_object_class->release = sp_feOffset_release;
sp_object_class->write = sp_feOffset_write;
@@ -92,8 +65,8 @@ sp_feOffset_init(SPFeOffset *feOffset)
static void
sp_feOffset_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) feOffset_parent_class)->build) {
- ((SPObjectClass *) feOffset_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_feOffset_parent_class)->build) {
+ ((SPObjectClass *) sp_feOffset_parent_class)->build(object, document, repr);
}
object->readAttr( "dx" );
@@ -106,8 +79,8 @@ sp_feOffset_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *r
static void
sp_feOffset_release(SPObject *object)
{
- if (((SPObjectClass *) feOffset_parent_class)->release)
- ((SPObjectClass *) feOffset_parent_class)->release(object);
+ if (((SPObjectClass *) sp_feOffset_parent_class)->release)
+ ((SPObjectClass *) sp_feOffset_parent_class)->release(object);
}
/**
@@ -137,8 +110,8 @@ sp_feOffset_set(SPObject *object, unsigned int key, gchar const *value)
/*DEAL WITH SETTING ATTRIBUTES HERE*/
default:
- if (((SPObjectClass *) feOffset_parent_class)->set)
- ((SPObjectClass *) feOffset_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_feOffset_parent_class)->set)
+ ((SPObjectClass *) sp_feOffset_parent_class)->set(object, key, value);
break;
}
@@ -155,8 +128,8 @@ sp_feOffset_update(SPObject *object, SPCtx *ctx, guint flags)
object->readAttr( "dy" );
}
- if (((SPObjectClass *) feOffset_parent_class)->update) {
- ((SPObjectClass *) feOffset_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_feOffset_parent_class)->update) {
+ ((SPObjectClass *) sp_feOffset_parent_class)->update(object, ctx, flags);
}
}
@@ -172,8 +145,8 @@ sp_feOffset_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML:
repr = object->getRepr()->duplicate(doc);
}
- if (((SPObjectClass *) feOffset_parent_class)->write) {
- ((SPObjectClass *) feOffset_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_feOffset_parent_class)->write) {
+ ((SPObjectClass *) sp_feOffset_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/filters/pointlight.cpp b/src/filters/pointlight.cpp
index ee6824d00..a512172d1 100644
--- a/src/filters/pointlight.cpp
+++ b/src/filters/pointlight.cpp
@@ -30,47 +30,19 @@
#include "macros.h"
/* FePointLight class */
-
-static void sp_fepointlight_class_init(SPFePointLightClass *klass);
-static void sp_fepointlight_init(SPFePointLight *fepointlight);
-
static void sp_fepointlight_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_fepointlight_release(SPObject *object);
static void sp_fepointlight_set(SPObject *object, unsigned int key, gchar const *value);
static void sp_fepointlight_update(SPObject *object, SPCtx *ctx, guint flags);
static Inkscape::XML::Node *sp_fepointlight_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
-static SPObjectClass *fePointLight_parent_class;
-
-GType
-sp_fepointlight_get_type()
-{
- static GType fepointlight_type = 0;
-
- if (!fepointlight_type) {
- GTypeInfo fepointlight_info = {
- sizeof(SPFePointLightClass),
- NULL, NULL,
- (GClassInitFunc) sp_fepointlight_class_init,
- NULL, NULL,
- sizeof(SPFePointLight),
- 16,
- (GInstanceInitFunc) sp_fepointlight_init,
- NULL, /* value_table */
- };
- fepointlight_type = g_type_register_static(SP_TYPE_OBJECT, "SPFePointLight", &fepointlight_info, (GTypeFlags)0);
- }
- return fepointlight_type;
-}
+G_DEFINE_TYPE(SPFePointLight, sp_fepointlight, SP_TYPE_OBJECT);
static void
sp_fepointlight_class_init(SPFePointLightClass *klass)
{
-
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
- fePointLight_parent_class = (SPObjectClass*)g_type_class_peek_parent(klass);
-
sp_object_class->build = sp_fepointlight_build;
sp_object_class->release = sp_fepointlight_release;
sp_object_class->write = sp_fepointlight_write;
@@ -98,8 +70,8 @@ sp_fepointlight_init(SPFePointLight *fepointlight)
static void
sp_fepointlight_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) fePointLight_parent_class)->build) {
- ((SPObjectClass *) fePointLight_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_fepointlight_parent_class)->build) {
+ ((SPObjectClass *) sp_fepointlight_parent_class)->build(object, document, repr);
}
//Read values of key attributes from XML nodes into object.
@@ -192,8 +164,8 @@ sp_fepointlight_set(SPObject *object, unsigned int key, gchar const *value)
break;
default:
// See if any parents need this value.
- if (((SPObjectClass *) fePointLight_parent_class)->set) {
- ((SPObjectClass *) fePointLight_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_fepointlight_parent_class)->set) {
+ ((SPObjectClass *) sp_fepointlight_parent_class)->set(object, key, value);
}
break;
}
@@ -215,8 +187,8 @@ sp_fepointlight_update(SPObject *object, SPCtx *ctx, guint flags)
object->readAttr( "z" );
}
- if (((SPObjectClass *) fePointLight_parent_class)->update) {
- ((SPObjectClass *) fePointLight_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_fepointlight_parent_class)->update) {
+ ((SPObjectClass *) sp_fepointlight_parent_class)->update(object, ctx, flags);
}
}
@@ -239,8 +211,8 @@ sp_fepointlight_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::
if (fepointlight->z_set)
sp_repr_set_css_double(repr, "z", fepointlight->z);
- if (((SPObjectClass *) fePointLight_parent_class)->write) {
- ((SPObjectClass *) fePointLight_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_fepointlight_parent_class)->write) {
+ ((SPObjectClass *) sp_fepointlight_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/filters/specularlighting.cpp b/src/filters/specularlighting.cpp
index 71a705c94..44eeff35a 100644
--- a/src/filters/specularlighting.cpp
+++ b/src/filters/specularlighting.cpp
@@ -31,10 +31,6 @@
#include "display/nr-filter-specularlighting.h"
/* FeSpecularLighting base class */
-
-static void sp_feSpecularLighting_class_init(SPFeSpecularLightingClass *klass);
-static void sp_feSpecularLighting_init(SPFeSpecularLighting *feSpecularLighting);
-
static void sp_feSpecularLighting_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_feSpecularLighting_release(SPObject *object);
static void sp_feSpecularLighting_set(SPObject *object, unsigned int key, gchar const *value);
@@ -52,35 +48,13 @@ static Inkscape::XML::Node *sp_feSpecularLighting_write(SPObject *object, Inksca
static void sp_feSpecularLighting_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter);
static void sp_feSpecularLighting_children_modified(SPFeSpecularLighting *sp_specularlighting);
-static SPFilterPrimitiveClass *feSpecularLighting_parent_class;
-
-GType
-sp_feSpecularLighting_get_type()
-{
- static GType feSpecularLighting_type = 0;
-
- if (!feSpecularLighting_type) {
- GTypeInfo feSpecularLighting_info = {
- sizeof(SPFeSpecularLightingClass),
- NULL, NULL,
- (GClassInitFunc) sp_feSpecularLighting_class_init,
- NULL, NULL,
- sizeof(SPFeSpecularLighting),
- 16,
- (GInstanceInitFunc) sp_feSpecularLighting_init,
- NULL, /* value_table */
- };
- feSpecularLighting_type = g_type_register_static(SP_TYPE_FILTER_PRIMITIVE, "SPFeSpecularLighting", &feSpecularLighting_info, (GTypeFlags)0);
- }
- return feSpecularLighting_type;
-}
+G_DEFINE_TYPE(SPFeSpecularLighting, sp_feSpecularLighting, SP_TYPE_FILTER_PRIMITIVE);
static void
sp_feSpecularLighting_class_init(SPFeSpecularLightingClass *klass)
{
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
SPFilterPrimitiveClass *sp_primitive_class = (SPFilterPrimitiveClass *)klass;
- feSpecularLighting_parent_class = (SPFilterPrimitiveClass*)g_type_class_peek_parent(klass);
sp_object_class->build = sp_feSpecularLighting_build;
sp_object_class->release = sp_feSpecularLighting_release;
@@ -118,8 +92,8 @@ sp_feSpecularLighting_init(SPFeSpecularLighting *feSpecularLighting)
static void
sp_feSpecularLighting_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) feSpecularLighting_parent_class)->build) {
- ((SPObjectClass *) feSpecularLighting_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_feSpecularLighting_parent_class)->build) {
+ ((SPObjectClass *) sp_feSpecularLighting_parent_class)->build(object, document, repr);
}
/*LOAD ATTRIBUTES FROM REPR HERE*/
@@ -137,8 +111,8 @@ sp_feSpecularLighting_build(SPObject *object, SPDocument *document, Inkscape::XM
static void
sp_feSpecularLighting_release(SPObject *object)
{
- if (((SPObjectClass *) feSpecularLighting_parent_class)->release)
- ((SPObjectClass *) feSpecularLighting_parent_class)->release(object);
+ if (((SPObjectClass *) sp_feSpecularLighting_parent_class)->release)
+ ((SPObjectClass *) sp_feSpecularLighting_parent_class)->release(object);
}
/**
@@ -239,8 +213,8 @@ sp_feSpecularLighting_set(SPObject *object, unsigned int key, gchar const *value
object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG);
break;
default:
- if (((SPObjectClass *) feSpecularLighting_parent_class)->set)
- ((SPObjectClass *) feSpecularLighting_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_feSpecularLighting_parent_class)->set)
+ ((SPObjectClass *) sp_feSpecularLighting_parent_class)->set(object, key, value);
break;
}
@@ -260,8 +234,8 @@ sp_feSpecularLighting_update(SPObject *object, SPCtx *ctx, guint flags)
object->readAttr( "lighting-color" );
}
- if (((SPObjectClass *) feSpecularLighting_parent_class)->update) {
- ((SPObjectClass *) feSpecularLighting_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_feSpecularLighting_parent_class)->update) {
+ ((SPObjectClass *) sp_feSpecularLighting_parent_class)->update(object, ctx, flags);
}
}
@@ -292,8 +266,8 @@ sp_feSpecularLighting_write(SPObject *object, Inkscape::XML::Document *doc, Inks
sp_svg_write_color(c, sizeof(c), fespecularlighting->lighting_color);
repr->setAttribute("lighting-color", c);
}
- if (((SPObjectClass *) feSpecularLighting_parent_class)->write) {
- ((SPObjectClass *) feSpecularLighting_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_feSpecularLighting_parent_class)->write) {
+ ((SPObjectClass *) sp_feSpecularLighting_parent_class)->write(object, doc, repr, flags);
}
return repr;
@@ -307,8 +281,8 @@ sp_feSpecularLighting_child_added(SPObject *object, Inkscape::XML::Node *child,
{
SPFeSpecularLighting *f = SP_FESPECULARLIGHTING(object);
- if (((SPObjectClass *) feSpecularLighting_parent_class)->child_added)
- (* ((SPObjectClass *) feSpecularLighting_parent_class)->child_added)(object, child, ref);
+ if (((SPObjectClass *) sp_feSpecularLighting_parent_class)->child_added)
+ (* ((SPObjectClass *) sp_feSpecularLighting_parent_class)->child_added)(object, child, ref);
sp_feSpecularLighting_children_modified(f);
object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG);
@@ -323,8 +297,8 @@ sp_feSpecularLighting_remove_child(SPObject *object, Inkscape::XML::Node *child)
{
SPFeSpecularLighting *f = SP_FESPECULARLIGHTING(object);
- if (((SPObjectClass *) feSpecularLighting_parent_class)->remove_child)
- (* ((SPObjectClass *) feSpecularLighting_parent_class)->remove_child)(object, child);
+ if (((SPObjectClass *) sp_feSpecularLighting_parent_class)->remove_child)
+ (* ((SPObjectClass *) sp_feSpecularLighting_parent_class)->remove_child)(object, child);
sp_feSpecularLighting_children_modified(f);
object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG);
@@ -334,8 +308,8 @@ static void
sp_feSpecularLighting_order_changed (SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *old_ref, Inkscape::XML::Node *new_ref)
{
SPFeSpecularLighting *f = SP_FESPECULARLIGHTING(object);
- if (((SPObjectClass *) (feSpecularLighting_parent_class))->order_changed)
- (* ((SPObjectClass *) (feSpecularLighting_parent_class))->order_changed) (object, child, old_ref, new_ref);
+ if (((SPObjectClass *) (sp_feSpecularLighting_parent_class))->order_changed)
+ (* ((SPObjectClass *) (sp_feSpecularLighting_parent_class))->order_changed) (object, child, old_ref, new_ref);
sp_feSpecularLighting_children_modified(f);
object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG);
diff --git a/src/filters/spotlight.cpp b/src/filters/spotlight.cpp
index 7be83ed00..181e39990 100644
--- a/src/filters/spotlight.cpp
+++ b/src/filters/spotlight.cpp
@@ -30,47 +30,19 @@
#include "macros.h"
/* FeSpotLight class */
-
-static void sp_fespotlight_class_init(SPFeSpotLightClass *klass);
-static void sp_fespotlight_init(SPFeSpotLight *fespotlight);
-
static void sp_fespotlight_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_fespotlight_release(SPObject *object);
static void sp_fespotlight_set(SPObject *object, unsigned int key, gchar const *value);
static void sp_fespotlight_update(SPObject *object, SPCtx *ctx, guint flags);
static Inkscape::XML::Node *sp_fespotlight_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
-static SPObjectClass *feSpotLight_parent_class;
-
-GType
-sp_fespotlight_get_type()
-{
- static GType fespotlight_type = 0;
-
- if (!fespotlight_type) {
- GTypeInfo fespotlight_info = {
- sizeof(SPFeSpotLightClass),
- NULL, NULL,
- (GClassInitFunc) sp_fespotlight_class_init,
- NULL, NULL,
- sizeof(SPFeSpotLight),
- 16,
- (GInstanceInitFunc) sp_fespotlight_init,
- NULL, /* value_table */
- };
- fespotlight_type = g_type_register_static(SP_TYPE_OBJECT, "SPFeSpotLight", &fespotlight_info, (GTypeFlags)0);
- }
- return fespotlight_type;
-}
+G_DEFINE_TYPE(SPFeSpotLight, sp_fespotlight, SP_TYPE_OBJECT);
static void
sp_fespotlight_class_init(SPFeSpotLightClass *klass)
{
-
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
- feSpotLight_parent_class = (SPObjectClass*)g_type_class_peek_parent(klass);
-
sp_object_class->build = sp_fespotlight_build;
sp_object_class->release = sp_fespotlight_release;
sp_object_class->write = sp_fespotlight_write;
@@ -108,8 +80,8 @@ sp_fespotlight_init(SPFeSpotLight *fespotlight)
static void
sp_fespotlight_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) feSpotLight_parent_class)->build) {
- ((SPObjectClass *) feSpotLight_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_fespotlight_parent_class)->build) {
+ ((SPObjectClass *) sp_fespotlight_parent_class)->build(object, document, repr);
}
//Read values of key attributes from XML nodes into object.
@@ -290,8 +262,8 @@ sp_fespotlight_set(SPObject *object, unsigned int key, gchar const *value)
break;
default:
// See if any parents need this value.
- if (((SPObjectClass *) feSpotLight_parent_class)->set) {
- ((SPObjectClass *) feSpotLight_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_fespotlight_parent_class)->set) {
+ ((SPObjectClass *) sp_fespotlight_parent_class)->set(object, key, value);
}
break;
}
@@ -318,8 +290,8 @@ sp_fespotlight_update(SPObject *object, SPCtx *ctx, guint flags)
object->readAttr( "limitingConeAngle" );
}
- if (((SPObjectClass *) feSpotLight_parent_class)->update) {
- ((SPObjectClass *) feSpotLight_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_fespotlight_parent_class)->update) {
+ ((SPObjectClass *) sp_fespotlight_parent_class)->update(object, ctx, flags);
}
}
@@ -352,8 +324,8 @@ sp_fespotlight_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::X
if (fespotlight->limitingConeAngle_set)
sp_repr_set_css_double(repr, "limitingConeAngle", fespotlight->limitingConeAngle);
- if (((SPObjectClass *) feSpotLight_parent_class)->write) {
- ((SPObjectClass *) feSpotLight_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_fespotlight_parent_class)->write) {
+ ((SPObjectClass *) sp_fespotlight_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/filters/tile.cpp b/src/filters/tile.cpp
index 42a59ede8..d2725f50c 100644
--- a/src/filters/tile.cpp
+++ b/src/filters/tile.cpp
@@ -23,10 +23,6 @@
#include "display/nr-filter-tile.h"
/* FeTile base class */
-
-static void sp_feTile_class_init(SPFeTileClass *klass);
-static void sp_feTile_init(SPFeTile *feTile);
-
static void sp_feTile_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_feTile_release(SPObject *object);
static void sp_feTile_set(SPObject *object, unsigned int key, gchar const *value);
@@ -34,28 +30,7 @@ static void sp_feTile_update(SPObject *object, SPCtx *ctx, guint flags);
static Inkscape::XML::Node *sp_feTile_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
static void sp_feTile_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter);
-static SPFilterPrimitiveClass *feTile_parent_class;
-
-GType
-sp_feTile_get_type()
-{
- static GType feTile_type = 0;
-
- if (!feTile_type) {
- GTypeInfo feTile_info = {
- sizeof(SPFeTileClass),
- NULL, NULL,
- (GClassInitFunc) sp_feTile_class_init,
- NULL, NULL,
- sizeof(SPFeTile),
- 16,
- (GInstanceInitFunc) sp_feTile_init,
- NULL, /* value_table */
- };
- feTile_type = g_type_register_static(SP_TYPE_FILTER_PRIMITIVE, "SPFeTile", &feTile_info, (GTypeFlags)0);
- }
- return feTile_type;
-}
+G_DEFINE_TYPE(SPFeTile, sp_feTile, SP_TYPE_FILTER_PRIMITIVE);
static void
sp_feTile_class_init(SPFeTileClass *klass)
@@ -63,8 +38,6 @@ sp_feTile_class_init(SPFeTileClass *klass)
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
SPFilterPrimitiveClass *sp_primitive_class = (SPFilterPrimitiveClass *)klass;
- feTile_parent_class = (SPFilterPrimitiveClass*)g_type_class_peek_parent(klass);
-
sp_object_class->build = sp_feTile_build;
sp_object_class->release = sp_feTile_release;
sp_object_class->write = sp_feTile_write;
@@ -86,8 +59,8 @@ sp_feTile_init(SPFeTile */*feTile*/)
static void
sp_feTile_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) feTile_parent_class)->build) {
- ((SPObjectClass *) feTile_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_feTile_parent_class)->build) {
+ ((SPObjectClass *) sp_feTile_parent_class)->build(object, document, repr);
}
/*LOAD ATTRIBUTES FROM REPR HERE*/
@@ -99,8 +72,8 @@ sp_feTile_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *rep
static void
sp_feTile_release(SPObject *object)
{
- if (((SPObjectClass *) feTile_parent_class)->release)
- ((SPObjectClass *) feTile_parent_class)->release(object);
+ if (((SPObjectClass *) sp_feTile_parent_class)->release)
+ ((SPObjectClass *) sp_feTile_parent_class)->release(object);
}
/**
@@ -115,8 +88,8 @@ sp_feTile_set(SPObject *object, unsigned int key, gchar const *value)
switch(key) {
/*DEAL WITH SETTING ATTRIBUTES HERE*/
default:
- if (((SPObjectClass *) feTile_parent_class)->set)
- ((SPObjectClass *) feTile_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_feTile_parent_class)->set)
+ ((SPObjectClass *) sp_feTile_parent_class)->set(object, key, value);
break;
}
@@ -135,8 +108,8 @@ sp_feTile_update(SPObject *object, SPCtx *ctx, guint flags)
}
- if (((SPObjectClass *) feTile_parent_class)->update) {
- ((SPObjectClass *) feTile_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_feTile_parent_class)->update) {
+ ((SPObjectClass *) sp_feTile_parent_class)->update(object, ctx, flags);
}
}
@@ -152,8 +125,8 @@ sp_feTile_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::N
repr = object->getRepr()->duplicate(doc);
}
- if (((SPObjectClass *) feTile_parent_class)->write) {
- ((SPObjectClass *) feTile_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_feTile_parent_class)->write) {
+ ((SPObjectClass *) sp_feTile_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/filters/turbulence.cpp b/src/filters/turbulence.cpp
index 9d1448c70..c4d4ca4ae 100644
--- a/src/filters/turbulence.cpp
+++ b/src/filters/turbulence.cpp
@@ -29,10 +29,6 @@
#include "display/nr-filter-turbulence.h"
/* FeTurbulence base class */
-
-static void sp_feTurbulence_class_init(SPFeTurbulenceClass *klass);
-static void sp_feTurbulence_init(SPFeTurbulence *feTurbulence);
-
static void sp_feTurbulence_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_feTurbulence_release(SPObject *object);
static void sp_feTurbulence_set(SPObject *object, unsigned int key, gchar const *value);
@@ -40,28 +36,7 @@ static void sp_feTurbulence_update(SPObject *object, SPCtx *ctx, guint flags);
static Inkscape::XML::Node *sp_feTurbulence_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
static void sp_feTurbulence_build_renderer(SPFilterPrimitive *primitive, Inkscape::Filters::Filter *filter);
-static SPFilterPrimitiveClass *feTurbulence_parent_class;
-
-GType
-sp_feTurbulence_get_type()
-{
- static GType feTurbulence_type = 0;
-
- if (!feTurbulence_type) {
- GTypeInfo feTurbulence_info = {
- sizeof(SPFeTurbulenceClass),
- NULL, NULL,
- (GClassInitFunc) sp_feTurbulence_class_init,
- NULL, NULL,
- sizeof(SPFeTurbulence),
- 16,
- (GInstanceInitFunc) sp_feTurbulence_init,
- NULL, /* value_table */
- };
- feTurbulence_type = g_type_register_static(SP_TYPE_FILTER_PRIMITIVE, "SPFeTurbulence", &feTurbulence_info, (GTypeFlags)0);
- }
- return feTurbulence_type;
-}
+G_DEFINE_TYPE(SPFeTurbulence, sp_feTurbulence, SP_TYPE_FILTER_PRIMITIVE);
static void
sp_feTurbulence_class_init(SPFeTurbulenceClass *klass)
@@ -69,8 +44,6 @@ sp_feTurbulence_class_init(SPFeTurbulenceClass *klass)
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
SPFilterPrimitiveClass * sp_primitive_class = (SPFilterPrimitiveClass *)klass;
- feTurbulence_parent_class = (SPFilterPrimitiveClass*)g_type_class_peek_parent(klass);
-
sp_object_class->build = sp_feTurbulence_build;
sp_object_class->release = sp_feTurbulence_release;
sp_object_class->write = sp_feTurbulence_write;
@@ -94,8 +67,8 @@ sp_feTurbulence_init(SPFeTurbulence *feTurbulence)
static void
sp_feTurbulence_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) feTurbulence_parent_class)->build) {
- ((SPObjectClass *) feTurbulence_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_feTurbulence_parent_class)->build) {
+ ((SPObjectClass *) sp_feTurbulence_parent_class)->build(object, document, repr);
}
/*LOAD ATTRIBUTES FROM REPR HERE*/
@@ -112,8 +85,8 @@ sp_feTurbulence_build(SPObject *object, SPDocument *document, Inkscape::XML::Nod
static void
sp_feTurbulence_release(SPObject *object)
{
- if (((SPObjectClass *) feTurbulence_parent_class)->release)
- ((SPObjectClass *) feTurbulence_parent_class)->release(object);
+ if (((SPObjectClass *) sp_feTurbulence_parent_class)->release)
+ ((SPObjectClass *) sp_feTurbulence_parent_class)->release(object);
}
static bool sp_feTurbulence_read_stitchTiles(gchar const *value){
@@ -200,8 +173,8 @@ sp_feTurbulence_set(SPObject *object, unsigned int key, gchar const *value)
}
break;
default:
- if (((SPObjectClass *) feTurbulence_parent_class)->set)
- ((SPObjectClass *) feTurbulence_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_feTurbulence_parent_class)->set)
+ ((SPObjectClass *) sp_feTurbulence_parent_class)->set(object, key, value);
break;
}
@@ -220,8 +193,8 @@ sp_feTurbulence_update(SPObject *object, SPCtx *ctx, guint flags)
}
- if (((SPObjectClass *) feTurbulence_parent_class)->update) {
- ((SPObjectClass *) feTurbulence_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_feTurbulence_parent_class)->update) {
+ ((SPObjectClass *) sp_feTurbulence_parent_class)->update(object, ctx, flags);
}
}
@@ -237,8 +210,8 @@ sp_feTurbulence_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::
repr = object->getRepr()->duplicate(doc);
}
- if (((SPObjectClass *) feTurbulence_parent_class)->write) {
- ((SPObjectClass *) feTurbulence_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_feTurbulence_parent_class)->write) {
+ ((SPObjectClass *) sp_feTurbulence_parent_class)->write(object, doc, repr, flags);
}
/* turbulence doesn't take input */
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);
}
}
diff --git a/src/helper/action.cpp b/src/helper/action.cpp
index 4fafa191e..0e9957ca3 100644
--- a/src/helper/action.cpp
+++ b/src/helper/action.cpp
@@ -19,34 +19,9 @@
#include "document.h"
#include "helper/action.h"
-static void sp_action_class_init (SPActionClass *klass);
-static void sp_action_init (SPAction *action);
static void sp_action_finalize (GObject *object);
-static GObjectClass *parent_class;
-
-/**
- * Register SPAction class and return its type.
- */
-GType
-sp_action_get_type (void)
-{
- static GType type = 0;
- if (!type) {
- GTypeInfo info = {
- sizeof(SPActionClass),
- NULL, NULL,
- (GClassInitFunc) sp_action_class_init,
- NULL, NULL,
- sizeof(SPAction),
- 0,
- (GInstanceInitFunc) sp_action_init,
- NULL
- };
- type = g_type_register_static(G_TYPE_OBJECT, "SPAction", &info, (GTypeFlags)0);
- }
- return type;
-}
+G_DEFINE_TYPE(SPAction, sp_action, G_TYPE_OBJECT);
/**
* SPAction vtable initialization.
@@ -54,8 +29,6 @@ sp_action_get_type (void)
static void
sp_action_class_init (SPActionClass *klass)
{
- parent_class = (GObjectClass*) g_type_class_ref(G_TYPE_OBJECT);
-
GObjectClass *object_class = (GObjectClass *) klass;
object_class->finalize = sp_action_finalize;
}
@@ -84,19 +57,19 @@ sp_action_init (SPAction *action)
static void
sp_action_finalize (GObject *object)
{
- SPAction *action = SP_ACTION(object);
+ SPAction *action = SP_ACTION(object);
- g_free (action->image);
- g_free (action->tip);
- g_free (action->name);
- g_free (action->id);
+ g_free (action->image);
+ g_free (action->tip);
+ g_free (action->name);
+ g_free (action->id);
action->signal_perform.~signal();
action->signal_set_sensitive.~signal();
action->signal_set_active.~signal();
action->signal_set_name.~signal();
- parent_class->finalize (object);
+ G_OBJECT_CLASS(sp_action_parent_class)->finalize (object);
}
/**
diff --git a/src/helper/unit-menu.cpp b/src/helper/unit-menu.cpp
index bb2254a1b..af07c03c1 100644
--- a/src/helper/unit-menu.cpp
+++ b/src/helper/unit-menu.cpp
@@ -52,39 +52,16 @@ struct SPUnitSelectorClass {
enum {SET_UNIT, LAST_SIGNAL};
-static void sp_unit_selector_class_init(SPUnitSelectorClass *klass);
-static void sp_unit_selector_init(SPUnitSelector *selector);
static void sp_unit_selector_finalize(GObject *object);
-static GtkHBoxClass *unit_selector_parent_class;
static guint signals[LAST_SIGNAL] = {0};
-GType sp_unit_selector_get_type(void)
-{
- static GType type = 0;
- if (!type) {
- GTypeInfo info = {
- sizeof(SPUnitSelectorClass),
- 0, // base_init
- 0, // base_finalize
- (GClassInitFunc)sp_unit_selector_class_init,
- 0, // class_finalize
- 0, // class_data
- sizeof(SPUnitSelector),
- 0, // n_preallocs
- (GInstanceInitFunc)sp_unit_selector_init,
- 0 // value_table
- };
- type = g_type_register_static(GTK_TYPE_HBOX, "SPUnitSelector", &info, static_cast<GTypeFlags>(0));
- }
- return type;
-}
+G_DEFINE_TYPE(SPUnitSelector, sp_unit_selector, GTK_TYPE_HBOX);
static void
sp_unit_selector_class_init(SPUnitSelectorClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
- unit_selector_parent_class = GTK_HBOX_CLASS(g_type_class_peek_parent(klass));
signals[SET_UNIT] = g_signal_new("set_unit",
G_TYPE_FROM_CLASS(klass),
@@ -142,7 +119,7 @@ sp_unit_selector_finalize(GObject *object)
selector->unit = NULL;
- G_OBJECT_CLASS(unit_selector_parent_class)->finalize(object);
+ G_OBJECT_CLASS(sp_unit_selector_parent_class)->finalize(object);
}
GtkWidget *
diff --git a/src/ink-comboboxentry-action.cpp b/src/ink-comboboxentry-action.cpp
index d9b1b0965..8df16ec9a 100644
--- a/src/ink-comboboxentry-action.cpp
+++ b/src/ink-comboboxentry-action.cpp
@@ -63,9 +63,13 @@ enum {
};
static guint signals[N_SIGNALS] = {0};
-static GtkActionClass *ink_comboboxentry_action_parent_class = NULL;
static GQuark gDataName = 0;
+static void ink_comboboxentry_action_init (Ink_ComboBoxEntry_Action *action);
+static void ink_comboboxentry_action_class_init (Ink_ComboBoxEntry_ActionClass *klass);
+
+G_DEFINE_TYPE(Ink_ComboBoxEntry_Action, ink_comboboxentry_action, GTK_TYPE_ACTION);
+
static void ink_comboboxentry_action_finalize (GObject *object)
{
// Free any allocated resources.
@@ -174,8 +178,8 @@ ink_comboboxentry_action_connect_proxy (GtkAction *action,
GTK_ACTION_CLASS (ink_comboboxentry_action_parent_class)->connect_proxy (action, proxy);
}
-
-static void ink_comboboxentry_action_class_init (Ink_ComboBoxEntry_ActionClass *klass)
+static void
+ink_comboboxentry_action_class_init (Ink_ComboBoxEntry_ActionClass *klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
@@ -192,8 +196,6 @@ static void ink_comboboxentry_action_class_init (Ink_ComboBoxEntry_ActionClass *
klass->parent_class.create_tool_item = create_tool_item;
klass->parent_class.create_menu_item = create_menu_item;
- ink_comboboxentry_action_parent_class = GTK_ACTION_CLASS(g_type_class_peek_parent (klass) );
-
g_object_class_install_property (
gobject_class,
PROP_MODEL,
@@ -292,34 +294,6 @@ static void ink_comboboxentry_action_init (Ink_ComboBoxEntry_Action *action)
action->focusWidget = NULL;
}
-GType ink_comboboxentry_action_get_type ()
-{
- static GType ink_comboboxentry_action_type = 0;
-
- if (!ink_comboboxentry_action_type) {
- static const GTypeInfo ink_comboboxentry_action_info = {
- sizeof(Ink_ComboBoxEntry_ActionClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) ink_comboboxentry_action_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof(Ink_ComboBoxEntry_Action),
- 0, /* n_preallocs */
- (GInstanceInitFunc)ink_comboboxentry_action_init, /* instance_init */
- NULL /* value_table */
- };
-
- ink_comboboxentry_action_type = g_type_register_static (GTK_TYPE_ACTION,
- "Ink_ComboBoxEntry_Action",
- &ink_comboboxentry_action_info,
- (GTypeFlags)0 );
- }
-
- return ink_comboboxentry_action_type;
-}
-
-
Ink_ComboBoxEntry_Action *ink_comboboxentry_action_new (const gchar *name,
const gchar *label,
const gchar *tooltip,
@@ -439,7 +413,7 @@ GtkWidget* create_tool_item( GtkAction* action )
} else {
- item = ink_comboboxentry_action_parent_class->create_tool_item( action );
+ item = GTK_ACTION_CLASS(ink_comboboxentry_action_parent_class)->create_tool_item( action );
}
@@ -451,7 +425,7 @@ GtkWidget* create_menu_item( GtkAction* action )
{
GtkWidget* item = 0;
- item = ink_comboboxentry_action_parent_class->create_menu_item( action );
+ item = GTK_ACTION_CLASS(ink_comboboxentry_action_parent_class)->create_menu_item( action );
g_warning( "ink_comboboxentry_action: create_menu_item not implemented" );
// One can easily modify ege-select-one-action routine to implement this.
return item;
diff --git a/src/lpe-tool-context.cpp b/src/lpe-tool-context.cpp
index fc755b9dc..feabfa02d 100644
--- a/src/lpe-tool-context.cpp
+++ b/src/lpe-tool-context.cpp
@@ -41,8 +41,6 @@
#include "lpe-tool-context.h"
-static void sp_lpetool_context_class_init(SPLPEToolContextClass *klass);
-static void sp_lpetool_context_init(SPLPEToolContext *erc);
static void sp_lpetool_context_dispose(GObject *object);
static void sp_lpetool_context_setup(SPEventContext *ec);
@@ -66,28 +64,7 @@ SubtoolEntry lpesubtools[] = {
{Inkscape::LivePathEffect::MIRROR_SYMMETRY, "draw-geometry-mirror"}
};
-static SPPenContextClass *lpetool_parent_class = 0;
-
-GType sp_lpetool_context_get_type(void)
-{
- static GType type = 0;
- if (!type) {
- GTypeInfo info = {
- sizeof(SPLPEToolContextClass),
- 0, // base_init
- 0, // base_finalize
- (GClassInitFunc)sp_lpetool_context_class_init,
- 0, // class_finalize
- 0, // class_data
- sizeof(SPLPEToolContext),
- 0, // n_preallocs
- (GInstanceInitFunc)sp_lpetool_context_init,
- 0 // value_table
- };
- type = g_type_register_static(SP_TYPE_PEN_CONTEXT, "SPLPEToolContext", &info, static_cast<GTypeFlags>(0));
- }
- return type;
-}
+G_DEFINE_TYPE(SPLPEToolContext, sp_lpetool_context, SP_TYPE_PEN_CONTEXT);
static void
sp_lpetool_context_class_init(SPLPEToolContextClass *klass)
@@ -95,8 +72,6 @@ sp_lpetool_context_class_init(SPLPEToolContextClass *klass)
GObjectClass *object_class = (GObjectClass *) klass;
SPEventContextClass *event_context_class = (SPEventContextClass *) klass;
- lpetool_parent_class = (SPPenContextClass*)g_type_class_peek_parent(klass);
-
object_class->dispose = sp_lpetool_context_dispose;
event_context_class->setup = sp_lpetool_context_setup;
@@ -140,7 +115,7 @@ sp_lpetool_context_dispose(GObject *object)
delete lc->_lpetool_message_context;
}
- G_OBJECT_CLASS(lpetool_parent_class)->dispose(object);
+ G_OBJECT_CLASS(sp_lpetool_context_parent_class)->dispose(object);
}
static void
@@ -148,8 +123,8 @@ sp_lpetool_context_setup(SPEventContext *ec)
{
SPLPEToolContext *lc = SP_LPETOOL_CONTEXT(ec);
- if (((SPEventContextClass *) lpetool_parent_class)->setup)
- ((SPEventContextClass *) lpetool_parent_class)->setup(ec);
+ if (((SPEventContextClass *) sp_lpetool_context_parent_class)->setup)
+ ((SPEventContextClass *) sp_lpetool_context_parent_class)->setup(ec);
Inkscape::Selection *selection = sp_desktop_selection (ec->desktop);
SPItem *item = selection->singleItem();
@@ -204,8 +179,8 @@ sp_lpetool_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val)
/*
//pass on up to parent class to handle common attributes.
- if ( lpetool_parent_class->set ) {
- lpetool_parent_class->set(ec, key, val);
+ if ( sp_lpetool_context_parent_class->set ) {
+ sp_lpetool_context_parent_class->set(ec, key, val);
}
*/
}
@@ -234,8 +209,8 @@ sp_lpetool_context_item_handler(SPEventContext *ec, SPItem *item, GdkEvent *even
}
if (!ret) {
- if (((SPEventContextClass *) lpetool_parent_class)->item_handler)
- ret = ((SPEventContextClass *) lpetool_parent_class)->item_handler(ec, item, event);
+ if (((SPEventContextClass *) sp_lpetool_context_parent_class)->item_handler)
+ ret = ((SPEventContextClass *) sp_lpetool_context_parent_class)->item_handler(ec, item, event);
}
return ret;
@@ -252,7 +227,7 @@ sp_lpetool_context_root_handler(SPEventContext *event_context, GdkEvent *event)
if (sp_pen_context_has_waiting_LPE(lc)) {
// quit when we are waiting for a LPE to be applied
- ret = ((SPEventContextClass *) lpetool_parent_class)->root_handler(event_context, event);
+ ret = ((SPEventContextClass *) sp_lpetool_context_parent_class)->root_handler(event_context, event);
return ret;
}
@@ -284,7 +259,7 @@ sp_lpetool_context_root_handler(SPEventContext *event_context, GdkEvent *event)
sp_pen_context_wait_for_LPE_mouse_clicks(lc, type, Inkscape::LivePathEffect::Effect::acceptsNumClicks(type));
// we pass the mouse click on to pen tool as the first click which it should collect
- ret = ((SPEventContextClass *) lpetool_parent_class)->root_handler(event_context, event);
+ ret = ((SPEventContextClass *) sp_lpetool_context_parent_class)->root_handler(event_context, event);
}
break;
@@ -320,8 +295,8 @@ sp_lpetool_context_root_handler(SPEventContext *event_context, GdkEvent *event)
}
if (!ret) {
- if (((SPEventContextClass *) lpetool_parent_class)->root_handler) {
- ret = ((SPEventContextClass *) lpetool_parent_class)->root_handler(event_context, event);
+ if (((SPEventContextClass *) sp_lpetool_context_parent_class)->root_handler) {
+ ret = ((SPEventContextClass *) sp_lpetool_context_parent_class)->root_handler(event_context, event);
}
}
diff --git a/src/mesh-context.cpp b/src/mesh-context.cpp
index 8fd016702..36712d15d 100644
--- a/src/mesh-context.cpp
+++ b/src/mesh-context.cpp
@@ -53,8 +53,6 @@
using Inkscape::DocumentUndo;
-static void sp_mesh_context_class_init(SPMeshContextClass *klass);
-static void sp_mesh_context_init(SPMeshContext *gr_context);
static void sp_mesh_context_dispose(GObject *object);
static void sp_mesh_context_setup(SPEventContext *ec);
@@ -63,35 +61,13 @@ static gint sp_mesh_context_root_handler(SPEventContext *event_context, GdkEvent
static void sp_mesh_drag(SPMeshContext &rc, Geom::Point const pt, guint state, guint32 etime);
-static SPEventContextClass *parent_class;
-
-
-GType sp_mesh_context_get_type()
-{
- static GType type = 0;
- if (!type) {
- GTypeInfo info = {
- sizeof(SPMeshContextClass),
- NULL, NULL,
- (GClassInitFunc) sp_mesh_context_class_init,
- NULL, NULL,
- sizeof(SPMeshContext),
- 4,
- (GInstanceInitFunc) sp_mesh_context_init,
- NULL, /* value_table */
- };
- type = g_type_register_static(SP_TYPE_EVENT_CONTEXT, "SPMeshContext", &info, (GTypeFlags) 0);
- }
- return type;
-}
+G_DEFINE_TYPE(SPMeshContext, sp_mesh_context, SP_TYPE_EVENT_CONTEXT);
static void sp_mesh_context_class_init(SPMeshContextClass *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_mesh_context_dispose;
event_context_class->setup = sp_mesh_context_setup;
@@ -129,7 +105,7 @@ static void sp_mesh_context_dispose(GObject *object)
rc->subselcon->disconnect();
delete rc->subselcon;
- G_OBJECT_CLASS(parent_class)->dispose(object);
+ G_OBJECT_CLASS(sp_mesh_context_parent_class)->dispose(object);
}
const gchar *ms_handle_descr [] = {
@@ -270,8 +246,8 @@ static void sp_mesh_context_setup(SPEventContext *ec)
{
SPMeshContext *rc = SP_MESH_CONTEXT(ec);
- if (((SPEventContextClass *) parent_class)->setup) {
- ((SPEventContextClass *) parent_class)->setup(ec);
+ if (((SPEventContextClass *) sp_mesh_context_parent_class)->setup) {
+ ((SPEventContextClass *) sp_mesh_context_parent_class)->setup(ec);
}
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
@@ -948,8 +924,8 @@ sp_mesh_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_mesh_context_parent_class)->root_handler) {
+ ret = ((SPEventContextClass *) sp_mesh_context_parent_class)->root_handler(event_context, event);
}
}
diff --git a/src/pencil-context.cpp b/src/pencil-context.cpp
index 19a040b24..090a43a25 100644
--- a/src/pencil-context.cpp
+++ b/src/pencil-context.cpp
@@ -45,9 +45,6 @@
#include "display/curve.h"
#include "livarot/Path.h"
-
-static void sp_pencil_context_class_init(SPPencilContextClass *klass);
-static void sp_pencil_context_init(SPPencilContext *pc);
static void sp_pencil_context_setup(SPEventContext *ec);
static void sp_pencil_context_dispose(GObject *object);
@@ -66,34 +63,12 @@ static void fit_and_split(SPPencilContext *pc);
static void interpolate(SPPencilContext *pc);
static void sketch_interpolate(SPPencilContext *pc);
-static SPDrawContextClass *pencil_parent_class;
static Geom::Point pencil_drag_origin_w(0, 0);
static bool pencil_within_tolerance = false;
static bool in_svg_plane(Geom::Point const &p) { return Geom::LInfty(p) < 1e18; }
-/**
- * Register SPPencilContext class with Gdk and return its type number.
- */
-GType
-sp_pencil_context_get_type()
-{
- static GType type = 0;
- if (!type) {
- GTypeInfo info = {
- sizeof(SPPencilContextClass),
- NULL, NULL,
- (GClassInitFunc) sp_pencil_context_class_init,
- NULL, NULL,
- sizeof(SPPencilContext),
- 4,
- (GInstanceInitFunc) sp_pencil_context_init,
- NULL, /* value_table */
- };
- type = g_type_register_static(SP_TYPE_DRAW_CONTEXT, "SPPencilContext", &info, (GTypeFlags)0);
- }
- return type;
-}
+G_DEFINE_TYPE(SPPencilContext, sp_pencil_context, SP_TYPE_DRAW_CONTEXT);
/**
* Initialize SPPencilContext vtable.
@@ -107,8 +82,6 @@ sp_pencil_context_class_init(SPPencilContextClass *klass)
object_class = (GObjectClass *) klass;
event_context_class = (SPEventContextClass *) klass;
- pencil_parent_class = (SPDrawContextClass*)g_type_class_peek_parent(klass);
-
object_class->dispose = sp_pencil_context_dispose;
event_context_class->setup = sp_pencil_context_setup;
@@ -147,8 +120,8 @@ sp_pencil_context_setup(SPEventContext *ec)
ec->enableSelectionCue();
}
- if (((SPEventContextClass *) pencil_parent_class)->setup) {
- ((SPEventContextClass *) pencil_parent_class)->setup(ec);
+ if (((SPEventContextClass *) sp_pencil_context_parent_class)->setup) {
+ ((SPEventContextClass *) sp_pencil_context_parent_class)->setup(ec);
}
SPPencilContext *const pc = SP_PENCIL_CONTEXT(ec);
@@ -160,7 +133,7 @@ sp_pencil_context_setup(SPEventContext *ec)
static void
sp_pencil_context_dispose(GObject *object)
{
- G_OBJECT_CLASS(pencil_parent_class)->dispose(object);
+ G_OBJECT_CLASS(sp_pencil_context_parent_class)->dispose(object);
}
/** Snaps new node relative to the previous node. */
@@ -218,7 +191,7 @@ sp_pencil_context_root_handler(SPEventContext *const ec, GdkEvent *event)
if (!ret) {
gint (*const parent_root_handler)(SPEventContext *, GdkEvent *)
- = ((SPEventContextClass *) pencil_parent_class)->root_handler;
+ = ((SPEventContextClass *) sp_pencil_context_parent_class)->root_handler;
if (parent_root_handler) {
ret = parent_root_handler(ec, event);
}
diff --git a/src/sp-filter.cpp b/src/sp-filter.cpp
index c7dce3850..e3a44d8bb 100644
--- a/src/sp-filter.cpp
+++ b/src/sp-filter.cpp
@@ -38,10 +38,6 @@ using std::pair;
#include "display/nr-filter.h"
/* Filter base class */
-
-static void sp_filter_class_init(SPFilterClass *klass);
-static void sp_filter_init(SPFilter *filter);
-
static void sp_filter_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_filter_release(SPObject *object);
static void sp_filter_set(SPObject *object, unsigned int key, gchar const *value);
@@ -55,37 +51,13 @@ static Inkscape::XML::Node *sp_filter_write(SPObject *object, Inkscape::XML::Doc
static void filter_ref_changed(SPObject *old_ref, SPObject *ref, SPFilter *filter);
static void filter_ref_modified(SPObject *href, guint flags, SPFilter *filter);
-static SPObjectClass *filter_parent_class;
-
-GType
-sp_filter_get_type()
-{
- static GType filter_type = 0;
-
- if (!filter_type) {
- GTypeInfo filter_info = {
- sizeof(SPFilterClass),
- NULL, NULL,
- (GClassInitFunc) sp_filter_class_init,
- NULL, NULL,
- sizeof(SPFilter),
- 16,
- (GInstanceInitFunc) sp_filter_init,
- NULL, /* value_table */
- };
- filter_type = g_type_register_static(SP_TYPE_OBJECT, "SPFilter", &filter_info, (GTypeFlags)0);
- }
- return filter_type;
-}
+G_DEFINE_TYPE(SPFilter, sp_filter, SP_TYPE_OBJECT);
static void
sp_filter_class_init(SPFilterClass *klass)
{
-
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
- filter_parent_class = (SPObjectClass*)g_type_class_peek_parent(klass);
-
sp_object_class->build = sp_filter_build;
sp_object_class->release = sp_filter_release;
sp_object_class->write = sp_filter_write;
@@ -141,8 +113,8 @@ sp_filter_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *rep
object->readAttr( "filterRes" );
object->readAttr( "xlink:href" );
- if (((SPObjectClass *) filter_parent_class)->build) {
- ((SPObjectClass *) filter_parent_class)->build(object, document, repr);
+ if (((SPObjectClass *) sp_filter_parent_class)->build) {
+ ((SPObjectClass *) sp_filter_parent_class)->build(object, document, repr);
}
//is this necessary?
@@ -174,8 +146,8 @@ static void sp_filter_release(SPObject *object)
filter->modified_connection.~connection();
delete filter->_image_name;
- if (((SPObjectClass *) filter_parent_class)->release)
- ((SPObjectClass *) filter_parent_class)->release(object);
+ if (((SPObjectClass *) sp_filter_parent_class)->release)
+ ((SPObjectClass *) sp_filter_parent_class)->release(object);
}
/**
@@ -249,8 +221,8 @@ sp_filter_set(SPObject *object, unsigned int key, gchar const *value)
break;
default:
// See if any parents need this value.
- if (((SPObjectClass *) filter_parent_class)->set) {
- ((SPObjectClass *) filter_parent_class)->set(object, key, value);
+ if (((SPObjectClass *) sp_filter_parent_class)->set) {
+ ((SPObjectClass *) sp_filter_parent_class)->set(object, key, value);
}
break;
}
@@ -271,8 +243,8 @@ sp_filter_update(SPObject *object, SPCtx *ctx, guint flags)
}
- if (((SPObjectClass *) filter_parent_class)->update) {
- ((SPObjectClass *) filter_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_filter_parent_class)->update) {
+ ((SPObjectClass *) sp_filter_parent_class)->update(object, ctx, flags);
}
}
@@ -367,8 +339,8 @@ sp_filter_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::N
g_free(uri_string);
}
- if (((SPObjectClass *) filter_parent_class)->write) {
- ((SPObjectClass *) filter_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_filter_parent_class)->write) {
+ ((SPObjectClass *) sp_filter_parent_class)->write(object, doc, repr, flags);
}
return repr;
@@ -407,8 +379,8 @@ sp_filter_child_added(SPObject *object, Inkscape::XML::Node *child, Inkscape::XM
{
//SPFilter *f = SP_FILTER(object);
- if (((SPObjectClass *) filter_parent_class)->child_added)
- (* ((SPObjectClass *) filter_parent_class)->child_added)(object, child, ref);
+ if (((SPObjectClass *) sp_filter_parent_class)->child_added)
+ (* ((SPObjectClass *) sp_filter_parent_class)->child_added)(object, child, ref);
object->requestModified(SP_OBJECT_MODIFIED_FLAG);
}
@@ -421,8 +393,8 @@ sp_filter_remove_child(SPObject *object, Inkscape::XML::Node *child)
{
// SPFilter *f = SP_FILTER(object);
- if (((SPObjectClass *) filter_parent_class)->remove_child)
- (* ((SPObjectClass *) filter_parent_class)->remove_child)(object, child);
+ if (((SPObjectClass *) sp_filter_parent_class)->remove_child)
+ (* ((SPObjectClass *) sp_filter_parent_class)->remove_child)(object, child);
object->requestModified(SP_OBJECT_MODIFIED_FLAG);
}
diff --git a/src/sp-lpe-item.cpp b/src/sp-lpe-item.cpp
index 3b8999eda..e8629ff70 100644
--- a/src/sp-lpe-item.cpp
+++ b/src/sp-lpe-item.cpp
@@ -39,9 +39,6 @@
#include <algorithm>
/* LPEItem base class */
-
-static void sp_lpe_item_class_init(SPLPEItemClass *klass);
-static void sp_lpe_item_init(SPLPEItem *lpe_item);
static void sp_lpe_item_finalize(GObject *object);
static void sp_lpe_item_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
@@ -64,34 +61,12 @@ typedef std::list<std::string> HRefList;
static std::string patheffectlist_write_svg(PathEffectList const & list);
static std::string hreflist_write_svg(HRefList const & list);
-static SPItemClass *parent_class;
-
-GType
-sp_lpe_item_get_type()
-{
- static GType lpe_item_type = 0;
-
- if (!lpe_item_type) {
- GTypeInfo lpe_item_info = {
- sizeof(SPLPEItemClass),
- NULL, NULL,
- (GClassInitFunc) sp_lpe_item_class_init,
- NULL, NULL,
- sizeof(SPLPEItem),
- 16,
- (GInstanceInitFunc) sp_lpe_item_init,
- NULL, /* value_table */
- };
- lpe_item_type = g_type_register_static(SP_TYPE_ITEM, "SPLPEItem", &lpe_item_info, (GTypeFlags)0);
- }
- return lpe_item_type;
-}
+G_DEFINE_TYPE(SPLPEItem, sp_lpe_item, SP_TYPE_ITEM);
static void sp_lpe_item_class_init(SPLPEItemClass *klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
SPObjectClass *sp_object_class = SP_OBJECT_CLASS(klass);
- parent_class = SP_ITEM_CLASS(g_type_class_peek_parent(klass));
gobject_class->finalize = sp_lpe_item_finalize;
sp_object_class->build = sp_lpe_item_build;
@@ -119,8 +94,8 @@ sp_lpe_item_init(SPLPEItem *lpeitem)
static void sp_lpe_item_finalize(GObject *object)
{
- if (((GObjectClass *) (parent_class))->finalize) {
- (* ((GObjectClass *) (parent_class))->finalize)(object);
+ if (((GObjectClass *) (sp_lpe_item_parent_class))->finalize) {
+ (* ((GObjectClass *) (sp_lpe_item_parent_class))->finalize)(object);
}
}
@@ -133,8 +108,8 @@ static void sp_lpe_item_build(SPObject *object, SPDocument *document, Inkscape::
{
object->readAttr( "inkscape:path-effect" );
- if ((SP_OBJECT_CLASS(parent_class))->build) {
- (SP_OBJECT_CLASS(parent_class))->build(object, document, repr);
+ if ((SP_OBJECT_CLASS(sp_lpe_item_parent_class))->build) {
+ (SP_OBJECT_CLASS(sp_lpe_item_parent_class))->build(object, document, repr);
}
}
@@ -165,8 +140,8 @@ static void sp_lpe_item_release(SPObject *object)
delete lpeitem->path_effect_list;
lpeitem->path_effect_list = NULL;
- if ((SP_OBJECT_CLASS(parent_class))->release)
- (SP_OBJECT_CLASS(parent_class))->release(object);
+ if ((SP_OBJECT_CLASS(sp_lpe_item_parent_class))->release)
+ (SP_OBJECT_CLASS(sp_lpe_item_parent_class))->release(object);
}
/**
@@ -234,8 +209,8 @@ static void sp_lpe_item_set(SPObject *object, unsigned int key, gchar const *val
}
break;
default:
- if ((SP_OBJECT_CLASS(parent_class))->set) {
- (SP_OBJECT_CLASS(parent_class))->set(object, key, value);
+ if ((SP_OBJECT_CLASS(sp_lpe_item_parent_class))->set) {
+ (SP_OBJECT_CLASS(sp_lpe_item_parent_class))->set(object, key, value);
}
break;
}
@@ -247,8 +222,8 @@ static void sp_lpe_item_set(SPObject *object, unsigned int key, gchar const *val
static void
sp_lpe_item_update(SPObject *object, SPCtx *ctx, guint flags)
{
- if ((SP_OBJECT_CLASS(parent_class))->update) {
- (SP_OBJECT_CLASS(parent_class))->update(object, ctx, flags);
+ if ((SP_OBJECT_CLASS(sp_lpe_item_parent_class))->update) {
+ (SP_OBJECT_CLASS(sp_lpe_item_parent_class))->update(object, ctx, flags);
}
// update the helperpaths of all LPEs applied to the item
@@ -264,8 +239,8 @@ static void sp_lpe_item_modified (SPObject *object, unsigned int flags)
sp_lpe_item_update_patheffect(SP_LPE_ITEM(object), true, true);
}
- if ((SP_OBJECT_CLASS(parent_class))->modified) {
- (* (SP_OBJECT_CLASS(parent_class))->modified) (object, flags);
+ if ((SP_OBJECT_CLASS(sp_lpe_item_parent_class))->modified) {
+ (* (SP_OBJECT_CLASS(sp_lpe_item_parent_class))->modified) (object, flags);
}
}
@@ -285,8 +260,8 @@ static Inkscape::XML::Node * sp_lpe_item_write(SPObject *object, Inkscape::XML::
}
}
- if ((SP_OBJECT_CLASS(parent_class))->write) {
- (SP_OBJECT_CLASS(parent_class))->write(object, xml_doc, repr, flags);
+ if ((SP_OBJECT_CLASS(sp_lpe_item_parent_class))->write) {
+ (SP_OBJECT_CLASS(sp_lpe_item_parent_class))->write(object, xml_doc, repr, flags);
}
return repr;
@@ -666,8 +641,8 @@ void sp_lpe_item_edit_next_param_oncanvas(SPLPEItem *lpeitem, SPDesktop *dt)
static void sp_lpe_item_child_added(SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *ref)
{
- if ((SP_OBJECT_CLASS(parent_class))->child_added)
- (* (SP_OBJECT_CLASS(parent_class))->child_added) (object, child, ref);
+ if ((SP_OBJECT_CLASS(sp_lpe_item_parent_class))->child_added)
+ (* (SP_OBJECT_CLASS(sp_lpe_item_parent_class))->child_added) (object, child, ref);
if (SP_IS_LPE_ITEM(object) && sp_lpe_item_has_path_effect_recursive(SP_LPE_ITEM(object))) {
SPObject *ochild = object->get_child_by_repr(child);
@@ -686,8 +661,8 @@ static void sp_lpe_item_remove_child(SPObject * object, Inkscape::XML::Node * ch
}
}
- if ((SP_OBJECT_CLASS(parent_class))->remove_child)
- (* (SP_OBJECT_CLASS(parent_class))->remove_child) (object, child);
+ if ((SP_OBJECT_CLASS(sp_lpe_item_parent_class))->remove_child)
+ (* (SP_OBJECT_CLASS(sp_lpe_item_parent_class))->remove_child) (object, child);
}
static std::string patheffectlist_write_svg(PathEffectList const & list)
diff --git a/src/sp-mask.cpp b/src/sp-mask.cpp
index 785a626f8..4243c9811 100644
--- a/src/sp-mask.cpp
+++ b/src/sp-mask.cpp
@@ -34,9 +34,6 @@ struct SPMaskView {
Geom::OptRect bbox;
};
-static void sp_mask_class_init (SPMaskClass *klass);
-static void sp_mask_init (SPMask *mask);
-
static void sp_mask_build (SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_mask_release (SPObject * object);
static void sp_mask_set (SPObject *object, unsigned int key, const gchar *value);
@@ -48,33 +45,11 @@ static Inkscape::XML::Node *sp_mask_write (SPObject *object, Inkscape::XML::Docu
SPMaskView *sp_mask_view_new_prepend (SPMaskView *list, unsigned int key, Inkscape::DrawingItem *arenaitem);
SPMaskView *sp_mask_view_list_remove (SPMaskView *list, SPMaskView *view);
-static SPObjectGroupClass *parent_class;
-
-GType
-sp_mask_get_type (void)
-{
- static GType type = 0;
- if (!type) {
- GTypeInfo info = {
- sizeof (SPMaskClass),
- NULL, NULL,
- (GClassInitFunc) sp_mask_class_init,
- NULL, NULL,
- sizeof (SPMask),
- 16,
- (GInstanceInitFunc) sp_mask_init,
- NULL, /* value_table */
- };
- type = g_type_register_static (SP_TYPE_OBJECTGROUP, "SPMask", &info, (GTypeFlags)0);
- }
- return type;
-}
+G_DEFINE_TYPE(SPMask, sp_mask, SP_TYPE_OBJECTGROUP);
static void
sp_mask_class_init (SPMaskClass *klass)
{
- parent_class = SP_OBJECTGROUP_CLASS(g_type_class_ref(SP_TYPE_OBJECTGROUP));
-
SPObjectClass *sp_object_class = (SPObjectClass *) klass;
sp_object_class->build = sp_mask_build;
sp_object_class->release = sp_mask_release;
@@ -100,8 +75,8 @@ sp_mask_init (SPMask *mask)
static void
sp_mask_build (SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) parent_class)->build) {
- ((SPObjectClass *) parent_class)->build (object, document, repr);
+ if (((SPObjectClass *) sp_mask_parent_class)->build) {
+ ((SPObjectClass *) sp_mask_parent_class)->build (object, document, repr);
}
object->readAttr( "maskUnits" );
@@ -124,8 +99,8 @@ static void sp_mask_release (SPObject * object)
cp->display = sp_mask_view_list_remove (cp->display, cp->display);
}
- if (((SPObjectClass *) (parent_class))->release) {
- ((SPObjectClass *) parent_class)->release (object);
+ if (((SPObjectClass *) (sp_mask_parent_class))->release) {
+ ((SPObjectClass *) sp_mask_parent_class)->release (object);
}
}
@@ -162,8 +137,8 @@ sp_mask_set (SPObject *object, unsigned int key, const gchar *value)
object->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG);
break;
default:
- if (((SPObjectClass *) parent_class)->set)
- ((SPObjectClass *) parent_class)->set (object, key, value);
+ if (((SPObjectClass *) sp_mask_parent_class)->set)
+ ((SPObjectClass *) sp_mask_parent_class)->set (object, key, value);
break;
}
}
@@ -172,7 +147,7 @@ static void
sp_mask_child_added (SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *ref)
{
/* Invoke SPObjectGroup implementation */
- ((SPObjectClass *) (parent_class))->child_added (object, child, ref);
+ ((SPObjectClass *) (sp_mask_parent_class))->child_added (object, child, ref);
/* Show new object */
SPObject *ochild = object->document->getObjectByRepr(child);
@@ -258,8 +233,8 @@ sp_mask_write (SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML
repr = xml_doc->createElement("svg:mask");
}
- if (((SPObjectClass *) (parent_class))->write)
- ((SPObjectClass *) (parent_class))->write (object, xml_doc, repr, flags);
+ if (((SPObjectClass *) (sp_mask_parent_class))->write)
+ ((SPObjectClass *) (sp_mask_parent_class))->write (object, xml_doc, repr, flags);
return repr;
}
diff --git a/src/sp-metadata.cpp b/src/sp-metadata.cpp
index 831bb5a70..9978d0a3a 100644
--- a/src/sp-metadata.cpp
+++ b/src/sp-metadata.cpp
@@ -33,46 +33,19 @@
/* Metadata base class */
-static void sp_metadata_class_init (SPMetadataClass *klass);
-static void sp_metadata_init (SPMetadata *metadata);
-
static void sp_metadata_build (SPObject * object, SPDocument * document, Inkscape::XML::Node * repr);
static void sp_metadata_release (SPObject *object);
static void sp_metadata_set (SPObject *object, unsigned int key, const gchar *value);
static void sp_metadata_update(SPObject *object, SPCtx *ctx, guint flags);
static Inkscape::XML::Node *sp_metadata_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
-static SPObjectClass *metadata_parent_class;
-
-GType
-sp_metadata_get_type (void)
-{
- static GType metadata_type = 0;
-
- if (!metadata_type) {
- GTypeInfo metadata_info = {
- sizeof (SPMetadataClass),
- NULL, NULL,
- (GClassInitFunc) sp_metadata_class_init,
- NULL, NULL,
- sizeof (SPMetadata),
- 16,
- (GInstanceInitFunc) sp_metadata_init,
- NULL, /* value_table */
- };
- metadata_type = g_type_register_static (SP_TYPE_OBJECT, "SPMetadata", &metadata_info, (GTypeFlags)0);
- }
- return metadata_type;
-}
+G_DEFINE_TYPE(SPMetadata, sp_metadata, SP_TYPE_OBJECT);
static void
sp_metadata_class_init (SPMetadataClass *klass)
{
- //GObjectClass *gobject_class = (GObjectClass *)klass;
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
- metadata_parent_class = (SPObjectClass*)g_type_class_peek_parent (klass);
-
sp_object_class->build = sp_metadata_build;
sp_object_class->release = sp_metadata_release;
sp_object_class->write = sp_metadata_write;
@@ -123,8 +96,8 @@ static void sp_metadata_build(SPObject *object, SPDocument *document, Inkscape::
}
}
- if (((SPObjectClass *) metadata_parent_class)->build)
- ((SPObjectClass *) metadata_parent_class)->build (object, document, repr);
+ if (((SPObjectClass *) sp_metadata_parent_class)->build)
+ ((SPObjectClass *) sp_metadata_parent_class)->build (object, document, repr);
}
/**
@@ -136,8 +109,8 @@ static void sp_metadata_release(SPObject *object)
// handle ourself
- if (((SPObjectClass *) metadata_parent_class)->release)
- ((SPObjectClass *) metadata_parent_class)->release (object);
+ if (((SPObjectClass *) sp_metadata_parent_class)->release)
+ ((SPObjectClass *) sp_metadata_parent_class)->release (object);
}
/**
@@ -150,8 +123,8 @@ static void sp_metadata_set(SPObject *object, unsigned int key, const gchar *val
SP_METADATA(object); // ensures the object is of the proper type.
// see if any parents need this value
- if (reinterpret_cast<SPObjectClass *>(metadata_parent_class)->set) {
- reinterpret_cast<SPObjectClass *>(metadata_parent_class)->set(object, key, value);
+ if (reinterpret_cast<SPObjectClass *>(sp_metadata_parent_class)->set) {
+ reinterpret_cast<SPObjectClass *>(sp_metadata_parent_class)->set(object, key, value);
}
}
@@ -170,8 +143,8 @@ static void sp_metadata_update(SPObject *object, SPCtx *ctx, guint flags)
}
- if (((SPObjectClass *) metadata_parent_class)->update)
- ((SPObjectClass *) metadata_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_metadata_parent_class)->update)
+ ((SPObjectClass *) sp_metadata_parent_class)->update(object, ctx, flags);
}
/**
@@ -190,8 +163,8 @@ static Inkscape::XML::Node *sp_metadata_write(SPObject *object, Inkscape::XML::D
}
}
- if (((SPObjectClass *) metadata_parent_class)->write) {
- ((SPObjectClass *) metadata_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_metadata_parent_class)->write) {
+ ((SPObjectClass *) sp_metadata_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/sp-pattern.cpp b/src/sp-pattern.cpp
index f18199e96..754a75e87 100644
--- a/src/sp-pattern.cpp
+++ b/src/sp-pattern.cpp
@@ -40,10 +40,6 @@
/*
* Pattern
*/
-
-static void sp_pattern_class_init (SPPatternClass *klass);
-static void sp_pattern_init (SPPattern *gr);
-
static void sp_pattern_build (SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_pattern_release (SPObject *object);
static void sp_pattern_set (SPObject *object, unsigned int key, const gchar *value);
@@ -55,29 +51,7 @@ static void pattern_ref_modified (SPObject *ref, guint flags, SPPattern *pattern
static cairo_pattern_t *sp_pattern_create_pattern(SPPaintServer *ps, cairo_t *ct, Geom::OptRect const &bbox, double opacity);
-static SPPaintServerClass * pattern_parent_class;
-
-GType
-sp_pattern_get_type (void)
-{
- static GType pattern_type = 0;
- if (!pattern_type) {
- GTypeInfo pattern_info = {
- sizeof (SPPatternClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) sp_pattern_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (SPPattern),
- 16, /* n_preallocs */
- (GInstanceInitFunc) sp_pattern_init,
- NULL, /* value_table */
- };
- pattern_type = g_type_register_static (SP_TYPE_PAINT_SERVER, "SPPattern", &pattern_info, (GTypeFlags)0);
- }
- return pattern_type;
-}
+G_DEFINE_TYPE(SPPattern, sp_pattern, SP_TYPE_PAINT_SERVER);
static void
sp_pattern_class_init (SPPatternClass *klass)
@@ -88,8 +62,6 @@ sp_pattern_class_init (SPPatternClass *klass)
sp_object_class = (SPObjectClass *) klass;
ps_class = (SPPaintServerClass *) klass;
- pattern_parent_class = (SPPaintServerClass*)g_type_class_ref (SP_TYPE_PAINT_SERVER);
-
sp_object_class->build = sp_pattern_build;
sp_object_class->release = sp_pattern_release;
sp_object_class->set = sp_pattern_set;
@@ -129,8 +101,8 @@ sp_pattern_init (SPPattern *pat)
static void
sp_pattern_build (SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) pattern_parent_class)->build)
- (* ((SPObjectClass *) pattern_parent_class)->build) (object, document, repr);
+ if (((SPObjectClass *) sp_pattern_parent_class)->build)
+ (* ((SPObjectClass *) sp_pattern_parent_class)->build) (object, document, repr);
object->readAttr( "patternUnits" );
object->readAttr( "patternContentUnits" );
@@ -164,8 +136,8 @@ static void sp_pattern_release(SPObject *object)
pat->modified_connection.~connection();
- if (((SPObjectClass *) pattern_parent_class)->release) {
- ((SPObjectClass *) pattern_parent_class)->release (object);
+ if (((SPObjectClass *) sp_pattern_parent_class)->release) {
+ ((SPObjectClass *) sp_pattern_parent_class)->release (object);
}
}
@@ -280,8 +252,8 @@ sp_pattern_set (SPObject *object, unsigned int key, const gchar *value)
}
break;
default:
- if (((SPObjectClass *) pattern_parent_class)->set)
- ((SPObjectClass *) pattern_parent_class)->set (object, key, value);
+ if (((SPObjectClass *) sp_pattern_parent_class)->set)
+ ((SPObjectClass *) sp_pattern_parent_class)->set (object, key, value);
break;
}
}
diff --git a/src/sp-title.cpp b/src/sp-title.cpp
index ddeccede2..489a6f448 100644
--- a/src/sp-title.cpp
+++ b/src/sp-title.cpp
@@ -16,38 +16,14 @@
#include "sp-title.h"
#include "xml/repr.h"
-static void sp_title_class_init(SPTitleClass *klass);
-static void sp_title_init(SPTitle *rect);
static Inkscape::XML::Node *sp_title_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
-static SPObjectClass *title_parent_class;
-
-GType
-sp_title_get_type (void)
-{
- static GType title_type = 0;
-
- if (!title_type) {
- GTypeInfo title_info = {
- sizeof (SPTitleClass),
- NULL, NULL,
- (GClassInitFunc) sp_title_class_init,
- NULL, NULL,
- sizeof (SPTitle),
- 16,
- (GInstanceInitFunc) sp_title_init,
- NULL, /* value_table */
- };
- title_type = g_type_register_static (SP_TYPE_OBJECT, "SPTitle", &title_info, (GTypeFlags)0);
- }
- return title_type;
-}
+G_DEFINE_TYPE(SPTitle, sp_title, SP_TYPE_OBJECT);
static void
sp_title_class_init(SPTitleClass *klass)
{
SPObjectClass *sp_object_class = (SPObjectClass *) klass;
- title_parent_class = (SPObjectClass *) g_type_class_ref(SP_TYPE_OBJECT);
sp_object_class->write = sp_title_write;
}
@@ -66,8 +42,8 @@ static Inkscape::XML::Node *sp_title_write(SPObject *object, Inkscape::XML::Docu
repr = object->getRepr()->duplicate(doc);
}
- if (((SPObjectClass *) title_parent_class)->write) {
- ((SPObjectClass *) title_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_title_parent_class)->write) {
+ ((SPObjectClass *) sp_title_parent_class)->write(object, doc, repr, flags);
}
return repr;
diff --git a/src/ui/tool/node-tool.cpp b/src/ui/tool/node-tool.cpp
index 7b6502ec3..e743e0efc 100644
--- a/src/ui/tool/node-tool.cpp
+++ b/src/ui/tool/node-tool.cpp
@@ -107,8 +107,6 @@ using Inkscape::ControlManager;
namespace {
SPCanvasGroup *create_control_group(SPDesktop *d);
-void ink_node_tool_class_init(InkNodeToolClass *klass);
-void ink_node_tool_init(InkNodeTool *node_context);
void ink_node_tool_dispose(GObject *object);
void ink_node_tool_setup(SPEventContext *ec);
@@ -126,39 +124,10 @@ void handleControlUiStyleChange(InkNodeTool *nt);
} // anonymous namespace
-GType ink_node_tool_get_type()
-{
- static GType type = 0;
- if (!type) {
- GTypeInfo info = {
- sizeof(InkNodeToolClass),
- NULL, NULL,
- (GClassInitFunc) ink_node_tool_class_init,
- NULL, NULL,
- sizeof(InkNodeTool),
- 4,
- (GInstanceInitFunc) ink_node_tool_init,
- NULL, /* value_table */
- };
- type = g_type_register_static(SP_TYPE_EVENT_CONTEXT, "InkNodeTool", &info, (GTypeFlags)0);
- }
- return type;
-}
-
-namespace {
-
-SPCanvasGroup *create_control_group(SPDesktop *d)
-{
- return reinterpret_cast<SPCanvasGroup*>(sp_canvas_item_new(
- sp_desktop_controls(d), SP_TYPE_CANVAS_GROUP, NULL));
-}
-
-void destroy_group(SPCanvasGroup *g)
-{
- sp_canvas_item_destroy(SP_CANVAS_ITEM(g));
-}
+G_DEFINE_TYPE(InkNodeTool, ink_node_tool, SP_TYPE_EVENT_CONTEXT);
-void ink_node_tool_class_init(InkNodeToolClass *klass)
+static void
+ink_node_tool_class_init(InkNodeToolClass *klass)
{
GObjectClass *object_class = (GObjectClass *) klass;
SPEventContextClass *event_context_class = (SPEventContextClass *) klass;
@@ -171,7 +140,8 @@ void ink_node_tool_class_init(InkNodeToolClass *klass)
event_context_class->item_handler = ink_node_tool_item_handler;
}
-void ink_node_tool_init(InkNodeTool *nt)
+static void
+ink_node_tool_init(InkNodeTool *nt)
{
SPEventContext *event_context = SP_EVENT_CONTEXT(nt);
@@ -191,6 +161,19 @@ void ink_node_tool_init(InkNodeTool *nt)
new (&nt->_shape_editors) ShapeEditors();
}
+namespace {
+
+SPCanvasGroup *create_control_group(SPDesktop *d)
+{
+ return reinterpret_cast<SPCanvasGroup*>(sp_canvas_item_new(
+ sp_desktop_controls(d), SP_TYPE_CANVAS_GROUP, NULL));
+}
+
+void destroy_group(SPCanvasGroup *g)
+{
+ sp_canvas_item_destroy(SP_CANVAS_ITEM(g));
+}
+
void ink_node_tool_dispose(GObject *object)
{
InkNodeTool *nt = INK_NODE_TOOL(object);
@@ -228,15 +211,15 @@ void ink_node_tool_dispose(GObject *object)
delete nt->_node_message_context;
}
- G_OBJECT_CLASS(g_type_class_peek(g_type_parent(INK_TYPE_NODE_TOOL)))->dispose(object);
+ G_OBJECT_CLASS(ink_node_tool_parent_class)->dispose(object);
}
void ink_node_tool_setup(SPEventContext *ec)
{
InkNodeTool *nt = INK_NODE_TOOL(ec);
- SPEventContextClass *parent = (SPEventContextClass *) g_type_class_peek(g_type_parent(INK_TYPE_NODE_TOOL));
- if (parent->setup) parent->setup(ec);
+ if (SP_EVENT_CONTEXT_CLASS(ink_node_tool_parent_class)->setup)
+ SP_EVENT_CONTEXT_CLASS(ink_node_tool_parent_class)->setup(ec);
nt->_node_message_context = new Inkscape::MessageContext((ec->desktop)->messageStack());
@@ -372,10 +355,8 @@ void ink_node_tool_set(SPEventContext *ec, Inkscape::Preferences::Entry *value)
nt->edit_masks = value->getBool();
ink_node_tool_selection_changed(nt, nt->desktop->selection);
} else {
- SPEventContextClass *parent_class =
- (SPEventContextClass *) g_type_class_peek(g_type_parent(INK_TYPE_NODE_TOOL));
- if (parent_class->set)
- parent_class->set(ec, value);
+ if (SP_EVENT_CONTEXT_CLASS(ink_node_tool_parent_class)->set)
+ SP_EVENT_CONTEXT_CLASS(ink_node_tool_parent_class)->set(ec, value);
}
}
@@ -556,9 +537,9 @@ gint ink_node_tool_root_handler(SPEventContext *event_context, GdkEvent *event)
default: break;
}
- SPEventContextClass *parent_class = (SPEventContextClass *) g_type_class_peek(g_type_parent(INK_TYPE_NODE_TOOL));
- if (parent_class->root_handler)
- return parent_class->root_handler(event_context, event);
+ if (SP_EVENT_CONTEXT_CLASS(ink_node_tool_parent_class)->root_handler)
+ return SP_EVENT_CONTEXT_CLASS(ink_node_tool_parent_class)->root_handler(event_context, event);
+
return FALSE;
}
@@ -622,10 +603,9 @@ void ink_node_tool_update_tip(InkNodeTool *nt, GdkEvent *event)
gint ink_node_tool_item_handler(SPEventContext *event_context, SPItem *item, GdkEvent *event)
{
- SPEventContextClass *parent_class =
- (SPEventContextClass *) g_type_class_peek(g_type_parent(INK_TYPE_NODE_TOOL));
- if (parent_class->item_handler)
- return parent_class->item_handler(event_context, item, event);
+ if (SP_EVENT_CONTEXT_CLASS(ink_node_tool_parent_class)->item_handler)
+ return SP_EVENT_CONTEXT_CLASS(ink_node_tool_parent_class)->item_handler(event_context, item, event);
+
return FALSE;
}
diff --git a/src/widgets/button.cpp b/src/widgets/button.cpp
index d7be6c9f0..467f0d70e 100644
--- a/src/widgets/button.cpp
+++ b/src/widgets/button.cpp
@@ -25,8 +25,6 @@
#include "button.h"
-static void sp_button_class_init (SPButtonClass *klass);
-static void sp_button_init (SPButton *button);
static void sp_button_dispose(GObject *object);
#if GTK_CHECK_VERSION(3,0,0)
@@ -50,28 +48,7 @@ static void sp_button_set_doubleclick_action (SPButton *button, SPAction *action
static void sp_button_action_set_active (SPButton *button, bool active);
static void sp_button_set_composed_tooltip (GtkWidget *widget, SPAction *action);
-static GtkToggleButtonClass *parent_class;
-
-GType sp_button_get_type(void)
-{
- static GType type = 0;
- if (!type) {
- GTypeInfo info = {
- sizeof(SPButtonClass),
- 0, // base_init
- 0, // base_finalize
- (GClassInitFunc)sp_button_class_init,
- 0, // class_finalize
- 0, // class_data
- sizeof(SPButton),
- 0, // n_preallocs
- (GInstanceInitFunc)sp_button_init,
- 0 // value_table
- };
- type = g_type_register_static(GTK_TYPE_TOGGLE_BUTTON, "SPButton", &info, static_cast<GTypeFlags>(0));
- }
- return type;
-}
+G_DEFINE_TYPE(SPButton, sp_button, GTK_TYPE_TOGGLE_BUTTON);
static void
sp_button_class_init (SPButtonClass *klass)
@@ -80,8 +57,6 @@ sp_button_class_init (SPButtonClass *klass)
GtkWidgetClass *widget_class=GTK_WIDGET_CLASS(klass);
GtkButtonClass *button_class=GTK_BUTTON_CLASS(klass);
- parent_class = GTK_TOGGLE_BUTTON_CLASS(g_type_class_peek_parent(klass));
-
object_class->dispose = sp_button_dispose;
#if GTK_CHECK_VERSION(3,0,0)
widget_class->get_preferred_width = sp_button_get_preferred_width;
@@ -120,10 +95,10 @@ static void sp_button_dispose(GObject *object)
sp_button_set_doubleclick_action (button, NULL);
}
- button->c_set_active.~connection();
- button->c_set_sensitive.~connection();
+ button->c_set_active.~connection();
+ button->c_set_sensitive.~connection();
- (G_OBJECT_CLASS(parent_class))->dispose(object);
+ (G_OBJECT_CLASS(sp_button_parent_class))->dispose(object);
}
@@ -185,7 +160,7 @@ sp_button_clicked (GtkButton *button)
SPButton *sp_button=SP_BUTTON (button);
if (sp_button->type == SP_BUTTON_TYPE_TOGGLE) {
- (GTK_BUTTON_CLASS(parent_class))->clicked (button);
+ (GTK_BUTTON_CLASS(sp_button_parent_class))->clicked (button);
}
}
@@ -340,3 +315,13 @@ sp_button_new_from_data( Inkscape::IconSize size,
return button;
}
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/widgets/icon.cpp b/src/widgets/icon.cpp
index 7866989b1..8470e93db 100644
--- a/src/widgets/icon.cpp
+++ b/src/widgets/icon.cpp
@@ -41,9 +41,6 @@
#include "icon.h"
struct IconImpl {
- static void classInit(SPIconClass *klass);
- static void init(SPIcon *icon);
-
static GtkWidget *newFull( Inkscape::IconSize lsize, gchar const *name );
static void dispose(GObject *object);
@@ -104,12 +101,10 @@ struct IconImpl {
private:
static const std::string magicNumber;
- static GtkWidgetClass *parent_class;
static std::map<Glib::ustring, Glib::ustring> legacyNames;
};
const std::string IconImpl::magicNumber = "1.0";
-GtkWidgetClass *IconImpl::parent_class = 0;
std::map<Glib::ustring, Glib::ustring> IconImpl::legacyNames;
@@ -141,34 +136,14 @@ public:
static std::map<Glib::ustring, std::vector<IconCacheItem> > iconSetCache;
static std::set<Glib::ustring> internalNames;
-GType SPIcon::getType()
-{
- static GType type = 0;
- if (!type) {
- GTypeInfo info = {
- sizeof(SPIconClass),
- NULL,
- NULL,
- reinterpret_cast<GClassInitFunc>(IconImpl::classInit),
- NULL,
- NULL,
- sizeof(SPIcon),
- 0,
- reinterpret_cast<GInstanceInitFunc>(IconImpl::init),
- NULL
- };
- type = g_type_register_static(GTK_TYPE_WIDGET, "SPIcon", &info, (GTypeFlags)0);
- }
- return type;
-}
+G_DEFINE_TYPE(SPIcon, sp_icon, GTK_TYPE_WIDGET);
-void IconImpl::classInit(SPIconClass *klass)
+static void
+sp_icon_class_init(SPIconClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
- parent_class = GTK_WIDGET_CLASS(g_type_class_peek_parent(klass));
-
object_class->dispose = IconImpl::dispose;
#if GTK_CHECK_VERSION(3,0,0)
@@ -184,7 +159,8 @@ void IconImpl::classInit(SPIconClass *klass)
widget_class->style_set = IconImpl::styleSet;
}
-void IconImpl::init(SPIcon *icon)
+static void
+sp_icon_init(SPIcon *icon)
{
gtk_widget_set_has_window (GTK_WIDGET (icon), FALSE);
icon->lsize = Inkscape::ICON_SIZE_BUTTON;
@@ -202,7 +178,7 @@ void IconImpl::dispose(GObject *object)
icon->name = 0;
}
- (G_OBJECT_CLASS(parent_class))->dispose(object);
+ (G_OBJECT_CLASS(sp_icon_parent_class))->dispose(object);
}
void IconImpl::reset( SPIcon *icon )
@@ -375,8 +351,8 @@ GdkPixbuf* IconImpl::renderup( gchar const* name, Inkscape::IconSize lsize, unsi
void IconImpl::screenChanged( GtkWidget *widget, GdkScreen *previous_screen )
{
- if ( GTK_WIDGET_CLASS( parent_class )->screen_changed ) {
- GTK_WIDGET_CLASS( parent_class )->screen_changed( widget, previous_screen );
+ if ( GTK_WIDGET_CLASS( sp_icon_parent_class )->screen_changed ) {
+ GTK_WIDGET_CLASS( sp_icon_parent_class )->screen_changed( widget, previous_screen );
}
SPIcon *icon = SP_ICON(widget);
themeChanged(icon);
@@ -384,8 +360,8 @@ void IconImpl::screenChanged( GtkWidget *widget, GdkScreen *previous_screen )
void IconImpl::styleSet( GtkWidget *widget, GtkStyle *previous_style )
{
- if ( GTK_WIDGET_CLASS( parent_class )->style_set ) {
- GTK_WIDGET_CLASS( parent_class )->style_set( widget, previous_style );
+ if ( GTK_WIDGET_CLASS( sp_icon_parent_class )->style_set ) {
+ GTK_WIDGET_CLASS( sp_icon_parent_class )->style_set( widget, previous_style );
}
SPIcon *icon = SP_ICON(widget);
themeChanged(icon);
diff --git a/src/widgets/icon.h b/src/widgets/icon.h
index 3f6aa2455..6bce2e330 100644
--- a/src/widgets/icon.h
+++ b/src/widgets/icon.h
@@ -17,7 +17,7 @@
#include <gtkmm/widget.h>
#include "icon-size.h"
-#define SP_TYPE_ICON SPIcon::getType()
+#define SP_TYPE_ICON sp_icon_get_type()
#define SP_ICON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_ICON, SPIcon))
#define SP_IS_ICON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_ICON))
@@ -29,6 +29,8 @@ struct SPIconClass {
GtkWidgetClass parent_class;
};
+GType sp_icon_get_type() G_GNUC_CONST;
+
struct SPIcon {
GtkWidget widget;
@@ -38,8 +40,6 @@ struct SPIcon {
GdkPixbuf *pb;
- static GType getType(void);
-
friend class SPIconImpl;
};