<!-- ##### 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: -->