<?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.8.20" xml:lang="en-US">
  <compounddef id="classUserMetricsOutput_1_1UserMetrics" kind="class" language="C++" prot="public" abstract="yes">
    <compoundname>UserMetricsOutput::UserMetrics</compoundname>
    <basecompoundref prot="public" virt="non-virtual">QObject</basecompoundref>
    <includes refid="UserMetrics_8h" local="no">libusermetricsoutput/UserMetrics.h</includes>
      <sectiondef kind="property">
      <memberdef kind="property" id="classUserMetricsOutput_1_1UserMetrics_1a916a138732aca1c6fbdb00c9a86febd5" prot="public" static="no" readable="yes" writable="no" gettable="no" privategettable="no" protectedgettable="no" settable="no" privatesettable="no" protectedsettable="no">
        <type>QString</type>
        <definition>QString UserMetricsOutput::UserMetrics::label</definition>
        <argsstring></argsstring>
        <name>label</name>
        <read>label</read>
        <briefdescription>
<para>Represents a textual version of the current metric. </para>
        </briefdescription>
        <detaileddescription>
<para>e.g. &quot;3 messages received today&quot; </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="1" column="0" bodyfile="libusermetricsoutput/UserMetrics.h" bodystart="64" bodyend="-1"/>
      </memberdef>
      <memberdef kind="property" id="classUserMetricsOutput_1_1UserMetrics_1afe36984ce04ab235e426ea0ee3e126a3" prot="public" static="no" readable="yes" writable="yes" gettable="no" privategettable="no" protectedgettable="no" settable="no" privatesettable="no" protectedsettable="no">
        <type>QString</type>
        <definition>QString UserMetricsOutput::UserMetrics::username</definition>
        <argsstring></argsstring>
        <name>username</name>
        <read>username</read>
        <write>setUsername</write>
        <briefdescription>
<para>The current username selected. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="1" column="0" bodyfile="libusermetricsoutput/UserMetrics.h" bodystart="69" bodyend="-1"/>
      </memberdef>
      <memberdef kind="property" id="classUserMetricsOutput_1_1UserMetrics_1a6e53e1a6ea0fefb8a5fe67bde2d6b911" prot="public" static="no" readable="yes" writable="no" gettable="no" privategettable="no" protectedgettable="no" settable="no" privatesettable="no" protectedsettable="no">
        <type><ref refid="classUserMetricsOutput_1_1ColorTheme" kindref="compound">UserMetricsOutput::ColorTheme</ref> *</type>
        <definition>UserMetricsOutput::ColorTheme* UserMetricsOutput::UserMetrics::firstColor</definition>
        <argsstring></argsstring>
        <name>firstColor</name>
        <read>firstColor</read>
        <briefdescription>
<para>The <ref refid="classUserMetricsOutput_1_1ColorTheme" kindref="compound">ColorTheme</ref> for the first month. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="1" column="0" bodyfile="libusermetricsoutput/UserMetrics.h" bodystart="74" bodyend="-1"/>
      </memberdef>
      <memberdef kind="property" id="classUserMetricsOutput_1_1UserMetrics_1a07c280f8e3fce8b13892ce6e7d0b5a6f" prot="public" static="no" readable="yes" writable="no" gettable="no" privategettable="no" protectedgettable="no" settable="no" privatesettable="no" protectedsettable="no">
        <type><ref refid="classUserMetricsOutput_1_1ColorTheme" kindref="compound">UserMetricsOutput::ColorTheme</ref> *</type>
        <definition>UserMetricsOutput::ColorTheme* UserMetricsOutput::UserMetrics::secondColor</definition>
        <argsstring></argsstring>
        <name>secondColor</name>
        <read>secondColor</read>
        <briefdescription>
<para>The <ref refid="classUserMetricsOutput_1_1ColorTheme" kindref="compound">ColorTheme</ref> for the second month. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="1" column="0" bodyfile="libusermetricsoutput/UserMetrics.h" bodystart="79" bodyend="-1"/>
      </memberdef>
      <memberdef kind="property" id="classUserMetricsOutput_1_1UserMetrics_1ad2f056c82a327354c1e69e6d698eab82" prot="public" static="no" readable="yes" writable="no" gettable="no" privategettable="no" protectedgettable="no" settable="no" privatesettable="no" protectedsettable="no">
        <type>QAbstractItemModel *</type>
        <definition>QAbstractItemModel * UserMetricsOutput::UserMetrics::firstMonth</definition>
        <argsstring></argsstring>
        <name>firstMonth</name>
        <read>firstMonth</read>
        <briefdescription>
<para>The data for the first month. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="1" column="0" bodyfile="libusermetricsoutput/UserMetrics.h" bodystart="84" bodyend="-1"/>
      </memberdef>
      <memberdef kind="property" id="classUserMetricsOutput_1_1UserMetrics_1a55b63d83f1fc78c9849cafcae71e5fe8" prot="public" static="no" readable="yes" writable="no" gettable="no" privategettable="no" protectedgettable="no" settable="no" privatesettable="no" protectedsettable="no">
        <type>QAbstractItemModel *</type>
        <definition>QAbstractItemModel * UserMetricsOutput::UserMetrics::secondMonth</definition>
        <argsstring></argsstring>
        <name>secondMonth</name>
        <read>secondMonth</read>
        <briefdescription>
<para>The data for the second month. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="1" column="0" bodyfile="libusermetricsoutput/UserMetrics.h" bodystart="89" bodyend="-1"/>
      </memberdef>
      <memberdef kind="property" id="classUserMetricsOutput_1_1UserMetrics_1a25cea9d167095f590149cba1fb561e75" prot="public" static="no" readable="yes" writable="no" gettable="no" privategettable="no" protectedgettable="no" settable="no" privatesettable="no" protectedsettable="no">
        <type>int</type>
        <definition>int UserMetricsOutput::UserMetrics::currentDay</definition>
        <argsstring></argsstring>
        <name>currentDay</name>
        <read>currentDay</read>
        <briefdescription>
<para>The current day of the calendar month. </para>
        </briefdescription>
        <detaileddescription>
<para>Zero-indexed. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="1" column="0" bodyfile="libusermetricsoutput/UserMetrics.h" bodystart="96" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-static-func">
      <memberdef kind="function" id="classUserMetricsOutput_1_1UserMetrics_1a31a0ac5cc679774e9cdc6f9ac1df09b6" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="classUserMetricsOutput_1_1UserMetrics" kindref="compound">UserMetrics</ref> *</type>
        <definition>static UserMetrics* UserMetricsOutput::UserMetrics::getInstance</definition>
        <argsstring>()</argsstring>
        <name>getInstance</name>
        <briefdescription>
<para>Get a new instance of <ref refid="classUserMetricsOutput_1_1UserMetrics" kindref="compound">UserMetrics</ref>. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="102" column="20"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="classUserMetricsOutput_1_1UserMetrics_1a2b9ec562559621482609379f91ae9485" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type></type>
        <definition>virtual UserMetricsOutput::UserMetrics::~UserMetrics</definition>
        <argsstring>()</argsstring>
        <name>~UserMetrics</name>
        <briefdescription>
<para>Destructor. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="107" column="9"/>
      </memberdef>
      <memberdef kind="function" id="classUserMetricsOutput_1_1UserMetrics_1ad7bb068510726a8779cf1434f6108bad" prot="public" static="no" const="yes" explicit="no" inline="no" virt="pure-virtual">
        <type>QString</type>
        <definition>virtual QString UserMetricsOutput::UserMetrics::label</definition>
        <argsstring>() const =0</argsstring>
        <name>label</name>
        <briefdescription>
<para>Represents a textual version of the current metric. </para>
        </briefdescription>
        <detaileddescription>
<para>e.g. &quot;3 messages received today&quot; </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="114" column="17"/>
      </memberdef>
      <memberdef kind="function" id="classUserMetricsOutput_1_1UserMetrics_1a9722bef3f4519bfeef6cbedb2d3fdd23" prot="public" static="no" const="yes" explicit="no" inline="no" virt="pure-virtual">
        <type>QString</type>
        <definition>virtual QString UserMetricsOutput::UserMetrics::username</definition>
        <argsstring>() const =0</argsstring>
        <name>username</name>
        <briefdescription>
<para>The current username selected. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="119" column="17"/>
      </memberdef>
      <memberdef kind="function" id="classUserMetricsOutput_1_1UserMetrics_1a6285592e3ef74cac6a88fae558b0f899" prot="public" static="no" const="no" explicit="no" inline="no" virt="pure-virtual">
        <type>void</type>
        <definition>virtual void UserMetricsOutput::UserMetrics::setUsername</definition>
        <argsstring>(const QString &amp;username)=0</argsstring>
        <name>setUsername</name>
        <param>
          <type>const QString &amp;</type>
          <declname>username</declname>
        </param>
        <briefdescription>
<para>Change the current username. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>username</parametername>
</parameternamelist>
<parameterdescription>
<para>The data source will change to the first one available for the given username. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="129" column="14"/>
      </memberdef>
      <memberdef kind="function" id="classUserMetricsOutput_1_1UserMetrics_1a7d0b29dc690035b15d37bc7d21eef958" prot="public" static="no" const="yes" explicit="no" inline="no" virt="pure-virtual">
        <type><ref refid="classUserMetricsOutput_1_1ColorTheme" kindref="compound">ColorTheme</ref> *</type>
        <definition>virtual ColorTheme* UserMetricsOutput::UserMetrics::firstColor</definition>
        <argsstring>() const =0</argsstring>
        <name>firstColor</name>
        <briefdescription>
<para>The <ref refid="classUserMetricsOutput_1_1ColorTheme" kindref="compound">ColorTheme</ref> for the first month. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="134" column="21"/>
      </memberdef>
      <memberdef kind="function" id="classUserMetricsOutput_1_1UserMetrics_1a4389a7c76a9b31e263185133c5150553" prot="public" static="no" const="yes" explicit="no" inline="no" virt="pure-virtual">
        <type>QAbstractItemModel *</type>
        <definition>virtual QAbstractItemModel* UserMetricsOutput::UserMetrics::firstMonth</definition>
        <argsstring>() const =0</argsstring>
        <name>firstMonth</name>
        <briefdescription>
<para>The data for the first month. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="139" column="28"/>
      </memberdef>
      <memberdef kind="function" id="classUserMetricsOutput_1_1UserMetrics_1a8869eab39ef056692d8bad94325e6bf1" prot="public" static="no" const="yes" explicit="no" inline="no" virt="pure-virtual">
        <type>int</type>
        <definition>virtual int UserMetricsOutput::UserMetrics::currentDay</definition>
        <argsstring>() const =0</argsstring>
        <name>currentDay</name>
        <briefdescription>
<para>The current day of the calendar month. </para>
        </briefdescription>
        <detaileddescription>
<para>Zero-indexed. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="146" column="13"/>
      </memberdef>
      <memberdef kind="function" id="classUserMetricsOutput_1_1UserMetrics_1a367c1bddd2260475aa18fb6e6dff470e" prot="public" static="no" const="yes" explicit="no" inline="no" virt="pure-virtual">
        <type><ref refid="classUserMetricsOutput_1_1ColorTheme" kindref="compound">ColorTheme</ref> *</type>
        <definition>virtual ColorTheme* UserMetricsOutput::UserMetrics::secondColor</definition>
        <argsstring>() const =0</argsstring>
        <name>secondColor</name>
        <briefdescription>
<para>The <ref refid="classUserMetricsOutput_1_1ColorTheme" kindref="compound">ColorTheme</ref> for the second month. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="151" column="21"/>
      </memberdef>
      <memberdef kind="function" id="classUserMetricsOutput_1_1UserMetrics_1ad2f55c4ac21f0f24627d3dd1256e37fd" prot="public" static="no" const="yes" explicit="no" inline="no" virt="pure-virtual">
        <type>QAbstractItemModel *</type>
        <definition>virtual QAbstractItemModel* UserMetricsOutput::UserMetrics::secondMonth</definition>
        <argsstring>() const =0</argsstring>
        <name>secondMonth</name>
        <briefdescription>
<para>The data for the second month. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="156" column="28"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="signal">
      <memberdef kind="signal" id="classUserMetricsOutput_1_1UserMetrics_1a0f6f31c856436c425fb6a9b173f212a2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void UserMetricsOutput::UserMetrics::labelChanged</definition>
        <argsstring>(const QString &amp;label)</argsstring>
        <name>labelChanged</name>
        <param>
          <type>const QString &amp;</type>
          <declname>label</declname>
        </param>
        <briefdescription>
<para>The label has changed. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>label</parametername>
</parameternamelist>
<parameterdescription>
<para></para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="164" column="6"/>
      </memberdef>
      <memberdef kind="signal" id="classUserMetricsOutput_1_1UserMetrics_1ace03dbe137d43ffb297e49336fd263f4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void UserMetricsOutput::UserMetrics::usernameChanged</definition>
        <argsstring>(const QString &amp;username)</argsstring>
        <name>usernameChanged</name>
        <param>
          <type>const QString &amp;</type>
          <declname>username</declname>
        </param>
        <briefdescription>
<para>The username has changed. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>username</parametername>
</parameternamelist>
<parameterdescription>
<para></para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="171" column="6"/>
      </memberdef>
      <memberdef kind="signal" id="classUserMetricsOutput_1_1UserMetrics_1a45c7b07fd0f6047eff614a2e48048596" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void UserMetricsOutput::UserMetrics::firstColorChanged</definition>
        <argsstring>(ColorTheme *color)</argsstring>
        <name>firstColorChanged</name>
        <param>
          <type><ref refid="classUserMetricsOutput_1_1ColorTheme" kindref="compound">ColorTheme</ref> *</type>
          <declname>color</declname>
        </param>
        <briefdescription>
<para>The first month&apos;s <ref refid="classUserMetricsOutput_1_1ColorTheme" kindref="compound">ColorTheme</ref> has changed. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>color</parametername>
</parameternamelist>
<parameterdescription>
<para></para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="178" column="6"/>
      </memberdef>
      <memberdef kind="signal" id="classUserMetricsOutput_1_1UserMetrics_1a50af194aa9b584004761df4613ae91ee" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void UserMetricsOutput::UserMetrics::firstMonthChanged</definition>
        <argsstring>(QAbstractItemModel *firstMonth)</argsstring>
        <name>firstMonthChanged</name>
        <param>
          <type>QAbstractItemModel *</type>
          <declname>firstMonth</declname>
        </param>
        <briefdescription>
<para>The first month&apos;s data has changed. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>firstMonth</parametername>
</parameternamelist>
<parameterdescription>
<para>More fine-grained changed notification also occurs using the QAbstractItemModel signals. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="188" column="6"/>
      </memberdef>
      <memberdef kind="signal" id="classUserMetricsOutput_1_1UserMetrics_1a9e5b7b567dcf1a375bac30181e471f18" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void UserMetricsOutput::UserMetrics::currentDayChanged</definition>
        <argsstring>(int currentDay)</argsstring>
        <name>currentDayChanged</name>
        <param>
          <type>int</type>
          <declname>currentDay</declname>
        </param>
        <briefdescription>
<para>The current day of the month has changed. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>currentDay</parametername>
</parameternamelist>
<parameterdescription>
<para>Note: Zero-indexed. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="197" column="6"/>
      </memberdef>
      <memberdef kind="signal" id="classUserMetricsOutput_1_1UserMetrics_1a2475d6326e5a28a028f997e224d39fdc" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void UserMetricsOutput::UserMetrics::secondColorChanged</definition>
        <argsstring>(ColorTheme *color)</argsstring>
        <name>secondColorChanged</name>
        <param>
          <type><ref refid="classUserMetricsOutput_1_1ColorTheme" kindref="compound">ColorTheme</ref> *</type>
          <declname>color</declname>
        </param>
        <briefdescription>
<para>The second month&apos;s <ref refid="classUserMetricsOutput_1_1ColorTheme" kindref="compound">ColorTheme</ref> has changed. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>color</parametername>
</parameternamelist>
<parameterdescription>
<para></para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="204" column="6"/>
      </memberdef>
      <memberdef kind="signal" id="classUserMetricsOutput_1_1UserMetrics_1ae66f3858b2cdd473c7e962c512b1a56c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void UserMetricsOutput::UserMetrics::secondMonthChanged</definition>
        <argsstring>(QAbstractItemModel *secondMonth)</argsstring>
        <name>secondMonthChanged</name>
        <param>
          <type>QAbstractItemModel *</type>
          <declname>secondMonth</declname>
        </param>
        <briefdescription>
<para>The second month&apos;s data has changed. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>secondMonth</parametername>
</parameternamelist>
<parameterdescription>
<para>More fine-grained changed notification also occurs using the QAbstractItemModel signals. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="214" column="6"/>
      </memberdef>
      <memberdef kind="signal" id="classUserMetricsOutput_1_1UserMetrics_1a8ff555243741f67a2e8d48a31bef226c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void UserMetricsOutput::UserMetrics::nextDataSource</definition>
        <argsstring>()</argsstring>
        <name>nextDataSource</name>
        <briefdescription>
<para>Request the current user&apos;s next data source. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="219" column="6"/>
      </memberdef>
      <memberdef kind="signal" id="classUserMetricsOutput_1_1UserMetrics_1a2a05b03d0c9427dcb95df6091f361f51" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void UserMetricsOutput::UserMetrics::readyForDataChange</definition>
        <argsstring>()</argsstring>
        <name>readyForDataChange</name>
        <briefdescription>
<para>Inform the <ref refid="classUserMetricsOutput_1_1UserMetrics" kindref="compound">UserMetrics</ref> that you are ready for data change. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="224" column="6"/>
      </memberdef>
      <memberdef kind="signal" id="classUserMetricsOutput_1_1UserMetrics_1a6b8a216f4ff51f6ad51a1c738d13e9e7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void UserMetricsOutput::UserMetrics::dataAboutToAppear</definition>
        <argsstring>()</argsstring>
        <name>dataAboutToAppear</name>
        <briefdescription>
<para>Data is about to appear. </para>
        </briefdescription>
        <detaileddescription>
<para>To continue, fire the <ref refid="classUserMetricsOutput_1_1UserMetrics_1a2a05b03d0c9427dcb95df6091f361f51" kindref="member">readyForDataChange</ref> signal. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="231" column="6"/>
      </memberdef>
      <memberdef kind="signal" id="classUserMetricsOutput_1_1UserMetrics_1a42843a7e32d0a7b8269d68246f7c953f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void UserMetricsOutput::UserMetrics::dataAppeared</definition>
        <argsstring>()</argsstring>
        <name>dataAppeared</name>
        <briefdescription>
<para>Data has finished loading. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="236" column="6"/>
      </memberdef>
      <memberdef kind="signal" id="classUserMetricsOutput_1_1UserMetrics_1a1070b9bda961df76e8a653a7a384495a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void UserMetricsOutput::UserMetrics::dataAboutToChange</definition>
        <argsstring>()</argsstring>
        <name>dataAboutToChange</name>
        <briefdescription>
<para>Data is about to change from one set to another. </para>
        </briefdescription>
        <detaileddescription>
<para>To continue, fire the <ref refid="classUserMetricsOutput_1_1UserMetrics_1a2a05b03d0c9427dcb95df6091f361f51" kindref="member">readyForDataChange</ref> signal. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="243" column="6"/>
      </memberdef>
      <memberdef kind="signal" id="classUserMetricsOutput_1_1UserMetrics_1a2f303a764644ea21b296a9449b83401e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void UserMetricsOutput::UserMetrics::dataChanged</definition>
        <argsstring>()</argsstring>
        <name>dataChanged</name>
        <briefdescription>
<para>Insert documentation here. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="248" column="6"/>
      </memberdef>
      <memberdef kind="signal" id="classUserMetricsOutput_1_1UserMetrics_1a3da1491cfadbccf656cb658b64031217" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void UserMetricsOutput::UserMetrics::dataAboutToDisappear</definition>
        <argsstring>()</argsstring>
        <name>dataAboutToDisappear</name>
        <briefdescription>
<para>About to change to a user with no data. </para>
        </briefdescription>
        <detaileddescription>
<para>To continue, fire the <ref refid="classUserMetricsOutput_1_1UserMetrics_1a2a05b03d0c9427dcb95df6091f361f51" kindref="member">readyForDataChange</ref> signal. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="255" column="6"/>
      </memberdef>
      <memberdef kind="signal" id="classUserMetricsOutput_1_1UserMetrics_1a257e38ec5e924048fec4582ee169e589" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void UserMetricsOutput::UserMetrics::dataDisappeared</definition>
        <argsstring>()</argsstring>
        <name>dataDisappeared</name>
        <briefdescription>
<para>The empty data has now been loaded. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="260" column="6"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-slot">
      <memberdef kind="slot" id="classUserMetricsOutput_1_1UserMetrics_1a0dcdb540b61ba42be5fce751db97afc2" prot="public" static="no" const="no" explicit="no" inline="no" virt="pure-virtual">
        <type>void</type>
        <definition>virtual void UserMetricsOutput::UserMetrics::nextDataSourceSlot</definition>
        <argsstring>()=0</argsstring>
        <name>nextDataSourceSlot</name>
        <briefdescription>
<para>Synchronous version of <ref refid="classUserMetricsOutput_1_1UserMetrics_1a8ff555243741f67a2e8d48a31bef226c" kindref="member">nextDataSource</ref>. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="266" column="14"/>
      </memberdef>
      <memberdef kind="slot" id="classUserMetricsOutput_1_1UserMetrics_1afa281c8a36a02c172a8716d7c7549caa" prot="public" static="no" const="no" explicit="no" inline="no" virt="pure-virtual">
        <type>void</type>
        <definition>virtual void UserMetricsOutput::UserMetrics::readyForDataChangeSlot</definition>
        <argsstring>()=0</argsstring>
        <name>readyForDataChangeSlot</name>
        <briefdescription>
<para>Synchronous version of <ref refid="classUserMetricsOutput_1_1UserMetrics_1a2a05b03d0c9427dcb95df6091f361f51" kindref="member">readyForDataChange</ref>. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="271" column="14"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="protected-func">
      <memberdef kind="function" id="classUserMetricsOutput_1_1UserMetrics_1a62057fbd24d3588d35066db70d552bf4" prot="protected" static="no" const="no" explicit="yes" inline="no" virt="non-virtual">
        <type></type>
        <definition>UserMetricsOutput::UserMetrics::UserMetrics</definition>
        <argsstring>(QObject *parent=0)</argsstring>
        <name>UserMetrics</name>
        <param>
          <type>QObject *</type>
          <declname>parent</declname>
          <defval>0</defval>
        </param>
        <briefdescription>
<para>Unusable constructor - this class is pure-virtual. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>parent</parametername>
</parameternamelist>
<parameterdescription>
<para></para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="libusermetricsoutput/UserMetrics.h" line="279" column="10"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Presentation API for user metrics. </para>
    </briefdescription>
    <detaileddescription>
<para>This class breaks down the various user metric sources registered against different users into a presentable format.</para>
<para>The data is split into two &quot;months&quot; - &quot;first&quot; and &quot;second&quot;. The months always have a length equal to the size of the month they represent - unset values are padded with null data.</para>
<para>The property currentDay indicates the current day&apos;s value in the &quot;first month&quot; data.</para>
<para>Given a username, the class then provides an API to cycle through that user&apos;s data. The signal <ref refid="classUserMetricsOutput_1_1UserMetrics_1a8ff555243741f67a2e8d48a31bef226c" kindref="member">nextDataSource</ref> should be used for this. </para>
    </detaileddescription>
    <inheritancegraph>
      <node id="2">
        <label>QObject</label>
      </node>
      <node id="1">
        <label>UserMetricsOutput::UserMetrics</label>
        <link refid="classUserMetricsOutput_1_1UserMetrics"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
    </inheritancegraph>
    <collaborationgraph>
      <node id="2">
        <label>QObject</label>
      </node>
      <node id="1">
        <label>UserMetricsOutput::UserMetrics</label>
        <link refid="classUserMetricsOutput_1_1UserMetrics"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
    </collaborationgraph>
    <location file="libusermetricsoutput/UserMetrics.h" line="56" column="1" bodyfile="libusermetricsoutput/UserMetrics.h" bodystart="56" bodyend="283"/>
    <listofallmembers>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a25cea9d167095f590149cba1fb561e75" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>currentDay</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a8869eab39ef056692d8bad94325e6bf1" prot="public" virt="pure-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>currentDay</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a9e5b7b567dcf1a375bac30181e471f18" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>currentDayChanged</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a6b8a216f4ff51f6ad51a1c738d13e9e7" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>dataAboutToAppear</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a1070b9bda961df76e8a653a7a384495a" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>dataAboutToChange</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a3da1491cfadbccf656cb658b64031217" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>dataAboutToDisappear</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a42843a7e32d0a7b8269d68246f7c953f" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>dataAppeared</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a2f303a764644ea21b296a9449b83401e" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>dataChanged</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a257e38ec5e924048fec4582ee169e589" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>dataDisappeared</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a6e53e1a6ea0fefb8a5fe67bde2d6b911" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>firstColor</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a7d0b29dc690035b15d37bc7d21eef958" prot="public" virt="pure-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>firstColor</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a45c7b07fd0f6047eff614a2e48048596" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>firstColorChanged</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1ad2f056c82a327354c1e69e6d698eab82" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>firstMonth</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a4389a7c76a9b31e263185133c5150553" prot="public" virt="pure-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>firstMonth</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a50af194aa9b584004761df4613ae91ee" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>firstMonthChanged</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a31a0ac5cc679774e9cdc6f9ac1df09b6" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>getInstance</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a916a138732aca1c6fbdb00c9a86febd5" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>label</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1ad7bb068510726a8779cf1434f6108bad" prot="public" virt="pure-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>label</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a0f6f31c856436c425fb6a9b173f212a2" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>labelChanged</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a8ff555243741f67a2e8d48a31bef226c" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>nextDataSource</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a0dcdb540b61ba42be5fce751db97afc2" prot="public" virt="pure-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>nextDataSourceSlot</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a2a05b03d0c9427dcb95df6091f361f51" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>readyForDataChange</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1afa281c8a36a02c172a8716d7c7549caa" prot="public" virt="pure-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>readyForDataChangeSlot</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a07c280f8e3fce8b13892ce6e7d0b5a6f" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>secondColor</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a367c1bddd2260475aa18fb6e6dff470e" prot="public" virt="pure-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>secondColor</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a2475d6326e5a28a028f997e224d39fdc" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>secondColorChanged</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a55b63d83f1fc78c9849cafcae71e5fe8" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>secondMonth</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1ad2f55c4ac21f0f24627d3dd1256e37fd" prot="public" virt="pure-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>secondMonth</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1ae66f3858b2cdd473c7e962c512b1a56c" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>secondMonthChanged</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a6285592e3ef74cac6a88fae558b0f899" prot="public" virt="pure-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>setUsername</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a62057fbd24d3588d35066db70d552bf4" prot="protected" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>UserMetrics</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1afe36984ce04ab235e426ea0ee3e126a3" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>username</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a9722bef3f4519bfeef6cbedb2d3fdd23" prot="public" virt="pure-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>username</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1ace03dbe137d43ffb297e49336fd263f4" prot="public" virt="non-virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>usernameChanged</name></member>
      <member refid="classUserMetricsOutput_1_1UserMetrics_1a2b9ec562559621482609379f91ae9485" prot="public" virt="virtual"><scope>UserMetricsOutput::UserMetrics</scope><name>~UserMetrics</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
