]> Creatis software - crea.git/blobdiff - lib/creaDevManagerLib/modelCDMIProjectTreeNode.h
Feature #1711
[crea.git] / lib / creaDevManagerLib / modelCDMIProjectTreeNode.h
index fa5be53940c00a4925726dce37186d353d0c98c8..6d5c680f0dfca9b6c3336062a8a53f78690028f2 100644 (file)
@@ -2,8 +2,10 @@
 # ---------------------------------------------------------------------
 #
 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
-#                        pour la Santé)
+#                        pour la Sant)
 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
 #
 #  This software is governed by the CeCILL-B license under French law and 
 #  abiding by the rules of distribution of free software. You can  use, 
 #
 #  The fact that you are presently reading this means that you have had
 #  knowledge of the CeCILL-B license and that you accept its terms.
-# ------------------------------------------------------------------------ */ 
-
-
+# ------------------------------------------------------------------------ 
+*/ 
 
 /*
  * modelCDMIProjectTreeNode.h
  *
  *  Created on: 13/11/2012
- *      Author: daniel
+ *      Author: Daniel Felipe Gonzalez Obando
  */
 
 #ifndef MODELCDMIPROJECTTREENODE_H_
 
 #include <iostream>
 #include <vector>
+#include <creaWx.h>
+#include "wx/treectrl.h"
 
 class modelCDMIProjectTreeNode
 {
 public:
-  virtual ~modelCDMIProjectTreeNode(){}
+  virtual ~modelCDMIProjectTreeNode() {}
+
+  static bool CompareNodeItem(const modelCDMIProjectTreeNode* x, const modelCDMIProjectTreeNode* y);
+
+  const wxTreeItemId& GetId() const;
+  const std::string& GetPath() const;
+  const std::string& GetName() const;
+  const unsigned char& GetType() const;
+  const int& GetLevel() const;
+  const std::vector<modelCDMIProjectTreeNode*>& GetChildren() const;
+  const int& GetLength();
+  void SetId(const wxTreeItemId& id);
+  void SortChildren();
+  void SetChildren(const std::vector<modelCDMIProjectTreeNode*>& children);
+
+  virtual const bool Refresh(std::string*& result);
+  const bool OpenInFileExplorer(std::string*& result) const;
 
-  const std::string& GetPath() const
-  {
-    return this->path;
-  }
-  const std::string& GetName() const
-  {
-    return this->name;
-  }
-  const unsigned char& GetType() const
-  {
-    return this->type;
-  }
-  const int& GetLevel() const
-  {
-    return this->level;
-  }
-  const std::vector<modelCDMIProjectTreeNode>& GetChildren() const
-  {
-    return this->children;
-  }
-  void SetChildren(std::vector<modelCDMIProjectTreeNode>& children)
-  {
-    this->children.clear();
-    this->children = children;
-  }
 protected:
+  wxTreeItemId id;
   std::string path;
   std::string name;
   unsigned char type;
   int level;
-  std::vector<modelCDMIProjectTreeNode> children;
+  int length;
+  std::vector<modelCDMIProjectTreeNode*> children;
+
 };