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