Index: plugins/class-gen/window.c
===================================================================
--- plugins/class-gen/window.c	(révision 2978)
+++ plugins/class-gen/window.c	(copie de travail)
@@ -884,6 +884,7 @@
 
 	gchar *header_file;
 	gchar *source_file;
+	gchar *doc_section;
 
 	gchar *text;	
 	gchar *base_prefix;
@@ -1007,16 +1008,24 @@
 
 	header_file = g_path_get_basename (cg_window_get_header_file (window));
 	source_file = g_path_get_basename (cg_window_get_source_file (window));
-	
+
 	value = npw_value_heap_find_value (values, "HeaderFile");
 	npw_value_heap_set_value (values, value, header_file, NPW_VALID_VALUE);
 	
 	value = npw_value_heap_find_value (values, "SourceFile");
 	npw_value_heap_set_value (values, value, source_file, NPW_VALID_VALUE);
-	
+
 	g_free (header_file);
 	g_free (source_file);
+
+	doc_section = g_strdup (header_file);
+	doc_section[strlen (doc_section)-2] = '\0';
+
+	value = npw_value_heap_find_value (values, "DocSection");
+	npw_value_heap_set_value (values, value, doc_section, NPW_VALID_VALUE);
 	
+	g_free (doc_section);
+	
 	return values;
 }
 
Index: plugins/class-gen/templates/go-source.tpl
===================================================================
--- plugins/class-gen/templates/go-source.tpl	(révision 2978)
+++ plugins/class-gen/templates/go-source.tpl	(copie de travail)
@@ -10,6 +10,11 @@
 [+ == "GPL"  +][+(gpl  (get "ProjectName")                    " * ")+]
 [+ESAC+] */
 
+/**
+ * SECTION: [+DocSection+]
+ * @short_description: #[+ClassName+] class
+ * 
+ **/
 #include "[+HeaderFile+]"[+
 IF (not (=(get "PrivateVariableCount") "0"))+]
 
@@ -34,7 +39,6 @@
 enum
 {
 	PROP_0,
-
 [+
 	FOR Properties ",\n" +]	PROP_[+
 		(string-upcase(string->c-name!(get "Name")))+][+
@@ -47,7 +51,6 @@
 	FOR Signals+][+ "\n\t" +][+
 		(string-upcase(string->c-name!(get "Name")))+],[+
 	ENDFOR+]
-
 	LAST_SIGNAL
 };[+
 ENDIF+]
@@ -161,7 +164,12 @@
 IF (not (=(get "Properties[0].Name") "")) +]
 
 [+
-	FOR Properties "\n\n"+]	g_object_class_install_property (object_class,
+	FOR Properties "\n\n"+]
+	/**
+	 * [+ClassName+]:[+(get "Name")+]:
+	 *
+	 **/
+	g_object_class_install_property (object_class,
 	                                 PROP_[+ (string-upcase(string->c-name!(get "Name")))+],
 	                                 [+ ParamSpec +] ([+ (c-string(get "Name"))+],[+
 		CASE (get "ParamSpec")+][+
@@ -287,7 +295,12 @@
 IF (not (=(get "Signals[0].Name") "")) +]
 
 [+
-	FOR Signals "\n\n" +]	[+
+	FOR Signals "\n\n" +]
+	/**
+	 * [+ClassName+]::[+(get "Name")+]:
+	 *
+	 **/
+	[+
 	(string-downcase(get "TypeSuffix")) +]_signals[[+
 	(string-upcase(string->c-name!(get "Name")))+]] =
 		g_signal_new ([+ (c-string(get "Name")) +],
@@ -305,7 +318,18 @@
 FOR Members+][+
 	IF (=(get "Scope") "public")+][+
 		IF (not(=(get "Arguments") ""))+]
-
+/**
+ * [+FuncPrefix+]_[+Name+]:[+
+FOR Arguments+]
+ * @[+Name+]: [+
+ENDFOR+]
+ *
+ * 
+ *[+
+IF (=(get "Type") "void") +]
+ * Returns: [+
+ENDIF+]
+ **/
 [+Type+]
 [+FuncPrefix+]_[+Name+] [+Arguments+]
 {
Index: plugins/class-gen/templates/go-header.tpl
===================================================================
--- plugins/class-gen/templates/go-header.tpl	(révision 2978)
+++ plugins/class-gen/templates/go-header.tpl	(copie de travail)
@@ -42,11 +42,24 @@
 ENDIF+]
 };
 
+/**
+ * [+ClassName+]:[+
+ FOR Members+][+
+   IF (=(get "Scope") "public")
+   +]
+ * @[+Name+]: [+
+   ENDIF+][+
+ENDFOR+]
+ *
+ * 
+ **/
 struct _[+ClassName+]
 {
+	/*< private >*/
 	[+BaseClass+] parent_instance;[+
 IF (not (=(get "PublicVariableCount") "0"))+]
-[+
+
+	/*< public >*/[+
 	FOR Members+][+
 		IF (=(get "Scope") "public") +][+
 			IF (=(get "Arguments") "")+]
