]> Creatis software - crea.git/blob - lib/creaDevManagerLib/wxCDMTreeItemId.h
f334a4027cdbb18c855bbec28b07729e293ad405
[crea.git] / lib / creaDevManagerLib / wxCDMTreeItemId.h
1 /*
2 # ---------------------------------------------------------------------
3 #
4 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
5 #                        pour la Sante)
6 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
7 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
8 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
9 #
10 #  This software is governed by the CeCILL-B license under French law and
11 #  abiding by the rules of distribution of free software. You can  use,
12 #  modify and/ or redistribute the software under the terms of the CeCILL-B
13 #  license as circulated by CEA, CNRS and INRIA at the following URL
14 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
15 #  or in the file LICENSE.txt.
16 #
17 #  As a counterpart to the access to the source code and  rights to copy,
18 #  modify and redistribute granted by the license, users are provided only
19 #  with a limited warranty  and the software's author,  the holder of the
20 #  economic rights,  and the successive licensors  have only  limited
21 #  liability.
22 #
23 #  The fact that you are presently reading this means that you have had
24 #  knowledge of the CeCILL-B license and that you accept its terms.
25 # ------------------------------------------------------------------------
26 */
27
28
29 /*
30  * wxCDMTreeItemId.h
31  *
32  *  Created on: 29/1/2013
33  *      Author: Daniel Felipe Gonzalez Obando
34  */
35
36 #ifndef _WXCDMTREEITEMID_H_
37 #define _WXCSMTREEITEMID_H_
38
39
40 #include <creaWx.h>
41 #include <wx/treectrl.h>
42 #include <wx/treebase.h>
43 #include <iostream>
44
45 /**
46  * Class Name: wxCDMTreeItemId
47  * Class Id manager for the project tree control.
48  */
49 class wxCDMTreeItemId
50 {
51
52 //---------------------------------------------
53 //Methods and attributes exposed to other classes
54 //---------------------------------------------
55 public :
56   /**
57    * Default Constructor
58    */
59   wxCDMTreeItemId();
60   /**
61    * Constructor
62    * @param id Original TreeItem Id.
63    */
64   wxCDMTreeItemId(const wxTreeItemId& id);
65   /**
66    * Destructor
67    */
68   ~wxCDMTreeItemId();
69
70   /**
71    * Retrieves the id from the wxTreeItemId object
72    * @return id name
73    */
74   const wxTreeItemId& GetWxId() const;
75   /**
76    * Retrieves the private id of the tree item.
77    * @return id value
78    */
79   const wxTreeItemIdValue& GetId() const;
80
81   /**
82    * Operator ==
83    * @id comparing tree item id
84    * @return true if the id value is the same.
85    */
86   bool operator == (const wxCDMTreeItemId& id) const;
87   /**
88    * Operator !=
89    * @id comparing tree item id
90    * @return true if the id value is not the same.
91    */
92   bool operator != (const wxCDMTreeItemId& id) const;
93   /**
94    * Operator <
95    * @id comparing tree item id
96    * @return true if the id value is less than the one in the given id.
97    */
98   bool operator < (const wxCDMTreeItemId& id) const;
99   /**
100    * operator << allows to manage output stream printing of the object.
101    * @param stream Target stream.
102    * @param id Tree item id to print.
103    * @return Stream modified.
104    */
105   friend std::ostream& operator << (std::ostream& stream, const wxCDMTreeItemId& id);
106
107 //---------------------------------------------
108 //Methods and attributes exposed only to classes
109 //that are derived from this class
110 //---------------------------------------------
111 protected:
112   /**
113    * Real tree item
114    */
115   wxTreeItemId _idWx;
116   /**
117    * Tree item value
118    */
119   wxTreeItemIdValue _id;
120 //---------------------------------------------
121 //Methods and attributes only visible by this class
122 //---------------------------------------------
123 private:
124
125 };
126
127 //-end of _WXCDMTREEITEMID_H_------------------------------------------------------
128 #endif