SF.net SVN: geany:[3625] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Fri Mar 13 09:59:58 UTC 2009
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.
More information about the Commits
mailing list