kaddressbook
extensionwidget.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_EXTENSIONWIDGET_H
00025 #define KAB_EXTENSIONWIDGET_H
00026
00027 #include "kaddressbook_export.h"
00028 #include <kabc/addressbook.h>
00029 #include <kpluginfactory.h>
00030 #include <QtGui/QWidget>
00031
00032 #define KAB_EXTENSIONWIDGET_PLUGIN_VERSION 1
00033
00034 namespace KAB {
00035 class Core;
00036 class ConfigureWidget;
00037
00038 class KABINTERFACES_EXPORT ExtensionWidget : public QWidget
00039 {
00040 Q_OBJECT
00041
00042 public:
00043 ExtensionWidget( Core *core, QWidget *parent );
00044 ~ExtensionWidget();
00045
00049 KAB::Core *core() const;
00050
00054 bool contactsSelected() const;
00055
00061 KABC::Addressee::List selectedContacts();
00062
00066 virtual void contactsSelectionChanged();
00067
00072 virtual QString title() const = 0;
00073
00077 virtual QString identifier() const = 0;
00078
00079 Q_SIGNALS:
00080 void modified( const KABC::Addressee::List &list );
00081 void deleted( const QStringList& uidList );
00082
00083 private:
00084 KAB::Core *mCore;
00085
00086 class ExtensionWidgetPrivate;
00087 ExtensionWidgetPrivate *d;
00088 };
00089
00090 class KABINTERFACES_EXPORT ExtensionFactory : public KPluginFactory
00091 {
00092 Q_OBJECT
00093
00094 public:
00095 virtual ExtensionWidget *extension( KAB::Core *core, QWidget *parent ) = 0;
00096
00097 virtual ConfigureWidget *configureWidget( QWidget* )
00098 {
00099 return 0;
00100 }
00101
00102 virtual bool configureWidgetAvailable() { return false; }
00103
00108 virtual QString identifier() const = 0;
00109 };
00110
00111 }
00112
00113 #endif