# ---------------------------------------------------------------------
#
# 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;
+
};