X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaDevManagerLib%2FmodelCDMAppli.h;h=579f12a2105e859710a5898c6e6cda0b783466ce;hb=03aef77bacc41f53b1d21b88e683302e7e1600c2;hp=569fdb1e8a64f98d8733780b2016a19a947f2360;hpb=e2223b619fa37daaf6103b34b39e789efc1a0b94;p=crea.git diff --git a/lib/creaDevManagerLib/modelCDMAppli.h b/lib/creaDevManagerLib/modelCDMAppli.h index 569fdb1..579f12a 100644 --- a/lib/creaDevManagerLib/modelCDMAppli.h +++ b/lib/creaDevManagerLib/modelCDMAppli.h @@ -37,25 +37,69 @@ #include #include +#include -#include"modelCDMIProjectTreeNode.h" +#include"modelCDMFolder.h" #include"modelCDMApplication.h" -class modelCDMAppli : public modelCDMIProjectTreeNode +/** + * Represents the appli folder of Crea project. The appli folder holds the applications of a project. + */ +class modelCDMAppli : public modelCDMFolder { public: + /** + * Default constructor. + */ modelCDMAppli(); + /** + * 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(); - bool CreateApplication( + /** + * 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); - bool Refresh(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; };