<!-- ##### SECTION Title ##### -->
GnomeMDIChild

<!-- ##### SECTION Short_Description ##### -->
An abstract MDI child class

<!-- ##### SECTION Long_Description ##### -->
  <para>
    <type>GnomeMDIChild</type> is an abstract class for <type>GnomeMDI</type>
    children. In order to use it, you have to either derive a new class from it
    and define the proper virtual functions in its parent
    <type>GnomeMDIChildClass</type> structure or use the
    <type>GnomeMDIGenericChild</type> class that allows to specify the relevant
    functions on a per-instance rather than on per-class basis.
  </para>
  
  <para>
    Each instance of GnomeMDIChild class defines a name for the child and possibly
    a menu template for document-specific menus that will be merged with the global
    MDI menus. The menu template is set using the gnome_mdi_child_set_menu_template()
    function.
  </para> 
  
  <para>
    The <type>GnomeMDIChild</type> class has four virtual functions that are used by
    the MDI:
    <itemizedlist>
      <listitem><para>
	  create_view must be defined for each subclass and must return a pointer to a
	  GtkWidget representing a new view of the document.
	</para></listitem>
      <listitem><para>
	  create_menus must return a GList of menu items and can be used instead of the
	  child's menu template. If both template and this function are defined, only the
	  template (which can be defined on a per-instance basis) is used.
	</para></listitem>
      <listitem><para>
	  get_config_string must return a string that represents the state of the child
	  and will be used to save and restore state of the MDI children bewtween sessions.
	</para></listitem>
      <listitem><para>
	  set_label must return a pointer to a GtkWidget that will be used as notebook and
	  menu item label for this child.
	</para></listitem>
    </itemizedlist>
    create_view function must be defined for each subclass and the <type>GnomeMDIChild</type>
    class provides a simple default implementation of set_label; create_menus and get_config_string
    may be undefined.
  </para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### STRUCT GnomeMDIChild ##### -->
<para>

</para>


<!-- ##### USER_FUNCTION GnomeMDIChildViewCreator ##### -->
<para>

</para>

@Param1: 
@Param2: 
@Returns: 


<!-- ##### USER_FUNCTION GnomeMDIChildMenuCreator ##### -->
<para>

</para>

@Param1: 
@Param2: 
@Param3: 
@Returns: 


<!-- ##### USER_FUNCTION GnomeMDIChildConfigFunc ##### -->
<para>

</para>

@Param1: 
@Param2: 
@Returns: 


<!-- ##### USER_FUNCTION GnomeMDIChildLabelFunc ##### -->
<para>

</para>

@Param1: 
@Param2: 
@Param3: 
@Returns: 


<!-- ##### FUNCTION gnome_mdi_child_add_view ##### -->
<para>

</para>

@mdi_child: 
@Returns: 


<!-- ##### FUNCTION gnome_mdi_child_remove_view ##### -->
<para>

</para>

@mdi_child: 
@view: 


<!-- ##### FUNCTION gnome_mdi_child_set_name ##### -->
<para>

</para>

@mdi_child: 
@name: 


<!-- ##### FUNCTION gnome_mdi_child_set_menu_template ##### -->
<para>

</para>

@mdi_child: 
@menu_tmpl: 
<!--
Local variables:
mode: sgml
sgml-parent-document: ("../gnomeui-docs.sgml" "book" "sect1" "")
End:
-->


