00001 #ifndef FOCUSINTERFACE_H
00002 #define FOCUSINTERFACE_H
00003 
00004 #include <ui/lib/uiinterface.h>
00005 
00006 #include <tools/global.h>
00007 
00008 #include <QtPlugin>
00009 
00010 namespace domain
00011 {
00012 class TaskManagerData;
00013 class Task;
00014 }
00015 
00016 namespace control
00017 {
00018 
00026 class CONTROL_EXPORT FocusInterface : public QObject
00027 {
00028         Q_OBJECT
00029 
00030     public:
00031 
00032         virtual ~FocusInterface();
00033 
00038         virtual QString description() const = 0;
00039 
00045         virtual bool applyFocus(QList<domain::Task*>* tasks) = 0;
00046 
00047         void init(domain::TaskManagerData* data, ui::UiInterface* ui);
00048 
00049     protected:
00050 
00051         domain::TaskManagerData* data;
00052         ui::UiInterface* ui;
00053 };
00054 
00055 }
00056 
00057 Q_DECLARE_INTERFACE(control::FocusInterface,
00058                     "net.sourceforge.moptaskmanager.focus/1.0");
00059 
00060 #endif