00001 00002 #ifndef TASKINTERFACE_H 00003 #define TASKINTERFACE_H 00004 00005 #include <QObject> 00006 00007 class TaskOutputInfo; 00008 00019 class Task : public QObject 00020 { 00021 Q_OBJECT 00022 00023 public: 00024 00025 enum State { BEFORE_START, 00026 RUNNING, 00027 FINISHED_SUCCESS, 00028 FINISHED_ERROR }; 00029 00030 public: 00033 virtual TaskOutputInfo * getOutputInfo() =0; 00034 00035 00037 virtual void start() =0; 00038 00040 virtual State getState() const =0; 00041 00042 00043 virtual QString getDescription() const=0; 00044 signals: 00047 void finished(); 00048 }; 00049 00050 class QIODevice; 00051 class TaskList; 00052 class TaskOutputInfo : public QObject 00053 { 00054 Q_OBJECT 00055 00056 public: 00057 TaskOutputInfo(QObject * par = 0) : QObject(par) {} 00058 00064 virtual void showInWidget (QWidget * w, TaskList * tasklist) = 0; 00065 00068 virtual void hide(QWidget * w) =0; 00069 00070 public slots: 00072 virtual void readData(QIODevice * dev) = 0; 00073 00074 signals: 00075 virtual void itemSelected(const QString & file, int line, int column) = 0; 00076 00077 }; 00078 00079 00080 00081 #endif
1.4.7