00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef AKONADI_ABSTRACTCONTACTGROUPFORMATTER_H
00023 #define AKONADI_ABSTRACTCONTACTGROUPFORMATTER_H
00024
00025 #include "akonadi-contact_export.h"
00026
00027 #include <QtCore/QVariant>
00028
00029 namespace KABC {
00030 class ContactGroup;
00031 }
00032
00033 namespace Akonadi {
00034 class Item;
00035
00046 class AKONADI_CONTACT_EXPORT AbstractContactGroupFormatter
00047 {
00048 public:
00052 enum HtmlForm
00053 {
00054 SelfcontainedForm,
00055 EmbeddableForm,
00056 UserForm = SelfcontainedForm + 42
00057 };
00058
00062 AbstractContactGroupFormatter();
00063
00067 virtual ~AbstractContactGroupFormatter();
00068
00072 void setContactGroup( const KABC::ContactGroup &group );
00073
00077 KABC::ContactGroup contactGroup() const;
00078
00084 void setItem( const Akonadi::Item &item );
00085
00089 Akonadi::Item item() const;
00090
00100 void setAdditionalFields( const QList<QVariantMap> &fields );
00101
00105 QList<QVariantMap> additionalFields() const;
00106
00111 virtual QString toHtml( HtmlForm form = SelfcontainedForm ) const = 0;
00112
00113 private:
00114
00115 Q_DISABLE_COPY( AbstractContactGroupFormatter )
00116
00117 class Private;
00118 Private* const d;
00119
00120 };
00121
00122 }
00123
00124 #endif