]> Creatis software - crea.git/blobdiff - lib/creaDevManagerLib/modelCDMIProjectTreeNode.h
Feature #1711
[crea.git] / lib / creaDevManagerLib / modelCDMIProjectTreeNode.h
index e48b8c794dcabcb0a7eb477639410ff938b525ca..6d5c680f0dfca9b6c3336062a8a53f78690028f2 100644 (file)
@@ -1,8 +1,35 @@
+/*
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
+#                        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, 
+#  modify and/ or redistribute the software under the terms of the CeCILL-B 
+#  license as circulated by CEA, CNRS and INRIA at the following URL 
+#  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
+#  or in the file LICENSE.txt.
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability. 
+#
+#  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(){}
-
-  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;
-  }
+  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;
+
 protected:
+  wxTreeItemId id;
   std::string path;
   std::string name;
   unsigned char type;
   int level;
-  std::vector<modelCDMIProjectTreeNode> children;
+  int length;
+  std::vector<modelCDMIProjectTreeNode*> children;
+
 };