2 # ---------------------------------------------------------------------
4 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
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
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.
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
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 # ------------------------------------------------------------------------
30 * wxCreaDevManagerTreeCtrl.h
32 * Created on: 19/10/2012
33 * Author: Daniel Felipe Gonzalez Obando
36 #ifndef WXCDMPROJECTSTREECTRL_H_
37 #define WXCDMPROJECTSTREECTRL_H_
40 #include <wx/treectrl.h>
41 #include "modelCDMProject.h"
42 #include "modelCDMIProjectTreeNode.h"
48 * Project Tree Control. Shows a project's content in a hierarchy tree control.
50 class wxCDMProjectsTreeCtrl: public wxTreeCtrl
54 * Project Tree Control Constructor.
55 * @param parent Parent window reference.
56 * @param id Control ID, by default wxID_ANY.
57 * @param pos Control position. By default wxDefaultPosition.
58 * @param size Control size. By default wxDefaultSize.
59 * @param style Control style. By default wxTR_DEFAULT_STYLE.
60 * @param validator Validator. By default wxDefaultValidator.
61 * @param name Control Name. By default "Projects tree".
63 wxCDMProjectsTreeCtrl(
65 wxWindowID id=wxID_ANY,
66 const wxPoint &pos=wxDefaultPosition,
67 const wxSize &size=wxDefaultSize,
68 long style=wxTR_DEFAULT_STYLE,
69 const wxValidator &validator=wxDefaultValidator,
70 const wxString &name=_("Projects tree")
75 ~wxCDMProjectsTreeCtrl();
77 * Project Tree Control Creator.
78 * @param parent Parent window reference.
79 * @param id Control ID, by default wxID_ANY.
80 * @param pos Control position. By default wxDefaultPosition.
81 * @param size Control size. By default wxDefaultSize.
82 * @param style Control style. By default wxTR_DEFAULT_STYLE.
83 * @param validator Validator. By default wxDefaultValidator.
84 * @param name Control Name. By default "Projects tree".
85 * @return True if the creation was successful.
89 wxWindowID id=wxID_ANY,
90 const wxPoint &pos=wxDefaultPosition,
91 const wxSize &size=wxDefaultSize,
92 long style=wxTR_DEFAULT_STYLE,
93 const wxValidator &validator=wxDefaultValidator,
94 const wxString &name=_("Projects tree")
98 * Builds the tree hierarchy with the given model elements.
100 void BuildTree(std::map< wxCDMTreeItemId, modelCDMIProjectTreeNode* >& modelElements, modelCDMProject* tree = NULL);
162 * Builds the tree with the hierarchy given and fills the modelElements map.
163 * @param tree Root node of the tree.
164 * @param modelElements Id->node map.
165 * @param parent ID of the root node ID.
167 void BuildTree(const std::vector<modelCDMIProjectTreeNode*>& tree, std::map< wxCDMTreeItemId, modelCDMIProjectTreeNode* >& modelElements, const wxCDMTreeItemId& parent);
169 * Retrieves the icon ID of the given node by its type.
170 * @param node Node to search its icon.
173 int GetIconId(modelCDMIProjectTreeNode* node);
176 #endif /* WXCDMPROJECTSTREECTRL_H_ */