<refentry id="gnomeui-gnome-mdi-session"> <refmeta> <refentrytitle>gnome-mdi-session</refentrytitle> <manvolnum>3</manvolnum> <refmiscinfo>GNOMEUI Library</refmiscinfo> </refmeta> <refnamediv> <refname>gnome-mdi-session</refname><refpurpose>Routines providing <type>GnomeMDI</type> state saving and restoration</refpurpose> </refnamediv> <refsynopsisdiv><title>Synopsis</title> <synopsis> #include <gnome.h> <link linkend="GnomeMDIChild">GnomeMDIChild</link>* (<link linkend="GnomeMDIChildCreator">*GnomeMDIChildCreator</link>) (const <link linkend="gchar">gchar</link>*); <link linkend="gboolean">gboolean</link> <link linkend="gnome-mdi-restore-state">gnome_mdi_restore_state</link> (<link linkend="GnomeMDI">GnomeMDI</link> *mdi, const char *section, <link linkend="GnomeMDIChildCreator">GnomeMDIChildCreator</link> child_create_func); void <link linkend="gnome-mdi-save-state">gnome_mdi_save_state</link> (<link linkend="GnomeMDI">GnomeMDI</link> *mdi, const <link linkend="gchar">gchar</link> *section); </synopsis> </refsynopsisdiv> <refsect1> <title>Description</title> <para> In order to simplify saving the state of MDI and its children, the GnomeMDI interface provides a function that saves its layout and the state of its children (provided by each child through get_config_string virtual function defined in <type>GnomeMDIChild</type> subclasses) and a function that restores a previously saved state, recreating the children from their configuration strings using a function provided by the programmer. </para> </refsect1> <refsect1> <title>Details</title> <refsect2> <title><anchor id="GnomeMDIChildCreator">GnomeMDIChildCreator ()</title> <programlisting><link linkend="GnomeMDIChild">GnomeMDIChild</link>* (*GnomeMDIChildCreator) (const <link linkend="gchar">gchar</link>*);</programlisting> <para> </para><informaltable pgwide="1" frame="none" role="params"> <tgroup cols="2"> <colspec colwidth="2*"> <colspec colwidth="8*"> <tbody> <row><entry align="right"><parameter>Param1</parameter> :</entry> <entry> </entry></row> <row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> </entry></row> </tbody></tgroup></informaltable></refsect2> <refsect2> <title><anchor id="gnome-mdi-restore-state">gnome_mdi_restore_state ()</title> <programlisting><link linkend="gboolean">gboolean</link> gnome_mdi_restore_state (<link linkend="GnomeMDI">GnomeMDI</link> *mdi, const char *section, <link linkend="GnomeMDIChildCreator">GnomeMDIChildCreator</link> child_create_func);</programlisting> <para> Restores the MDI state. Children are recreated with <parameter>create_child_func</parameter> that restores information about a child from a config string that was provided during saving state by the child.</para> <para> </para><informaltable pgwide="1" frame="none" role="params"> <tgroup cols="2"> <colspec colwidth="2*"> <colspec colwidth="8*"> <tbody> <row><entry align="right"><parameter>mdi</parameter> :</entry> <entry> A pointer to a GnomeMDI object. </entry></row> <row><entry align="right"><parameter>section</parameter> :</entry> <entry> Name of the section to restore MDI state from. </entry></row> <row><entry align="right"><parameter>child_create_func</parameter> :</entry> <entry> </entry></row> <row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> TRUE if state was successfully restored, FALSE otherwise. </entry></row> </tbody></tgroup></informaltable></refsect2> <refsect2> <title><anchor id="gnome-mdi-save-state">gnome_mdi_save_state ()</title> <programlisting>void gnome_mdi_save_state (<link linkend="GnomeMDI">GnomeMDI</link> *mdi, const <link linkend="gchar">gchar</link> *section);</programlisting> <para> Saves MDI state to the application's config file in section <parameter>section</parameter>.</para> <para> </para><informaltable pgwide="1" frame="none" role="params"> <tgroup cols="2"> <colspec colwidth="2*"> <colspec colwidth="8*"> <tbody> <row><entry align="right"><parameter>mdi</parameter> :</entry> <entry> A pointer to a GnomeMDI object. </entry></row> <row><entry align="right"><parameter>section</parameter> :</entry> <entry> Name of the section that the MDI config should be saved to. </entry></row> </tbody></tgroup></informaltable></refsect2> </refsect1> </refentry>