Revision: 3625 http://geany.svn.sourceforge.net/geany/?rev=3625&view=rev Author: eht16 Date: 2009-03-13 09:59:58 +0000 (Fri, 13 Mar 2009)
Log Message: ----------- Use G_DEFINE_TYPE in the GTK+ class template instead of manual code. Other minor cleanups.
Modified Paths: -------------- trunk/ChangeLog trunk/plugins/classbuilder.c
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-03-13 09:58:27 UTC (rev 3624) +++ trunk/ChangeLog 2009-03-13 09:59:58 UTC (rev 3625) @@ -8,6 +8,9 @@ Add filetype ActionScript (patch by Chris Macksey, thanks). Update type keywords only for real C-like languages. Fix wrong sorting of Assembler and Ada filetypes. + * plugins/classbuilder.c: + Use G_DEFINE_TYPE in the GTK+ class template instead of manual code. + Other minor cleanups.
2009-03-05 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: trunk/plugins/classbuilder.c =================================================================== --- trunk/plugins/classbuilder.c 2009-03-13 09:58:27 UTC (rev 3624) +++ trunk/plugins/classbuilder.c 2009-03-13 09:59:58 UTC (rev 3625) @@ -168,52 +168,24 @@ /* add your private declarations here */\n\ };\n\ \n\ -static void {class_name_low}_class_init ({class_name}Class *klass);\n\ -static void {class_name_low}_init ({class_name} *self);\n\ {destructor_decl}\ \n\ -/* Local data */\n\ -static {base_name}Class *parent_class = NULL;\n\ -\n\ -GType {class_name_low}_get_type(void)\n\ -{\n\ - static GType self_type = 0;\n\ - if (! self_type)\n\ - {\n\ - static const GTypeInfo self_info = \n\ - {\n\ - sizeof({class_name}Class),\n\ - NULL, /* base_init */\n\ - NULL, /* base_finalize */\n\ - (GClassInitFunc){class_name_low}_class_init,\n\ - NULL, /* class_finalize */\n\ - NULL, /* class_data */\n\ - sizeof({class_name}),\n\ - 0,\n\ - (GInstanceInitFunc){class_name_low}_init,\n\ - NULL /* value_table */\n\ - };\n\ - \n\ - self_type = g_type_register_static({base_gtype}, "{class_name}", &self_info, 0);\n\ - }\n\ - \n\ - return self_type;\n\ -}\n\ +G_DEFINE_TYPE({class_name}, {class_name_low}, {base_gtype});\n\ \n\n\ static void {class_name_low}_class_init({class_name}Class *klass)\n\ {\n\ {gtk_destructor_registration}\n\ - parent_class = ({base_name}Class*)g_type_class_peek({base_gtype});\n\ g_type_class_add_private((gpointer)klass, sizeof({class_name}Private));\n\ }\n\ -\n\n\ +\n\ +{destructor_impl}\n\ +\n\ static void {class_name_low}_init({class_name} *self)\n\ {\n\ \n\ }\n\ \n\ {constructor_impl}\n\ -{destructor_impl}\n\ ";
@@ -679,13 +651,12 @@ gtk_entry_get_text(GTK_ENTRY(cc_dlg->gtk_constructor_type_entry)), class_info->class_name_low); class_info->constructor_impl = g_strdup_printf("\n" - "%s* %s_new(void)\n" + "%s *%s_new(void)\n" "{\n" - "\treturn (%s*)g_object_new(%s_TYPE, NULL);\n" + "\treturn g_object_new(%s_TYPE, NULL);\n" "}\n", gtk_entry_get_text(GTK_ENTRY(cc_dlg->gtk_constructor_type_entry)), class_info->class_name_low, - gtk_entry_get_text(GTK_ENTRY(cc_dlg->gtk_constructor_type_entry)), class_info->class_name_up); } else @@ -710,13 +681,13 @@ "\tg_return_if_fail(object != NULL);\n" "\tg_return_if_fail(IS_%s(object));\n\n" "\tself = %s(object);\n\n" - "\tif (G_OBJECT_CLASS(parent_class)->finalize)\n" - "\t\t(* G_OBJECT_CLASS(parent_class)->finalize)(object);\n" + "\tG_OBJECT_CLASS(%s_parent_class)->finalize(object);\n" "}\n", class_info->class_name_low, class_info->class_name, class_info->class_name_up, - class_info->class_name_up); + class_info->class_name_up, + class_info->class_name_low); } else {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.