Index: plugins/gtk+/gtk+.xml.in
===================================================================
--- plugins/gtk+/gtk+.xml.in	(revision 2185)
+++ plugins/gtk+/gtk+.xml.in	(working copy)
@@ -416,11 +416,11 @@
 
     <glade-widget-class name="GtkMenuShell" _title="Menu Shell" use-placeholders="False" gtkbuilder-since="2.16">
       <post-create-function>empty</post-create-function>
+      <action-activate-function>glade_gtk_menu_shell_action_activate</action-activate-function>
       <add-child-function>glade_gtk_menu_shell_add_child</add-child-function>
       <remove-child-function>glade_gtk_menu_shell_remove_child</remove-child-function>
       <child-set-property-function>glade_gtk_menu_shell_set_child_property</child-set-property-function>
       <child-get-property-function>glade_gtk_menu_shell_get_child_property</child-get-property-function>
-      <action-activate-function>glade_gtk_menu_shell_action_activate</action-activate-function>
 
       <signals>
 	<signal id="move-selected" since="2.10"/>
@@ -441,11 +441,11 @@
 			 gtkbuilder-since="2.16">
       <constructor-function>glade_gtk_menu_item_constructor</constructor-function>
       <post-create-function>glade_gtk_menu_item_post_create</post-create-function>
-      <get-children-function>glade_gtk_menu_item_get_children</get-children-function>
       <set-property-function>glade_gtk_menu_item_set_property</set-property-function>
+      <action-activate-function>glade_gtk_menu_item_action_activate</action-activate-function>
       <add-child-function>glade_gtk_menu_item_add_child</add-child-function>
       <remove-child-function>glade_gtk_menu_item_remove_child</remove-child-function>
-      <action-activate-function>glade_gtk_menu_item_action_activate</action-activate-function>
+      <get-children-function>glade_gtk_menu_item_get_children</get-children-function>
       <write-child-function>glade_gtk_menu_item_write_child</write-child-function>
       <create-editable-function>glade_gtk_activatable_create_editable</create-editable-function>
       <special-child-type>submenu</special-child-type>
@@ -496,14 +496,14 @@
     </glade-widget-class>
 
     <glade-widget-class name="GtkImageMenuItem" generic-name="imagemenuitem" _title="Image Menu Item">
+      <set-property-function>glade_gtk_image_menu_item_set_property</set-property-function>
+      <add-child-function>glade_gtk_image_menu_item_add_child</add-child-function>
+      <remove-child-function>glade_gtk_image_menu_item_remove_child</remove-child-function>
+      <get-children-function>glade_gtk_image_menu_item_get_children</get-children-function>
       <read-widget-function>glade_gtk_image_menu_item_read_widget</read-widget-function>
       <write-widget-function>glade_gtk_image_menu_item_write_widget</write-widget-function>
       <read-child-function>glade_gtk_image_menu_item_read_child</read-child-function>
       <write-child-function>glade_gtk_image_menu_item_write_child</write-child-function>
-      <set-property-function>glade_gtk_image_menu_item_set_property</set-property-function>
-      <get-children-function>glade_gtk_image_menu_item_get_children</get-children-function>
-      <add-child-function>glade_gtk_image_menu_item_add_child</add-child-function>
-      <remove-child-function>glade_gtk_image_menu_item_remove_child</remove-child-function>
       <create-editable-function>glade_gtk_image_menu_item_create_editable</create-editable-function>
       <properties>
         <property id="use-stock" default="True" visible="False" save-always="True" gtkbuilder-since="2.16">
@@ -581,11 +581,11 @@
       
     <glade-widget-class name="GtkToolbar" generic-name="toolbar" _title="Tool Bar" use-placeholders="False">
       <post-create-function>glade_gtk_toolbar_post_create</post-create-function>
+      <action-activate-function>glade_gtk_toolbar_action_activate</action-activate-function>
       <add-child-function>glade_gtk_toolbar_add_child</add-child-function>
       <remove-child-function>glade_gtk_toolbar_remove_child</remove-child-function>
       <child-set-property-function>glade_gtk_toolbar_set_child_property</child-set-property-function>
       <child-get-property-function>glade_gtk_toolbar_get_child_property</child-get-property-function>
-      <action-activate-function>glade_gtk_toolbar_action_activate</action-activate-function>
 
       <actions>
         <action id="launch_editor" _name="Edit&#8230;" stock="gtk-edit" important="True"/>
@@ -639,8 +639,8 @@
     </glade-widget-class>
     
     <glade-widget-class name="GtkToolItem" generic-name="toolitem" title="GtkToolItem">
+      <constructor-function>glade_gtk_tool_item_constructor</constructor-function>
       <post-create-function>glade_gtk_tool_item_post_create</post-create-function>
-      <constructor-function>glade_gtk_tool_item_constructor</constructor-function>
       <set-property-function>glade_gtk_tool_item_set_property</set-property-function>
       <create-editable-function>glade_gtk_activatable_create_editable</create-editable-function>
 
@@ -666,9 +666,9 @@
 	
 
     <glade-widget-class name="GtkToolButton" generic-name="toolbutton" _title="Tool Button">
-      <create-editable-function>glade_gtk_tool_button_create_editable</create-editable-function>
       <set-property-function>glade_gtk_tool_button_set_property</set-property-function>
       <read-widget-function>glade_gtk_tool_button_read_widget</read-widget-function>
+      <create-editable-function>glade_gtk_tool_button_create_editable</create-editable-function>
       <properties>
 	<!-- Virtual label type property -->
         <property id="custom-label" visible="False" save="False">
@@ -739,11 +739,11 @@
 
     <glade-widget-class name="GtkLabel" generic-name="label" _title="Label">
       <post-create-function>glade_gtk_label_post_create</post-create-function>
-      <create-editor-property-function>glade_gtk_label_create_eprop</create-editor-property-function>
-      <create-editable-function>glade_gtk_label_create_editable</create-editable-function>
       <set-property-function>glade_gtk_label_set_property</set-property-function>
       <read-widget-function>glade_gtk_label_read_widget</read-widget-function>
       <write-widget-function>glade_gtk_label_write_widget</write-widget-function>
+      <create-editor-property-function>glade_gtk_label_create_eprop</create-editor-property-function>
+      <create-editable-function>glade_gtk_label_create_editable</create-editable-function>
       <string-from-value-function>glade_gtk_label_string_from_value</string-from-value-function>
 
       <properties>
@@ -816,9 +816,9 @@
 
     <glade-widget-class name="GtkEntry" generic-name="entry" _title="Text Entry">
       <post-create-function>glade_gtk_entry_post_create</post-create-function>
-      <create-editable-function>glade_gtk_entry_create_editable</create-editable-function>
       <set-property-function>glade_gtk_entry_set_property</set-property-function>
       <read-widget-function>glade_gtk_entry_read_widget</read-widget-function>
+      <create-editable-function>glade_gtk_entry_create_editable</create-editable-function>
 
       <signals>
 	<signal id="icon-press" since="2.16"/>
@@ -974,10 +974,10 @@
 
     <glade-widget-class name="GtkButton" generic-name="button" _title="Button">
       <post-create-function>glade_gtk_button_post_create</post-create-function>
-      <create-editable-function>glade_gtk_button_create_editable</create-editable-function>
       <set-property-function>glade_gtk_button_set_property</set-property-function>
       <read-widget-function>glade_gtk_button_read_widget</read-widget-function>
       <write-widget-function>glade_gtk_button_write_widget</write-widget-function>
+      <create-editable-function>glade_gtk_button_create_editable</create-editable-function>
 
       <properties>
 	<property id="can-focus" save-always="True"/>
@@ -1173,24 +1173,24 @@
     <glade-widget-class name="GtkComboBox" generic-name="combobox" _title="Combo Box">
       <post-create-function>glade_gtk_combo_box_post_create</post-create-function>
       <set-property-function>glade_gtk_combo_box_set_property</set-property-function>
+      <action-activate-function>glade_gtk_cell_layout_action_activate</action-activate-function>
       <add-child-function>glade_gtk_cell_layout_add_child</add-child-function>
       <remove-child-function>glade_gtk_cell_layout_remove_child</remove-child-function> 
+      <child-set-property-function>glade_gtk_cell_layout_set_child_property</child-set-property-function>
+      <child-get-property-function>glade_gtk_cell_layout_get_child_property</child-get-property-function>
       <get-children-function>glade_gtk_cell_layout_get_children</get-children-function>
       <read-child-function>glade_gtk_cell_layout_read_child</read-child-function>
       <write-child-function>glade_gtk_cell_layout_write_child</write-child-function>
-      <action-activate-function>glade_gtk_cell_layout_action_activate</action-activate-function>
-      <child-set-property-function>glade_gtk_cell_layout_set_child_property</child-set-property-function>
-      <child-get-property-function>glade_gtk_cell_layout_get_child_property</child-get-property-function>
       
-      <actions>
-        <action id="launch_editor" _name="Edit&#8230;" stock="gtk-edit" important="True"/>
-      </actions>
-
       <signals>
 	<signal id="move-action" since="2.12"/>
 	<signal id="popdown" since="2.12"/>
 	<signal id="popup" since="2.12"/>
       </signals>
+      <actions>
+        <action id="launch_editor" _name="Edit&#8230;" stock="gtk-edit" important="True"/>
+      </actions>
+
       <properties>
         <property id="model" libglade-unsupported="True" create-type="GtkListStore"/>
         <property id="popup-shown" since="2.10"/>
@@ -1259,9 +1259,9 @@
     <glade-widget-class name="GtkImage" generic-name="image" _title="Image">
       <set-property-function>glade_gtk_image_set_property</set-property-function>
       <get-property-function>glade_gtk_image_get_property</get-property-function>
-      <create-editable-function>glade_gtk_image_create_editable</create-editable-function>
       <read-widget-function>glade_gtk_image_read_widget</read-widget-function>
       <write-widget-function>glade_gtk_image_write_widget</write-widget-function>
+      <create-editable-function>glade_gtk_image_create_editable</create-editable-function>
       <properties>
 	<property id="image-mode" save="False" visible="False">
 	  <parameter-spec>
@@ -1311,14 +1311,14 @@
 
     <glade-widget-class name="GtkTable" generic-name="table" _title="Table" fixed="True">
       <post-create-function>glade_gtk_table_post_create</post-create-function>
-      <child-set-property-function>glade_gtk_table_set_child_property</child-set-property-function>
-      <child-verify-function>glade_gtk_table_child_verify_property</child-verify-function>
-      <get-children-function>glade_gtk_table_get_children</get-children-function>
+      <set-property-function>glade_gtk_table_set_property</set-property-function>
+      <verify-function>glade_gtk_table_verify_property</verify-function>
       <add-child-function>glade_gtk_table_add_child</add-child-function>
       <remove-child-function>glade_gtk_table_remove_child</remove-child-function>
       <replace-child-function>glade_gtk_table_replace_child</replace-child-function>
-      <set-property-function>glade_gtk_table_set_property</set-property-function>
-      <verify-function>glade_gtk_table_verify_property</verify-function>
+      <child-set-property-function>glade_gtk_table_set_child_property</child-set-property-function>
+      <get-children-function>glade_gtk_table_get_children</get-children-function>
+      <child-verify-function>glade_gtk_table_child_verify_property</child-verify-function>
       <child-action-activate-function>glade_gtk_table_child_action_activate</child-action-activate-function>
 
       <packing-actions>
@@ -1381,16 +1381,16 @@
   
     <glade-widget-class name="GtkNotebook" generic-name="notebook" _title="Notebook">
       <post-create-function>glade_gtk_notebook_post_create</post-create-function>
+      <set-property-function>glade_gtk_notebook_set_property</set-property-function>
+      <verify-function>glade_gtk_notebook_verify_property</verify-function>
       <add-child-function>glade_gtk_notebook_add_child</add-child-function>
       <remove-child-function>glade_gtk_notebook_remove_child</remove-child-function>
       <replace-child-function>glade_gtk_notebook_replace_child</replace-child-function>
       <child-set-property-function>glade_gtk_notebook_set_child_property</child-set-property-function>
       <child-get-property-function>glade_gtk_notebook_get_child_property</child-get-property-function>
       <child-verify-function>glade_gtk_notebook_child_verify_property</child-verify-function>
+      <child-action-activate-function>glade_gtk_notebook_child_action_activate</child-action-activate-function>
       <special-child-type>type</special-child-type>
-      <set-property-function>glade_gtk_notebook_set_property</set-property-function>
-      <verify-function>glade_gtk_notebook_verify_property</verify-function>
-      <child-action-activate-function>glade_gtk_notebook_child_action_activate</child-action-activate-function>
 
       <signals>
 	<signal id="page-added" since="2.10"/>
@@ -1477,10 +1477,10 @@
     
     <glade-widget-class name="GtkMenu" generic-name="menu" _title="Popup Menu" toplevel="True">
       <constructor-function>glade_gtk_menu_constructor</constructor-function>
+      <!-- We do not want glade_gtk_container_post_create be executed -->
+      <post-create-function>empty</post-create-function>
       <!-- Set special-child-type at load time for libglade projects -->
       <read-widget-function>glade_gtk_menu_read_widget</read-widget-function>
-      <!-- We do not want glade_gtk_container_post_create be executed -->
-      <post-create-function>empty</post-create-function>
       <actions>
         <action id="launch_editor" _name="Edit&#8230;" stock="gtk-edit" important="True"/>
       </actions>
@@ -1845,12 +1845,12 @@
 
     <glade-widget-class name="GtkAssistant" generic-name="assistant" _title="Assistant" since="2.10">
       <post-create-function>glade_gtk_assistant_post_create</post-create-function>
+      <set-property-function>glade_gtk_assistant_set_property</set-property-function>
+      <get-property-function>glade_gtk_assistant_get_property</get-property-function>
+      <verify-function>glade_gtk_assistant_verify_property</verify-function>
       <add-child-function>glade_gtk_assistant_add_child</add-child-function>
       <remove-child-function>glade_gtk_assistant_remove_child</remove-child-function>
       <replace-child-function>glade_gtk_assistant_replace_child</replace-child-function>
-      <set-property-function>glade_gtk_assistant_set_property</set-property-function>
-      <get-property-function>glade_gtk_assistant_get_property</get-property-function>
-      <verify-function>glade_gtk_assistant_verify_property</verify-function>
       <child-set-property-function>glade_gtk_assistant_set_child_property</child-set-property-function>
       <child-get-property-function>glade_gtk_assistant_get_child_property</child-get-property-function>
       <properties>
@@ -1923,10 +1923,10 @@
     
     <!-- Objects -->
     <glade-widget-class name="GtkSizeGroup" generic-name="sizegroup" _title="Size Group" libglade-unsupported="True" toplevel="True">
+      <set-property-function>glade_gtk_size_group_set_property</set-property-function>
       <depends-function>glade_gtk_size_group_depends</depends-function>
       <read-widget-function>glade_gtk_size_group_read_widget</read-widget-function>
       <write-widget-function>glade_gtk_size_group_write_widget</write-widget-function>
-      <set-property-function>glade_gtk_size_group_set_property</set-property-function>
       <properties>
 	<property id="widgets" _name="Widgets" save="False">
 	  <parameter-spec>
@@ -1988,12 +1988,12 @@
     <glade-widget-class name="GtkIconFactory" generic-name="iconfactory" _title="Icon Factory" 
 			libglade-unsupported="True" toplevel="True">
       <post-create-function>glade_gtk_icon_factory_post_create</post-create-function>
+      <set-property-function>glade_gtk_icon_factory_set_property</set-property-function>
       <read-widget-function>glade_gtk_icon_factory_read_widget</read-widget-function>
       <write-widget-function>glade_gtk_icon_factory_write_widget</write-widget-function>
-      <set-property-function>glade_gtk_icon_factory_set_property</set-property-function>
-      <string-from-value-function>glade_gtk_icon_factory_string_from_value</string-from-value-function>
       <create-editor-property-function>glade_gtk_icon_factory_create_eprop</create-editor-property-function>
       <create-editable-function>glade_gtk_icon_factory_create_editable</create-editable-function>
+      <string-from-value-function>glade_gtk_icon_factory_string_from_value</string-from-value-function>
       <properties>
 	<property id="sources" _name="Icon Sources" save="False" custom-layout="True">
 	  <parameter-spec>
@@ -2008,11 +2008,11 @@
     <glade-widget-class name="GtkListStore" generic-name="liststore" _title="List Store" 
 			libglade-unsupported="True" toplevel="True">
       <set-property-function>glade_gtk_store_set_property</set-property-function>
+      <read-widget-function>glade_gtk_store_read_widget</read-widget-function>
+      <write-widget-function>glade_gtk_store_write_widget</write-widget-function>
       <create-editor-property-function>glade_gtk_store_create_eprop</create-editor-property-function>
       <create-editable-function>glade_gtk_store_create_editable</create-editable-function>
       <string-from-value-function>glade_gtk_store_string_from_value</string-from-value-function>
-      <write-widget-function>glade_gtk_store_write_widget</write-widget-function>
-      <read-widget-function>glade_gtk_store_read_widget</read-widget-function>
       <properties>
         <property id="columns" since="2.12" _name="Columns" save="False" construct-only="True" custom-layout="True">
 	  <parameter-spec>
@@ -2034,11 +2034,11 @@
     <glade-widget-class name="GtkTreeStore" generic-name="treestore" _title="Tree Store" 
 			libglade-unsupported="True" toplevel="True">
       <set-property-function>glade_gtk_store_set_property</set-property-function>
+      <read-widget-function>glade_gtk_store_read_widget</read-widget-function>
+      <write-widget-function>glade_gtk_store_write_widget</write-widget-function>
       <create-editor-property-function>glade_gtk_store_create_eprop</create-editor-property-function>
       <create-editable-function>glade_gtk_store_create_editable</create-editable-function>
       <string-from-value-function>glade_gtk_store_string_from_value</string-from-value-function>
-      <write-widget-function>glade_gtk_store_write_widget</write-widget-function>
-      <read-widget-function>glade_gtk_store_read_widget</read-widget-function>
       <properties>
         <property id="columns" since="2.12" _name="Columns" save="False" construct-only="True" custom-layout="True">
 	  <parameter-spec>
@@ -2067,13 +2067,13 @@
 
     <glade-widget-class name="GtkTreeView" generic-name="treeview" _title="Tree View">
       <post-create-function>empty</post-create-function>
+      <action-activate-function>glade_gtk_treeview_action_activate</action-activate-function>
+      <depends-function>glade_gtk_treeview_depends</depends-function>
+      <add-child-function>glade_gtk_treeview_add_child</add-child-function>
+      <remove-child-function>glade_gtk_treeview_remove_child</remove-child-function>
       <child-set-property-function>glade_gtk_treeview_set_child_property</child-set-property-function>
       <child-get-property-function>glade_gtk_treeview_get_child_property</child-get-property-function>
       <get-children-function>glade_gtk_treeview_get_children</get-children-function>
-      <add-child-function>glade_gtk_treeview_add_child</add-child-function>
-      <remove-child-function>glade_gtk_treeview_remove_child</remove-child-function>
-      <action-activate-function>glade_gtk_treeview_action_activate</action-activate-function>
-      <depends-function>glade_gtk_treeview_depends</depends-function>
 
       <actions>
         <action id="launch_editor" _name="Edit&#8230;" stock="gtk-edit" important="True"/>
@@ -2106,14 +2106,14 @@
 
     <glade-widget-class name="GtkTreeViewColumn" generic-name="treeviewcolumn" _title="Tree View Column" 
 			libglade-unsupported="True">
+      <action-activate-function>glade_gtk_cell_layout_action_activate</action-activate-function>
       <add-child-function>glade_gtk_cell_layout_add_child</add-child-function>
       <remove-child-function>glade_gtk_cell_layout_remove_child</remove-child-function> 
+      <child-set-property-function>glade_gtk_cell_layout_set_child_property</child-set-property-function>
+      <child-get-property-function>glade_gtk_cell_layout_get_child_property</child-get-property-function>
       <get-children-function>glade_gtk_cell_layout_get_children</get-children-function>
       <read-child-function>glade_gtk_cell_layout_read_child</read-child-function>
       <write-child-function>glade_gtk_cell_layout_write_child</write-child-function>
-      <action-activate-function>glade_gtk_cell_layout_action_activate</action-activate-function>
-      <child-set-property-function>glade_gtk_cell_layout_set_child_property</child-set-property-function>
-      <child-get-property-function>glade_gtk_cell_layout_get_child_property</child-get-property-function>
       
       <actions>
         <action id="launch_editor" _name="Edit&#8230;" stock="gtk-edit" important="True"/>
@@ -2141,14 +2141,14 @@
 
     <glade-widget-class name="GtkIconView" generic-name="iconview" _title="Icon View">
       <post-create-function>empty</post-create-function>
+      <action-activate-function>glade_gtk_cell_layout_action_activate</action-activate-function>
       <add-child-function>glade_gtk_cell_layout_add_child</add-child-function>
       <remove-child-function>glade_gtk_cell_layout_remove_child</remove-child-function> 
+      <child-set-property-function>glade_gtk_cell_layout_set_child_property</child-set-property-function>
+      <child-get-property-function>glade_gtk_cell_layout_get_child_property</child-get-property-function>
       <get-children-function>glade_gtk_cell_layout_get_children</get-children-function>
       <read-child-function>glade_gtk_cell_layout_read_child</read-child-function>
       <write-child-function>glade_gtk_cell_layout_write_child</write-child-function>
-      <action-activate-function>glade_gtk_cell_layout_action_activate</action-activate-function>
-      <child-set-property-function>glade_gtk_cell_layout_set_child_property</child-set-property-function>
-      <child-get-property-function>glade_gtk_cell_layout_get_child_property</child-get-property-function>
       
       <actions>
         <action id="launch_editor" _name="Edit&#8230;" stock="gtk-edit" important="True"/>
@@ -2173,11 +2173,11 @@
 
     <glade-widget-class name="GtkCellRenderer" _title="Cell Renderer">
       <deep-post-create-function>glade_gtk_cell_renderer_deep_post_create</deep-post-create-function>
+      <set-property-function>glade_gtk_cell_renderer_set_property</set-property-function>
+      <action-activate-function>glade_gtk_cell_renderer_action_activate</action-activate-function>
+      <write-widget-function>glade_gtk_cell_renderer_write_widget</write-widget-function>
       <create-editor-property-function>glade_gtk_cell_renderer_create_eprop</create-editor-property-function>
       <create-editable-function>glade_gtk_cell_renderer_create_editable</create-editable-function>
-      <set-property-function>glade_gtk_cell_renderer_set_property</set-property-function>
-      <write-widget-function>glade_gtk_cell_renderer_write_widget</write-widget-function>
-      <action-activate-function>glade_gtk_cell_renderer_action_activate</action-activate-function>
 
       <actions>
         <action id="launch_editor" _name="Edit&#8230;" stock="gtk-edit" important="True"/>
@@ -3352,7 +3352,7 @@
     <glade-widget-class-ref name="GtkFontButton"/>
     <glade-widget-class-ref name="GtkLinkButton"/>
     <glade-widget-class-ref name="GtkScaleButton"/>
-    <glade-widget-class-ref name="GtkVolumeButton"/>\
+    <glade-widget-class-ref name="GtkVolumeButton"/>
 
     <glade-widget-class-ref name="GtkImage"/>
     <glade-widget-class-ref name="GtkLabel"/>
Index: plugins/glade-catalog.dtd
===================================================================
--- plugins/glade-catalog.dtd	(revision 2185)
+++ plugins/glade-catalog.dtd	(working copy)
@@ -1,51 +1,180 @@
-<!ELEMENT glade-catalog (glade-widget-classes?, 
+<!ELEMENT glade-catalog (project-convert-function?,
+                         glade-widget-classes?, 
 			 glade-widget-group*)>
 
-<!ATTLIST glade-catalog name     CDATA #REQUIRED
-                        library  CDATA #IMPLIED
-			requires CDATA #IMPLIED>
+<!ATTLIST glade-catalog name        CDATA #REQUIRED
+                        version     CDATA #IMPLIED
+                        targetable  CDATA #IMPLIED
+                        supports    CDATA #IMPLIED
+                        icon-prefix CDATA #IMPLIED
+                        library     CDATA #REQUIRED
+                        depends     CDATA #IMPLIED
+                        domain      CDATA #IMPLIED
+                        book        CDATA #IMPLIED
+			requires    CDATA #IMPLIED>
 
 <!ELEMENT glade-widget-classes (glade-widget-class+)>
 
-<!ELEMENT glade-widget-class (post-create-function?,
-			      get-internal-child-function?,
-			      child-property-applies-function?,
-			      properties?,
-			      children?,
-			      packing-defaults?)>
+<!ELEMENT glade-widget-group (default-palette-state?, 
+			      glade-widget-class-ref+)>
 
-<!ATTLIST glade-widget-class toplevel     CDATA #IMPLIED
-			     name         CDATA #REQUIRED
-                             generic-name CDATA #IMPLIED
-			     title        CDATA #IMPLIED>
+<!ATTLIST glade-widget-group name  CDATA #REQUIRED
+                             title CDATA #REQUIRED>
 
+<!ELEMENT project-convert-function (#PCDATA)>
+
+<!ELEMENT glade-widget-class (constructor-function?,
+                              post-create-function?,
+                              deep-post-create-function?,
+                              get-internal-child-function?,
+                              set-property-function?,
+                              get-property-function?,
+                              action-activate-function?,
+                              action-submenu-function?,
+                              depends-function?,
+                              verify-function?,
+                              add-child-function?,
+                              remove-child-function?,
+                              replace-child-function?,
+                              child-set-property-function?,
+                              child-get-property-function?,
+                              get-children-function?,
+                              child-verify-function?,
+                              child-action-activate-function?,
+                              read-widget-function?,
+                              write-widget-function?,
+                              read-child-function?,
+                              write-child-function?,
+                              create-editor-property-function?,
+                              create-editable-function?,
+                              string-from-value-function?,
+                              special-child-type?,
+                              signals?,
+                              actions?,
+                              packing-actions?,
+                              properties?,
+                              packing-properties?,
+                              packing-defaults?)>
+
+<!ATTLIST glade-widget-class name                 CDATA #REQUIRED
+                             since                CDATA #IMPLIED
+                             deprecated           CDATA #IMPLIED
+                             libglade-only        CDATA #IMPLIED
+                             libglade-unsupported CDATA #IMPLIED
+                             gtkbuilder-since     CDATA #IMPLIED
+                             get-type-function    CDATA #IMPLIED
+                             generic-name         CDATA #IMPLIED
+                             icon-name            CDATA #IMPLIED
+			     title                CDATA #IMPLIED
+                             parent               CDATA #IMPLIED
+                             toplevel             CDATA #IMPLIED
+                             fixed                CDATA #IMPLIED
+                             use-placeholders     CDATA #IMPLIED
+                             default-width        CDATA #IMPLIED
+                             default-height       CDATA #IMPLIED>
+
+<!ELEMENT constructor-function (#PCDATA)>
+<!ELEMENT post-create-function (#PCDATA)>
+<!ELEMENT deep-post-create-function (#PCDATA)>
+<!ELEMENT get-property-function (#PCDATA)>
+<!ELEMENT set-property-function (#PCDATA)>
+<!ELEMENT depends-function (#PCDATA)>
+<!ELEMENT verify-function (#PCDATA)>
+<!ELEMENT add-child-function (#PCDATA)>
+<!ELEMENT remove-child-function (#PCDATA)>
+<!ELEMENT replace-child-function (#PCDATA)>
+<!ELEMENT get-children-function (#PCDATA)>
+<!ELEMENT child-get-property-function (#PCDATA)>
+<!ELEMENT child-set-property-function (#PCDATA)>
+<!ELEMENT child-verify-function (#PCDATA)>
+<!ELEMENT get-internal-child-function (#PCDATA)>
+<!ELEMENT action-activate-function (#PCDATA)>
+<!ELEMENT child-action-activate-function (#PCDATA)>
+<!ELEMENT action-submenu-function (#PCDATA)>
+<!ELEMENT read-widget-function (#PCDATA)>
+<!ELEMENT write-widget-function (#PCDATA)>
+<!ELEMENT read-child-function (#PCDATA)>
+<!ELEMENT write-child-function (#PCDATA)>
+<!ELEMENT special-child-type (#PCDATA)>
+<!ELEMENT create-editor-property-function (#PCDATA)>
+<!ELEMENT create-editable-function (#PCDATA)>
+<!ELEMENT string-from-value-function (#PCDATA)>
+  
+<!ELEMENT actions (action+)>
+
+<!ELEMENT action (action*)>
+
+<!ATTLIST action id        CDATA #REQUIRED
+                 name      CDATA #REQUIRED
+                 stock     CDATA #IMPLIED
+                 important CDATA #IMPLIED>
+
+<!ELEMENT signals (signal+)>
+
+<!ELEMENT signal EMPTY>
+
+<!ATTLIST signal id     CDATA #REQUIRED
+                 since  CDATA #IMPLIED>
+
 <!ELEMENT properties (property+)>
 
-<!ELEMENT property (spec?, 
-		    type?,
-		    tooltip?, 
-		    parameters?,
-		    set-function?,
-		    get-function?, 
-		    verify-function?)>
+<!ELEMENT property (parameter-spec?,
+                    spec?,
+                    tooltip?,
+                    visible-lines?,
+                    displayable-values?)>
 
-<!ATTLIST property id               CDATA #REQUIRED
-                   name             CDATA #IMPLIED
-		   default          CDATA #IMPLIED
-		   query            CDATA #IMPLIED
-		   common           CDATA #IMPLIED
-		   disabled         CDATA #IMPLIED
-		   visible          CDATA #IMPLIED
-		   optional         CDATA #IMPLIED
-		   optional-default CDATA #IMPLIED
-		   translatable     CDATA #IMPLIED>
+<!ATTLIST property id                   CDATA #REQUIRED
+                   name                 CDATA #IMPLIED
+                   since                CDATA #IMPLIED
+                   disabled             CDATA #IMPLIED
+		   default              CDATA #IMPLIED
+                   custom-layout        CDATA #IMPLIED
+		   translatable         CDATA "False"
+                   atk-property         CDATA #IMPLIED
+		   common               CDATA #IMPLIED
+		   optional             CDATA #IMPLIED
+		   optional-default     CDATA #IMPLIED
+                   libglade-only        CDATA #IMPLIED
+                   libglade-unsupported CDATA #IMPLIED
+                   gtkbuilder-since     CDATA #IMPLIED
+                   query                CDATA #IMPLIED
+                   save                 CDATA "True"
+		   visible              CDATA "True"
+                   ignore               CDATA #IMPLIED
+                   resource             CDATA #IMPLIED
+                   stock                CDATA #IMPLIED
+                   stock-icon           CDATA #IMPLIED
+                   themed-icon          CDATA #IMPLIED
+                   construct-only       CDATA #IMPLIED
+                   create-type          CDATA #IMPLIED
+                   weight               CDATA #IMPLIED
+                   transfer-on-paste    CDATA #IMPLIED
+                   parentless-widget    CDATA #IMPLIED
+                   needs-sync           CDATA #IMPLIED
+                   save-always          CDATA #IMPLIED>
 
-<!ELEMENT set-function (#PCDATA)>
-<!ELEMENT get-function (#PCDATA)>
+<!ELEMENT parameter-spec (type,
+                          value-type?,
+                          min?)>
 <!ELEMENT spec (#PCDATA)>
 <!ELEMENT tooltip (#PCDATA)>
-<!ELEMENT verify-function (#PCDATA)>
+<!ELEMENT visible-lines (#PCDATA)>
+<!ELEMENT displayable-values (value+)>
 
+<!ELEMENT type (#PCDATA)>
+<!ELEMENT value-type (#PCDATA)>
+<!ELEMENT min (#PCDATA)>
+
+<!ELEMENT packing-actions (action+)>
+
+<!ELEMENT packing-properties (property+)>
+
+<!ELEMENT value (#PCDATA)>
+
+<!ATTLIST value id      CDATA #REQUIRED
+                name    CDATA #REQUIRED>
+
 <!ELEMENT parameters (parameter+)>
 
 <!ELEMENT parameter EMPTY>
@@ -66,26 +195,13 @@
 		 fill-empty-function?, 
 		 properties?)>
 
-<!ELEMENT type (#PCDATA)>
-<!ELEMENT add-child-function (#PCDATA)>
-<!ELEMENT remove-child-function (#PCDATA)>
-<!ELEMENT get-children-function (#PCDATA)>
 <!ELEMENT get-all-children-function (#PCDATA)>
 <!ELEMENT set-prop-function (#PCDATA)>
 <!ELEMENT get-prop-function (#PCDATA)>
 <!ELEMENT fill-empty-function (#PCDATA)>
-<!ELEMENT replace-child-function (#PCDATA)>
 
-<!ELEMENT post-create-function (#PCDATA)>
-<!ELEMENT get-internal-child-function (#PCDATA)>
 <!ELEMENT child-property-applies-function (#PCDATA)>
 
-<!ELEMENT glade-widget-group (default-palette-state?, 
-			      glade-widget-class-ref+)>
-
-<!ATTLIST glade-widget-group name  CDATA #REQUIRED
-                             title CDATA #REQUIRED>
-
 <!ELEMENT default-palette-state EMPTY>
 <!ATTLIST default-palette-state expanded CDATA #IMPLIED>
 
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 2185)
+++ ChangeLog	(working copy)
@@ -1,3 +1,14 @@
+2009-04-10  David King  <davidk@openismus.com>
+
+	Bug 578465 – Glade catalog DTD needs update.
+
+	* docs/catalogintro.sgml, docs/widgetclasses.sgml: Update to match
+	latest glade-catalog.dtd. Small spelling fix and reformatting.
+	* plugins/glade-catalog.dtd: Update to be able to validate latest 
+	gtk+ catalog.
+	* plugins/gtk+/gtk+.xml.in: Reorder some elements in order to 
+	validate againt latest glade-catalog.dtd.
+
 2009-04-07  Tristan Van Berkom <tvb@gnome.org>
 
 	* plugins/gtk+/glade-gtk.c: GtkWindow adaptor was skipping GtkWidget
Index: doc/widgetclasses.sgml
===================================================================
--- doc/widgetclasses.sgml	(revision 2185)
+++ doc/widgetclasses.sgml	(working copy)
@@ -125,10 +125,10 @@
       </varlistentry>
 
       <varlistentry>
-        <term>builder-unsupported</term>
+        <term>libglade-unsupported</term>
         <listitem>
           <para>
-A boolean property depicting that this widget is not supported by #GtkBuilder.
+A boolean property depicting that this widget is not supported by #libglade.
           </para>
         </listitem>
       </varlistentry>
Index: doc/catalogintro.sgml
===================================================================
--- doc/catalogintro.sgml	(revision 2185)
+++ doc/catalogintro.sgml	(working copy)
@@ -69,9 +69,9 @@
   <refsect1>
     <title>Toplevel catalog properties and tags</title>
     <para>
-When defining the catalog, the 'name' and 'library' 
-are both manditory attributes of the 'glade-catalog' tag; optionally
-you can also use 'icon-prefix', 'depends' and 'domain'.
+When defining the catalog, 'name' and 'library' are both mandatory attributes 
+of the 'glade-catalog' tag; optionally you can also use 'icon-prefix', 
+'depends' and 'domain'.
     </para>
 
     <variablelist>
@@ -79,9 +79,9 @@
         <term>name</term>
         <listitem>
           <para>
-A string identifier for the catalog in question, it will be used to identify your 
-catalog so that the glade file can explicitly require it and to manage inter 
-catalog dependencies.
+A string identifier for the catalog in question, it will be used to identify
+your catalog so that the glade file can explicitly require it and to manage 
+inter-catalog dependencies.
           </para>
         </listitem>
       </varlistentry>
@@ -90,9 +90,10 @@
         <term>version</term>
         <listitem>
           <para>
-A 'major.minor' formed version describing the current version of underlying widget kit;
-example: <literal>version="1.0"</literal>. This is needed for version checking to work. 
-Please note that all versioning related support is completely optional.
+A 'major.minor' formed version describing the current version of underlying 
+widget kit; example: <literal>version="1.0"</literal>. This is needed for 
+version checking to work. Please note that all versioning related support is 
+completely optional.
           </para>
         </listitem>
       </varlistentry>
@@ -101,9 +102,9 @@
         <term>targetable</term>
         <listitem>
           <para>
-A comma separated list of 'major.minor' formed versions describing sensable previous
-targetable versions of the underlying toolkit not including the current version; 
-example: <literal>targetable="0.6,0.8"</literal>.
+A comma separated list of 'major.minor' formed versions describing sensable 
+previous targetable versions of the underlying toolkit not including the 
+current version; example: <literal>targetable="0.6,0.8"</literal>.
           </para>
         </listitem>
       </varlistentry>
