OpenMW
|
00001 #ifndef CSM_TOOLS_TOOLS_H 00002 #define CSM_TOOLS_TOOLS_H 00003 00004 #include <QObject> 00005 00006 #include <map> 00007 00008 namespace CSMWorld 00009 { 00010 class Data; 00011 class UniversalId; 00012 } 00013 00014 namespace CSMDoc 00015 { 00016 class Operation; 00017 } 00018 00019 namespace CSMTools 00020 { 00021 class ReportModel; 00022 00023 class Tools : public QObject 00024 { 00025 Q_OBJECT 00026 00027 CSMWorld::Data& mData; 00028 CSMDoc::Operation *mVerifier; 00029 std::map<int, ReportModel *> mReports; 00030 int mNextReportNumber; 00031 std::map<int, int> mActiveReports; // type, report number 00032 00033 // not implemented 00034 Tools (const Tools&); 00035 Tools& operator= (const Tools&); 00036 00037 CSMDoc::Operation *getVerifier(); 00038 00039 CSMDoc::Operation *get (int type); 00041 00042 const CSMDoc::Operation *get (int type) const; 00044 00045 public: 00046 00047 Tools (CSMWorld::Data& data); 00048 00049 virtual ~Tools(); 00050 00051 CSMWorld::UniversalId runVerifier(); 00053 00054 void abortOperation (int type); 00056 00057 int getRunningOperations() const; 00058 00059 ReportModel *getReport (const CSMWorld::UniversalId& id); 00061 00062 private slots: 00063 00064 void verifierMessage (const QString& message, int type); 00065 00066 signals: 00067 00068 void progress (int current, int max, int type); 00069 00070 void done (int type); 00071 }; 00072 } 00073 00074 #endif