Warning, file /maui/strike/src/controllers/cmakeprojectmanager.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 #ifndef CMAKEPROJECTMANAGER_H 0002 #define CMAKEPROJECTMANAGER_H 0003 0004 #include <QHash> 0005 #include <QObject> 0006 0007 class CMakeProject; 0008 class CMakeProjectsModel; 0009 class ProjectManager; 0010 class ProcessManager; 0011 0012 /** 0013 * @brief The CMakeProjectManager class 0014 * The manager handles the current CMake file projects and paths. 0015 * Initially the manager takes the job to create the CMAke API requests and read the response. 0016 * 0017 */ 0018 class CMakeProjectManager : public QObject 0019 { 0020 Q_OBJECT 0021 0022 //The projects model 0023 Q_PROPERTY(CMakeProjectsModel * projectsModel READ projectsModel CONSTANT FINAL) 0024 Q_PROPERTY(Status status READ status NOTIFY statusChanged FINAL) 0025 0026 Q_PROPERTY(CMakeProject *project READ project CONSTANT FINAL) 0027 Q_PROPERTY(ProcessManager *process READ process CONSTANT FINAL) 0028 0029 public: 0030 enum Status 0031 { 0032 Loading, 0033 Ready, 0034 Error, 0035 None 0036 };Q_ENUM(Status) 0037 0038 explicit CMakeProjectManager(ProjectManager *parent); 0039 0040 void init(); 0041 0042 CMakeProjectsModel * projectsModel() const; 0043 CMakeProject *project() const; 0044 ProjectManager *root(); 0045 ProcessManager *process() const; 0046 0047 Status status() const; 0048 0049 private: 0050 CMakeProjectsModel * m_projectsModel; 0051 CMakeProject * m_project; 0052 ProcessManager *m_process; 0053 ProjectManager * m_root; 0054 0055 Status m_status = Status::None; 0056 0057 void initServer(); 0058 void initConfigure(); 0059 void initBuildDir(); 0060 0061 void readIndexReply(); 0062 0063 void setStatus(const Status &status); 0064 0065 signals: 0066 void outputLine(QString output); 0067 void statusChanged(Status status); 0068 }; 0069 0070 0071 0072 #endif // CMAKEPROJECTMANAGER_H