kaddressbook
contacteditorwidget.h
Go to the documentation of this file.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 KAB_CONTACTEDITORWIDGET_H
00025 #define KAB_CONTACTEDITORWIDGET_H
00026
00027 #include "kaddressbook_export.h"
00028 #include <kabc/addressbook.h>
00029 #include <kpluginfactory.h>
00030
00031 #include <QtGui/QWidget>
00032 #include <QtCore/QList>
00033
00034 #define KAB_CEW_PLUGIN_VERSION 1
00035
00036 namespace KAB {
00037
00038 class KABINTERFACES_EXPORT ContactEditorWidget : public QWidget
00039 {
00040 Q_OBJECT
00041
00042 public:
00043 typedef QList<ContactEditorWidget*> List;
00044
00045 ContactEditorWidget( KABC::AddressBook *ab, QWidget *parent );
00046 ~ContactEditorWidget();
00047
00053 virtual int logicalHeight() const { return 1; }
00054
00060 virtual int logicalWidth() const { return 1; }
00061
00065 virtual void loadContact( KABC::Addressee *addr ) = 0;
00066
00071 virtual void storeContact( KABC::Addressee *addr ) = 0;
00072
00078 virtual void setReadOnly( bool readOnly ) = 0;
00079
00083 bool modified() const;
00084
00085 Q_SIGNALS:
00090 void changed();
00091
00092 public Q_SLOTS:
00099 void setModified( bool modified );
00100
00101 void setModified();
00102
00103 protected:
00107 KABC::AddressBook *addressBook() const;
00108
00109 private:
00110 KABC::AddressBook *mAddressBook;
00111 bool mModified;
00112
00113 class ContactEditorWidgetPrivate;
00114 ContactEditorWidgetPrivate *d;
00115 };
00116
00117 class KABINTERFACES_EXPORT ContactEditorWidgetFactory : public KPluginFactory
00118 {
00119 public:
00120 virtual ContactEditorWidget *createWidget( KABC::AddressBook *ab, QWidget *parent ) = 0;
00121
00125 virtual QString pageTitle() const { return QString::fromLatin1(""); }
00126
00131 virtual QString pageIdentifier() const = 0;
00132 };
00133
00134 }
00135
00136 #endif