]> Creatis software - crea.git/blobdiff - lib/creaDevManagerLib/modelCDMFile.cpp
#3170 crea Feature New Normal - creaVTK_MACROS
[crea.git] / lib / creaDevManagerLib / modelCDMFile.cpp
index 6767b98e8895a5f87dc5edb7e2153de58a7360b9..dcafc8e1c8e0995babff83ef93376d0e6d294f69 100644 (file)
@@ -44,24 +44,20 @@ modelCDMFile::modelCDMFile()
 {
 }
 
-modelCDMFile::modelCDMFile(const std::string& path, const int& level)
+modelCDMFile::modelCDMFile(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level)
 {
+  std::cout << "creating file: " + path + "\n";
+  this->parent = parent;
   this->children.clear();
   this->level = level;
-
-  std::vector<std::string> words;
-  std::string delimiters;
-  //TODO::fix for windows
-  delimiters = "/";
-  CDMUtilities::splitter::split(words, path, delimiters, CDMUtilities::splitter::no_empties);
-  this->name = words[words.size()-1];
-
+  this->name = name;
   this->path = path;
   this->type = wxDIR_FILES;
 
   std::ifstream in(path.c_str(), std::ifstream::in | std::ifstream::binary);
   in.seekg(0, std::ifstream::end);
   this->length = in.tellg();
+  in.close();
 
 }
 
@@ -82,12 +78,17 @@ bool modelCDMFile::OpenFile(std::string*& result, const std::string& command)
 
 const bool modelCDMFile::Refresh(std::string*& result)
 {
+  //std::cout << "refreshing file " << this->name << std::endl;
   std::ifstream in((this->path).c_str());
   if(!in.is_open())
     {
       in.close();
       return false;
     }
+  std::ifstream in2(path.c_str(), std::ifstream::in | std::ifstream::binary);
+  in2.seekg(0, std::ifstream::end);
+  this->length = in2.tellg();
+  in2.close();
   return true;
 }