kaddressbook
contacteditorwidget.h00001
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 <qwidget.h>
00028
00029 #include <kabc/addressbook.h>
00030 #include <klibloader.h>
00031 #include <kdepimmacros.h>
00032
00033 #define KAB_CEW_PLUGIN_VERSION 1
00034
00035 namespace KAB {
00036
00037 class KDE_EXPORT ContactEditorWidget : public QWidget
00038 {
00039 Q_OBJECT
00040
00041 public:
00042 typedef QValueList<ContactEditorWidget*> List;
00043
00044 ContactEditorWidget( KABC::AddressBook *ab, QWidget *parent, const char *name = 0 );
00045 ~ContactEditorWidget();
00046
00052 virtual int logicalHeight() const { return 1; }
00053
00059 virtual int logicalWidth() const { return 1; }
00060
00064 virtual void loadContact( KABC::Addressee *addr ) = 0;
00065
00070 virtual void storeContact( KABC::Addressee *addr ) = 0;
00071
00077 virtual void setReadOnly( bool readOnly ) = 0;
00078
00082 bool modified() const;
00083
00084 signals:
00089 void changed();
00090
00091 public slots:
00098 void setModified( bool modified );
00099
00100 void setModified();
00101
00102 protected:
00106 KABC::AddressBook *addressBook() const;
00107
00108 private:
00109 KABC::AddressBook *mAddressBook;
00110 bool mModified;
00111
00112 class ContactEditorWidgetPrivate;
00113 ContactEditorWidgetPrivate *d;
00114 };
00115
00116 class ContactEditorWidgetFactory : public KLibFactory
00117 {
00118 public:
00119 virtual ContactEditorWidget *createWidget( KABC::AddressBook *ab, QWidget *parent,
00120 const char *name = 0 ) = 0;
00121
00125 virtual QString pageTitle() const { return ""; }
00126
00131 virtual QString pageIdentifier() const = 0;
00132
00133 protected:
00134 virtual QObject* createObject( QObject*, const char*, const char*,
00135 const QStringList & )
00136 {
00137 return 0;
00138 }
00139 };
00140
00141 }
00142
00143 #endif
|