00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#ifndef CONTACTEDITORWIDGETMANAGER_H
00025
#define CONTACTEDITORWIDGETMANAGER_H
00026
00027
#include <qwidget.h>
00028
00029
#include "contacteditorwidget.h"
00030
00031
namespace KABC {
00032
class Addressee;
00033 }
00034
00035
class QGridLayout;
00036
00037
class ContactEditorWidgetManager :
public QObject
00038 {
00039 Q_OBJECT
00040
00041
public:
00042
static ContactEditorWidgetManager *
self();
00043
00047
int count() const;
00048
00052 KAB::ContactEditorWidgetFactory *factory(
int pos ) const;
00053
00054 protected:
00055 ContactEditorWidgetManager();
00056 ~ContactEditorWidgetManager();
00057
00058 private:
00059
void reload();
00060
00061
QValueList<KAB::ContactEditorWidgetFactory*> mFactories;
00062
00063 static ContactEditorWidgetManager *mSelf;
00064 };
00065
00066 class ContactEditorTabPage : public
QWidget
00067 {
00068 Q_OBJECT
00069
00070
public:
00071 ContactEditorTabPage( QWidget *parent,
const char *name = 0 );
00072
00076
void addWidget( KAB::ContactEditorWidget *widget );
00077
00081
void loadContact( KABC::Addressee *addr );
00082
00087
void storeContact( KABC::Addressee *addr );
00088
00094
void setReadOnly(
bool readOnly );
00095
00100
void updateLayout();
00101
00102 signals:
00106
void changed();
00107
00108
private:
00109
QGridLayout *mLayout;
00110
KAB::ContactEditorWidget::List mWidgets;
00111 };
00112
00113
#endif