<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.5.6">
  <compounddef id="classBakery_1_1Conf_1_1Client" kind="class" prot="public">
    <compoundname>Bakery::Conf::Client</compoundname>
    <basecompoundref refid="classsigc_1_1trackable" prot="public" virt="non-virtual">sigc::trackable</basecompoundref>
    <includes refid="Client_8h" local="no">Client.h</includes>
      <sectiondef kind="protected-type">
      <memberdef kind="typedef" id="classBakery_1_1Conf_1_1Client_1b41a84ed0bd5c6fc3053d3e7e9fb7042" prot="protected" static="no">
        <type><ref refid="classBakery_1_1sharedptr" kindref="compound">Bakery::Conf::AssociationBase::AssociationPtr</ref></type>
        <definition>typedef Bakery::Conf::AssociationBase::AssociationPtr Bakery::Conf::Client::AssociationPtr</definition>
        <argsstring></argsstring>
        <name>AssociationPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" line="77" bodyfile="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" bodystart="77" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="private-attrib">
      <memberdef kind="variable" id="classBakery_1_1Conf_1_1Client_10ec1d11c87b1b683fcc77a7d99368b2d" prot="private" static="no" mutable="no">
        <type><ref refid="classGlib_1_1RefPtr" kindref="compound" external="glibmm_doxygen_tags">Glib::RefPtr</ref>&lt; Gnome::Conf::Client &gt;</type>
        <definition>Glib::RefPtr&lt;Gnome::Conf::Client&gt; Bakery::Conf::Client::m_refClient</definition>
        <argsstring></argsstring>
        <name>m_refClient</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" line="92" bodyfile="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" bodystart="92" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classBakery_1_1Conf_1_1Client_150533f99db7c88ba63849377b88b3d8c" prot="private" static="no" mutable="no">
        <type><ref refid="classGlib_1_1ustring" kindref="compound" external="glibmm_doxygen_tags">Glib::ustring</ref></type>
        <definition>Glib::ustring Bakery::Conf::Client::m_directory</definition>
        <argsstring></argsstring>
        <name>m_directory</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" line="93" bodyfile="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" bodystart="93" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classBakery_1_1Conf_1_1Client_1ea838fd60ba6455145eb362d9cb58168" prot="private" static="no" mutable="no">
        <type>type_vecWidgets</type>
        <definition>type_vecWidgets Bakery::Conf::Client::m_vecWidgets</definition>
        <argsstring></argsstring>
        <name>m_vecWidgets</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" line="96" bodyfile="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" bodystart="96" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="private-type">
      <memberdef kind="typedef" id="classBakery_1_1Conf_1_1Client_1777edca93b1c8123253096654bd3f4f0" prot="private" static="no">
        <type>std::vector&lt; <ref refid="classBakery_1_1sharedptr" kindref="compound">AssociationPtr</ref> &gt;</type>
        <definition>typedef std::vector&lt;AssociationPtr&gt; Bakery::Conf::Client::type_vecWidgets</definition>
        <argsstring></argsstring>
        <name>type_vecWidgets</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" line="95" bodyfile="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" bodystart="95" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="classBakery_1_1Conf_1_1Client_12b4cf3308f72b6c85f20261379fe3923" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>Bakery::Conf::Client::Client</definition>
        <argsstring>(const Glib::ustring &amp;configuration_directory)</argsstring>
        <name>Client</name>
        <param>
          <type>const <ref refid="classGlib_1_1ustring" kindref="compound" external="glibmm_doxygen_tags">Glib::ustring</ref> &amp;</type>
          <declname>configuration_directory</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" line="53"/>
      </memberdef>
      <memberdef kind="function" id="classBakery_1_1Conf_1_1Client_1a72afb2973c097c6c31883bd1b310db8" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type></type>
        <definition>virtual Bakery::Conf::Client::~Client</definition>
        <argsstring>()</argsstring>
        <name>~Client</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" line="54"/>
      </memberdef>
      <memberdef kind="function" id="classBakery_1_1Conf_1_1Client_13c117e06fcdb742a8ca3817451a31f08" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>virtual void Bakery::Conf::Client::load</definition>
        <argsstring>(std::auto_ptr&lt; Glib::Error &gt; &amp;error)</argsstring>
        <name>load</name>
        <param>
          <type>std::auto_ptr&lt; <ref refid="classGlib_1_1Error" kindref="compound" external="glibmm_doxygen_tags">Glib::Error</ref> &gt; &amp;</type>
          <declname>error</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" line="60"/>
      </memberdef>
      <memberdef kind="function" id="classBakery_1_1Conf_1_1Client_13bedfb42f86634146e191304477a97c0" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>virtual void Bakery::Conf::Client::save</definition>
        <argsstring>(std::auto_ptr&lt; Glib::Error &gt; &amp;error)</argsstring>
        <name>save</name>
        <param>
          <type>std::auto_ptr&lt; <ref refid="classGlib_1_1Error" kindref="compound" external="glibmm_doxygen_tags">Glib::Error</ref> &gt; &amp;</type>
          <declname>error</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" line="61"/>
      </memberdef>
      <memberdef kind="function" id="classBakery_1_1Conf_1_1Client_1d88705caaa7c7cc9d059d5b7fb330d27" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>virtual void Bakery::Conf::Client::add</definition>
        <argsstring>(const Glib::ustring &amp;key, Gtk::Widget &amp;widget)</argsstring>
        <name>add</name>
        <param>
          <type>const <ref refid="classGlib_1_1ustring" kindref="compound" external="glibmm_doxygen_tags">Glib::ustring</ref> &amp;</type>
          <declname>key</declname>
        </param>
        <param>
          <type><ref refid="classGtk_1_1Widget" kindref="compound" external="gtkmm_doxygen_tags">Gtk::Widget</ref> &amp;</type>
          <declname>widget</declname>
        </param>
        <briefdescription>
<para>e.g. conf_client.add(&quot;user_name&quot;, m_EntryUserName); </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" line="65"/>
      </memberdef>
      <memberdef kind="function" id="classBakery_1_1Conf_1_1Client_1aec6d1a564bdbcbeeae1d52decc46587" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>virtual void Bakery::Conf::Client::add_instant</definition>
        <argsstring>(const Glib::ustring &amp;key, Gtk::Widget &amp;widget)</argsstring>
        <name>add_instant</name>
        <param>
          <type>const <ref refid="classGlib_1_1ustring" kindref="compound" external="glibmm_doxygen_tags">Glib::ustring</ref> &amp;</type>
          <declname>key</declname>
        </param>
        <param>
          <type><ref refid="classGtk_1_1Widget" kindref="compound" external="gtkmm_doxygen_tags">Gtk::Widget</ref> &amp;</type>
          <declname>widget</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" line="66"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="protected-func">
      <memberdef kind="function" id="classBakery_1_1Conf_1_1Client_128b8a11643afe6b64252c329df398ed0" prot="protected" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>virtual void Bakery::Conf::Client::add_implementation</definition>
        <argsstring>(const Glib::ustring &amp;key, Gtk::Widget &amp;widget, bool instant)</argsstring>
        <name>add_implementation</name>
        <param>
          <type>const <ref refid="classGlib_1_1ustring" kindref="compound" external="glibmm_doxygen_tags">Glib::ustring</ref> &amp;</type>
          <declname>key</declname>
        </param>
        <param>
          <type><ref refid="classGtk_1_1Widget" kindref="compound" external="gtkmm_doxygen_tags">Gtk::Widget</ref> &amp;</type>
          <declname>widget</declname>
        </param>
        <param>
          <type>bool</type>
          <declname>instant</declname>
        </param>
        <briefdescription>
<para>Override this method to add recognition of additional widget types to a derived class of <ref refid="classBakery_1_1Conf_1_1Client" kindref="compound">Client</ref>. </para>        </briefdescription>
        <detaileddescription>
<para>You must also provide an implementation for the specialization of Association&lt;T&gt; for the widget type(s) you are adding support for. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" line="75"/>
      </memberdef>
      <memberdef kind="function" id="classBakery_1_1Conf_1_1Client_1bc272f8a3a5f4a2cb73a3783e968c513" prot="protected" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <templateparamlist>
          <param>
            <type>class</type>
            <declname>T_Widget</declname>
            <defname>T_Widget</defname>
          </param>
        </templateparamlist>
        <type>void</type>
        <definition>void Bakery::Conf::Client::add_association</definition>
        <argsstring>(const Glib::ustring &amp;key, T_Widget &amp;widget, bool instant)</argsstring>
        <name>add_association</name>
        <param>
          <type>const <ref refid="classGlib_1_1ustring" kindref="compound" external="glibmm_doxygen_tags">Glib::ustring</ref> &amp;</type>
          <declname>key</declname>
        </param>
        <param>
          <type>T_Widget &amp;</type>
          <declname>widget</declname>
        </param>
        <param>
          <type>bool</type>
          <declname>instant</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" line="84" bodyfile="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" bodystart="83" bodyend="89"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Configuration <ref refid="classBakery_1_1Conf_1_1Client" kindref="compound">Client</ref> Allows you to associate widget &quot;values&quot; with configuration keys, and then <ref refid="classBakery_1_1Conf_1_1Client_13c117e06fcdb742a8ca3817451a31f08" kindref="member">load()</ref> and <ref refid="classBakery_1_1Conf_1_1Client_13bedfb42f86634146e191304477a97c0" kindref="member">save()</ref> them all at once. </para>    </briefdescription>
    <detaileddescription>
<para>The &quot;value&quot; depends on the widget: <ref refid="classGtk_1_1Entry" kindref="compound" external="gtkmm_doxygen_tags">Gtk::Entry</ref> - text (gconf string). <ref refid="classGtk_1_1CheckButton" kindref="compound" external="gtkmm_doxygen_tags">Gtk::CheckButton</ref>, <ref refid="classGtk_1_1RadioButton" kindref="compound" external="gtkmm_doxygen_tags">Gtk::RadioButton</ref> - active (gconf bool). <ref refid="classGtk_1_1Range" kindref="compound" external="gtkmm_doxygen_tags">Gtk::Range</ref> (e.g. scales and scrollbars) - position (gconf float). <ref refid="classGtk_1_1SpinButton" kindref="compound" external="gtkmm_doxygen_tags">Gtk::SpinButton</ref> - value (gconf float). <ref refid="classGtk_1_1Combo" kindref="compound" external="gtkmm_doxygen_tags">Gtk::Combo</ref> - text (gconf string). <ref refid="classGtk_1_1OptionMenu" kindref="compound" external="gtkmm_doxygen_tags">Gtk::OptionMenu</ref> - item number (gconf int); ideally we would prefer to use a string representation, but that&apos;s not realistic.</para><para>Advantages compared to Gnome::Conf::Client:<itemizedlist>
<listitem><para>Avoids repetition of key names.</para></listitem><listitem><para>Avoids repetition of the directory name.</para></listitem><listitem><para>Avoids manual code to get and set widget values.</para></listitem><listitem><para>Avoids 2 sets of very similar code, for load and save.</para></listitem><listitem><para>No need for Glib::RefPtr&lt;&gt;</para></listitem><listitem><para>Can do instant apply and instant update with <ref refid="classBakery_1_1Conf_1_1Client_1aec6d1a564bdbcbeeae1d52decc46587" kindref="member">add_instant()</ref>.. </para></listitem></itemizedlist>
</para>    </detaileddescription>
    <inheritancegraph>
      <node id="404">
        <label>sigc::trackable</label>
        <link refid="classsigc_1_1trackable" external="glibmm_doxygen_tags"/>
      </node>
      <node id="403">
        <label>Bakery::Conf::Client</label>
        <link refid="classBakery_1_1Conf_1_1Client"/>
        <childnode refid="404" relation="public-inheritance">
        </childnode>
      </node>
    </inheritancegraph>
    <collaborationgraph>
      <node id="408">
        <label>Glib::ustring</label>
        <link refid="classGlib_1_1ustring" external="glibmm_doxygen_tags"/>
      </node>
      <node id="406">
        <label>sigc::trackable</label>
        <link refid="classsigc_1_1trackable" external="glibmm_doxygen_tags"/>
      </node>
      <node id="405">
        <label>Bakery::Conf::Client</label>
        <link refid="classBakery_1_1Conf_1_1Client"/>
        <childnode refid="406" relation="public-inheritance">
        </childnode>
        <childnode refid="407" relation="usage">
          <edgelabel>m_refClient</edgelabel>
        </childnode>
        <childnode refid="408" relation="usage">
          <edgelabel>m_directory</edgelabel>
        </childnode>
      </node>
      <node id="407">
        <label>Glib::RefPtr&lt; Gnome::Conf::Client &gt;</label>
        <link refid="classGlib_1_1RefPtr" external="glibmm_doxygen_tags"/>
      </node>
    </collaborationgraph>
    <location file="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" line="51" bodyfile="/home/murrayc/svn/gnome220/bakery/bakery/Configuration/Client.h" bodystart="50" bodyend="97"/>
    <listofallmembers>
      <member refid="classBakery_1_1Conf_1_1Client_1d88705caaa7c7cc9d059d5b7fb330d27" prot="public" virt="virtual"><scope>Bakery::Conf::Client</scope><name>add</name></member>
      <member refid="classBakery_1_1Conf_1_1Client_1bc272f8a3a5f4a2cb73a3783e968c513" prot="protected" virt="non-virtual"><scope>Bakery::Conf::Client</scope><name>add_association</name></member>
      <member refid="classBakery_1_1Conf_1_1Client_128b8a11643afe6b64252c329df398ed0" prot="protected" virt="virtual"><scope>Bakery::Conf::Client</scope><name>add_implementation</name></member>
      <member refid="classBakery_1_1Conf_1_1Client_1aec6d1a564bdbcbeeae1d52decc46587" prot="public" virt="virtual"><scope>Bakery::Conf::Client</scope><name>add_instant</name></member>
      <member refid="classBakery_1_1Conf_1_1Client_1b41a84ed0bd5c6fc3053d3e7e9fb7042" prot="protected" virt="non-virtual"><scope>Bakery::Conf::Client</scope><name>AssociationPtr</name></member>
      <member refid="classBakery_1_1Conf_1_1Client_12b4cf3308f72b6c85f20261379fe3923" prot="public" virt="non-virtual"><scope>Bakery::Conf::Client</scope><name>Client</name></member>
      <member refid="classBakery_1_1Conf_1_1Client_13c117e06fcdb742a8ca3817451a31f08" prot="public" virt="virtual"><scope>Bakery::Conf::Client</scope><name>load</name></member>
      <member refid="classBakery_1_1Conf_1_1Client_150533f99db7c88ba63849377b88b3d8c" prot="private" virt="non-virtual"><scope>Bakery::Conf::Client</scope><name>m_directory</name></member>
      <member refid="classBakery_1_1Conf_1_1Client_10ec1d11c87b1b683fcc77a7d99368b2d" prot="private" virt="non-virtual"><scope>Bakery::Conf::Client</scope><name>m_refClient</name></member>
      <member refid="classBakery_1_1Conf_1_1Client_1ea838fd60ba6455145eb362d9cb58168" prot="private" virt="non-virtual"><scope>Bakery::Conf::Client</scope><name>m_vecWidgets</name></member>
      <member refid="classBakery_1_1Conf_1_1Client_13bedfb42f86634146e191304477a97c0" prot="public" virt="virtual"><scope>Bakery::Conf::Client</scope><name>save</name></member>
      <member refid="classBakery_1_1Conf_1_1Client_1777edca93b1c8123253096654bd3f4f0" prot="private" virt="non-virtual"><scope>Bakery::Conf::Client</scope><name>type_vecWidgets</name></member>
      <member refid="classBakery_1_1Conf_1_1Client_1a72afb2973c097c6c31883bd1b310db8" prot="public" virt="virtual"><scope>Bakery::Conf::Client</scope><name>~Client</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
