glade3 r1775 - in trunk: . doc doc/tmpl gladeui



Author: tvb
Date: Mon Apr  7 13:23:11 2008
New Revision: 1775
URL: http://svn.gnome.org/viewvc/glade3?rev=1775&view=rev

Log:


	* autogen.sh: Run gtkdocize with --flavour=no-tmpl
	
	* configure.ac: Require gtk-doc 1.9 and bump to 3.5.0 dev version.
	
	* doc/gladeui-overrides.txt, doc/children.sgml, doc/tmpl/*: Removed unneeded.

	* doc/gladeui-docs.sgml, doc/widgetclasses.sgml,
	doc/catalogintro.sgml, doc/Makefile.am: Mega docs update, added new
	files and completely rediscribed the catalog in its new form.

	* gladeui/glade-design-view.c, gladeui/glade-widget.c, 
	gladeui/glade-widget-adaptor.c, gladeui/glade-command.c,
	gladeui/glade-widget-adaptor.h, gladeui/glade-base-editor.c,
	gladeui/glade-widget-action.c, gladeui/glade-xml-utils.c,
	gladeui/glade-utils.c, gladeui/glade-catalog.c, gladeui/glade-property.c,
	gladeui/glade-project.c: Added some description statements to newly 
	documented files, fixed some warnings in other sources.

M    ChangeLog
M    configure.ac
M    doc/gladeui-docs.sgml
M    doc/widgetclasses.sgml
M    doc/catalogintro.sgml
D    doc/gladeui-overrides.txt
M    doc/Makefile.am
D    doc/children.sgml
D    doc/tmpl
M    doc/gladeui-sections.txt
M    doc/gladeui.types
M    doc/properties.sgml
M    gladeui/glade-design-view.c
M    gladeui/glade-widget.c
M    gladeui/glade-widget-adaptor.c
M    gladeui/glade-command.c
M    gladeui/glade-widget-adaptor.h
M    gladeui/glade-base-editor.c
M    gladeui/glade-widget-action.c
M    gladeui/glade-xml-utils.c
M    gladeui/glade-utils.c
M    gladeui/glade-catalog.c
M    gladeui/glade-property.c
M    gladeui/glade-project.c
M    autogen.sh


Removed:
   trunk/doc/children.sgml
   trunk/doc/gladeui-overrides.txt
   trunk/doc/tmpl/
Modified:
   trunk/ChangeLog
   trunk/autogen.sh
   trunk/configure.ac
   trunk/doc/Makefile.am
   trunk/doc/catalogintro.sgml
   trunk/doc/gladeui-docs.sgml
   trunk/doc/gladeui-sections.txt
   trunk/doc/gladeui.types
   trunk/doc/properties.sgml
   trunk/doc/widgetclasses.sgml
   trunk/gladeui/glade-base-editor.c
   trunk/gladeui/glade-catalog.c
   trunk/gladeui/glade-command.c
   trunk/gladeui/glade-design-view.c
   trunk/gladeui/glade-project.c
   trunk/gladeui/glade-property.c
   trunk/gladeui/glade-utils.c
   trunk/gladeui/glade-widget-action.c
   trunk/gladeui/glade-widget-adaptor.c
   trunk/gladeui/glade-widget-adaptor.h
   trunk/gladeui/glade-widget.c
   trunk/gladeui/glade-xml-utils.c

Modified: trunk/autogen.sh
==============================================================================
--- trunk/autogen.sh	(original)
+++ trunk/autogen.sh	Mon Apr  7 13:23:11 2008
@@ -6,7 +6,6 @@
 
 PKG_NAME="glade"
 
-
 (test -f $srcdir/configure.ac \
   && test -f $srcdir/autogen.sh) || {
     echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
@@ -50,4 +49,4 @@
 #  ;;
 #esac
 
-REQUIRED_GNOME_DOC_UTILS_VERSION=0.9.0 REQUIRED_AUTOMAKE_VERSION="$automake_version" GNOME_DATADIR="$gnome_datadir" USE_GNOME2_MACROS=1 . $gnome_autogen
+GTKDOCIZE="gtkdocize --flavour no-tmpl" REQUIRED_GNOME_DOC_UTILS_VERSION=0.9.0 REQUIRED_AUTOMAKE_VERSION="$automake_version" GNOME_DATADIR="$gnome_datadir" USE_GNOME2_MACROS=1 . $gnome_autogen

Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac	(original)
+++ trunk/configure.ac	Mon Apr  7 13:23:11 2008
@@ -3,8 +3,8 @@
 AC_PREREQ(2.52)
 
 m4_define(glade_major_version, 3)
-m4_define(glade_minor_version, 4)
-m4_define(glade_micro_version, 3)
+m4_define(glade_minor_version, 5)
+m4_define(glade_micro_version, 0)
 m4_define(glade_version, glade_major_version.glade_minor_version.glade_micro_version)
 
 AC_INIT([glade3], [glade_version],
@@ -111,7 +111,7 @@
 dnl ================================================================
 dnl Check for gtk-doc
 dnl ================================================================
-GTK_DOC_CHECK(1.4)
+GTK_DOC_CHECK(1.9)
 
 dnl ================================================================
 dnl Check for gtk+

Modified: trunk/doc/Makefile.am
==============================================================================
--- trunk/doc/Makefile.am	(original)
+++ trunk/doc/Makefile.am	Mon Apr  7 13:23:11 2008
@@ -1,7 +1,7 @@
 ## Process this file with automake to produce Makefile.in
 
 # We require automake 1.6 at least.
-AUTOMAKE_OPTIONS = 1.9
+AUTOMAKE_OPTIONS = 1.6
 
 # This is a blank Makefile.am for using gtk-doc.
 # Copy this to your project's API docs directory and modify the variables to
@@ -58,9 +58,8 @@
 	glade-id-allocator.h \
 	glade-catalog.h \
 	glade.h \
-	glade-xml-utils.h \
+	glade-design-layout.h \
 	glade-popup.h \
-	glade-devhelp.h \
 	glade-gtk.h \
 	glade-palette-expander.h \
 	glade-palette-item.h \
@@ -77,8 +76,7 @@
 	version.xml \
 	catalogintro.sgml \
 	widgetclasses.sgml \
-	properties.sgml \
-	children.sgml
+	properties.sgml
 
 # SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
 # These files must be listed here *and* in content_files
@@ -86,8 +84,7 @@
 expand_content_files=\
 	catalogintro.sgml \
 	widgetclasses.sgml \
-	properties.sgml \
-	children.sgml
+	properties.sgml
 
 # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
 # Only needed if you are using gtkdoc-scangobj to dynamically query widget
@@ -100,7 +97,7 @@
 	-I$(top_srcdir)           \
 	-I$(top_builddir)         \
 	`pkg-config --cflags gtk+-2.0`
-	
+
 GTKDOC_LIBS=${top_builddir}/gladeui/libgladeui-1.la
 
 # This includes the standard gtk-doc make rules, copied by gtkdocize.
@@ -110,10 +107,12 @@
 # e.g. EXTRA_DIST += version.xml.in
 EXTRA_DIST += version.xml.in
 
-GTK_HOME = http://developer.gnome.org/doc/API/2.0/gtk
-GDK_HOME = http://developer.gnome.org/doc/API/2.0/gdk
-GOBJECT_HOME = http://developer.gnome.org/doc/API/2.0/gobject
-GLIB_HOME = http://developer.gnome.org/doc/API/2.0/glib
+
+# XXX Seems this is no longer working with gtkdoc 1.9 :(
+GTK_HOME = http://library.gnome.org/devel/gtk/stable
+GDK_HOME = http://library.gnome.org/devel/gdk/stable
+GOBJECT_HOME = http://library.gnome.org/devel/gobject/stable
+GLIB_HOME = http://library.gnome.org/devel/glib/stable
 
 webdocs: all
 	rm -rf html-web

Modified: trunk/doc/catalogintro.sgml
==============================================================================
--- trunk/doc/catalogintro.sgml	(original)
+++ trunk/doc/catalogintro.sgml	Mon Apr  7 13:23:11 2008
@@ -12,51 +12,52 @@
 
   <refsect1>
     <title>Introduction</title>
+
     <para>
-The widgets that are available in the Glade UI builder are handled in a
-dynamic way and additional widgets can be added, for example from other
-libraries, by installing a widget plugin.
-    </para>
-    <para>
-A widget plugin consists of a catalog file and a shared library and
-icons for the widgets to use in the widget palette and widget tree.
-    </para>
-    <para>
-The catalog file is written in an XML format that will be described
-below. There is also a DTD for the format which can be found in the widgets
-directory of the glade-3 package.
-    </para>
-    <para>
-Many properties of widgets can be handled automatically by the GObject
-introspection features. Not all of them can though, and advanced widgets
-often also need additional support from code. This is specified in the
-catalog file, where you can override default values, hide properties,
-specify functions to call in the installed plugin, etc.
+You can provide support for your custom widgets in a few ways, you can
+make a package and install it to the system directories, load additional
+catalogs in user directories, project directories for example, and
+you can optionally provide code support and/or icons, if you dont provide
+icons for the inspector and palette Glade will simply print a warning
+and use a default icon. The catalog file is written in an XML format and
+a DTD for the format can be found in the plugins/ directory of the Glade
+tarball.
     </para>
+
     <para>
-The catalog file is also used to group the widgets in groups that
-correspond to the groups in the Glade widget palette.
+In most cases gtk+ derived widgets can be added with little effort and it
+is enough to simply specify the widget's type; glade will introspect 
+its properties and signals - but due to the organic nature of a widget
+toolkit there are always exceptions. In this document we'll try to provide
+some basic examples and describe a wealth of options that can be used to
+enhance UI editing and workaround exceptions.
     </para>
+
     <para>
-In theory, the catalog file should be enough, but many widgets also need
-supporting code to be usable in Glade, which is where the plugin library
-comes in. An example of both a catalog file and plugin library can be
-found in the Glade sources, since the GTK+ widget set that is supported
-by default in Glade also is implemented this way. The catalog file is
-located in widgets/gtk+.xml, and the source code in src/glade-gtk.c. The
-catalog file starts by specifying the name of the catalog and the plugin
-library to use:
+The catalog file starts by specifying the name of the catalog and the plugin
+library to use, the following examples assume you have a namespace "Foo" and
+are integrating an object "Frobnicator":
       <programlisting>
-<![CDATA[<glade-catalog name="gtk+" library="gladegtk">
+<![CDATA[<glade-catalog name="foo" library="foo" depends="gtk+">
 
   <init-function>my_catalog_init</init-function>
 
   <glade-widget-classes>
 
+    <glade-widget-class name="FooFrobnicator" generic-name="frobnicator" title="Frobnicator"/>
+
     ... widget classes go here
 
   </glade-widget-classes>
 
+  <glade-widget-group name="foo" title="Foo">
+
+    <glade-widget-class-ref name="FooFrobnicator"/>
+
+    ... widget class references go here
+
+  </glade-widget-group>
+
   ... widget groups go here
 
 </glade-catalog>]]></programlisting>
@@ -97,8 +98,13 @@
         <term>library</term>
         <listitem>
           <para>
-The 'library' property is a shorthand name for the plugin library which shall 
-be dlopen'd from <literal>$prefix/lib/glade-3/modules/</literal>
+The 'library' property is used to load the types and introspect properties, unless
+you are faking your widget classes (which will be described later on), glade will
+need to load this library, it can either be the name of the library containing the 
+widgets or the plugin library which is assumed to implicitly link to your widget
+library. The library will be loaded either by a user specified path, the system
+plugin directory: <literal>$prefix/lib/glade-3/modules/</literal>, or from
+the default system library paths in the afore mentioned order of precedence.
           </para>
         </listitem>
       </varlistentry>
@@ -120,11 +126,10 @@
         <term>domain</term>
         <listitem>
           <para>
-The 'domain' property is the domain in which to search for translatable 
-strings from the catalog file (such as glade-widget-group `title's and such; translatable
-values will be marked in this document as we go along and should be any strings
-that are displayed in the glade UI). If the 'domain' property is not specified,
-the library property will be used in it's stead.
+The 'domain' property is the domain in which to search for translatable strings from the 
+catalog file; please note that all strings from the catalog that will apear in the UI are
+translated using this domain. If the 'domain' is not specified, the library property will
+be used in it's stead.
           </para>
         </listitem>
       </varlistentry>
@@ -140,16 +145,6 @@
       </varlistentry>
 
       <varlistentry>
-        <term>fixed</term>
-        <listitem>
-          <para>
-The 'fixed' property is used to mark a #GladeWidgetClass for free form placement capacities
-to be handled with a #GladeFixed.
-          </para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
         <term>init-function</term>
         <listitem>
           <para>
@@ -181,5 +176,20 @@
 The plugin library should be installed into the modules directory:
       <programlisting>pkg-config --variable=moduledir gladeui-1.0</programlisting>
     </para>
+    <para>
+You can also load your catalog from a user directory by specifying
+additional load path(s) in the environment, for instance:
+      <programlisting>GLADE_CATALOG_PATH=~/mycatalogs:~/work/foo/glade</programlisting>
+    </para>
+
+    <para>
+Same goes for optional plugin libraries, for instance:
+      <programlisting>GLADE_MODULE_PATH=~/work/foo/src</programlisting>
+    </para>
+
+    <para>
+Currently loading icons without installing them is unsupported.
+    </para>
+
   </refsect1>
 </refentry>

Modified: trunk/doc/gladeui-docs.sgml
==============================================================================
--- trunk/doc/gladeui-docs.sgml	(original)
+++ trunk/doc/gladeui-docs.sgml	Mon Apr  7 13:23:11 2008
@@ -4,7 +4,6 @@
 <!ENTITY CatalogIntro SYSTEM "xml/catalogintro.sgml">
 <!ENTITY WidgetClasses SYSTEM "xml/widgetclasses.sgml">
 <!ENTITY Properties SYSTEM "xml/properties.sgml">
-<!ENTITY Children SYSTEM "xml/children.sgml">
 <!ENTITY GladeCommand SYSTEM "xml/glade-command.xml">
 <!ENTITY GladeApp SYSTEM "xml/glade-app.xml">
 <!ENTITY GladeClipboardView SYSTEM "xml/glade-clipboard-view.xml">
@@ -24,17 +23,22 @@
 <!ENTITY GladeWidget SYSTEM "xml/glade-widget.xml">
 <!ENTITY GladeFixed SYSTEM "xml/glade-fixed.xml">
 <!ENTITY GladeBaseEditor SYSTEM "xml/glade-base-editor.xml">
+<!ENTITY GladeDesignView SYSTEM "xml/glade-design-view.xml">
+<!ENTITY GladeXmlUtils SYSTEM "xml/glade-xml-utils.xml">
+<!ENTITY GladeWidgetAction SYSTEM "xml/glade-widget-action.xml">
 <!ENTITY version SYSTEM "version.xml">
 ]>
 <book id="index">
   <bookinfo>
-    <title>Glade UI Builder Reference Manual</title>
+    <title>Glade User Interface Designer Reference Manual</title>
     <abstract>
-      <para>This document attempts to describe how to use the Glade UI Builder core
-      library to integrate Glade into your application and how to integrate your
-      custom (GTK+ based) widget toolkit into the Glade UI Builder.</para>
+      <para>
+This document attempts to describe how to use the Glade UI Designer core
+library to integrate Glade into your application and how to integrate your
+custom GTK+ derived widgets into the Glade UI Builder.
+     </para>
 
-      <para>You can always get the latest version of this document here (XXX linkme) 
+      <para>You can always get the latest version of this document <ulink url="http://glade.gnome.org/docs/index.html";>here</ulink>
       and you should have received a copy with the glade-3 tarball.</para>
     </abstract>
     <releaseinfo>for &version;</releaseinfo>
@@ -52,7 +56,6 @@
     &CatalogIntro;
     &WidgetClasses;
     &Properties;
-    &Children;
   </part>
 
   <part id="core">
@@ -64,10 +67,12 @@
     &GladeProperty;
     &GladeWidgetAdaptor;
     &GladePropertyClass;
+    &GladeWidgetAction;
     &GladeCommand;
     &GladeClipboard;
     &GladeBaseEditor;
     &GladePlaceholder;
+    &GladeXmlUtils;
   </part>
 
   <part id="dockables">
@@ -78,6 +83,7 @@
     &GladeClipboardView;
     &GladeInspector;
     &GladeSignalEditor;
+    &GladeDesignView;
   </part>
 
   <part id="misc">

Modified: trunk/doc/gladeui-sections.txt
==============================================================================
--- trunk/doc/gladeui-sections.txt	(original)
+++ trunk/doc/gladeui-sections.txt	Mon Apr  7 13:23:11 2008
@@ -244,24 +244,6 @@
 </SECTION>
 
 <SECTION>
-<FILE>glade-design-layout</FILE>
-<TITLE>GladeDesignLayout</TITLE>
-GladeDesignLayout
-glade_design_layout_new
-glade_design_layout_widget_event
-<SUBSECTION Standard>
-GLADE_DESIGN_LAYOUT
-GLADE_IS_DESIGN_LAYOUT
-GLADE_TYPE_DESIGN_LAYOUT
-glade_design_layout_get_type
-GLADE_DESIGN_LAYOUT_CLASS
-GLADE_IS_DESIGN_LAYOUT_CLASS
-GLADE_DESIGN_LAYOUT_GET_CLASS
-GladeDesignLayoutClass
-GladeDesignLayoutPrivate
-</SECTION>
-
-<SECTION>
 <FILE>glade-signal</FILE>
 GladeSignal
 glade_signal_new
@@ -775,3 +757,192 @@
 glade_util_draw_selection_nodes
 </SECTION>
 
+<SECTION>
+<FILE>glade-xml-utils</FILE>
+glade_xml_search_child
+glade_xml_search_child_required
+glade_xml_get_content
+glade_xml_set_content
+glade_xml_get_value_int
+glade_xml_get_value_int_required
+glade_xml_get_value_string
+glade_xml_get_value_string_required
+glade_xml_get_boolean
+glade_xml_set_value
+glade_xml_get_property_string_required
+glade_xml_get_property_string
+glade_xml_get_property_boolean
+glade_xml_get_property_double
+glade_xml_get_property_int
+glade_xml_node_set_property_string
+glade_xml_node_set_property_boolean
+glade_xml_node_new
+glade_xml_node_new_comment
+glade_xml_node_delete
+glade_xml_node_get_children
+glade_xml_node_next
+glade_xml_node_verify
+glade_xml_node_verify_silent
+glade_xml_node_get_name
+glade_xml_node_append_child
+glade_xml_node_remove
+glade_xml_node_is_comment
+glade_xml_node_next_with_comments
+glade_xml_node_get_children_with_comments
+glade_xml_doc_get_root
+glade_xml_doc_new
+glade_xml_doc_set_root
+glade_xml_doc_free
+glade_xml_doc_save
+glade_xml_context_new
+glade_xml_context_destroy
+glade_xml_context_free
+glade_xml_context_new_from_path
+glade_xml_context_get_doc
+glade_xml_load_sym_from_node
+<SUBSECTION Standard>
+GLADE_XML_CONTEXT
+GLADE_XML_IS_CONTEXT
+CAST_BAD
+GladeXmlContext
+GladeXmlNode
+GladeXmlDoc
+GLADE_XML_TAG_PROJECT
+GLADE_XML_TAG_WIDGET
+GLADE_XML_TAG_LIBGLADE_PROJECT
+GLADE_XML_TAG_BUILDER_PROJECT
+GLADE_XML_TAG_LIBGLADE_WIDGET
+GLADE_XML_TAG_BUILDER_WIDGET
+GLADE_XML_TAG_REQUIRES
+GLADE_XML_TAG_LIB
+GLADE_XML_TAG_PROPERTY
+GLADE_XML_TAG_CLASS
+GLADE_XML_TAG_ID
+GLADE_XML_TAG_SIGNAL
+GLADE_XML_TAG_HANDLER
+GLADE_XML_TAG_AFTER
+GLADE_XML_TAG_OBJECT
+GLADE_XML_TAG_NAME
+GLADE_XML_TAG_CHILD
+GLADE_XML_TAG_PACKING
+GLADE_XML_TAG_PLACEHOLDER
+GLADE_XML_TAG_INTERNAL_CHILD
+GLADE_XML_TAG_I18N_TRUE
+GLADE_XML_TAG_SIGNAL_TRUE
+GLADE_XML_TAG_TYPE
+GLADE_TAG_GLADE_CATALOG
+GLADE_TAG_GLADE_WIDGET_CLASSES
+GLADE_TAG_GLADE_WIDGET_CLASS
+GLADE_TAG_GLADE_WIDGET_GROUP
+GLADE_TAG_GLADE_WIDGET_CLASS_REF
+GLADE_TAG_ADAPTOR
+GLADE_TAG_LIBRARY
+GLADE_TAG_DEPENDS
+GLADE_TAG_DOMAIN
+GLADE_TAG_BOOK
+GLADE_TAG_SIGNAL_NAME
+GLADE_TAG_DEFAULT
+GLADE_TAG_DISABLED
+GLADE_TAG_DEFAULT_PALETTE_STATE
+GLADE_TAG_REPLACE_CHILD_FUNCTION
+GLADE_TAG_DEEP_POST_CREATE_FUNCTION
+GLADE_TAG_POST_CREATE_FUNCTION
+GLADE_TAG_GET_INTERNAL_CHILD_FUNCTION
+GLADE_TAG_ADD_CHILD_FUNCTION
+GLADE_TAG_REMOVE_CHILD_FUNCTION
+GLADE_TAG_GET_CHILDREN_FUNCTION
+GLADE_TAG_CHILD_SET_PROP_FUNCTION
+GLADE_TAG_CHILD_GET_PROP_FUNCTION
+GLADE_TAG_CHILD_VERIFY_FUNCTION
+GLADE_TAG_CONSTRUCTOR_FUNCTION
+GLADE_TAG_ACTION_ACTIVATE_FUNCTION
+GLADE_TAG_CHILD_ACTION_ACTIVATE_FUNCTION
+GLADE_TAG_READ_WIDGET_FUNCTION
+GLADE_TAG_WRITE_WIDGET_FUNCTION
+GLADE_TAG_READ_CHILD_FUNCTION
+GLADE_TAG_WRITE_CHILD_FUNCTION
+GLADE_TAG_CREATE_EPROP_FUNCTION
+GLADE_TAG_STRING_FROM_VALUE_FUNCTION
+GLADE_TAG_PROPERTIES
+GLADE_TAG_PACKING_PROPERTIES
+GLADE_TAG_PROPERTY
+GLADE_TAG_ACTIONS
+GLADE_TAG_PACKING_ACTIONS
+GLADE_TAG_ACTION
+GLADE_TAG_TYPE
+GLADE_TAG_SPEC
+GLADE_TAG_TOOLTIP
+GLADE_TAG_PARAMETERS
+GLADE_TAG_PARAMETER
+GLADE_TAG_SET_FUNCTION
+GLADE_TAG_GET_FUNCTION
+GLADE_TAG_VERIFY_FUNCTION
+GLADE_TAG_QUERY
+GLADE_TAG_COMMON
+GLADE_TAG_OPTIONAL
+GLADE_TAG_OPTIONAL_DEFAULT
+GLADE_TAG_VISIBLE
+GLADE_TAG_EXPANDED
+GLADE_TAG_GENERIC_NAME
+GLADE_TAG_NAME
+GLADE_TAG_PARENT
+GLADE_TAG_TITLE
+GLADE_TAG_ID
+GLADE_TAG_KEY
+GLADE_TAG_VALUE
+GLADE_TAG_TRANSLATABLE
+GLADE_TAG_HAS_CONTEXT
+GLADE_TAG_COMMENT
+GLADE_TAG_PACKING_DEFAULTS
+GLADE_TAG_PARENT_CLASS
+GLADE_TAG_CHILD_PROPERTY
+GLADE_TAG_DISPLAYABLE_VALUES
+GLADE_TAG_NICK
+GLADE_TAG_SPECIAL_CHILD_TYPE
+GLADE_TAG_SAVE
+GLADE_TAG_SAVE_ALWAYS
+GLADE_TAG_EDITABLE
+GLADE_TAG_IGNORE
+GLADE_TAG_VISIBLE_LINES
+GLADE_TAG_RESOURCE
+GLADE_TAG_THEMED_ICON
+GLADE_TAG_INIT_FUNCTION
+GLADE_TAG_ATK_PROPERTY
+GLADE_TAG_FIXED
+GLADE_TAG_TRANSFER_ON_PASTE
+GLADE_TAG_WEIGHT
+GLADE_TAG_STOCK
+GLADE_TAG_GET_TYPE_FUNCTION
+GLADE_TAG_TOPLEVEL
+GLADE_TAG_USE_PLACEHOLDERS
+GLADE_TAG_DEFAULT_WIDTH
+GLADE_TAG_DEFAULT_HEIGHT
+GLADE_TAG_EVENT_HANDLER_CONNECTED
+GLADE_TAG_FALSE
+GLADE_TAG_TRUE
+GLADE_TAG_YES
+GLADE_TAG_NO
+GLADE_TAG_ICON_PREFIX
+GLADE_TAG_ICON_NAME
+GLADE_TAG_IMPORTANT
+GLADE_ENUM_DATA_TAG
+</SECTION>
+
+<SECTION>
+<FILE>glade-widget-action</FILE>
+<TITLE>GladeWidgetAction</TITLE>
+GWActionClass
+GladeWidgetAction
+glade_widget_action_class_free
+glade_widget_action_class_clone
+glade_widget_action_remove
+glade_widget_action_set_sensitive
+<SUBSECTION Standard>
+GLADE_WIDGET_ACTION
+GLADE_IS_WIDGET_ACTION
+GLADE_TYPE_WIDGET_ACTION
+glade_widget_action_get_type
+GLADE_WIDGET_ACTION_CLASS
+GLADE_IS_WIDGET_ACTION_CLASS
+GLADE_WIDGET_ACTION_GET_CLASS
+</SECTION>

Modified: trunk/doc/gladeui.types
==============================================================================
--- trunk/doc/gladeui.types	(original)
+++ trunk/doc/gladeui.types	Mon Apr  7 13:23:11 2008
@@ -14,3 +14,7 @@
 glade_property_get_type
 glade_widget_get_type
 glade_widget_adaptor_get_type
+glade_design_view_get_type
+glade_design_layout_get_type
+glade_base_editor_get_type
+glade_widget_action_get_type

Modified: trunk/doc/properties.sgml
==============================================================================
--- trunk/doc/properties.sgml	(original)
+++ trunk/doc/properties.sgml	Mon Apr  7 13:23:11 2008
@@ -11,30 +11,50 @@
   </refnamediv>
 
   <refsect1>
-    <title>Property Class Parameters</title>
+    <title>Property Class Configuration</title>
     <para>
-There are alot of things that can be done with properties in glade; properties
-can be added and removed from widget classes, lets list all the different
-things you can do with properties.
+Properties are introspected at load time and loaded into #GladePropertyClass structures.
+The behaviour of properties can be modified by the catalog and fake properties can be added
+for editing purposes. Here is an example of the xml form:
+      <programlisting><![CDATA[...
+
+<property id="frobnicate-mode" default="FOO_FROBNICATE_RED">
+
+  ... spec, tooltip etc
+
+  <displayable-values>
+
+    <value id="FOO_FROBNICATE_RED" name="Red"/>
+    <value id="FOO_FROBNICATE_BLUE" name="Blue"/>
+
+    ... values here
+
+  </displayable-values>
+
+</property>
+
+...]]></programlisting>
+
+
     </para>
     <para>
 Properties of the 'property' tag:
       <variablelist>
         <varlistentry>
-          <term>name</term>
+          <term>id</term>
           <listitem>
             <para>
-The name to be used in the interface, this string is translated.
-(if name is not specified; it defaults to the nickname of the #GParamSpec)
+This is manditory and specifies the property that we are modifying (or adding)
             </para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term>id</term>
+          <term>name</term>
           <listitem>
             <para>
-This is manditory and specifies the property that we are modifying (or adding)
+The name to be used in the interface.
+(if name is not specified; it defaults to the nickname of the #GParamSpec)
             </para>
           </listitem>
         </varlistentry>
@@ -140,140 +160,103 @@
           <term>resource</term>
           <listitem>
             <para>
-This is for string properties that represent filenames that are packaged with
+Depicts string properties that represent filenames that are packaged with
 the glade file (like pixbufs); you can set this to "True" and the string
 property will be treated like a resource.
             </para>
           </listitem>
         </varlistentry>
-      </variablelist>
-    </para>
-
-    <para>
-Child tags of the 'property' tag:
-      <variablelist>
 
         <varlistentry>
-          <term>spec</term>
+          <term>themed-icon</term>
           <listitem>
             <para>
-Specifies a function to be used to return a #GParamSpec for this property;
-this is used to add virtual properties to an object (like the "size" property
-on #GtkBox).
+Depicts a string property that is used for an icon from the theme. These will
+the appropriate editor.
             </para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term>tooltip</term>
+          <term>weight</term>
           <listitem>
             <para>
-The tooltip to be displayed in the property editor for this property, this
-is also translated. The tooltip defaults to the blurb of the associated
-#GParamSpec.
+A numerical value to specify this properties position in the property editor.
             </para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term>visible-lines</term>
+          <term>transfer-on-paste</term>
           <listitem>
             <para>
-An integer value to specify how many lines will be shown for text properties
-in the editor (this doesnt really work because of the complexity of calculating
-size of rendered text; instead, just set this to 2 if you want the text property
-to be edited in a textview with a scrolled window as opposed to a simple text entry).
+Used for packing properties; depicts packing properties that should follow
+the widget when pasted to a new container that supports the same properties.
             </para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term>set-function</term>
+          <term>save-always</term>
           <listitem>
             <para>
-A #GladeSetPropertyFunc used to set the property instead of g_object_set()
+Specifies that the property should be saved regardless of its value (properties at thier
+default values are normally not saved).
             </para>
           </listitem>
         </varlistentry>
+      </variablelist>
+    </para>
+
+    <para>
+Child tags of the 'property' tag:
+      <variablelist>
 
         <varlistentry>
-          <term>get-function</term>
+          <term>spec</term>
           <listitem>
             <para>
-A #GladeSetPropertyFunc function used to set the property instead of g_object_get()
+Specifies a function to be used to return a #GParamSpec for this property;
+this is used to add virtual properties to an object (like the "size" property
+on #GtkBox).
             </para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>tooltip</term>
+          <listitem>
             <para>
-Technical note: that the get-function is hardly ever used, the only 
-time glade-3 will actually ask the object what a property's value should be; 
-is when adding a widget to a container and introspecting the values that 
-the container assigned the child as packing properties.
+The tooltip to be displayed in the property editor for this property. 
+The tooltip defaults to the blurb of the associated #GParamSpec.
             </para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
-          <term>verify-function</term>
+          <term>visible-lines</term>
           <listitem>
             <para>
-A #GladeVerifyPropertyFunc function to verify whether the requested value is valid. 
-If specified; the editor will not allow the user to commit a value that this 
-function returns False for.
+An integer value to specify how many lines will be shown for text properties
+in the editor (this doesnt really work because of the complexity of calculating
+size of rendered text; instead, just set this to 2 if you want the text property
+to be edited in a textview with a scrolled window as opposed to a simple text entry).
             </para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>displayable-values</term>
+          <listitem>
             <para>
-Technical note: verify functions are nescisary in glade-3 because of
-the abstraction between the value maintained in the glade-3 core and
-the value that is actually on the said GObject's property. In other words,
-if verify-function returns false; glade's value won't change and set-function
-won't be called, if set-function decides not commit the said value, thats
-its own rotten business (hehe) and if the property is set to ignore="True",
-verify functions will still function properly even if set-functions are not
-called for that property.
+Allows you to specify user friendly strings for enum and flag values as shown in the
+example above, use the `id' property in the value tag to depict the real value name
+and the `name' property for the human readable one.
             </para>
           </listitem>
         </varlistentry>
+
       </variablelist>
     </para>
   </refsect1>
-  <refsect2>
-    <title>Displayable Values, Packing defaults and such</title>
-    <para>
-Enum and Flag type properties tend to have long complicated names unsuited for the glade
-environment, glade will allow you to substitute these names using the displayable-values
-child tag; the form looks like this:
-      <programlisting>
-<![CDATA[<property id="pack-type">
-  <displayable-values>
-    <value id="GTK_PACK_START" name="Start"></value>
-    <value id="GTK_PACK_END" name="End"></value>
-  </displayable-values>
-</property>]]></programlisting>
-Note that the "name" (which will be the resulting name for each `id') is a translated
-string.
-    </para>
-
-    <para>
-A widget class may have default packing properties for each type of container that
-it can be added to; a short example should suffice as a description of how this works:
-      <programlisting>
-<![CDATA[<packing-defaults>
-  <parent-class name="GtkVBox">
-    <child-property id="expand" default="false"/>
-  </parent-class>
-</packing-defaults>]]></programlisting>
-Note that you can list any number of 'packing-defaults' in a row.
-    </para>
-
-    <para>
-Properties can have additional parameters; these are completely unused by glade
-but may be usefull for a plugin writer who may want to use the GladeParameter
-api to find parameters on property classes; the form looks like this:
-      <programlisting>
-<![CDATA[<property id="foo">
-  <parameters>
-    <parameter key="Min" value="1"/>
-    <parameter key="Max" value="10000"/>
-  </parameters>
-</property>]]></programlisting>
-    </para>
-  </refsect2>
 </refentry>

Modified: trunk/doc/widgetclasses.sgml
==============================================================================
--- trunk/doc/widgetclasses.sgml	(original)
+++ trunk/doc/widgetclasses.sgml	Mon Apr  7 13:23:11 2008
@@ -1,6 +1,6 @@
 <refentry id="widgetclasses" revision="8 Feb 2006">
   <refmeta>
-    <refentrytitle>Widget Class Definitions</refentrytitle>
+    <refentrytitle>Widget Adaptor Definitions</refentrytitle>
     <refmiscinfo>Glade UI</refmiscinfo>
   </refmeta>
   <refnamediv>
@@ -14,54 +14,85 @@
     <title>Forward</title>
 
     <para>
-#GladeWidgetClass stuctures are added to a global pool using the `glade-widget-class' tag
-and then later added to the palette through the `glade-widget-group' section; class-wide
-parameters can be set on non-instantiatable classes; for example, parameters for
-#GtkBox are valid for #GtkHBox and #GtkVBox.
+Widget support in Glade is provided by the #GladeWidgetAdaptor object, each
+`glade-widget-class' definition in the catalog will result in the creation
+of an adaptor, which inherits the funcionality of the adaptor created for its
+parent, or the closest adaptor available in the ancestry. Adaptor methods can
+be overridden by functions in the plugin by specifying them in the catalog.
+There is also a wealth of options you can use in the `glade-widget-class' without
+writing code.
     </para>
     <para>
-Note that there are alot of features to support alot of special-cases from
-toolkits; but assuming that a widget is completely configurable via properties
-and does not implement any special container relationships (which we will
-explain in further detail later on) the catalog entry should really just be
-a one liner like this:
+A typical basic example of a widget class definition is as follows:
       <programlisting>
-<![CDATA[<glade-widget-class name="GtkLabel" get-type-function="gtk_label_get_type" generic-name="label" title="Label"/>]]></programlisting>
+<![CDATA[<glade-widget-class name="FooFrobnicator" generic-name="frobnicator" title="Frobnicator"/>]]></programlisting>
     </para>
     <para>
-To delve further into details; the complex layout looks like this:
+Here is the complete example of the form of the `glade-widget-class' definition:
       <programlisting>
-<![CDATA[<glade-widget-class name="GtkLabel" get-type-function="gtk_label_get_type" generic-name="label" title="Label">
+<![CDATA[<glade-widget-class name="FooFrobnicator" generic-name="frobnicator" title="Frobnicator"/>
+
+  <post-create-function>foo_frobnicator_plugin_post_create</post-create-function>
 
   ... widget class support functions go here
 
   <properties>
 
+    <property id="frobnicated" default="False"/>
+
     ... property definitions go here
 
   </properties>
 
-  <children>
+  <packing-properties>
+
+    ... child packing property definitions go here
+
+  </packing-properties>
+
+  <actions>
+
+    <action id="launch_editor" name="Edit Frob" stock="gtk-edit"/>
+
+    ... context menu action definitions go here
+
+  </actions>
 
-    ... child specific parameters go here
+  <packing-actions>
+
+    ... context menu action definitions for child objects go here
+
+  </packing-actions>
+
+  <packing-defaults>
+
+    <parent-class name="GtkVBox">
+      <child-property id="expand" default="false"/>
+    </parent-class>
+
+    ... packing default definitions go here
+
+  </packing-defaults>
 
-  </children>
 </glade-widget-class>]]></programlisting>
     </para>
 
   </refsect1>
   
   <refsect1>
-    <title>Widget Class Parameters</title>
+    <title>Widget Class Properties</title>
+    <para>
+The following are all properies of the `glade-widget-class' tag
+    </para>
     <variablelist>
       <varlistentry>
         <term>name</term>
         <listitem>
           <para>
-The 'name' property is the class name of the widget; unless the 'get-type-function'
-property is present, this will essentially be used to instantiate the actual class 
-by deriving 'gtk_label_get_type' from 'GtkLabel' and searching for 'gtk_label_get_type' 
-in the support library.
+The class name of the widget; unless the 'get-type-function' property is present, 
+this will essentially be used to instantiate the actual class by deriving 
+'gtk_label_get_type' from 'GtkLabel' and searching for 'gtk_label_get_type' in the 
+support library.
           </para>
         </listitem>
       </varlistentry>
@@ -70,10 +101,9 @@
         <term>get-type-function</term>
         <listitem>
           <para>
-The 'get-type-function' property is used to explicitly specify the name of the 
-function used to get the type of the widget.  It is optional, but if it is not
-present, the 'name' property will be used to guess the name of the function,
-a process that could lead to unexpected results.
+Used to explicitly specify the name of the function used to get the type of the widget.  
+It is optional, but if it is not present, the 'name' property will be used to guess the
+name of the function, a process that could lead to unexpected results.
           </para>
         </listitem>
       </varlistentry>
@@ -82,18 +112,18 @@
         <term>generic-name</term>
         <listitem>
           <para>
-The 'generic-name' is used to generate a default name for instances of the
+Used to generate a default name for instances of the
 widget in the UI editor. It is also used in conjunction with the 'icon-prefix'
 to form an icon name for the widget.
           </para>
         </listitem>
       </varlistentry>
       
- <varlistentry>
+      <varlistentry>
         <term>icon-name</term>
         <listitem>
           <para>
-The 'icon-name' property is used to explicitly set an icon name for this widget.
+Used to explicitly set an icon name for this widget.
 These icon names are looked up in the current icon theme to retrieve an icon for
 the widget.
           </para>
@@ -104,7 +134,7 @@
         <term>title</term>
         <listitem>
           <para>
-The'title' property is used to display the name of the class in the palette and widget 
+Used to display the name of the class in the palette and widget 
 tree and will be translated before use in the interface.
           </para>
         </listitem>
@@ -114,8 +144,67 @@
         <term>toplevel</term>
         <listitem>
           <para>
-The'toplevel' property is used to know whether this widget class is toplevel or not
-in Glade context.
+Used to know whether this widget class is toplevel or not
+in Glade context. This property will be inherited from the adaptors parent.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>fixed</term>
+        <listitem>
+          <para>
+Used to mark a #GladeWidgetClass for free form placement capacities
+to be handled with a #GladeFixed. This property will be inherited from the adaptors parent.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>use-placeholders</term>
+        <listitem>
+          <para>
+Used to inform the core about adaptors that implement
+#GtkContainer editing, and whether or not they use #GladePlaceholder. This property will 
+be inherited from the adaptors parent.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>default-width</term>
+        <listitem>
+          <para>
+The default width to load a #GtkWindow derived widget in the #GladeDesignView.
+This property will be inherited from the adaptors parent.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>default-height</term>
+        <listitem>
+          <para>
+The default height to load a #GtkWindow derived widget in the #GladeDesignView.
+This property will be inherited from the adaptors parent.
+          </para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+  </refsect1>
+
+  <refsect1>
+    <title>Adapter Methods</title>
+    <para>
+The following are all child tags of the `glade-widget-class' tag
+    </para>
+    <variablelist>
+      <varlistentry>
+        <term>constructor-function</term>
+        <listitem>
+          <para>
+Used to override the actual #GObject constructor of the said #GladeWidgetAdaptor
           </para>
         </listitem>
       </varlistentry>
@@ -124,20 +213,110 @@
         <term>post-create-function</term>
         <listitem>
           <para>
-The 'post-create-function' tag is a #GladePostCreateFunc support function that
-gets called whenever a widget of 'this class' (or a widget derived from 'this class' 
-that didn't provide its own post-create-function) is instantiated.
+A #GladePostCreateFunc support function that gets called whenever a widget of the said class is instantiated.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>deep-post-create-function</term>
+        <listitem>
+          <para>
+Same as `post-create-function' except in that you must always chain up
+to the super class definition as a rule.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>get-property-function</term>
+        <listitem>
+          <para>
+A #GladeGetPropertyFunc to get values of properties on an instance in the
+runtime.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>set-property-function</term>
+        <listitem>
+          <para>
+A #GladeSetPropertyFunc to set values of properties on an instance in the
+runtime.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>verify-function</term>
+        <listitem>
+          <para>
+A #GladeVerifyPropertyFunc to set values of properties on an instance in the
+runtime.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>add-child-function</term>
+        <listitem>
+          <para>
+A #GladeAddChildFunc to add children to instances in the runtime.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>remove-child-function</term>
+        <listitem>
+          <para>
+A #GladeRemoveChildFunc to remove children from instances in the runtime.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>replace-child-function</term>
+        <listitem>
+          <para>
+A #GladeReplaceChildFunc to replace children inside instances in the runtime.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>get-children-function</term>
+        <listitem>
+          <para>
+A #GladeGetChildrenFunc to get a list of children inside instances in the runtime.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>child-get-property-function</term>
+        <listitem>
+          <para>
+A #GladeChildGetPropertyFunc to get packing properties from instances in the runtime.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>child-set-property-function</term>
+        <listitem>
+          <para>
+A #GladeChildSetPropertyFunc to set packing properties on instances in the runtime.
           </para>
         </listitem>
       </varlistentry>
 
       <varlistentry>
-        <term>launch-editor-function</term>
+        <term>child-verify-function</term>
         <listitem>
           <para>
-The 'launch-editor-function' tag is a #GladeEditorLaunchFunc support function used to 
-launch a custom editor for this class; a good example for this is the #GtkMenuBar 
-which needs a special editor in order to be easier to use.
+A #GladeChildVerifyPropertyFunc to verify packing properties on instances in the runtime.
           </para>
         </listitem>
       </varlistentry>
@@ -146,54 +325,187 @@
         <term>get-internal-child-function</term>
         <listitem>
           <para>
-The 'get-internal-child-function' tag is a #GladeGetInternalFunc support function 
-used to retrieve an internal child of a composite object (like a button in a 
-filechooser or something); support for internal children must also be added to
-your application via libglade.
+A #GladeGetInternalFunc to retrieve an internal child of a composite object in the runtime.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>action-activate-function</term>
+        <listitem>
+          <para>
+A #GladeActionActivateFunc to run a routine for a plugin defined #GladeWidgetAction.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>child-action-activate-function</term>
+        <listitem>
+          <para>
+A #GladeChildActionActivateFunc to run a routine for a plugin defined packing #GladeWidgetAction.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>read-widget-function</term>
+        <listitem>
+          <para>
+A #GladeReadWidgetFunc to load a widget from the xml.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>write-widget-function</term>
+        <listitem>
+          <para>
+A #GladeWriteWidgetFunc to write a widget from the xml.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>read-child-function</term>
+        <listitem>
+          <para>
+A #GladeReadWidgetFunc to read a child to the xml.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>write-child-function</term>
+        <listitem>
+          <para>
+A #GladeWriteWidgetFunc to write a child to the xml.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>create-editor-property-function</term>
+        <listitem>
+          <para>
+A #GladeCreateEPropFunc to create widgets to be used in Glade's property editor.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>string-from-value-function</term>
+        <listitem>
+          <para>
+A #GladeStringFromValueFunc to create a string from a #GValue.
           </para>
         </listitem>
       </varlistentry>
 
     </variablelist>
   </refsect1>
-  
+
+  <refsect1>
+    <title>Action Definitions</title>
+    <para>
+Actions are added under the `actions' and `packing-actions' tags, actions can also
+be nested so as to allow grouping in context menus, example:
+      <programlisting>
+<![CDATA[...
+
+<action id="manage_frobs" name="Manage Frobs">
+  <action id="add_frob" name="Add" stock="gtk-add"/>
+  <action id="remove_frob" name="Remove" stock="gtk-remove"/>
+</action>
+
+...]]></programlisting>
+    </para>
+    <para>
+Here are the meanings of the `action' tag's properties:
+    </para>
+    <variablelist>
+      <varlistentry>
+        <term>id</term>
+        <listitem>
+          <para>
+The string identifier for this action, the action_path argument to your #GladeActionActivateFunc
+will be a combination if this id and any parents, for the above example: 
+<literal>"manage_frobs/add_frob"</literal>.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>name</term>
+        <listitem>
+          <para>
+A string to be displayed in the UI for this action.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>stock</term>
+        <listitem>
+          <para>
+An optional Gtk stock icon to represent this action.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>important</term>
+        <listitem>
+          <para>
+A boolean option to add emphasis to this action; currently actions marked as `important' 
+are added to the toolbar.
+          </para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+  </refsect1>
+
+  <refsect1>
+    <title>Packing Defaults</title>
+    <para>
+Default values can be specified for packing properties on your widget when added
+to a said type of parent, as the example shows above; use the `parent-class' to 
+specify what parent (or derivative of that parent) you are targetting and fill
+in any `child-property' tags you need for that parent using `id' property to 
+specify the property name and the `default' property for the value.
+    </para>
+  </refsect1>
+
   <refsect1>
-      <title>Icons</title>
-  <para>The Glade palette and other components use icons to represent the various widget classes. 
-  It is a good idea to provide icons for your widget classes, as this
-  enhances the user interface.</para>    
+    <title>Icons</title>
+    <para>
+The Glade palette and other components use icons to represent the various widget classes. 
+It is a good idea to provide icons for your widget classes, as this
+enhances the user interface.
+    </para>    
       
-  <para>Glade uses the GTK+ GtkIconTheme facility to provide icons for widget classes. Any icon
-  available in the current icon theme can be used as an icon for a widget class.</para>
-  
-  <para>By default, an icon name of the format "widget-CATALOG_NAME-GENERIC_NAME"
-  is assigned to every widget class. CATALOG_NAME is the value of catalog name attribute, and GENERIC_NAME is
-  the value of an widget class's generic name attribute.</para>
-  
-  <para>To explicity set an icon name for a widget class, the "icon-name" attribute of the "glade-widget-class"
-  element can be specified. This will override the default icon name assigned to the widget class.</para>
+    <para>
+Glade uses the GTK+ GtkIconTheme facility to provide icons for widget classes. Any icon
+available in the current icon theme can be used as an icon for a widget class.
+    </para>
   
-  <para>Icon files can be installed under any system icon theme folder, but we recommend
-  that you install them in glade's private icon theme folder:</para>
+    <para>
+By default, an icon name of the format "widget-CATALOG_NAME-GENERIC_NAME"
+is assigned to every widget class. CATALOG_NAME is the value of catalog name attribute, 
+and GENERIC_NAME is the value of an widget class's generic name attribute.
+    </para>
   
-  <programlisting>pkg-config --variable=pixmapdir gladeui-1.0</programlisting>
+    <para>
+To explicity set an icon name for a widget class, the "icon-name" attribute of the
+"glade-widget-class" element can be specified. This will override the default icon 
+name assigned to the widget class.
+    </para>
   
-  </refsect1>
-  <refsect1>
-    <title>Grouping widget classes in the catalog</title>
     <para>
-The widgets are groups in different groups in the Glade UI. Those groups
-are defined in the catalog file as follows:
-      <programlisting>
-<![CDATA[
-<glade-widget-group name="my-widgets" title="My widgets">
-  <glade-widget-class-ref name="MyFirstWidget"/>
-  <glade-widget-class-ref name="MysecondWidget"/>
-
-  ...
-
-</glade-widget-group>]]></programlisting>
-The file should contain one or more widget groups.
+Icon files can be installed under any system icon theme folder, but we recommend
+that you install them in Glade's icon theme as previosly described.
     </para>
   </refsect1>
+
 </refentry>

Modified: trunk/gladeui/glade-base-editor.c
==============================================================================
--- trunk/gladeui/glade-base-editor.c	(original)
+++ trunk/gladeui/glade-base-editor.c	Mon Apr  7 13:23:11 2008
@@ -1250,7 +1250,7 @@
 	 * @child: the #GObject being changed.
          * @type: the new type for @child.
 	 *
-	 * Returns TRUE to stop signal emision.
+	 * Returns: TRUE to stop signal emision.
 	 */
 	glade_base_editor_signals [SIGNAL_CHANGE_TYPE] =
 		g_signal_new ("change-type",
@@ -1269,7 +1269,7 @@
 	 * @gchild: the child to get display name string to show in @gladebaseeditor
 	 * treeview.
 	 *
-	 * Returns a newly allocated string.
+	 * Returns: a newly allocated string.
 	 */
 	glade_base_editor_signals [SIGNAL_GET_DISPLAY_NAME] =
 		g_signal_new ("get-display-name",
@@ -1290,7 +1290,8 @@
 	 *
 	 * Create a child widget here if something else must be done other than
 	 * calling glade_command_create() such as creating an intermediate parent.
-	 * Returns the newly created #GladeWidget or NULL if child cant be created
+	 *
+	 * Returns: the newly created #GladeWidget or NULL if child cant be created
 	 */
 	glade_base_editor_signals [SIGNAL_BUILD_CHILD] =
 		g_signal_new ("build-child",
@@ -1327,7 +1328,8 @@
 	 * @gchild: the #GladeWidget to move
 	 *
 	 * Move child here if something else must be done other than cut & paste.
-	 * Returns wheater child has been sucessfully moved or not.
+	 *
+	 * Returns: wheater child has been sucessfully moved or not.
 	 */
 	glade_base_editor_signals [SIGNAL_MOVE_CHILD] =
 		g_signal_new ("move-child",
@@ -1531,7 +1533,7 @@
  *   o The type name
  *   o The GType the editor will support
  *
- * Returns a new GladeBaseEditor.
+ * Returns: a new GladeBaseEditor.
  */
 GladeBaseEditor *
 glade_base_editor_new (GObject *container, gboolean tree_like, ...)
@@ -1827,7 +1829,8 @@
  * @help_markup: the help text
  *
  * This convenience function create a new modal window and packs @editor in it.
- * Returns the newly created window
+ *
+ * Returns: the newly created window
  */ 
 GtkWidget *
 glade_base_editor_pack_new_window (GladeBaseEditor *editor,

Modified: trunk/gladeui/glade-catalog.c
==============================================================================
--- trunk/gladeui/glade-catalog.c	(original)
+++ trunk/gladeui/glade-catalog.c	Mon Apr  7 13:23:11 2008
@@ -37,7 +37,6 @@
 
 struct _GladeCatalog
 {
-	gchar *language;	 /* Library language, NULL means language is C */
 	gchar *library;          /* Library name for backend support  */
 
 	gchar *name;             /* Symbolic catalog name             */
@@ -123,7 +122,6 @@
 	
 	catalog = g_slice_new0 (GladeCatalog);
 	
-	catalog->language = NULL;
 	catalog->library = NULL;
 	catalog->name = NULL;
 	catalog->dep_catalog = NULL;      
@@ -191,7 +189,7 @@
 	if (!catalog->icon_prefix)
 		catalog->icon_prefix = g_strdup (catalog->name);
 
-	if (catalog->init_function_name && catalog->language == NULL)
+	if (catalog->init_function_name)
 		catalog_get_function (catalog, catalog->init_function_name,
 				      (gpointer) &catalog->init_function);
 
@@ -577,7 +575,6 @@
 	g_return_if_fail (GLADE_IS_CATALOG (catalog));
 
 	g_free (catalog->name);
-	g_free (catalog->language);
 	g_free (catalog->library);	
 	g_free (catalog->dep_catalog);      
 	g_free (catalog->domain);           	

Modified: trunk/gladeui/glade-command.c
==============================================================================
--- trunk/gladeui/glade-command.c	(original)
+++ trunk/gladeui/glade-command.c	Mon Apr  7 13:23:11 2008
@@ -205,7 +205,7 @@
  *
  * Undo the effects of @command
  *
- * Returns whether the command was successfully reversed
+ * Returns: whether the command was successfully reversed
  */
 gboolean
 glade_command_undo (GladeCommand *command)
@@ -1550,7 +1550,7 @@
  * Creates a new widget using @adaptor and put in place of the @placeholder
  * in the @project
  *
- * Returns the newly created widget.
+ * Returns: the newly created widget.
  */
 GladeWidget*
 glade_command_create(GladeWidgetAdaptor *adaptor, GladeWidget *parent, GladePlaceholder *placeholder, GladeProject *project)

Modified: trunk/gladeui/glade-design-view.c
==============================================================================
--- trunk/gladeui/glade-design-view.c	(original)
+++ trunk/gladeui/glade-design-view.c	Mon Apr  7 13:23:11 2008
@@ -22,6 +22,15 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  */
+
+/**
+ * SECTION:glade-design-view
+ * @Title: GladeDesignView
+ * @Short_Description: A widget to embed the workspace.
+ *
+ * Use this widget to embed the currently active #GtkWindow
+ * in a given #GladeProject.
+ */
  
 #include "config.h"
 

Modified: trunk/gladeui/glade-project.c
==============================================================================
--- trunk/gladeui/glade-project.c	(original)
+++ trunk/gladeui/glade-project.c	Mon Apr  7 13:23:11 2008
@@ -1146,7 +1146,7 @@
  * @project: the #GladeProject the widget is added to
  * @object: the #GObject to search
  *
- * Returns whether this object is in this project.
+ * Returns: whether this object is in this project.
  */
 gboolean
 glade_project_has_object (GladeProject *project, GObject *object)

Modified: trunk/gladeui/glade-property.c
==============================================================================
--- trunk/gladeui/glade-property.c	(original)
+++ trunk/gladeui/glade-property.c	Mon Apr  7 13:23:11 2008
@@ -1330,7 +1330,7 @@
  * glade_property_get_save_always:
  * @property: A #GladeProperty
  *
- * Returns whether this property is special cased
+ * Returns: whether this property is special cased
  * to always be saved regardless of its default value.
  */
 gboolean

Modified: trunk/gladeui/glade-utils.c
==============================================================================
--- trunk/gladeui/glade-utils.c	(original)
+++ trunk/gladeui/glade-utils.c	Mon Apr  7 13:23:11 2008
@@ -939,7 +939,7 @@
  * glade_util_count_placeholders:
  * @parent: a #GladeWidget
  *
- * Returns the amount of #GladePlaceholders parented by @parent
+ * Returns: the amount of #GladePlaceholders parented by @parent
  */
 gint
 glade_util_count_placeholders (GladeWidget *parent)

Modified: trunk/gladeui/glade-widget-action.c
==============================================================================
--- trunk/gladeui/glade-widget-action.c	(original)
+++ trunk/gladeui/glade-widget-action.c	Mon Apr  7 13:23:11 2008
@@ -20,6 +20,16 @@
  *   Juan Pablo Ugarte <juanpablougarte gmail com>
  */
 
+/**
+ * SECTION:glade-widget-action
+ * @Title: GladeWidgetAction
+ * @Short_Description: Context menu and toolbar actions.
+ *
+ * Use #GladeWidgetAction to create custom routines to operate
+ * on widgets you add to glade, when running #GladeActionActivateFunc functions
+ * you should make sure to use #GladeCommand. 
+ */
+
 #include "glade-widget-action.h"
 #include "config.h"
 #include <glib/gi18n-lib.h>

Modified: trunk/gladeui/glade-widget-adaptor.c
==============================================================================
--- trunk/gladeui/glade-widget-adaptor.c	(original)
+++ trunk/gladeui/glade-widget-adaptor.c	Mon Apr  7 13:23:11 2008
@@ -1278,12 +1278,7 @@
 					  GLADE_TAG_POST_CREATE_FUNCTION,
 					  &symbol))
 		klass->post_create = symbol;
-	
-	if (glade_xml_load_sym_from_node (node, module,
-					  GLADE_TAG_GET_INTERNAL_CHILD_FUNCTION,
-					  &symbol))
-		klass->get_internal_child = symbol;
-	
+		
 	if (glade_xml_load_sym_from_node (node, module,
 					  GLADE_TAG_SET_FUNCTION,
 					  &symbol))
@@ -1308,6 +1303,11 @@
 					  GLADE_TAG_REMOVE_CHILD_FUNCTION,
 					  &symbol))
 		klass->remove = symbol;
+
+	if (glade_xml_load_sym_from_node (node, module,
+					  GLADE_TAG_REPLACE_CHILD_FUNCTION,
+					  &symbol))
+		klass->replace_child = symbol;
 	
 	if (glade_xml_load_sym_from_node (node, module,
 					  GLADE_TAG_GET_CHILDREN_FUNCTION,
@@ -1320,8 +1320,8 @@
 		klass->child_set_property = symbol;
 
 	if (glade_xml_load_sym_from_node (node, module,
-				      GLADE_TAG_CHILD_GET_PROP_FUNCTION,
-				      &symbol))
+					  GLADE_TAG_CHILD_GET_PROP_FUNCTION,
+					  &symbol))
 		klass->child_get_property = symbol;
 
 	if (glade_xml_load_sym_from_node (node, module,
@@ -1330,9 +1330,9 @@
 		klass->child_verify_property = symbol;
 
 	if (glade_xml_load_sym_from_node (node, module,
-					  GLADE_TAG_REPLACE_CHILD_FUNCTION,
+					  GLADE_TAG_GET_INTERNAL_CHILD_FUNCTION,
 					  &symbol))
-		klass->replace_child = symbol;
+		klass->get_internal_child = symbol;
 
 	if (glade_xml_load_sym_from_node (node, module,
 					  GLADE_TAG_ACTION_ACTIVATE_FUNCTION,
@@ -2592,7 +2592,7 @@
  * @container: The #GObject container
  * @child:     The #GObject child
  *
- * Returns whether @child is infact inside @container.
+ * Returns: whether @child is infact inside @container.
  */
 gboolean
 glade_widget_adaptor_has_child (GladeWidgetAdaptor *adaptor,
@@ -2820,7 +2820,7 @@
  * Checks whether or not this adaptor has support
  * to interface with child objects.
  *
- * Returns whether or not @adaptor is a container
+ * Returns: whether or not @adaptor is a container
  */
 gboolean
 glade_widget_adaptor_is_container (GladeWidgetAdaptor *adaptor)

Modified: trunk/gladeui/glade-widget-adaptor.h
==============================================================================
--- trunk/gladeui/glade-widget-adaptor.h	(original)
+++ trunk/gladeui/glade-widget-adaptor.h	Mon Apr  7 13:23:11 2008
@@ -57,7 +57,7 @@
  * GWA_DEFAULT_WIDTH:
  * @obj: A #GladeWidgetAdaptor
  *
- * Returns the default width to be used when this widget
+ * Returns: the default width to be used when this widget
  * is toplevel in the GladeDesignLayout
  */
 #define GWA_DEFAULT_WIDTH(obj) \
@@ -68,7 +68,7 @@
  * GWA_DEFAULT_HEIGHT:
  * @obj: A #GladeWidgetAdaptor
  *
- * Returns the default width to be used when this widget
+ * Returns: the default width to be used when this widget
  * is toplevel in the GladeDesignLayout
  */
 #define GWA_DEFAULT_HEIGHT(obj) \
@@ -307,7 +307,7 @@
 						   const gchar        *name);
 
 /**
- * GladeActionActivatedFunc:
+ * GladeActionActivateFunc:
  * @adaptor: A #GladeWidgetAdaptor
  * @object: The #GObject
  * @action_path: The action path
@@ -320,7 +320,7 @@
 					       const gchar        *action_path);
 
 /**
- * GladeChildActionActivatedFunc:
+ * GladeChildActionActivateFunc:
  * @adaptor: A #GladeWidgetAdaptor
  * @container: The #GtkContainer
  * @object: The #GObject

Modified: trunk/gladeui/glade-widget.c
==============================================================================
--- trunk/gladeui/glade-widget.c	(original)
+++ trunk/gladeui/glade-widget.c	Mon Apr  7 13:23:11 2008
@@ -379,7 +379,7 @@
  * Feed an event to be handled on the project GladeWidget
  * hierarchy.
  *
- * Returns whether the event was handled or not.
+ * Returns: whether the event was handled or not.
  */
 gboolean
 glade_widget_event (GladeWidget *gwidget,

Modified: trunk/gladeui/glade-xml-utils.c
==============================================================================
--- trunk/gladeui/glade-xml-utils.c	(original)
+++ trunk/gladeui/glade-xml-utils.c	Mon Apr  7 13:23:11 2008
@@ -8,6 +8,17 @@
  *   Chema Celorio <chema gnome org>
  */
 
+/**
+ * SECTION:glade-xml-utils
+ * @Title: Xml Utils
+ * @Short_Description: An api to read and write xml.
+ *
+ * You may need these tools if you are implementing #GladeReadWidgetFunc
+ * and/or #GladeWriteWidgetFunc on your #GladeWidgetAdaptor to read
+ * and write widgets in custom ways
+ */
+
+
 #include "config.h"
 
 #include <string.h>
@@ -86,9 +97,9 @@
  * glade_xml_get_content:
  * @node_in: a #GladeXmlNode
  *
- * Returns a string containing the content of @node_in.
- * Note: It is the caller's responsibility to free the memory used by this 
- * string.
+ * Gets a string containing the content of @node_in.
+ *
+ * Returns: A newly allocated string
  */
 gchar *
 glade_xml_get_content (GladeXmlNode *node_in)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]