X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaDevManagerLib%2FmodelCDMAppli.h;h=579f12a2105e859710a5898c6e6cda0b783466ce;hb=03aef77bacc41f53b1d21b88e683302e7e1600c2;hp=8b8ecbe355cc884de0c44ac51d3ffeb3026913cb;hpb=9013f401b9f263f755fedc2dc88b21f351abf7da;p=crea.git diff --git a/lib/creaDevManagerLib/modelCDMAppli.h b/lib/creaDevManagerLib/modelCDMAppli.h index 8b8ecbe..579f12a 100644 --- a/lib/creaDevManagerLib/modelCDMAppli.h +++ b/lib/creaDevManagerLib/modelCDMAppli.h @@ -37,26 +37,69 @@ #include #include +#include #include"modelCDMFolder.h" #include"modelCDMApplication.h" +/** + * Represents the appli folder of Crea project. The appli folder holds the applications of a project. + */ class modelCDMAppli : public modelCDMFolder { public: + /** + * Default constructor. + */ modelCDMAppli(); - modelCDMAppli(const std::string& path, const int& level = 1); + /** + * Constructor of the appli folder node. + * @param parent Parent node of the appli node. + * @param path Full path of the appli node. + * @param name Folder name of the appli node. By default "appli" + * @param level Folder Level in the project hierarchy. By default 1 + */ + modelCDMAppli(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name = "appli", const int& level = 1); + /** + * Destructor. + */ ~modelCDMAppli(); + /** + * Retrieves the applications inside the appli folder node. + * @return Reference array of the applications in the appli node. + */ + const std::vector& GetApplications() const; + + /** + * Creates a new application in the system and creates an application node. This node is stored in the applications attribute and returned. + * @param name Name of the new application. + * @param type 0=console application, 1=GUI Application (wxWidgets). + * @param result Result message of the operation. + * @return Reference to the created application or NULL. + */ modelCDMApplication* CreateApplication( const std::string& name, - std::string*& result, - const std::string& path = "/" + const int& type, + std::string*& result ); - bool OpenCMakeListsFile(std::string*& result); + /** + * Refreshes the file structure of the appli node. Deletes deleted folders and files and creates created files and folders since lasts refresh. + * @param result Result message of the operation. + * @return True if the operation was successful. + */ virtual const bool Refresh(std::string*& result); + /** + * Checks the CMakeLists structure and the applications in order to look for compilation errors before compiling. + * @param properties Properties found in the structure. + */ + void CheckStructure(std::map& properties); + private: + /** + * application in the appli folder node. + */ std::vector applications; };