]> Creatis software - crea.git/blobdiff - lib/creaDevManagerLib/modelCDMPackageSrc.cpp
Feature #1711
[crea.git] / lib / creaDevManagerLib / modelCDMPackageSrc.cpp
index b758cc4795d561c49e968d6282f01a87615ed7ed..16e7e59b0b65cd67829cec8f41cabbd4eaad3d75 100644 (file)
@@ -47,14 +47,14 @@ modelCDMPackageSrc::modelCDMPackageSrc()
   this->CMakeLists = NULL;
 }
 
-modelCDMPackageSrc::modelCDMPackageSrc(const std::string& path, const int& level)
+modelCDMPackageSrc::modelCDMPackageSrc(const std::string& path, const std::string& name, const int& level)
 {
   //set attributes
   this->children.clear();
   this->level = level;
   this->CMakeLists = NULL;
   this->length = 0;
-  this->name = "src";
+  this->name = name;
   this->path = CDMUtilities::fixPath(path);
   this->type = wxDIR_DIRS;
 
@@ -69,7 +69,7 @@ modelCDMPackageSrc::modelCDMPackageSrc(const std::string& path, const int& level
           std::string stdfileName = crea::wx2std(fileName);
 
           //if is an unknown folder, create folder
-          this->children.push_back(new modelCDMFolder(path + "/" + stdfileName, this->level + 1));
+          this->children.push_back(new modelCDMFolder(path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
 
           cont = dir.GetNext(&fileName);
         }
@@ -78,7 +78,7 @@ modelCDMPackageSrc::modelCDMPackageSrc(const std::string& path, const int& level
       if (cont)
         {
           std::string stdfileName = crea::wx2std(fileName);
-          this->CMakeLists = new modelCDMCMakeListsFile(path + "/" + stdfileName, this->level + 1);
+          this->CMakeLists = new modelCDMCMakeListsFile(path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
           this->children.push_back(this->CMakeLists);
         }
 
@@ -90,14 +90,15 @@ modelCDMPackageSrc::modelCDMPackageSrc(const std::string& path, const int& level
 
           if(stdfileName.substr(0,2) == "bb")
             {
-              file = new modelCDMFile(path + "/" + stdfileName, this->level + 1);
+              file = new modelCDMFile(path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
               this->children.push_back(file);
-              modelCDMBlackBox* blackBox = new modelCDMBlackBox(stdfileName, path, level + 1);
+              modelCDMBlackBox* blackBox = new modelCDMBlackBox(path, stdfileName.substr(2,stdfileName.size()-4), level + 1);
               blackBox->SetHeaderFile(file);
-              cont = dir.GetFirst(&fileName, crea::std2wx(stdfileName.substr(0,stdfileName.size()-2) + ".cxx"), wxDIR_FILES);
+              wxDir dir2(crea::std2wx(path));
+              cont = dir2.GetFirst(&fileName, crea::std2wx(stdfileName.substr(0,stdfileName.size()-2) + ".cxx"), wxDIR_FILES);
               if (cont)
                 {
-                  file = new modelCDMFile(path + "/" + crea::wx2std(fileName), this->level + 1);
+                  file = new modelCDMFile(path + CDMUtilities::SLASH + crea::wx2std(fileName), crea::wx2std(fileName), this->level + 1);
                   this->children.push_back(file);
                   blackBox->SetSourceFile(file);
                 }
@@ -128,6 +129,20 @@ const std::vector<modelCDMBlackBox*>& modelCDMPackageSrc::GetBlackBoxes() const
   return this->blackBoxes;
 }
 
+modelCDMBlackBox* modelCDMPackageSrc::CreateBlackBox(
+    const std::string& name,
+    const std::string& package,
+    const std::string& type,
+    const std::string& format,
+    const std::string& authors,
+    const std::string& authorsEmail,
+    const std::string& categories,
+    const std::string& description)
+{
+  //TODO: implement method
+  return NULL;
+}
+
 const bool modelCDMPackageSrc::Refresh(std::string*& result)
 {
   //set attributes
@@ -161,7 +176,7 @@ const bool modelCDMPackageSrc::Refresh(std::string*& result)
             }
           if(!found)
             {
-              modelCDMFolder* folder = new modelCDMFolder(this->path + "/" + stdfileName, this->level + 1);
+              modelCDMFolder* folder = new modelCDMFolder(this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
               this->children.push_back(folder);
             }
           cont = dir.GetNext(&fileName);
@@ -177,7 +192,7 @@ const bool modelCDMPackageSrc::Refresh(std::string*& result)
             {
               if (this->CMakeLists == NULL)
                 {
-                  this->CMakeLists = new modelCDMCMakeListsFile(this->path + "/" + stdfileName, this->level + 1);
+                  this->CMakeLists = new modelCDMCMakeListsFile(this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
                   this->children.push_back(this->CMakeLists);
                 }
               else
@@ -205,7 +220,7 @@ const bool modelCDMPackageSrc::Refresh(std::string*& result)
 
               if(!found)
                 {
-                  modelCDMFile* file = new modelCDMFile(this->path + "/" + stdfileName, this->level + 1);
+                  modelCDMFile* file = new modelCDMFile(this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
                   this->children.push_back(file);
                 }
             }
@@ -228,7 +243,7 @@ const bool modelCDMPackageSrc::Refresh(std::string*& result)
 
               if (!found)
                 {
-                  modelCDMBlackBox* blackBox = new modelCDMBlackBox(stdfileName, path + "/" + stdfileName, level + 1);
+                  modelCDMBlackBox* blackBox = new modelCDMBlackBox(path, stdfileName.substr(2,stdfileName.size()-4), level + 1);
                   this->blackBoxes.push_back(blackBox);
                 }