X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2FcreaDevManagerLib%2FmodelCDMMain.h;h=322f82375d04316a2a957f113cece8bf51eb97ba;hb=5ff0bb2664c3cd508c1dd438666a71b8a96459c3;hp=d75355ce27f0a70ac624482ec3a2e718c95f005d;hpb=f0d6beb7af51921d5245cd04e307e69993044dfc;p=crea.git diff --git a/lib/creaDevManagerLib/modelCDMMain.h b/lib/creaDevManagerLib/modelCDMMain.h index d75355c..322f823 100644 --- a/lib/creaDevManagerLib/modelCDMMain.h +++ b/lib/creaDevManagerLib/modelCDMMain.h @@ -44,16 +44,42 @@ #include "modelCDMIProjectTreeNode.h" #include "modelCDMProject.h" +/** + * Class representing the model of the project manager. + */ class modelCDMMain { public: + /** + * Default constructor. + */ modelCDMMain(); + /** + * Destructor. + */ ~modelCDMMain(); + /** + * Retrieves the current active project. + * @return Reference to the current active project, if there's no active project NULL is returned. + */ modelCDMProject* GetProject() const; + /** + * Retrieves the map of all the nodes inside the current active project. + * @return Map with ids and node reference of the project. + */ std::map< wxTreeItemId, modelCDMIProjectTreeNode* >& GetModelElements(); + /** + * Creates a new project and sets it as the current active project. This method creates a new project model and also creates a project in the system. + * @param name Name of the new project. + * @param location Path where the project is to be created. + * @param result Result message. + * @param author Default Package Authors' names. + * @param description Description of the default package. + * @return True if the operation was successful. + */ bool CreateProject( const std::string& name, const std::string& location, @@ -61,20 +87,42 @@ public: const std::string& author = "unknown", const std::string& description = "no description" ); + /** + * Opens an existing project given the source or the binaries folder. + * @param path Path to the project source or binaries folder. + * @param result Result message. + * @return True if the operation was successful. + */ bool OpenProject( const std::string& path, std::string*& result ); + /** + * Refreshes the currently active project structure. + * @param result Result message. + * @return True if the operation was successful. + */ bool RefreshProject( std::string*& result ); + /** + * Closes the currently active project. This method deletes the project model but doesn't erase the project from the system. + * @param result Result message. + * @return True if the operation was successful. + */ bool CloseProject( std::string*& result ); private: + /** + * Currently active project reference. + */ modelCDMProject* project; + /** + * Map of all the elements of the currently active project and their IDs. + */ std::map< wxTreeItemId, modelCDMIProjectTreeNode* > modelElements; };