00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef KIPI_PLUGIN_H
00027 #define KIPI_PLUGIN_H
00028
00029
00030
00031 #include <qobject.h>
00032
00033
00034
00035 #include <kaction.h>
00036
00037
00038
00039 #include "libkipi/interface.h"
00040 #include "libkipi/libkipi_export.h"
00041
00042 class KInstance;
00043
00045 namespace KIPI
00046 {
00047 enum Category
00048 {
00049 IMAGESPLUGIN = 0,
00050 EFFECTSPLUGIN,
00051 TOOLSPLUGIN,
00052 IMPORTPLUGIN,
00053 EXPORTPLUGIN,
00054 BATCHPLUGIN,
00055 COLLECTIONSPLUGIN
00056 };
00057
00058 class LIBKIPI_EXPORT Plugin : public QObject
00059 {
00060 public:
00061
00062 Plugin( KInstance* instance, QObject *parent, const char* name);
00063 virtual ~Plugin();
00064
00065 virtual void setup( QWidget* widget ) = 0;
00066 KActionPtrList actions( QWidget* parent = 0 );
00067 KActionCollection* actionCollection( QWidget* parent = 0 );
00068 virtual Category category( KAction* action ) const = 0;
00069
00070 protected:
00071
00072 void addAction( KAction* action );
00073
00074 private:
00075
00076 struct Private;
00077 Private* d;
00078 };
00079 }
00080
00081 #endif // KIPI_PLUGIN_H