[med-svn] [crea] 01/05: Imported Upstream version 0.0.20131107

Andreas Tille tille at debian.org
Tue Jan 28 18:41:58 UTC 2014


This is an automated email from the git hooks/post-receive script.

tille pushed a commit to branch master
in repository crea.

commit 5b0c0ada480c1f40dd9b45cc7bfd9233e391392d
Author: Andreas Tille <tille at debian.org>
Date:   Tue Jan 28 19:36:45 2014 +0100

    Imported Upstream version 0.0.20131107
---
 .cvsignore                                         |    3 +
 AdditionalUsecrea.cmake.in                         |   24 +
 AdditionalcreaConfig.cmake.in                      |   25 +
 CMakeLists.txt                                     |   29 +
 CTestConfig.cmake                                  |   25 +
 README.txt                                         |   27 +-
 Version.cmake                                      |   31 +-
 appli/CMakeLists.txt                               |   26 +-
 appli/creaDevManager/CMakeLists.txt                |   73 +
 appli/creaDevManager/about.html                    |   31 +
 appli/creaDevManager/creaDevManager.cpp            |   66 +
 appli/creaDevManager/creaDevManager.h              |   73 +
 appli/creaDevManager/icon.ico                      |  Bin 0 -> 5694 bytes
 appli/creaDevManager/niceToHave.txt                |    8 +
 appli/creaNewProject/CMakeLists.txt                |   24 +
 appli/creaNewProject/NewProject/CMakeLists.txt.in  |   26 +
 appli/creaNewProject/NewProject/README.txt         |   28 +-
 .../creaNewProject/NewProject/appli/CMakeLists.txt |   26 +
 .../NewProject/appli/myFierceAppli/CMakeLists.txt  |   26 +
 .../NewProject/appli/myFierceAppli/main.cxx        |   28 +
 .../NewProject/appli/template_appli/CMakeLists.txt |   26 +
 .../NewProject/appli/template_appli/main.cxx       |   28 +
 .../appli/template_wx_appli/CMakeLists.txt         |   26 +
 .../NewProject/appli/template_wx_appli/winApp.cpp  |   27 +
 .../bbtk_mySamplePackage_PKG/CMakeLists.txt        |   32 +-
 .../bbtk_mySamplePackage_PKG/Configure.cmake       |   26 +
 .../PackageConfig.cmake.in                         |   26 +
 .../NewProject/bbtk_mySamplePackage_PKG/README.txt |   27 +
 .../bbtk_mySamplePackage_PKG/UsePackage.cmake.in   |   26 +
 .../bbtk_mySamplePackage_PKG/bbs/CMakeLists.txt    |   25 +
 .../bbtk_mySamplePackage_PKG/bbs/appli/README.txt  |   27 +
 .../bbs/appli/Sample_Box1.bbg                      |   26 +
 .../bbs/appli/Sample_Box1.bbs                      |   26 +
 .../bbs/appli/Sample_BoxVtkPipeline.bbg            |   27 +
 .../bbs/appli/Sample_BoxVtkPipeline.bbs            |   25 +
 .../bbtk_mySamplePackage_PKG/bbs/boxes/README.txt  |   27 +
 .../bbtk_mySamplePackage_PKG/data/CMakeLists.txt   |   26 +
 .../bbtk_mySamplePackage_PKG/doc/CMakeLists.txt    |   26 +
 .../doc/bbdoc/CMakeLists.txt                       |   26 +
 .../doc/doxygen/CMakeLists.txt                     |   26 +
 .../bbtk_mySamplePackage_PKG/src/CMakeLists.txt    |   26 +
 .../src/bbmySamplePackagemySampleBox1.cxx          |   27 +
 .../src/bbmySamplePackagemySampleBox1.h            |   27 +
 .../src/bbmySamplePackagemySampleBoxWithITK.cxx    |   27 +
 .../src/bbmySamplePackagemySampleBoxWithITK.h      |   27 +
 .../src/bbmySamplePackagemySampleBoxWithVTK.cxx    |   28 +
 .../src/bbmySamplePackagemySampleBoxWithVTK.h      |   25 +
 .../NewProject/cmake/UserBuildAllOption.cmake      |   26 +
 .../NewProject/cmake/UserBuildDoxygenDoc.cmake     |   25 +
 .../cmake/UserBuildHtmlDocFromLatex.cmake          |   23 +
 .../NewProject/cmake/UserBuildLatexDoc.cmake       |   25 +
 .../NewProject/cmake/UserConfig.cmake              |   25 +
 .../NewProject/cmake/UserDefineOptions.cmake       |   27 +
 .../NewProject/cmake/UserMacros.cmake              |   26 +
 .../NewProject/cmake/UserRootCMakeLists.cmake      |   26 +
 .../NewProject/cmake/UserSetDeducedPaths.cmake     |   27 +
 .../creaNewProject/NewProject/data/CMakeLists.txt  |   26 +
 appli/creaNewProject/NewProject/data/README.txt    |   27 +
 appli/creaNewProject/NewProject/doc/CMakeLists.txt |   26 +
 appli/creaNewProject/NewProject/doc/README.txt     |   28 +
 .../NewProject/doc/README_HowToUpload.txt          |   27 +
 .../doc/UserDocumentation/CMakeLists.txt           |   28 +
 .../NewProject/doc/UserDoxygen/CMakeLists.txt      |   26 +
 .../NewProject/doc/UserDoxygen/DoxyMainPage.txt.in |   27 +
 appli/creaNewProject/NewProject/doc/index.html.in  |   26 +
 .../NewProject/doc/template_WebSite/CMakeLists.txt |   27 +
 .../NewProject/install/CMakeLists.txt              |   27 +
 appli/creaNewProject/NewProject/lib/CMakeLists.txt |   24 +
 .../NewProject/lib/mySampleLib/CMakeLists.txt      |   25 +
 .../NewProject/lib/mySampleLib/creaSystem.h        |   26 +
 .../NewProject/lib/mySampleLib/creaSystem.h.in     |   26 +
 .../NewProject/lib/mySampleLib/myFierceClass.cxx   |   27 +
 .../NewProject/lib/mySampleLib/myFierceClass.h     |   27 +
 .../NewProject/lib/mySampleLib/myFierceClass2.cxx  |   27 +
 .../NewProject/lib/mySampleLib/myFierceClass2.h    |   27 +
 .../lib/mySampleLib/myFierceClass3vtkPipeline.cxx  |   27 +-
 .../lib/mySampleLib/myFierceClass3vtkPipeline.h    |   27 +
 .../NewProject/lib/mySampleLib/mySphereSource.xml  |   25 +
 .../NewProject/lib/template_lib/CMakeLists.txt     |   33 +
 .../NewProject/lib/template_lib/creaSystem.h       |   26 +
 .../NewProject/lib/template_lib/creaSystem.h.in    |   25 +
 appli/creaNewProject/creaNewProject.cpp            |   27 +
 appli/creaSed/CMakeLists.txt                       |   25 +
 appli/creaSed/creaSed.cpp                          |   30 +-
 appli/creatis_AppGeneralPath.bat                   |    1 +
 cmake/CMakeLists.txt                               |   26 +
 cmake/CREACMakeSettings.cmake                      |   26 +
 cmake/CREAMacro_AddExecutable.cmake                |   26 +
 cmake/CREAMacro_AddLibrary.cmake                   |   26 +
 cmake/CREAMacro_Define.cmake                       |   25 +
 cmake/CREAMacro_DynamicLibraryExport.cmake         |   26 +
 cmake/CREAMacro_FindAndUseLibraries.cmake          |   51 +-
 cmake/CREAMacro_FindAndUseQt.cmake                 |   25 +
 cmake/CREAMacro_FindAndUseVTK.cmake                |   29 +
 cmake/CREAMacro_FindAndUseWxWidgets.cmake          |   26 +
 cmake/CREAMacro_InstallLibraryForCMake.cmake       |   29 +-
 cmake/CREAMacro_ManageSharedLibrary.cmake          |   26 +
 cmake/CREAMacro_PreventInSourceBuild.cmake         |   26 +
 cmake/CREAMacro_mkdir.cmake                        |   25 +
 cmake/CREAMacros.cmake                             |   26 +
 cmake/CREAResolveOptions.cmake                     |   26 +
 cmake/FindWxWidgetsWin32.cmake                     |   23 +-
 cmake/InstallLibraryForCMake_FindLibrary.cmake.in  |   26 +
 .../InstallLibraryForCMake_LibraryConfig.cmake.in  |   26 +
 cmake/InstallLibraryForCMake_UseLibrary.cmake.in   |   26 +
 cmake/LIBRARY_NAMEDLLImportExport.h.in             |   27 +
 cmake/LIBRARY_NAME_EXPORT.h.in                     |   28 +
 data/CMakeLists.txt                                |   42 +
 data/projectMap.png                                |  Bin 0 -> 181690 bytes
 install/CMakeLists.txt                             |   49 +-
 .../NewProject/lib => lib}/CMakeLists.txt          |    2 +-
 lib/creaDevManagerLib/CDMUtilities.cpp             |  521 +++++++
 lib/creaDevManagerLib/CDMUtilities.h               |  269 ++++
 .../creaDevManagerLib}/CMakeLists.txt              |   44 +-
 lib/creaDevManagerLib/creaDevManagerIds.h          |  133 ++
 lib/creaDevManagerLib/creaSystem.h                 |   53 +
 lib/creaDevManagerLib/creaSystem.h.in              |   54 +
 lib/creaDevManagerLib/images/AIcon20.xpm           |  138 ++
 lib/creaDevManagerLib/images/AIcon64.xpm           |  295 ++++
 lib/creaDevManagerLib/images/ApIcon20.xpm          |  159 +++
 lib/creaDevManagerLib/images/ApIcon64.xpm          |  314 +++++
 lib/creaDevManagerLib/images/BBGIcon20.xcf         |  Bin 0 -> 1758 bytes
 lib/creaDevManagerLib/images/BBGIcon20.xpm         |  148 ++
 lib/creaDevManagerLib/images/BBGIcon64.xpm         |  279 ++++
 lib/creaDevManagerLib/images/BBIcon20.xpm          |  158 +++
 lib/creaDevManagerLib/images/BBIcon64.xpm          |  271 ++++
 lib/creaDevManagerLib/images/BBSIcon20.xpm         |  154 +++
 lib/creaDevManagerLib/images/BBSIcon64.xpm         |  284 ++++
 lib/creaDevManagerLib/images/CFIcon20.xpm          |  134 ++
 lib/creaDevManagerLib/images/CFIcon64.xpm          |  290 ++++
 lib/creaDevManagerLib/images/CIcon20.xpm           |  138 ++
 lib/creaDevManagerLib/images/CIcon64.xpm           |  297 ++++
 lib/creaDevManagerLib/images/CMIcon20.xpm          |  157 +++
 lib/creaDevManagerLib/images/CMIcon64.xpm          |  305 +++++
 lib/creaDevManagerLib/images/FdIcon20.xpm          |  150 ++
 lib/creaDevManagerLib/images/FdIcon64.xpm          |  274 ++++
 lib/creaDevManagerLib/images/FlIcon20.xpm          |  141 ++
 lib/creaDevManagerLib/images/FlIcon64.xpm          |  247 ++++
 lib/creaDevManagerLib/images/LIcon20.xpm           |  111 ++
 lib/creaDevManagerLib/images/LIcon64.xpm           |  233 ++++
 lib/creaDevManagerLib/images/LbIcon20.xpm          |  151 ++
 lib/creaDevManagerLib/images/LbIcon64.xpm          |  274 ++++
 lib/creaDevManagerLib/images/PkIcon20.xpm          |  156 +++
 lib/creaDevManagerLib/images/PkIcon64.xpm          |  284 ++++
 lib/creaDevManagerLib/images/PrIcon20.xpm          |  148 ++
 lib/creaDevManagerLib/images/PrIcon64.xpm          |  276 ++++
 lib/creaDevManagerLib/images/TemplateIcon.xcf      |  Bin 0 -> 7918 bytes
 lib/creaDevManagerLib/modelCDMAppli.cpp            |  614 +++++++++
 lib/creaDevManagerLib/modelCDMAppli.h              |  121 ++
 lib/creaDevManagerLib/modelCDMApplication.cpp      | 1035 ++++++++++++++
 lib/creaDevManagerLib/modelCDMApplication.h        |  148 ++
 lib/creaDevManagerLib/modelCDMBBGFile.cpp          |  107 ++
 lib/creaDevManagerLib/modelCDMBBGFile.h            |   86 ++
 lib/creaDevManagerLib/modelCDMBBSFile.cpp          |  107 ++
 lib/creaDevManagerLib/modelCDMBBSFile.h            |   86 ++
 lib/creaDevManagerLib/modelCDMBlackBox.cpp         |  397 ++++++
 lib/creaDevManagerLib/modelCDMBlackBox.h           |  185 +++
 lib/creaDevManagerLib/modelCDMCMakeListsFile.cpp   |   94 ++
 lib/creaDevManagerLib/modelCDMCMakeListsFile.h     |   77 ++
 lib/creaDevManagerLib/modelCDMCodeFile.cpp         |   94 ++
 lib/creaDevManagerLib/modelCDMCodeFile.h           |   77 ++
 lib/creaDevManagerLib/modelCDMFile.cpp             |  105 ++
 lib/creaDevManagerLib/modelCDMFile.h               |   87 ++
 lib/creaDevManagerLib/modelCDMFolder.cpp           |  359 +++++
 lib/creaDevManagerLib/modelCDMFolder.h             |  130 ++
 lib/creaDevManagerLib/modelCDMIProjectTreeNode.cpp |  172 +++
 lib/creaDevManagerLib/modelCDMIProjectTreeNode.h   |  171 +++
 lib/creaDevManagerLib/modelCDMLib.cpp              |  539 ++++++++
 lib/creaDevManagerLib/modelCDMLib.h                |  120 ++
 lib/creaDevManagerLib/modelCDMLibrary.cpp          |  917 +++++++++++++
 lib/creaDevManagerLib/modelCDMLibrary.h            |  136 ++
 lib/creaDevManagerLib/modelCDMMain.cpp             |  338 +++++
 lib/creaDevManagerLib/modelCDMMain.h               |  130 ++
 lib/creaDevManagerLib/modelCDMPackage.cpp          | 1190 ++++++++++++++++
 lib/creaDevManagerLib/modelCDMPackage.h            |  216 +++
 lib/creaDevManagerLib/modelCDMPackageSrc.cpp       |  448 ++++++
 lib/creaDevManagerLib/modelCDMPackageSrc.h         |  113 ++
 lib/creaDevManagerLib/modelCDMProject.cpp          | 1445 ++++++++++++++++++++
 lib/creaDevManagerLib/modelCDMProject.h            |  318 +++++
 lib/creaDevManagerLib/modelCDMProjectsTree.cpp     |  215 +++
 lib/creaDevManagerLib/modelCDMProjectsTree.h       |   59 +
 lib/creaDevManagerLib/modelCDMProjectsTreeNode.cpp |   79 ++
 lib/creaDevManagerLib/modelCDMProjectsTreeNode.h   |   67 +
 .../wxCDMAppliDescriptionPanel.cpp                 |  410 ++++++
 lib/creaDevManagerLib/wxCDMAppliDescriptionPanel.h |  155 +++
 lib/creaDevManagerLib/wxCDMAppliHelpDialog.cpp     |  174 +++
 lib/creaDevManagerLib/wxCDMAppliHelpDialog.h       |  138 ++
 .../wxCDMApplicationDescriptionPanel.cpp           |  560 ++++++++
 .../wxCDMApplicationDescriptionPanel.h             |  172 +++
 .../wxCDMApplicationHelpDialog.cpp                 |  263 ++++
 lib/creaDevManagerLib/wxCDMApplicationHelpDialog.h |  139 ++
 .../wxCDMBBGFileDescriptionPanel.cpp               |  190 +++
 .../wxCDMBBGFileDescriptionPanel.h                 |  128 ++
 .../wxCDMBBSFileDescriptionPanel.cpp               |  190 +++
 .../wxCDMBBSFileDescriptionPanel.h                 |  128 ++
 .../wxCDMBlackBoxDescriptionPanel.cpp              |  408 ++++++
 .../wxCDMBlackBoxDescriptionPanel.h                |  171 +++
 lib/creaDevManagerLib/wxCDMBlackBoxHelpDialog.cpp  |  292 ++++
 lib/creaDevManagerLib/wxCDMBlackBoxHelpDialog.h    |  139 ++
 .../wxCDMCMakeListsDescriptionPanel.cpp            |  175 +++
 .../wxCDMCMakeListsDescriptionPanel.h              |  124 ++
 .../wxCDMCodeFileDescriptionPanel.cpp              |  230 ++++
 .../wxCDMCodeFileDescriptionPanel.h                |  128 ++
 .../wxCDMFileDescriptionPanel.cpp                  |  219 +++
 lib/creaDevManagerLib/wxCDMFileDescriptionPanel.h  |  126 ++
 .../wxCDMFolderDescriptionPanel.cpp                |  294 ++++
 .../wxCDMFolderDescriptionPanel.h                  |  142 ++
 lib/creaDevManagerLib/wxCDMLibDescriptionPanel.cpp |  386 ++++++
 lib/creaDevManagerLib/wxCDMLibDescriptionPanel.h   |  158 +++
 lib/creaDevManagerLib/wxCDMLibHelpDialog.cpp       |  173 +++
 lib/creaDevManagerLib/wxCDMLibHelpDialog.h         |  138 ++
 .../wxCDMLibraryDescriptionPanel.cpp               |  501 +++++++
 .../wxCDMLibraryDescriptionPanel.h                 |  167 +++
 lib/creaDevManagerLib/wxCDMLibraryHelpDialog.cpp   |  263 ++++
 lib/creaDevManagerLib/wxCDMLibraryHelpDialog.h     |  140 ++
 .../wxCDMMainDescriptionPanel.cpp                  |  144 ++
 lib/creaDevManagerLib/wxCDMMainDescriptionPanel.h  |  106 ++
 lib/creaDevManagerLib/wxCDMMainFrame.cpp           | 1259 +++++++++++++++++
 lib/creaDevManagerLib/wxCDMMainFrame.h             |  329 +++++
 lib/creaDevManagerLib/wxCDMMainHelpDialog.cpp      |  150 ++
 lib/creaDevManagerLib/wxCDMMainHelpDialog.h        |  132 ++
 lib/creaDevManagerLib/wxCDMNewBlackBoxDialog.cpp   |  249 ++++
 lib/creaDevManagerLib/wxCDMNewBlackBoxDialog.h     |  176 +++
 lib/creaDevManagerLib/wxCDMNewPackageDialog.cpp    |  167 +++
 lib/creaDevManagerLib/wxCDMNewPackageDialog.h      |  147 ++
 lib/creaDevManagerLib/wxCDMNewProjectDialog.cpp    |  190 +++
 lib/creaDevManagerLib/wxCDMNewProjectDialog.h      |  153 +++
 .../wxCDMPackageConfigurationDialog.cpp            |  239 ++++
 .../wxCDMPackageConfigurationDialog.h              |  127 ++
 .../wxCDMPackageDescriptionPanel.cpp               |  518 +++++++
 .../wxCDMPackageDescriptionPanel.h                 |  179 +++
 lib/creaDevManagerLib/wxCDMPackageHelpDialog.cpp   |  259 ++++
 lib/creaDevManagerLib/wxCDMPackageHelpDialog.h     |  139 ++
 .../wxCDMPackageManagerHelpDialog.cpp              |  187 +++
 .../wxCDMPackageManagerHelpDialog.h                |  143 ++
 lib/creaDevManagerLib/wxCDMPackageManagerPanel.cpp |  377 +++++
 lib/creaDevManagerLib/wxCDMPackageManagerPanel.h   |  160 +++
 lib/creaDevManagerLib/wxCDMProjectActionsPanel.cpp |  212 +++
 lib/creaDevManagerLib/wxCDMProjectActionsPanel.h   |  122 ++
 .../wxCDMProjectConfigurationDialog.cpp            |  170 +++
 .../wxCDMProjectConfigurationDialog.h              |  122 ++
 .../wxCDMProjectDescriptionPanel.cpp               |  457 +++++++
 .../wxCDMProjectDescriptionPanel.h                 |  190 +++
 lib/creaDevManagerLib/wxCDMProjectHelpDialog.cpp   |  131 ++
 lib/creaDevManagerLib/wxCDMProjectHelpDialog.h     |  121 ++
 lib/creaDevManagerLib/wxCDMProjectMapDialog.cpp    |  140 ++
 lib/creaDevManagerLib/wxCDMProjectMapDialog.h      |  113 ++
 .../wxCDMProjectStructureReportDialog.cpp          |  558 ++++++++
 .../wxCDMProjectStructureReportDialog.h            |  120 ++
 lib/creaDevManagerLib/wxCDMProjectsTreeCtrl.cxx    |  268 ++++
 lib/creaDevManagerLib/wxCDMProjectsTreeCtrl.h      |  176 +++
 lib/creaDevManagerLib/wxCDMSettingsDialog.cpp      |  182 +++
 lib/creaDevManagerLib/wxCDMSettingsDialog.h        |  152 ++
 lib/creaDevManagerLib/wxCDMTreeItemId.cpp          |   79 ++
 lib/creaDevManagerLib/wxCDMTreeItemId.h            |  128 ++
 .../lib => lib}/template_lib/CMakeLists.txt        |    0
 .../mySampleLib => lib/template_lib}/creaSystem.h  |    0
 .../template_lib}/creaSystem.h.in                  |    0
 samples/CMakeLists.txt                             |   25 +
 samples/creaSample_MessageManager/CMakeLists.txt   |   26 +
 samples/creaSample_MessageManager/main.cxx         |   27 +
 samples/creaSample_VtkBasicSlicer/CMakeLists.txt   |   25 +
 samples/creaSample_VtkBasicSlicer/main.cxx         |   27 +
 samples/creaSample_preprocessor/CMakeLists.txt     |   26 +
 samples/creaSample_preprocessor/main.cxx           |   27 +
 src/CMakeLists.txt                                 |   24 +
 src/creaConfigure.h.in                             |   33 +-
 src/creaException.h                                |   36 +-
 src/creaFilesFromDirectory.cxx                     |   36 +-
 src/creaFilesFromDirectory.h                       |   27 +
 src/creaMessageManager.cxx                         |   37 +-
 src/creaMessageManager.h                           |   27 +
 src/creaRTTI.cxx                                   |   30 +-
 src/creaRTTI.h                                     |   41 +-
 src/creaSystem.cxx                                 |   29 +-
 src/creaSystem.h                                   |   40 +-
 src/creaVtk.cpp                                    |   28 +
 src/creaVtk.h                                      |   28 +
 src/creaVtk.txx                                    |   29 +
 src/creaVtkBasicSlicer.cxx                         |   27 +
 src/creaVtkBasicSlicer.h                           |   27 +
 src/creaWx.h                                       |   27 +
 src/creawxVTKRenderWindowInteractor.cxx            |   39 +-
 src/creawxVTKRenderWindowInteractor.h              |   41 +-
 284 files changed, 37288 insertions(+), 105 deletions(-)

diff --git a/.cvsignore b/.cvsignore
new file mode 100644
index 0000000..ea72388
--- /dev/null
+++ b/.cvsignore
@@ -0,0 +1,3 @@
+.cproject
+.project
+.settings
diff --git a/AdditionalUsecrea.cmake.in b/AdditionalUsecrea.cmake.in
index e7ac676..ab41263 100644
--- a/AdditionalUsecrea.cmake.in
+++ b/AdditionalUsecrea.cmake.in
@@ -1,3 +1,27 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */  
 
 INCLUDE(${CREA_CMAKE_DIR}/CREACMakeSettings.cmake)
 INCLUDE(${CREA_CMAKE_DIR}/CREAMacros.cmake)
diff --git a/AdditionalcreaConfig.cmake.in b/AdditionalcreaConfig.cmake.in
index 9eca138..0795195 100644
--- a/AdditionalcreaConfig.cmake.in
+++ b/AdditionalcreaConfig.cmake.in
@@ -1,3 +1,28 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */  
+
 #-----------------------------------------------------------------------------
 ADD_DEFINITIONS(-DCREA_BUILD_SHARED)
 SET(CREA_BUILT_WITH_WX @CREA_BUILT_WITH_WX@)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 18c71df..53f87ec 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */                                                                         
+
+
 # ---------------------------------
 #
 # Unless you are an experimented cmake user,
@@ -73,9 +99,12 @@ INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR}/src)
 INCLUDE_DIRECTORIES(/usr/lib/x86_64-linux-gnu/glib-2.0/include/)
 #JCP UBUNTU
 
+
 ADD_SUBDIRECTORY(cmake)
 ADD_SUBDIRECTORY(src)
+ADD_SUBDIRECTORY(data)
 ADD_SUBDIRECTORY(appli)
+ADD_SUBDIRECTORY(lib)
 #-----------------------------------------------------------------------------
 OPTION( BUILD_SAMPLES "Build samples ?" OFF)
 IF(BUILD_SAMPLES)
diff --git a/CTestConfig.cmake b/CTestConfig.cmake
index 132649b..11f1b85 100644
--- a/CTestConfig.cmake
+++ b/CTestConfig.cmake
@@ -1,3 +1,28 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */  
+
 ## This file should be placed in the root directory of your project.
 ## Then modify the CMakeLists.txt file in the root directory of your
 ## project to incorporate the testing dashboard.
diff --git a/README.txt b/README.txt
index 69551c5..49d1130 100644
--- a/README.txt
+++ b/README.txt
@@ -1,2 +1,27 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */  
 crea
-(c) CREATIS-LRMN 2008
\ No newline at end of file
+Version 1.0.0
+(c) CREATIS 2012
\ No newline at end of file
diff --git a/Version.cmake b/Version.cmake
index 249d8e7..abc8e56 100644
--- a/Version.cmake
+++ b/Version.cmake
@@ -1,3 +1,28 @@
-SET(crea_MAJOR_VERSION 0)
-SET(crea_MINOR_VERSION 3)
-SET(crea_BUILD_VERSION 4)
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */  
+
+SET(crea_MAJOR_VERSION 1)
+SET(crea_MINOR_VERSION 1)
+SET(crea_BUILD_VERSION 0)
diff --git a/appli/CMakeLists.txt b/appli/CMakeLists.txt
index 8257392..ffe8db3 100644
--- a/appli/CMakeLists.txt
+++ b/appli/CMakeLists.txt
@@ -1,7 +1,31 @@
-
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
 
 IF(CREA_BUILD_WX)
   ADD_SUBDIRECTORY(creaNewProject)
+  ADD_SUBDIRECTORY(creaDevManager)
 ENDIF(CREA_BUILD_WX)
 
 IF(WIN32)
diff --git a/appli/creaDevManager/CMakeLists.txt b/appli/creaDevManager/CMakeLists.txt
new file mode 100644
index 0000000..bec75cd
--- /dev/null
+++ b/appli/creaDevManager/CMakeLists.txt
@@ -0,0 +1,73 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
+#============================================================================
+# Builds and install the executable creaDevManager
+
+#============================================================================
+# Appli name
+SET(EXE_NAME creaDevManager)
+
+#============================================================================
+# Sources
+SET(${EXE_NAME}_SOURCES creaDevManager.cpp)
+
+#============================================================================
+# Settings
+SET(${EXE_NAME}_HAS_GUI TRUE)
+SET(${EXE_NAME}_CONSOLE FALSE)
+
+#-Libraries------------------------------------------------------------------
+
+INCLUDE_DIRECTORIES (
+
+# USER! : Add here the directories holding th extra .h files you need
+# e.g.
+# ../../lib/<my_library_I_just_created>
+../../lib/creaDevManagerLib
+)
+
+#-Dependencies---------------------------------------------------------------
+
+# DEPENDENCIES (LIBRARIES TO LINK WITH)
+SET ( ${EXE_NAME}_LINK_LIBRARIES
+    ${crea_LIBRARIES}
+    ${WXWIDGETS_LIBRARIES}
+  #    ${KWWidgets_LIBRARIES}
+  #    ${VTK_LIBRARIES}
+  #    ${ITK_LIBRARIES}
+  #    ${GDCM_LIBRARIES}
+  #    ${BOOST_LIBRARIES}
+  
+  # USER! : Add here those agmonst the various (?) PROJECT LIBRARIES
+  # you need for the current executable
+  # (If you created only one Library, don't forget it !...) 
+  creaDevManagerLib
+)
+
+#-Creates and installs the exe-----------------------------------------------
+CREA_ADD_EXECUTABLE( ${EXE_NAME} )
+#============================================================================
diff --git a/appli/creaDevManager/about.html b/appli/creaDevManager/about.html
new file mode 100644
index 0000000..19d43e6
--- /dev/null
+++ b/appli/creaDevManager/about.html
@@ -0,0 +1,31 @@
+<html>
+<body bgcolor="#3333CC">
+<table cellspacing=3 cellpadding=4 width="100%">
+  <tr>
+    <td bgcolor="#3333CC">
+    <center>
+    <font size=+2 color="#FFFFFF"><b>CREA Development Manager</b>
+    </font>
+    </center>
+    </td>
+  </tr>
+  <tr>
+    <td bgcolor="#FFFFFF">
+    <p><b><font size=+1>Creatis 2012 - Lyon, France</font></b></p>
+    <font size=-1>
+      <table cellpadding=0 cellspacing=0 width="100%">
+        <tr>
+          <td width="65%">
+            <p>Created by Daniel González - daniel.gonzalez at creatis.insa-lyon.fr</p>
+          </td>
+        </tr>
+      </table>
+      <font size=1>
+        <p>This software is governed by the CeCILL-B license under French law and abiding by the rules of distribution of free software.</p>
+      </font>
+    </font>
+    </td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/appli/creaDevManager/creaDevManager.cpp b/appli/creaDevManager/creaDevManager.cpp
new file mode 100644
index 0000000..a57d7b2
--- /dev/null
+++ b/appli/creaDevManager/creaDevManager.cpp
@@ -0,0 +1,66 @@
+/*
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
+#                        pour la Sant�)
+# # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+#
+#  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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+#include <creaWx.h>
+#include <wx/tooltip.h>
+#include <wx/config.h>
+#include <stdlib.h>
+#include <iostream> // for std::cout
+#include "creaDevManager.h"
+
+IMPLEMENT_APP(wxCreaDevManagerApp)
+CREA_WXMAIN_WITH_CONSOLE
+
+wxCreaDevManagerApp::wxCreaDevManagerApp():wxApp()
+{
+  mainWindow = NULL;
+}
+
+bool wxCreaDevManagerApp::OnInit()
+{
+  wxApp::OnInit();
+  this->SetVendorName(wxT("Creatis"));
+  this->SetAppName(wxT("creaDevManager"));
+
+  wxConfigBase *pConfig = wxConfigBase::Get();
+
+  mainWindow = new wxCDMMainFrame(NULL);
+  SetTopWindow(mainWindow);
+  mainWindow->SetSize(850, 700);
+  wxToolTip::SetDelay(700);
+  mainWindow->Show(true);
+  std::cout << "Crea DevManager opened." << std::endl;
+  
+  return true;
+}
+
+int wxCreaDevManagerApp::OnExit()
+{
+  delete wxConfigBase::Set((wxConfigBase *) NULL);
+  wxApp::OnExit();
+  std::cout << "Crea DevManager closed." << std::endl;
+  return 0;
+}
diff --git a/appli/creaDevManager/creaDevManager.h b/appli/creaDevManager/creaDevManager.h
new file mode 100644
index 0000000..eaafbee
--- /dev/null
+++ b/appli/creaDevManager/creaDevManager.h
@@ -0,0 +1,73 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * creaDevManager.h
+ *
+ *  Created on: 19/10/2012
+ *      Author: daniel
+ */
+
+#ifndef CREADEVMANAGER_H_
+#define CREADEVMANAGER_H_
+
+#include "wxCDMMainFrame.h"
+
+/**
+ * Crea Development Manager
+ * Developed by Daniel Felipe González Obando for CREATIS.
+ * This software aims to help the creaTools developer on the process of building projects.
+ * It allows to work with existing projects as well as it allows to create a project from zero.
+ * It brings the user help on each step of the development, as well as it always shows the structure of a project.
+ * It can check the compilation structure to help the developer to compile faster.
+ */
+class wxCreaDevManagerApp:public wxApp
+{
+public:
+  /**
+   * Default constructor.
+   */
+  wxCreaDevManagerApp();
+
+  /**
+   * Executed when the application starts, this method initializes the application creating a main frame and showing it to the user.
+   */
+  virtual bool OnInit();
+
+  /**
+   * Executed when the application is closing, this method destroys the frames created and shuts the program down.
+   */
+  virtual int OnExit();
+
+private:
+  wxCDMMainFrame* mainWindow;
+
+};
+DECLARE_APP(wxCreaDevManagerApp)
+
+#endif /* CREADEVMANAGER_H_ */
diff --git a/appli/creaDevManager/icon.ico b/appli/creaDevManager/icon.ico
new file mode 100644
index 0000000..3d29eb1
Binary files /dev/null and b/appli/creaDevManager/icon.ico differ
diff --git a/appli/creaDevManager/niceToHave.txt b/appli/creaDevManager/niceToHave.txt
new file mode 100644
index 0000000..7523295
--- /dev/null
+++ b/appli/creaDevManager/niceToHave.txt
@@ -0,0 +1,8 @@
+Crea Development Manager
+Nice to Have Features
+
+- Handle BBS files
+  - open in text editor
+  - execute with bbi
+- Handle BBG files
+  - open in BBEditor
diff --git a/appli/creaNewProject/CMakeLists.txt b/appli/creaNewProject/CMakeLists.txt
index 3e54024..6a98816 100644
--- a/appli/creaNewProject/CMakeLists.txt
+++ b/appli/creaNewProject/CMakeLists.txt
@@ -1,3 +1,27 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
 
 #============================================================================
 # Builds and install the executable creaNewProject
diff --git a/appli/creaNewProject/NewProject/CMakeLists.txt.in b/appli/creaNewProject/NewProject/CMakeLists.txt.in
index 3334d63..5fd59cc 100644
--- a/appli/creaNewProject/NewProject/CMakeLists.txt.in
+++ b/appli/creaNewProject/NewProject/CMakeLists.txt.in
@@ -1,3 +1,29 @@
+
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------  
+
 # ---------------------------------
 #
 # Unless you are an experimented cmake user,
diff --git a/appli/creaNewProject/NewProject/README.txt b/appli/creaNewProject/NewProject/README.txt
index 48b5928..0165427 100644
--- a/appli/creaNewProject/NewProject/README.txt
+++ b/appli/creaNewProject/NewProject/README.txt
@@ -1,6 +1,32 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 USER! Put here your module name.
 <your Module>
-(c) CREATIS 2009
+(c) CREATIS 2012
 
 lib will contains as many directories as you need
 ---
diff --git a/appli/creaNewProject/NewProject/appli/CMakeLists.txt b/appli/creaNewProject/NewProject/appli/CMakeLists.txt
index 8e41883..8f6fdf4 100644
--- a/appli/creaNewProject/NewProject/appli/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/appli/CMakeLists.txt
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 # USER! : Add a ADD_SUBDIRECTORY command for each one of your applications
 # ADD_SUBDIRECTORY(MyApp1)
 # ADD_SUBDIRECTORY(MyApp2)
diff --git a/appli/creaNewProject/NewProject/appli/myFierceAppli/CMakeLists.txt b/appli/creaNewProject/NewProject/appli/myFierceAppli/CMakeLists.txt
index d7e96c4..1bfe8b2 100644
--- a/appli/creaNewProject/NewProject/appli/myFierceAppli/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/appli/myFierceAppli/CMakeLists.txt
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 #----------------------------------------------------------------------------
 # USER! : SET THE NAME OF YOUR EXECUTABLE
 # Replace 'MyExe' by the name you want to give your executable.
diff --git a/appli/creaNewProject/NewProject/appli/myFierceAppli/main.cxx b/appli/creaNewProject/NewProject/appli/myFierceAppli/main.cxx
index 21a604e..a572153 100644
--- a/appli/creaNewProject/NewProject/appli/myFierceAppli/main.cxx
+++ b/appli/creaNewProject/NewProject/appli/myFierceAppli/main.cxx
@@ -1,3 +1,31 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
 #include <stdio.h>
 #include "myFierceClass.h"
 #include "myFierceClass2.h"
diff --git a/appli/creaNewProject/NewProject/appli/template_appli/CMakeLists.txt b/appli/creaNewProject/NewProject/appli/template_appli/CMakeLists.txt
index b407745..fd641ff 100644
--- a/appli/creaNewProject/NewProject/appli/template_appli/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/appli/template_appli/CMakeLists.txt
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 #----------------------------------------------------------------------------
 # USER! : SET THE NAME OF YOUR EXECUTABLE
 # Replace 'MyExe' by the name you want to give your executable.
diff --git a/appli/creaNewProject/NewProject/appli/template_appli/main.cxx b/appli/creaNewProject/NewProject/appli/template_appli/main.cxx
index 8525c7f..4ef5cd3 100644
--- a/appli/creaNewProject/NewProject/appli/template_appli/main.cxx
+++ b/appli/creaNewProject/NewProject/appli/template_appli/main.cxx
@@ -1,3 +1,31 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
 #include <stdio.h>
 
 int main()
diff --git a/appli/creaNewProject/NewProject/appli/template_wx_appli/CMakeLists.txt b/appli/creaNewProject/NewProject/appli/template_wx_appli/CMakeLists.txt
index 1ba62d4..5fc4a36 100644
--- a/appli/creaNewProject/NewProject/appli/template_wx_appli/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/appli/template_wx_appli/CMakeLists.txt
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 #----------------------------------------------------------------------------
 # USER! : SET THE NAME OF YOUR EXECUTABLE
 # Replace 'MyExe' by the name you want to give your executable.
diff --git a/appli/creaNewProject/NewProject/appli/template_wx_appli/winApp.cpp b/appli/creaNewProject/NewProject/appli/template_wx_appli/winApp.cpp
index cb488f4..17670cb 100644
--- a/appli/creaNewProject/NewProject/appli/template_wx_appli/winApp.cpp
+++ b/appli/creaNewProject/NewProject/appli/template_wx_appli/winApp.cpp
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 
 // For compilers that support precompilation, includes "wx/wx.h".
 #include "wx/wxprec.h"
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/CMakeLists.txt b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/CMakeLists.txt
index b490ff3..482d19b 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/CMakeLists.txt
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 
 #===========================================================================
@@ -115,9 +141,9 @@ SET(${BBTK_PACKAGE_NAME}_INCLUDE_DIRS
   #  - automatically handled libraries or packages : wx, vtk... (see above)
   #  - the dirs automatically set by other libraries found by FIND_PACKAGE
 
-  ${BBTK_DIR}/../../../include/bbitk  				// linux installed version
-  ${BBTK_DIR}/../../creatools_source/bbtk/packages/itk/src       // linux creatools_bin version
-  ${BBTK_DIR}/include/bbitk           				// windows creatools_install version
+  ${BBTK_DIR}/../../../include/bbitk  				## linux installed version
+  ${BBTK_DIR}/../../creatools_source/bbtk/packages/itk/src      ## linux creatools_bin version
+  ${BBTK_DIR}/include/bbitk           				## windows creatools_install version
   
 
   ../lib/mySampleLib
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/Configure.cmake b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/Configure.cmake
index dc44b3b..6160463 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/Configure.cmake
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/Configure.cmake
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 #===========================================================================
 # DOES THE USER WANT TO BUILD THE PACKAGE ?
 OPTION(BUILD_BBTK_PACKAGE_${BBTK_PACKAGE_NAME} 
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/PackageConfig.cmake.in b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/PackageConfig.cmake.in
index 0ade94b..be705c2 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/PackageConfig.cmake.in
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/PackageConfig.cmake.in
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 #========================================================================
 # BBTK package configuration 
 # ** DO NOT REMOVE **
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/README.txt b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/README.txt
index 96e622f..f1e57a4 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/README.txt
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/README.txt
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 This is a void bbtk package structure.
 
 You should have this file tree :
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/UsePackage.cmake.in b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/UsePackage.cmake.in
index 2ecb206..445aaf1 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/UsePackage.cmake.in
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/UsePackage.cmake.in
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 # DO NOT REMOVE :
 INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigurePackage_UsePackage.cmake)
 
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/CMakeLists.txt b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/CMakeLists.txt
index 2c0eb7c..1a1a3ce 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/CMakeLists.txt
@@ -1,3 +1,28 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 
 INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigurePackage_bbs.cmake)
 
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/README.txt b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/README.txt
index b6ff69e..0129ef7 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/README.txt
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/README.txt
@@ -1 +1,28 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 .bbs / .bbg files holding applications
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_Box1.bbg b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_Box1.bbg
index 91fcdad..cc2e845 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_Box1.bbg
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_Box1.bbg
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 # ----------------------------------
 # - BBTKGEditor v 1.2 BBG BlackBox Diagram file
 # - /Users/davila/tmp/MyEEDPrj/bbtk_mySamplePackage_PKG/bbs/appli/Sample_Box1.bbg
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_Box1.bbs b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_Box1.bbs
index a6d51bc..97fa470 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_Box1.bbs
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_Box1.bbs
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 # ----------------------------------
 # - BBTKGEditor v 1.2 BBS BlackBox Script
 # - /Users/davila/tmp/MyEEDPrj/bbtk_mySamplePackage_PKG/bbs/appli/Sample_Box1.bbs
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_BoxVtkPipeline.bbg b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_BoxVtkPipeline.bbg
index 621617a..c543875 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_BoxVtkPipeline.bbg
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_BoxVtkPipeline.bbg
@@ -1,3 +1,30 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
+
 # ----------------------------------
 # - BBTKGEditor v 1.2 BBG BlackBox Diagram file
 # - /Users/davila/Creatis/All2/creatools_source/crea/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_BoxVtkPipeline.bbg
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_BoxVtkPipeline.bbs b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_BoxVtkPipeline.bbs
index de4d03f..49daf43 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_BoxVtkPipeline.bbs
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_BoxVtkPipeline.bbs
@@ -1,3 +1,28 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 # ----------------------------------
 # - BBTKGEditor v 1.2 BBS BlackBox Script
 # - /Users/davila/Creatis/All2/creatools_source/crea/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/appli/Sample_BoxVtkPipeline.bbs
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/boxes/README.txt b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/boxes/README.txt
index 4cfd60a..02cc041 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/boxes/README.txt
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/bbs/boxes/README.txt
@@ -1 +1,28 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 .bbs / .bbg files holding Complex Black Boxes
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/data/CMakeLists.txt b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/data/CMakeLists.txt
index eb2556d..cfb04ca 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/data/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/data/CMakeLists.txt
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 #===========================================================================
 # Include package data configuration cmake script from bbtk dir
 INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigurePackage_data.cmake)
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/doc/CMakeLists.txt b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/doc/CMakeLists.txt
index 033496e..7eb0301 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/doc/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/doc/CMakeLists.txt
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 #===========================================================================
 # Include package doc configuration cmake script
 INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigurePackage_doc.cmake)
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/doc/bbdoc/CMakeLists.txt b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/doc/bbdoc/CMakeLists.txt
index 86ca574..5d5b228 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/doc/bbdoc/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/doc/bbdoc/CMakeLists.txt
@@ -1,2 +1,28 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigurePackage_doc_bbdoc.cmake)
 
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/doc/doxygen/CMakeLists.txt b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/doc/doxygen/CMakeLists.txt
index 0194111..3c207bf 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/doc/doxygen/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/doc/doxygen/CMakeLists.txt
@@ -1 +1,27 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigurePackage_doc_doxygen.cmake)
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/CMakeLists.txt b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/CMakeLists.txt
index e2d2a11..396eb56 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/CMakeLists.txt
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 #---------------------------------------------------------------------------
 # Include src configuration cmake script
 INCLUDE(${BBTK_CMAKE_DIR}/BBTKConfigurePackage_src.cmake)
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBox1.cxx b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBox1.cxx
index 79e6be4..e7a209f 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBox1.cxx
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBox1.cxx
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 
 #include "bbmySamplePackagemySampleBox1.h"
 #include "bbmySamplePackagePackage.h"
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBox1.h b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBox1.h
index 4da96da..7e1f581 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBox1.h
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBox1.h
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 
 #ifndef __bbmySamplePackagemySampleBox1_h_INCLUDED__
 #define __bbmySamplePackagemySampleBox1_h_INCLUDED__
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBoxWithITK.cxx b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBoxWithITK.cxx
index 43453ef..4d4f1df 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBoxWithITK.cxx
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBoxWithITK.cxx
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 
 #include "bbmySamplePackagemySampleBoxWithITK.h"
 #include "bbmySamplePackagePackage.h"
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBoxWithITK.h b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBoxWithITK.h
index c2c36f6..5dca9df 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBoxWithITK.h
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBoxWithITK.h
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 
 #ifndef __bbmySamplePackagemySampleBoxWithITK_h_INCLUDED__
 #define __bbmySamplePackagemySampleBoxWithITK_h_INCLUDED__
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBoxWithVTK.cxx b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBoxWithVTK.cxx
index 087608e..eabffeb 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBoxWithVTK.cxx
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBoxWithVTK.cxx
@@ -1,3 +1,31 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
 
 #include "bbmySamplePackagemySampleBoxWithVTK.h"
 #include "bbmySamplePackagePackage.h"
diff --git a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBoxWithVTK.h b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBoxWithVTK.h
index e9bc1f6..65d3477 100644
--- a/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBoxWithVTK.h
+++ b/appli/creaNewProject/NewProject/bbtk_mySamplePackage_PKG/src/bbmySamplePackagemySampleBoxWithVTK.h
@@ -1,3 +1,28 @@
+/*
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
+#                        pour la Sant�)
+# # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+#
+#  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.
+# ------------------------------------------------------------------------ */ 
+
+
 
 #ifndef __bbmySamplePackagemySampleBoxWithVTK_h_INCLUDED__
 #define __bbmySamplePackagemySampleBoxWithVTK_h_INCLUDED__
diff --git a/appli/creaNewProject/NewProject/cmake/UserBuildAllOption.cmake b/appli/creaNewProject/NewProject/cmake/UserBuildAllOption.cmake
index 5df73d1..17f9850 100644
--- a/appli/creaNewProject/NewProject/cmake/UserBuildAllOption.cmake
+++ b/appli/creaNewProject/NewProject/cmake/UserBuildAllOption.cmake
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 #-----------------------------------------------------------------------------
 # If --BUILD_ALL is set to ON then all options 
 # for which the macro SWITCH_ON_IF_BUILD_ALL have been used are set to ON
diff --git a/appli/creaNewProject/NewProject/cmake/UserBuildDoxygenDoc.cmake b/appli/creaNewProject/NewProject/cmake/UserBuildDoxygenDoc.cmake
index 1d5a0a9..b8ca3af 100644
--- a/appli/creaNewProject/NewProject/cmake/UserBuildDoxygenDoc.cmake
+++ b/appli/creaNewProject/NewProject/cmake/UserBuildDoxygenDoc.cmake
@@ -1,3 +1,28 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 
 
 MACRO(USER_BUILD_DOXYGEN_DOC NAME INPUT DOC_RELATIVE_INSTALL_PATH PREDEFINED)
diff --git a/appli/creaNewProject/NewProject/cmake/UserBuildHtmlDocFromLatex.cmake b/appli/creaNewProject/NewProject/cmake/UserBuildHtmlDocFromLatex.cmake
index 360fafc..2c394fe 100644
--- a/appli/creaNewProject/NewProject/cmake/UserBuildHtmlDocFromLatex.cmake
+++ b/appli/creaNewProject/NewProject/cmake/UserBuildHtmlDocFromLatex.cmake
@@ -1,3 +1,26 @@
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
+#                        pour la Sant�)
+# # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+#
+#  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.
+# ------------------------------------------------------------------------ */ 
+
 
 
 MACRO(USER_BUILD_HTML_DOC_FROM_LATEX CONFERENCEFOLDER TEX_FILE)
diff --git a/appli/creaNewProject/NewProject/cmake/UserBuildLatexDoc.cmake b/appli/creaNewProject/NewProject/cmake/UserBuildLatexDoc.cmake
index be22aba..ac18f56 100644
--- a/appli/creaNewProject/NewProject/cmake/UserBuildLatexDoc.cmake
+++ b/appli/creaNewProject/NewProject/cmake/UserBuildLatexDoc.cmake
@@ -1,3 +1,28 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 
 
 MACRO(USER_BUILD_LATEX_DOC NUM CONFERENCEFOLDER TEX_FILE)
diff --git a/appli/creaNewProject/NewProject/cmake/UserConfig.cmake b/appli/creaNewProject/NewProject/cmake/UserConfig.cmake
index a01ac10..919e9ae 100644
--- a/appli/creaNewProject/NewProject/cmake/UserConfig.cmake
+++ b/appli/creaNewProject/NewProject/cmake/UserConfig.cmake
@@ -1,3 +1,28 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 
 
 #-----------------------------------------------------------------------------
diff --git a/appli/creaNewProject/NewProject/cmake/UserDefineOptions.cmake b/appli/creaNewProject/NewProject/cmake/UserDefineOptions.cmake
index 65a1446..cb0fd21 100644
--- a/appli/creaNewProject/NewProject/cmake/UserDefineOptions.cmake
+++ b/appli/creaNewProject/NewProject/cmake/UserDefineOptions.cmake
@@ -1,3 +1,30 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
+
 #-----------------------------------------------------------------------------
 # messages compilation options 
 OPTION ( BUILD_${PROJECT_NAME}_DOC "Build documentation for ${PROJECT_NAME}." OFF)
diff --git a/appli/creaNewProject/NewProject/cmake/UserMacros.cmake b/appli/creaNewProject/NewProject/cmake/UserMacros.cmake
index 0f33860..715860a 100644
--- a/appli/creaNewProject/NewProject/cmake/UserMacros.cmake
+++ b/appli/creaNewProject/NewProject/cmake/UserMacros.cmake
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 #========================================================================
 # MACRO WHICH COPIES ALL IMAGES (png, jpg, gif) 
 # FROM SOURCE TREE TO DOC BUILD TREE
diff --git a/appli/creaNewProject/NewProject/cmake/UserRootCMakeLists.cmake b/appli/creaNewProject/NewProject/cmake/UserRootCMakeLists.cmake
index d4ee59b..63d0e36 100644
--- a/appli/creaNewProject/NewProject/cmake/UserRootCMakeLists.cmake
+++ b/appli/creaNewProject/NewProject/cmake/UserRootCMakeLists.cmake
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 
 INCLUDE(cmake/UserMacros.cmake)
 INCLUDE(cmake/UserConfig.cmake)
diff --git a/appli/creaNewProject/NewProject/cmake/UserSetDeducedPaths.cmake b/appli/creaNewProject/NewProject/cmake/UserSetDeducedPaths.cmake
index d1c6e04..9d2e8fd 100644
--- a/appli/creaNewProject/NewProject/cmake/UserSetDeducedPaths.cmake
+++ b/appli/creaNewProject/NewProject/cmake/UserSetDeducedPaths.cmake
@@ -1,3 +1,30 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
+
 MESSAGE(STATUS "===============================================")
 MESSAGE(STATUS "Setting up deduced pathes:")
 # Black box docs relative path
diff --git a/appli/creaNewProject/NewProject/data/CMakeLists.txt b/appli/creaNewProject/NewProject/data/CMakeLists.txt
index 4688606..964e829 100644
--- a/appli/creaNewProject/NewProject/data/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/data/CMakeLists.txt
@@ -1 +1,27 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 # --------------------------------
diff --git a/appli/creaNewProject/NewProject/data/README.txt b/appli/creaNewProject/NewProject/data/README.txt
index 30b1f33..aefd67a 100644
--- a/appli/creaNewProject/NewProject/data/README.txt
+++ b/appli/creaNewProject/NewProject/data/README.txt
@@ -1 +1,28 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 Data...
\ No newline at end of file
diff --git a/appli/creaNewProject/NewProject/doc/CMakeLists.txt b/appli/creaNewProject/NewProject/doc/CMakeLists.txt
index 7becfcf..d8e5dd2 100644
--- a/appli/creaNewProject/NewProject/doc/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/doc/CMakeLists.txt
@@ -1,4 +1,30 @@
 
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 
 #-----------------------------------------------------------------------------
 IF(BUILD_${PROJECT_NAME}_DOC AND BUILD_${PROJECT_NAME}_DOC_DOXYGEN)
diff --git a/appli/creaNewProject/NewProject/doc/README.txt b/appli/creaNewProject/NewProject/doc/README.txt
index 011ac7b..8aa9199 100644
--- a/appli/creaNewProject/NewProject/doc/README.txt
+++ b/appli/creaNewProject/NewProject/doc/README.txt
@@ -1,3 +1,31 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
+
 * config.tex : input file for all latex guides (user's, package dev's ...)
 * help_contents.html.in : home page of bbStudio help
 * index.html.in : home page of online doc (frame)
diff --git a/appli/creaNewProject/NewProject/doc/README_HowToUpload.txt b/appli/creaNewProject/NewProject/doc/README_HowToUpload.txt
index 2b15cbd..c9a45c0 100644
--- a/appli/creaNewProject/NewProject/doc/README_HowToUpload.txt
+++ b/appli/creaNewProject/NewProject/doc/README_HowToUpload.txt
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 After builing ALL :
 
 cd in the build tree
diff --git a/appli/creaNewProject/NewProject/doc/UserDocumentation/CMakeLists.txt b/appli/creaNewProject/NewProject/doc/UserDocumentation/CMakeLists.txt
index 36747f4..c326ba0 100644
--- a/appli/creaNewProject/NewProject/doc/UserDocumentation/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/doc/UserDocumentation/CMakeLists.txt
@@ -1,3 +1,31 @@
+
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
+
 MESSAGE(STATUS "")
 MESSAGE(STATUS "=======================================")
 MESSAGE(STATUS "Configuring user documentation ")
diff --git a/appli/creaNewProject/NewProject/doc/UserDoxygen/CMakeLists.txt b/appli/creaNewProject/NewProject/doc/UserDoxygen/CMakeLists.txt
index b36b296..1ee021b 100644
--- a/appli/creaNewProject/NewProject/doc/UserDoxygen/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/doc/UserDoxygen/CMakeLists.txt
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 MESSAGE(STATUS "")
 MESSAGE(STATUS "=======================================")
 MESSAGE(STATUS "Configuring user doxygen doc")
diff --git a/appli/creaNewProject/NewProject/doc/UserDoxygen/DoxyMainPage.txt.in b/appli/creaNewProject/NewProject/doc/UserDoxygen/DoxyMainPage.txt.in
index 94c4c71..b3b00d9 100644
--- a/appli/creaNewProject/NewProject/doc/UserDoxygen/DoxyMainPage.txt.in
+++ b/appli/creaNewProject/NewProject/doc/UserDoxygen/DoxyMainPage.txt.in
@@ -1,3 +1,30 @@
+<!--
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ -->
+
+
 /**
  * \mainpage bbtk documentation
 
diff --git a/appli/creaNewProject/NewProject/doc/index.html.in b/appli/creaNewProject/NewProject/doc/index.html.in
index c3e811b..8158ccd 100644
--- a/appli/creaNewProject/NewProject/doc/index.html.in
+++ b/appli/creaNewProject/NewProject/doc/index.html.in
@@ -1,3 +1,29 @@
+<!--
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ --> 
+
  
 <html>
 <head>
diff --git a/appli/creaNewProject/NewProject/doc/template_WebSite/CMakeLists.txt b/appli/creaNewProject/NewProject/doc/template_WebSite/CMakeLists.txt
index 09ed25d..6815264 100644
--- a/appli/creaNewProject/NewProject/doc/template_WebSite/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/doc/template_WebSite/CMakeLists.txt
@@ -1,3 +1,30 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
+
 MESSAGE(STATUS "")
 MESSAGE(STATUS "=======================================")
 MESSAGE(STATUS "Configuring User html doc")
diff --git a/appli/creaNewProject/NewProject/install/CMakeLists.txt b/appli/creaNewProject/NewProject/install/CMakeLists.txt
index 5f300f3..fedc221 100644
--- a/appli/creaNewProject/NewProject/install/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/install/CMakeLists.txt
@@ -1,3 +1,30 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
+
 #-----------------------------------------------------------------------------
 # CPACK+NSIS PACKAGING
 #-----------------------------------------------------------------------------
diff --git a/appli/creaNewProject/NewProject/lib/CMakeLists.txt b/appli/creaNewProject/NewProject/lib/CMakeLists.txt
index 373c3f4..18853d9 100644
--- a/appli/creaNewProject/NewProject/lib/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/lib/CMakeLists.txt
@@ -1,3 +1,27 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
 
 # USER! : Add a ADD_SUBDIRECTORY command for each one of your libraries
 # -----
diff --git a/appli/creaNewProject/NewProject/lib/mySampleLib/CMakeLists.txt b/appli/creaNewProject/NewProject/lib/mySampleLib/CMakeLists.txt
index 01c1534..6ec48ec 100644
--- a/appli/creaNewProject/NewProject/lib/mySampleLib/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/lib/mySampleLib/CMakeLists.txt
@@ -1,3 +1,28 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 #----------------------------------------------------------------------------
 # USER! : SET THE NAME OF YOUR LIBRARY
 # (Replace 'MyLib' by your own library name)
diff --git a/appli/creaNewProject/NewProject/lib/mySampleLib/creaSystem.h b/appli/creaNewProject/NewProject/lib/mySampleLib/creaSystem.h
index d91ccee..b570c5a 100644
--- a/appli/creaNewProject/NewProject/lib/mySampleLib/creaSystem.h
+++ b/appli/creaNewProject/NewProject/lib/mySampleLib/creaSystem.h
@@ -1,3 +1,29 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
 
 #ifndef _$PROJECT_NAME$SYSTEM_H_
 #define _$PROJECT_NAME$SYSTEM_H_
diff --git a/appli/creaNewProject/NewProject/lib/mySampleLib/creaSystem.h.in b/appli/creaNewProject/NewProject/lib/mySampleLib/creaSystem.h.in
index d91ccee..efc0fdd 100644
--- a/appli/creaNewProject/NewProject/lib/mySampleLib/creaSystem.h.in
+++ b/appli/creaNewProject/NewProject/lib/mySampleLib/creaSystem.h.in
@@ -1,3 +1,29 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 
 #ifndef _$PROJECT_NAME$SYSTEM_H_
 #define _$PROJECT_NAME$SYSTEM_H_
diff --git a/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass.cxx b/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass.cxx
index b57eca1..25283a1 100644
--- a/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass.cxx
+++ b/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass.cxx
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 #include "myFierceClass.h"
 
 
diff --git a/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass.h b/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass.h
index 74a8dfe..01b4254 100644
--- a/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass.h
+++ b/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass.h
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 #ifndef _myFierceClass_H_
 #define _myFierceClass_H_
 
diff --git a/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass2.cxx b/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass2.cxx
index 617b179..73e7e55 100644
--- a/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass2.cxx
+++ b/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass2.cxx
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 #include "myFierceClass2.h"
 
 void myFierceClass2::SetX (double x)
diff --git a/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass2.h b/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass2.h
index 6f35d76..6837a33 100644
--- a/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass2.h
+++ b/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass2.h
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 #ifndef _myFierceClass2_H_
 #define _myFierceClass2_H_
 
diff --git a/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass3vtkPipeline.cxx b/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass3vtkPipeline.cxx
index 4c13c61..46b4b8b 100644
--- a/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass3vtkPipeline.cxx
+++ b/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass3vtkPipeline.cxx
@@ -1,4 +1,29 @@
-
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
 
 #include "myFierceClass3vtkPipeline.h"
 
diff --git a/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass3vtkPipeline.h b/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass3vtkPipeline.h
index 5639a22..89f8b98 100644
--- a/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass3vtkPipeline.h
+++ b/appli/creaNewProject/NewProject/lib/mySampleLib/myFierceClass3vtkPipeline.h
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 #ifndef _myFierceClass3vtkPipeline_H_
 #define _myFierceClass3vtkPipeline_H_
 
diff --git a/appli/creaNewProject/NewProject/lib/mySampleLib/mySphereSource.xml b/appli/creaNewProject/NewProject/lib/mySampleLib/mySphereSource.xml
index 84cc3d1..0bc2da0 100644
--- a/appli/creaNewProject/NewProject/lib/mySampleLib/mySphereSource.xml
+++ b/appli/creaNewProject/NewProject/lib/mySampleLib/mySphereSource.xml
@@ -1,3 +1,28 @@
+<!--
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ -->
 <?xml version="1.0" encoding="iso-8859-1"?>
 
 
diff --git a/appli/creaNewProject/NewProject/lib/template_lib/CMakeLists.txt b/appli/creaNewProject/NewProject/lib/template_lib/CMakeLists.txt
index 277d895..091f0ec 100644
--- a/appli/creaNewProject/NewProject/lib/template_lib/CMakeLists.txt
+++ b/appli/creaNewProject/NewProject/lib/template_lib/CMakeLists.txt
@@ -1,3 +1,28 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 #----------------------------------------------------------------------------
 # USER! : SET THE NAME OF YOUR LIBRARY
 # (Replace 'MyLib' by your own library name)
@@ -45,6 +70,14 @@ IF ( BUILD_${LIBRARY_NAME} )
   #      )
   #----------------------------------------------------------------------------
 
+  INCLUDE_DIRECTORIES (
+  
+  # USER! : Add here the directories holding the extra .h files you need
+  # e.g.
+  # ../mySampleLib
+   
+  )
+
   #----------------------------------------------------------------------------
   # LIBRARY DEPENDENCIES (LIBRARIES TO LINK WITH)
   #
diff --git a/appli/creaNewProject/NewProject/lib/template_lib/creaSystem.h b/appli/creaNewProject/NewProject/lib/template_lib/creaSystem.h
index d91ccee..b570c5a 100644
--- a/appli/creaNewProject/NewProject/lib/template_lib/creaSystem.h
+++ b/appli/creaNewProject/NewProject/lib/template_lib/creaSystem.h
@@ -1,3 +1,29 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
 
 #ifndef _$PROJECT_NAME$SYSTEM_H_
 #define _$PROJECT_NAME$SYSTEM_H_
diff --git a/appli/creaNewProject/NewProject/lib/template_lib/creaSystem.h.in b/appli/creaNewProject/NewProject/lib/template_lib/creaSystem.h.in
index d91ccee..782097d 100644
--- a/appli/creaNewProject/NewProject/lib/template_lib/creaSystem.h.in
+++ b/appli/creaNewProject/NewProject/lib/template_lib/creaSystem.h.in
@@ -1,3 +1,28 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
 
 #ifndef _$PROJECT_NAME$SYSTEM_H_
 #define _$PROJECT_NAME$SYSTEM_H_
diff --git a/appli/creaNewProject/creaNewProject.cpp b/appli/creaNewProject/creaNewProject.cpp
index 350b034..17f64ba 100644
--- a/appli/creaNewProject/creaNewProject.cpp
+++ b/appli/creaNewProject/creaNewProject.cpp
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 #include <creaWx.h>
 #include <wx/dirdlg.h>
 #include <stdlib.h> // for getenv
diff --git a/appli/creaSed/CMakeLists.txt b/appli/creaSed/CMakeLists.txt
index 075a4da..815e9d2 100644
--- a/appli/creaSed/CMakeLists.txt
+++ b/appli/creaSed/CMakeLists.txt
@@ -1,3 +1,28 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 SET(creaSed_SOURCES creaSed)
 SET(creaSed_HAS_GUI OFF)
 CREA_ADD_EXECUTABLE(creaSed)
diff --git a/appli/creaSed/creaSed.cpp b/appli/creaSed/creaSed.cpp
index 96ad6b8..95ddc72 100644
--- a/appli/creaSed/creaSed.cpp
+++ b/appli/creaSed/creaSed.cpp
@@ -1,3 +1,29 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
 
 #include <stdio.h>
 #include <iostream>
@@ -46,8 +72,8 @@ int main(int argc, char **argv)
   findstring 	= argv[2];
   replacestring = argv[3];
 
-  ffIn =  fopen(fileIn.c_str(),"r");
-  if (ffIn){
+  errno_t errorOpen = fopen_s(&ffIn, fileIn.c_str(),"r");
+  if (!errorOpen && ffIn){
         while(!feof(ffIn)){
 	    fgets( strTmp , 255, ffIn );
             lineStr=strTmp;
diff --git a/appli/creatis_AppGeneralPath.bat b/appli/creatis_AppGeneralPath.bat
index 6314d88..261553a 100644
--- a/appli/creatis_AppGeneralPath.bat
+++ b/appli/creatis_AppGeneralPath.bat
@@ -1 +1,2 @@
+REM 
 set Path=%CREATOOLS_DIRS%;%CREATIS_THIRDPARTYDLLS_DIRS%;%CREATIS_THIRDPARTYLIBRARIES_DIRS%;%PATH% && %1 %2 %3 %4
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
index 96da544..243a5d1 100644
--- a/cmake/CMakeLists.txt
+++ b/cmake/CMakeLists.txt
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 # HERE!!
 
 FILE(GLOB CREA_CMAKE_FILES "*.cmake" "*.in")
diff --git a/cmake/CREACMakeSettings.cmake b/cmake/CREACMakeSettings.cmake
index 42ab2c0..8f737b9 100644
--- a/cmake/CREACMakeSettings.cmake
+++ b/cmake/CREACMakeSettings.cmake
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 # MUST BE PUT BEFORE ANYTHING !!!
 #CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
 
diff --git a/cmake/CREAMacro_AddExecutable.cmake b/cmake/CREAMacro_AddExecutable.cmake
index 2b81fd7..4985565 100644
--- a/cmake/CREAMacro_AddExecutable.cmake
+++ b/cmake/CREAMacro_AddExecutable.cmake
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 #Generates the cmake commands to build and install the executable EXE_NAME.
 # ${EXE_NAME}_SOURCES        must contain the list of files to compile 
 #                            to build the executable.
diff --git a/cmake/CREAMacro_AddLibrary.cmake b/cmake/CREAMacro_AddLibrary.cmake
index 7f823e7..679b013 100644
--- a/cmake/CREAMacro_AddLibrary.cmake
+++ b/cmake/CREAMacro_AddLibrary.cmake
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 # Creates and installs a library
 # Uses CREA_DYNAMIC_LIBRARY_EXPORT and CREA_INSTALL_LIBRARY
 # hence the variables to be set for these are needed 
diff --git a/cmake/CREAMacro_Define.cmake b/cmake/CREAMacro_Define.cmake
index 17b5380..9ebb75b 100644
--- a/cmake/CREAMacro_Define.cmake
+++ b/cmake/CREAMacro_Define.cmake
@@ -1,3 +1,28 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 
 #-----------------------------------------------------------------------------
 # MACRO TO ADD A COMPILER DEFINITION WHICH ADDS ALSO THE DEF 
diff --git a/cmake/CREAMacro_DynamicLibraryExport.cmake b/cmake/CREAMacro_DynamicLibraryExport.cmake
index 00598ef..0f8590b 100644
--- a/cmake/CREAMacro_DynamicLibraryExport.cmake
+++ b/cmake/CREAMacro_DynamicLibraryExport.cmake
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 # Manages the shared library creation/use 
 # * Creates an option ${LIBRARY_NAME}_BUILD_SHARED 
 # * Generates the file ${LIBRARY_NAME}_EXPORT.h which 
diff --git a/cmake/CREAMacro_FindAndUseLibraries.cmake b/cmake/CREAMacro_FindAndUseLibraries.cmake
index cff4b65..49ff5bf 100644
--- a/cmake/CREAMacro_FindAndUseLibraries.cmake
+++ b/cmake/CREAMacro_FindAndUseLibraries.cmake
@@ -105,9 +105,15 @@ IF(USE_ITK)
       INCLUDE(${ITK_USE_FILE})
       CREA_DEFINE( USE_ITK )
       CREA_DEFINE( _USE_ITK_ )
-      SET(ITK_LIBRARIES
-	ITKCommon ITKIO ITKBasicFilters ITKAlgorithms
-	)  
+	  If (${ITK_VERSION_MAJOR} MATCHES "4")
+	   MESSAGE ( STATUS "* Version = ${ITK_VERSION_MAJOR}.${ITK_VERSION_MINOR}.${ITK_VERSION_PATCH}")
+		SET(ITK_LIBRARIES
+		${ITK_LIBRARIES}) 
+		 MESSAGE ( STATUS "${ITK_LIBRARIES}")
+		ELSEIF()
+		SET(ITK_LIBRARIES
+			ITKCommon ITKIO ITKBasicFilters ITKAlgorithms)
+		ENDIF()
       MARK_AS_ADVANCED(ITK_DIR)
     ELSE(ITK_FOUND)
       message(FATAL_ERROR "ITK_DIR not found")
@@ -176,8 +182,9 @@ IF(USE_GDCM2)
     MESSAGE(ERROR "CANNOT USE BOTH gdcm AND gdcm2 !")
   ENDIF (USE_GDCM)
 
-  IF(NOT USE_ITK) # JPR : ITK vs GDCM (avoid cmake break)
+#  IF(NOT USE_ITK) # JPR : ITK vs GDCM (avoid cmake break)
     # Search GDCM2
+
     FIND_PACKAGE(GDCM REQUIRED)
     INCLUDE(${GDCM_USE_FILE})
 
@@ -197,9 +204,9 @@ IF(USE_GDCM2)
       
       # Test that GDCM_NAME_SPACE is **NOT** "gdcm" or will conflict with 
       # embedded gdcm in ITK and will result in hard seg faults !
-		   INCLUDE_DIRECTORIES(${GDCM_INCLUDE_DIR})	 
-	  		LINK_DIRECTORIES( ${GDCM_LIBRARY_DIR}) 
-
+		   INCLUDE_DIRECTORIES(${GDCM_INCLUDE_DIRS})	 
+	  		LINK_DIRECTORIES( ${GDCM_LIBRARY_DIRS}) 
+			
       SET(GDCM2_LIBRARIES
         ${GDCM_LIBRARIES} 
 	)
@@ -210,18 +217,32 @@ IF(USE_GDCM2)
 		  SET(GDCM_LIBRARIES
 	  	        ${GDCM_LIBRARIES}
 			vtkgdcm
-			#gdcm2vtk
+			gdcmIOD
+			gdcmMSFF
+			gdcmexpat
+			gdcmCommon
+			gdcmMEXD
+			gdcmexpat
+			gdcmDSED
+			gdcmDICT
+			gdcmjpeg8
+			gdcmjpeg12
+			gdcmjpeg16
+			socketxx
+			gdcmopenjpeg
+			gdcmcharls
             	     )
 		ELSE(WIN32)
 		    SET(GDCM_LIBRARIES
 	  	        ${GDCM_LIBRARIES}
 			vtkgdcm
+			gdcmIOD
 			)
 		ENDIF(WIN32)
 		
 	ENDIF(USE_VTK)
       ENDIF(USE_GDCM_VTK)
-  ENDIF(NOT USE_ITK) # JPR : ITK vs GDCM (avoid cmake break)
+ # ENDIF(NOT USE_ITK) # JPR : ITK vs GDCM (avoid cmake break)
 
 ENDIF(USE_GDCM2)
 
@@ -288,18 +309,22 @@ ENDIF(USE_TTH)
 #-----------------------------------------------------------------------------
 IF(USE_BOOST)
   IF(NOT Boost_FOUND)
-      FIND_PACKAGE(Boost COMPONENTS filesystem  signals date_time regex REQUIRED)
-    IF(Boost_FOUND)
+	add_definitions( -DBOOST_ALL_NO_LIB )
+	add_definitions( -DBOOST_ALL_DYN_LINK )
+    FIND_PACKAGE(Boost COMPONENTS filesystem system signals date_time regex REQUIRED)
+    IF(Boost_FOUND) 
+	  ADD_DEFINITIONS(-DBOOST_FILESYSTEM_VERSION=3)
       MESSAGE ( STATUS "=======================================")
       MESSAGE ( STATUS "Looking for boost C++ library... - found in ${Boost_INCLUDE_DIR}")
       INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})	 
-	  		LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS}) 
+	  LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS})
 	  IF(WIN32)
 		CREA_DEFINE( USE_BOOST )
-		
+		ADD_DEFINITIONS(-DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
 		SET(BOOST_LIBRARIES
 			${Boost_LIBRARIES}
 			)
+			
 # FCY with cmake boost, it's useless. 
 # But if it is not working, uncomment	
 #
diff --git a/cmake/CREAMacro_FindAndUseQt.cmake b/cmake/CREAMacro_FindAndUseQt.cmake
index 022aa06..515128c 100644
--- a/cmake/CREAMacro_FindAndUseQt.cmake
+++ b/cmake/CREAMacro_FindAndUseQt.cmake
@@ -1,3 +1,28 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 
 IF(WIN32)
 	STRING(REGEX REPLACE "\\\\" "/" QT_DIR "$ENV{QTDIR}")
diff --git a/cmake/CREAMacro_FindAndUseVTK.cmake b/cmake/CREAMacro_FindAndUseVTK.cmake
index 751426a..578afb5 100644
--- a/cmake/CREAMacro_FindAndUseVTK.cmake
+++ b/cmake/CREAMacro_FindAndUseVTK.cmake
@@ -1,7 +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.
+# ------------------------------------------------------------------------ */ 
+
+
 MACRO(CREA_FIND_AND_USE_VTK)
   #---------------------------------------------------------------------------
   IF(NOT VTK_FOUND)
     # Search VTK
+	message("DFCH--VTK: CREAMacro_FindAndUseVTK.cmake: "${CMAKE_CURRENT_LIST_FILE})
+	message("DFCH--VTK: CREAMacro_FindAndUseVTK.cmake: "${_IMPORT_PREFIX})
     FIND_PACKAGE(VTK)
     # If vtk found
     IF(VTK_FOUND)
@@ -12,6 +40,7 @@ MACRO(CREA_FIND_AND_USE_VTK)
       MESSAGE ( STATUS "* Version = ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}")
       SET(VTK_BUILD_SETTINGS_FILE OFF)      
 	INCLUDE(${VTK_USE_FILE})
+	LINK_DIRECTORIES(${VTK_DIR}) #DFCH -- 16/7/2012
 
 	IF(VTK_USE_GL2PS)
            	add_definitions(-DUSE_WXGLCANVAS)
diff --git a/cmake/CREAMacro_FindAndUseWxWidgets.cmake b/cmake/CREAMacro_FindAndUseWxWidgets.cmake
index 00b6425..969300c 100644
--- a/cmake/CREAMacro_FindAndUseWxWidgets.cmake
+++ b/cmake/CREAMacro_FindAndUseWxWidgets.cmake
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 #=======================================================================
 # Looks for WxWidgets
 #=======================================================================
diff --git a/cmake/CREAMacro_InstallLibraryForCMake.cmake b/cmake/CREAMacro_InstallLibraryForCMake.cmake
index 3fd0288..21877db 100644
--- a/cmake/CREAMacro_InstallLibraryForCMake.cmake
+++ b/cmake/CREAMacro_InstallLibraryForCMake.cmake
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 #-----------------------------------------------------------------------------
 # Macro CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE
 # Creates and install the cmake files which allow 
@@ -261,7 +287,8 @@ MACRO(CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE LIBRARY_NAME)
 # JPR 04 Mars 2011
   INSTALL( 
     FILES ${CILC_WORK_DIR}/Find${LIBRARY_NAME}.cmake
-    DESTINATION ${CMAKE_INSTALL_PREFIX}/share/cmake/Modules
+##EED12Fev2013    DESTINATION ${CMAKE_INSTALL_PREFIX}/share/cmake/Modules
+    DESTINATION share/cmake/Modules
     )
     
  
diff --git a/cmake/CREAMacro_ManageSharedLibrary.cmake b/cmake/CREAMacro_ManageSharedLibrary.cmake
index 0789f00..2170db1 100644
--- a/cmake/CREAMacro_ManageSharedLibrary.cmake
+++ b/cmake/CREAMacro_ManageSharedLibrary.cmake
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 # Manages the shared library creation/use 
 # * Creates an option ${LIBRARY_NAME}_BUILD_SHARED 
 # * Generates the file ${LIBRARY_NAME}DLLImportExport.h which 
diff --git a/cmake/CREAMacro_PreventInSourceBuild.cmake b/cmake/CREAMacro_PreventInSourceBuild.cmake
index cff695d..2991615 100644
--- a/cmake/CREAMacro_PreventInSourceBuild.cmake
+++ b/cmake/CREAMacro_PreventInSourceBuild.cmake
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 
 MACRO(CREA_PREVENT_IN_SOURCE_BUILD)
   IF(NOT CREA_ALLOW_IN_SOURCE_BUILD)
diff --git a/cmake/CREAMacro_mkdir.cmake b/cmake/CREAMacro_mkdir.cmake
index 7372869..df82cf0 100644
--- a/cmake/CREAMacro_mkdir.cmake
+++ b/cmake/CREAMacro_mkdir.cmake
@@ -1,3 +1,28 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 
 #========================================================================
 # Creates a directory if it does not exist
diff --git a/cmake/CREAMacros.cmake b/cmake/CREAMacros.cmake
index 304794d..e32d549 100644
--- a/cmake/CREAMacros.cmake
+++ b/cmake/CREAMacros.cmake
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 #========================================================================
 INCLUDE( ${CREA_CMAKE_DIR}/CREAMacro_Define.cmake)
 #========================================================================
diff --git a/cmake/CREAResolveOptions.cmake b/cmake/CREAResolveOptions.cmake
index fc69435..d6dac15 100644
--- a/cmake/CREAResolveOptions.cmake
+++ b/cmake/CREAResolveOptions.cmake
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 MESSAGE(STATUS "=======================================")
 MESSAGE(STATUS "Resolving crea compilation options")
 # messages compilation options 
diff --git a/cmake/FindWxWidgetsWin32.cmake b/cmake/FindWxWidgetsWin32.cmake
index f497736..e7541fb 100644
--- a/cmake/FindWxWidgetsWin32.cmake
+++ b/cmake/FindWxWidgetsWin32.cmake
@@ -127,12 +127,29 @@ SET(WXWIDGETS_CONFIG_PATH ${WXWIDGETS_ROOT_DIR})
 #
 IF( WIN32_STYLE_FIND )
 
-    IF( WXWIDGETS_USE_SHARED )
+# EED 31 jan 2013
+#		IF( WXWIDGETS_USE_SHARED )
+#        SET(WXWIDGETS_LIB_PATH "${WXWIDGETS_ROOT_DIR}/lib/vc_dll" )
+#		ELSE( WXWIDGETS_USE_SHARED )
+#        SET(WXWIDGETS_LIB_PATH "${WXWIDGETS_ROOT_DIR}/lib/vc_lib" )
+#		ENDIF( WXWIDGETS_USE_SHARED )
+
+  IF (CMAKE_CL_64)  ## EED 31 jan 2012
+		IF( WXWIDGETS_USE_SHARED )
+        SET(WXWIDGETS_LIB_PATH "${WXWIDGETS_ROOT_DIR}/lib/vc_amd64_dll" )
+		ELSE( WXWIDGETS_USE_SHARED )
+        SET(WXWIDGETS_LIB_PATH "${WXWIDGETS_ROOT_DIR}/lib/vc_amd_lib" )
+		ENDIF( WXWIDGETS_USE_SHARED )
+	ELSE(CMAKE_CL_64)
+		IF( WXWIDGETS_USE_SHARED )
         SET(WXWIDGETS_LIB_PATH "${WXWIDGETS_ROOT_DIR}/lib/vc_dll" )
-    ELSE( WXWIDGETS_USE_SHARED )
+		ELSE( WXWIDGETS_USE_SHARED )
         SET(WXWIDGETS_LIB_PATH "${WXWIDGETS_ROOT_DIR}/lib/vc_lib" )
-    ENDIF( WXWIDGETS_USE_SHARED )
+		ENDIF( WXWIDGETS_USE_SHARED )
+	ENDIF(CMAKE_CL_64)
+	
     SET( WXWIDGETS_LINK_DIRECTORIES ${WXWIDGETS_LIB_PATH} )
+	
 
 ELSE( WIN32_STYLE_FIND )
   IF (UNIX_STYLE_FIND) 
diff --git a/cmake/InstallLibraryForCMake_FindLibrary.cmake.in b/cmake/InstallLibraryForCMake_FindLibrary.cmake.in
index 182c9e7..11e730c 100644
--- a/cmake/InstallLibraryForCMake_FindLibrary.cmake.in
+++ b/cmake/InstallLibraryForCMake_FindLibrary.cmake.in
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 # - Find a library installation or build tree.
 # 
 # The following variables are set if @LIBRARY_NAME@ is found.  
diff --git a/cmake/InstallLibraryForCMake_LibraryConfig.cmake.in b/cmake/InstallLibraryForCMake_LibraryConfig.cmake.in
index cc692fd..0970890 100644
--- a/cmake/InstallLibraryForCMake_LibraryConfig.cmake.in
+++ b/cmake/InstallLibraryForCMake_LibraryConfig.cmake.in
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 #-----------------------------------------------------------------------------
 #
 # @LIBRARY_NAME at Config.cmake - CMake configuration file for external projects.
diff --git a/cmake/InstallLibraryForCMake_UseLibrary.cmake.in b/cmake/InstallLibraryForCMake_UseLibrary.cmake.in
index 6865c2a..6cd7a18 100644
--- a/cmake/InstallLibraryForCMake_UseLibrary.cmake.in
+++ b/cmake/InstallLibraryForCMake_UseLibrary.cmake.in
@@ -1,3 +1,29 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 # This is an implementation detail for using @LIBRARY_NAME@ with the
 # Find at LIBRARY_NAME@.cmake module.  Do not include directly by name.  
 # This should be included only when Find at LIBRARY_NAME@.cmake sets 
diff --git a/cmake/LIBRARY_NAMEDLLImportExport.h.in b/cmake/LIBRARY_NAMEDLLImportExport.h.in
index 038f1ec..4092ea9 100644
--- a/cmake/LIBRARY_NAMEDLLImportExport.h.in
+++ b/cmake/LIBRARY_NAMEDLLImportExport.h.in
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
+
 #ifndef __ at LIBRARY_NAME@DLLImportExport_h_INCLUDED__
 #define __ at LIBRARY_NAME@DLLImportExport_h_INCLUDED__
 
diff --git a/cmake/LIBRARY_NAME_EXPORT.h.in b/cmake/LIBRARY_NAME_EXPORT.h.in
index 00c604b..dc8456b 100644
--- a/cmake/LIBRARY_NAME_EXPORT.h.in
+++ b/cmake/LIBRARY_NAME_EXPORT.h.in
@@ -1,3 +1,31 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
 #ifndef __ at LIBRARY_NAME@_EXPORT_h_INCLUDED__
 #define __ at LIBRARY_NAME@_EXPORT_h_INCLUDED__
 
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
new file mode 100644
index 0000000..7e2163f
--- /dev/null
+++ b/data/CMakeLists.txt
@@ -0,0 +1,42 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */                                                                         
+
+
+SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/data)
+
+FILE(GLOB CONFIGURE_DATA_FILES *.*)
+
+IF(WIN32)
+	SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/Debug/data)
+	CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
+	SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/Release/data)
+	CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
+	SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/RelWithDebInfo/data)
+	CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
+ELSE(WIN32)
+	SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/data)
+	CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
+ENDIF(WIN32)
+
diff --git a/data/projectMap.png b/data/projectMap.png
new file mode 100644
index 0000000..d734469
Binary files /dev/null and b/data/projectMap.png differ
diff --git a/install/CMakeLists.txt b/install/CMakeLists.txt
index a02123a..599e73d 100644
--- a/install/CMakeLists.txt
+++ b/install/CMakeLists.txt
@@ -1,4 +1,27 @@
-
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
 
 
 #-----------------------------------------------------------------------------
@@ -51,6 +74,25 @@ CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
 #-----------------------------------------------------------------------------
 
 #-----------------------------------------------------------------------------
+# CreaDevManager Data
+#-----------------------------------------------------------------------------
+IF (WIN32)
+  SET(INSTALL_DATA_DIR "bin/data")
+ELSE (WIN32)
+  SET(INSTALL_DATA_DIR "share/creaDevManager/data")
+ENDIF (WIN32)
+
+#-- data --
+SET(DATA_DIR ${PROJECT_SOURCE_DIR}/data )
+FILE(GLOB DATA_FILES "${DATA_DIR}/*.*")
+FOREACH( iLST  ${DATA_FILES} )
+   INSTALL( 
+	 FILES ${iLST}
+	 DESTINATION ${INSTALL_DATA_DIR}
+   )
+ENDFOREACH(iLST)
+
+#-----------------------------------------------------------------------------
 # CPACK+NSIS PACKAGING
 #-----------------------------------------------------------------------------
 
@@ -62,13 +104,14 @@ CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
 
 INCLUDE(InstallRequiredSystemLibraries)
 
-SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "crea - CREATIS-LRMN")
-SET(CPACK_PACKAGE_VENDOR "CREATIS-LRMN")
+SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "crea - CREATIS")
+SET(CPACK_PACKAGE_VENDOR "CREATIS")
 SET(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/README.txt")
 SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.txt")
 SET(CPACK_PACKAGE_VERSION_MAJOR ${crea_MAJOR_VERSION})
 SET(CPACK_PACKAGE_VERSION_MINOR ${crea_MINOR_VERSION})
 SET(CPACK_PACKAGE_VERSION_PATCH ${crea_BUILD_VERSION})
+
 IF(WIN32)
 	SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CreaTools\\\\crea-${crea_MAJOR_VERSION}.${crea_MINOR_VERSION}.${crea_BUILD_VERSION}")
 ELSE(WIN32)
diff --git a/appli/creaNewProject/NewProject/lib/CMakeLists.txt b/lib/CMakeLists.txt
similarity index 69%
copy from appli/creaNewProject/NewProject/lib/CMakeLists.txt
copy to lib/CMakeLists.txt
index 373c3f4..2531113 100644
--- a/appli/creaNewProject/NewProject/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -2,5 +2,5 @@
 # USER! : Add a ADD_SUBDIRECTORY command for each one of your libraries
 # -----
 
-ADD_SUBDIRECTORY(mySampleLib)
+ADD_SUBDIRECTORY(creaDevManagerLib)
 
diff --git a/lib/creaDevManagerLib/CDMUtilities.cpp b/lib/creaDevManagerLib/CDMUtilities.cpp
new file mode 100644
index 0000000..ae37bb5
--- /dev/null
+++ b/lib/creaDevManagerLib/CDMUtilities.cpp
@@ -0,0 +1,521 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * CDMUtilities.cpp
+ *
+ *  Created on: Nov 23, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "CDMUtilities.h"
+
+#include<vector>
+#include<string>
+#include<iostream>
+#include<fstream>
+#include<algorithm>
+#include<cstdlib>
+
+#include<creaWx.h>
+#include<wx/config.h>
+
+namespace CDMUtilities
+{
+  const std::string fixPath(const std::string& path)
+  {
+    std::string pathFixed = "";
+
+#ifdef _WIN32
+    // ------ Windows
+    std::vector<std::string> pathSplit;
+
+    splitter::split(pathSplit, path, CDMUtilities::SLASH, splitter::no_empties);
+
+	if(0 < pathSplit.size())
+		pathFixed = pathSplit[0];
+
+    for (int i = 1; i < (int)(pathSplit.size()); i++)
+      {
+        pathFixed += CDMUtilities::SLASH + pathSplit[i];
+      }
+#else
+    // ------ LINUX / MacOS
+    //break path into folders
+    std::vector<std::string> pathSplit;
+
+    splitter::split(pathSplit, path, CDMUtilities::SLASH, splitter::no_empties);
+
+    for (int i = 0; i < pathSplit.size(); i++)
+      {
+        pathFixed += CDMUtilities::SLASH + pathSplit[i];
+      }
+#endif
+    return pathFixed;
+
+  }
+
+  int openTextEditor(const std::string& file)
+  {
+#ifdef _WIN32
+    wxConfigBase* pConfig =  wxConfigBase::Get();
+    std::string command = "start " + crea::wx2std(pConfig->Read(wxT("TEXT_EDITOR"), crea::std2wx(CDMUtilities::TEXT_EDITOR)));
+
+    if(file != "")
+      command += " \"" + file + "\"";
+#else
+    wxConfigBase* pConfig =  wxConfigBase::Get();
+    std::string command = crea::wx2std(pConfig->Read(wxT("TEXT_EDITOR"), crea::std2wx(CDMUtilities::TEXT_EDITOR)));
+
+    if(file != "")
+      command += " \"" + file + "\"";
+    command += " &";
+#endif
+    return system(command.c_str());
+  }
+
+  int openFileExplorer(const std::string& file)
+  {
+#ifdef _WIN32
+    wxConfigBase* pConfig =  wxConfigBase::Get();
+    std::string command = "start " + crea::wx2std(pConfig->Read(wxT("FILE_EXPLORER"), crea::std2wx(CDMUtilities::FILE_EXPLORER)));
+
+    if(file != "")
+      command += " \"" + file + "\"";
+#else
+    wxConfigBase* pConfig =  wxConfigBase::Get();
+    std::string command = crea::wx2std(pConfig->Read(wxT("FILE_EXPLORER"), crea::std2wx(CDMUtilities::FILE_EXPLORER)));
+
+    if(file != "")
+      command += " \"" + file + "\"";
+    command += " &";
+#endif
+    return system(command.c_str());
+  }
+
+  int openFileWithCommand(const std::string& file, const std::string& command, const std::string& parameters)
+  {
+#ifdef _WIN32
+    std::string comm = "start " + command;
+    if(file != "")
+      comm += " \"" + file + "\" " + parameters;
+#else
+    std::string comm = command;
+    if(file != "")
+      comm += " \"" + file + "\" " + parameters;
+    comm += " &";
+#endif
+    std::cout << "executing: " << comm << std::endl;
+    return system(comm.c_str());
+  }
+
+  int openBBEditor()
+  {
+#ifdef _WIN32
+    std::string comm = "start bbEditor";
+#else
+	std::string comm = "bbEditor &";
+#endif
+    return system(comm.c_str());
+  }
+
+  int openCreaToolsTools()
+  {
+#ifdef _WIN32
+    std::string comm = "start creaTools";
+#else
+    std::string comm = "creaTools.sh &";
+#endif
+    
+    return system(comm.c_str());
+  }
+
+  int openTerminal(const std::string& command)
+  {
+    wxConfigBase* pConfig =  wxConfigBase::Get();
+    std::string comm = crea::wx2std(pConfig->Read(wxT("TERMINAl"), crea::std2wx(CDMUtilities::TERMINAL)));
+    if (command != "")
+      comm += + " " + command;
+    comm += " &";
+    return system(comm.c_str());
+  }
+
+  bool createEmptyClass(const std::string& name, const std::string& path)
+  {
+    std::vector<std::string> words;
+    splitter::split(words,name," \\/\",.'`",splitter::no_empties);
+    std::string fixedName = "";
+    for (int i = 0; i < (int)(words.size()); i++)
+      {
+        fixedName += words[i];
+      }
+
+    if(fixedName == "" || path == "")
+      {
+        return false;
+      }
+
+    std::string nameupper = fixedName;
+    std::transform(nameupper.begin(), nameupper.end(),nameupper.begin(),::toupper);
+
+    std::ofstream out((path + SLASH + fixedName + ".h").c_str());
+    if( !out.is_open())
+      {
+        return false;
+      }
+
+    out << "/*" << std::endl;
+    out << "# ---------------------------------------------------------------------" << std::endl;
+    out << "#" << std::endl;
+    out << "# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image" << std::endl;
+    out << "#                        pour la Sante)" << std::endl;
+    out << "# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton" << std::endl;
+    out << "# Previous Authors : Laurent Guigues, Jean-Pierre Roux" << std::endl;
+    out << "# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil" << std::endl;
+    out << "#" << std::endl;
+    out << "#  This software is governed by the CeCILL-B license under French law and" << std::endl;
+    out << "#  abiding by the rules of distribution of free software. You can  use," << std::endl;
+    out << "#  modify and/ or redistribute the software under the terms of the CeCILL-B" << std::endl;
+    out << "#  license as circulated by CEA, CNRS and INRIA at the following URL" << std::endl;
+    out << "#  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html" << std::endl;
+    out << "#  or in the file LICENSE.txt." << std::endl;
+    out << "#" << std::endl;
+    out << "#  As a counterpart to the access to the source code and  rights to copy," << std::endl;
+    out << "#  modify and redistribute granted by the license, users are provided only" << std::endl;
+    out << "#  with a limited warranty  and the software's author,  the holder of the" << std::endl;
+    out << "#  economic rights,  and the successive licensors  have only  limited" << std::endl;
+    out << "#  liability." << std::endl;
+    out << "#" << std::endl;
+    out << "#  The fact that you are presently reading this means that you have had" << std::endl;
+    out << "#  knowledge of the CeCILL-B license and that you accept its terms." << std::endl;
+    out << "# ------------------------------------------------------------------------" << std::endl;
+    out << "*/" << std::endl;
+    out << "" << std::endl;
+    out << "#ifndef _" << nameupper << "_H_" << std::endl;
+    out << "#define _" << nameupper << "_H_" << std::endl;
+    out << "" << std::endl;
+    out << "//---------------------------------------------" << std::endl;
+    out << "// Class Name: " << fixedName << "" << std::endl;
+    out << "// [classdescription]" << std::endl;
+    out << "//---------------------------------------------" << std::endl;
+    out << "" << std::endl;
+    out << "class " << fixedName << "" << std::endl;
+    out << "{" << std::endl;
+    out << "" << std::endl;
+    out << "//---------------------------------------------" << std::endl;
+    out << "//Methods and attributes exposed to other classes" << std::endl;
+    out << "//---------------------------------------------" << std::endl;
+    out << "public :" << std::endl;
+    out << "  " << fixedName << "();" << std::endl;
+    out << "  ~" << fixedName << "();" << std::endl;
+    out << "" << std::endl;
+    out << "//--Method template----------------------------" << std::endl;
+    out << "//  void FunctionName(int& parameterA);" << std::endl;
+    out << "" << std::endl;
+    out << "" << std::endl;
+    out << "//---------------------------------------------" << std::endl;
+    out << "//Methods and attributes exposed only to classes" << std::endl;
+    out << "//that are derived from this class" << std::endl;
+    out << "//---------------------------------------------" << std::endl;
+    out << "protected:" << std::endl;
+    out << "" << std::endl;
+    out << "//---------------------------------------------" << std::endl;
+    out << "//Methods and attributes only visible by this class" << std::endl;
+    out << "//---------------------------------------------" << std::endl;
+    out << "private:" << std::endl;
+    out << "" << std::endl;
+    out << "};" << std::endl;
+    out << "" << std::endl;
+    out << "//-end of _" << nameupper << "_H_------------------------------------------------------" << std::endl;
+    out << "#endif" << std::endl;
+
+    out.close();
+
+    out.open((path + CDMUtilities::SLASH + fixedName + ".cpp").c_str());
+    if( !out.is_open())
+      {
+        return false;
+      }
+
+    out << "/*" << std::endl;
+    out << "# ---------------------------------------------------------------------" << std::endl;
+    out << "#" << std::endl;
+    out << "# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image" << std::endl;
+    out << "#                        pour la Sante)" << std::endl;
+    out << "# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton" << std::endl;
+    out << "# Previous Authors : Laurent Guigues, Jean-Pierre Roux" << std::endl;
+    out << "# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil" << std::endl;
+    out << "#" << std::endl;
+    out << "#  This software is governed by the CeCILL-B license under French law and" << std::endl;
+    out << "#  abiding by the rules of distribution of free software. You can  use," << std::endl;
+    out << "#  modify and/ or redistribute the software under the terms of the CeCILL-B" << std::endl;
+    out << "#  license as circulated by CEA, CNRS and INRIA at the following URL" << std::endl;
+    out << "#  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html" << std::endl;
+    out << "#  or in the file LICENSE.txt." << std::endl;
+    out << "#" << std::endl;
+    out << "#  As a counterpart to the access to the source code and  rights to copy," << std::endl;
+    out << "#  modify and redistribute granted by the license, users are provided only" << std::endl;
+    out << "#  with a limited warranty  and the software's author,  the holder of the" << std::endl;
+    out << "#  economic rights,  and the successive licensors  have only  limited" << std::endl;
+    out << "#  liability." << std::endl;
+    out << "#" << std::endl;
+    out << "#  The fact that you are presently reading this means that you have had" << std::endl;
+    out << "#  knowledge of the CeCILL-B license and that you accept its terms." << std::endl;
+    out << "# ------------------------------------------------------------------------" << std::endl;
+    out << "*/" << std::endl;
+    out << "" << std::endl;
+    out << "#include \"" << fixedName << ".h\"" << std::endl;
+    out << "" << std::endl;
+    out << "" << fixedName << "::" << fixedName << "()" << std::endl;
+    out << "{" << std::endl;
+    out << "}" << std::endl;
+    out << "" << std::endl;
+    out << "" << fixedName << "::~" << fixedName << "()" << std::endl;
+    out << "{" << std::endl;
+    out << "}" << std::endl;
+    out << "" << std::endl;
+    out << "//---------------------------------------------" << std::endl;
+    out << "//Method template" << std::endl;
+    out << "//---------------------------------------------" << std::endl;
+    out << "/*" << std::endl;
+    out << "void " << fixedName << "::FunctionName(int& parameterA)" << std::endl;
+    out << "{" << std::endl;
+    out << "  parameterA = 2 * parameterA;" << std::endl;
+    out << "  return;" << std::endl;
+    out << "}" << std::endl;
+    out << "*/" << std::endl;
+
+    return true;
+  }
+
+  std::string stringify(const std::string& line)
+  {
+	std::string res;
+	for (int i = 0; i < (int)(line.size()); i++)
+	{
+	  if(line[i] == '\\')
+	    res.push_back('\\');
+	  if(line[i] == '\"')
+	    res.push_back('\\');
+	  res.push_back(line[i]);
+	}
+	return res;
+  }
+
+  std::string readFile(const std::string& file_path)
+  {
+    std::string res;
+    std::ifstream file(file_path.c_str());
+    if (file.is_open())
+      {
+        char ch = file.get();
+        while (!file.eof())
+          {
+            res.push_back(ch);
+            ch = file.get();
+          }
+        file.close();
+      }
+    return res;
+  }
+
+  bool writeFile(const std::string& file_path, const std::string& st)
+  {
+    std::ofstream file(file_path.c_str());
+    if (file.is_open())
+      {
+        file << st;
+        file.close();
+        return true;
+      }
+    return false;
+
+  }
+
+  CMLFile readCMLFile(const std::string& file_path)
+  {
+    CMLFile res;
+
+    std::ifstream file(file_path.c_str());
+    if (file.is_open())
+      {
+        char ch = file.get();
+        while (!file.eof())
+          {
+            syntaxElement element;
+            if (isspace(ch))
+              {
+                //std::cout << "space" << std::endl;
+                element.first = "space";
+                element.second.push_back(std::string(1,ch));
+              }
+            else if (ch == '#')
+              {
+                //std::cout << "comment" << std::endl;
+                element.first = "comment";
+                std::string commentValue;
+                while (ch != '\n')
+                  {
+                    commentValue.push_back(ch);
+
+                    ch = file.get();
+                    if (file.eof())
+                      break;
+                  };
+                if (!file.eof())
+                  commentValue.push_back('\n');
+                element.second.push_back(commentValue);
+              }
+            else
+              {
+                //std::cout << "command" << std::endl;
+                element.first = "command";
+                std::string commandValue;
+                while (true)
+                  {
+                    //std::cout << ch;
+                    //std::cout.flush();
+                    while(!isspace(ch) && ch != '(' && ch != ')' && ch != '#')
+                      {
+                        if(ch == '"')
+                          {
+                            if (commandValue.size()) {
+                              element.second.push_back(commandValue);
+                              commandValue.clear();
+                            }
+                            commandValue.push_back(ch);
+                            ch = file.get();
+                            while(!file.eof() && ch != '"')
+                              {
+                                if(ch == '\\')
+                                  {
+                                    commandValue.push_back(ch);
+                                    ch = file.get();
+                                    if(!file.eof())
+                                      commandValue.push_back(ch);
+                                  }
+                                else
+                                  {
+                                    commandValue.push_back(ch);
+                                  }
+                                ch = file.get();
+                              }
+                            if(!file.eof())
+                              commandValue.push_back(ch);
+                            element.second.push_back(commandValue);
+                            commandValue.clear();
+                          }
+                        else
+                          commandValue.push_back(ch);
+
+                        ch = file.get();
+                      }
+
+                    if (!file.eof() && (isspace(ch) || ch == '(' || ch == ')' || ch == '#'))
+                      {
+                        if (commandValue.size()) {
+                          element.second.push_back(commandValue);
+                          commandValue.clear();
+                        }
+                        commandValue.push_back(ch);
+                        if (ch == '#') {
+                          while (ch != '\n') {
+                            ch = file.get();
+                            if (file.eof())
+                              break;
+                            commandValue.push_back(ch);
+                          };
+                        }
+                        element.second.push_back(commandValue);
+                        if (commandValue == ")")
+                          {
+                            commandValue.clear();
+                            break;
+                          }
+                        commandValue.clear();
+                      }
+
+                    ch = file.get();
+                    if (file.eof())
+                      break;
+                  }
+              }
+            res.push_back(element);
+
+            ch = file.get();
+            if (file.eof())
+              break;
+          }
+
+        file.close();
+      }
+
+/*
+    std::cout << "CMakeLists: " << file_path << std::endl;
+    for (int i = 0; i < res.size(); ++i) {
+      if (res[i].first == "command")
+        std::cout << "@";
+      for (int j = 0; j < res[i].second.size(); ++j) {
+        std::cout << "~" << res[i].second[j];
+      }
+      if (res[i].first == "command")
+        std::cout << "@";
+    }
+    std::cout << "End of file" << std::endl;
+*/
+    return res;
+  }
+
+  bool writeCMLFile(const std::string& file_path, const CMLFile& data)
+  {
+    std::ofstream file(file_path.c_str());
+    if(file.is_open())
+      {
+        for (int i = 0; i < data.size(); ++i) {
+          for (int j = 0; j < data[i].second.size(); ++j) {
+            file << data[i].second[j];
+          }
+        }
+        file.close();
+        return true;
+      }
+    return false;
+  }
+
+
+
+  void
+  normalizeStr(std::string& st)
+  {
+    while(st.size() && isspace(st[0]))
+      st.erase(0,1);
+    while(st.size() && isspace(st[st.size()-1]))
+      st.erase(st.size()-1,1);
+    return;
+  }
+
+}
diff --git a/lib/creaDevManagerLib/CDMUtilities.h b/lib/creaDevManagerLib/CDMUtilities.h
new file mode 100644
index 0000000..4558c18
--- /dev/null
+++ b/lib/creaDevManagerLib/CDMUtilities.h
@@ -0,0 +1,269 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * CDMUtilities.h
+ *
+ *  Created on: Nov 23, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef CDMUTILITIES_H_
+#define CDMUTILITIES_H_
+
+#include<iostream>
+#include<vector>
+#include<cstddef>
+
+namespace CDMUtilities
+{
+  /**
+   * Path slash
+   */
+#ifdef _WIN32
+  // ------ Windows
+  static std::string SLASH = "\\";
+#elif __APPLE__
+  // ------ Apple
+  static std::string SLASH = "/";
+#else
+  static std::string SLASH = "/";
+#endif
+
+  /**
+   * Text editor program
+   */
+#ifdef _WIN32
+  // ------ Windows
+  static std::string TEXT_EDITOR = "notepad";
+#elif __APPLE__
+  // ------ Apple
+  //TODO: implementation for apple
+#else
+  static std::string TEXT_EDITOR = "gedit";
+#endif
+
+  /**
+   * File explorer program
+   */
+#ifdef _WIN32
+  // ------ Windows
+  static std::string FILE_EXPLORER = "explorer";
+#elif __APPLE__
+  // ------ Apple
+  //TODO: implementation for apple
+#else
+  static std::string FILE_EXPLORER = "nautilus";
+#endif
+
+  /**
+   * Terminal program
+   */
+#ifdef _WIN32
+  // ------ Windows
+  static std::string TERMINAL = "start cmd.exe";
+#elif __APPLE__
+  // ------ Apple
+  //TODO: implementation for apple
+#else
+  static std::string TERMINAL = "gnome-terminal";
+#endif
+
+
+//EED 10/07/2013
+//#ifndef _WIN32
+  /**
+   * Build Command
+   */
+  static std::string BUILD_COMMAND = "make";
+//#endif
+
+  /**
+   * Structure that handles the split method for c++
+   * It calls the split method to split a string given certain delimiters.
+   */
+  struct splitter
+  {
+    /**
+     * Enum to allow or not empty resulting strings after performing splits.
+     */
+    enum empties_t { empties_ok, no_empties };
+    /**
+     * Method to split a string given a set of delimiter characters.
+     * @param result Resulting container.
+     * @param s String to be splitted.
+     * @param delimiters Delimiter characters to split the string.
+     * @param empties Either allow or not empty resulting strings after performing split.
+     * @return Resulting container.
+     */
+    template <typename Container>
+    static Container& split
+    (
+        Container& result,
+        const typename Container::value_type& s,
+        const typename Container::value_type& delimiters,
+        empties_t empties = empties_ok
+      )
+      {
+        result.clear();
+        size_t current;
+        size_t next = -1;
+        do
+        {
+          if (empties == no_empties)
+          {
+            next = s.find_first_not_of(delimiters, next + 1);
+            if (next == Container::value_type::npos)
+            {
+              break;
+            }
+            next -= 1;
+          }
+          current = next + 1;
+          next = s.find_first_of(delimiters, current);
+          result.push_back(s.substr(current, next - current));
+        }
+        while (next != Container::value_type::npos);
+        return result;
+      }
+  };
+
+  /**
+   * Fixes a given path to avoid double slash directories
+   * @param path Unfixed path.
+   * @return Fixed path.
+   */
+  const std::string fixPath(const std::string& path);
+
+  /**
+   * Opens the default text editor. If a file is given, then it tries to open the given file.
+   * @param file Full path to the file.
+   * @return True if there was an error on the execution of the operation.
+   */
+  int openTextEditor(const std::string& file = "");
+  /**
+   * Opens the system file explorer on the given file path
+   * @param file Path of the desired folder to open.
+   * @return True if there was an error on the execution of the operation.
+   */
+  int openFileExplorer(const std::string& file = "");
+  /**
+   * Opens a file with a given command.
+   * @param file Full path of the file to open.
+   * @param command Command to execute the file with.
+   * @param parameters Parameters to open file.
+   * @return True if there was an error on the execution of the operation.
+   */
+  int openFileWithCommand(const std::string& file, const std::string& command, const std::string& parameters = "");
+  /**
+   * Opens the BBTK Graphical Editor
+   * @return True if there was an error on the execution of the operation.
+   */
+  int openBBEditor();
+  /**
+   * Opens the minitools or the creaTools
+   * @return True if there was an error on the execution of the operation.
+   */
+  int openCreaToolsTools();
+  /**
+   * Open a command line interpreter and executes the given command if any.
+   * @param command Command to execute.
+   * @return True if there was an error on the execution of the operation.
+   */
+  int openTerminal(const std::string& command = "");
+  /**
+   * Creates a blank class(.h and .cpp files).
+   * @param name Name of the new class.
+   * @param path Path where the class is to be created.
+   * @return True if the class was successfully created.
+   */
+  bool createEmptyClass(const std::string& name, const std::string& path);
+  /**
+   * Creates a string replacing each \ by double \ .
+   * @param line String to stringify.
+   * @return line stringified.
+   */
+  std::string stringify(const std::string& line);
+
+  //CMakeLists file handling
+  /**
+   * Type definition for the value of a syntax element for CMakeLists files
+   */
+  typedef std::vector<std::string> cmdValue;
+
+  /**
+   * Type definition for the type of a syntax element for CMakeLists files
+   */
+  typedef std::string cmdType;
+
+  /**
+   * Type definition for syntax elements of a CMakeLists file
+   */
+  typedef std::pair<cmdType,cmdValue> syntaxElement;
+
+  /**
+   * Type definition for describing a CMakeLists file content
+   */
+  typedef std::vector<syntaxElement> CMLFile;
+
+  /**
+   * Reads a file as string and returns the read data.
+   * @param file_path Full path of the CMakeLists file.
+   * @return A string with the contents of the given file.
+   */
+  std::string readFile(const std::string& file_path);
+  /**
+   * Writes the given string into a file and returns whether the operation is successful.
+   * @param file_path Full path of the CMakeLists file.
+   * @param st string to write.
+   * @return True if the operation was successful.
+   */
+  bool writeFile(const std::string& file_path, const std::string& st);
+
+  /**
+   * Reads a CMakeLists file and returns the read data.
+   * @param file_path Full path of the CMakeLists file.
+   * @return A CMLFile with the contents of the given file.
+   */
+  CMLFile readCMLFile(const std::string& file_path);
+
+  /**
+   * Writes the given data into specified CMakeLists file.
+   * @param file_path Full path of the CMakeLists file.
+   * @param data CMakeLists data.
+   * @return True if the operation was successful.
+   */
+  bool writeCMLFile(const std::string& file_path, const CMLFile& data);
+
+  /**
+   * @param st Strips all space character at the beginning and at the end of the string.
+   */
+  void normalizeStr(std::string& st);
+
+};
+
+#endif /* CDMUTILITIES_H_ */
diff --git a/appli/creaNewProject/NewProject/lib/template_lib/CMakeLists.txt b/lib/creaDevManagerLib/CMakeLists.txt
similarity index 65%
copy from appli/creaNewProject/NewProject/lib/template_lib/CMakeLists.txt
copy to lib/creaDevManagerLib/CMakeLists.txt
index 277d895..d0daed4 100644
--- a/appli/creaNewProject/NewProject/lib/template_lib/CMakeLists.txt
+++ b/lib/creaDevManagerLib/CMakeLists.txt
@@ -1,9 +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.
+# ------------------------------------------------------------------------ */ 
+
+
 #----------------------------------------------------------------------------
 # USER! : SET THE NAME OF YOUR LIBRARY
 # (Replace 'MyLib' by your own library name)
 
 #############################
-SET ( LIBRARY_NAME   MyLib  )
+SET ( LIBRARY_NAME   creaDevManagerLib  )
 #############################
 
 #----------------------------------------------------------------------------
@@ -51,20 +77,26 @@ IF ( BUILD_${LIBRARY_NAME} )
   # USER! : Uncomment the Libraries you need
   #
   SET ( ${LIBRARY_NAME}_LINK_LIBRARIES
-  #    ${crea_LIBRARIES}
-  #    ${WXWIDGETS_LIBRARIES}
+    ${crea_LIBRARIES}
+    ${WXWIDGETS_LIBRARIES}
   #    ${KWWidgets_LIBRARIES}
   #    ${VTK_LIBRARIES}
   #    ${ITK_LIBRARIES}
   #    ${GDCM_LIBRARIES}
-  #    ${BOOST_LIBRARIES}
+      ${BOOST_LIBRARIES}
 
   # If this library must link against other libraries 
   # USER! : Add here any extra Library you need
-
-      )
+  crea
+  )
   #----------------------------------------------------------------------------
+  INCLUDE_DIRECTORIES (
 
+  # USER! : Add here the directories holding th extra .h files you need
+  # e.g.
+  # ../../lib/<my_library_I_just_created>
+  ../../src
+  )
   #----------------------------------------------------------------------------
   # MACRO WHICH DOES ALL THE JOB : BUILD AND INSTALL
 
diff --git a/lib/creaDevManagerLib/creaDevManagerIds.h b/lib/creaDevManagerLib/creaDevManagerIds.h
new file mode 100644
index 0000000..22a2808
--- /dev/null
+++ b/lib/creaDevManagerLib/creaDevManagerIds.h
@@ -0,0 +1,133 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * creaDevManagerIds.h
+ *
+ *  Created on: 19/10/2012
+ *      Author: Daniel Felipe Gonzalez Obando Gonzalez
+ */
+
+#ifndef CREADEVMANAGERIDS_H_
+#define CREADEVMANAGERIDS_H_
+
+#define ID_STATUS_BAR                   10200
+
+#define ID_MENU_NEW_PROJECT             10201
+#define ID_MENU_OPEN_PROJECT            10202
+#define ID_MENU_OPEN_RECENT             10203
+#define ID_MENU_CLOSE_PROJECT           10204
+#define ID_MENU_CLOSE_ALL_PROJECTS      10205
+#define ID_MENU_EXPORT_HIERARCHY        10206
+#define ID_MENU_EXIT                    10207
+
+#define ID_MENU_REFRESH_PROJECT         10208
+#define ID_MENU_SETTINGS                10209
+#define ID_MENU_COPY                    10210
+#define ID_MENU_PASTE                   10211
+#define ID_MENU_DELETE                  10212
+#define ID_MENU_SELECT_ALL              10213
+#define ID_MENU_SELECT_NONE             10214
+
+#define ID_MENU_EVENT_LOG               10215
+#define ID_MENU_BBTK_GRAPHICAL_EDITOR   10216
+#define ID_MENU_MINITOOLS               10217
+#define ID_MENU_CODE_EDITOR             10218
+#define ID_MENU_COMMAND_LINE            10219
+
+#define ID_MENU_TOGGLE_HELP             10220
+#define ID_MENU_HELP                    10221
+#define ID_MENU_REPORT_BUG              10222
+#define ID_MENU_ABOUT_CREADEVMANAGER    10223
+#define ID_MENU_ABOUT_CREATIS           10224
+#define ID_MENU_SHOW_PROJECT_MAP        10225
+
+#define ID_TREE_PROJECTS                10226
+#define ID_WINDOW_PROPERTIES            10227
+#define ID_WINDOW_PROJ_ACTIONS          10228
+
+#define ID_BUTTON_NEXT                  10300
+#define ID_BUTTON_PREV                  10301
+#define ID_BUTTON_CANCEL                10302
+#define ID_BUTTON_CHOOSE                10303
+
+#define ID_BUTTON_NEWPROJECT            10304
+#define ID_BUTTON_OPENPROJECT           10305
+
+#define ID_BUTTON_CREATE_PACKAGE        10306
+#define ID_BUTTON_CREATE_BLACKBOX       10307
+#define ID_BUTTON_CREATE_LIBRARY        10308
+#define ID_BUTTON_CREATE_APPLICATION    10309
+#define ID_BUTTON_EDIT_CMAKELISTSFILE   10310
+#define ID_BUTTON_CREATE_FOLDER         10311
+#define ID_BUTTON_CREATE_CLASS          10312
+#define ID_BUTTON_OPEN_CXX              10313
+#define ID_BUTTON_OPEN_HXX              10314
+#define ID_BUTTON_OPEN_FOLDER           10315
+#define ID_BUTTON_OPEN_FILE             10316
+#define ID_BUTTON_OPEN_COMMAND          10317
+#define ID_BUTTON_SET_VERSION           10318
+#define ID_BUTTON_SET_BUILD_PATH        10319
+#define ID_BUTTON_OPEN_BUILD_PATH       10320
+#define ID_BUTTON_SET_AUTHOR            10321
+#define ID_BUTTON_SET_DESCRIPTION       10322
+#define ID_BUTTON_SET_NAME              10323
+#define ID_BUTTON_SET_CATEGORY          10324
+
+
+#define ID_BUTTON_BUILD_PROJECT         10325
+#define ID_BUTTON_CONFIGURE_BUILD       10326
+#define ID_BUTTON_CONNECT_PROJECT       10327
+
+#define ID_BUTTON_GOTO_PACKAGE_MANAGER  10328
+#define ID_BUTTON_GOTO_APPLI_MANAGER    10329
+#define ID_BUTTON_GOTO_LIB_MANAGER      10330
+
+#define ID_LINK_SELECT_PACKAGE          10331
+#define ID_LINK_SELECT_LIBRARY          10332
+#define ID_LINK_SELECT_APPLICATION      10333
+#define ID_LINK_SELECT_BLACKBOX         10334
+
+#define ID_CHECK_INCLUDE_LIBRARY        10335
+#define ID_CHECK_INCLUDE_3RDLIBRARY     10336
+#define ID_CHECK_INCLUDE_PACKAGE        10337
+#define ID_CHECK_INCLUDE_APPLICATION    10338
+
+#define ID_CHECKBOX_ENABLE_HELP         10339
+#define ID_CHECKBOX_DISABLE_HELP        10340
+#define ID_CHECKBOX_TOGGLE_HELP         10341
+
+#define ID_BUTTON_CHECK_PROJECT         10342
+
+#define ID_MENU_OPEN_RECENT1            10343
+#define ID_MENU_OPEN_RECENT2            10344
+#define ID_MENU_OPEN_RECENT3            10345
+#define ID_MENU_OPEN_RECENT4            10346
+#define ID_MENU_OPEN_RECENT5            10347
+
+#endif /* CREADEVMANAGERIDS_H_ */
diff --git a/lib/creaDevManagerLib/creaSystem.h b/lib/creaDevManagerLib/creaSystem.h
new file mode 100644
index 0000000..d17a49b
--- /dev/null
+++ b/lib/creaDevManagerLib/creaSystem.h
@@ -0,0 +1,53 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+#ifndef _$PROJECT_NAME$SYSTEM_H_
+#define _$PROJECT_NAME$SYSTEM_H_
+
+
+// Windoze related troubles (as usual)
+
+//-----------------------------------------------------------------------------
+
+#if defined(_WIN32)
+  #ifdef $PROJECT_NAME$_EXPORT_SYMBOLS
+    #define $PROJECT_NAME$_EXPORT __declspec( dllexport )
+#else
+    #define $PROJECT_NAME$_EXPORT __declspec( dllimport )
+  #endif
+  #define $PROJECT_NAME$_CDECL __cdecl
+#else
+  #define $PROJECT_NAME$_EXPORT
+  #define $PROJECT_NAME$_CDECL
+#endif // defined(_WIN32)
+
+#ifdef __BORLANDC__
+  #include <mem.h>
+#endif
+
+#endif
diff --git a/lib/creaDevManagerLib/creaSystem.h.in b/lib/creaDevManagerLib/creaSystem.h.in
new file mode 100644
index 0000000..88eb13c
--- /dev/null
+++ b/lib/creaDevManagerLib/creaSystem.h.in
@@ -0,0 +1,54 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+
+#ifndef _$PROJECT_NAME$SYSTEM_H_
+#define _$PROJECT_NAME$SYSTEM_H_
+
+
+// Windoze related troubles (as usual)
+
+//-----------------------------------------------------------------------------
+
+#if defined(_WIN32)
+  #ifdef $PROJECT_NAME$_EXPORT_SYMBOLS
+    #define $PROJECT_NAME$_EXPORT __declspec( dllexport )
+#else
+    #define $PROJECT_NAME$_EXPORT __declspec( dllimport )
+  #endif
+  #define $PROJECT_NAME$_CDECL __cdecl
+#else
+  #define $PROJECT_NAME$_EXPORT
+  #define $PROJECT_NAME$_CDECL
+#endif // defined(_WIN32)
+
+#ifdef __BORLANDC__
+  #include <mem.h>
+#endif
+
+#endif
diff --git a/lib/creaDevManagerLib/images/AIcon20.xpm b/lib/creaDevManagerLib/images/AIcon20.xpm
new file mode 100644
index 0000000..bcc1a0b
--- /dev/null
+++ b/lib/creaDevManagerLib/images/AIcon20.xpm
@@ -0,0 +1,138 @@
+/* XPM */
+const static char * AIcon20[] = {
+"20 20 115 2",
+"  	c None",
+". 	c #171E27",
+"+ 	c #666B71",
+"@ 	c #8E9297",
+"# 	c #909498",
+"$ 	c #8F9297",
+"% 	c #6A6F75",
+"& 	c #191F29",
+"* 	c #686C72",
+"= 	c #ECECED",
+"- 	c #909398",
+"; 	c #868B8F",
+"> 	c #878B8F",
+", 	c #EBECEC",
+"' 	c #A6A9AC",
+") 	c #EAEBEB",
+"! 	c #EBEDED",
+"~ 	c #ECEDED",
+"{ 	c #EAEBEC",
+"] 	c #EBEBEC",
+"^ 	c #686C73",
+"/ 	c #ECEDEE",
+"( 	c #363C44",
+"_ 	c #111821",
+": 	c #131B24",
+"< 	c #0F1721",
+"[ 	c #111822",
+"} 	c #272E36",
+"| 	c #262C35",
+"1 	c #101820",
+"2 	c #0E161F",
+"3 	c #101721",
+"4 	c #0F1620",
+"5 	c #353C43",
+"6 	c #84888D",
+"7 	c #182029",
+"8 	c #1C232C",
+"9 	c #1D242C",
+"0 	c #282F38",
+"a 	c #F6F7F7",
+"b 	c #D9DBDC",
+"c 	c #222931",
+"d 	c #181F28",
+"e 	c #86898D",
+"f 	c #7E8387",
+"g 	c #192029",
+"h 	c #1D242D",
+"i 	c #161D27",
+"j 	c #8A8E92",
+"k 	c #FFFFFF",
+"l 	c #373D45",
+"m 	c #82858A",
+"n 	c #7D8086",
+"o 	c #161D26",
+"p 	c #9A9DA1",
+"q 	c #A7ABAE",
+"r 	c #141C25",
+"s 	c #7E8287",
+"t 	c #7E8187",
+"u 	c #5A5F65",
+"v 	c #484D55",
+"w 	c #AFB1B4",
+"x 	c #232A33",
+"y 	c #7C8186",
+"z 	c #1B222B",
+"A 	c #A4A6AA",
+"B 	c #F5F5F6",
+"C 	c #53585F",
+"D 	c #6B6F75",
+"E 	c #7D8186",
+"F 	c #808489",
+"G 	c #141B25",
+"H 	c #EFF0F0",
+"I 	c #E8E9EA",
+"J 	c #7F8388",
+"K 	c #8F9397",
+"L 	c #FBFBFB",
+"M 	c #B4B7BA",
+"N 	c #1A212A",
+"O 	c #808488",
+"P 	c #5A5E65",
+"Q 	c #19212A",
+"R 	c #7B8085",
+"S 	c #909499",
+"T 	c #7F8389",
+"U 	c #171E28",
+"V 	c #D9DADC",
+"W 	c #EDEEEF",
+"X 	c #0C141D",
+"Y 	c #5B5F66",
+"Z 	c #7A7E83",
+"` 	c #7D8286",
+" .	c #353B43",
+"..	c #F9F9F9",
+"+.	c #9EA1A5",
+"@.	c #E9EAEB",
+"#.	c #8D9196",
+"$.	c #141B24",
+"%.	c #474D54",
+"&.	c #C4C6C8",
+"*.	c #BCBEC1",
+"=.	c #2F353E",
+"-.	c #8D9195",
+";.	c #6B7075",
+">.	c #B3B5B9",
+",.	c #7A7F84",
+"'.	c #808389",
+").	c #7F8488",
+"!.	c #80858A",
+"~.	c #797E83",
+"{.	c #B0B3B6",
+"].	c #65696F",
+"^.	c #8C9095",
+"/.	c #8C9094",
+"(.	c #64686E",
+"                                        ",
+"                                        ",
+"    . + @ # # # # # # # # # # $ % &     ",
+"    * = - ; > > > > > > > > ; - , %     ",
+"    * ' ) ! ) ~ { ) ) ] ~ { ! ) ' ^     ",
+"    > / ( _ : < [ } | 1 2 3 4 5 / >     ",
+"    # 6 7 8 8 9 0 a b c 8 8 8 d e #     ",
+"    # f g h h i j k k l 8 h h g m #     ",
+"    # n g h h o k p k q r h h g s #     ",
+"    - t g h h u k v w k x h h g y #     ",
+"    # s g h z A B } C k D h h g E #     ",
+"    # F g h G H I J K L M N h g E #     ",
+"    # O g N P k k k k k L Q 8 g R S     ",
+"    # T g U V W X : [ Y k Z g g ` #     ",
+"    # s g  ...+.z h 8 i @.I 8 g J #     ",
+"    #.A $.%.&.%.g g g d s *.=.$.A -.    ",
+"    ;.k >.,.E '.'.).!.J F F ~.{.k ].    ",
+"    N % ^.S # # # # # # # # S /.(.i     ",
+"                                        ",
+"                                        "};
diff --git a/lib/creaDevManagerLib/images/AIcon64.xpm b/lib/creaDevManagerLib/images/AIcon64.xpm
new file mode 100644
index 0000000..c580dc4
--- /dev/null
+++ b/lib/creaDevManagerLib/images/AIcon64.xpm
@@ -0,0 +1,295 @@
+/* XPM */
+const static char * AIcon64[] = {
+"64 64 228 2",
+"  	c None",
+". 	c #1D242D",
+"+ 	c #1C232C",
+"@ 	c #1A212B",
+"# 	c #19212A",
+"$ 	c #192029",
+"% 	c #19202A",
+"& 	c #1A212A",
+"* 	c #141C25",
+"= 	c #131A24",
+"- 	c #202730",
+"; 	c #272E37",
+"> 	c #2B313A",
+", 	c #282F37",
+"' 	c #222931",
+") 	c #151C25",
+"! 	c #131B24",
+"~ 	c #4A5158",
+"{ 	c #A0A4A7",
+"] 	c #CFD0D2",
+"^ 	c #E6E7E8",
+"/ 	c #F1F2F2",
+"( 	c #E9EAEB",
+"_ 	c #D4D5D7",
+": 	c #A8ABAE",
+"< 	c #575D63",
+"[ 	c #151D26",
+"} 	c #1B222B",
+"| 	c #141B25",
+"1 	c #777B81",
+"2 	c #F6F7F7",
+"3 	c #FFFFFF",
+"4 	c #898C91",
+"5 	c #161D26",
+"6 	c #4C5158",
+"7 	c #FBFBFC",
+"8 	c #FDFDFD",
+"9 	c #F4F4F5",
+"0 	c #F1F1F2",
+"a 	c #565B62",
+"b 	c #141B24",
+"c 	c #A3A5AA",
+"d 	c #E1E1E3",
+"e 	c #898D92",
+"f 	c #4E535A",
+"g 	c #30373E",
+"h 	c #252C35",
+"i 	c #272D36",
+"j 	c #AAADB0",
+"k 	c #151C26",
+"l 	c #222831",
+"m 	c #D3D5D7",
+"n 	c #B0B2B5",
+"o 	c #252C34",
+"p 	c #030A15",
+"q 	c #232A33",
+"r 	c #272E36",
+"s 	c #D8D9DB",
+"t 	c #232A32",
+"u 	c #C6C8CA",
+"v 	c #0F1720",
+"w 	c #323940",
+"x 	c #929599",
+"y 	c #CACCCE",
+"z 	c #E9E9EA",
+"A 	c #F6F6F7",
+"B 	c #293038",
+"C 	c #2D343C",
+"D 	c #F3F3F4",
+"E 	c #52575F",
+"F 	c #5F646A",
+"G 	c #ECECED",
+"H 	c #52575E",
+"I 	c #2F353D",
+"J 	c #DADCDD",
+"K 	c #6D7177",
+"L 	c #FAFAFA",
+"M 	c #F9F9F9",
+"N 	c #F2F2F3",
+"O 	c #EEEFEF",
+"P 	c #EDEEEF",
+"Q 	c #EFEFF0",
+"R 	c #EEEEEF",
+"S 	c #2D333C",
+"T 	c #E2E3E4",
+"U 	c #D5D7D8",
+"V 	c #777B80",
+"W 	c #41474F",
+"X 	c #2C323B",
+"Y 	c #2A3139",
+"Z 	c #2B323A",
+"` 	c #30363E",
+" .	c #2A313A",
+"..	c #242A33",
+"+.	c #242B33",
+"@.	c #293039",
+"#.	c #2A3039",
+"$.	c #212830",
+"%.	c #212831",
+"&.	c #222932",
+"*.	c #F1F1F1",
+"=.	c #9B9FA2",
+"-.	c #242B34",
+";.	c #0F1620",
+">.	c #181F28",
+",.	c #B7B9BC",
+"'.	c #171E27",
+").	c #FCFCFC",
+"!.	c #52585F",
+"~.	c #545960",
+"{.	c #686D73",
+"].	c #121922",
+"^.	c #F2F3F3",
+"/.	c #2B3139",
+"(.	c #A6A9AC",
+"_.	c #BBBDC0",
+":.	c #1E252E",
+"<.	c #2D333B",
+"[.	c #262C35",
+"}.	c #1E242D",
+"|.	c #2E353D",
+"1.	c #676C72",
+"2.	c #7C8085",
+"3.	c #252B34",
+"4.	c #BABCBE",
+"5.	c #F0F1F1",
+"6.	c #3E444C",
+"7.	c #292F38",
+"8.	c #7A7F84",
+"9.	c #E3E4E5",
+"0.	c #919499",
+"a.	c #ECEDED",
+"b.	c #CDCED0",
+"c.	c #F8F8F9",
+"d.	c #60656B",
+"e.	c #1E252D",
+"f.	c #FEFEFE",
+"g.	c #EAEBEB",
+"h.	c #3C424A",
+"i.	c #8E9296",
+"j.	c #6E7378",
+"k.	c #A0A3A7",
+"l.	c #A5A8AC",
+"m.	c #E0E0E2",
+"n.	c #555B61",
+"o.	c #232932",
+"p.	c #ECEDEE",
+"q.	c #4F545B",
+"r.	c #666B71",
+"s.	c #EDEEEE",
+"t.	c #A2A5A8",
+"u.	c #71757B",
+"v.	c #B9BBBE",
+"w.	c #1F262F",
+"x.	c #EFF0F0",
+"y.	c #2C323A",
+"z.	c #62676D",
+"A.	c #BEC0C2",
+"B.	c #B5B7BA",
+"C.	c #73787D",
+"D.	c #A4A6AA",
+"E.	c #FBFBFB",
+"F.	c #2C333B",
+"G.	c #585D64",
+"H.	c #767A80",
+"I.	c #C1C3C5",
+"J.	c #8F9397",
+"K.	c #C9CACC",
+"L.	c #E0E1E2",
+"M.	c #393F47",
+"N.	c #51565D",
+"O.	c #20272F",
+"P.	c #A3A5A9",
+"Q.	c #1F252E",
+"R.	c #282E37",
+"S.	c #DCDDDE",
+"T.	c #4B5057",
+"U.	c #64696F",
+"V.	c #262D36",
+"W.	c #9DA0A4",
+"X.	c #C2C4C7",
+"Y.	c #EBECEC",
+"Z.	c #6C7177",
+"`.	c #999CA0",
+" +	c #5E6369",
+".+	c #434850",
+"++	c #797D82",
+"@+	c #B1B3B6",
+"#+	c #A4A7AB",
+"$+	c #CECFD1",
+"%+	c #CBCDCF",
+"&+	c #3C4249",
+"*+	c #72767C",
+"=+	c #8D9195",
+"-+	c #C4C6C8",
+";+	c #878A8F",
+">+	c #ACAFB2",
+",+	c #DFE0E1",
+"'+	c #353B43",
+")+	c #333A42",
+"!+	c #121923",
+"~+	c #51575E",
+"{+	c #F2F2F2",
+"]+	c #B6B8BB",
+"^+	c #D8DADB",
+"/+	c #9B9EA2",
+"(+	c #121A23",
+"_+	c #CED0D1",
+":+	c #AEB0B3",
+"<+	c #75797F",
+"[+	c #40454E",
+"}+	c #30363F",
+"|+	c #9C9FA3",
+"1+	c #131A23",
+"2+	c #5C6167",
+"3+	c #F7F7F7",
+"4+	c #444951",
+"5+	c #929699",
+"6+	c #F3F3F3",
+"7+	c #161E27",
+"8+	c #5D6268",
+"9+	c #ABADB1",
+"0+	c #D6D6D8",
+"a+	c #EBECED",
+"b+	c #E7E8E9",
+"c+	c #CDCFD0",
+"d+	c #454B52",
+"e+	c #1A222B",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                  . . + @ # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % & + . .                   ",
+"              . . . * = - ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , ' ) = + . .               ",
+"              . + ! ~ { ] ^ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ( _ : < [ } .               ",
+"            . . | 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 + .             ",
+"          . . | 6 7 3 3 3 8 9 0 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 0 9 8 3 3 3 3 a = . .           ",
+"          . . b c 3 3 d e f g h i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i h g f e d 3 3 j k + .           ",
+"          . } l m 3 n o p 5 q r i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i r q 5 p o n 3 s t & .           ",
+"          . % , 9 u v w x y z / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / z y x w v u A B $ .           ",
+"          . $ C D E F G 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 G F H D C $ .           ",
+"          . $ I J K L 3 3 3 3 M N / / / O P Q / / / 0 P P R P P P P R P P 0 / / / Q P O / / / N M 3 3 3 3 L K J I $ .           ",
+"          . $ S T U 3 3 3 s V W X Y Z i `  .h ..i ...., B r +.r , @.I #.r $.- q %.+.B &.- r Y X W V s 3 3 3 U T S $ .           ",
+"          . $ > *.3 3 3 =.-.;.>.+ + + . . . . . + . . . . . . . . . . . . . . . . . . . . & $ $ 5 ;.-.=.3 3 3 *.> $ .           ",
+"          . $ > / 3 3 ,.* '.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . '.* ,.3 3 / > $ .           ",
+"          . $ > / 3 ).!.5 . . . . . . . . . . . . . . . ~.3 3 3 3 3 {.. . . . . . . . . . . + . . . . ].!.).3 / > $ .           ",
+"          . $ > / 3 ^./.+ . . . . . . . . . . . . . . . (.3 3 3 3 3 _.:.. . . . . . . . . . . . . . . & <.^.3 / > $ .           ",
+"          . $ > / 3 / [.. . . . . . . . . . . . . . }.../ 3 3 3 3 3 L |.. . . . . . . . . . . . . . . } #./ 3 / > $ .           ",
+"          . $ > / 3 / [.. . . . . . . . . . . . . . . 1.3 3 3 3 3 3 3 2.. . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 / 3.. . . . . . . . . . . . . . . 4.3 3 3 3 3 3 3 ] . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 5.3.. . . . . . . . . . . . . . C L 3 3 3 3 3 3 3 3 6.. . . . . . . . . . . . . . + 7./ 3 / > $ .           ",
+"          . $ > / 3 O 3.. . . . . . . . . . . . . . 8.3 3 3 3 9.3 3 3 3 0.. . . . . . . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 a.[.. . . . . . . . . . . . . . b.3 3 3 c.d.3 3 3 3 T e.. . . . . . . . . . . . . . -./ 3 / > $ .           ",
+"          . $ > / f.g.i + . . . . . . . . . . . . h.3 3 3 3 4.:.( 3 3 3 3 !.. . . . . . . . . . . . . . %./ 3 / > $ .           ",
+"          . $ > / f.g.7.+ . . . . . . . . . . . . i.3 3 3 3 j.. k.3 3 3 3 l.. . . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / f.g.7.+ . . . . . . . . . . . . m.3 3 3 M #.. n.3 3 3 3 5.o.. . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / f.p.i + . . . . . . . . . . . q.3 3 3 3 _.. . :.g.3 3 3 3 r.. . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / 3 s.i . . . . . . . . . . . . t.3 3 3 3 u.. . . t.3 3 3 3 v.. . . . . . . . . . . . . w./ 3 / > $ .           ",
+"          . $ > / 3 x.3.. . . . . . . . . . . ' Q 3 3 3 L y.. . . a 3 3 3 3 L C . . . . . . . . . . . . w./ 3 / > $ .           ",
+"          . $ > / 3 5.o.. . . . . . . . . . . z.3 3 3 3 A.. . . . w.G 3 3 3 3 8.. . . . . . . . . . . . - 5.3 / > $ .           ",
+"          . $ > / 3 / ..+ . . . . . . . . . . B.3 3 3 3 C.. . . . . D.3 3 3 3 b.. . . . . . . . . . . . o.5.3 / > $ .           ",
+"          . $ > / 3 / i . . . . . . . . . . > c.3 3 3 E.F.. . . . . G.3 3 3 3 3 h.. . . . . . + . . . . ..x.3 / > $ .           ",
+"          . $ > / 3 / r + . . . . . . . . . H.3 3 3 3 I.. . . . . . w.G 3 3 3 3 J.. . . . . + . . . . . +.x.3 / > $ .           ",
+"          . $ > / 3 / i . . . . . . . . . . K.3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 L.. . . . . . . . . . . o.x.3 / > $ .           ",
+"          . $ > / 3 / t . . . . . . . . . M.3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 N.. . . . . . . . . . O.5.3 / > $ .           ",
+"          . $ > / 3 / ... . . . . . . . . e 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 P.. . . . . . . . . . Q.5.3 / > $ .           ",
+"          . $ > / 3 / R.. . . . . . . . . S.3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 Q ' . . . . . . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / B + . . . . . . . T.3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 U.. . . . . . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / V.+ . . . . . . . W.3 3 3 3 X.. . . . . . . . . . %.Y.3 3 3 3 ,.. . . . . . . . . w./ 3 / > $ .           ",
+"          . $ > / 3 / -.+ . . . . . . - Y.3 3 3 3 Z.. . . . . . . . . . . `.3 3 3 3 M F.. . . . . . . . %./ 3 / > $ .           ",
+"          . $ > / 3 / [.. . . . . . .  +3 3 3 3 N -.. . . . . . . . . . . .+3 3 3 3 3 ++. . . . . . . . -./ 3 / > $ .           ",
+"          . $ > / 3 / [.. . . . . . . @+3 3 3 3 #+. . . . . . . . . . . . . $+3 3 3 3 %+. . . . . . . . [./ 3 / > $ .           ",
+"          . $ > / 3 / 3.. . . . . . , 2 3 3 3 3 q.. . . . . . . . . . . . . 1 3 3 3 3 3 &+. . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 / [.+ . . . . . *+3 3 3 3 S.. . . . . . . . . . . . . . B 2 3 3 3 3 =+. . . . . . . R./ 3 / > $ .           ",
+"          . $ > / 3 ^.> + . . . . . -+3 3 3 3 ;+. . . . . . . . . . . . . . . >+3 3 3 3 ,+. . . . . . } X ^.3 / > $ .           ",
+"          . $ > / 3 ).H 5 . . . . '+8 3 3 3 ).)+. . . . . . . . . . . . . . . n.3 3 3 3 3 q.. . . + + !+~+).3 {+> $ .           ",
+"          . $ B a.3 3 ]+| } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + '.| B.3 3 z , % .           ",
+"          . & t ^+3 3 3 /+&.& + + . . . . . . . . . . . . . . . . . . . . . . . + + } + . . . . + (+-./+3 3 3 _+O.} .           ",
+"          . + 5 :+3 3 3 3 s <+[+-.:.. w.%.-.[.[.[.[.[.[.+.-.7.F.C C 3.$.q [.[.i R.#.> i l w.. :.}+<+s 3 3 3 3 |+1+. .           ",
+"          . . 1+2+3 3 3 3 3 3 c./ / / / / / / / / / / / / 5.P P P P 5./ / / / / / / / / / / / / c.3 3 3 3 3 3+4+k . .           ",
+"            . + >.5+3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 6+j.= . .             ",
+"              . @ 7+8+9+0+a+/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / b+c+W.d+= + .               ",
+"              . . + (+5 &.7.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > R.- (+) . . .               ",
+"                  . . + & % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # e++ . .                   ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                "};
diff --git a/lib/creaDevManagerLib/images/ApIcon20.xpm b/lib/creaDevManagerLib/images/ApIcon20.xpm
new file mode 100644
index 0000000..3549270
--- /dev/null
+++ b/lib/creaDevManagerLib/images/ApIcon20.xpm
@@ -0,0 +1,159 @@
+/* XPM */
+const static char * ApIcon20[] = {
+"20 20 136 2",
+"  	c None",
+". 	c #171E27",
+"+ 	c #666B71",
+"@ 	c #8E9297",
+"# 	c #909498",
+"$ 	c #8F9297",
+"% 	c #6A6F75",
+"& 	c #191F29",
+"* 	c #686C72",
+"= 	c #ECECED",
+"- 	c #909398",
+"; 	c #868B8F",
+"> 	c #878B8F",
+", 	c #EBECEC",
+"' 	c #A6A9AC",
+") 	c #EAEBEB",
+"! 	c #EBEDED",
+"~ 	c #ECEDED",
+"{ 	c #EAEBEC",
+"] 	c #EBEBEC",
+"^ 	c #686C73",
+"/ 	c #ECEDEE",
+"( 	c #363C44",
+"_ 	c #111821",
+": 	c #101721",
+"< 	c #09111A",
+"[ 	c #101821",
+"} 	c #121923",
+"| 	c #101720",
+"1 	c #0E161F",
+"2 	c #0F1620",
+"3 	c #353C43",
+"4 	c #84888D",
+"5 	c #182029",
+"6 	c #192029",
+"7 	c #7F8388",
+"8 	c #DFE0E1",
+"9 	c #171D26",
+"0 	c #1D242D",
+"a 	c #1C232C",
+"b 	c #181F28",
+"c 	c #86898D",
+"d 	c #7E8387",
+"e 	c #FFFFFF",
+"f 	c #4A4F57",
+"g 	c #1B222B",
+"h 	c #161D26",
+"i 	c #161D27",
+"j 	c #82858A",
+"k 	c #7D8086",
+"l 	c #42484F",
+"m 	c #F9FAFA",
+"n 	c #82858B",
+"o 	c #CDCED0",
+"p 	c #171E28",
+"q 	c #2B313A",
+"r 	c #979A9E",
+"s 	c #63686F",
+"t 	c #8E9196",
+"u 	c #3C424A",
+"v 	c #7E8287",
+"w 	c #7E8187",
+"x 	c #151C25",
+"y 	c #8B8E93",
+"z 	c #7D8187",
+"A 	c #252B34",
+"B 	c #FEFEFE",
+"C 	c #313740",
+"D 	c #373D45",
+"E 	c #FDFDFD",
+"F 	c #A3A6A9",
+"G 	c #94979C",
+"H 	c #62666C",
+"I 	c #7C8085",
+"J 	c #F0F0F1",
+"K 	c #61666C",
+"L 	c #353B43",
+"M 	c #FCFDFD",
+"N 	c #4B5158",
+"O 	c #C9CACD",
+"P 	c #BABCBF",
+"Q 	c #808488",
+"R 	c #585D63",
+"S 	c #30363E",
+"T 	c #272D36",
+"U 	c #7C8186",
+"V 	c #CDCED1",
+"W 	c #2B323A",
+"X 	c #494F56",
+"Y 	c #1A212A",
+"Z 	c #DCDDDE",
+"` 	c #9EA1A5",
+" .	c #7C8185",
+"..	c #808589",
+"+.	c #CBCCCF",
+"@.	c #A9ACAF",
+"#.	c #262D35",
+"$.	c #52575E",
+"%.	c #F8F8F9",
+"&.	c #E9EAEB",
+"*.	c #F2F2F3",
+"=.	c #C9CBCD",
+"-.	c #222932",
+";.	c #7B8085",
+">.	c #909499",
+",.	c #7F8389",
+"'.	c #111922",
+").	c #181F29",
+"!.	c #141B24",
+"~.	c #343A42",
+"{.	c #484D54",
+"].	c #19202A",
+"^.	c #7D8286",
+"/.	c #FCFCFD",
+"(.	c #4E545A",
+"_.	c #8D9196",
+":.	c #A4A6AA",
+"<.	c #141C25",
+"[.	c #2C333B",
+"}.	c #BFC1C4",
+"|.	c #3E444B",
+"1.	c #8D9195",
+"2.	c #6B7075",
+"3.	c #B3B5B9",
+"4.	c #7A7F84",
+"5.	c #808389",
+"6.	c #7F8488",
+"7.	c #80848A",
+"8.	c #808489",
+"9.	c #818589",
+"0.	c #797E83",
+"a.	c #B0B3B6",
+"b.	c #65696F",
+"c.	c #8C9095",
+"d.	c #8C9094",
+"e.	c #64686E",
+"                                        ",
+"                                        ",
+"    . + @ # # # # # # # # # # $ % &     ",
+"    * = - ; > > > > > > > > ; - , %     ",
+"    * ' ) ! ) ~ { ) ) ] ~ { ! ) ' ^     ",
+"    > / ( _ : < _ [ } | 1 : 2 3 / >     ",
+"    # 4 5 6 7 8 9 0 0 0 a a a b c #     ",
+"    # d 6 0 = e f g a h 6 i g 6 j #     ",
+"    # k 6 l m n o p q r s t u 6 v #     ",
+"    - w x y z A B C D E F G e H I #     ",
+"    # v 1 J e e e K L M N b O P I #     ",
+"    # Q R ) S T U V W M X Y Z `  .#     ",
+"    # ..+. at .a 0 #.e $.%.&.*.=.-.;.>.    ",
+"    # ,.'.).0 0 a !.~.E {.!.6 ].^.#     ",
+"    # v 6 0 0 0 0 0 ( /.(.0 0 6 7 #     ",
+"    _.:.<.6 6 6 6 6 [.}.|.6 ].!.:.1.    ",
+"    2.e 3.4.v 5.5.6.7.v 8.9.0.a.e b.    ",
+"    Y % c.>.# # # # # # # # >.d.e.i     ",
+"                                        ",
+"                                        "};
diff --git a/lib/creaDevManagerLib/images/ApIcon64.xpm b/lib/creaDevManagerLib/images/ApIcon64.xpm
new file mode 100644
index 0000000..ffa278b
--- /dev/null
+++ b/lib/creaDevManagerLib/images/ApIcon64.xpm
@@ -0,0 +1,314 @@
+/* XPM */
+const static char * ApIcon64[] = {
+"64 64 247 2",
+"  	c None",
+". 	c #1D242D",
+"+ 	c #1C232C",
+"@ 	c #1A212B",
+"# 	c #19212A",
+"$ 	c #192029",
+"% 	c #19202A",
+"& 	c #1A212A",
+"* 	c #141C25",
+"= 	c #131A24",
+"- 	c #202730",
+"; 	c #272E37",
+"> 	c #2B313A",
+", 	c #282F37",
+"' 	c #222931",
+") 	c #151C25",
+"! 	c #131B24",
+"~ 	c #4A5158",
+"{ 	c #A0A4A7",
+"] 	c #CFD0D2",
+"^ 	c #E6E7E8",
+"/ 	c #F1F2F2",
+"( 	c #E9EAEB",
+"_ 	c #D4D5D7",
+": 	c #A8ABAE",
+"< 	c #575D63",
+"[ 	c #151D26",
+"} 	c #1B222B",
+"| 	c #141B25",
+"1 	c #777B81",
+"2 	c #F6F7F7",
+"3 	c #FFFFFF",
+"4 	c #898C91",
+"5 	c #161D26",
+"6 	c #4C5158",
+"7 	c #FBFBFC",
+"8 	c #FDFDFD",
+"9 	c #F4F4F5",
+"0 	c #F1F1F2",
+"a 	c #565B62",
+"b 	c #141B24",
+"c 	c #A3A5AA",
+"d 	c #E1E1E3",
+"e 	c #898D92",
+"f 	c #4E535A",
+"g 	c #30373E",
+"h 	c #252C35",
+"i 	c #272D36",
+"j 	c #AAADB0",
+"k 	c #151C26",
+"l 	c #222831",
+"m 	c #D3D5D7",
+"n 	c #B0B2B5",
+"o 	c #252C34",
+"p 	c #030A15",
+"q 	c #232A33",
+"r 	c #272E36",
+"s 	c #D8D9DB",
+"t 	c #232A32",
+"u 	c #C6C8CA",
+"v 	c #0F1720",
+"w 	c #323940",
+"x 	c #929599",
+"y 	c #CACCCE",
+"z 	c #E9E9EA",
+"A 	c #F6F6F7",
+"B 	c #293038",
+"C 	c #2D343C",
+"D 	c #F3F3F4",
+"E 	c #52575F",
+"F 	c #5F646A",
+"G 	c #ECECED",
+"H 	c #52575E",
+"I 	c #2F353D",
+"J 	c #DADCDD",
+"K 	c #6D7177",
+"L 	c #FAFAFA",
+"M 	c #F9F9F9",
+"N 	c #F2F2F3",
+"O 	c #EEEFEF",
+"P 	c #EDEEEF",
+"Q 	c #EFEFF0",
+"R 	c #EEEEEF",
+"S 	c #2D333C",
+"T 	c #E2E3E4",
+"U 	c #D5D7D8",
+"V 	c #777B80",
+"W 	c #41474F",
+"X 	c #2C323B",
+"Y 	c #2A3139",
+"Z 	c #2B323A",
+"` 	c #30363E",
+" .	c #2A313A",
+"..	c #242A33",
+"+.	c #242B33",
+"@.	c #293039",
+"#.	c #2A3039",
+"$.	c #212830",
+"%.	c #212831",
+"&.	c #222932",
+"*.	c #F1F1F1",
+"=.	c #9B9FA2",
+"-.	c #242B34",
+";.	c #0F1620",
+">.	c #181F28",
+",.	c #B7B9BC",
+"'.	c #171E27",
+").	c #FCFCFC",
+"!.	c #52585F",
+"~.	c #121922",
+"{.	c #F2F3F3",
+"].	c #2B3139",
+"^.	c #1E252D",
+"/.	c #E4E5E6",
+"(.	c #50555C",
+"_.	c #1E252E",
+":.	c #1F262F",
+"<.	c #1F262E",
+"[.	c #2D333B",
+"}.	c #262C35",
+"|.	c #555B61",
+"1.	c #A4A6AA",
+"2.	c #1E242D",
+"3.	c #A9ABAF",
+"4.	c #F0F1F1",
+"5.	c #232932",
+"6.	c #252B34",
+"7.	c #676C72",
+"8.	c #6C7177",
+"9.	c #E0E1E2",
+"0.	c #BABDBF",
+"a.	c #292F38",
+"b.	c #C0C2C4",
+"c.	c #AAACB0",
+"d.	c #8D9195",
+"e.	c #FBFBFB",
+"f.	c #30363F",
+"g.	c #ECEDED",
+"h.	c #333941",
+"i.	c #595E65",
+"j.	c #3C424A",
+"k.	c #7F8388",
+"l.	c #FEFEFE",
+"m.	c #EAEBEB",
+"n.	c #82868B",
+"o.	c #E8E9EA",
+"p.	c #CECFD1",
+"q.	c #D2D4D5",
+"r.	c #F7F8F8",
+"s.	c #3F454D",
+"t.	c #C5C7C9",
+"u.	c #E5E6E7",
+"v.	c #DCDDDE",
+"w.	c #BCBEC1",
+"x.	c #D6D7D9",
+"y.	c #9B9EA2",
+"z.	c #7C8085",
+"A.	c #434850",
+"B.	c #EFF0F0",
+"C.	c #6D7278",
+"D.	c #464C53",
+"E.	c #4A4F57",
+"F.	c #2F353E",
+"G.	c #96999E",
+"H.	c #73777C",
+"I.	c #ECEDEE",
+"J.	c #9A9DA1",
+"K.	c #BDBFC2",
+"L.	c #E7E8E9",
+"M.	c #B5B7BA",
+"N.	c #7E8287",
+"O.	c #696E73",
+"P.	c #7A7F84",
+"Q.	c #F4F4F4",
+"R.	c #363C44",
+"S.	c #EDEEEE",
+"T.	c #8B8F93",
+"U.	c #6C7076",
+"V.	c #5B6066",
+"W.	c #5C6168",
+"X.	c #AEB1B4",
+"Y.	c #83878C",
+"Z.	c #D0D1D3",
+"`.	c #F6F6F6",
+" +	c #3B4148",
+".+	c #EBECEC",
+"++	c #72767C",
+"@+	c #73787D",
+"#+	c #E7E7E8",
+"$+	c #C7C8CB",
+"%+	c #D5D6D8",
+"&+	c #383E46",
+"*+	c #6E7378",
+"=+	c #BFC1C3",
+"-+	c #A0A3A7",
+";+	c #82858A",
+">+	c #3D434B",
+",+	c #787C81",
+"'+	c #4D535A",
+")+	c #323840",
+"!+	c #DDDEDF",
+"~+	c #60656B",
+"{+	c #4C5259",
+"]+	c #5D6269",
+"^+	c #999CA0",
+"/+	c #E3E4E5",
+"(+	c #20272F",
+"_+	c #DFE0E1",
+":+	c #BEC0C2",
+"<+	c #1F252E",
+"[+	c #282E37",
+"}+	c #8D9095",
+"|+	c #6B6F75",
+"1+	c #A1A4A7",
+"2+	c #DEDFE0",
+"3+	c #A6A9AC",
+"4+	c #F5F5F5",
+"5+	c #B4B7B9",
+"6+	c #262D36",
+"7+	c #121923",
+"8+	c #51575E",
+"9+	c #F2F2F2",
+"0+	c #B6B8BB",
+"a+	c #D8DADB",
+"b+	c #121A23",
+"c+	c #CED0D1",
+"d+	c #AEB0B3",
+"e+	c #75797F",
+"f+	c #40454E",
+"g+	c #2C333B",
+"h+	c #9C9FA3",
+"i+	c #131A23",
+"j+	c #5C6167",
+"k+	c #F8F8F9",
+"l+	c #F7F7F7",
+"m+	c #444951",
+"n+	c #929699",
+"o+	c #F3F3F3",
+"p+	c #161E27",
+"q+	c #5D6268",
+"r+	c #ABADB1",
+"s+	c #D6D6D8",
+"t+	c #EBECED",
+"u+	c #CDCFD0",
+"v+	c #9DA0A4",
+"w+	c #454B52",
+"x+	c #1A222B",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                  . . + @ # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % & + . .                   ",
+"              . . . * = - ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , ' ) = + . .               ",
+"              . + ! ~ { ] ^ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ( _ : < [ } .               ",
+"            . . | 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 + .             ",
+"          . . | 6 7 3 3 3 8 9 0 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 0 9 8 3 3 3 3 a = . .           ",
+"          . . b c 3 3 d e f g h i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i h g f e d 3 3 j k + .           ",
+"          . } l m 3 n o p 5 q r i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i r q 5 p o n 3 s t & .           ",
+"          . % , 9 u v w x y z / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / z y x w v u A B $ .           ",
+"          . $ C D E F G 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 G F H D C $ .           ",
+"          . $ I J K L 3 3 3 3 M N / / / O P Q / / / 0 P P R P P P P R P P 0 / / / Q P O / / / N M 3 3 3 3 L K J I $ .           ",
+"          . $ S T U 3 3 3 s V W X Y Z i `  .h ..i ...., B r +.r , @.I #.r $.- q %.+.B &.- r Y X W V s 3 3 3 U T S $ .           ",
+"          . $ > *.3 3 3 =.-.;.>.+ + + . . . . . + . . . . . . . . . . . . . . . . . . . . & $ $ 5 ;.-.=.3 3 3 *.> $ .           ",
+"          . $ > / 3 3 ,.* '.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . '.* ,.3 3 / > $ .           ",
+"          . $ > / 3 ).!.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . ~.!.).3 / > $ .           ",
+"          . $ > / 3 {.].+ . . . . . . . ^./.3 3 3 (.. . . _.:.<._._._._.. . . . . . . . . . . . . . . & [.{.3 / > $ .           ",
+"          . $ > / 3 / }.. . . . . . . . |.3 3 3 3 1.2._.. . . . . . . . . . . . . . . . . . . . . . . } #./ 3 / > $ .           ",
+"          . $ > / 3 / }.. . . . . . . . 3.3 3 3 3 4.5.. . . . . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 / 6.. . . . . . . h D 3 3 3 3 3 7.. . . . . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 4.6.. . . . . . . 8.3 3 N 9.3 3 0.. . . . . . . . . . . . . . . . . . . . . . . . + a./ 3 / > $ .           ",
+"          . $ > / 3 O 6.. . . . . . . b.3 3 c.d.3 3 e.f.. . . . . . . . . . . . . . . . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 g.}.. . . . . . h.).3 3 i.j.3 3 3 k.. . . . . . . . . . . . . . . . . . . . . . . . -./ 3 / > $ .           ",
+"          . $ > / l.m.i + . . . . . n.3 3 o._.. p.3 3 q.. . . . . . . 3 3 r.s.k.t.u.2 v.w.n.C . . . . . %./ 3 / > $ .           ",
+"          . $ > / l.m.a.+ . . . . . x.3 3 y.. . z.3 3 3 A.. . . . . . 3 3 3 3 3 3 3 3 3 3 3 B.C.. . . . - / 3 / > $ .           ",
+"          . $ > / l.m.a.+ . . . . D.3 3 3 E.. . F.e.3 3 G.. . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 H.. . . - / 3 / > $ .           ",
+"          . $ > / l.I.i + . . . . J.3 3 v.. . . . K.3 3 L._.. . . . . 3 3 3 3 M.N.O.P.,.8 3 3 3 Q.R.. . - / 3 / > $ .           ",
+"          . $ > / 3 S.i . . . . :.( 3 3 T.. . . . U.3 3 3 V.. . . . . 3 3 3 3 . . . . . 6 N 3 3 3 d.. . :./ 3 / > $ .           ",
+"          . $ > / 3 B.6.. . . . W.3 3 3 3 3 3 3 3 3 3 3 3 X.. . . . . 3 3 3 3 . . . . . . Y.3 3 3 Z.. . :./ 3 / > $ .           ",
+"          . $ > / 3 4.5.. . . . n 3 3 3 3 3 3 3 3 3 3 3 3 `., . . . . 3 3 3 3 . . . . . .  +3 3 3 .+. . - 4.3 / > $ .           ",
+"          . $ > / 3 / ..+ . . B 2 3 3 3 3 3 3 3 3 3 3 3 3 3 ++. . . . 3 3 3 3 . . . . . . 5.3 3 3 M . . 5.4.3 / > $ .           ",
+"          . $ > / 3 / i . . . @+3 3 3 3 3 3 3 3 3 3 3 3 3 3 t.. . . . 3 3 3 3 . . . . . . F.3 3 3 #+. . ..B.3 / > $ .           ",
+"          . $ > / 3 / r + . . $+3 3 R %.. . . . . . . %+3 3 3 &+. . . 3 3 3 3 . . . . . . *+3 3 3 =+. . +.B.3 / > $ .           ",
+"          . $ > / 3 / i . . &+3 3 3 -+. . . . . . . . ;+3 3 3 e . . . 3 3 3 3 . . . . . >+R 3 3 3 ,+. . 5.B.3 / > $ .           ",
+"          . $ > / 3 / t . . e 3 3 3 '+. . . . . . . . )+).3 3 !+. . . 3 3 3 3 d.~+{+]+^+/ 3 3 3 /+5.. . (+4.3 / > $ .           ",
+"          . $ > / 3 / ... . !+3 3 _+. . . . . . . . . . :+3 3 3 '+. . 3 3 3 3 3 3 3 3 3 3 3 3 2 {+. . . <+4.3 / > $ .           ",
+"          . $ > / 3 / [+. '+3 3 3 }+. . . . . . . . . . |+3 3 3 1+. . 3 3 3 3 3 3 3 3 3 3 3 2+E.. . . . . / 3 / > $ .           ",
+"          . $ > / 3 / B + 1+3 3 3  +. . . . . . . . . . -.N 3 3 Q ' . 3 3 3 3 3+!+4+2 /+5+U.- . . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / 6++ . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . . . :./ 3 / > $ .           ",
+"          . $ > / 3 / -.+ . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . . . %./ 3 / > $ .           ",
+"          . $ > / 3 / }.. . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . . . -./ 3 / > $ .           ",
+"          . $ > / 3 / }.. . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . . . }./ 3 / > $ .           ",
+"          . $ > / 3 / 6.. . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 / }.+ . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 . + . . . . . . . . . . . [+/ 3 / > $ .           ",
+"          . $ > / 3 {.> + . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . . } X {.3 / > $ .           ",
+"          . $ > / 3 ).H 5 . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . + + 7+8+).3 9+> $ .           ",
+"          . $ B g.3 3 0+| } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + '.| M.3 3 z , % .           ",
+"          . & t a+3 3 3 y.&.& + + . . . . . . . . . . . . . . . . . . . . . . . + + } + . . . . + b+-.y.3 3 3 c+(+} .           ",
+"          . + 5 d+3 3 3 3 s e+f+-._.. :.%.-.}.}.}.}.}.}.+.-.a.g+C C 6.$.q }.}.i [+#.> i l :.. _.f.e+s 3 3 3 3 h+i+. .           ",
+"          . . i+j+3 3 3 3 3 3 k+/ / / / / / / / / / / / / 4.P P P P 4./ / / / / / / / / / / / / k+3 3 3 3 3 l+m+k . .           ",
+"            . + >.n+3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 o+*+= . .             ",
+"              . @ p+q+r+s+t+/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / L.u+v+w+= + .               ",
+"              . . + b+5 &.a.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [+- b+) . . .               ",
+"                  . . + & % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # x++ . .                   ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                "};
diff --git a/lib/creaDevManagerLib/images/BBGIcon20.xcf b/lib/creaDevManagerLib/images/BBGIcon20.xcf
new file mode 100644
index 0000000..8fa9f07
Binary files /dev/null and b/lib/creaDevManagerLib/images/BBGIcon20.xcf differ
diff --git a/lib/creaDevManagerLib/images/BBGIcon20.xpm b/lib/creaDevManagerLib/images/BBGIcon20.xpm
new file mode 100644
index 0000000..dd3f130
--- /dev/null
+++ b/lib/creaDevManagerLib/images/BBGIcon20.xpm
@@ -0,0 +1,148 @@
+/* XPM */
+const static char * BBGIcon20[] = {
+"20 20 125 2",
+"  	c None",
+". 	c #171E27",
+"+ 	c #666B71",
+"@ 	c #8E9297",
+"# 	c #909498",
+"$ 	c #8F9297",
+"% 	c #6A6F75",
+"& 	c #191F29",
+"* 	c #686C72",
+"= 	c #ECECED",
+"- 	c #909398",
+"; 	c #868B8F",
+"> 	c #878B8F",
+", 	c #EBECEC",
+"' 	c #A6A9AC",
+") 	c #EAEBEB",
+"! 	c #EBEDED",
+"~ 	c #ECEDED",
+"{ 	c #EAEBEC",
+"] 	c #EBEBEC",
+"^ 	c #686C73",
+"/ 	c #ECEDEE",
+"( 	c #363C44",
+"_ 	c #111821",
+": 	c #131B24",
+"< 	c #0F1721",
+"[ 	c #111721",
+"} 	c #101821",
+"| 	c #121923",
+"1 	c #101720",
+"2 	c #0E161F",
+"3 	c #101721",
+"4 	c #0F1620",
+"5 	c #353C43",
+"6 	c #84888D",
+"7 	c #182029",
+"8 	c #1C232C",
+"9 	c #1D232C",
+"0 	c #1D242D",
+"a 	c #181F28",
+"b 	c #86898D",
+"c 	c #7E8387",
+"d 	c #192029",
+"e 	c #1C242D",
+"f 	c #82858A",
+"g 	c #7D8086",
+"h 	c #242B33",
+"i 	c #2C323B",
+"j 	c #292F38",
+"k 	c #242B34",
+"l 	c #2C333B",
+"m 	c #282F38",
+"n 	c #2B323A",
+"o 	c #212831",
+"p 	c #7E8287",
+"q 	c #CDCED0",
+"r 	c #F4F4F5",
+"s 	c #3A4048",
+"t 	c #9EA2A5",
+"u 	c #7F8388",
+"v 	c #D2D3D5",
+"w 	c #83878B",
+"x 	c #B5B7BB",
+"y 	c #595D64",
+"z 	c #61666C",
+"A 	c #7C8085",
+"B 	c #7D8186",
+"C 	c #C4C6C9",
+"D 	c #BDBFC2",
+"E 	c #F8F8F9",
+"F 	c #333942",
+"G 	c #9A9DA1",
+"H 	c #B2B5B8",
+"I 	c #DFE0E1",
+"J 	c #2D343C",
+"K 	c #D8D9DA",
+"L 	c #141B25",
+"M 	c #767B80",
+"N 	c #9DA0A3",
+"O 	c #81858A",
+"P 	c #C9CBCD",
+"Q 	c #64696E",
+"R 	c #A3A5A9",
+"S 	c #878A8F",
+"T 	c #9A9EA1",
+"U 	c #565B62",
+"V 	c #797D82",
+"W 	c #909397",
+"X 	c #A2A5A8",
+"Y 	c #909499",
+"Z 	c #84888C",
+"` 	c #6C7177",
+" .	c #979B9F",
+"..	c #8A8D92",
+"+.	c #293039",
+"@.	c #5B6066",
+"#.	c #8C9095",
+"$.	c #282F37",
+"%.	c #1F262F",
+"&.	c #7B8084",
+"*.	c #61666D",
+"=.	c #7F8389",
+"-.	c #7D8286",
+";.	c #8D9196",
+">.	c #A4A6AA",
+",.	c #141C25",
+"'.	c #19202A",
+").	c #141B24",
+"!.	c #8D9195",
+"~.	c #6B7075",
+"{.	c #FFFFFF",
+"].	c #B3B5B9",
+"^.	c #7A7F84",
+"/.	c #808389",
+"(.	c #7F8488",
+"_.	c #80858A",
+":.	c #818489",
+"<.	c #818589",
+"[.	c #797E83",
+"}.	c #B0B3B6",
+"|.	c #65696F",
+"1.	c #1A212A",
+"2.	c #8C9094",
+"3.	c #64686E",
+"4.	c #161D27",
+"                                        ",
+"                                        ",
+"    . + @ # # # # # # # # # # $ % &     ",
+"    * = - ; > > > > > > > > ; - , %     ",
+"    * ' ) ! ) ~ { ) ) ] ~ { ! ) ' ^     ",
+"    > / ( _ : < [ } | 1 2 3 4 5 / >     ",
+"    # 6 7 8 8 8 9 0 0 0 8 8 8 a b #     ",
+"    # c d 0 0 0 e 8 8 8 0 0 0 d f #     ",
+"    # g h i j 8 k l m 0 0 j n o p #     ",
+"    - g q # r s t u v m w x y z A #     ",
+"    # B C D E F G H I J K L M N O #     ",
+"    # u P Q R S T U V W X Y 3 r Z #     ",
+"    # u `  ...+. at .G #.$.%.&.G *.B Y     ",
+"    # =.d 0 0 0 0 0 0 0 0 0 0 d -.#     ",
+"    # p d 0 0 0 0 0 0 0 0 0 0 d u #     ",
+"    ;.>.,.d d d d d d d d d '.).>.!.    ",
+"    ~.{.].^.p /./.(._.u :.<.[.}.{.|.    ",
+"    1.% #.Y # # # # # # # # Y 2.3.4.    ",
+"                                        ",
+"                                        "};
diff --git a/lib/creaDevManagerLib/images/BBGIcon64.xpm b/lib/creaDevManagerLib/images/BBGIcon64.xpm
new file mode 100644
index 0000000..1aa9c09
--- /dev/null
+++ b/lib/creaDevManagerLib/images/BBGIcon64.xpm
@@ -0,0 +1,279 @@
+/* XPM */
+const static char * BBGIcon64[] = {
+"64 64 212 2",
+"  	c None",
+". 	c #1D242D",
+"+ 	c #1C232C",
+"@ 	c #1A212B",
+"# 	c #19212A",
+"$ 	c #192029",
+"% 	c #19202A",
+"& 	c #1A212A",
+"* 	c #141C25",
+"= 	c #131A24",
+"- 	c #202730",
+"; 	c #272E37",
+"> 	c #2B313A",
+", 	c #282F37",
+"' 	c #222931",
+") 	c #151C25",
+"! 	c #131B24",
+"~ 	c #4A5158",
+"{ 	c #A0A4A7",
+"] 	c #CFD0D2",
+"^ 	c #E6E7E8",
+"/ 	c #F1F2F2",
+"( 	c #E9EAEB",
+"_ 	c #D4D5D7",
+": 	c #A8ABAE",
+"< 	c #575D63",
+"[ 	c #151D26",
+"} 	c #1B222B",
+"| 	c #141B25",
+"1 	c #777B81",
+"2 	c #F6F7F7",
+"3 	c #FFFFFF",
+"4 	c #898C91",
+"5 	c #161D26",
+"6 	c #4C5158",
+"7 	c #FBFBFC",
+"8 	c #FDFDFD",
+"9 	c #F4F4F5",
+"0 	c #F1F1F2",
+"a 	c #565B62",
+"b 	c #141B24",
+"c 	c #A3A5AA",
+"d 	c #E1E1E3",
+"e 	c #898D92",
+"f 	c #4E535A",
+"g 	c #30373E",
+"h 	c #252C35",
+"i 	c #272D36",
+"j 	c #AAADB0",
+"k 	c #151C26",
+"l 	c #222831",
+"m 	c #D3D5D7",
+"n 	c #B0B2B5",
+"o 	c #252C34",
+"p 	c #030A15",
+"q 	c #232A33",
+"r 	c #272E36",
+"s 	c #D8D9DB",
+"t 	c #232A32",
+"u 	c #C6C8CA",
+"v 	c #0F1720",
+"w 	c #323940",
+"x 	c #929599",
+"y 	c #CACCCE",
+"z 	c #E9E9EA",
+"A 	c #F6F6F7",
+"B 	c #293038",
+"C 	c #2D343C",
+"D 	c #F3F3F4",
+"E 	c #52575F",
+"F 	c #5F646A",
+"G 	c #ECECED",
+"H 	c #52575E",
+"I 	c #2F353D",
+"J 	c #DADCDD",
+"K 	c #6D7177",
+"L 	c #FAFAFA",
+"M 	c #F9F9F9",
+"N 	c #F2F2F3",
+"O 	c #EEEFEF",
+"P 	c #EDEEEF",
+"Q 	c #EFEFF0",
+"R 	c #EEEEEF",
+"S 	c #2D333C",
+"T 	c #E2E3E4",
+"U 	c #D5D7D8",
+"V 	c #777B80",
+"W 	c #41474F",
+"X 	c #2C323B",
+"Y 	c #2A3139",
+"Z 	c #2B323A",
+"` 	c #30363E",
+" .	c #2A313A",
+"..	c #242A33",
+"+.	c #242B33",
+"@.	c #293039",
+"#.	c #2A3039",
+"$.	c #212830",
+"%.	c #212831",
+"&.	c #222932",
+"*.	c #F1F1F1",
+"=.	c #9B9FA2",
+"-.	c #242B34",
+";.	c #0F1620",
+">.	c #181F28",
+",.	c #B7B9BC",
+"'.	c #171E27",
+").	c #FCFCFC",
+"!.	c #52585F",
+"~.	c #121922",
+"{.	c #F2F3F3",
+"].	c #2B3139",
+"^.	c #1E252E",
+"/.	c #1F262F",
+"(.	c #1F262E",
+"_.	c #2D333B",
+":.	c #262C35",
+"<.	c #1E242D",
+"[.	c #252B34",
+"}.	c #F0F1F1",
+"|.	c #292F38",
+"1.	c #ECEDED",
+"2.	c #FEFEFE",
+"3.	c #EAEBEB",
+"4.	c #CDCED0",
+"5.	c #7C8085",
+"6.	c #1E252D",
+"7.	c #7A7F84",
+"8.	c #C2C4C7",
+"9.	c #EBECEC",
+"0.	c #EDEDEE",
+"a.	c #D8DADB",
+"b.	c #ABAEB1",
+"c.	c #6A6E74",
+"d.	c #909398",
+"e.	c #42484F",
+"f.	c #DEDFE0",
+"g.	c #ECEDEE",
+"h.	c #71757B",
+"i.	c #E7E7E8",
+"j.	c #2C323A",
+"k.	c #B6B8BB",
+"l.	c #4B5057",
+"m.	c #232932",
+"n.	c #41474E",
+"o.	c #CECFD1",
+"p.	c #EDEEEE",
+"q.	c #F8F8F9",
+"r.	c #92959A",
+"s.	c #EFF0F0",
+"t.	c #6F7379",
+"u.	c #D6D7D9",
+"v.	c #D8D9DA",
+"w.	c #4C5259",
+"x.	c #585D64",
+"y.	c #F5F5F5",
+"z.	c #CCCED0",
+"A.	c #333A42",
+"B.	c #2F353E",
+"C.	c #94979B",
+"D.	c #BBBDC0",
+"E.	c #4F545B",
+"F.	c #F4F4F4",
+"G.	c #8D9195",
+"H.	c #BDBFC2",
+"I.	c #E5E6E7",
+"J.	c #C0C2C4",
+"K.	c #545960",
+"L.	c #40464D",
+"M.	c #7B7F85",
+"N.	c #3C424A",
+"O.	c #20272F",
+"P.	c #E6E6E7",
+"Q.	c #BABCBE",
+"R.	c #5E6369",
+"S.	c #73787D",
+"T.	c #BEC0C2",
+"U.	c #F7F8F8",
+"V.	c #444A51",
+"W.	c #1F252E",
+"X.	c #282E37",
+"Y.	c #262D36",
+"Z.	c #121923",
+"`.	c #51575E",
+" +	c #F2F2F2",
+".+	c #B5B7BA",
+"++	c #9B9EA2",
+"@+	c #121A23",
+"#+	c #CED0D1",
+"$+	c #AEB0B3",
+"%+	c #75797F",
+"&+	c #40454E",
+"*+	c #2C333B",
+"=+	c #30363F",
+"-+	c #9C9FA3",
+";+	c #131A23",
+">+	c #5C6167",
+",+	c #F7F7F7",
+"'+	c #444951",
+")+	c #929699",
+"!+	c #F3F3F3",
+"~+	c #6E7378",
+"{+	c #161E27",
+"]+	c #5D6268",
+"^+	c #ABADB1",
+"/+	c #D6D6D8",
+"(+	c #EBECED",
+"_+	c #E7E8E9",
+":+	c #CDCFD0",
+"<+	c #9DA0A4",
+"[+	c #454B52",
+"}+	c #1A222B",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                  . . + @ # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % & + . .                   ",
+"              . . . * = - ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , ' ) = + . .               ",
+"              . + ! ~ { ] ^ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ( _ : < [ } .               ",
+"            . . | 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 + .             ",
+"          . . | 6 7 3 3 3 8 9 0 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 0 9 8 3 3 3 3 a = . .           ",
+"          . . b c 3 3 d e f g h i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i h g f e d 3 3 j k + .           ",
+"          . } l m 3 n o p 5 q r i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i r q 5 p o n 3 s t & .           ",
+"          . % , 9 u v w x y z / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / z y x w v u A B $ .           ",
+"          . $ C D E F G 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 G F H D C $ .           ",
+"          . $ I J K L 3 3 3 3 M N / / / O P Q / / / 0 P P R P P P P R P P 0 / / / Q P O / / / N M 3 3 3 3 L K J I $ .           ",
+"          . $ S T U 3 3 3 s V W X Y Z i `  .h ..i ...., B r +.r , @.I #.r $.- q %.+.B &.- r Y X W V s 3 3 3 U T S $ .           ",
+"          . $ > *.3 3 3 =.-.;.>.+ + + . . . . . + . . . . . . . . . . . . . . . . . . . . & $ $ 5 ;.-.=.3 3 3 *.> $ .           ",
+"          . $ > / 3 3 ,.* '.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . '.* ,.3 3 / > $ .           ",
+"          . $ > / 3 ).!.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . ~.!.).3 / > $ .           ",
+"          . $ > / 3 {.].+ . . . . . . . . . . . . . . . . ^./.(.^.^.^.^.. . . . . . . . . . . . . . . & _.{.3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . <.^.. . . . . . . . . . . . . . . . . . . . . . . } #./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 / [.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 }.[.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + |./ 3 / > $ .           ",
+"          . $ > / 3 O [.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 1.:.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -./ 3 / > $ .           ",
+"          . $ > / 2.3.i + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . %./ 3 / > $ .           ",
+"          . $ > / 2.3.|.+ . 3 3 3 3 8 }.4.5.6.. . . . 3 3 3 3 8 }.4.5.6.. . . . . -.7.8.9.M 0.a.b.c.. . - / 3 / > $ .           ",
+"          . $ > / 2.3.|.+ . 3 3 3 3 3 3 3 3 d.. . . . 3 3 3 3 3 3 3 3 d.. . . . e.f.3 3 3 3 3 3 3 3 . . - / 3 / > $ .           ",
+"          . $ > / 2.g.i + . 3 3 3 . ^.h.3 3 i.. . . . 3 3 3 . ^.h.3 3 i.. . . j.i.3 3 k.l.m.m.n.7.o.. . - / 3 / > $ .           ",
+"          . $ > / 3 p.i . . 3 3 3 . . ..3 3 q.. . . . 3 3 3 . . ..3 3 q.. . . r.3 3 ,.. . . . . . . . . /./ 3 / > $ .           ",
+"          . $ > / 3 s.[.. . 3 3 3 . 6.t.3 3 u.. . . . 3 3 3 . 6.t.3 3 u.. . . v.3 3 w.. . . . . . . . . /./ 3 / > $ .           ",
+"          . $ > / 3 }.m.. . 3 3 3 3 3 3 3 2 x.. . . . 3 3 3 3 3 3 3 2 x.. . . y.3 3 ... . . 3 3 3 3 3 . - }.3 / > $ .           ",
+"          . $ > / 3 / ..+ . 3 3 3 3 3 3 3 3 z.A.. . . 3 3 3 3 3 3 3 3 z.A.. . y.3 3 ... . . 3 3 3 3 3 . m.}.3 / > $ .           ",
+"          . $ > / 3 / i . . 3 3 3 . . B.C.3 3 D.. . . 3 3 3 . . B.C.3 3 D.. . u.3 3 E.. . . . + 3 3 3 . ..s.3 / > $ .           ",
+"          . $ > / 3 / r + . 3 3 3 . . . , 3 3 F.. . . 3 3 3 . . . , 3 3 F.. . G.3 3 H.. . . + . 3 3 3 . +.s.3 / > $ .           ",
+"          . $ > / 3 / i . . 3 3 3 . . B.C.3 3 I.. . . 3 3 3 . . B.C.3 3 I.. . B T 3 3 J.K.h - L.3 3 3 . m.s.3 / > $ .           ",
+"          . $ > / 3 / t . . 3 3 3 3 3 3 3 3 3 M.. . . 3 3 3 3 3 3 3 3 3 M.. . . N.a.3 3 3 3 3 3 3 3 3 . O.}.3 / > $ .           ",
+"          . $ > / 3 / ... . 3 3 3 3 3 M P.Q.R.. . . . 3 3 3 3 3 M P.Q.R.. . . . . ' S.T.( M U.I.8.G.V.. W.}.3 / > $ .           ",
+"          . $ > / 3 / X.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / B + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / Y.+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . /./ 3 / > $ .           ",
+"          . $ > / 3 / -.+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . %./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :./ 3 / > $ .           ",
+"          . $ > / 3 / [.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 / :.+ . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . . . . . . . . X./ 3 / > $ .           ",
+"          . $ > / 3 {.> + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . } X {.3 / > $ .           ",
+"          . $ > / 3 ).H 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + Z.`.).3  +> $ .           ",
+"          . $ B 1.3 3 k.| } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + '.| .+3 3 z , % .           ",
+"          . & t a.3 3 3 ++&.& + + . . . . . . . . . . . . . . . . . . . . . . . + + } + . . . . + @+-.++3 3 3 #+O.} .           ",
+"          . + 5 $+3 3 3 3 s %+&+-.^.. /.%.-.:.:.:.:.:.:.+.-.|.*+C C [.$.q :.:.i X.#.> i l /.. ^.=+%+s 3 3 3 3 -+;+. .           ",
+"          . . ;+>+3 3 3 3 3 3 q./ / / / / / / / / / / / / }.P P P P }./ / / / / / / / / / / / / q.3 3 3 3 3 ,+'+k . .           ",
+"            . + >.)+3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 !+~+= . .             ",
+"              . @ {+]+^+/+(+/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / _+:+<+[+= + .               ",
+"              . . + @+5 &.|.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > X.- @+) . . .               ",
+"                  . . + & % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # }++ . .                   ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                "};
diff --git a/lib/creaDevManagerLib/images/BBIcon20.xpm b/lib/creaDevManagerLib/images/BBIcon20.xpm
new file mode 100644
index 0000000..57e2110
--- /dev/null
+++ b/lib/creaDevManagerLib/images/BBIcon20.xpm
@@ -0,0 +1,158 @@
+/* XPM */
+const static char * BBIcon20[] = {
+"20 20 135 2",
+"  	c None",
+". 	c #171E27",
+"+ 	c #666B71",
+"@ 	c #8E9297",
+"# 	c #909498",
+"$ 	c #8F9297",
+"% 	c #6A6F75",
+"& 	c #191F29",
+"* 	c #686C72",
+"= 	c #ECECED",
+"- 	c #909398",
+"; 	c #868B8F",
+"> 	c #878B8F",
+", 	c #EBECEC",
+"' 	c #A6A9AC",
+") 	c #EAEBEB",
+"! 	c #EBEDED",
+"~ 	c #ECEDED",
+"{ 	c #EAEBEC",
+"] 	c #EBEBEC",
+"^ 	c #686C73",
+"/ 	c #ECEDEE",
+"( 	c #363C44",
+"_ 	c #111821",
+": 	c #131B24",
+"< 	c #0F1721",
+"[ 	c #111721",
+"} 	c #101821",
+"| 	c #121923",
+"1 	c #101720",
+"2 	c #0E161F",
+"3 	c #101721",
+"4 	c #0F1620",
+"5 	c #353C43",
+"6 	c #84888D",
+"7 	c #182029",
+"8 	c #1C232C",
+"9 	c #1D232C",
+"0 	c #1D242D",
+"a 	c #181F28",
+"b 	c #86898D",
+"c 	c #7E8387",
+"d 	c #3E444B",
+"e 	c #4E545A",
+"f 	c #4E535A",
+"g 	c #323840",
+"h 	c #293038",
+"i 	c #4E545B",
+"j 	c #41464E",
+"k 	c #19202A",
+"l 	c #82858A",
+"m 	c #7C7F85",
+"n 	c #C4C6C8",
+"o 	c #FFFFFF",
+"p 	c #F5F5F6",
+"q 	c #686D73",
+"r 	c #1A212A",
+"s 	c #585D64",
+"t 	c #F4F4F4",
+"u 	c #FDFDFD",
+"v 	c #9FA2A6",
+"w 	c #131A23",
+"x 	c #7E8287",
+"y 	c #7D8086",
+"z 	c #C1C3C5",
+"A 	c #C2C4C6",
+"B 	c #131A24",
+"C 	c #989BA0",
+"D 	c #E4E5E6",
+"E 	c #161D26",
+"F 	c #575C63",
+"G 	c #050C16",
+"H 	c #3B424A",
+"I 	c #09111B",
+"J 	c #7C8186",
+"K 	c #7D8186",
+"L 	c #D9DADB",
+"M 	c #7B7F84",
+"N 	c #F2F2F3",
+"O 	c #8D9196",
+"P 	c #696E74",
+"Q 	c #D3D5D6",
+"R 	c #BFC1C3",
+"S 	c #141B24",
+"T 	c #7F8388",
+"U 	c #C8CACC",
+"V 	c #2D333C",
+"W 	c #787C82",
+"X 	c #FCFCFD",
+"Y 	c #464C53",
+"Z 	c #1F262E",
+"` 	c #50555C",
+" .	c #EFF0F0",
+"..	c #909499",
+"+.	c #7C8185",
+"@.	c #7F8387",
+"#.	c #C5C7C9",
+"$.	c #1F262F",
+"%.	c #3E434B",
+"&.	c #4F545B",
+"*.	c #2F353D",
+"=.	c #DDDDDF",
+"-.	c #AAACB0",
+";.	c #7E8288",
+">.	c #BCBEC0",
+",.	c #FAFAFA",
+"'.	c #B4B6B9",
+").	c #555A61",
+"!.	c #F8F9F9",
+"~.	c #D8DADB",
+"{.	c #7D8286",
+"].	c #2C333B",
+"^.	c #2B313A",
+"/.	c #232A33",
+"(.	c #363D44",
+"_.	c #30363E",
+":.	c #192029",
+"<.	c #A4A6AA",
+"[.	c #141C25",
+"}.	c #8D9195",
+"|.	c #6B7075",
+"1.	c #B3B5B9",
+"2.	c #7A7F84",
+"3.	c #808389",
+"4.	c #7F8488",
+"5.	c #80858A",
+"6.	c #818489",
+"7.	c #818589",
+"8.	c #797E83",
+"9.	c #B0B3B6",
+"0.	c #65696F",
+"a.	c #8C9095",
+"b.	c #8C9094",
+"c.	c #64686E",
+"d.	c #161D27",
+"                                        ",
+"                                        ",
+"    . + @ # # # # # # # # # # $ % &     ",
+"    * = - ; > > > > > > > > ; - , %     ",
+"    * ' ) ! ) ~ { ) ) ] ~ { ! ) ' ^     ",
+"    > / ( _ : < [ } | 1 2 3 4 5 / >     ",
+"    # 6 7 8 8 8 9 0 0 0 8 8 8 a b #     ",
+"    # c d e f g a 0 h i i j 7 k l #     ",
+"    # m n o p o q r s o t u v w x #     ",
+"    - y z A B C D E F o G H o I J #     ",
+"    # K z L M N O r F o P Q R S K #     ",
+"    # T z U V W X Y F o Z `  ...+.#     ",
+"    # @.z #.$.%.o &.F o | *.=.-.M ..    ",
+"    # ;.>.,.o u '.8 ).!.o u ~.r {.#     ",
+"    # x ].( ( ^.. 8 /.(.( _.k :.T #     ",
+"    O <.[.:.:.:.:.:.:.:.:.:.k S <.}.    ",
+"    |.o 1.2.x 3.3.4.5.T 6.7.8.9.o 0.    ",
+"    r % a...# # # # # # # # ..b.c.d.    ",
+"                                        ",
+"                                        "};
diff --git a/lib/creaDevManagerLib/images/BBIcon64.xpm b/lib/creaDevManagerLib/images/BBIcon64.xpm
new file mode 100644
index 0000000..8b39549
--- /dev/null
+++ b/lib/creaDevManagerLib/images/BBIcon64.xpm
@@ -0,0 +1,271 @@
+/* XPM */
+const static char * BBIcon64[] = {
+"64 64 204 2",
+"  	c None",
+". 	c #1D242D",
+"+ 	c #1C232C",
+"@ 	c #1A212B",
+"# 	c #19212A",
+"$ 	c #192029",
+"% 	c #19202A",
+"& 	c #1A212A",
+"* 	c #141C25",
+"= 	c #131A24",
+"- 	c #202730",
+"; 	c #272E37",
+"> 	c #2B313A",
+", 	c #282F37",
+"' 	c #222931",
+") 	c #151C25",
+"! 	c #131B24",
+"~ 	c #4A5158",
+"{ 	c #A0A4A7",
+"] 	c #CFD0D2",
+"^ 	c #E6E7E8",
+"/ 	c #F1F2F2",
+"( 	c #E9EAEB",
+"_ 	c #D4D5D7",
+": 	c #A8ABAE",
+"< 	c #575D63",
+"[ 	c #151D26",
+"} 	c #1B222B",
+"| 	c #141B25",
+"1 	c #777B81",
+"2 	c #F6F7F7",
+"3 	c #FFFFFF",
+"4 	c #898C91",
+"5 	c #161D26",
+"6 	c #4C5158",
+"7 	c #FBFBFC",
+"8 	c #FDFDFD",
+"9 	c #F4F4F5",
+"0 	c #F1F1F2",
+"a 	c #565B62",
+"b 	c #141B24",
+"c 	c #A3A5AA",
+"d 	c #E1E1E3",
+"e 	c #898D92",
+"f 	c #4E535A",
+"g 	c #30373E",
+"h 	c #252C35",
+"i 	c #272D36",
+"j 	c #AAADB0",
+"k 	c #151C26",
+"l 	c #222831",
+"m 	c #D3D5D7",
+"n 	c #B0B2B5",
+"o 	c #252C34",
+"p 	c #030A15",
+"q 	c #232A33",
+"r 	c #272E36",
+"s 	c #D8D9DB",
+"t 	c #232A32",
+"u 	c #C6C8CA",
+"v 	c #0F1720",
+"w 	c #323940",
+"x 	c #929599",
+"y 	c #CACCCE",
+"z 	c #E9E9EA",
+"A 	c #F6F6F7",
+"B 	c #293038",
+"C 	c #2D343C",
+"D 	c #F3F3F4",
+"E 	c #52575F",
+"F 	c #5F646A",
+"G 	c #ECECED",
+"H 	c #52575E",
+"I 	c #2F353D",
+"J 	c #DADCDD",
+"K 	c #6D7177",
+"L 	c #FAFAFA",
+"M 	c #F9F9F9",
+"N 	c #F2F2F3",
+"O 	c #EEEFEF",
+"P 	c #EDEEEF",
+"Q 	c #EFEFF0",
+"R 	c #EEEEEF",
+"S 	c #2D333C",
+"T 	c #E2E3E4",
+"U 	c #D5D7D8",
+"V 	c #777B80",
+"W 	c #41474F",
+"X 	c #2C323B",
+"Y 	c #2A3139",
+"Z 	c #2B323A",
+"` 	c #30363E",
+" .	c #2A313A",
+"..	c #242A33",
+"+.	c #242B33",
+"@.	c #293039",
+"#.	c #2A3039",
+"$.	c #212830",
+"%.	c #212831",
+"&.	c #222932",
+"*.	c #F1F1F1",
+"=.	c #9B9FA2",
+"-.	c #242B34",
+";.	c #0F1620",
+">.	c #181F28",
+",.	c #B7B9BC",
+"'.	c #171E27",
+").	c #FCFCFC",
+"!.	c #52585F",
+"~.	c #121922",
+"{.	c #F2F3F3",
+"].	c #2B3139",
+"^.	c #1E252E",
+"/.	c #1F262F",
+"(.	c #1F262E",
+"_.	c #2D333B",
+":.	c #262C35",
+"<.	c #1E242D",
+"[.	c #252B34",
+"}.	c #F0F1F1",
+"|.	c #292F38",
+"1.	c #E8E9EA",
+"2.	c #C8C9CC",
+"3.	c #888B90",
+"4.	c #2C333B",
+"5.	c #ECEDED",
+"6.	c #5D6269",
+"7.	c #FEFEFE",
+"8.	c #EAEBEB",
+"9.	c #F6F6F6",
+"0.	c #353B43",
+"a.	c #3E444C",
+"b.	c #75797F",
+"c.	c #A9ABAF",
+"d.	c #ECEDEE",
+"e.	c #EDEEEE",
+"f.	c #3A4048",
+"g.	c #BBBDC0",
+"h.	c #EFF0F0",
+"i.	c #1E252D",
+"j.	c #ABADB0",
+"k.	c #6D7278",
+"l.	c #232932",
+"m.	c #42484F",
+"n.	c #464C53",
+"o.	c #5C6168",
+"p.	c #85898E",
+"q.	c #D0D1D3",
+"r.	c #73787D",
+"s.	c #A6A9AC",
+"t.	c #3F454D",
+"u.	c #71757B",
+"v.	c #6C7177",
+"w.	c #CECFD1",
+"x.	c #20272F",
+"y.	c #363C44",
+"z.	c #DFE0E1",
+"A.	c #1F252E",
+"B.	c #282E37",
+"C.	c #B3B6B9",
+"D.	c #AEB1B4",
+"E.	c #5B6067",
+"F.	c #62666D",
+"G.	c #767A80",
+"H.	c #9EA1A5",
+"I.	c #FBFBFB",
+"J.	c #474D54",
+"K.	c #262D36",
+"L.	c #787C81",
+"M.	c #DDDEDF",
+"N.	c #F5F5F5",
+"O.	c #E5E6E7",
+"P.	c #9C9FA3",
+"Q.	c #60656B",
+"R.	c #121923",
+"S.	c #51575E",
+"T.	c #F2F2F2",
+"U.	c #B6B8BB",
+"V.	c #B5B7BA",
+"W.	c #D8DADB",
+"X.	c #9B9EA2",
+"Y.	c #121A23",
+"Z.	c #CED0D1",
+"`.	c #AEB0B3",
+" +	c #40454E",
+".+	c #30363F",
+"++	c #131A23",
+"@+	c #5C6167",
+"#+	c #F8F8F9",
+"$+	c #F7F7F7",
+"%+	c #444951",
+"&+	c #929699",
+"*+	c #F3F3F3",
+"=+	c #6E7378",
+"-+	c #161E27",
+";+	c #5D6268",
+">+	c #ABADB1",
+",+	c #D6D6D8",
+"'+	c #EBECED",
+")+	c #E7E8E9",
+"!+	c #CDCFD0",
+"~+	c #9DA0A4",
+"{+	c #454B52",
+"]+	c #1A222B",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                  . . + @ # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % & + . .                   ",
+"              . . . * = - ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , ' ) = + . .               ",
+"              . + ! ~ { ] ^ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ( _ : < [ } .               ",
+"            . . | 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 + .             ",
+"          . . | 6 7 3 3 3 8 9 0 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 0 9 8 3 3 3 3 a = . .           ",
+"          . . b c 3 3 d e f g h i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i h g f e d 3 3 j k + .           ",
+"          . } l m 3 n o p 5 q r i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i r q 5 p o n 3 s t & .           ",
+"          . % , 9 u v w x y z / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / z y x w v u A B $ .           ",
+"          . $ C D E F G 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 G F H D C $ .           ",
+"          . $ I J K L 3 3 3 3 M N / / / O P Q / / / 0 P P R P P P P R P P 0 / / / Q P O / / / N M 3 3 3 3 L K J I $ .           ",
+"          . $ S T U 3 3 3 s V W X Y Z i `  .h ..i ...., B r +.r , @.I #.r $.- q %.+.B &.- r Y X W V s 3 3 3 U T S $ .           ",
+"          . $ > *.3 3 3 =.-.;.>.+ + + . . . . . + . . . . . . . . . . . . . . . . . . . . & $ $ 5 ;.-.=.3 3 3 *.> $ .           ",
+"          . $ > / 3 3 ,.* '.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . '.* ,.3 3 / > $ .           ",
+"          . $ > / 3 ).!.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . ~.!.).3 / > $ .           ",
+"          . $ > / 3 {.].+ . . . . . . . . . . . . . . . . ^./.(.^.^.^.^.. . . . . . . . . . . . . . . & _.{.3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . <.^.. . . . . . . . . . . . . . . . . . . . . . . } #./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 / [.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 }.[.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + |./ 3 / > $ .           ",
+"          . $ > / 3 O [.. . 3 3 3 3 3 3 3 L 1.2.3.4.. . . . . . . . 3 3 3 3 3 3 3 L 1.2.3.4.. . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 5.:.. . 3 3 3 3 3 3 3 3 3 3 3 }.6.. . . . . . . 3 3 3 3 3 3 3 3 3 3 3 }.6.. . . . . -./ 3 / > $ .           ",
+"          . $ > / 7.8.i + . 3 3 3 3 3 3 3 3 3 3 3 3 9.0.. . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 9.0.. . . . %./ 3 / > $ .           ",
+"          . $ > / 7.8.|.+ . 3 3 3 3 /./.' a.b.R 3 3 3 c.. . . . . . 3 3 3 3 /./.' a.b.R 3 3 3 c.. . . . - / 3 / > $ .           ",
+"          . $ > / 7.8.|.+ . 3 3 3 3 . . . . . F 3 3 3 T . . . . . . 3 3 3 3 . . . . . F 3 3 3 T . . . . - / 3 / > $ .           ",
+"          . $ > / 7.d.i + . 3 3 3 3 . . . . . h 3 3 3 Q . . . . . . 3 3 3 3 . . . . . h 3 3 3 Q . . . . - / 3 / > $ .           ",
+"          . $ > / 3 e.i . . 3 3 3 3 . . . . . f.3 3 3 g.. . . . . . 3 3 3 3 . . . . . f.3 3 3 g.. . . . /./ 3 / > $ .           ",
+"          . $ > / 3 h.[.. . 3 3 3 3 . . . . i.j.3 3 3 k.. . . . . . 3 3 3 3 . . . . i.j.3 3 3 k.. . . . /./ 3 / > $ .           ",
+"          . $ > / 3 }.l.. . 3 3 3 3 m.n.o.p.q.3 3 3 ,.. . . . . . . 3 3 3 3 m.n.o.p.q.3 3 3 ,.. . . . . - }.3 / > $ .           ",
+"          . $ > / 3 / ..+ . 3 3 3 3 3 3 3 3 3 3 3 3 T r.i.. . . . . 3 3 3 3 3 3 3 3 3 3 3 3 T r.i.. . . l.}.3 / > $ .           ",
+"          . $ > / 3 / i . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 s.i.. . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 s.i.. . ..h.3 / > $ .           ",
+"          . $ > / 3 / r + . 3 3 3 3 . . . B t.u.y 3 3 3 3 v.. . . . 3 3 3 3 . . . B t.u.y 3 3 3 3 v.. . +.h.3 / > $ .           ",
+"          . $ > / 3 / i . . 3 3 3 3 . . . . . . ^.: 3 3 3 w.. . . . 3 3 3 3 . . . . . . ^.: 3 3 3 w.. . l.h.3 / > $ .           ",
+"          . $ > / 3 / t . . 3 3 3 3 . . . . . . . f.3 3 3 D . . . . 3 3 3 3 . . . . . . . f.3 3 3 D . . x.}.3 / > $ .           ",
+"          . $ > / 3 / ... . 3 3 3 3 . . . . . . . y.3 3 3 z.. . . . 3 3 3 3 . . . . . . . y.3 3 3 z.. . A.}.3 / > $ .           ",
+"          . $ > / 3 / B.. . 3 3 3 3 . . . . . . #.C.3 3 3 D.. . . . 3 3 3 3 . . . . . . #.C.3 3 3 D.. . . / 3 / > $ .           ",
+"          . $ > / 3 / B + . 3 3 3 3 E.E.o.F.G.H.R 3 3 3 I.J.. . . . 3 3 3 3 E.E.o.F.G.H.R 3 3 3 I.J.. . . / 3 / > $ .           ",
+"          . $ > / 3 / K.+ . 3 3 3 3 3 3 3 3 3 3 3 3 3 8 L.. . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 8 L.. . . /./ 3 / > $ .           ",
+"          . $ > / 3 / -.+ . 3 3 3 3 3 3 3 3 3 3 3 3 M.o.. . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 M.o.. . . . %./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . 3 3 3 3 3 3 3 N.O.q.P.Q.^.. . . . . . . 3 3 3 3 3 3 3 N.O.q.P.Q.^.. . . . . -./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :./ 3 / > $ .           ",
+"          . $ > / 3 / [.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 / :.+ . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . . . . . . . . B./ 3 / > $ .           ",
+"          . $ > / 3 {.> + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . } X {.3 / > $ .           ",
+"          . $ > / 3 ).H 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + R.S.).3 T.> $ .           ",
+"          . $ B 5.3 3 U.| } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + '.| V.3 3 z , % .           ",
+"          . & t W.3 3 3 X.&.& + + . . . . . . . . . . . . . . . . . . . . . . . + + } + . . . . + Y.-.X.3 3 3 Z.x.} .           ",
+"          . + 5 `.3 3 3 3 s b. +-.^.. /.%.-.:.:.:.:.:.:.+.-.|.4.C C [.$.q :.:.i B.#.> i l /.. ^..+b.s 3 3 3 3 P.++. .           ",
+"          . . ++ at +3 3 3 3 3 3 #+/ / / / / / / / / / / / / }.P P P P }./ / / / / / / / / / / / / #+3 3 3 3 3 $+%+k . .           ",
+"            . + >.&+3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 *+=+= . .             ",
+"              . @ -+;+>+,+'+/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / )+!+~+{+= + .               ",
+"              . . + Y.5 &.|.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > B.- Y.) . . .               ",
+"                  . . + & % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # ]++ . .                   ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                "};
diff --git a/lib/creaDevManagerLib/images/BBSIcon20.xpm b/lib/creaDevManagerLib/images/BBSIcon20.xpm
new file mode 100644
index 0000000..aae2b8d
--- /dev/null
+++ b/lib/creaDevManagerLib/images/BBSIcon20.xpm
@@ -0,0 +1,154 @@
+/* XPM */
+const static char * BBSIcon20[] = {
+"20 20 131 2",
+"  	c None",
+". 	c #171E27",
+"+ 	c #666B71",
+"@ 	c #8E9297",
+"# 	c #909498",
+"$ 	c #8F9297",
+"% 	c #6A6F75",
+"& 	c #191F29",
+"* 	c #686C72",
+"= 	c #ECECED",
+"- 	c #909398",
+"; 	c #868B8F",
+"> 	c #878B8F",
+", 	c #EBECEC",
+"' 	c #A6A9AC",
+") 	c #EAEBEB",
+"! 	c #EBEDED",
+"~ 	c #ECEDED",
+"{ 	c #EAEBEC",
+"] 	c #EBEBEC",
+"^ 	c #686C73",
+"/ 	c #ECEDEE",
+"( 	c #363C44",
+"_ 	c #111821",
+": 	c #131B24",
+"< 	c #0F1721",
+"[ 	c #111721",
+"} 	c #101821",
+"| 	c #121923",
+"1 	c #101720",
+"2 	c #0E161F",
+"3 	c #101721",
+"4 	c #0F1620",
+"5 	c #353C43",
+"6 	c #84888D",
+"7 	c #182029",
+"8 	c #1C232C",
+"9 	c #1D232C",
+"0 	c #1D242D",
+"a 	c #181F28",
+"b 	c #86898D",
+"c 	c #7E8387",
+"d 	c #192029",
+"e 	c #1C242D",
+"f 	c #82858A",
+"g 	c #7D8086",
+"h 	c #242B33",
+"i 	c #2C323B",
+"j 	c #2A3139",
+"k 	c #1F262F",
+"l 	c #232A33",
+"m 	c #272E36",
+"n 	c #2C323A",
+"o 	c #222932",
+"p 	c #7E8287",
+"q 	c #CDCED0",
+"r 	c #8D9196",
+"s 	c #B5B7B9",
+"t 	c #808489",
+"u 	c #D2D4D5",
+"v 	c #6A6E74",
+"w 	c #E5E6E6",
+"x 	c #2D343C",
+"y 	c #EFEFF0",
+"z 	c #595F65",
+"A 	c #6C7076",
+"B 	c #7C8085",
+"C 	c #7D8186",
+"D 	c #C4C6C9",
+"E 	c #BABCBF",
+"F 	c #DCDDDF",
+"G 	c #797D82",
+"H 	c #2B313A",
+"I 	c #E4E4E6",
+"J 	c #AAADB0",
+"K 	c #D7D8DA",
+"L 	c #E2E3E4",
+"M 	c #AAACAF",
+"N 	c #474D54",
+"O 	c #7D8187",
+"P 	c #7F8388",
+"Q 	c #C9CBCD",
+"R 	c #696E74",
+"S 	c #212831",
+"T 	c #D4D6D7",
+"U 	c #272E37",
+"V 	c #BBBDC0",
+"W 	c #F5F6F6",
+"X 	c #464C53",
+"Y 	c #1B232C",
+"Z 	c #3C434A",
+"` 	c #83878C",
+" .	c #9EA1A5",
+"..	c #ACAEB2",
+"+.	c #AFB2B5",
+"@.	c #6E7278",
+"#.	c #C2C4C7",
+"$.	c #A0A3A7",
+"%.	c #A9ACAF",
+"&.	c #41474E",
+"*.	c #A2A5A9",
+"=.	c #85898E",
+"-.	c #7C8186",
+";.	c #909499",
+">.	c #7F8389",
+",.	c #161D26",
+"'.	c #181F29",
+").	c #1B222B",
+"!.	c #7D8286",
+"~.	c #A4A6AA",
+"{.	c #141C25",
+"].	c #19202A",
+"^.	c #141B24",
+"/.	c #8D9195",
+"(.	c #6B7075",
+"_.	c #FFFFFF",
+":.	c #B3B5B9",
+"<.	c #7A7F84",
+"[.	c #808389",
+"}.	c #7F8488",
+"|.	c #80858A",
+"1.	c #818489",
+"2.	c #818589",
+"3.	c #797E83",
+"4.	c #B0B3B6",
+"5.	c #65696F",
+"6.	c #1A212A",
+"7.	c #8C9095",
+"8.	c #8C9094",
+"9.	c #64686E",
+"0.	c #161D27",
+"                                        ",
+"                                        ",
+"    . + @ # # # # # # # # # # $ % &     ",
+"    * = - ; > > > > > > > > ; - , %     ",
+"    * ' ) ! ) ~ { ) ) ] ~ { ! ) ' ^     ",
+"    > / ( _ : < [ } | 1 2 3 4 5 / >     ",
+"    # 6 7 8 8 8 9 0 0 0 8 8 8 a b #     ",
+"    # c d 0 0 0 e 8 8 8 0 0 0 d f #     ",
+"    # g h i j k 0 i i l 8 m n o p #     ",
+"    - g q r s t i u v w x y z A B #     ",
+"    # C D E F G H I J K H L M N O #     ",
+"    # P Q R S T U V : W X Y Z ~ ` #     ",
+"    # P  ...+. at .m #.$.%.&.*.*.=.-.;.    ",
+"    # >.,.a '.8 8 a a ).8 d a a !.#     ",
+"    # p d 0 0 0 0 0 0 0 0 0 0 d P #     ",
+"    r ~.{.d d d d d d d d d ].^.~./.    ",
+"    (._.:.<.p [.[.}.|.P 1.2.3.4._.5.    ",
+"    6.% 7.;.# # # # # # # # ;.8.9.0.    ",
+"                                        ",
+"                                        "};
diff --git a/lib/creaDevManagerLib/images/BBSIcon64.xpm b/lib/creaDevManagerLib/images/BBSIcon64.xpm
new file mode 100644
index 0000000..9640414
--- /dev/null
+++ b/lib/creaDevManagerLib/images/BBSIcon64.xpm
@@ -0,0 +1,284 @@
+/* XPM */
+const static char * BBSIcon64[] = {
+"64 64 217 2",
+"  	c None",
+". 	c #1D242D",
+"+ 	c #1C232C",
+"@ 	c #1A212B",
+"# 	c #19212A",
+"$ 	c #192029",
+"% 	c #19202A",
+"& 	c #1A212A",
+"* 	c #141C25",
+"= 	c #131A24",
+"- 	c #202730",
+"; 	c #272E37",
+"> 	c #2B313A",
+", 	c #282F37",
+"' 	c #222931",
+") 	c #151C25",
+"! 	c #131B24",
+"~ 	c #4A5158",
+"{ 	c #A0A4A7",
+"] 	c #CFD0D2",
+"^ 	c #E6E7E8",
+"/ 	c #F1F2F2",
+"( 	c #E9EAEB",
+"_ 	c #D4D5D7",
+": 	c #A8ABAE",
+"< 	c #575D63",
+"[ 	c #151D26",
+"} 	c #1B222B",
+"| 	c #141B25",
+"1 	c #777B81",
+"2 	c #F6F7F7",
+"3 	c #FFFFFF",
+"4 	c #898C91",
+"5 	c #161D26",
+"6 	c #4C5158",
+"7 	c #FBFBFC",
+"8 	c #FDFDFD",
+"9 	c #F4F4F5",
+"0 	c #F1F1F2",
+"a 	c #565B62",
+"b 	c #141B24",
+"c 	c #A3A5AA",
+"d 	c #E1E1E3",
+"e 	c #898D92",
+"f 	c #4E535A",
+"g 	c #30373E",
+"h 	c #252C35",
+"i 	c #272D36",
+"j 	c #AAADB0",
+"k 	c #151C26",
+"l 	c #222831",
+"m 	c #D3D5D7",
+"n 	c #B0B2B5",
+"o 	c #252C34",
+"p 	c #030A15",
+"q 	c #232A33",
+"r 	c #272E36",
+"s 	c #D8D9DB",
+"t 	c #232A32",
+"u 	c #C6C8CA",
+"v 	c #0F1720",
+"w 	c #323940",
+"x 	c #929599",
+"y 	c #CACCCE",
+"z 	c #E9E9EA",
+"A 	c #F6F6F7",
+"B 	c #293038",
+"C 	c #2D343C",
+"D 	c #F3F3F4",
+"E 	c #52575F",
+"F 	c #5F646A",
+"G 	c #ECECED",
+"H 	c #52575E",
+"I 	c #2F353D",
+"J 	c #DADCDD",
+"K 	c #6D7177",
+"L 	c #FAFAFA",
+"M 	c #F9F9F9",
+"N 	c #F2F2F3",
+"O 	c #EEEFEF",
+"P 	c #EDEEEF",
+"Q 	c #EFEFF0",
+"R 	c #EEEEEF",
+"S 	c #2D333C",
+"T 	c #E2E3E4",
+"U 	c #D5D7D8",
+"V 	c #777B80",
+"W 	c #41474F",
+"X 	c #2C323B",
+"Y 	c #2A3139",
+"Z 	c #2B323A",
+"` 	c #30363E",
+" .	c #2A313A",
+"..	c #242A33",
+"+.	c #242B33",
+"@.	c #293039",
+"#.	c #2A3039",
+"$.	c #212830",
+"%.	c #212831",
+"&.	c #222932",
+"*.	c #F1F1F1",
+"=.	c #9B9FA2",
+"-.	c #242B34",
+";.	c #0F1620",
+">.	c #181F28",
+",.	c #B7B9BC",
+"'.	c #171E27",
+").	c #FCFCFC",
+"!.	c #52585F",
+"~.	c #121922",
+"{.	c #F2F3F3",
+"].	c #2B3139",
+"^.	c #1E252E",
+"/.	c #1F262F",
+"(.	c #1F262E",
+"_.	c #2D333B",
+":.	c #262C35",
+"<.	c #1E242D",
+"[.	c #252B34",
+"}.	c #F0F1F1",
+"|.	c #292F38",
+"1.	c #ECEDED",
+"2.	c #FEFEFE",
+"3.	c #EAEBEB",
+"4.	c #F8F8F9",
+"5.	c #E7E8E9",
+"6.	c #BFC1C3",
+"7.	c #6A6E74",
+"8.	c #434850",
+"9.	c #E1E2E3",
+"0.	c #C1C3C5",
+"a.	c #9A9DA1",
+"b.	c #83878C",
+"c.	c #4B5057",
+"d.	c #F6F6F6",
+"e.	c #ECEDEE",
+"f.	c #868A8E",
+"g.	c #E4E5E6",
+"h.	c #C2C3C6",
+"i.	c #8A8E92",
+"j.	c #2C333B",
+"k.	c #3C424A",
+"l.	c #CDCED0",
+"m.	c #EDEEEE",
+"n.	c #262D35",
+"o.	c #EFF0F0",
+"p.	c #84888D",
+"q.	c #D6D7D9",
+"r.	c #ABAEB1",
+"s.	c #464C53",
+"t.	c #232932",
+"u.	c #585D64",
+"v.	c #92959A",
+"w.	c #D8D9DA",
+"x.	c #8D9195",
+"y.	c #C0C2C4",
+"z.	c #8D9095",
+"A.	c #F5F5F5",
+"B.	c #DDDEDF",
+"C.	c #3B4148",
+"D.	c #444951",
+"E.	c #A4A6AA",
+"F.	c #7F8388",
+"G.	c #AEB1B4",
+"H.	c #BCBEC1",
+"I.	c #323840",
+"J.	c #31373F",
+"K.	c #333A42",
+"L.	c #CBCDCF",
+"M.	c #545960",
+"N.	c #2E353D",
+"O.	c #20272F",
+"P.	c #51565D",
+"Q.	c #4C5259",
+"R.	c #1F252E",
+"S.	c #282E37",
+"T.	c #F4F4F4",
+"U.	c #D9DADC",
+"V.	c #A2A5A8",
+"W.	c #3E444C",
+"X.	c #6C7076",
+"Y.	c #D1D2D4",
+"Z.	c #E7E7E8",
+"`.	c #F7F8F8",
+" +	c #E0E1E2",
+".+	c #A9ABAF",
+"++	c #41474E",
+"@+	c #262D36",
+"#+	c #121923",
+"$+	c #51575E",
+"%+	c #F2F2F2",
+"&+	c #B6B8BB",
+"*+	c #B5B7BA",
+"=+	c #D8DADB",
+"-+	c #9B9EA2",
+";+	c #121A23",
+">+	c #CED0D1",
+",+	c #AEB0B3",
+"'+	c #75797F",
+")+	c #40454E",
+"!+	c #30363F",
+"~+	c #9C9FA3",
+"{+	c #131A23",
+"]+	c #5C6167",
+"^+	c #F7F7F7",
+"/+	c #929699",
+"(+	c #F3F3F3",
+"_+	c #6E7378",
+":+	c #161E27",
+"<+	c #5D6268",
+"[+	c #ABADB1",
+"}+	c #D6D6D8",
+"|+	c #EBECED",
+"1+	c #CDCFD0",
+"2+	c #9DA0A4",
+"3+	c #454B52",
+"4+	c #1A222B",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                  . . + @ # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % & + . .                   ",
+"              . . . * = - ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , ' ) = + . .               ",
+"              . + ! ~ { ] ^ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ( _ : < [ } .               ",
+"            . . | 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 + .             ",
+"          . . | 6 7 3 3 3 8 9 0 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 0 9 8 3 3 3 3 a = . .           ",
+"          . . b c 3 3 d e f g h i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i h g f e d 3 3 j k + .           ",
+"          . } l m 3 n o p 5 q r i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i r q 5 p o n 3 s t & .           ",
+"          . % , 9 u v w x y z / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / z y x w v u A B $ .           ",
+"          . $ C D E F G 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 G F H D C $ .           ",
+"          . $ I J K L 3 3 3 3 M N / / / O P Q / / / 0 P P R P P P P R P P 0 / / / Q P O / / / N M 3 3 3 3 L K J I $ .           ",
+"          . $ S T U 3 3 3 s V W X Y Z i `  .h ..i ...., B r +.r , @.I #.r $.- q %.+.B &.- r Y X W V s 3 3 3 U T S $ .           ",
+"          . $ > *.3 3 3 =.-.;.>.+ + + . . . . . + . . . . . . . . . . . . . . . . . . . . & $ $ 5 ;.-.=.3 3 3 *.> $ .           ",
+"          . $ > / 3 3 ,.* '.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . '.* ,.3 3 / > $ .           ",
+"          . $ > / 3 ).!.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . ~.!.).3 / > $ .           ",
+"          . $ > / 3 {.].+ . . . . . . . . . . . . . . . . ^./.(.^.^.^.^.. . . . . . . . . . . . . . . & _.{.3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . <.^.. . . . . . . . . . . . . . . . . . . . . . . } #./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 / [.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 }.[.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + |./ 3 / > $ .           ",
+"          . $ > / 3 O [.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 1.:.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -./ 3 / > $ .           ",
+"          . $ > / 2.3.i + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . %./ 3 / > $ .           ",
+"          . $ > / 2.3.|.+ . 3 3 3 3 3 4.5.6.7.. . . . . 3 3 3 3 3 4.5.6.7.. . . . . 8.n 5.L / 9.0.a.. . - / 3 / > $ .           ",
+"          . $ > / 2.3.|.+ . 3 3 3 3 3 3 3 3 3 b.. . . . 3 3 3 3 3 3 3 3 3 b.. . . c.d.3 3 3 3 3 3 3 . . - / 3 / > $ .           ",
+"          . $ > / 2.e.i + . 3 3 3 . . h f.3 3 g.. . . . 3 3 3 . . h f.3 3 g.. . . h.3 3 i.j.%.k.1 l.. . - / 3 / > $ .           ",
+"          . $ > / 3 m.i . . 3 3 3 . . . n.3 3 4.. . . . 3 3 3 . . . n.3 3 4.. . . D 3 3 n.. . . . . . . /./ 3 / > $ .           ",
+"          . $ > / 3 o.[.. . 3 3 3 . . h p.3 3 q.. . . . 3 3 3 . . h p.3 3 q.. . . 3.3 3 r.s.. . . . . . /./ 3 / > $ .           ",
+"          . $ > / 3 }.t.. . 3 3 3 3 3 3 3 3 2 u.. . . . 3 3 3 3 3 3 3 3 2 u.. . . v.3 3 3 3 w.x.u.^.. . - }.3 / > $ .           ",
+"          . $ > / 3 / ..+ . 3 3 3 3 3 3 3 3 3 y., . . . 3 3 3 3 3 3 3 3 3 y., . . ^.z.A.3 3 3 3 3 B.C.. t.}.3 / > $ .           ",
+"          . $ > / 3 / i . . 3 3 3 . . ' D.6.3 3 E.. . . 3 3 3 . . ' D.6.3 3 E.. . . . C F.G.o.3 3 3 H.. ..o.3 / > $ .           ",
+"          . $ > / 3 / r + . 3 3 3 . . . . I.3 3 ( . . . 3 3 3 . . . . I.3 3 ( . . . . . . . J.y.3 3 o.. +.o.3 / > $ .           ",
+"          . $ > / 3 / i . . 3 3 3 . . . . K.3 3 2 . . . 3 3 3 . . . . K.3 3 2 . . . . . . . . > 3 3 N . t.o.3 / > $ .           ",
+"          . $ > / 3 / t . . 3 3 3 . . %.D.6.3 3 L.. . . 3 3 3 . . %.D.6.3 3 L.. . q.z.M.N./.C z.3 3 h.. O.}.3 / > $ .           ",
+"          . $ > / 3 / ... . 3 3 3 3 3 3 3 3 3 d.P.. . . 3 3 3 3 3 3 3 3 3 d.P.. . 3 3 3 3 3 3 3 3 d.Q.. R.}.3 / > $ .           ",
+"          . $ > / 3 / S.. . 3 3 3 3 3 8 T.U.V.W.. . . . 3 3 3 3 3 8 T.U.V.W.. . . X.V.Y.Z.`.`. +.+++. . . / 3 / > $ .           ",
+"          . $ > / 3 / B + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / @++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . /./ 3 / > $ .           ",
+"          . $ > / 3 / -.+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . %./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :./ 3 / > $ .           ",
+"          . $ > / 3 / [.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 / :.+ . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . . . . . . . . S./ 3 / > $ .           ",
+"          . $ > / 3 {.> + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . } X {.3 / > $ .           ",
+"          . $ > / 3 ).H 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + #+$+).3 %+> $ .           ",
+"          . $ B 1.3 3 &+| } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + '.| *+3 3 z , % .           ",
+"          . & t =+3 3 3 -+&.& + + . . . . . . . . . . . . . . . . . . . . . . . + + } + . . . . + ;+-.-+3 3 3 >+O.} .           ",
+"          . + 5 ,+3 3 3 3 s '+)+-.^.. /.%.-.:.:.:.:.:.:.+.-.|.j.C C [.$.q :.:.i S.#.> i l /.. ^.!+'+s 3 3 3 3 ~+{+. .           ",
+"          . . {+]+3 3 3 3 3 3 4./ / / / / / / / / / / / / }.P P P P }./ / / / / / / / / / / / / 4.3 3 3 3 3 ^+D.k . .           ",
+"            . + >./+3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 (+_+= . .             ",
+"              . @ :+<+[+}+|+/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 5.1+2+3+= + .               ",
+"              . . + ;+5 &.|.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > S.- ;+) . . .               ",
+"                  . . + & % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # 4++ . .                   ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                "};
diff --git a/lib/creaDevManagerLib/images/CFIcon20.xpm b/lib/creaDevManagerLib/images/CFIcon20.xpm
new file mode 100644
index 0000000..90c1425
--- /dev/null
+++ b/lib/creaDevManagerLib/images/CFIcon20.xpm
@@ -0,0 +1,134 @@
+/* XPM */
+const static char * CFIcon20[] = {
+"20 20 111 2",
+"  	c None",
+". 	c #181F28",
+"+ 	c #666B71",
+"@ 	c #8F9297",
+"# 	c #909499",
+"$ 	c #8F9397",
+"% 	c #696F75",
+"& 	c #192029",
+"* 	c #686C72",
+"= 	c #ECEDED",
+"- 	c #919499",
+"; 	c #878B8F",
+"> 	c #ECECED",
+", 	c #6A6F75",
+"' 	c #686C73",
+") 	c #A7A9AD",
+"! 	c #EBEBEC",
+"~ 	c #EAEBEC",
+"{ 	c #EBECED",
+"] 	c #EAECEC",
+"^ 	c #ECEDEE",
+"/ 	c #686D73",
+"( 	c #888B90",
+"_ 	c #EDEDEE",
+": 	c #373D45",
+"< 	c #111821",
+"[ 	c #141B25",
+"} 	c #101721",
+"| 	c #111822",
+"1 	c #131A23",
+"2 	c #0F1620",
+"3 	c #101821",
+"4 	c #0F1720",
+"5 	c #363C44",
+"6 	c #909498",
+"7 	c #84898D",
+"8 	c #1D242D",
+"9 	c #1E242D",
+"0 	c #1E252E",
+"a 	c #86898E",
+"b 	c #7F8388",
+"c 	c #1A212A",
+"d 	c #3F454C",
+"e 	c #7B7F84",
+"f 	c #585D63",
+"g 	c #232A32",
+"h 	c #7B7F85",
+"i 	c #82858A",
+"j 	c #6D7177",
+"k 	c #19212A",
+"l 	c #82868B",
+"m 	c #7E8186",
+"n 	c #9FA2A6",
+"o 	c #E8E9EA",
+"p 	c #B3B6B9",
+"q 	c #CCCED0",
+"r 	c #595E64",
+"s 	c #2B313A",
+"t 	c #FEFEFE",
+"u 	c #A9ACAF",
+"v 	c #B0B2B5",
+"w 	c #92959A",
+"x 	c #7E8387",
+"y 	c #7F8287",
+"z 	c #444951",
+"A 	c #F4F4F5",
+"B 	c #2A3039",
+"C 	c #FFFFFF",
+"D 	c #7D8186",
+"E 	c #7F8288",
+"F 	c #5C6167",
+"G 	c #9C9FA3",
+"H 	c #F3F3F4",
+"I 	c #DDDEDF",
+"J 	c #DFE0E2",
+"K 	c #72767C",
+"L 	c #7D8187",
+"M 	c #818589",
+"N 	c #4E535A",
+"O 	c #DBDCDE",
+"P 	c #7E8286",
+"Q 	c #808489",
+"R 	c #E2E3E4",
+"S 	c #C2C4C7",
+"T 	c #75797E",
+"U 	c #909398",
+"V 	c #4F545B",
+"W 	c #7C8085",
+"X 	c #E7E8E9",
+"Y 	c #BDBFC2",
+"Z 	c #424850",
+"` 	c #293038",
+" .	c #7E8287",
+"..	c #7F8488",
+"+.	c #8E9296",
+"@.	c #A4A7AB",
+"#.	c #151C25",
+"$.	c #8D9196",
+"%.	c #6B7075",
+"&.	c #B4B6B9",
+"*.	c #818489",
+"=.	c #81858A",
+"-.	c #81868A",
+";.	c #7A7E83",
+">.	c #B1B3B7",
+",.	c #65696F",
+"'.	c #8D9095",
+").	c #919599",
+"!.	c #8C9095",
+"~.	c #64686E",
+"{.	c #171E27",
+"                                        ",
+"                                        ",
+"    . + @ # # # # # # # # # # $ % &     ",
+"    * = - ; ; ; ; ; ; ; ; ; ; - > ,     ",
+"    ' ) ! = ~ = { ] ~ { = ] ^ ! ) /     ",
+"    ( _ : < [ } < | 1 < 2 3 4 5 _ (     ",
+"    6 7 & 8 8 8 9 0 0 8 8 8 8 & a 6     ",
+"    # b c 8 d e f 8 g h i i j k l 6     ",
+"    6 m c n o p q r s t u v w c x #     ",
+"    6 y z A 0 8 8 8 B C 8 8 8 c D #     ",
+"    # E F G 8 8 8 8 B H I J K c L #     ",
+"    # M N O 8 8 8 8 B C 8 8 8 c P #     ",
+"    # Q 0 R S T U V B C 8 8 8 c W -     ",
+"    # Q c 8 ) X Y Z ` X 8 8 8 c  .#     ",
+"    # b c 8 8 8 8 8 8 8 8 8 8 c ..#     ",
+"    +. at .#.c c k c c k c c & c [ @.$.    ",
+"    %.C &.h x *.Q Q =...=.-.;.>.C ,.    ",
+"    c , '.).# # # # # # # # ).!.~.{.    ",
+"                                        ",
+"                                        "};
diff --git a/lib/creaDevManagerLib/images/CFIcon64.xpm b/lib/creaDevManagerLib/images/CFIcon64.xpm
new file mode 100644
index 0000000..baed55e
--- /dev/null
+++ b/lib/creaDevManagerLib/images/CFIcon64.xpm
@@ -0,0 +1,290 @@
+/* XPM */
+const static char * CFIcon64[] = {
+"64 64 223 2",
+"  	c None",
+". 	c #1D242D",
+"+ 	c #1C232C",
+"@ 	c #1A212B",
+"# 	c #19212A",
+"$ 	c #192029",
+"% 	c #19202A",
+"& 	c #1A212A",
+"* 	c #141C25",
+"= 	c #131A24",
+"- 	c #202730",
+"; 	c #272E37",
+"> 	c #2B313A",
+", 	c #282F37",
+"' 	c #222931",
+") 	c #151C25",
+"! 	c #131B24",
+"~ 	c #4A5158",
+"{ 	c #A0A4A7",
+"] 	c #CFD0D2",
+"^ 	c #E6E7E8",
+"/ 	c #F1F2F2",
+"( 	c #E9EAEB",
+"_ 	c #D4D5D7",
+": 	c #A8ABAE",
+"< 	c #575D63",
+"[ 	c #151D26",
+"} 	c #1B222B",
+"| 	c #141B25",
+"1 	c #777B81",
+"2 	c #F6F7F7",
+"3 	c #FFFFFF",
+"4 	c #898C91",
+"5 	c #161D26",
+"6 	c #4C5158",
+"7 	c #FBFBFC",
+"8 	c #FDFDFD",
+"9 	c #F4F4F5",
+"0 	c #F1F1F2",
+"a 	c #565B62",
+"b 	c #141B24",
+"c 	c #A3A5AA",
+"d 	c #E1E1E3",
+"e 	c #898D92",
+"f 	c #4E535A",
+"g 	c #30373E",
+"h 	c #252C35",
+"i 	c #272D36",
+"j 	c #AAADB0",
+"k 	c #151C26",
+"l 	c #222831",
+"m 	c #D3D5D7",
+"n 	c #B0B2B5",
+"o 	c #252C34",
+"p 	c #030A15",
+"q 	c #232A33",
+"r 	c #272E36",
+"s 	c #D8D9DB",
+"t 	c #232A32",
+"u 	c #C6C8CA",
+"v 	c #0F1720",
+"w 	c #323940",
+"x 	c #929599",
+"y 	c #CACCCE",
+"z 	c #E9E9EA",
+"A 	c #F6F6F7",
+"B 	c #293038",
+"C 	c #2D343C",
+"D 	c #F3F3F4",
+"E 	c #52575F",
+"F 	c #5F646A",
+"G 	c #ECECED",
+"H 	c #52575E",
+"I 	c #2F353D",
+"J 	c #DADCDD",
+"K 	c #6D7177",
+"L 	c #FAFAFA",
+"M 	c #F9F9F9",
+"N 	c #F2F2F3",
+"O 	c #EEEFEF",
+"P 	c #EDEEEF",
+"Q 	c #EFEFF0",
+"R 	c #EEEEEF",
+"S 	c #2D333C",
+"T 	c #E2E3E4",
+"U 	c #D5D7D8",
+"V 	c #777B80",
+"W 	c #41474F",
+"X 	c #2C323B",
+"Y 	c #2A3139",
+"Z 	c #2B323A",
+"` 	c #30363E",
+" .	c #2A313A",
+"..	c #242A33",
+"+.	c #242B33",
+"@.	c #293039",
+"#.	c #2A3039",
+"$.	c #212830",
+"%.	c #212831",
+"&.	c #222932",
+"*.	c #F1F1F1",
+"=.	c #9B9FA2",
+"-.	c #242B34",
+";.	c #0F1620",
+">.	c #181F28",
+",.	c #B7B9BC",
+"'.	c #171E27",
+").	c #FCFCFC",
+"!.	c #52585F",
+"~.	c #121922",
+"{.	c #F2F3F3",
+"].	c #2B3139",
+"^.	c #1E252E",
+"/.	c #1F262F",
+"(.	c #1F262E",
+"_.	c #2D333B",
+":.	c #262C35",
+"<.	c #1E242D",
+"[.	c #252B34",
+"}.	c #F0F1F1",
+"|.	c #292F38",
+"1.	c #3D434B",
+"2.	c #888B90",
+"3.	c #C5C7C9",
+"4.	c #E3E4E5",
+"5.	c #F7F8F8",
+"6.	c #DBDCDE",
+"7.	c #BEC0C2",
+"8.	c #808489",
+"9.	c #3E444C",
+"0.	c #71757B",
+"a.	c #ECEDED",
+"b.	c #2E353D",
+"c.	c #ABAEB1",
+"d.	c #FEFEFE",
+"e.	c #EAEBEB",
+"f.	c #444951",
+"g.	c #74797E",
+"h.	c #323840",
+"i.	c #E6E6E7",
+"j.	c #E7E7E8",
+"k.	c #989B9F",
+"l.	c #63686E",
+"m.	c #4D535A",
+"n.	c #4F545B",
+"o.	c #60656B",
+"p.	c #8E9296",
+"q.	c #C3C5C7",
+"r.	c #EBECEC",
+"s.	c #3F454D",
+"t.	c #B8BABD",
+"u.	c #94979B",
+"v.	c #ECEDEE",
+"w.	c #4A4F57",
+"x.	c #82858A",
+"y.	c #EDEEEE",
+"z.	c #C8C9CC",
+"A.	c #EFF0F0",
+"B.	c #D3D4D6",
+"C.	c #232932",
+"D.	c #EDEDEE",
+"E.	c #393F47",
+"F.	c #CDCED0",
+"G.	c #787C81",
+"H.	c #919499",
+"I.	c #E0E0E2",
+"J.	c #41474E",
+"K.	c #ACAFB2",
+"L.	c #20272F",
+"M.	c #B1B3B6",
+"N.	c #C1C3C5",
+"O.	c #3A4048",
+"P.	c #262D35",
+"Q.	c #1F252E",
+"R.	c #282E37",
+"S.	c #FBFBFB",
+"T.	c #BABDBF",
+"U.	c #7E8287",
+"V.	c #62676D",
+"W.	c #5B6066",
+"X.	c #6F7379",
+"Y.	c #C7C8CB",
+"Z.	c #5E6369",
+"`.	c #42484F",
+" +	c #BBBDC0",
+".+	c #262D36",
+"++	c #30363F",
+"@+	c #AFB1B5",
+"#+	c #CCCED0",
+"$+	c #E7E8E9",
+"%+	c #D2D4D5",
+"&+	c #B4B7B9",
+"*+	c #2F353E",
+"=+	c #121923",
+"-+	c #51575E",
+";+	c #F2F2F2",
+">+	c #B6B8BB",
+",+	c #B5B7BA",
+"'+	c #D8DADB",
+")+	c #9B9EA2",
+"!+	c #121A23",
+"~+	c #CED0D1",
+"{+	c #AEB0B3",
+"]+	c #75797F",
+"^+	c #40454E",
+"/+	c #2C333B",
+"(+	c #9C9FA3",
+"_+	c #131A23",
+":+	c #5C6167",
+"<+	c #F8F8F9",
+"[+	c #F7F7F7",
+"}+	c #929699",
+"|+	c #F3F3F3",
+"1+	c #6E7378",
+"2+	c #161E27",
+"3+	c #5D6268",
+"4+	c #ABADB1",
+"5+	c #D6D6D8",
+"6+	c #EBECED",
+"7+	c #CDCFD0",
+"8+	c #9DA0A4",
+"9+	c #454B52",
+"0+	c #1A222B",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                  . . + @ # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % & + . .                   ",
+"              . . . * = - ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , ' ) = + . .               ",
+"              . + ! ~ { ] ^ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ( _ : < [ } .               ",
+"            . . | 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 + .             ",
+"          . . | 6 7 3 3 3 8 9 0 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 0 9 8 3 3 3 3 a = . .           ",
+"          . . b c 3 3 d e f g h i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i h g f e d 3 3 j k + .           ",
+"          . } l m 3 n o p 5 q r i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i r q 5 p o n 3 s t & .           ",
+"          . % , 9 u v w x y z / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / z y x w v u A B $ .           ",
+"          . $ C D E F G 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 G F H D C $ .           ",
+"          . $ I J K L 3 3 3 3 M N / / / O P Q / / / 0 P P R P P P P R P P 0 / / / Q P O / / / N M 3 3 3 3 L K J I $ .           ",
+"          . $ S T U 3 3 3 s V W X Y Z i `  .h ..i ...., B r +.r , @.I #.r $.- q %.+.B &.- r Y X W V s 3 3 3 U T S $ .           ",
+"          . $ > *.3 3 3 =.-.;.>.+ + + . . . . . + . . . . . . . . . . . . . . . . . . . . & $ $ 5 ;.-.=.3 3 3 *.> $ .           ",
+"          . $ > / 3 3 ,.* '.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . '.* ,.3 3 / > $ .           ",
+"          . $ > / 3 ).!.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . ~.!.).3 / > $ .           ",
+"          . $ > / 3 {.].+ . . . . . . . . . . . . . . . . ^./.(.^.^.^.^.. . . . . . . . . . . . . . . & _.{.3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . <.^.. . . . . . . . . . . . . . . . . . . . . . . } #./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 / [.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 }.[.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + |./ 3 / > $ .           ",
+"          . $ > / 3 O [.. . . . . . . . 1.2.3.4.5.}.6.7.8.9.. . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 0.. . . i / 3 / > $ .           ",
+"          . $ > / 3 a.:.. . . . . . b.c.).3 3 3 3 3 3 3 3 3 n . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 0.. . . -./ 3 / > $ .           ",
+"          . $ > / d.e.i + . . . . f.4.3 3 3 3 3 3 3 3 3 3 3 g.. . . . . 3 3 3 3 3 3 3 3 3 3 3 3 0.. . . %./ 3 / > $ .           ",
+"          . $ > / d.e.|.+ . . . h.i.3 3 3 j.k.l.m.n.o.p.q.r., . . . . . 3 3 3 s.s.s.s.s.s.s.s.s.B . . . - / 3 / > $ .           ",
+"          . $ > / d.e.|.+ . . . t.3 3 3 u.... . . . . . . /.. . . . . . 3 3 3 . . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / d.v.i + . . w.3 3 3 x.. . . . . . . . . . . . . . . . 3 3 3 . . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / 3 y.i . . . k.3 3 z.. . . . . . . . . . . . . . . . . 3 3 3 . . . . . . . . . . . . . /./ 3 / > $ .           ",
+"          . $ > / 3 A.[.. . . B.3 3 0.. . . . . . . . . . . . . . . . . 3 3 3 . . . . . . . . . . . . . /./ 3 / > $ .           ",
+"          . $ > / 3 }.C.. . . D.3 3 f.. . . . . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 k.. . . . - }.3 / > $ .           ",
+"          . $ > / 3 / ..+ . . L 3 3 ... . . . . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 k.. . . . C.}.3 / > $ .           ",
+"          . $ > / 3 / i . . . ( 3 3 E.. . . . . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 k.. . . . ..A.3 / > $ .           ",
+"          . $ > / 3 / r + . . F.3 3 G.. . . . . . . . . . . . . . . . . 3 3 3 . . . . . . . + . . . . . +.A.3 / > $ .           ",
+"          . $ > / 3 / i . . . H.3 3 I.' . . . . . . . . . . . . . . . . 3 3 3 . . . . . . . . . . . . . C.A.3 / > $ .           ",
+"          . $ > / 3 / t . . . J.8 3 3 K.^.. . . . . . . . . . . . . . . 3 3 3 . . . . . . . . . . . . . L.}.3 / > $ .           ",
+"          . $ > / 3 / ... . . . M.3 3 3 N.O.. . . . . . . P.^.. . . . . 3 3 3 . . . . . . . . . . . . . Q.}.3 / > $ .           ",
+"          . $ > / 3 / R.. . . . C 4.3 3 3 S.T.U.V.W.X.p.Y.M Z.. . . . . 3 3 3 . . . . . . . . . . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / B + . . . . `.T 3 3 3 3 3 3 3 3 3 3 3  +. . . . . 3 3 3 . . . . . . . . . . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / .++ . . . . . ++ at +3 3 3 3 3 3 3 3 3 8 3.%.. . . . 3 3 3 . . . . . . . . . . . . . /./ 3 / > $ .           ",
+"          . $ > / 3 / -.+ . . . . . . . `.p.#+$+M r.%+&+g.*+. . . . . . 3 3 3 . . . . . . . . . . . . . %./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :./ 3 / > $ .           ",
+"          . $ > / 3 / [.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 / :.+ . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . . . . . . . . R./ 3 / > $ .           ",
+"          . $ > / 3 {.> + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . } X {.3 / > $ .           ",
+"          . $ > / 3 ).H 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + =+-+).3 ;+> $ .           ",
+"          . $ B a.3 3 >+| } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + '.| ,+3 3 z , % .           ",
+"          . & t '+3 3 3 )+&.& + + . . . . . . . . . . . . . . . . . . . . . . . + + } + . . . . + !+-.)+3 3 3 ~+L.} .           ",
+"          . + 5 {+3 3 3 3 s ]+^+-.^.. /.%.-.:.:.:.:.:.:.+.-.|./+C C [.$.q :.:.i R.#.> i l /.. ^.++]+s 3 3 3 3 (+_+. .           ",
+"          . . _+:+3 3 3 3 3 3 <+/ / / / / / / / / / / / / }.P P P P }./ / / / / / / / / / / / / <+3 3 3 3 3 [+f.k . .           ",
+"            . + >.}+3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 |+1+= . .             ",
+"              . @ 2+3+4+5+6+/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / $+7+8+9+= + .               ",
+"              . . + !+5 &.|.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > R.- !+) . . .               ",
+"                  . . + & % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # 0++ . .                   ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                "};
diff --git a/lib/creaDevManagerLib/images/CIcon20.xpm b/lib/creaDevManagerLib/images/CIcon20.xpm
new file mode 100644
index 0000000..bff4129
--- /dev/null
+++ b/lib/creaDevManagerLib/images/CIcon20.xpm
@@ -0,0 +1,138 @@
+/* XPM */
+const static char * CIcon20[] = {
+"20 20 115 2",
+"  	c None",
+". 	c #171E27",
+"+ 	c #666B71",
+"@ 	c #8E9297",
+"# 	c #909498",
+"$ 	c #8F9297",
+"% 	c #6A6F75",
+"& 	c #191F29",
+"* 	c #686C72",
+"= 	c #ECECED",
+"- 	c #909398",
+"; 	c #868B8F",
+"> 	c #878B8F",
+", 	c #EBECEC",
+"' 	c #A6A9AC",
+") 	c #EAEBEB",
+"! 	c #EBEDED",
+"~ 	c #ECEDED",
+"{ 	c #EAEBEC",
+"] 	c #EBEBEC",
+"^ 	c #686C73",
+"/ 	c #ECEDEE",
+"( 	c #363C44",
+"_ 	c #111821",
+": 	c #131B24",
+"< 	c #101721",
+"[ 	c #0E1620",
+"} 	c #0B131C",
+"| 	c #0B131D",
+"1 	c #0A111B",
+"2 	c #101821",
+"3 	c #0F1620",
+"4 	c #353C43",
+"5 	c #84888D",
+"6 	c #192029",
+"7 	c #1C232C",
+"8 	c #151C26",
+"9 	c #555A61",
+"0 	c #C4C6C8",
+"a 	c #E8E9E9",
+"b 	c #D4D5D7",
+"c 	c #81858A",
+"d 	c #232B33",
+"e 	c #181F28",
+"f 	c #86898D",
+"g 	c #808389",
+"h 	c #1D242D",
+"i 	c #171F28",
+"j 	c #BBBDBF",
+"k 	c #FFFFFF",
+"l 	c #E1E2E3",
+"m 	c #BCBEC0",
+"n 	c #C8CACC",
+"o 	c #FEFEFE",
+"p 	c #2B323A",
+"q 	c #82858A",
+"r 	c #A1A3A8",
+"s 	c #8B8F94",
+"t 	c #141C25",
+"u 	c #182029",
+"v 	c #151D26",
+"w 	c #7E8287",
+"x 	c #272D36",
+"y 	c #F6F6F6",
+"z 	c #BEC0C2",
+"A 	c #7D8186",
+"B 	c #7F8388",
+"C 	c #343A43",
+"D 	c #F7F8F8",
+"E 	c #19202A",
+"F 	c #7E8286",
+"G 	c #81848A",
+"H 	c #F5F6F6",
+"I 	c #B0B2B5",
+"J 	c #1A212A",
+"K 	c #808489",
+"L 	c #C5C6C9",
+"M 	c #63686E",
+"N 	c #121A23",
+"O 	c #161D26",
+"P 	c #7C8085",
+"Q 	c #7F8389",
+"R 	c #1B222B",
+"S 	c #EDEEEF",
+"T 	c #CFD0D1",
+"U 	c #868A8F",
+"V 	c #94989C",
+"W 	c #293038",
+"X 	c #7D8286",
+"Y 	c #2C333B",
+"Z 	c #92959A",
+"` 	c #EFF0F0",
+" .	c #F5F5F6",
+"..	c #AEB0B3",
+"+.	c #383E46",
+"@.	c #1B222C",
+"#.	c #8D9196",
+"$.	c #A4A6AA",
+"%.	c #141B24",
+"&.	c #09111A",
+"*.	c #111922",
+"=.	c #8D9195",
+"-.	c #6B7075",
+";.	c #B3B5B9",
+">.	c #7A7F84",
+",.	c #7F8488",
+"'.	c #818589",
+").	c #797E83",
+"!.	c #B0B3B6",
+"~.	c #65696F",
+"{.	c #8C9095",
+"].	c #909499",
+"^.	c #8C9094",
+"/.	c #64686E",
+"(.	c #161D27",
+"                                        ",
+"                                        ",
+"    . + @ # # # # # # # # # # $ % &     ",
+"    * = - ; > > > > > > > > ; - , %     ",
+"    * ' ) ! ) ~ { ) ) ] ~ { ! ) ' ^     ",
+"    > / ( _ : < [ } | 1 | 2 3 4 / >     ",
+"    # 5 6 7 7 8 9 0 a b c d 7 e f #     ",
+"    # g 6 h i j k l m n o p 7 6 q #     ",
+"    # c 6 e r k s t 6 u v h h 6 w #     ",
+"    # c 6 x y z 8 h h h h h h 6 A #     ",
+"    # B 6 C D - 7 h h h h h 7 E F #     ",
+"    # G 6 p H I J h h h h h 7 6 B #     ",
+"    # K 6 e L k M N . O _ 7 h 6 P #     ",
+"    # Q 6 7 R S k T U V = W 7 6 X #     ",
+"    # w 6 h 7 Y Z ` k  ...+. at .6 B #     ",
+"    #.$.t 6 6 E %.| &.} *.u E %.$.=.    ",
+"    -.k ;.>.w g g ,.c B G '.).!.k ~.    ",
+"    J % {.].# # # # # # # # ].^./.(.    ",
+"                                        ",
+"                                        "};
diff --git a/lib/creaDevManagerLib/images/CIcon64.xpm b/lib/creaDevManagerLib/images/CIcon64.xpm
new file mode 100644
index 0000000..2b6ec23
--- /dev/null
+++ b/lib/creaDevManagerLib/images/CIcon64.xpm
@@ -0,0 +1,297 @@
+/* XPM */
+const static char * CIcon64[] = {
+"64 64 230 2",
+"  	c None",
+". 	c #1D242D",
+"+ 	c #1C232C",
+"@ 	c #1A212B",
+"# 	c #19212A",
+"$ 	c #192029",
+"% 	c #19202A",
+"& 	c #1A212A",
+"* 	c #141C25",
+"= 	c #131A24",
+"- 	c #202730",
+"; 	c #272E37",
+"> 	c #2B313A",
+", 	c #282F37",
+"' 	c #222931",
+") 	c #151C25",
+"! 	c #131B24",
+"~ 	c #4A5158",
+"{ 	c #A0A4A7",
+"] 	c #CFD0D2",
+"^ 	c #E6E7E8",
+"/ 	c #F1F2F2",
+"( 	c #E9EAEB",
+"_ 	c #D4D5D7",
+": 	c #A8ABAE",
+"< 	c #575D63",
+"[ 	c #151D26",
+"} 	c #1B222B",
+"| 	c #141B25",
+"1 	c #777B81",
+"2 	c #F6F7F7",
+"3 	c #FFFFFF",
+"4 	c #898C91",
+"5 	c #161D26",
+"6 	c #4C5158",
+"7 	c #FBFBFC",
+"8 	c #FDFDFD",
+"9 	c #F4F4F5",
+"0 	c #F1F1F2",
+"a 	c #565B62",
+"b 	c #141B24",
+"c 	c #A3A5AA",
+"d 	c #E1E1E3",
+"e 	c #898D92",
+"f 	c #4E535A",
+"g 	c #30373E",
+"h 	c #252C35",
+"i 	c #272D36",
+"j 	c #AAADB0",
+"k 	c #151C26",
+"l 	c #222831",
+"m 	c #D3D5D7",
+"n 	c #B0B2B5",
+"o 	c #252C34",
+"p 	c #030A15",
+"q 	c #232A33",
+"r 	c #272E36",
+"s 	c #D8D9DB",
+"t 	c #232A32",
+"u 	c #C6C8CA",
+"v 	c #0F1720",
+"w 	c #323940",
+"x 	c #929599",
+"y 	c #CACCCE",
+"z 	c #E9E9EA",
+"A 	c #F6F6F7",
+"B 	c #293038",
+"C 	c #2D343C",
+"D 	c #F3F3F4",
+"E 	c #52575F",
+"F 	c #5F646A",
+"G 	c #ECECED",
+"H 	c #52575E",
+"I 	c #2F353D",
+"J 	c #DADCDD",
+"K 	c #6D7177",
+"L 	c #FAFAFA",
+"M 	c #F9F9F9",
+"N 	c #F2F2F3",
+"O 	c #EEEFEF",
+"P 	c #EDEEEF",
+"Q 	c #EFEFF0",
+"R 	c #EEEEEF",
+"S 	c #2D333C",
+"T 	c #E2E3E4",
+"U 	c #D5D7D8",
+"V 	c #777B80",
+"W 	c #41474F",
+"X 	c #2C323B",
+"Y 	c #2A3139",
+"Z 	c #2B323A",
+"` 	c #30363E",
+" .	c #2A313A",
+"..	c #242A33",
+"+.	c #282E37",
+"@.	c #252B34",
+"#.	c #212831",
+"$.	c #242B34",
+"%.	c #222932",
+"&.	c #F1F1F1",
+"*.	c #9B9FA2",
+"=.	c #0F1620",
+"-.	c #181F28",
+";.	c #B7B9BC",
+">.	c #171E27",
+",.	c #FCFCFC",
+"'.	c #52585F",
+").	c #121922",
+"!.	c #F2F3F3",
+"~.	c #2B3139",
+"{.	c #373D45",
+"].	c #73787D",
+"^.	c #E1E2E3",
+"/.	c #F4F4F4",
+"(.	c #F5F5F5",
+"_.	c #DFE0E1",
+":.	c #C9CBCD",
+"<.	c #B3B5B8",
+"[.	c #7D8186",
+"}.	c #3C4249",
+"|.	c #2D333B",
+"1.	c #262C35",
+"2.	c #5E6369",
+"3.	c #CCCED0",
+"4.	c #DCDDDE",
+"5.	c #9B9EA2",
+"6.	c #4C5259",
+"7.	c #2A3039",
+"8.	c #40464D",
+"9.	c #D1D2D4",
+"0.	c #A0A3A7",
+"a.	c #696E73",
+"b.	c #4B5057",
+"c.	c #6F7379",
+"d.	c #EFF0F0",
+"e.	c #D2D4D5",
+"f.	c #BEC0C2",
+"g.	c #BCBEC1",
+"h.	c #C8C9CC",
+"i.	c #D8DADB",
+"j.	c #D8D9DA",
+"k.	c #292F38",
+"l.	c #F8F8F9",
+"m.	c #9FA2A6",
+"n.	c #4F545B",
+"o.	c #1E252E",
+"p.	c #595E65",
+"q.	c #8D9095",
+"r.	c #C4C6C8",
+"s.	c #808489",
+"t.	c #E6E6E7",
+"u.	c #363C44",
+"v.	c #85898E",
+"w.	c #ABAEB1",
+"x.	c #C9CACC",
+"y.	c #5B6067",
+"z.	c #41474E",
+"A.	c #B2B4B7",
+"B.	c #CDCED0",
+"C.	c #383E46",
+"D.	c #F7F8F8",
+"E.	c #DEDFE0",
+"F.	c #444951",
+"G.	c #7E8287",
+"H.	c #92959A",
+"I.	c #CECFD1",
+"J.	c #242B33",
+"K.	c #51565D",
+"L.	c #63686E",
+"M.	c #212830",
+"N.	c #1F262F",
+"O.	c #E8E9EA",
+"P.	c #20262F",
+"Q.	c #DADBDD",
+"R.	c #E0E0E2",
+"S.	c #6B6F75",
+"T.	c #1E252D",
+"U.	c #232932",
+"V.	c #262D36",
+"W.	c #494F56",
+"X.	c #D9DADC",
+"Y.	c #3F454D",
+"Z.	c #95989C",
+"`.	c #DBDCDE",
+" +	c #CBCDCF",
+".+	c #585D64",
+"++	c #64696F",
+"@+	c #656A70",
+"#+	c #D6D7D9",
+"$+	c #C5C7C9",
+"%+	c #353B43",
+"&+	c #3D434B",
+"*+	c #B8BABD",
+"=+	c #D1D3D5",
+"-+	c #BBBDC0",
+";+	c #A3A5A9",
+">+	c #73777C",
+",+	c #121923",
+"'+	c #51575E",
+")+	c #F2F2F2",
+"!+	c #ECEDED",
+"~+	c #B6B8BB",
+"{+	c #B5B7BA",
+"]+	c #121A23",
+"^+	c #CED0D1",
+"/+	c #20272F",
+"(+	c #AEB0B3",
+"_+	c #75797F",
+":+	c #40454E",
+"<+	c #2C333B",
+"[+	c #2E353D",
+"}+	c #30363F",
+"|+	c #9C9FA3",
+"1+	c #131A23",
+"2+	c #5C6167",
+"3+	c #F0F1F1",
+"4+	c #F7F7F7",
+"5+	c #929699",
+"6+	c #F3F3F3",
+"7+	c #6E7378",
+"8+	c #161E27",
+"9+	c #5D6268",
+"0+	c #ABADB1",
+"a+	c #D6D6D8",
+"b+	c #EBECED",
+"c+	c #E7E8E9",
+"d+	c #CDCFD0",
+"e+	c #9DA0A4",
+"f+	c #454B52",
+"g+	c #1A222B",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                  . . + @ # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % & + . .                   ",
+"              . . . * = - ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , ' ) = + . .               ",
+"              . + ! ~ { ] ^ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ( _ : < [ } .               ",
+"            . . | 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 + .             ",
+"          . . | 6 7 3 3 3 8 9 0 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 0 9 8 3 3 3 3 a = . .           ",
+"          . . b c 3 3 d e f g h i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i h g f e d 3 3 j k + .           ",
+"          . } l m 3 n o p 5 q r i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i r q 5 p o n 3 s t & .           ",
+"          . % , 9 u v w x y z / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / z y x w v u A B $ .           ",
+"          . $ C D E F G 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 G F H D C $ .           ",
+"          . $ I J K L 3 3 3 3 M N / / / O P Q / / / 0 P P R P P P P R P P 0 / / / Q P O / / / N M 3 3 3 3 L K J I $ .           ",
+"          . $ S T U 3 3 3 s V W X Y Z i `  .h ..+. at .@.B Y , o , B  .` > , ' #.$.%.o Y q - r Y X W V s 3 3 3 U T S $ .           ",
+"          . $ > &.3 3 3 *.$.=.-.+ + + . . . . . + . . . . . . . . . . . . . . . . . . . . & $ $ 5 =.$.*.3 3 3 &.> $ .           ",
+"          . $ > / 3 3 ;.* >.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . >.* ;.3 3 / > $ .           ",
+"          . $ > / 3 ,.'.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . ).'.,.3 / > $ .           ",
+"          . $ > / 3 !.~.+ . . . . . . . . . . . . . . . {.].n ] ^./.(._.:.<.[.}.. . . . . . . . . . . & |.!.3 / > $ .           ",
+"          . $ > / 3 / 1.. . . . . . . . . . . . . . 2.3.3 3 3 3 3 3 3 3 3 3 3 3 4.5.6.. . . . . . . . } 7./ 3 / > $ .           ",
+"          . $ > / 3 / 1.. . . . . . . . . . . . 8.9.3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0.. . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 / 1.. . . . . . . . . . . a./.3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b.. . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 / 1.. . . . . . . . . . c.3 3 3 3 3 3 3 3 d.e.f.g.h.i.,.3 3 3 j.. . . . . . . . . + k./ 3 / > $ .           ",
+"          . $ > / 3 / 1.. . . . . . . . . '.M 3 3 3 3 3 l.m.n.o.. . . . . r p.q.r.s.. . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 / i . . . . . . . . ..t.3 3 3 3 3 u u.. . . . . . . . . . . . . . . . . . . . . . . $./ 3 / > $ .           ",
+"          . $ > / 3 / k.+ . . . . . . . v.3 3 3 3 3 w.- . . . . . . . . . . . . . . . . . . . . . . . . #./ 3 / > $ .           ",
+"          . $ > / 3 / > + . . . . . . ' d.3 3 3 3 x.#.. . . . . . . . . . . . . . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / 3 / > + . . . . . . y.3 3 3 3 ,.z.. . . . . . . . . . . . . . . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / 3 / k.+ . . . . . . 0.3 3 3 3 A.. . . . . . . . . . . . . . . . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / 3 / +.. . . . . . . B.3 3 3 3 a.. . . . . . . . . . . . . . . . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / 3 / 1.. . . . . . . T 3 3 3 3 C.. . . . . . . . . . . . . . . . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / 3 / ... . . . . . . D.3 3 3 3 ... . . . . . . . . . . . . . . . . . . . . . . . . . . #./ 3 / > $ .           ",
+"          . $ > / 3 / @.+ . . . . . . N 3 3 3 3 > . . . . . . . . . . . . . . . . . . . . . . . . . . . ../ 3 / > $ .           ",
+"          . $ > / 3 / i . . . . . . . E.3 3 3 3 F.. . . . . . . . . . . . . . . . . . . . . . + - . . . @./ 3 / > $ .           ",
+"          . $ > / 3 / , + . . . . . . h.3 3 3 3 G.. . . . . . . . . . . . . . . . . . . . . + . . . . . o / 3 / > $ .           ",
+"          . $ > / 3 / +.. . . . . . . H.3 3 3 3 I.. . . . . . . . . . . . . + . . . . . . . . . . . . . ../ 3 / > $ .           ",
+"          . $ > / 3 / J.o.. . . . . . K.3 3 3 3 3 L.. . . . . . . . . . . . . . . . . . . . . . . . . . M./ 3 / > $ .           ",
+"          . $ > / 3 / @.o.. . . . . . N.t.3 3 3 3 O.{.. . . . . . . . . . . . . . . . . . . . . . . . . P./ 3 / > $ .           ",
+"          . $ > / 3 / +.. . . . . . . . 1 3 3 3 3 3 Q.C.. . . . . . . . . . . . . . . . . . . . . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / B + . . . . . . . #.R.3 3 3 3 3 Q S.T.. . . . . . . . . . . U.. . . . . . . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / V.+ . . . . . . . . W.2 3 3 3 3 3 3 X.[.Y.. . . . . h p.Z.9.`.T.. . . . . . . . . N./ 3 / > $ .           ",
+"          . $ > / 3 / $.+ . . . . . . . . . S.3 3 3 3 3 3 3 3 3 d.`. +i.Q 3 3 3 3 3 .+. . . . . . . . . #./ 3 / > $ .           ",
+"          . $ > / 3 / 1.. . . . . . . . . . . ++/.3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ;.. . . . . . . . . $./ 3 / > $ .           ",
+"          . $ > / 3 / 1.. . . . . . . . . . . . F.e.3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 L C . . . . . . . . 1./ 3 / > $ .           ",
+"          . $ > / 3 / @.. . . . . . . . . . . . . T. at +#+3 3 3 3 3 3 3 3 3 3 3 ,.$+[.%+. . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 / 1.+ . . . . . . . . . . . . . . . &+[.*+=+t.l.R _ -+;+>+C + . . . . . . . . . . . +./ 3 / > $ .           ",
+"          . $ > / 3 !.> + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . } X !.3 / > $ .           ",
+"          . $ > / 3 ,.H 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + ,+'+,.3 )+> $ .           ",
+"          . $ B !+3 3 ~+| } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + >.| {+3 3 z , % .           ",
+"          . & t i.3 3 3 5.%.& + + . . . . . . . . . . . . . . . . . . . . . . . + + } + . . . . + ]+$.5.3 3 3 ^+/+} .           ",
+"          . + 5 (+3 3 3 3 s _+:+$.o.. N.#.$.1.1.1.1.1.1.J.$.k.<+[+[+1.' $.1.1.i k.> > i l N.. o.}+_+s 3 3 3 3 |+1+. .           ",
+"          . . 1+2+3 3 3 3 3 3 l./ / / / / / / / / / / / / 3+P P P P 3+/ / / / / / / / / / / / / l.3 3 3 3 3 4+F.k . .           ",
+"            . + -.5+3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 6+7+= . .             ",
+"              . @ 8+9+0+a+b+/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / c+d+e+f+= + .               ",
+"              . . + ]+5 %.k.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > +.- ]+) . . .               ",
+"                  . . + & % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # g++ . .                   ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                "};
diff --git a/lib/creaDevManagerLib/images/CMIcon20.xpm b/lib/creaDevManagerLib/images/CMIcon20.xpm
new file mode 100644
index 0000000..3224569
--- /dev/null
+++ b/lib/creaDevManagerLib/images/CMIcon20.xpm
@@ -0,0 +1,157 @@
+/* XPM */
+const static char * CMIcon20[] = {
+"20 20 134 2",
+"  	c None",
+". 	c #171E27",
+"+ 	c #666B71",
+"@ 	c #8E9297",
+"# 	c #909498",
+"$ 	c #8F9297",
+"% 	c #6A6F75",
+"& 	c #191F29",
+"* 	c #686C72",
+"= 	c #ECECED",
+"- 	c #909398",
+"; 	c #868B8F",
+"> 	c #878B8F",
+", 	c #EBECEC",
+"' 	c #A6A9AC",
+") 	c #EAEBEB",
+"! 	c #EBEDED",
+"~ 	c #ECEDED",
+"{ 	c #EAEBEC",
+"] 	c #EBEBEC",
+"^ 	c #686C73",
+"/ 	c #ECEDEE",
+"( 	c #363C44",
+"_ 	c #111821",
+": 	c #131B24",
+"< 	c #0F1721",
+"[ 	c #111721",
+"} 	c #101821",
+"| 	c #121923",
+"1 	c #101720",
+"2 	c #0E161F",
+"3 	c #101721",
+"4 	c #0F1620",
+"5 	c #353C43",
+"6 	c #84888D",
+"7 	c #182029",
+"8 	c #1C232C",
+"9 	c #1D232C",
+"0 	c #1D242D",
+"a 	c #181F28",
+"b 	c #86898D",
+"c 	c #7E8387",
+"d 	c #192029",
+"e 	c #1A212A",
+"f 	c #111822",
+"g 	c #131A24",
+"h 	c #0D141E",
+"i 	c #131A23",
+"j 	c #82858B",
+"k 	c #7D8086",
+"l 	c #4F555C",
+"m 	c #DFE0E1",
+"n 	c #FAFAFA",
+"o 	c #BABCBE",
+"p 	c #FFFFFF",
+"q 	c #494E55",
+"r 	c #1B222B",
+"s 	c #C4C7C8",
+"t 	c #C9CACD",
+"u 	c #7D8186",
+"v 	c #7E8187",
+"w 	c #545960",
+"x 	c #EEEFEF",
+"y 	c #494F56",
+"z 	c #373D45",
+"A 	c #F1F1F2",
+"B 	c #313840",
+"C 	c #EEEEEF",
+"D 	c #C2C4C6",
+"E 	c #7B8085",
+"F 	c #BBBDC0",
+"G 	c #81858A",
+"H 	c #0C131D",
+"I 	c #F0F0F1",
+"J 	c #AEB1B4",
+"K 	c #73777D",
+"L 	c #C9CACC",
+"M 	c #8A8E92",
+"N 	c #C9CBCD",
+"O 	c #7C8085",
+"P 	c #7F8388",
+"Q 	c #B2B4B7",
+"R 	c #909397",
+"S 	c #F5F6F6",
+"T 	c #1F262F",
+"U 	c #EDEDED",
+"V 	c #B4B6BA",
+"W 	c #64686F",
+"X 	c #7F8488",
+"Y 	c #3D424B",
+"Z 	c #F9F9F9",
+"` 	c #787C81",
+" .	c #52575F",
+"..	c #74787E",
+"+.	c #121922",
+"@.	c #F6F6F6",
+"#.	c #232A32",
+"$.	c #363C45",
+"%.	c #20272F",
+"&.	c #686D73",
+"*.	c #7A7F84",
+"=.	c #909499",
+"-.	c #7F8389",
+";.	c #181F29",
+">.	c #3A4148",
+",.	c #CFD1D3",
+"'.	c #EBECED",
+").	c #A3A5A9",
+"!.	c #161E27",
+"~.	c #E8E8E9",
+"{.	c #63686E",
+"].	c #BEC0C2",
+"^.	c #7C8185",
+"/.	c #7E8287",
+"(.	c #161D26",
+"_.	c #141B24",
+":.	c #8D9196",
+"<.	c #A4A6AA",
+"[.	c #141C25",
+"}.	c #19202A",
+"|.	c #8D9195",
+"1.	c #6B7075",
+"2.	c #B3B5B9",
+"3.	c #808389",
+"4.	c #80858A",
+"5.	c #818489",
+"6.	c #818589",
+"7.	c #797E83",
+"8.	c #B0B3B6",
+"9.	c #65696F",
+"0.	c #8C9095",
+"a.	c #8C9094",
+"b.	c #64686E",
+"c.	c #161D27",
+"                                        ",
+"                                        ",
+"    . + @ # # # # # # # # # # $ % &     ",
+"    * = - ; > > > > > > > > ; - , %     ",
+"    * ' ) ! ) ~ { ) ) ] ~ { ! ) ' ^     ",
+"    > / ( _ : < [ } | 1 2 3 4 5 / >     ",
+"    # 6 7 8 8 8 9 0 0 0 8 8 8 a b #     ",
+"    # c d e f 4 g 0 h e 0 8 i 2 j #     ",
+"    # k a l m n o g p q r 0 s t u #     ",
+"    - v w x y z q h p A . B C D E #     ",
+"    # u F G 8 0 0 H I J K L M N O #     ",
+"    # P Q R 8 0 0 H S T U V W N O #     ",
+"    # X Y Z `  ...+. at .#.$.%.&.N *.=.    ",
+"    # -.;.>.,.'.).!.~.#.0 8 {.].^.#     ",
+"    # /.d r !.(.a 0 (.8 0 0 e _.P #     ",
+"    :.<.[.d d d d d d d d d }._.<.|.    ",
+"    1.p 2.*./.3.3.X 4.P 5.6.7.8.p 9.    ",
+"    e % 0.=.# # # # # # # # =.a.b.c.    ",
+"                                        ",
+"                                        "};
diff --git a/lib/creaDevManagerLib/images/CMIcon64.xpm b/lib/creaDevManagerLib/images/CMIcon64.xpm
new file mode 100644
index 0000000..b14b238
--- /dev/null
+++ b/lib/creaDevManagerLib/images/CMIcon64.xpm
@@ -0,0 +1,305 @@
+/* XPM */
+const static char * CMIcon64[] = {
+"64 64 238 2",
+"  	c None",
+". 	c #1D242D",
+"+ 	c #1C232C",
+"@ 	c #1A212B",
+"# 	c #19212A",
+"$ 	c #192029",
+"% 	c #19202A",
+"& 	c #1A212A",
+"* 	c #141C25",
+"= 	c #131A24",
+"- 	c #202730",
+"; 	c #272E37",
+"> 	c #2B313A",
+", 	c #282F37",
+"' 	c #222931",
+") 	c #151C25",
+"! 	c #131B24",
+"~ 	c #4A5158",
+"{ 	c #A0A4A7",
+"] 	c #CFD0D2",
+"^ 	c #E6E7E8",
+"/ 	c #F1F2F2",
+"( 	c #E9EAEB",
+"_ 	c #D4D5D7",
+": 	c #A8ABAE",
+"< 	c #575D63",
+"[ 	c #151D26",
+"} 	c #1B222B",
+"| 	c #141B25",
+"1 	c #777B81",
+"2 	c #F6F7F7",
+"3 	c #FFFFFF",
+"4 	c #898C91",
+"5 	c #161D26",
+"6 	c #4C5158",
+"7 	c #FBFBFC",
+"8 	c #FDFDFD",
+"9 	c #F4F4F5",
+"0 	c #F1F1F2",
+"a 	c #565B62",
+"b 	c #141B24",
+"c 	c #A3A5AA",
+"d 	c #E1E1E3",
+"e 	c #898D92",
+"f 	c #4E535A",
+"g 	c #30373E",
+"h 	c #252C35",
+"i 	c #272D36",
+"j 	c #AAADB0",
+"k 	c #151C26",
+"l 	c #222831",
+"m 	c #D3D5D7",
+"n 	c #B0B2B5",
+"o 	c #252C34",
+"p 	c #030A15",
+"q 	c #232A33",
+"r 	c #272E36",
+"s 	c #D8D9DB",
+"t 	c #232A32",
+"u 	c #C6C8CA",
+"v 	c #0F1720",
+"w 	c #323940",
+"x 	c #929599",
+"y 	c #CACCCE",
+"z 	c #E9E9EA",
+"A 	c #F6F6F7",
+"B 	c #293038",
+"C 	c #2D343C",
+"D 	c #F3F3F4",
+"E 	c #52575F",
+"F 	c #5F646A",
+"G 	c #ECECED",
+"H 	c #52575E",
+"I 	c #2F353D",
+"J 	c #DADCDD",
+"K 	c #6D7177",
+"L 	c #FAFAFA",
+"M 	c #F9F9F9",
+"N 	c #F2F2F3",
+"O 	c #EEEFEF",
+"P 	c #EDEEEF",
+"Q 	c #EFEFF0",
+"R 	c #EEEEEF",
+"S 	c #2D333C",
+"T 	c #E2E3E4",
+"U 	c #D5D7D8",
+"V 	c #777B80",
+"W 	c #41474F",
+"X 	c #2C323B",
+"Y 	c #2A3139",
+"Z 	c #2B323A",
+"` 	c #30363E",
+" .	c #2A313A",
+"..	c #242A33",
+"+.	c #242B33",
+"@.	c #293039",
+"#.	c #2A3039",
+"$.	c #212830",
+"%.	c #212831",
+"&.	c #222932",
+"*.	c #F1F1F1",
+"=.	c #9B9FA2",
+"-.	c #242B34",
+";.	c #0F1620",
+">.	c #181F28",
+",.	c #B7B9BC",
+"'.	c #171E27",
+").	c #FCFCFC",
+"!.	c #52585F",
+"~.	c #121922",
+"{.	c #F2F3F3",
+"].	c #2B3139",
+"^.	c #1E252E",
+"/.	c #1F262F",
+"(.	c #1F262E",
+"_.	c #2D333B",
+":.	c #262C35",
+"<.	c #1E242D",
+"[.	c #252B34",
+"}.	c #F0F1F1",
+"|.	c #292F38",
+"1.	c #ECEDED",
+"2.	c #1E252D",
+"3.	c #5D6269",
+"4.	c #A2A5A8",
+"5.	c #D8D9DA",
+"6.	c #EDEDEE",
+"7.	c #E6E6E7",
+"8.	c #D0D1D3",
+"9.	c #999CA0",
+"0.	c #575C63",
+"a.	c #DEDFE0",
+"b.	c #C0C2C4",
+"c.	c #FEFEFE",
+"d.	c #EAEBEB",
+"e.	c #4E545B",
+"f.	c #75797F",
+"g.	c #6E7378",
+"h.	c #82858A",
+"i.	c #E5E6E7",
+"j.	c #232932",
+"k.	c #555B61",
+"l.	c #F7F8F8",
+"m.	c #9B9EA2",
+"n.	c #4D535A",
+"o.	c #262D35",
+"p.	c #484D55",
+"q.	c #7E8287",
+"r.	c #31373F",
+"s.	c #808489",
+"t.	c #656A70",
+"u.	c #ECEDEE",
+"v.	c #DFE0E1",
+"w.	c #E0E1E2",
+"x.	c #40464D",
+"y.	c #DBDCDE",
+"z.	c #EDEEEE",
+"A.	c #4C5259",
+"B.	c #85898E",
+"C.	c #8B8F93",
+"D.	c #74797E",
+"E.	c #83878C",
+"F.	c #EFF0F0",
+"G.	c #B4B7B9",
+"H.	c #9C9FA3",
+"I.	c #E3E4E5",
+"J.	c #2C333B",
+"K.	c #595E65",
+"L.	c #6C7177",
+"M.	c #96999E",
+"N.	c #686D73",
+"O.	c #D1D2D4",
+"P.	c #333941",
+"Q.	c #CCCED0",
+"R.	c #373D45",
+"S.	c #545A60",
+"T.	c #A1A4A7",
+"U.	c #93969A",
+"V.	c #63686E",
+"W.	c #B9BBBE",
+"X.	c #F6F6F6",
+"Y.	c #B1B3B6",
+"Z.	c #ACAFB2",
+"`.	c #A9ABAF",
+" +	c #3F454D",
+".+	c #FBFBFB",
+"++	c #F8F8F9",
+"@+	c #393F47",
+"#+	c #94979B",
+"$+	c #8A8E92",
+"%+	c #20272F",
+"&+	c #DADBDD",
+"*+	c #5E6369",
+"=+	c #1F252E",
+"-+	c #282E37",
+";+	c #4F545B",
+">+	c #BEC0C2",
+",+	c #6B6F75",
+"'+	c #2F353E",
+")+	c #494F56",
+"!+	c #7D8186",
+"~+	c #BBBDC0",
+"{+	c #61666C",
+"]+	c #6C7076",
+"^+	c #C1C3C5",
+"/+	c #262D36",
+"(+	c #51565D",
+"_+	c #E1E2E3",
+":+	c #AAACB0",
+"<+	c #DCDDDE",
+"[+	c #919499",
+"}+	c #121923",
+"|+	c #51575E",
+"1+	c #F2F2F2",
+"2+	c #B6B8BB",
+"3+	c #B5B7BA",
+"4+	c #D8DADB",
+"5+	c #121A23",
+"6+	c #CED0D1",
+"7+	c #AEB0B3",
+"8+	c #40454E",
+"9+	c #30363F",
+"0+	c #131A23",
+"a+	c #5C6167",
+"b+	c #F7F7F7",
+"c+	c #444951",
+"d+	c #929699",
+"e+	c #F3F3F3",
+"f+	c #161E27",
+"g+	c #5D6268",
+"h+	c #ABADB1",
+"i+	c #D6D6D8",
+"j+	c #EBECED",
+"k+	c #E7E8E9",
+"l+	c #CDCFD0",
+"m+	c #9DA0A4",
+"n+	c #454B52",
+"o+	c #1A222B",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                  . . + @ # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % & + . .                   ",
+"              . . . * = - ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , ' ) = + . .               ",
+"              . + ! ~ { ] ^ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ( _ : < [ } .               ",
+"            . . | 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 + .             ",
+"          . . | 6 7 3 3 3 8 9 0 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 0 9 8 3 3 3 3 a = . .           ",
+"          . . b c 3 3 d e f g h i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i h g f e d 3 3 j k + .           ",
+"          . } l m 3 n o p 5 q r i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i r q 5 p o n 3 s t & .           ",
+"          . % , 9 u v w x y z / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / z y x w v u A B $ .           ",
+"          . $ C D E F G 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 G F H D C $ .           ",
+"          . $ I J K L 3 3 3 3 M N / / / O P Q / / / 0 P P R P P P P R P P 0 / / / Q P O / / / N M 3 3 3 3 L K J I $ .           ",
+"          . $ S T U 3 3 3 s V W X Y Z i `  .h ..i ...., B r +.r , @.I #.r $.- q %.+.B &.- r Y X W V s 3 3 3 U T S $ .           ",
+"          . $ > *.3 3 3 =.-.;.>.+ + + . . . . . + . . . . . . . . . . . . . . . . . . . . & $ $ 5 ;.-.=.3 3 3 *.> $ .           ",
+"          . $ > / 3 3 ,.* '.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . '.* ,.3 3 / > $ .           ",
+"          . $ > / 3 ).!.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . ~.!.).3 / > $ .           ",
+"          . $ > / 3 {.].+ . . . . . . . . . . . . . . . . ^./.(.^.^.^.^.. . . . . . . . . . . . . . . & _.{.3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . <.^.. . . . . . . . . . . . . . . . . . . . . . . } #./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 / [.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 }.[.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + |./ 3 / > $ .           ",
+"          . $ > / 3 O [.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 1.:.. . . . . . 2.3.4.5.6.M 7.8.9.0.' . . . 3 3 3 a.- . . . . . . . . . b.3 3 3 . . -./ 3 / > $ .           ",
+"          . $ > / c.d.i + . . . . e._ 3 3 3 3 3 3 3 3 3 y . . . 3 3 3 3 f.. . . . . . . . a 3 3 3 3 . . %./ 3 / > $ .           ",
+"          . $ > / c.d.|.+ . . . g.M 3 3 3 3 3 ).3 3 3 3 h.. . . 3 3 3 3 i.j.. . . . . . . ] 3 3 3 3 . . - / 3 / > $ .           ",
+"          . $ > / c.d.|.+ . . k.L 3 3 l.m.n.o.. ..p.q.,.r.. . . 3 3 3 3 3 s.. . . . . . t.3 3 3 3 3 . . - / 3 / > $ .           ",
+"          . $ > / c.u.i + . - v.3 3 w.x.. . . . . . . . . . . . 3 3 3 / 3 G r . . . . /.y.3 / 3 3 3 . . - / 3 / > $ .           ",
+"          . $ > / 3 z.i . . g.3 3 ).A.. . . . . . . . . . . . . 3 3 3 B.3 3 C.. . . . D.3 3 E.3 3 3 . . /./ 3 / > $ .           ",
+"          . $ > / 3 F.[.. . G.3 3 H.. . . . . . . . . . . . . . 3 3 3 ..I.3 N J.. . ..7.3 w.j.3 3 3 . . /./ 3 / > $ .           ",
+"          . $ > / 3 }.j.. . T 3 3 K.. . . . . . . . . . . . . . 3 3 3 . L.3 3 M.. . E.3 3 N.. 3 3 3 . . - }.3 / > $ .           ",
+"          . $ > / 3 / ..+ . 2 3 3 C . . . . . . . . . . . . . . 3 3 3 . 2.O.3 2 P.#.Q 3 Q.. . 3 3 3 . . j.}.3 / > $ .           ",
+"          . $ > / 3 / i . . D 3 3 R.. . . . . . . . . . . . . . 3 3 3 . . S.3 3 T.U.3 3 e.. . 3 3 3 . . ..F.3 / > $ .           ",
+"          . $ > / 3 / r + . v.3 3 V.. . . . . . . . . . . . . . 3 3 3 . . . W.3 L X.3 Y.. . + 3 3 3 . . +.F.3 / > $ .           ",
+"          . $ > / 3 / i . . Z.3 3 `.. . . . . . . . . . . . . . 3 3 3 . . .  +.+3 3 ++ at +. . . 3 3 3 . . j.F.3 / > $ .           ",
+"          . $ > / 3 / t . . t.3 3 ).k.. . . . . . . . . . . . . 3 3 3 . . . . #+y.y.$+. . . . 3 3 3 . . %+}.3 / > $ .           ",
+"          . $ > / 3 / ... . ^.&+3 3 / *+. . . . . . . . . . . . 3 3 3 . . . . . . . . . . . . 3 3 3 . . =+}.3 / > $ .           ",
+"          . $ > / 3 / -+. . . ;+M 3 3 3 >+,+ at +h '+)+!+~+{+. . . 3 3 3 . . . . . . . . . . . . 3 3 3 . . . / 3 / > $ .           ",
+"          . $ > / 3 / B + . . . ]+M 3 3 3 3 3 3 3 3 3 3 ^+. . . 3 3 3 . . . . . . . . . . . . 3 3 3 . . . / 3 / > $ .           ",
+"          . $ > / 3 / /++ . . . . (+5.3 3 3 3 3 3 3 3 3 _+r . . 3 3 3 . . . . . . . . . . . . 3 3 3 . . /./ 3 / > $ .           ",
+"          . $ > / 3 / -.+ . . . . . ^.V.:+<+/ 2 v.u [+)+. . . . 3 3 3 . . . . . . . . . . . . 3 3 3 . . %./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :./ 3 / > $ .           ",
+"          . $ > / 3 / [.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 / :.+ . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . . . . . . . . -+/ 3 / > $ .           ",
+"          . $ > / 3 {.> + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . } X {.3 / > $ .           ",
+"          . $ > / 3 ).H 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + }+|+).3 1+> $ .           ",
+"          . $ B 1.3 3 2+| } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + '.| 3+3 3 z , % .           ",
+"          . & t 4+3 3 3 m.&.& + + . . . . . . . . . . . . . . . . . . . . . . . + + } + . . . . + 5+-.m.3 3 3 6+%+} .           ",
+"          . + 5 7+3 3 3 3 s f.8+-.^.. /.%.-.:.:.:.:.:.:.+.-.|.J.C C [.$.q :.:.i -+#.> i l /.. ^.9+f.s 3 3 3 3 H.0+. .           ",
+"          . . 0+a+3 3 3 3 3 3 ++/ / / / / / / / / / / / / }.P P P P }./ / / / / / / / / / / / / ++3 3 3 3 3 b+c+k . .           ",
+"            . + >.d+3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 e+g.= . .             ",
+"              . @ f+g+h+i+j+/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / k+l+m+n+= + .               ",
+"              . . + 5+5 &.|.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -+- 5+) . . .               ",
+"                  . . + & % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # o++ . .                   ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                "};
diff --git a/lib/creaDevManagerLib/images/FdIcon20.xpm b/lib/creaDevManagerLib/images/FdIcon20.xpm
new file mode 100644
index 0000000..4cb8207
--- /dev/null
+++ b/lib/creaDevManagerLib/images/FdIcon20.xpm
@@ -0,0 +1,150 @@
+/* XPM */
+const static char * FdIcon20[] = {
+"20 20 127 2",
+"  	c None",
+". 	c #171E27",
+"+ 	c #666B71",
+"@ 	c #8E9297",
+"# 	c #909498",
+"$ 	c #8F9297",
+"% 	c #6A6F75",
+"& 	c #191F29",
+"* 	c #686C72",
+"= 	c #ECECED",
+"- 	c #909398",
+"; 	c #868B8F",
+"> 	c #878B8F",
+", 	c #EBECEC",
+"' 	c #A6A9AC",
+") 	c #EAEBEB",
+"! 	c #EBEDED",
+"~ 	c #ECEDED",
+"{ 	c #EAEBEC",
+"] 	c #EBEBEC",
+"^ 	c #686C73",
+"/ 	c #ECEDEE",
+"( 	c #363C44",
+"_ 	c #111821",
+": 	c #131B24",
+"< 	c #0F1721",
+"[ 	c #111721",
+"} 	c #101821",
+"| 	c #121923",
+"1 	c #101720",
+"2 	c #0E161F",
+"3 	c #101721",
+"4 	c #0F1620",
+"5 	c #353C43",
+"6 	c #84888D",
+"7 	c #151C26",
+"8 	c #181F28",
+"9 	c #191F28",
+"0 	c #1C232C",
+"a 	c #1D242D",
+"b 	c #192029",
+"c 	c #151C25",
+"d 	c #86898D",
+"e 	c #7E8287",
+"f 	c #9C9FA3",
+"g 	c #CFD1D2",
+"h 	c #D4D6D7",
+"i 	c #D3D5D7",
+"j 	c #444A51",
+"k 	c #A0A3A6",
+"l 	c #81858A",
+"m 	c #7C7F85",
+"n 	c #C1C3C5",
+"o 	c #DDDEDF",
+"p 	c #7C8085",
+"q 	c #7D8086",
+"r 	c #313840",
+"s 	c #1A222B",
+"t 	c #C4C6C8",
+"u 	c #7D8186",
+"v 	c #BFC1C4",
+"w 	c #070F19",
+"x 	c #08101A",
+"y 	c #09111B",
+"z 	c #1B222B",
+"A 	c #1B222C",
+"B 	c #232A33",
+"C 	c #A3A6AA",
+"D 	c #C1C2C5",
+"E 	c #E8E8E9",
+"F 	c #7B8085",
+"G 	c #FFFFFF",
+"H 	c #2D343C",
+"I 	c #272E37",
+"J 	c #F7F7F7",
+"K 	c #D9DADC",
+"L 	c #A6A8AC",
+"M 	c #EDEEEF",
+"N 	c #7F8388",
+"O 	c #C8CACC",
+"P 	c #2A3139",
+"Q 	c #2B323A",
+"R 	c #50565C",
+"S 	c #1F262F",
+"T 	c #7F8387",
+"U 	c #1B232C",
+"V 	c #53595F",
+"W 	c #1C222C",
+"X 	c #161D27",
+"Y 	c #C2C4C7",
+"Z 	c #7A7F84",
+"` 	c #909499",
+" .	c #7E8288",
+"..	c #C5C6C9",
+"+.	c #343B43",
+"@.	c #F4F4F5",
+"#.	c #D3D5D6",
+"$.	c #E6E6E7",
+"%.	c #C1C3C6",
+"&.	c #7C8185",
+"*.	c #7E8286",
+"=.	c #898D91",
+"-.	c #8C9094",
+";.	c #3E444B",
+">.	c #989B9F",
+",.	c #ABAEB1",
+"'.	c #85898E",
+").	c #8D9196",
+"!.	c #A4A7AA",
+"~.	c #131A24",
+"{.	c #111922",
+"].	c #0D151E",
+"^.	c #A4A6AA",
+"/.	c #8D9195",
+"(.	c #6B7075",
+"_.	c #B3B5B9",
+":.	c #808389",
+"<.	c #7F8488",
+"[.	c #80858A",
+"}.	c #818489",
+"|.	c #818589",
+"1.	c #797E83",
+"2.	c #B0B3B6",
+"3.	c #65696F",
+"4.	c #1A212A",
+"5.	c #8C9095",
+"6.	c #64686E",
+"                                        ",
+"                                        ",
+"    . + @ # # # # # # # # # # $ % &     ",
+"    * = - ; > > > > > > > > ; - , %     ",
+"    * ' ) ! ) ~ { ) ) ] ~ { ! ) ' ^     ",
+"    > / ( _ : < [ } | 1 2 3 4 5 / >     ",
+"    # 6 7 8 8 8 9 0 a a 0 a b c d #     ",
+"    # e f g h h i j 0 0 a 0 k f l #     ",
+"    # m n o p q p r a 0 0 s t n u #     ",
+"    - q n v w x y z A B C D E n F #     ",
+"    # u n G G G G H I J K L M n p #     ",
+"    # N n O P Q P a R G S z t n p #     ",
+"    # T n t U a a a V G W X Y n Z `     ",
+"    #  .n ..U a a a +. at .#.N $.%.&.#     ",
+"    # *.=.-.0 a a a z ;.>.,.'.-.e #     ",
+"    ).!.2 ~.b b b b b b : {.7 ].^./.    ",
+"    (.G _.Z e :.:.<.[.N }.|.1.2.G 3.    ",
+"    4.% 5.` # # # # # # # # ` -.6.X     ",
+"                                        ",
+"                                        "};
diff --git a/lib/creaDevManagerLib/images/FdIcon64.xpm b/lib/creaDevManagerLib/images/FdIcon64.xpm
new file mode 100644
index 0000000..8f39e2d
--- /dev/null
+++ b/lib/creaDevManagerLib/images/FdIcon64.xpm
@@ -0,0 +1,274 @@
+/* XPM */
+const static char * FdIcon64[] = {
+"64 64 207 2",
+"  	c None",
+". 	c #1D242D",
+"+ 	c #1C232C",
+"@ 	c #1A212B",
+"# 	c #19212A",
+"$ 	c #192029",
+"% 	c #19202A",
+"& 	c #1A212A",
+"* 	c #141C25",
+"= 	c #131A24",
+"- 	c #202730",
+"; 	c #272E37",
+"> 	c #2B313A",
+", 	c #282F37",
+"' 	c #222931",
+") 	c #151C25",
+"! 	c #131B24",
+"~ 	c #4A5158",
+"{ 	c #A0A4A7",
+"] 	c #CFD0D2",
+"^ 	c #E6E7E8",
+"/ 	c #F1F2F2",
+"( 	c #E9EAEB",
+"_ 	c #D4D5D7",
+": 	c #A8ABAE",
+"< 	c #575D63",
+"[ 	c #151D26",
+"} 	c #1B222B",
+"| 	c #141B25",
+"1 	c #777B81",
+"2 	c #F6F7F7",
+"3 	c #FFFFFF",
+"4 	c #898C91",
+"5 	c #161D26",
+"6 	c #4C5158",
+"7 	c #FBFBFC",
+"8 	c #FDFDFD",
+"9 	c #F4F4F5",
+"0 	c #F1F1F2",
+"a 	c #565B62",
+"b 	c #141B24",
+"c 	c #A3A5AA",
+"d 	c #E1E1E3",
+"e 	c #898D92",
+"f 	c #4E535A",
+"g 	c #30373E",
+"h 	c #252C35",
+"i 	c #272D36",
+"j 	c #AAADB0",
+"k 	c #151C26",
+"l 	c #222831",
+"m 	c #D3D5D7",
+"n 	c #B0B2B5",
+"o 	c #252C34",
+"p 	c #030A15",
+"q 	c #232A33",
+"r 	c #272E36",
+"s 	c #D8D9DB",
+"t 	c #232A32",
+"u 	c #C6C8CA",
+"v 	c #0F1720",
+"w 	c #323940",
+"x 	c #929599",
+"y 	c #CACCCE",
+"z 	c #E9E9EA",
+"A 	c #F6F6F7",
+"B 	c #293038",
+"C 	c #2D343C",
+"D 	c #F3F3F4",
+"E 	c #52575F",
+"F 	c #5F646A",
+"G 	c #ECECED",
+"H 	c #52575E",
+"I 	c #2F353D",
+"J 	c #DADCDD",
+"K 	c #6D7177",
+"L 	c #FAFAFA",
+"M 	c #F9F9F9",
+"N 	c #F2F2F3",
+"O 	c #EEEFEF",
+"P 	c #EDEEEF",
+"Q 	c #EFEFF0",
+"R 	c #EEEEEF",
+"S 	c #2D333C",
+"T 	c #E2E3E4",
+"U 	c #D5D7D8",
+"V 	c #777B80",
+"W 	c #41474F",
+"X 	c #2C323B",
+"Y 	c #2A3139",
+"Z 	c #2B323A",
+"` 	c #30363E",
+" .	c #2A313A",
+"..	c #242A33",
+"+.	c #242B33",
+"@.	c #293039",
+"#.	c #2A3039",
+"$.	c #212830",
+"%.	c #212831",
+"&.	c #222932",
+"*.	c #F1F1F1",
+"=.	c #9B9FA2",
+"-.	c #242B34",
+";.	c #0F1620",
+">.	c #181F28",
+",.	c #B7B9BC",
+"'.	c #171E27",
+").	c #FCFCFC",
+"!.	c #52585F",
+"~.	c #121922",
+"{.	c #F2F3F3",
+"].	c #2B3139",
+"^.	c #1E252E",
+"/.	c #1F262F",
+"(.	c #1F262E",
+"_.	c #2D333B",
+":.	c #262C35",
+"<.	c #1E242D",
+"[.	c #252B34",
+"}.	c #BFC1C3",
+"|.	c #F0F1F1",
+"1.	c #292F38",
+"2.	c #ECEDED",
+"3.	c #F4F4F4",
+"4.	c #B8BABD",
+"5.	c #FEFEFE",
+"6.	c #EAEBEB",
+"7.	c #ECEDEE",
+"8.	c #3A4048",
+"9.	c #93969A",
+"0.	c #CDCED0",
+"a.	c #EBECEC",
+"b.	c #EDEDEE",
+"c.	c #9C9FA3",
+"d.	c #EDEEEE",
+"e.	c #FBFBFB",
+"f.	c #EFF0F0",
+"g.	c #B4B7B9",
+"h.	c #C3C5C7",
+"i.	c #232932",
+"j.	c #9A9DA1",
+"k.	c #D1D3D5",
+"l.	c #B3B6B9",
+"m.	c #B2B4B7",
+"n.	c #C8C9CC",
+"o.	c #393F47",
+"p.	c #BCBEC1",
+"q.	c #41474E",
+"r.	c #8D9095",
+"s.	c #C9CBCD",
+"t.	c #62666D",
+"u.	c #E8E9EA",
+"v.	c #2F353E",
+"w.	c #20272F",
+"x.	c #363C44",
+"y.	c #1F252E",
+"z.	c #282E37",
+"A.	c #DCDDDE",
+"B.	c #73777C",
+"C.	c #AAACB0",
+"D.	c #E1E2E3",
+"E.	c #262D36",
+"F.	c #60656B",
+"G.	c #D8D9DA",
+"H.	c #1E252D",
+"I.	c #373D45",
+"J.	c #CBCDCF",
+"K.	c #C7C8CB",
+"L.	c #E0E1E2",
+"M.	c #3C4249",
+"N.	c #E7E8E9",
+"O.	c #3B4148",
+"P.	c #5C6168",
+"Q.	c #A9ABAF",
+"R.	c #DADBDD",
+"S.	c #656A70",
+"T.	c #121923",
+"U.	c #51575E",
+"V.	c #F2F2F2",
+"W.	c #B6B8BB",
+"X.	c #B5B7BA",
+"Y.	c #D8DADB",
+"Z.	c #9B9EA2",
+"`.	c #121A23",
+" +	c #CED0D1",
+".+	c #AEB0B3",
+"++	c #75797F",
+"@+	c #40454E",
+"#+	c #2C333B",
+"$+	c #30363F",
+"%+	c #131A23",
+"&+	c #5C6167",
+"*+	c #F8F8F9",
+"=+	c #F7F7F7",
+"-+	c #444951",
+";+	c #929699",
+">+	c #F3F3F3",
+",+	c #6E7378",
+"'+	c #161E27",
+")+	c #5D6268",
+"!+	c #ABADB1",
+"~+	c #D6D6D8",
+"{+	c #EBECED",
+"]+	c #CDCFD0",
+"^+	c #9DA0A4",
+"/+	c #454B52",
+"(+	c #1A222B",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                  . . + @ # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % & + . .                   ",
+"              . . . * = - ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , ' ) = + . .               ",
+"              . + ! ~ { ] ^ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ( _ : < [ } .               ",
+"            . . | 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 + .             ",
+"          . . | 6 7 3 3 3 8 9 0 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 0 9 8 3 3 3 3 a = . .           ",
+"          . . b c 3 3 d e f g h i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i h g f e d 3 3 j k + .           ",
+"          . } l m 3 n o p 5 q r i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i r q 5 p o n 3 s t & .           ",
+"          . % , 9 u v w x y z / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / z y x w v u A B $ .           ",
+"          . $ C D E F G 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 G F H D C $ .           ",
+"          . $ I J K L 3 3 3 3 M N / / / O P Q / / / 0 P P R P P P P R P P 0 / / / Q P O / / / N M 3 3 3 3 L K J I $ .           ",
+"          . $ S T U 3 3 3 s V W X Y Z i `  .h ..i ...., B r +.r , @.I #.r $.- q %.+.B &.- r Y X W V s 3 3 3 U T S $ .           ",
+"          . $ > *.3 3 3 =.-.;.>.+ + + . . . . . + . . . . . . . . . . . . . . . . . . . . & $ $ 5 ;.-.=.3 3 3 *.> $ .           ",
+"          . $ > / 3 3 ,.* '.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . '.* ,.3 3 / > $ .           ",
+"          . $ > / 3 ).!.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . ~.!.).3 / > $ .           ",
+"          . $ > / 3 {.].+ . . . . . . . . . . . . . . . . ^./.(.^.^.^.^.. . . . . . . . . . . . . . . & _.{.3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . <.^.. . . . . . . . . . . . . . . . . . . . . . . } #./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 / [.. . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 }.. . . . . . . . . . . . . . . . 3 3 3 3 . + > / 3 / > $ .           ",
+"          . $ > / 3 |.[.. . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 }.. . . . . . . . . . . . . . . . 3 3 3 3 . + 1./ 3 / > $ .           ",
+"          . $ > / 3 O [.. . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 }.. . . . . . . . . . . . . . . . 3 3 3 3 . . i / 3 / > $ .           ",
+"          . $ > / 3 2.:.. . 3 3 3 3 3.3.3.3.3.3.3.3.3.3.3.4.. . . . . . . . . . . . . . . . 3 3 3 3 . . -./ 3 / > $ .           ",
+"          . $ > / 5.6.i + . 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 . . %./ 3 / > $ .           ",
+"          . $ > / 5.6.1.+ . 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 . . - / 3 / > $ .           ",
+"          . $ > / 5.6.1.+ . 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 . . - / 3 / > $ .           ",
+"          . $ > / 5.7.i + . 3 3 3 3 . . . . . . . . . . . . . . . . . . . . 8.9.0.a.L b._ c.3 3 3 3 . . - / 3 / > $ .           ",
+"          . $ > / 3 d.i . . 3 3 3 3 . . . . . . . . . . . . . . . . . . %.c.e.3 3 3 3 3 3 3 3 3 3 3 . . /./ 3 / > $ .           ",
+"          . $ > / 3 f.[.. . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 g.. . . . . . %.h.3 3 3 3 3 3 3 3 3 3 3 3 3 . . /./ 3 / > $ .           ",
+"          . $ > / 3 |.i.. . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 g.. . . . . . j.3 3 3 3 3 k.l.m.n.3.3 3 3 3 . . - |.3 / > $ .           ",
+"          . $ > / 3 / ..+ . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 g.. . . . . o.L 3 3 3 p.q.. . . . /.3 3 3 3 . . i.|.3 / > $ .           ",
+"          . $ > / 3 / i . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 g.. . . . . r.3 3 3 0./.. . . . . . 3 3 3 3 . . ..f.3 / > $ .           ",
+"          . $ > / 3 / r + . 3 3 3 3 . . . . . . . . . . . . . . . . s.3 3 3 t.. . . . . . . 3 3 3 3 . . +.f.3 / > $ .           ",
+"          . $ > / 3 / i . . 3 3 3 3 . . . . . . . . . . . . . . . . u.3 3 3 v.. . . . . . . 3 3 3 3 . . i.f.3 / > $ .           ",
+"          . $ > / 3 / t . . 3 3 3 3 . . . . . . . . . . . . . . . . M 3 3 3 ' . . . . . . . 3 3 3 3 . . w.|.3 / > $ .           ",
+"          . $ > / 3 / ... . 3 3 3 3 . . . . . . . . . . . . . . . . |.3 3 3 x.. . . . . . . 3 3 3 3 . . y.|.3 / > $ .           ",
+"          . $ > / 3 / z.. . 3 3 3 3 . . . . . . . . . . . . . . . . A.3 3 3 B.. . . . . . . 3 3 3 3 . . . / 3 / > $ .           ",
+"          . $ > / 3 / B + . 3 3 3 3 . . . . . . . . . . . . . . . . C.3 3 3 D.#.. . . . . . 3 3 3 3 . . . / 3 / > $ .           ",
+"          . $ > / 3 / E.+ . 3 3 3 3 . . . . . . . . . . . . . . . . F.3 3 3 3 G.F.H.. . . I.3 3 3 3 . . /./ 3 / > $ .           ",
+"          . $ > / 3 / -.+ . 3 3 3 3 . . . . . . . . . . . . . . . . . J.3 3 3 3 3 ( s.K.L.3 3 3 3 3 . . %./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . 3 3 3 3 . . . . . . . . . . . . . . . . . M.N.3 3 3 3 3 3 3 3 3 3 3 3 3 . . -./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . 3 3 3 3 . . . . . . . . . . . . . . . . . . O.s.3 3 3 3 3 3 3 3 M 3 3 3 . . :./ 3 / > $ .           ",
+"          . $ > / 3 / [.. . 3 3 3 3 . . . . . . . . . . . . . . . . . . . H.P.Q.J.G 3.R.g.S.I.3 3 3 . . i / 3 / > $ .           ",
+"          . $ > / 3 / :.+ . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . . . . . . . . z./ 3 / > $ .           ",
+"          . $ > / 3 {.> + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . } X {.3 / > $ .           ",
+"          . $ > / 3 ).H 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + T.U.).3 V.> $ .           ",
+"          . $ B 2.3 3 W.| } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + '.| X.3 3 z , % .           ",
+"          . & t Y.3 3 3 Z.&.& + + . . . . . . . . . . . . . . . . . . . . . . . + + } + . . . . + `.-.Z.3 3 3  +w.} .           ",
+"          . + 5 .+3 3 3 3 s ++ at +-.^.. /.%.-.:.:.:.:.:.:.+.-.1.#+C C [.$.q :.:.i z.#.> i l /.. ^.$+++s 3 3 3 3 c.%+. .           ",
+"          . . %+&+3 3 3 3 3 3 *+/ / / / / / / / / / / / / |.P P P P |./ / / / / / / / / / / / / *+3 3 3 3 3 =+-+k . .           ",
+"            . + >.;+3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 >+,+= . .             ",
+"              . @ '+)+!+~+{+/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / N.]+^+/+= + .               ",
+"              . . + `.5 &.1.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > z.- `.) . . .               ",
+"                  . . + & % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # (++ . .                   ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                "};
diff --git a/lib/creaDevManagerLib/images/FlIcon20.xpm b/lib/creaDevManagerLib/images/FlIcon20.xpm
new file mode 100644
index 0000000..36fc442
--- /dev/null
+++ b/lib/creaDevManagerLib/images/FlIcon20.xpm
@@ -0,0 +1,141 @@
+/* XPM */
+const static char * FlIcon20[] = {
+"20 20 118 2",
+"  	c None",
+". 	c #171E27",
+"+ 	c #666B71",
+"@ 	c #8E9297",
+"# 	c #909498",
+"$ 	c #8F9297",
+"% 	c #6A6F75",
+"& 	c #191F29",
+"* 	c #686C72",
+"= 	c #ECECED",
+"- 	c #909398",
+"; 	c #868B8F",
+"> 	c #878B8F",
+", 	c #EBECEC",
+"' 	c #A6A9AC",
+") 	c #EAEBEB",
+"! 	c #EBEDED",
+"~ 	c #ECEDED",
+"{ 	c #EAEBEC",
+"] 	c #EBEBEC",
+"^ 	c #686C73",
+"/ 	c #ECEDEE",
+"( 	c #363C44",
+"_ 	c #111821",
+": 	c #131B24",
+"< 	c #0F1721",
+"[ 	c #111721",
+"} 	c #101821",
+"| 	c #121923",
+"1 	c #101720",
+"2 	c #0E161F",
+"3 	c #101721",
+"4 	c #0F1620",
+"5 	c #353C43",
+"6 	c #84888D",
+"7 	c #192029",
+"8 	c #131A23",
+"9 	c #141B24",
+"0 	c #141B25",
+"a 	c #1D242D",
+"b 	c #151D26",
+"c 	c #181F28",
+"d 	c #86898D",
+"e 	c #7E8387",
+"f 	c #070F19",
+"g 	c #FFFFFF",
+"h 	c #A1A4A7",
+"i 	c #D8DADB",
+"j 	c #FDFDFD",
+"k 	c #151C25",
+"l 	c #82858A",
+"m 	c #7D8086",
+"n 	c #08101A",
+"o 	c #A4A7AA",
+"p 	c #2D343C",
+"q 	c #343A42",
+"r 	c #343A43",
+"s 	c #283037",
+"t 	c #CDCFD1",
+"u 	c #F0F0F1",
+"v 	c #7E8287",
+"w 	c #7E8187",
+"x 	c #95999D",
+"y 	c #0C131D",
+"z 	c #131A24",
+"A 	c #1B222B",
+"B 	c #7C8186",
+"C 	c #DFDFE1",
+"D 	c #B4B7BA",
+"E 	c #B7B9BC",
+"F 	c #C0C2C4",
+"G 	c #272E37",
+"H 	c #7D8186",
+"I 	c #808489",
+"J 	c #D2D3D5",
+"K 	c #979A9E",
+"L 	c #9A9DA1",
+"M 	c #A1A5A8",
+"N 	c #252D35",
+"O 	c #808488",
+"P 	c #969A9E",
+"Q 	c #151C26",
+"R 	c #1C232C",
+"S 	c #7B8085",
+"T 	c #909499",
+"U 	c #7F8389",
+"V 	c #999DA0",
+"W 	c #CCCED0",
+"X 	c #F4F4F4",
+"Y 	c #393F47",
+"Z 	c #1F262F",
+"` 	c #7D8286",
+" .	c #A2A6A9",
+"..	c #252C34",
+"+.	c #7F8387",
+"@.	c #8D9196",
+"#.	c #A4A6AA",
+"$.	c #161D26",
+"%.	c #1A212A",
+"&.	c #09101A",
+"*.	c #0B121C",
+"=.	c #8D9195",
+"-.	c #6B7075",
+";.	c #B3B5B9",
+">.	c #7A7F84",
+",.	c #808389",
+"'.	c #7F8488",
+").	c #80858A",
+"!.	c #7F8388",
+"~.	c #818489",
+"{.	c #818589",
+"].	c #797E83",
+"^.	c #B0B3B6",
+"/.	c #65696F",
+"(.	c #8C9095",
+"_.	c #8C9094",
+":.	c #64686E",
+"<.	c #161D27",
+"                                        ",
+"                                        ",
+"    . + @ # # # # # # # # # # $ % &     ",
+"    * = - ; > > > > > > > > ; - , %     ",
+"    * ' ) ! ) ~ { ) ) ] ~ { ! ) ' ^     ",
+"    > / ( _ : < [ } | 1 2 3 4 5 / >     ",
+"    # 6 7 8 : : 9 0 7 a b 0 a c d #     ",
+"    # e f g g g g g h . i j k 7 l #     ",
+"    # m n g o p q r s c t u b 7 v #     ",
+"    - w n g x y z 8 A c t u b 7 B #     ",
+"    # v n g C D E F G c t u b 7 H #     ",
+"    # I n g J K L M N c t u b 7 H #     ",
+"    # O n g P 2 b Q R c t u 0 7 S T     ",
+"    # U n g V b a a a c W X Y Z ` #     ",
+"    # v f g  .k a a a R I g g ..+.#     ",
+"    @.#.$.f 3 %.7 7 7 7 9 &.*.z #.=.    ",
+"    -.g ;.>.v ,.,.'.).!.~.{.].^.g /.    ",
+"    %.% (.T # # # # # # # # T _.:.<.    ",
+"                                        ",
+"                                        "};
diff --git a/lib/creaDevManagerLib/images/FlIcon64.xpm b/lib/creaDevManagerLib/images/FlIcon64.xpm
new file mode 100644
index 0000000..79a1850
--- /dev/null
+++ b/lib/creaDevManagerLib/images/FlIcon64.xpm
@@ -0,0 +1,247 @@
+/* XPM */
+const static char * FlIcon64[] = {
+"64 64 180 2",
+"  	c None",
+". 	c #1D242D",
+"+ 	c #1C232C",
+"@ 	c #1A212B",
+"# 	c #19212A",
+"$ 	c #192029",
+"% 	c #19202A",
+"& 	c #1A212A",
+"* 	c #141C25",
+"= 	c #131A24",
+"- 	c #202730",
+"; 	c #272E37",
+"> 	c #2B313A",
+", 	c #282F37",
+"' 	c #222931",
+") 	c #151C25",
+"! 	c #131B24",
+"~ 	c #4A5158",
+"{ 	c #A0A4A7",
+"] 	c #CFD0D2",
+"^ 	c #E6E7E8",
+"/ 	c #F1F2F2",
+"( 	c #E9EAEB",
+"_ 	c #D4D5D7",
+": 	c #A8ABAE",
+"< 	c #575D63",
+"[ 	c #151D26",
+"} 	c #1B222B",
+"| 	c #141B25",
+"1 	c #777B81",
+"2 	c #F6F7F7",
+"3 	c #FFFFFF",
+"4 	c #898C91",
+"5 	c #161D26",
+"6 	c #4C5158",
+"7 	c #FBFBFC",
+"8 	c #FDFDFD",
+"9 	c #F4F4F5",
+"0 	c #F1F1F2",
+"a 	c #565B62",
+"b 	c #141B24",
+"c 	c #A3A5AA",
+"d 	c #E1E1E3",
+"e 	c #898D92",
+"f 	c #4E535A",
+"g 	c #30373E",
+"h 	c #252C35",
+"i 	c #272D36",
+"j 	c #AAADB0",
+"k 	c #151C26",
+"l 	c #222831",
+"m 	c #D3D5D7",
+"n 	c #B0B2B5",
+"o 	c #252C34",
+"p 	c #030A15",
+"q 	c #232A33",
+"r 	c #272E36",
+"s 	c #D8D9DB",
+"t 	c #232A32",
+"u 	c #C6C8CA",
+"v 	c #0F1720",
+"w 	c #323940",
+"x 	c #929599",
+"y 	c #CACCCE",
+"z 	c #E9E9EA",
+"A 	c #F6F6F7",
+"B 	c #293038",
+"C 	c #2D343C",
+"D 	c #F3F3F4",
+"E 	c #52575F",
+"F 	c #5F646A",
+"G 	c #ECECED",
+"H 	c #52575E",
+"I 	c #2F353D",
+"J 	c #DADCDD",
+"K 	c #6D7177",
+"L 	c #FAFAFA",
+"M 	c #F9F9F9",
+"N 	c #F2F2F3",
+"O 	c #EEEFEF",
+"P 	c #EDEEEF",
+"Q 	c #EFEFF0",
+"R 	c #EEEEEF",
+"S 	c #2D333C",
+"T 	c #E2E3E4",
+"U 	c #D5D7D8",
+"V 	c #777B80",
+"W 	c #41474F",
+"X 	c #2C323B",
+"Y 	c #2A3139",
+"Z 	c #2B323A",
+"` 	c #30363E",
+" .	c #2A313A",
+"..	c #242A33",
+"+.	c #242B33",
+"@.	c #293039",
+"#.	c #2A3039",
+"$.	c #212830",
+"%.	c #212831",
+"&.	c #222932",
+"*.	c #F1F1F1",
+"=.	c #9B9FA2",
+"-.	c #242B34",
+";.	c #0F1620",
+">.	c #181F28",
+",.	c #B7B9BC",
+"'.	c #171E27",
+").	c #FCFCFC",
+"!.	c #52585F",
+"~.	c #121922",
+"{.	c #F2F3F3",
+"].	c #2B3139",
+"^.	c #1E252E",
+"/.	c #1F262F",
+"(.	c #1F262E",
+"_.	c #2D333B",
+":.	c #262C35",
+"<.	c #1E242D",
+"[.	c #868A8E",
+"}.	c #252B34",
+"|.	c #F0F1F1",
+"1.	c #292F38",
+"2.	c #ECEDED",
+"3.	c #3C4249",
+"4.	c #FEFEFE",
+"5.	c #EAEBEB",
+"6.	c #ECEDEE",
+"7.	c #EDEEEE",
+"8.	c #EFF0F0",
+"9.	c #232932",
+"0.	c #6D7278",
+"a.	c #20272F",
+"b.	c #1F252E",
+"c.	c #282E37",
+"d.	c #262D36",
+"e.	c #2C333B",
+"f.	c #9C9FA3",
+"g.	c #2C323A",
+"h.	c #464C53",
+"i.	c #393F47",
+"j.	c #DEDFE0",
+"k.	c #74797E",
+"l.	c #A6A9AC",
+"m.	c #30363F",
+"n.	c #2F353E",
+"o.	c #DFE0E1",
+"p.	c #FBFBFB",
+"q.	c #E6E6E7",
+"r.	c #C3C5C7",
+"s.	c #83878C",
+"t.	c #121923",
+"u.	c #51575E",
+"v.	c #F2F2F2",
+"w.	c #B6B8BB",
+"x.	c #B5B7BA",
+"y.	c #D8DADB",
+"z.	c #9B9EA2",
+"A.	c #121A23",
+"B.	c #CED0D1",
+"C.	c #AEB0B3",
+"D.	c #75797F",
+"E.	c #40454E",
+"F.	c #131A23",
+"G.	c #5C6167",
+"H.	c #F8F8F9",
+"I.	c #F7F7F7",
+"J.	c #444951",
+"K.	c #929699",
+"L.	c #F3F3F3",
+"M.	c #6E7378",
+"N.	c #161E27",
+"O.	c #5D6268",
+"P.	c #ABADB1",
+"Q.	c #D6D6D8",
+"R.	c #EBECED",
+"S.	c #E7E8E9",
+"T.	c #CDCFD0",
+"U.	c #9DA0A4",
+"V.	c #454B52",
+"W.	c #1A222B",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                  . . + @ # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % & + . .                   ",
+"              . . . * = - ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , ' ) = + . .               ",
+"              . + ! ~ { ] ^ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ( _ : < [ } .               ",
+"            . . | 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 + .             ",
+"          . . | 6 7 3 3 3 8 9 0 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 0 9 8 3 3 3 3 a = . .           ",
+"          . . b c 3 3 d e f g h i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i h g f e d 3 3 j k + .           ",
+"          . } l m 3 n o p 5 q r i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i r q 5 p o n 3 s t & .           ",
+"          . % , 9 u v w x y z / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / z y x w v u A B $ .           ",
+"          . $ C D E F G 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 G F H D C $ .           ",
+"          . $ I J K L 3 3 3 3 M N / / / O P Q / / / 0 P P R P P P P R P P 0 / / / Q P O / / / N M 3 3 3 3 L K J I $ .           ",
+"          . $ S T U 3 3 3 s V W X Y Z i `  .h ..i ...., B r +.r , @.I #.r $.- q %.+.B &.- r Y X W V s 3 3 3 U T S $ .           ",
+"          . $ > *.3 3 3 =.-.;.>.+ + + . . . . . + . . . . . . . . . . . . . . . . . . . . & $ $ 5 ;.-.=.3 3 3 *.> $ .           ",
+"          . $ > / 3 3 ,.* '.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . '.* ,.3 3 / > $ .           ",
+"          . $ > / 3 ).!.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . ~.!.).3 / > $ .           ",
+"          . $ > / 3 {.].+ . . . . . . . . . . . . . . . . ^./.(.^.^.^.^.. . . . . . . . . . . . . . . & _.{.3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . <.^.. . . . . . . . . . . . . . . . . . . . . . . } #./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 [.. . . . . 3 3 3 3 3 . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 / }.. . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 [.. . . . . 3 3 3 3 3 . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 |.}.. . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 [.. . . . . 3 3 3 3 3 . . . . . . . + 1./ 3 / > $ .           ",
+"          . $ > / 3 O }.. . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 [.. . . . . 3 3 3 3 3 . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 2.:.. . . . 3 3 3 3 3 F F F F F F F F F F F F 3.. . . . . 3 3 3 3 3 . . . . . . . . -./ 3 / > $ .           ",
+"          . $ > / 4.5.i + . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 3 . . . . . . . . %./ 3 / > $ .           ",
+"          . $ > / 4.5.1.+ . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 3 . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / 4.5.1.+ . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 3 . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / 4.6.i + . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 3 . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / 3 7.i . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 3 . . . . . . . . /./ 3 / > $ .           ",
+"          . $ > / 3 8.}.. . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 3 . . . . . . . . /./ 3 / > $ .           ",
+"          . $ > / 3 |.9.. . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0.. . . . . . 3 3 3 3 3 . . . . . . . . - |.3 / > $ .           ",
+"          . $ > / 3 / ..+ . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0.. . . . . . 3 3 3 3 3 . . . . . . . . 9.|.3 / > $ .           ",
+"          . $ > / 3 / i . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0.. . . . . . 3 3 3 3 3 . . . + . . . . ..8.3 / > $ .           ",
+"          . $ > / 3 / r + . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0.. . . . . . 3 3 3 3 3 . . + . . . . . +.8.3 / > $ .           ",
+"          . $ > / 3 / i . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 3 . . . . . . . . 9.8.3 / > $ .           ",
+"          . $ > / 3 / t . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 3 . . . . . . . . a.|.3 / > $ .           ",
+"          . $ > / 3 / ... . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 3 . . . . . . . . b.|.3 / > $ .           ",
+"          . $ > / 3 / c.. . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 3 . . . . . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / B + . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 3 . . . . . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / d.+ . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 3 e.. . . . . . . /./ 3 / > $ .           ",
+"          . $ > / 3 / -.+ . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . 8 3 3 3 3 f.g.%.h.i.. . . %./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . j.3 3 3 3 3 3 ).3 k.. . . -./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . l.3 3 3 3 3 3 3 3 k.. . . :./ 3 / > $ .           ",
+"          . $ > / 3 / }.. . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . m.5.3 3 3 3 3 3 3 k.. . . i / 3 / > $ .           ",
+"          . $ > / 3 / :.+ . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . n.: o.p.N q.r.s.g.. . . c./ 3 / > $ .           ",
+"          . $ > / 3 {.> + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . } X {.3 / > $ .           ",
+"          . $ > / 3 ).H 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + t.u.).3 v.> $ .           ",
+"          . $ B 2.3 3 w.| } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + '.| x.3 3 z , % .           ",
+"          . & t y.3 3 3 z.&.& + + . . . . . . . . . . . . . . . . . . . . . . . + + } + . . . . + A.-.z.3 3 3 B.a.} .           ",
+"          . + 5 C.3 3 3 3 s D.E.-.^.. /.%.-.:.:.:.:.:.:.+.-.1.e.C C }.$.q :.:.i c.#.> i l /.. ^.m.D.s 3 3 3 3 f.F.. .           ",
+"          . . F.G.3 3 3 3 3 3 H./ / / / / / / / / / / / / |.P P P P |./ / / / / / / / / / / / / H.3 3 3 3 3 I.J.k . .           ",
+"            . + >.K.3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 L.M.= . .             ",
+"              . @ N.O.P.Q.R./ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / S.T.U.V.= + .               ",
+"              . . + A.5 &.1.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > c.- A.) . . .               ",
+"                  . . + & % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # W.+ . .                   ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                "};
diff --git a/lib/creaDevManagerLib/images/LIcon20.xpm b/lib/creaDevManagerLib/images/LIcon20.xpm
new file mode 100644
index 0000000..591c5f6
--- /dev/null
+++ b/lib/creaDevManagerLib/images/LIcon20.xpm
@@ -0,0 +1,111 @@
+/* XPM */
+const static char * LIcon20[] = {
+"20 20 88 1",
+" 	c None",
+".	c #171E27",
+"+	c #666B71",
+"@	c #8E9297",
+"#	c #909498",
+"$	c #8F9297",
+"%	c #6A6F75",
+"&	c #191F29",
+"*	c #686C72",
+"=	c #ECECED",
+"-	c #909398",
+";	c #868B8F",
+">	c #878B8F",
+",	c #EBECEC",
+"'	c #A6A9AC",
+")	c #EAEBEB",
+"!	c #EBEDED",
+"~	c #ECEDED",
+"{	c #EAEBEC",
+"]	c #EBEBEC",
+"^	c #686C73",
+"/	c #ECEDEE",
+"(	c #363C44",
+"_	c #111821",
+":	c #121A23",
+"<	c #2B323B",
+"[	c #1C232C",
+"}	c #101721",
+"|	c #121923",
+"1	c #101720",
+"2	c #0E161F",
+"3	c #0F1620",
+"4	c #353C43",
+"5	c #84888D",
+"6	c #182029",
+"7	c #141B24",
+"8	c #FFFFFF",
+"9	c #7F8388",
+"0	c #1A212A",
+"a	c #1D242D",
+"b	c #181F28",
+"c	c #86898D",
+"d	c #7E8387",
+"e	c #192029",
+"f	c #131B24",
+"g	c #82868B",
+"h	c #82858A",
+"i	c #7D8086",
+"j	c #7E8287",
+"k	c #7E8187",
+"l	c #7C8186",
+"m	c #7D8186",
+"n	c #808489",
+"o	c #808488",
+"p	c #7B8085",
+"q	c #909499",
+"r	c #7F8389",
+"s	c #858A8E",
+"t	c #1F262F",
+"u	c #232A33",
+"v	c #222931",
+"w	c #7D8286",
+"x	c #F0F0F1",
+"y	c #E3E4E5",
+"z	c #E4E5E6",
+"A	c #BDBFC2",
+"B	c #8D9196",
+"C	c #A4A6AA",
+"D	c #141C25",
+"E	c #CBCDCF",
+"F	c #C1C3C5",
+"G	c #A0A3A7",
+"H	c #151C26",
+"I	c #19202A",
+"J	c #8D9195",
+"K	c #6B7075",
+"L	c #B3B5B9",
+"M	c #7A7F84",
+"N	c #7F8288",
+"O	c #7F8489",
+"P	c #81858A",
+"Q	c #797E83",
+"R	c #B0B3B6",
+"S	c #65696F",
+"T	c #8C9095",
+"U	c #8C9094",
+"V	c #64686E",
+"W	c #161D27",
+"                    ",
+"                    ",
+"  .+@##########$%&  ",
+"  *=-;>>>>>>>>;-,%  ",
+"  *')!)~{))]~{!)'^  ",
+"  >/(_:<[}|12}34/>  ",
+"  #56[7890aa[[[bc#  ",
+"  #deaf8ge[[aaaeh#  ",
+"  #ieaf8geaaaaaej#  ",
+"  -keaf8geaaaaael#  ",
+"  #jeaf8geaaaaaem#  ",
+"  #neaf8geaaaaaem#  ",
+"  #oeaf8geaaaaaepq  ",
+"  #reaf8stuuv[aew#  ",
+"  #jeaf8xyzzAbae9#  ",
+"  BCDe:EFFFFGHI7CJ  ",
+"  K8LMjNNdOjnPQR8S  ",
+"  0%Tq########qUVW  ",
+"                    ",
+"                    "};
diff --git a/lib/creaDevManagerLib/images/LIcon64.xpm b/lib/creaDevManagerLib/images/LIcon64.xpm
new file mode 100644
index 0000000..a5369f5
--- /dev/null
+++ b/lib/creaDevManagerLib/images/LIcon64.xpm
@@ -0,0 +1,233 @@
+/* XPM */
+const static char * LIcon64[] = {
+"64 64 166 2",
+"  	c None",
+". 	c #1D242D",
+"+ 	c #1C232C",
+"@ 	c #1A212B",
+"# 	c #19212A",
+"$ 	c #192029",
+"% 	c #19202A",
+"& 	c #1A212A",
+"* 	c #141C25",
+"= 	c #131A24",
+"- 	c #202730",
+"; 	c #272E37",
+"> 	c #2B313A",
+", 	c #282F37",
+"' 	c #222931",
+") 	c #151C25",
+"! 	c #131B24",
+"~ 	c #4A5158",
+"{ 	c #A0A4A7",
+"] 	c #CFD0D2",
+"^ 	c #E6E7E8",
+"/ 	c #F1F2F2",
+"( 	c #E9EAEB",
+"_ 	c #D4D5D7",
+": 	c #A8ABAE",
+"< 	c #575D63",
+"[ 	c #151D26",
+"} 	c #1B222B",
+"| 	c #141B25",
+"1 	c #777B81",
+"2 	c #F6F7F7",
+"3 	c #FFFFFF",
+"4 	c #898C91",
+"5 	c #161D26",
+"6 	c #4C5158",
+"7 	c #FBFBFC",
+"8 	c #FDFDFD",
+"9 	c #F4F4F5",
+"0 	c #F1F1F2",
+"a 	c #565B62",
+"b 	c #141B24",
+"c 	c #A3A5AA",
+"d 	c #E1E1E3",
+"e 	c #898D92",
+"f 	c #4E535A",
+"g 	c #30373E",
+"h 	c #252C35",
+"i 	c #272D36",
+"j 	c #AAADB0",
+"k 	c #151C26",
+"l 	c #222831",
+"m 	c #D3D5D7",
+"n 	c #B0B2B5",
+"o 	c #252C34",
+"p 	c #030A15",
+"q 	c #232A33",
+"r 	c #272E36",
+"s 	c #D8D9DB",
+"t 	c #232A32",
+"u 	c #C6C8CA",
+"v 	c #0F1720",
+"w 	c #323940",
+"x 	c #929599",
+"y 	c #CACCCE",
+"z 	c #E9E9EA",
+"A 	c #F6F6F7",
+"B 	c #293038",
+"C 	c #2D343C",
+"D 	c #F3F3F4",
+"E 	c #52575F",
+"F 	c #5F646A",
+"G 	c #ECECED",
+"H 	c #52575E",
+"I 	c #2F353D",
+"J 	c #DADCDD",
+"K 	c #6D7177",
+"L 	c #FAFAFA",
+"M 	c #F9F9F9",
+"N 	c #F2F2F3",
+"O 	c #EEEFEF",
+"P 	c #EDEEEF",
+"Q 	c #EFEFF0",
+"R 	c #EEEEEF",
+"S 	c #2D333C",
+"T 	c #E2E3E4",
+"U 	c #D5D7D8",
+"V 	c #777B80",
+"W 	c #41474F",
+"X 	c #2C323B",
+"Y 	c #2A3139",
+"Z 	c #2B323A",
+"` 	c #30363E",
+" .	c #2A313A",
+"..	c #242A33",
+"+.	c #242B33",
+"@.	c #293039",
+"#.	c #2A3039",
+"$.	c #212830",
+"%.	c #212831",
+"&.	c #222932",
+"*.	c #F1F1F1",
+"=.	c #9B9FA2",
+"-.	c #242B34",
+";.	c #0F1620",
+">.	c #181F28",
+",.	c #B7B9BC",
+"'.	c #171E27",
+").	c #FCFCFC",
+"!.	c #52585F",
+"~.	c #121922",
+"{.	c #F2F3F3",
+"].	c #2B3139",
+"^.	c #1E252E",
+"/.	c #1F262F",
+"(.	c #1F262E",
+"_.	c #2D333B",
+":.	c #262C35",
+"<.	c #252B34",
+"[.	c #F0F1F1",
+"}.	c #292F38",
+"|.	c #ECEDED",
+"1.	c #FEFEFE",
+"2.	c #EAEBEB",
+"3.	c #ECEDEE",
+"4.	c #EDEEEE",
+"5.	c #EFF0F0",
+"6.	c #232932",
+"7.	c #20272F",
+"8.	c #1F252E",
+"9.	c #282E37",
+"0.	c #262D36",
+"a.	c #F7F8F8",
+"b.	c #31373F",
+"c.	c #121923",
+"d.	c #51575E",
+"e.	c #F2F2F2",
+"f.	c #B6B8BB",
+"g.	c #B5B7BA",
+"h.	c #D8DADB",
+"i.	c #9B9EA2",
+"j.	c #121A23",
+"k.	c #CED0D1",
+"l.	c #AEB0B3",
+"m.	c #75797F",
+"n.	c #40454E",
+"o.	c #2C333B",
+"p.	c #30363F",
+"q.	c #9C9FA3",
+"r.	c #131A23",
+"s.	c #5C6167",
+"t.	c #F8F8F9",
+"u.	c #F7F7F7",
+"v.	c #444951",
+"w.	c #929699",
+"x.	c #F3F3F3",
+"y.	c #6E7378",
+"z.	c #161E27",
+"A.	c #5D6268",
+"B.	c #ABADB1",
+"C.	c #D6D6D8",
+"D.	c #EBECED",
+"E.	c #E7E8E9",
+"F.	c #CDCFD0",
+"G.	c #9DA0A4",
+"H.	c #454B52",
+"I.	c #1A222B",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                  . . + @ # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % & + . .                   ",
+"              . . . * = - ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , ' ) = + . .               ",
+"              . + ! ~ { ] ^ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ( _ : < [ } .               ",
+"            . . | 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 + .             ",
+"          . . | 6 7 3 3 3 8 9 0 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 0 9 8 3 3 3 3 a = . .           ",
+"          . . b c 3 3 d e f g h i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i h g f e d 3 3 j k + .           ",
+"          . } l m 3 n o p 5 q r i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i r q 5 p o n 3 s t & .           ",
+"          . % , 9 u v w x y z / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / z y x w v u A B $ .           ",
+"          . $ C D E F G 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 G F H D C $ .           ",
+"          . $ I J K L 3 3 3 3 M N / / / O P Q / / / 0 P P R P P P P R P P 0 / / / Q P O / / / N M 3 3 3 3 L K J I $ .           ",
+"          . $ S T U 3 3 3 s V W X Y Z i `  .h ..i ...., B r +.r , @.I #.r $.- q %.+.B &.- r Y X W V s 3 3 3 U T S $ .           ",
+"          . $ > *.3 3 3 =.-.;.>.+ + + . . . . . + . . . . . . . . . . . . . . . . . . . . & $ $ 5 ;.-.=.3 3 3 *.> $ .           ",
+"          . $ > / 3 3 ,.* '.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . '.* ,.3 3 / > $ .           ",
+"          . $ > / 3 ).!.5 . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . + . . . . ~.!.).3 / > $ .           ",
+"          . $ > / 3 {.].+ . . . . . . . . . 3 3 3 3 3 . . ^./.(.^.^.^.^.. . . . . . . . . . . . . . . & _.{.3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . 3 3 3 3 3 ^.. . . . . . . . . . . . . . . . . . . . . . . } #./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 / <.. . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 [.<.. . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . + }./ 3 / > $ .           ",
+"          . $ > / 3 O <.. . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 |.:.. . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . -./ 3 / > $ .           ",
+"          . $ > / 1.2.i + . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . %./ 3 / > $ .           ",
+"          . $ > / 1.2.}.+ . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / 1.2.}.+ . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / 1.3.i + . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / 3 4.i . . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . /./ 3 / > $ .           ",
+"          . $ > / 3 5.<.. . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . /./ 3 / > $ .           ",
+"          . $ > / 3 [.6.. . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . - [.3 / > $ .           ",
+"          . $ > / 3 / ..+ . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . 6.[.3 / > $ .           ",
+"          . $ > / 3 / i . . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . + . . . . ..5.3 / > $ .           ",
+"          . $ > / 3 / r + . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . + . . . . . +.5.3 / > $ .           ",
+"          . $ > / 3 / i . . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . 6.5.3 / > $ .           ",
+"          . $ > / 3 / t . . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . 7.[.3 / > $ .           ",
+"          . $ > / 3 / ... . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . 8.[.3 / > $ .           ",
+"          . $ > / 3 / 9.. . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / B + . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / 0.+ . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . /./ 3 / > $ .           ",
+"          . $ > / 3 / -.+ . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . %./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . . . . . . . -./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . 3 3 3 3 3 a.a.a.a.a.a.a.a.a.a.a.a.a.a.b.. . . . . . . . . . :./ 3 / > $ .           ",
+"          . $ > / 3 / <.. . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b.. . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 / :.+ . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b.. . . . . . . . . . 9./ 3 / > $ .           ",
+"          . $ > / 3 {.> + . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b.. . . . . . . . . } X {.3 / > $ .           ",
+"          . $ > / 3 ).H 5 . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 b.. . . . . . . + + c.d.).3 e.> $ .           ",
+"          . $ B |.3 3 f.| } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + '.| g.3 3 z , % .           ",
+"          . & t h.3 3 3 i.&.& + + . . . . . . . . . . . . . . . . . . . . . . . + + } + . . . . + j.-.i.3 3 3 k.7.} .           ",
+"          . + 5 l.3 3 3 3 s m.n.-.^.. /.%.-.:.:.:.:.:.:.+.-.}.o.C C <.$.q :.:.i 9.#.> i l /.. ^.p.m.s 3 3 3 3 q.r.. .           ",
+"          . . r.s.3 3 3 3 3 3 t./ / / / / / / / / / / / / [.P P P P [./ / / / / / / / / / / / / t.3 3 3 3 3 u.v.k . .           ",
+"            . + >.w.3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 x.y.= . .             ",
+"              . @ z.A.B.C.D./ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / E.F.G.H.= + .               ",
+"              . . + j.5 &.}.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 9.- j.) . . .               ",
+"                  . . + & % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # I.+ . .                   ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                "};
diff --git a/lib/creaDevManagerLib/images/LbIcon20.xpm b/lib/creaDevManagerLib/images/LbIcon20.xpm
new file mode 100644
index 0000000..3dc2f4c
--- /dev/null
+++ b/lib/creaDevManagerLib/images/LbIcon20.xpm
@@ -0,0 +1,151 @@
+/* XPM */
+const static char * LbIcon20[] = {
+"20 20 128 2",
+"  	c None",
+". 	c #171E27",
+"+ 	c #666B71",
+"@ 	c #8E9297",
+"# 	c #909498",
+"$ 	c #8F9297",
+"% 	c #6A6F75",
+"& 	c #191F29",
+"* 	c #686C72",
+"= 	c #ECECED",
+"- 	c #909398",
+"; 	c #868B8F",
+"> 	c #878B8F",
+", 	c #EBECEC",
+"' 	c #A6A9AC",
+") 	c #EAEBEB",
+"! 	c #EBEDED",
+"~ 	c #ECEDED",
+"{ 	c #EAEBEC",
+"] 	c #EBEBEC",
+"^ 	c #686C73",
+"/ 	c #ECEDEE",
+"( 	c #363C44",
+"_ 	c #111821",
+": 	c #131B24",
+"< 	c #0F1721",
+"[ 	c #111721",
+"} 	c #101821",
+"| 	c #121923",
+"1 	c #101720",
+"2 	c #0E161F",
+"3 	c #101721",
+"4 	c #0F1620",
+"5 	c #353C43",
+"6 	c #84888D",
+"7 	c #151C26",
+"8 	c #192029",
+"9 	c #1C232C",
+"0 	c #1D232C",
+"a 	c #1D242D",
+"b 	c #1A212B",
+"c 	c #1A212A",
+"d 	c #181F28",
+"e 	c #86898D",
+"f 	c #7E8287",
+"g 	c #9C9FA3",
+"h 	c #A0A3A6",
+"i 	c #1C242D",
+"j 	c #161D26",
+"k 	c #95989C",
+"l 	c #7F8388",
+"m 	c #82858A",
+"n 	c #7C7F85",
+"o 	c #C1C3C5",
+"p 	c #C4C6C8",
+"q 	c #1B232C",
+"r 	c #141B25",
+"s 	c #B7B9BC",
+"t 	c #9A9DA1",
+"u 	c #141C25",
+"v 	c #7D8086",
+"w 	c #B5B7BA",
+"x 	c #CBCCCE",
+"y 	c #B8BABC",
+"z 	c #ADAFB3",
+"A 	c #434950",
+"B 	c #7C8186",
+"C 	c #7D8186",
+"D 	c #B4B6B9",
+"E 	c #EAEAEB",
+"F 	c #AFB1B4",
+"G 	c #D2D3D5",
+"H 	c #FFFFFF",
+"I 	c #444A51",
+"J 	c #7C8086",
+"K 	c #1F262F",
+"L 	c #D2D4D5",
+"M 	c #B2B4B7",
+"N 	c #7C8185",
+"O 	c #7F8387",
+"P 	c #C2C4C7",
+"Q 	c #151C25",
+"R 	c #131A24",
+"S 	c #979A9E",
+"T 	c #CECFD1",
+"U 	c #B0B3B6",
+"V 	c #7B7F84",
+"W 	c #909499",
+"X 	c #7E8288",
+"Y 	c #E4E4E5",
+"Z 	c #94979C",
+"` 	c #93969A",
+" .	c #293039",
+"..	c #B5B8BA",
+"+.	c #71767A",
+"@.	c #ADB0B3",
+"#.	c #444B51",
+"$.	c #7E8286",
+"%.	c #898D91",
+"&.	c #B4B7B9",
+"*.	c #B4B7BA",
+"=.	c #323941",
+"-.	c #83878C",
+";.	c #B0B2B6",
+">.	c #9CA0A3",
+",.	c #434951",
+"'.	c #8D9196",
+").	c #A4A7AA",
+"!.	c #111822",
+"~.	c #111922",
+"{.	c #131A23",
+"].	c #141B24",
+"^.	c #A4A6AA",
+"/.	c #8D9195",
+"(.	c #6B7075",
+"_.	c #B3B5B9",
+":.	c #7A7F84",
+"<.	c #808389",
+"[.	c #7F8488",
+"}.	c #80858A",
+"|.	c #818489",
+"1.	c #818589",
+"2.	c #797E83",
+"3.	c #65696F",
+"4.	c #8C9095",
+"5.	c #8C9094",
+"6.	c #64686E",
+"7.	c #161D27",
+"                                        ",
+"                                        ",
+"    . + @ # # # # # # # # # # $ % &     ",
+"    * = - ; > > > > > > > > ; - , %     ",
+"    * ' ) ! ) ~ { ) ) ] ~ { ! ) ' ^     ",
+"    > / ( _ : < [ } | 1 2 3 4 5 / >     ",
+"    # 6 7 8 9 9 0 a b c a 9 9 d e #     ",
+"    # f g h 9 a i j k l . a a 8 m #     ",
+"    # n o p q a a r s t u 9 9 8 f #     ",
+"    - v o p q a a r w x y z A j B #     ",
+"    # C o p q a a r D E F G H I J #     ",
+"    # l o p q a a r s t u K L M N #     ",
+"    # O o P Q j j R s S _ j T U V W     ",
+"    # X o Y Z k `  ...G +. at .H #.C #     ",
+"    # $.%.&.s s *.=.-.f ;.>.,.7 l #     ",
+"    '.).2 !.!.!.!.d : j ~.{.8 ].^./.    ",
+"    (.H _.:.f <.<.[.}.l |.1.2.U H 3.    ",
+"    c % 4.W # # # # # # # # W 5.6.7.    ",
+"                                        ",
+"                                        "};
diff --git a/lib/creaDevManagerLib/images/LbIcon64.xpm b/lib/creaDevManagerLib/images/LbIcon64.xpm
new file mode 100644
index 0000000..53ac0bc
--- /dev/null
+++ b/lib/creaDevManagerLib/images/LbIcon64.xpm
@@ -0,0 +1,274 @@
+/* XPM */
+const static char * LbIcon64[] = {
+"64 64 207 2",
+"  	c None",
+". 	c #1D242D",
+"+ 	c #1C232C",
+"@ 	c #1A212B",
+"# 	c #19212A",
+"$ 	c #192029",
+"% 	c #19202A",
+"& 	c #1A212A",
+"* 	c #141C25",
+"= 	c #131A24",
+"- 	c #202730",
+"; 	c #272E37",
+"> 	c #2B313A",
+", 	c #282F37",
+"' 	c #222931",
+") 	c #151C25",
+"! 	c #131B24",
+"~ 	c #4A5158",
+"{ 	c #A0A4A7",
+"] 	c #CFD0D2",
+"^ 	c #E6E7E8",
+"/ 	c #F1F2F2",
+"( 	c #E9EAEB",
+"_ 	c #D4D5D7",
+": 	c #A8ABAE",
+"< 	c #575D63",
+"[ 	c #151D26",
+"} 	c #1B222B",
+"| 	c #141B25",
+"1 	c #777B81",
+"2 	c #F6F7F7",
+"3 	c #FFFFFF",
+"4 	c #898C91",
+"5 	c #161D26",
+"6 	c #4C5158",
+"7 	c #FBFBFC",
+"8 	c #FDFDFD",
+"9 	c #F4F4F5",
+"0 	c #F1F1F2",
+"a 	c #565B62",
+"b 	c #141B24",
+"c 	c #A3A5AA",
+"d 	c #E1E1E3",
+"e 	c #898D92",
+"f 	c #4E535A",
+"g 	c #30373E",
+"h 	c #252C35",
+"i 	c #272D36",
+"j 	c #AAADB0",
+"k 	c #151C26",
+"l 	c #222831",
+"m 	c #D3D5D7",
+"n 	c #B0B2B5",
+"o 	c #252C34",
+"p 	c #030A15",
+"q 	c #232A33",
+"r 	c #272E36",
+"s 	c #D8D9DB",
+"t 	c #232A32",
+"u 	c #C6C8CA",
+"v 	c #0F1720",
+"w 	c #323940",
+"x 	c #929599",
+"y 	c #CACCCE",
+"z 	c #E9E9EA",
+"A 	c #F6F6F7",
+"B 	c #293038",
+"C 	c #2D343C",
+"D 	c #F3F3F4",
+"E 	c #52575F",
+"F 	c #5F646A",
+"G 	c #ECECED",
+"H 	c #52575E",
+"I 	c #2F353D",
+"J 	c #DADCDD",
+"K 	c #6D7177",
+"L 	c #FAFAFA",
+"M 	c #F9F9F9",
+"N 	c #F2F2F3",
+"O 	c #EEEFEF",
+"P 	c #EDEEEF",
+"Q 	c #EFEFF0",
+"R 	c #EEEEEF",
+"S 	c #2D333C",
+"T 	c #E2E3E4",
+"U 	c #D5D7D8",
+"V 	c #777B80",
+"W 	c #41474F",
+"X 	c #2C323B",
+"Y 	c #2A3139",
+"Z 	c #2B323A",
+"` 	c #30363E",
+" .	c #2A313A",
+"..	c #242A33",
+"+.	c #242B33",
+"@.	c #293039",
+"#.	c #2A3039",
+"$.	c #212830",
+"%.	c #212831",
+"&.	c #222932",
+"*.	c #F1F1F1",
+"=.	c #9B9FA2",
+"-.	c #242B34",
+";.	c #0F1620",
+">.	c #181F28",
+",.	c #B7B9BC",
+"'.	c #171E27",
+").	c #FCFCFC",
+"!.	c #52585F",
+"~.	c #121922",
+"{.	c #F2F3F3",
+"].	c #2B3139",
+"^.	c #1E252E",
+"/.	c #1F262F",
+"(.	c #1F262E",
+"_.	c #2D333B",
+":.	c #262C35",
+"<.	c #1E242D",
+"[.	c #252B34",
+"}.	c #F0F1F1",
+"|.	c #292F38",
+"1.	c #ECEDED",
+"2.	c #FEFEFE",
+"3.	c #EAEBEB",
+"4.	c #ECEDEE",
+"5.	c #767A80",
+"6.	c #B2B4B7",
+"7.	c #DBDCDE",
+"8.	c #F7F8F8",
+"9.	c #BDBFC2",
+"0.	c #919499",
+"a.	c #3E444C",
+"b.	c #EDEEEE",
+"c.	c #A6A9AC",
+"d.	c #EFF0F0",
+"e.	c #D2D4D5",
+"f.	c #2C333B",
+"g.	c #232932",
+"h.	c #E3E4E5",
+"i.	c #C9CACC",
+"j.	c #C3C5C7",
+"k.	c #D9DADC",
+"l.	c #B3B5B8",
+"m.	c #353B43",
+"n.	c #818589",
+"o.	c #51565D",
+"p.	c #3C424A",
+"q.	c #9FA2A6",
+"r.	c #84888D",
+"s.	c #D6D7D9",
+"t.	c #3D434B",
+"u.	c #F8F8F9",
+"v.	c #20272F",
+"w.	c #30363F",
+"x.	c #E5E6E7",
+"y.	c #1F252E",
+"z.	c #282E37",
+"A.	c #696E73",
+"B.	c #C4C6C8",
+"C.	c #82868B",
+"D.	c #262D36",
+"E.	c #D8D9DA",
+"F.	c #2E353D",
+"G.	c #F4F4F4",
+"H.	c #7A7F84",
+"I.	c #F5F5F5",
+"J.	c #B4B7B9",
+"K.	c #ACAFB2",
+"L.	c #C1C3C5",
+"M.	c #7F8388",
+"N.	c #EDEDEE",
+"O.	c #73777C",
+"P.	c #585D64",
+"Q.	c #8D9195",
+"R.	c #E0E0E2",
+"S.	c #E0E1E2",
+"T.	c #B3B6B9",
+"U.	c #75797F",
+"V.	c #121923",
+"W.	c #51575E",
+"X.	c #F2F2F2",
+"Y.	c #B6B8BB",
+"Z.	c #B5B7BA",
+"`.	c #D8DADB",
+" +	c #9B9EA2",
+".+	c #121A23",
+"++	c #CED0D1",
+"@+	c #AEB0B3",
+"#+	c #40454E",
+"$+	c #9C9FA3",
+"%+	c #131A23",
+"&+	c #5C6167",
+"*+	c #F7F7F7",
+"=+	c #444951",
+"-+	c #929699",
+";+	c #F3F3F3",
+">+	c #6E7378",
+",+	c #161E27",
+"'+	c #5D6268",
+")+	c #ABADB1",
+"!+	c #D6D6D8",
+"~+	c #EBECED",
+"{+	c #E7E8E9",
+"]+	c #CDCFD0",
+"^+	c #9DA0A4",
+"/+	c #454B52",
+"(+	c #1A222B",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                  . . + @ # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % & + . .                   ",
+"              . . . * = - ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , ' ) = + . .               ",
+"              . + ! ~ { ] ^ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ( _ : < [ } .               ",
+"            . . | 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 + .             ",
+"          . . | 6 7 3 3 3 8 9 0 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 0 9 8 3 3 3 3 a = . .           ",
+"          . . b c 3 3 d e f g h i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i h g f e d 3 3 j k + .           ",
+"          . } l m 3 n o p 5 q r i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i r q 5 p o n 3 s t & .           ",
+"          . % , 9 u v w x y z / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / z y x w v u A B $ .           ",
+"          . $ C D E F G 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 G F H D C $ .           ",
+"          . $ I J K L 3 3 3 3 M N / / / O P Q / / / 0 P P R P P P P R P P 0 / / / Q P O / / / N M 3 3 3 3 L K J I $ .           ",
+"          . $ S T U 3 3 3 s V W X Y Z i `  .h ..i ...., B r +.r , @.I #.r $.- q %.+.B &.- r Y X W V s 3 3 3 U T S $ .           ",
+"          . $ > *.3 3 3 =.-.;.>.+ + + . . . . . + . . . . . . . . . . . . . . . . . . . . & $ $ 5 ;.-.=.3 3 3 *.> $ .           ",
+"          . $ > / 3 3 ,.* '.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . '.* ,.3 3 / > $ .           ",
+"          . $ > / 3 ).!.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . ~.!.).3 / > $ .           ",
+"          . $ > / 3 {.].+ . . . . . . . . . . . . . . . . ^./.(.^.^.^.^.. . . . . . . . . . . . . . . & _.{.3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . <.^.. . . . . . . . . . . . . . . . . . . . . . . } #./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 / [.. . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 }.[.. . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . . . . + |./ 3 / > $ .           ",
+"          . $ > / 3 O [.. . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 1.:.. . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . . . . . -./ 3 / > $ .           ",
+"          . $ > / 2.3.i + . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . . . . . %./ 3 / > $ .           ",
+"          . $ > / 2.3.|.+ . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / 2.3.|.+ . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / 2.4.i + . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 5.6.7.R 8.7.9.0.a.. . . . . . - / 3 / > $ .           ",
+"          . $ > / 3 b.i . . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 c.#.. . . . /./ 3 / > $ .           ",
+"          . $ > / 3 d.[.. . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 e.f.. . . /./ 3 / > $ .           ",
+"          . $ > / 3 }.g.. . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 3 h.i.j.k.M 3 3 3 3 3 l.. . . - }.3 / > $ .           ",
+"          . $ > / 3 / ..+ . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 m.. . . . C n.R 3 3 3 3 o.. . g.}.3 / > $ .           ",
+"          . $ > / 3 / i . . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . p./ 3 3 3 q.. . ..d.3 / > $ .           ",
+"          . $ > / 3 / r + . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . r.3 3 3 s.. . +.d.3 / > $ .           ",
+"          . $ > / 3 / i . . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . t.3 3 3 G . . g.d.3 / > $ .           ",
+"          . $ > / 3 / t . . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . ..3 3 3 u.. . v.}.3 / > $ .           ",
+"          . $ > / 3 / ... . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . w.3 3 3 x.. . y.}.3 / > $ .           ",
+"          . $ > / 3 / z.. . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . A.3 3 3 B.. . . / 3 / > $ .           ",
+"          . $ > / 3 / B + . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . , 7.3 3 3 C.. . . / 3 / > $ .           ",
+"          . $ > / 3 / D.+ . 3 3 3 3 . . . . . . . . . . . . . . . 3 3 3 3 /.. . . . /.F E.3 3 3 N F.. . /./ 3 / > $ .           ",
+"          . $ > / 3 / -.+ . 3 3 3 3 G.G.G.G.G.G.G.G.G.G.G.H.. . . 3 3 3 3 I.y J.K.L.( 3 3 3 3 3 M.. . . %./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 M.. . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 q.. . . . -./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 M.. . . 3 3 3 3 3 3 3 3 3 3 3 3 N.O.. . . . . :./ 3 / > $ .           ",
+"          . $ > / 3 / [.. . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 M.. . . 3 3 3 P.Q.u R.2 D S.T.U.h . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 / :.+ . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . . . . . . . . z./ 3 / > $ .           ",
+"          . $ > / 3 {.> + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . } X {.3 / > $ .           ",
+"          . $ > / 3 ).H 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + V.W.).3 X.> $ .           ",
+"          . $ B 1.3 3 Y.| } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + '.| Z.3 3 z , % .           ",
+"          . & t `.3 3 3  +&.& + + . . . . . . . . . . . . . . . . . . . . . . . + + } + . . . . + .+-. +3 3 3 ++v.} .           ",
+"          . + 5 @+3 3 3 3 s U.#+-.^.. /.%.-.:.:.:.:.:.:.+.-.|.f.C C [.$.q :.:.i z.#.> i l /.. ^.w.U.s 3 3 3 3 $+%+. .           ",
+"          . . %+&+3 3 3 3 3 3 u./ / / / / / / / / / / / / }.P P P P }./ / / / / / / / / / / / / u.3 3 3 3 3 *+=+k . .           ",
+"            . + >.-+3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ;+>+= . .             ",
+"              . @ ,+'+)+!+~+/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / {+]+^+/+= + .               ",
+"              . . + .+5 &.|.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > z.- .+) . . .               ",
+"                  . . + & % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # (++ . .                   ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                "};
diff --git a/lib/creaDevManagerLib/images/PkIcon20.xpm b/lib/creaDevManagerLib/images/PkIcon20.xpm
new file mode 100644
index 0000000..abc8e45
--- /dev/null
+++ b/lib/creaDevManagerLib/images/PkIcon20.xpm
@@ -0,0 +1,156 @@
+/* XPM */
+const static char * PkIcon20[] = {
+"20 20 133 2",
+"  	c None",
+". 	c #171E27",
+"+ 	c #666B71",
+"@ 	c #8E9297",
+"# 	c #909498",
+"$ 	c #8F9297",
+"% 	c #6A6F75",
+"& 	c #191F29",
+"* 	c #686C72",
+"= 	c #ECECED",
+"- 	c #909398",
+"; 	c #868B8F",
+"> 	c #878B8F",
+", 	c #EBECEC",
+"' 	c #A6A9AC",
+") 	c #EAEBEB",
+"! 	c #EBEDED",
+"~ 	c #ECEDED",
+"{ 	c #EAEBEC",
+"] 	c #EBEBEC",
+"^ 	c #686C73",
+"/ 	c #ECEDEE",
+"( 	c #363C44",
+"_ 	c #111821",
+": 	c #131B24",
+"< 	c #0F1721",
+"[ 	c #111721",
+"} 	c #101821",
+"| 	c #121923",
+"1 	c #101720",
+"2 	c #0E161F",
+"3 	c #101721",
+"4 	c #0F1620",
+"5 	c #353C43",
+"6 	c #84888D",
+"7 	c #121922",
+"8 	c #141B24",
+"9 	c #181E27",
+"0 	c #1D242D",
+"a 	c #1C232D",
+"b 	c #1A222B",
+"c 	c #1C232C",
+"d 	c #181F28",
+"e 	c #86898D",
+"f 	c #7D8286",
+"g 	c #CBCDCF",
+"h 	c #FFFFFF",
+"i 	c #DFDFE1",
+"j 	c #3C424A",
+"k 	c #373E45",
+"l 	c #51575D",
+"m 	c #192029",
+"n 	c #82858A",
+"o 	c #7C7F85",
+"p 	c #C1C3C5",
+"q 	c #C2C4C6",
+"r 	c #131A24",
+"s 	c #222932",
+"t 	c #E7E7E8",
+"u 	c #A2A4A8",
+"v 	c #2F363E",
+"w 	c #FCFCFD",
+"x 	c #4E545A",
+"y 	c #182029",
+"z 	c #7E8287",
+"A 	c #7D8086",
+"B 	c #060E18",
+"C 	c #BDBFC2",
+"D 	c #4E545B",
+"E 	c #B8BABD",
+"F 	c #83868B",
+"G 	c #7D8186",
+"H 	c #B8BBBD",
+"I 	c #DFE1E2",
+"J 	c #4C5158",
+"K 	c #FCFDFD",
+"L 	c #565C62",
+"M 	c #D0D1D4",
+"N 	c #B1B3B6",
+"O 	c #0C131C",
+"P 	c #7F8388",
+"Q 	c #E5E6E7",
+"R 	c #94979B",
+"S 	c #777A81",
+"T 	c #2A3138",
+"U 	c #F8F9F9",
+"V 	c #F8F8F9",
+"W 	c #ADAFB2",
+"X 	c #7F8387",
+"Y 	c #C2C4C7",
+"Z 	c #151C25",
+"` 	c #FCFCFC",
+" .	c #969A9E",
+"..	c #161D26",
+"+.	c #7B8085",
+"@.	c #909499",
+"#.	c #7E8288",
+"$.	c #C1C3C6",
+"%.	c #C5C7C9",
+"&.	c #1B232C",
+"*.	c #363D44",
+"=.	c #FDFDFD",
+"-.	c #494F56",
+";.	c #686D73",
+">.	c #444A52",
+",.	c #484D55",
+"'.	c #232A33",
+").	c #565B62",
+"!.	c #293038",
+"~.	c #1B222B",
+"{.	c #4E535A",
+"].	c #474D54",
+"^.	c #7F8488",
+"/.	c #8D9196",
+"(.	c #A4A6AA",
+"_.	c #141C25",
+":.	c #19202A",
+"<.	c #8D9195",
+"[.	c #6B7075",
+"}.	c #B3B5B9",
+"|.	c #7A7F84",
+"1.	c #808389",
+"2.	c #80858A",
+"3.	c #818489",
+"4.	c #818589",
+"5.	c #797E83",
+"6.	c #B0B3B6",
+"7.	c #65696F",
+"8.	c #1A212A",
+"9.	c #8C9095",
+"0.	c #8C9094",
+"a.	c #64686E",
+"b.	c #161D27",
+"                                        ",
+"                                        ",
+"    . + @ # # # # # # # # # # $ % &     ",
+"    * = - ; > > > > > > > > ; - , %     ",
+"    * ' ) ! ) ~ { ) ) ] ~ { ! ) ' ^     ",
+"    > / ( _ : < [ } | 1 2 3 4 5 / >     ",
+"    # 6 7 : : 8 9 0 a : b c c d e #     ",
+"    # f g h h h i j k h l 0 0 m n #     ",
+"    # o p q r s t u v w x c c y z #     ",
+"    - A p q r B C ' v w D m E F G #     ",
+"    # G p ~ H I h J ( K L M N O G #     ",
+"    # P p Q R S T 0 ( U V W m m G #     ",
+"    # X p Y Z d c 0 ( `  .h J ..+. at .    ",
+"    # #.$.%.&.0 0 0 *.=.-.;.h ( f #     ",
+"    # z >.,.c 0 0 0 '.).!.~.{.].^.#     ",
+"    /.(._.m m m m m m m m m :.8 (.<.    ",
+"    [.h }.|.z 1.1.^.2.P 3.4.5.6.h 7.    ",
+"    8.% 9. at .# # # # # # # # @.0.a.b.    ",
+"                                        ",
+"                                        "};
diff --git a/lib/creaDevManagerLib/images/PkIcon64.xpm b/lib/creaDevManagerLib/images/PkIcon64.xpm
new file mode 100644
index 0000000..6b2ffeb
--- /dev/null
+++ b/lib/creaDevManagerLib/images/PkIcon64.xpm
@@ -0,0 +1,284 @@
+/* XPM */
+const static char * PkIcon64[] = {
+"64 64 217 2",
+"  	c None",
+". 	c #1D242D",
+"+ 	c #1C232C",
+"@ 	c #1A212B",
+"# 	c #19212A",
+"$ 	c #192029",
+"% 	c #19202A",
+"& 	c #1A212A",
+"* 	c #141C25",
+"= 	c #131A24",
+"- 	c #202730",
+"; 	c #272E37",
+"> 	c #2B313A",
+", 	c #282F37",
+"' 	c #222931",
+") 	c #151C25",
+"! 	c #131B24",
+"~ 	c #4A5158",
+"{ 	c #A0A4A7",
+"] 	c #CFD0D2",
+"^ 	c #E6E7E8",
+"/ 	c #F1F2F2",
+"( 	c #E9EAEB",
+"_ 	c #D4D5D7",
+": 	c #A8ABAE",
+"< 	c #575D63",
+"[ 	c #151D26",
+"} 	c #1B222B",
+"| 	c #141B25",
+"1 	c #777B81",
+"2 	c #F6F7F7",
+"3 	c #FFFFFF",
+"4 	c #898C91",
+"5 	c #161D26",
+"6 	c #4C5158",
+"7 	c #FBFBFC",
+"8 	c #FDFDFD",
+"9 	c #F4F4F5",
+"0 	c #F1F1F2",
+"a 	c #565B62",
+"b 	c #141B24",
+"c 	c #A3A5AA",
+"d 	c #E1E1E3",
+"e 	c #898D92",
+"f 	c #4E535A",
+"g 	c #30373E",
+"h 	c #252C35",
+"i 	c #272D36",
+"j 	c #AAADB0",
+"k 	c #151C26",
+"l 	c #222831",
+"m 	c #D3D5D7",
+"n 	c #B0B2B5",
+"o 	c #252C34",
+"p 	c #030A15",
+"q 	c #232A33",
+"r 	c #272E36",
+"s 	c #D8D9DB",
+"t 	c #232A32",
+"u 	c #C6C8CA",
+"v 	c #0F1720",
+"w 	c #323940",
+"x 	c #929599",
+"y 	c #CACCCE",
+"z 	c #E9E9EA",
+"A 	c #F6F6F7",
+"B 	c #293038",
+"C 	c #2D343C",
+"D 	c #F3F3F4",
+"E 	c #52575F",
+"F 	c #5F646A",
+"G 	c #ECECED",
+"H 	c #52575E",
+"I 	c #2F353D",
+"J 	c #DADCDD",
+"K 	c #6D7177",
+"L 	c #FAFAFA",
+"M 	c #F9F9F9",
+"N 	c #F2F2F3",
+"O 	c #EEEFEF",
+"P 	c #EDEEEF",
+"Q 	c #EFEFF0",
+"R 	c #EEEEEF",
+"S 	c #2D333C",
+"T 	c #E2E3E4",
+"U 	c #D5D7D8",
+"V 	c #777B80",
+"W 	c #41474F",
+"X 	c #2C323B",
+"Y 	c #2A3139",
+"Z 	c #2B323A",
+"` 	c #30363E",
+" .	c #2A313A",
+"..	c #242A33",
+"+.	c #242B33",
+"@.	c #293039",
+"#.	c #2A3039",
+"$.	c #212830",
+"%.	c #212831",
+"&.	c #222932",
+"*.	c #F1F1F1",
+"=.	c #9B9FA2",
+"-.	c #242B34",
+";.	c #0F1620",
+">.	c #181F28",
+",.	c #B7B9BC",
+"'.	c #171E27",
+").	c #FCFCFC",
+"!.	c #52585F",
+"~.	c #121922",
+"{.	c #F2F3F3",
+"].	c #2B3139",
+"^.	c #1E252E",
+"/.	c #1F262F",
+"(.	c #1F262E",
+"_.	c #2D333B",
+":.	c #262C35",
+"<.	c #1E242D",
+"[.	c #F8F8F9",
+"}.	c #EFF0F0",
+"|.	c #E5E6E7",
+"1.	c #C4C6C8",
+"2.	c #919499",
+"3.	c #434850",
+"4.	c #252B34",
+"5.	c #A4A6AA",
+"6.	c #232932",
+"7.	c #F0F1F1",
+"8.	c #B3B6B9",
+"9.	c #1E252D",
+"0.	c #292F38",
+"a.	c #DBDCDE",
+"b.	c #E0E1E2",
+"c.	c #5B6066",
+"d.	c #ECEDED",
+"e.	c #545A60",
+"f.	c #A6A9AC",
+"g.	c #B6B8BB",
+"h.	c #FEFEFE",
+"i.	c #EAEBEB",
+"j.	c #95989C",
+"k.	c #363C44",
+"l.	c #F6F6F6",
+"m.	c #EDEDEE",
+"n.	c #ECEDEE",
+"o.	c #4C5259",
+"p.	c #A0A3A7",
+"q.	c #595E65",
+"r.	c #EDEEEE",
+"s.	c #C7C8CB",
+"t.	c #ACAFB2",
+"u.	c #AAACB0",
+"v.	c #EBECEC",
+"w.	c #494F56",
+"x.	c #333941",
+"y.	c #5A5F65",
+"z.	c #8B8F93",
+"A.	c #3C4249",
+"B.	c #C5C7C9",
+"C.	c #BCBEC1",
+"D.	c #D3D4D6",
+"E.	c #31373F",
+"F.	c #2E353D",
+"G.	c #262D35",
+"H.	c #F7F8F8",
+"I.	c #9DA0A4",
+"J.	c #CCCED0",
+"K.	c #DDDEDF",
+"L.	c #CECFD1",
+"M.	c #75797F",
+"N.	c #2C323A",
+"O.	c #9FA2A6",
+"P.	c #454B52",
+"Q.	c #BBBDC0",
+"R.	c #20272F",
+"S.	c #CBCDCF",
+"T.	c #343B43",
+"U.	c #1F252E",
+"V.	c #282E37",
+"W.	c #D9DADC",
+"X.	c #353B43",
+"Y.	c #262D36",
+"Z.	c #41474E",
+"`.	c #4E545B",
+" +	c #B9BBBE",
+".+	c #5E6369",
+"++	c #FBFBFB",
+"@+	c #ABADB0",
+"#+	c #6F7379",
+"$+	c #9C9FA3",
+"%+	c #121923",
+"&+	c #51575E",
+"*+	c #F2F2F2",
+"=+	c #B5B7BA",
+"-+	c #D8DADB",
+";+	c #9B9EA2",
+">+	c #121A23",
+",+	c #CED0D1",
+"'+	c #AEB0B3",
+")+	c #40454E",
+"!+	c #2C333B",
+"~+	c #30363F",
+"{+	c #131A23",
+"]+	c #5C6167",
+"^+	c #F7F7F7",
+"/+	c #444951",
+"(+	c #929699",
+"_+	c #F3F3F3",
+":+	c #6E7378",
+"<+	c #161E27",
+"[+	c #5D6268",
+"}+	c #ABADB1",
+"|+	c #D6D6D8",
+"1+	c #EBECED",
+"2+	c #E7E8E9",
+"3+	c #CDCFD0",
+"4+	c #1A222B",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                  . . + @ # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % & + . .                   ",
+"              . . . * = - ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , ' ) = + . .               ",
+"              . + ! ~ { ] ^ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ( _ : < [ } .               ",
+"            . . | 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 + .             ",
+"          . . | 6 7 3 3 3 8 9 0 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 0 9 8 3 3 3 3 a = . .           ",
+"          . . b c 3 3 d e f g h i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i h g f e d 3 3 j k + .           ",
+"          . } l m 3 n o p 5 q r i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i r q 5 p o n 3 s t & .           ",
+"          . % , 9 u v w x y z / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / z y x w v u A B $ .           ",
+"          . $ C D E F G 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 G F H D C $ .           ",
+"          . $ I J K L 3 3 3 3 M N / / / O P Q / / / 0 P P R P P P P R P P 0 / / / Q P O / / / N M 3 3 3 3 L K J I $ .           ",
+"          . $ S T U 3 3 3 s V W X Y Z i `  .h ..i ...., B r +.r , @.I #.r $.- q %.+.B &.- r Y X W V s 3 3 3 U T S $ .           ",
+"          . $ > *.3 3 3 =.-.;.>.+ + + . . . . . + . . . . . . . . . . . . . . . . . . . . & $ $ 5 ;.-.=.3 3 3 *.> $ .           ",
+"          . $ > / 3 3 ,.* '.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . '.* ,.3 3 / > $ .           ",
+"          . $ > / 3 ).!.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . ~.!.).3 / > $ .           ",
+"          . $ > / 3 {.].+ . . . . . . . . . . . . . . . . ^./.(.^.^.^.^.. . . . . . . . . . . . . . . & _.{.3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . <.^.. . . . . . . . . . . . . . . . . . . . . . . } #./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . 3 3 3 3 3 3 3 3 [.}.|.1.2.3.. . . . . . . 3 3 3 3 . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 / 4.. . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5.6.. . . . . 3 3 3 3 . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 7.4.. . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 8.9.. . . . 3 3 3 3 . . . . . . . . . . . . + 0./ 3 / > $ .           ",
+"          . $ > / 3 O 4.. . 3 3 3 3 a.a.a.b.G L 3 3 3 3 3 3 c.. . . . 3 3 3 3 . . . . . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 d.:.. . 3 3 3 3 . . . . . 6.e.f.3 3 3 3 g.. . . . 3 3 3 3 . . . . . . . . . . . . . -./ 3 / > $ .           ",
+"          . $ > / h.i.i + . 3 3 3 3 . . . . . . . . j.3 3 3 a.. . . . 3 3 3 3 . . . . . . . . . . . . . %./ 3 / > $ .           ",
+"          . $ > / h.i.0.+ . 3 3 3 3 . . . . . . . . k.3 3 3 l.. . . . 3 3 3 3 . . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / h.i.0.+ . 3 3 3 3 . . . . . . . . -.3 3 3 m.. . . . 3 3 3 3 . . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / h.n.i + . 3 3 3 3 . . . . . . . . o.3 3 3 _ . . . . 3 3 3 3 . . . . . 9.p.3 3 3 D q.. - / 3 / > $ .           ",
+"          . $ > / 3 r.i . . 3 3 3 3 . . . . . . . -.s.3 3 3 t.. . . . 3 3 3 3 . . . . /.u.3 3 3 v.w.. . /./ 3 / > $ .           ",
+"          . $ > / 3 }.4.. . 3 3 3 3 . . /.r x.y.z.b.3 3 3 3 a . . . . 3 3 3 3 . . . %.8.3 3 3 b.A.. . . /./ 3 / > $ .           ",
+"          . $ > / 3 7.6.. . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 B.9.. . . . 3 3 3 3 . . ..C.3 3 3 D.E.. . . . - 7.3 / > $ .           ",
+"          . $ > / 3 / ..+ . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 a.F.. . . . . 3 3 3 3 . G.1.3 3 3 1.B . . . . . 6.7.3 / > $ .           ",
+"          . $ > / 3 / i . . 3 3 3 3 3 3 3 3 3 3 3 3 H.I.h . . . . . . 3 3 3 3 #.J.3 3 3 8.' . + . . . . ..}.3 / > $ .           ",
+"          . $ > / 3 / r + . 3 3 3 3 3 3 2 i.K.L.: M.N.. . . . . . . . 3 3 3 3 D.3 3 3 O.^.. + . . . . . +.}.3 / > $ .           ",
+"          . $ > / 3 / i . . 3 3 3 3 . . . . . . . . . . . . . . . . . 3 3 3 3 3 3 3 [.P.. . . . . . . . 6.}.3 / > $ .           ",
+"          . $ > / 3 / t . . 3 3 3 3 . . . . . . . . . . . . . . . . . 3 3 3 3 Q.3 3 3 ( A.. . . . . . . R.7.3 / > $ .           ",
+"          . $ > / 3 / ... . 3 3 3 3 . . . . . . . . . . . . . . . . . 3 3 3 3 -.S.3 3 3 T T.. . . . . . U.7.3 / > $ .           ",
+"          . $ > / 3 / V.. . 3 3 3 3 . . . . . . . . . . . . . . . . . 3 3 3 3 . N.W.3 3 3 W.C . . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / B + . 3 3 3 3 . . . . . . . . . . . . . . . . . 3 3 3 3 . . X.|.3 3 3 ] r . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / Y.+ . 3 3 3 3 . . . . . . . . . . . . . . . . . 3 3 3 3 . . . Z.Q 3 3 3 1.6.. . . /./ 3 / > $ .           ",
+"          . $ > / 3 / -.+ . 3 3 3 3 . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . `.l.3 3 3  +/.. . %./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . 3 3 3 3 . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . .+++3 3 3 @+9.. -./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . 3 3 3 3 . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . #+3 3 3 3 $+. :./ 3 / > $ .           ",
+"          . $ > / 3 / 4.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 / :.+ . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . . . . . . . . V./ 3 / > $ .           ",
+"          . $ > / 3 {.> + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . } X {.3 / > $ .           ",
+"          . $ > / 3 ).H 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + %+&+).3 *+> $ .           ",
+"          . $ B d.3 3 g.| } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + '.| =+3 3 z , % .           ",
+"          . & t -+3 3 3 ;+&.& + + . . . . . . . . . . . . . . . . . . . . . . . + + } + . . . . + >+-.;+3 3 3 ,+R.} .           ",
+"          . + 5 '+3 3 3 3 s M.)+-.^.. /.%.-.:.:.:.:.:.:.+.-.0.!+C C 4.$.q :.:.i V.#.> i l /.. ^.~+M.s 3 3 3 3 $+{+. .           ",
+"          . . {+]+3 3 3 3 3 3 [./ / / / / / / / / / / / / 7.P P P P 7./ / / / / / / / / / / / / [.3 3 3 3 3 ^+/+k . .           ",
+"            . + >.(+3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 _+:+= . .             ",
+"              . @ <+[+}+|+1+/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 2+3+I.P.= + .               ",
+"              . . + >+5 &.0.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > V.- >+) . . .               ",
+"                  . . + & % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # 4++ . .                   ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                "};
diff --git a/lib/creaDevManagerLib/images/PrIcon20.xpm b/lib/creaDevManagerLib/images/PrIcon20.xpm
new file mode 100644
index 0000000..844a33c
--- /dev/null
+++ b/lib/creaDevManagerLib/images/PrIcon20.xpm
@@ -0,0 +1,148 @@
+/* XPM */
+const static char * PrIcon20[] = {
+"20 20 125 2",
+"  	c None",
+". 	c #171E27",
+"+ 	c #666B71",
+"@ 	c #8E9297",
+"# 	c #909498",
+"$ 	c #8F9297",
+"% 	c #6A6F75",
+"& 	c #191F29",
+"* 	c #686C72",
+"= 	c #ECECED",
+"- 	c #909398",
+"; 	c #868B8F",
+"> 	c #878B8F",
+", 	c #EBECEC",
+"' 	c #A6A9AC",
+") 	c #EAEBEB",
+"! 	c #EBEDED",
+"~ 	c #ECEDED",
+"{ 	c #EAEBEC",
+"] 	c #EBEBEC",
+"^ 	c #686C73",
+"/ 	c #ECEDEE",
+"( 	c #363C44",
+"_ 	c #111821",
+": 	c #131B24",
+"< 	c #0F1721",
+"[ 	c #111721",
+"} 	c #101821",
+"| 	c #121923",
+"1 	c #101720",
+"2 	c #0E161F",
+"3 	c #101721",
+"4 	c #0F1620",
+"5 	c #353C43",
+"6 	c #84888D",
+"7 	c #181F28",
+"8 	c #1A2029",
+"9 	c #1D242D",
+"0 	c #1C232C",
+"a 	c #86898D",
+"b 	c #7E8287",
+"c 	c #545A60",
+"d 	c #D4D6D7",
+"e 	c #D3D4D6",
+"f 	c #BFC1C3",
+"g 	c #686D73",
+"h 	c #161D26",
+"i 	c #192029",
+"j 	c #82858A",
+"k 	c #7D8085",
+"l 	c #656A70",
+"m 	c #F8F8F9",
+"n 	c #818489",
+"o 	c #84888C",
+"p 	c #CACBCD",
+"q 	c #FFFFFF",
+"r 	c #393E46",
+"s 	c #7E8186",
+"t 	c #EDEDEE",
+"u 	c #202730",
+"v 	c #F2F3F3",
+"w 	c #5E6369",
+"x 	c #676C72",
+"y 	c #999CA0",
+"z 	c #ACAFB2",
+"A 	c #BDBEC1",
+"B 	c #4A5057",
+"C 	c #7C8086",
+"D 	c #7E8187",
+"E 	c #F4F4F5",
+"F 	c #5C6167",
+"G 	c #63676D",
+"H 	c #A8ABAE",
+"I 	c #232A33",
+"J 	c #82868A",
+"K 	c #C5C6C9",
+"L 	c #CDCFD1",
+"M 	c #3A4048",
+"N 	c #808488",
+"O 	c #656A6F",
+"P 	c #F8F8F8",
+"Q 	c #BFC1C4",
+"R 	c #383E46",
+"S 	c #82868B",
+"T 	c #D5D6D8",
+"U 	c #171F28",
+"V 	c #7D8186",
+"W 	c #7F8388",
+"X 	c #0F1720",
+"Y 	c #131A24",
+"Z 	c #1B222C",
+"` 	c #7B8085",
+" .	c #909499",
+"..	c #EEEEEF",
+"+.	c #7D8286",
+"@.	c #4C5158",
+"#.	c #212831",
+"$.	c #1A212A",
+"%.	c #60656B",
+"&.	c #969A9E",
+"*.	c #19212A",
+"=.	c #8D9196",
+"-.	c #A4A7AA",
+";.	c #111922",
+">.	c #121922",
+",.	c #151D26",
+"'.	c #121A23",
+").	c #19202A",
+"!.	c #141B24",
+"~.	c #A4A6AA",
+"{.	c #8D9195",
+"].	c #6B7075",
+"^.	c #B3B5B9",
+"/.	c #7A7F84",
+"(.	c #808389",
+"_.	c #7F8488",
+":.	c #80858A",
+"<.	c #818589",
+"[.	c #797E83",
+"}.	c #B0B3B6",
+"|.	c #65696F",
+"1.	c #8C9095",
+"2.	c #8C9094",
+"3.	c #64686E",
+"4.	c #161D27",
+"                                        ",
+"                                        ",
+"    . + @ # # # # # # # # # # $ % &     ",
+"    * = - ; > > > > > > > > ; - , %     ",
+"    * ' ) ! ) ~ { ) ) ] ~ { ! ) ' ^     ",
+"    > / ( _ : < [ } | 1 2 3 4 5 / >     ",
+"    # 6 . 7 7 7 8 9 9 9 0 0 0 7 a #     ",
+"    # b c d d e f g h 9 9 9 9 i j #     ",
+"    # k l m n o p q r 0 0 0 0 i b #     ",
+"    - s l t u 7 i v w x y z A B C #     ",
+"    # D l E F G H q I J q K L M C #     ",
+"    # N O q q P Q R 7 S T U 0 i V #     ",
+"    # W O = h X Y Z i S d 7 9 i `  .    ",
+"    # W l ..I 9 9 9 i S T 7 9 i +.#     ",
+"    # b @.H #.9 9 9 $.%.&.*.9 i W #     ",
+"    =.-.;.>.i i i i i ,.'.i ).!.~.{.    ",
+"    ].q ^./.b (.(._.:.W n <.[.}.q |.    ",
+"    $.% 1. .# # # # # # # #  .2.3.4.    ",
+"                                        ",
+"                                        "};
diff --git a/lib/creaDevManagerLib/images/PrIcon64.xpm b/lib/creaDevManagerLib/images/PrIcon64.xpm
new file mode 100644
index 0000000..0398260
--- /dev/null
+++ b/lib/creaDevManagerLib/images/PrIcon64.xpm
@@ -0,0 +1,276 @@
+/* XPM */
+const static char * PrIcon64[] = {
+"64 64 209 2",
+"  	c None",
+". 	c #1D242D",
+"+ 	c #1C232C",
+"@ 	c #1A212B",
+"# 	c #19212A",
+"$ 	c #192029",
+"% 	c #19202A",
+"& 	c #1A212A",
+"* 	c #141C25",
+"= 	c #131A24",
+"- 	c #202730",
+"; 	c #272E37",
+"> 	c #2B313A",
+", 	c #282F37",
+"' 	c #222931",
+") 	c #151C25",
+"! 	c #131B24",
+"~ 	c #4A5158",
+"{ 	c #A0A4A7",
+"] 	c #CFD0D2",
+"^ 	c #E6E7E8",
+"/ 	c #F1F2F2",
+"( 	c #E9EAEB",
+"_ 	c #D4D5D7",
+": 	c #A8ABAE",
+"< 	c #575D63",
+"[ 	c #151D26",
+"} 	c #1B222B",
+"| 	c #141B25",
+"1 	c #777B81",
+"2 	c #F6F7F7",
+"3 	c #FFFFFF",
+"4 	c #898C91",
+"5 	c #161D26",
+"6 	c #4C5158",
+"7 	c #FBFBFC",
+"8 	c #FDFDFD",
+"9 	c #F4F4F5",
+"0 	c #F1F1F2",
+"a 	c #565B62",
+"b 	c #141B24",
+"c 	c #A3A5AA",
+"d 	c #E1E1E3",
+"e 	c #898D92",
+"f 	c #4E535A",
+"g 	c #30373E",
+"h 	c #252C35",
+"i 	c #272D36",
+"j 	c #AAADB0",
+"k 	c #151C26",
+"l 	c #222831",
+"m 	c #D3D5D7",
+"n 	c #B0B2B5",
+"o 	c #252C34",
+"p 	c #030A15",
+"q 	c #232A33",
+"r 	c #272E36",
+"s 	c #D8D9DB",
+"t 	c #232A32",
+"u 	c #C6C8CA",
+"v 	c #0F1720",
+"w 	c #323940",
+"x 	c #929599",
+"y 	c #CACCCE",
+"z 	c #E9E9EA",
+"A 	c #F6F6F7",
+"B 	c #293038",
+"C 	c #2D343C",
+"D 	c #F3F3F4",
+"E 	c #52575F",
+"F 	c #5F646A",
+"G 	c #ECECED",
+"H 	c #52575E",
+"I 	c #2F353D",
+"J 	c #DADCDD",
+"K 	c #6D7177",
+"L 	c #FAFAFA",
+"M 	c #F9F9F9",
+"N 	c #F2F2F3",
+"O 	c #EEEFEF",
+"P 	c #EDEEEF",
+"Q 	c #EFEFF0",
+"R 	c #EEEEEF",
+"S 	c #2D333C",
+"T 	c #E2E3E4",
+"U 	c #D5D7D8",
+"V 	c #777B80",
+"W 	c #41474F",
+"X 	c #2C323B",
+"Y 	c #2A3139",
+"Z 	c #2B323A",
+"` 	c #30363E",
+" .	c #2A313A",
+"..	c #242A33",
+"+.	c #242B33",
+"@.	c #293039",
+"#.	c #2A3039",
+"$.	c #212830",
+"%.	c #212831",
+"&.	c #222932",
+"*.	c #F1F1F1",
+"=.	c #9B9FA2",
+"-.	c #242B34",
+";.	c #0F1620",
+">.	c #181F28",
+",.	c #B7B9BC",
+"'.	c #171E27",
+").	c #FCFCFC",
+"!.	c #52585F",
+"~.	c #121922",
+"{.	c #F2F3F3",
+"].	c #2B3139",
+"^.	c #1E252E",
+"/.	c #1F262F",
+"(.	c #1F262E",
+"_.	c #2D333B",
+":.	c #262C35",
+"<.	c #1E242D",
+"[.	c #252B34",
+"}.	c #F5F5F5",
+"|.	c #DEDFE0",
+"1.	c #BABDBF",
+"2.	c #818589",
+"3.	c #363C44",
+"4.	c #F0F1F1",
+"5.	c #F8F8F9",
+"6.	c #92959A",
+"7.	c #292F38",
+"8.	c #A4A6AA",
+"9.	c #ECEDED",
+"0.	c #F4F4F4",
+"a.	c #F6F6F6",
+"b.	c #51565D",
+"c.	c #FEFEFE",
+"d.	c #EAEBEB",
+"e.	c #1E252D",
+"f.	c #484D55",
+"g.	c #7A7E83",
+"h.	c #CECFD1",
+"i.	c #B1B3B6",
+"j.	c #D8DADB",
+"k.	c #3E444C",
+"l.	c #ECEDEE",
+"m.	c #DFE0E1",
+"n.	c #5B6066",
+"o.	c #A9ABAF",
+"p.	c #CCCED0",
+"q.	c #E7E8E9",
+"r.	c #C2C3C6",
+"s.	c #7D8186",
+"t.	c #2C333B",
+"u.	c #EDEEEE",
+"v.	c #4F545B",
+"w.	c #D2D4D5",
+"x.	c #4E545B",
+"y.	c #EFF0F0",
+"z.	c #2C323A",
+"A.	c #AAACB0",
+"B.	c #DDDEDF",
+"C.	c #232932",
+"D.	c #3F454D",
+"E.	c #6A6E74",
+"F.	c #999CA0",
+"G.	c #EDEDEE",
+"H.	c #4D535A",
+"I.	c #E0E1E2",
+"J.	c #B6B8BB",
+"K.	c #83878C",
+"L.	c #3C424A",
+"M.	c #333941",
+"N.	c #C8C9CC",
+"O.	c #7F8388",
+"P.	c #E1E2E3",
+"Q.	c #D5D6D8",
+"R.	c #BFC1C3",
+"S.	c #94979B",
+"T.	c #5B6067",
+"U.	c #20272F",
+"V.	c #1F252E",
+"W.	c #282E37",
+"X.	c #262D36",
+"Y.	c #121923",
+"Z.	c #51575E",
+"`.	c #F2F2F2",
+" +	c #B5B7BA",
+".+	c #9B9EA2",
+"++	c #121A23",
+"@+	c #CED0D1",
+"#+	c #AEB0B3",
+"$+	c #75797F",
+"%+	c #40454E",
+"&+	c #30363F",
+"*+	c #9C9FA3",
+"=+	c #131A23",
+"-+	c #5C6167",
+";+	c #F7F7F7",
+">+	c #444951",
+",+	c #929699",
+"'+	c #F3F3F3",
+")+	c #6E7378",
+"!+	c #161E27",
+"~+	c #5D6268",
+"{+	c #ABADB1",
+"]+	c #D6D6D8",
+"^+	c #EBECED",
+"/+	c #CDCFD0",
+"(+	c #9DA0A4",
+"_+	c #454B52",
+":+	c #1A222B",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                  . . + @ # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % & + . .                   ",
+"              . . . * = - ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , ' ) = + . .               ",
+"              . + ! ~ { ] ^ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ( _ : < [ } .               ",
+"            . . | 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 + .             ",
+"          . . | 6 7 3 3 3 8 9 0 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 0 9 8 3 3 3 3 a = . .           ",
+"          . . b c 3 3 d e f g h i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i h g f e d 3 3 j k + .           ",
+"          . } l m 3 n o p 5 q r i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i r q 5 p o n 3 s t & .           ",
+"          . % , 9 u v w x y z / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / z y x w v u A B $ .           ",
+"          . $ C D E F G 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 G F H D C $ .           ",
+"          . $ I J K L 3 3 3 3 M N / / / O P Q / / / 0 P P R P P P P R P P 0 / / / Q P O / / / N M 3 3 3 3 L K J I $ .           ",
+"          . $ S T U 3 3 3 s V W X Y Z i `  .h ..i ...., B r +.r , @.I #.r $.- q %.+.B &.- r Y X W V s 3 3 3 U T S $ .           ",
+"          . $ > *.3 3 3 =.-.;.>.+ + + . . . . . + . . . . . . . . . . . . . . . . . . . . & $ $ 5 ;.-.=.3 3 3 *.> $ .           ",
+"          . $ > / 3 3 ,.* '.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . '.* ,.3 3 / > $ .           ",
+"          . $ > / 3 ).!.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . ~.!.).3 / > $ .           ",
+"          . $ > / 3 {.].+ . . . . . . . . . . . . . . . . ^./.(.^.^.^.^.. . . . . . . . . . . . . . . & _.{.3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . <.^.. . . . . . . . . . . . . . . . . . . . . . . } #./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 / [.. . . 3 3 3 3 3 3 3 3 8 }.G |.1.2.3.. . . . . . . . . . . . . . . . . . . . . + > / 3 / > $ .           ",
+"          . $ > / 3 4.[.. . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5.6.^.. . . . . . . . . . . . . . . . . . . + 7./ 3 / > $ .           ",
+"          . $ > / 3 O [.. . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 8.. . . . . . . . . . . . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 9.:.. . . 3 3 3 3 0.0.0.a.3 3 3 3 3 3 3 3 3 b.. . . . . . . . . . . . . . . . . . . -./ 3 / > $ .           ",
+"          . $ > / c.d.i + . . 3 3 3 3 . . . . e.r f.g.h.3 3 3 3 n . . . . . . . . . . . . . . . . . . . %./ 3 / > $ .           ",
+"          . $ > / c.d.7.+ . . 3 3 3 3 . . . . . . . . ^.i.3 3 3 j.. . . . . . . . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / c.d.7.+ . . 3 3 3 3 . . . . . . . . . k.3 3 3 0.. . . . . . . . . . . . . . . . . . . - / 3 / > $ .           ",
+"          . $ > / c.l.i + . . 3 3 3 3 . . . . . . . . . h 3 3 3 R . . . . 3 3 m.- n.o.p.q.M q.r.s.t.. . - / 3 / > $ .           ",
+"          . $ > / 3 u.i . . . 3 3 3 3 . . . . . . . . . v.3 3 3 w.. . . . 3 3 3 R 3 3 3 3 3 3 3 3 x.. . /./ 3 / > $ .           ",
+"          . $ > / 3 y.[.. . . 3 3 3 3 . . . . . . . . z.] 3 3 3 A.. . . . 3 3 3 3 3 3 3 3 3 3 3 B.. . . /./ 3 / > $ .           ",
+"          . $ > / 3 4.C.. . . 3 3 3 3 . . e.-.t.D.E.F.G.3 3 3 3 H.. . . . 3 3 3 3 3 3 }.|.I.5.3 4 . . . - 4.3 / > $ .           ",
+"          . $ > / 3 / ..+ . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 J.. . . . . 3 3 3 3 K.L.. . . -.F M.. . . C.4.3 / > $ .           ",
+"          . $ > / 3 / i . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 N.-.. . . . . 3 3 3 3 . . . . . . + . . . . ..y.3 / > $ .           ",
+"          . $ > / 3 / r + . . 3 3 3 3 3 3 3 3 3 3 3 3 3 d.O.^.. . . . . . 3 3 3 3 . . . . . + . . . . . +.y.3 / > $ .           ",
+"          . $ > / 3 / i . . . 3 3 3 3 3 3 L R P.Q.R.S.T./.. . . . . . . . 3 3 3 3 . . . . . . . . . . . C.y.3 / > $ .           ",
+"          . $ > / 3 / t . . . 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . U.4.3 / > $ .           ",
+"          . $ > / 3 / ... . . 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . V.4.3 / > $ .           ",
+"          . $ > / 3 / W.. . . 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / B + . . 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . . / 3 / > $ .           ",
+"          . $ > / 3 / X.+ . . 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . /./ 3 / > $ .           ",
+"          . $ > / 3 / -.+ . . 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . %./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . -./ 3 / > $ .           ",
+"          . $ > / 3 / :.. . . 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . :./ 3 / > $ .           ",
+"          . $ > / 3 / [.. . . 3 3 3 3 . . . . . . . . . . . . . . . . . . 3 3 3 3 . . . . . . . . . . . i / 3 / > $ .           ",
+"          . $ > / 3 / :.+ . . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . . . . . . . . W./ 3 / > $ .           ",
+"          . $ > / 3 {.> + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . } X {.3 / > $ .           ",
+"          . $ > / 3 ).H 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + Y.Z.).3 `.> $ .           ",
+"          . $ B 9.3 3 J.| } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + '.|  +3 3 z , % .           ",
+"          . & t j.3 3 3 .+&.& + + . . . . . . . . . . . . . . . . . . . . . . . + + } + . . . . + ++-..+3 3 3 @+U.} .           ",
+"          . + 5 #+3 3 3 3 s $+%+-.^.. /.%.-.:.:.:.:.:.:.+.-.7.t.C C [.$.q :.:.i W.#.> i l /.. ^.&+$+s 3 3 3 3 *+=+. .           ",
+"          . . =+-+3 3 3 3 3 3 5./ / / / / / / / / / / / / 4.P P P P 4./ / / / / / / / / / / / / 5.3 3 3 3 3 ;+>+k . .           ",
+"            . + >.,+3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 '+)+= . .             ",
+"              . @ !+~+{+]+^+/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / q./+(+_+= + .               ",
+"              . . + ++5 &.7.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > W.- ++) . . .               ",
+"                  . . + & % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # :++ . .                   ",
+"                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                ",
+"                                                                                                                                "};
diff --git a/lib/creaDevManagerLib/images/TemplateIcon.xcf b/lib/creaDevManagerLib/images/TemplateIcon.xcf
new file mode 100644
index 0000000..21e554c
Binary files /dev/null and b/lib/creaDevManagerLib/images/TemplateIcon.xcf differ
diff --git a/lib/creaDevManagerLib/modelCDMAppli.cpp b/lib/creaDevManagerLib/modelCDMAppli.cpp
new file mode 100644
index 0000000..c4dbd02
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMAppli.cpp
@@ -0,0 +1,614 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMAppli.cpp
+ *
+ *  Created on: Nov 23, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "modelCDMAppli.h"
+
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <algorithm>
+
+#include "CDMUtilities.h"
+#include "creaWx.h"
+#include "wx/dir.h"
+
+modelCDMAppli::modelCDMAppli()
+{
+}
+
+modelCDMAppli::modelCDMAppli(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level)
+{
+  std::cout << "creating appli\n";
+  this->parent = parent;
+  this->type = wxDIR_DIRS;
+  this->name = name;
+  this->level = level;
+  this->path = path;
+
+
+
+  this->path = CDMUtilities::fixPath(path);
+  std::string pathFixed(CDMUtilities::fixPath(path));
+
+  this->applications.clear();
+  wxDir dir(crea::std2wx((pathFixed).c_str()));
+  if (dir.IsOpened())
+    {
+      wxString fileName;
+      bool cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_DIRS);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+
+          if(stdfileName != "template_appli" && stdfileName != "template_wx_appli")
+            {
+              modelCDMApplication* application = new modelCDMApplication(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->applications.push_back(application);
+              this->children.push_back(application);
+            }
+          else
+            {
+              modelCDMFolder* folder = new modelCDMFolder(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(folder);
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+      //files
+      cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_FILES);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::size_t fileTypePos = stdfileName.find_last_of(".");
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
+
+          //if CMakeLists, create CMakeLists
+          if(stdfileName == "CMakeLists.txt")
+            {
+              this->CMakeLists = new modelCDMCMakeListsFile(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(this->CMakeLists);
+            }
+          //if is a code file, create modelCDMCodeFile
+          else if(
+              fileType == ".c" ||
+              fileType == ".cxx" ||
+              fileType == ".h" ||
+              fileType == ".cpp" ||
+              fileType == ".txx" ||
+              fileType == ".cmake" )
+            {
+              this->children.push_back(new modelCDMCodeFile(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+            }
+          //if is an unknown file, create file
+          else
+            {
+              this->children.push_back(new modelCDMFile(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+
+    }
+  this->SortChildren();
+  std::sort(this->applications.begin(), this->applications.end(), CompareNodeItem);
+}
+
+modelCDMAppli::~modelCDMAppli()
+{
+}
+
+const std::vector<modelCDMApplication*>& modelCDMAppli::GetApplications() const
+{
+  return this->applications;
+}
+
+modelCDMApplication* modelCDMAppli::CreateApplication(
+    const std::string& namein,
+    const int& type,
+    std::string*& result
+)
+{
+  std::vector<std::string> words;
+  CDMUtilities::splitter::split(words,namein," '/\\*\"%",CDMUtilities::splitter::no_empties);
+  std::string name;
+  for (int i = 0; i < (int)(words.size()); i++)
+    {
+      name += words[i];
+    }
+  if (name == "")
+    {
+      result = new std::string("The given name is not valid:  '/\\*\"% are forbidden.");
+      return NULL;
+    }
+
+  if (type == 0)
+    {
+      //copy template application folder with new name
+#ifdef _WIN32
+      std::string copyCommand = "xcopy \"" + this->path + CDMUtilities::SLASH + "template_appli\" \"" + this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "\" /Y";
+#else
+      std::string copyCommand = "cp -r \"" + this->path + CDMUtilities::SLASH + "template_appli\" \"" + this->path + CDMUtilities::SLASH + name + "\"";
+#endif
+
+      if(system(copyCommand.c_str()))
+        {
+          result = new std::string("An error occurred while running '" + copyCommand + "'.");
+          return NULL;
+        }
+      //set name of library in CMakeLists inside copied folder
+      std::string line;
+      std::ifstream in((this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt").c_str());
+      if( !in.is_open())
+        {
+          result = new std::string("CMakeLists.txt file failed to open.");
+          return NULL;
+        }
+      std::ofstream out((this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt.tmp").c_str());
+      while (getline(in, line))
+        {
+          if(line == "SET ( EXE_NAME   MyExe  )")
+            line = "SET ( EXE_NAME   " + name + "  )";
+          out << line << std::endl;
+        }
+      in.close();
+      out.close();
+      //delete old file and rename new file
+#ifdef _WIN32
+      std::string renameCommand = "move /Y \"" + this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#else
+      std::string renameCommand = "mv \"" + this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#endif
+
+      if(system(renameCommand.c_str()))
+        {
+          result = new std::string("An error occurred while running '" + renameCommand + "'.");
+          return NULL;
+        }
+
+      //add application to appli CMakeLists
+      std::fstream out1((this->path + CDMUtilities::SLASH + "CMakeLists.txt").c_str(), std::fstream::in | std::fstream::out | std::fstream::app);
+      if (out1.is_open())
+        {
+          out1 << "ADD_SUBDIRECTORY(" << name << ")" << std::endl;
+          out1.close();
+        }
+
+      //add application to model
+      modelCDMApplication* application = new modelCDMApplication(this, this->path + CDMUtilities::SLASH + name, name, this->level + 1);
+      this->applications.push_back(application);
+      this->children.push_back(application);
+
+      this->SortChildren();
+
+      result = new std::string(this->path + CDMUtilities::SLASH + name);
+      return application;
+    }
+  else if(type == 1)
+    {
+      //copy template application folder with new name
+#ifdef _WIN32
+      std::string copyCommand = "xcopy \"" + this->path + CDMUtilities::SLASH + "template_wx_appli\" \"" + this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "\" /Y";
+#else
+      std::string copyCommand = "cp -r \"" + this->path + CDMUtilities::SLASH + "template_wx_appli\" \"" + this->path + CDMUtilities::SLASH + name + "\"";
+#endif
+
+      if(system(copyCommand.c_str()))
+        {
+          result = new std::string("An error occurred while running '" + copyCommand + "'.");
+          return NULL;
+        }
+      //set name of library in CMakeLists inside copied folder
+      std::string line;
+      std::ifstream in((this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt").c_str());
+      if( !in.is_open())
+        {
+          result = new std::string("CMakeLists.txt file failed to open.");
+          return NULL;
+        }
+      std::ofstream out((this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt.tmp").c_str());
+      while (getline(in, line))
+        {
+          if(line == "SET ( EXE_NAME   MyExeWx  )")
+            line = "SET ( EXE_NAME   " + name + "  )";
+          out << line << std::endl;
+        }
+      in.close();
+      out.close();
+      //delete old file and rename new file
+#ifdef _WIN32
+      std::string renameCommand = "move /Y \"" + this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#else
+      std::string renameCommand = "mv \"" + this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#endif
+
+      if(system(renameCommand.c_str()))
+        {
+          result = new std::string("An error occurred while running '" + renameCommand + "'.");
+          return NULL;
+        }
+
+      //add application to appli CMakeLists
+      std::fstream out1((this->path + CDMUtilities::SLASH + "CMakeLists.txt").c_str(), std::fstream::in | std::fstream::out | std::fstream::app);
+      if (out1.is_open())
+        {
+          out1 << "ADD_SUBDIRECTORY(" << name << ")" << std::endl;
+          out1.close();
+        }
+
+      //add application to model
+      modelCDMApplication* application = new modelCDMApplication(this, this->path + CDMUtilities::SLASH + name, name, this->level + 1);
+      this->applications.push_back(application);
+      this->children.push_back(application);
+
+      this->SortChildren();
+
+      result = new std::string(this->path + CDMUtilities::SLASH + name);
+      return application;
+    }
+  else
+    {
+      std::string res = "Invalid application type: ";
+      res += type;
+      res += std::string(".\n0:Console application.\n1:GUI Application (wxWidgets).");
+      result = new std::string(res);
+
+      return NULL;
+    }
+}
+
+const bool modelCDMAppli::Refresh(std::string*& result)
+{
+  std::cout << "refreshing appli" << std::endl;
+  this->type = wxDIR_DIRS;
+
+  std::vector<bool> checked(this->children.size(), false);
+  std::vector<bool> checkedApplications(this->applications.size(), false);
+
+  //check all folders
+  wxDir dir(crea::std2wx((this->path).c_str()));
+  if (dir.IsOpened())
+    {
+      wxString fileName;
+      bool cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_DIRS);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+
+          if(stdfileName != "template_appli" && stdfileName != "template_wx_appli")
+            {
+              std::string applicationName = stdfileName;
+              //check if application already exist
+              bool found = false;
+              for (int i = 0; !found && i < (int)(this->applications.size()); i++)
+                {
+                  if (this->applications[i]->GetName() == applicationName)
+                    {
+                      found = true;
+                      int pos = std::find(this->children.begin(), this->children.end(), this->applications[i]) - this->children.begin();
+                      checked[pos] = true;
+                      checkedApplications[i] = true;
+                      if(!this->applications[i]->Refresh(result))
+                        return false;
+                    }
+                }
+              if(!found)
+                {
+                  modelCDMApplication* application= new modelCDMApplication(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  this->applications.push_back(application);
+                  this->children.push_back(application);
+                }
+            }
+          else
+            {
+              //check if folder already exist
+              bool found = false;
+              for (int i = 0; !found && i < (int)(this->children.size()); i++)
+                {
+                  if (this->children[i]->GetName() == stdfileName)
+                    {
+                      found = true;
+                      checked[i] = true;
+
+                      if(!this->children[i]->Refresh(result))
+                        return false;
+                    }
+                }
+              if(!found)
+                {
+                  modelCDMFolder* folder= new modelCDMFolder(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  this->children.push_back(folder);
+                }
+            }
+          cont = dir.GetNext(&fileName);
+        }
+
+      cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_FILES);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::size_t fileTypePos = stdfileName.find_last_of(".");
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
+
+          //if CMakeLists, create CMakeLists
+          if(stdfileName == "CMakeLists.txt")
+            {
+              if (this->CMakeLists == NULL)
+                {
+                  this->CMakeLists = new modelCDMCMakeListsFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  this->children.push_back(this->CMakeLists);
+                }
+              else
+                {
+                  int pos = std::find(this->children.begin(), this->children.end(), this->CMakeLists) - this->children.begin();
+                  checked[pos] = true;
+                  if(!this->CMakeLists->Refresh(result))
+                    return false;
+                }
+            }
+          //if is a code file, create modelCDMCodeFile
+          //if is an unknown file, create file
+          else
+            {
+              bool found = false;
+              for (int i = 0; !found && i < (int)(this->children.size()); i++)
+                {
+                  if (this->children[i]->GetName() == stdfileName)
+                    {
+                      found = true;
+                      checked[i] = true;
+                      if(!this->children[i]->Refresh(result))
+                        return false;
+                    }
+                }
+
+              if(!found)
+                {
+                  if(
+                    fileType == ".c" ||
+                    fileType == ".cxx" ||
+                    fileType == ".h" ||
+                    fileType == ".cpp" ||
+                    fileType == ".txx" ||
+                    fileType == ".cmake" )
+                    {
+                      this->children.push_back(new modelCDMCodeFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+                    }
+                  else
+                    {
+                      modelCDMFile* file = new modelCDMFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                      this->children.push_back(file);
+                    }
+                }
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+    }
+
+  for (int i = 0; i < (int)(checkedApplications.size()); i++)
+    {
+      if(!checkedApplications[i])
+        {
+          this->applications.erase(this->applications.begin()+i);
+          checkedApplications.erase(checkedApplications.begin()+i);
+          i--;
+        }
+    }
+  for (int i = 0; i < (int)(checked.size()); i++)
+    {
+      if(!checked[i])
+        {
+          delete this->children[i];
+          this->children.erase(this->children.begin()+i);
+          checked.erase(checked.begin()+i);
+          i--;
+        }
+    }
+  this->SortChildren();
+  std::sort(this->applications.begin(), this->applications.end(), CompareNodeItem);
+  return true;
+}
+
+void modelCDMAppli::CheckStructure(std::map<std::string, bool>& properties)
+{
+  //check cmake exist
+  if(this->CMakeLists != NULL)
+    {
+      //set properties parameters based on model
+      for (int i = 0; i < (int)(this->applications.size()); i++)
+        properties["appli add " + this->applications[i]->GetName()] = false;
+
+      //open cmakelists
+      std::ifstream confFile;
+      confFile.open((this->CMakeLists->GetPath()).c_str());
+
+      //take everything that is not commented
+      std::string fileContent;
+
+      std::string word;
+      std::vector<std::string> words;
+      while(confFile.is_open() && !confFile.eof())
+        {
+          std::getline(confFile,word, '\n');
+          if(word[0] != '#')
+            {
+              CDMUtilities::splitter::split(words, word, "#", CDMUtilities::splitter::empties_ok);
+              if (words.size() > 0)
+                {
+                  word = words[0];
+                  CDMUtilities::splitter::split(words, word, " ", CDMUtilities::splitter::empties_ok);
+                  for (int i = 0; i < (int)(words.size()); i++)
+                    {
+                      if(words[i].substr(0,2) == "//")
+                        break;
+                      fileContent += words[i] + " ";
+                    }
+                }
+            }
+        }
+
+      //check every instruction
+      std::stringstream ss(fileContent);
+      while(!ss.eof())
+        {
+          std::getline(ss,word, '(');
+
+          //check instruction name
+          CDMUtilities::splitter::split(words, word, " ", CDMUtilities::splitter::no_empties);
+
+          //add instructions
+          if (words.size() > 0 && words[words.size()-1] == "ADD_SUBDIRECTORY")
+            {
+              std::getline(ss,word, ')');
+              //std::cout << word << std::endl;
+              CDMUtilities::splitter::split(words, word, " ", CDMUtilities::splitter::no_empties);
+
+              if (words.size() > 0)
+                {
+                  {
+                    properties["appli add " + words[0]] = true;
+                  }
+                }
+            }
+        }
+
+    }
+
+  //check libraries' structure
+  for (int i = 0; i < (int)(this->applications.size()); i++)
+    {
+      properties["application " + this->applications[i]->GetName()] = true;
+      this->applications[i]->CheckStructure(properties);
+    }
+}
+
+bool modelCDMAppli::IsApplicationIncluded(const std::string& application_name)
+{
+  if (this->HasCMakeLists())
+      {
+        CDMUtilities::CMLFile cmlFile = CDMUtilities::readCMLFile(this->CMakeLists->GetPath().c_str());
+        for (int i = 0; i < cmlFile.size(); ++i)
+          {
+            if (cmlFile[i].first=="command" && cmlFile[i].second[0] == "ADD_SUBDIRECTORY")
+              {
+                int pos = 1;
+                while (pos < cmlFile[i].second.size())
+                  {
+                    if (!isspace(cmlFile[i].second[pos][0]) && cmlFile[i].second[pos][0] != '(' && cmlFile[i].second[pos][0] != '#')
+                      {
+                        if (application_name == cmlFile[i].second[pos])
+                          return true;
+                        break;
+                      }
+                    pos++;
+                  }
+              }
+          }
+      }
+    return false;
+}
+
+bool modelCDMAppli::SetApplicationInclude(const std::string& application_name, const bool& toInclude)
+{
+  if (this->HasCMakeLists())
+    {
+      CDMUtilities::CMLFile cmlFile = CDMUtilities::readCMLFile(this->CMakeLists->GetPath().c_str());
+
+      bool found = false;
+
+      for (int i = 0; i < cmlFile.size(); ++i)
+        {
+          if(toInclude && cmlFile[i].first == "comment")
+            {
+              std::vector<std::string> segments;
+              std::string line = cmlFile[i].second[0];
+              while(line[0] == '#')
+                line.erase(0,1);
+
+              CDMUtilities::splitter::split(segments, line, " ()", CDMUtilities::splitter::no_empties);
+              if (segments.size() > 1 && segments[0] == "ADD_SUBDIRECTORY" && segments[1] == application_name)
+                {
+                  found = true;
+                  while(cmlFile[i].second[0][0] == '#')
+                    cmlFile[i].second[0].erase(0,1);
+                }
+            }
+          else if(cmlFile[i].first == "command" && cmlFile[i].second[0] == "ADD_SUBDIRECTORY")
+            {
+              int pos = 1;
+              while (pos < cmlFile[i].second.size())
+                {
+                  if (!isspace(cmlFile[i].second[pos][0]) && cmlFile[i].second[pos][0] != '(' && cmlFile[i].second[pos][0] != '#')
+                    {
+                      if (application_name == cmlFile[i].second[pos])
+                        {
+                          found = true;
+                          if (!toInclude)
+                            {
+                              cmlFile[i].first = "comment";
+                              cmlFile[i].second[0] = "#" + cmlFile[i].second[0];
+                              while (cmlFile[i].second.size() > 1)
+                                {
+                                  cmlFile[i].second[0] += cmlFile[i].second[1];
+                                  cmlFile[i].second.erase(cmlFile[i].second.begin()+1);
+                                }
+
+                            }
+                        }
+                      break;
+                    }
+                  pos++;
+                }
+            }
+        }
+      if (!found && toInclude)
+        {
+          CDMUtilities::syntaxElement element;
+          element.first = "command";
+          element.second.push_back("ADD_SUBDIRECTORY(" + application_name + ")");
+          cmlFile.push_back(element);
+        }
+
+      return CDMUtilities::writeCMLFile(this->CMakeLists->GetPath().c_str(),cmlFile);
+    }
+  return false;
+}
diff --git a/lib/creaDevManagerLib/modelCDMAppli.h b/lib/creaDevManagerLib/modelCDMAppli.h
new file mode 100644
index 0000000..c3bce22
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMAppli.h
@@ -0,0 +1,121 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMAppli.h
+ *
+ *  Created on: Nov 23, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef MODELCDMAPPLI_H_
+#define MODELCDMAPPLI_H_
+
+#include<iostream>
+#include<vector>
+#include<map>
+
+#include"modelCDMFolder.h"
+#include"modelCDMApplication.h"
+
+/**
+ * Represents the appli folder of Crea project. The appli folder holds the applications of a project.
+ */
+class modelCDMAppli : public modelCDMFolder
+{
+public:
+  /**
+   * Default constructor.
+   */
+  modelCDMAppli();
+  /**
+   * Constructor of the appli folder node.
+   * @param parent Parent node of the appli node.
+   * @param path Full path of the appli node.
+   * @param name Folder name of the appli node. By default "appli"
+   * @param level Folder Level in the project hierarchy. By default 1
+   */
+  modelCDMAppli(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name = "appli", const int& level = 1);
+  /**
+   * Destructor.
+   */
+  ~modelCDMAppli();
+
+  /**
+   * Retrieves the applications inside the appli folder node.
+   * @return Reference array of the applications in the appli node.
+   */
+  const std::vector<modelCDMApplication*>& GetApplications() const;
+
+  /**
+   * Creates a new application in the system and creates an application node. This node is stored in the applications attribute and returned. The created application is included in the appli's CMakeLists file.
+   * @param name Name of the new application.
+   * @param type 0=console application, 1=GUI Application (wxWidgets).
+   * @param result Result message of the operation.
+   * @return Reference to the created application or NULL.
+   */
+  modelCDMApplication* CreateApplication(
+      const std::string& name,
+      const int& type,
+      std::string*& result
+  );
+  /**
+   * Refreshes the file structure of the appli node. Deletes deleted folders and files and creates created files and folders since lasts refresh.
+   * @param result Result message of the operation.
+   * @return True if the operation was successful.
+   */
+  virtual const bool Refresh(std::string*& result);
+
+  /**
+   * Checks the CMakeLists structure and the applications in order to look for compilation errors before compiling.
+   * @param properties Properties found in the structure.
+   */
+  void CheckStructure(std::map<std::string, bool>& properties);
+
+  /**
+   * Checks if the given application is included in the CMakeLists file.
+   * @param application_name Name of the library to check.
+   * @return True if the library is included, otherwise returns False.
+   */
+  bool IsApplicationIncluded(const std::string& application_name);
+
+  /**
+   * Sets the inclusion of the application in the lib's CMakeLists file. If the application inclusion already exist in file, then the line is uncommented/commented depending on the requested action. If the application inclusion doesn't exist yet, then it is included if the request is an inclusion.
+   * @param application_name Name of the application to include/exclude.
+   * @param toInclude True if the request is an inclusion, False otherwise.
+   * @return True if the request was processed successfully.
+   */
+  bool SetApplicationInclude(const std::string& application_name, const bool& toInclude);
+
+private:
+  /**
+   * application in the appli folder node.
+   */
+  std::vector<modelCDMApplication*> applications;
+};
+
+#endif /* MODELCDMAPPLI_H_ */
diff --git a/lib/creaDevManagerLib/modelCDMApplication.cpp b/lib/creaDevManagerLib/modelCDMApplication.cpp
new file mode 100644
index 0000000..cabfd7c
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMApplication.cpp
@@ -0,0 +1,1035 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMApplication.cpp
+ *
+ *  Created on: Nov 23, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "modelCDMApplication.h"
+
+#include "modelCDMProject.h"
+#include "modelCDMLib.h"
+#include "modelCDMLibrary.h"
+
+#include <fstream>
+#include <sstream>
+#include <algorithm>
+#include <boost/regex.hpp>
+
+#include "CDMUtilities.h"
+#include "creaWx.h"
+#include "wx/dir.h"
+
+modelCDMApplication::modelCDMApplication()
+{
+  mainFile = NULL;
+}
+
+modelCDMApplication::modelCDMApplication(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level)
+{
+  std::cout << "creating application: " + path + "\n";
+  this->parent = parent;
+  this->mainFile = NULL;
+  //folder name
+  this->name = name;
+  //path
+  this->path = CDMUtilities::fixPath(path);
+  //type
+  this->type = wxDIR_DIRS;
+  //level
+  this->level = level;
+  //open CMakeList
+  std::string pathMakeLists = path + CDMUtilities::SLASH + "CMakeLists.txt";
+
+  std::ifstream confFile;
+  confFile.open((pathMakeLists).c_str());
+
+  std::string word;
+  while(confFile.is_open() && !confFile.eof())
+    {
+      //get sets
+      std::getline(confFile,word,'(');
+      std::vector<std::string> wordBits;
+      CDMUtilities::splitter::split(wordBits,word," (\n",CDMUtilities::splitter::no_empties);
+
+      if(wordBits[wordBits.size()-1] == "SET")
+        {
+          //get library name
+          std::getline(confFile,word,')');
+          CDMUtilities::splitter::split(wordBits, word, " ", CDMUtilities::splitter::no_empties);
+          if(wordBits[0] == "EXE_NAME")
+            {
+              word = wordBits[1];
+              for (int i = 2; i < (int)(wordBits.size()); i++)
+                {
+                  word += " " + wordBits[i];
+                }
+
+              this->executableName = word;
+            }
+        }
+    }
+  confFile.close();
+
+  //add library contents
+
+  this->children.clear();
+  wxDir dir(crea::std2wx((this->path).c_str()));
+  if (dir.IsOpened())
+    {
+      wxString fileName;
+      //folders
+      bool cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_DIRS);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+
+          modelCDMFolder* folder = new modelCDMFolder(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+          this->folders.push_back(folder);
+          this->children.push_back(folder);
+
+          cont = dir.GetNext(&fileName);
+        }
+      //files
+      cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_FILES);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::size_t fileTypePos = stdfileName.find_last_of(".");
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
+
+          //if CMakeLists, create CMakeLists
+          if(stdfileName == "CMakeLists.txt")
+            {
+              this->CMakeLists = new modelCDMCMakeListsFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(this->CMakeLists);
+            }
+          else
+            {
+              //if is a code file, create modelCDMCodeFile and check for main file
+              if(
+                fileType == ".c" ||
+                fileType == ".cxx" ||
+                fileType == ".h" ||
+                fileType == ".cpp" ||
+                fileType == ".txx" ||
+                fileType == ".cmake" )
+                {
+                  modelCDMCodeFile* file = new modelCDMCodeFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+
+                  if (mainFile == NULL && (fileType == ".cxx" || fileType == ".cpp"))
+                    {
+                      std::ifstream fileStream((this->path + CDMUtilities::SLASH + stdfileName).c_str());
+
+                      if (fileStream.is_open())
+                        {
+                          std::string fileContent = "";
+                          char ch = fileStream.get();
+                          while(!fileStream.eof())
+                            {
+                              fileContent.push_back(ch);
+                              ch = fileStream.get();
+                            }
+                          fileStream.close();
+
+                          boost::regex expression("^\\h*IMPLEMENT_APP[#\\s\\(]");
+                          std::string::const_iterator start, end;
+                          start = fileContent.begin();
+                          end = fileContent.end();
+                          boost::match_results<std::string::const_iterator> what;
+                          boost::match_flag_type flags = boost::match_default;
+                          if(boost::regex_search(start, end, what, expression, flags))
+                            {
+                              std::cout << "found main wxwidgets file: " << stdfileName << std::endl;
+                              this->mainFile = file;
+                            }
+                          else
+                            {
+                              expression = boost::regex("^\\h*int\\h+main[#\\s\\(]");
+                              start = fileContent.begin();
+                              end = fileContent.end();
+                              if(boost::regex_search(start, end, what, expression, flags))
+                                {
+                                  std::cout << "found main console file: " << stdfileName << std::endl;
+                                  this->mainFile = file;
+                                }
+                            }
+                        }
+                    }
+                  this->children.push_back(file);
+                }
+              //if is an unknown file, create file
+              else
+                {
+                  modelCDMFile* file = new modelCDMFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  this->children.push_back(file);
+                }
+
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+    }
+  this->SortChildren();
+  std::sort(this->folders.begin(), this->folders.end(), CompareNodeItem);
+}
+
+modelCDMApplication::~modelCDMApplication()
+{
+}
+
+const std::string& modelCDMApplication::GetExecutableName() const
+{
+  return this->executableName;
+}
+
+modelCDMFile* modelCDMApplication::GetMainFile() const
+{
+  return this->mainFile;
+}
+
+bool modelCDMApplication::SetExecutableName(const std::string& fileName, std::string*& result)
+{
+  std::vector<std::string> words;
+  CDMUtilities::splitter::split(words, fileName, ", /\\\"", CDMUtilities::splitter::no_empties);
+  std::string fileNameReal = words[0];
+  for (int i = 1; i < (int)(words.size()); i++)
+    {
+      fileNameReal += "-" + words[i];
+    }
+
+  std::string line;
+  //opening original cmakelists
+  std::ifstream in((this->path + CDMUtilities::SLASH + "CMakeLists.txt").c_str());
+  if( !in.is_open())
+    {
+      result = new std::string("CMakeLists.txt file failed to open.");
+      return false;
+    }
+  //opening temporal cmakelists
+  std::ofstream out((this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp").c_str());
+  if( !out.is_open())
+    {
+      result = new std::string("CMakeLists.txt.tmp file failed to open.");
+      return false;
+    }
+  //copying contents from original to temporal and making changes
+  while (getline(in, line))
+    {
+      if(line.find("SET ( EXE_NAME") != std::string::npos)
+        line = "SET ( EXE_NAME  " + fileNameReal + "  )";
+      out << line << std::endl;
+    }
+  in.close();
+  out.close();
+  //delete old file and rename new file
+#ifdef _WIN32
+  std::string renameCommand = "move /Y \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#else
+  std::string renameCommand = "mv \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#endif
+  
+  if(system(renameCommand.c_str()))
+    {
+      result = new std::string("An error occurred while running '" + renameCommand + "'.");
+      return false;
+    }
+
+  this->executableName = fileNameReal;
+  return true;
+}
+
+modelCDMFolder* modelCDMApplication::CreateFolder(const std::string& name, std::string*& result)
+{
+  //TODO:: mkdir depending on OS
+  std::string command = "mkdir " + path + CDMUtilities::SLASH + name;
+  if(system(command.c_str()))
+    {
+      result = new std::string("Error executing: " + command + ".");
+      return NULL;
+    }
+  modelCDMFolder* folder = new modelCDMFolder(this, path + CDMUtilities::SLASH + name, name, level + 1);
+  this->folders.push_back(folder);
+  this->children.push_back(folder);
+
+  return folder;
+}
+
+const bool modelCDMApplication::Refresh(std::string*& result)
+{
+  this->mainFile = NULL;
+  std::cout << "refreshing application: " << this->executableName << std::endl;
+  //set attributes
+  this->type = wxDIR_DIRS;
+
+  //open CMakeList
+  std::string pathMakeLists = path + CDMUtilities::SLASH + "CMakeLists.txt";
+
+  std::ifstream confFile;
+  confFile.open((pathMakeLists).c_str());
+
+  std::string word;
+  while(confFile.is_open() && !confFile.eof())
+    {
+      //get sets
+      std::getline(confFile,word,'(');
+      std::vector<std::string> wordBits;
+      CDMUtilities::splitter::split(wordBits,word," (\n",CDMUtilities::splitter::no_empties);
+
+      if(wordBits[wordBits.size()-1] == "SET")
+        {
+          //get app name
+          std::getline(confFile,word,')');
+          CDMUtilities::splitter::split(wordBits, word, " ", CDMUtilities::splitter::no_empties);
+          if(wordBits[0] == "EXE_NAME")
+            {
+              word = wordBits[1];
+              for (int i = 2; i < (int)(wordBits.size()); i++)
+                {
+                  word += " " + wordBits[i];
+                }
+
+              this->executableName = word;
+            }
+        }
+    }
+
+  confFile.close();
+
+  //check children
+  std::vector<bool> checked(this->children.size(), false);
+  std::vector<bool> checkedFolders(this->folders.size(), false);
+
+  //check all folders
+  wxDir dir(crea::std2wx((this->path).c_str()));
+  if (dir.IsOpened())
+    {
+      wxString fileName;
+      bool cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_DIRS);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::string applicationName = stdfileName;
+          //check if they already exist
+          bool found = false;
+          for (int i = 0; !found && i < (int)(this->folders.size()); i++)
+            {
+              if (this->folders[i]->GetName() == applicationName)
+                {
+                  found = true;
+                  int pos = std::find(this->children.begin(), this->children.end(), this->folders[i]) - this->children.begin();
+                  checked[pos] = true;
+                  checkedFolders[i] = true;
+                  if(!this->folders[i]->Refresh(result))
+                    return false;
+                }
+            }
+          if(!found)
+            {
+              modelCDMFolder* folder = new modelCDMFolder(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->folders.push_back(folder);
+              this->children.push_back(folder);
+            }
+          cont = dir.GetNext(&fileName);
+        }
+
+      cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_FILES);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::size_t fileTypePos = stdfileName.find_last_of(".");
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
+
+          //if CMakeLists, create CMakeLists
+          if(stdfileName == "CMakeLists.txt")
+            {
+              if (this->CMakeLists == NULL)
+                {
+                  this->CMakeLists = new modelCDMCMakeListsFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  this->children.push_back(this->CMakeLists);
+                }
+              else
+                {
+                  int pos = std::find(this->children.begin(), this->children.end(), this->CMakeLists) - this->children.begin();
+                  checked[pos] = true;
+                  if(!this->CMakeLists->Refresh(result))
+                    return false;
+                }
+            }
+          // if is a code file, create modelCDMCodeFile
+          // if is an unknown file, create file
+          else
+            {
+              bool found = false;
+              for (int i = 0; !found && i < (int)(this->children.size()); i++)
+                {
+                  if (this->children[i]->GetName() == stdfileName)
+                    {
+                      found = true;
+                      checked[i] = true;
+
+                      if(!this->children[i]->Refresh(result))
+                        return false;
+
+                      std::string extension = stdfileName.substr(stdfileName.size()-4);
+                      if (mainFile == NULL && (extension == ".cxx" || extension == ".cpp"))
+                        {
+                          std::ifstream fileStream;
+                          std::string word;
+                          fileStream.open((this->path + CDMUtilities::SLASH + stdfileName).c_str());
+                          while (fileStream.is_open() && !fileStream.eof())
+                            {
+                              //get sets
+                              std::getline(fileStream,word,'(');
+                              std::vector<std::string> wordBits;
+                              CDMUtilities::splitter::split(wordBits,word," \n",CDMUtilities::splitter::no_empties);
+                              if (wordBits[wordBits.size() - 1] == "main" || wordBits[wordBits.size() - 1] == "IMPLEMENT_APP")
+                                {
+                                  this->mainFile = dynamic_cast<modelCDMCodeFile*>(children[i]);
+                                }
+                            }
+                          fileStream.close();
+                        }
+                    }
+                }
+
+              if(!found)
+                {
+                  if (fileType == ".c" ||
+                    fileType == ".cxx" ||
+                    fileType == ".h" ||
+                    fileType == ".cpp" ||
+                    fileType == ".txx" ||
+                    fileType == ".cmake" )
+                    {
+                      modelCDMCodeFile* file = new modelCDMCodeFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+
+                      if(mainFile == NULL && (fileType == ".cxx" || fileType == ".cpp"))
+                        {
+                          std::ifstream fileStream;
+                          std::string word;
+                          fileStream.open((this->path + CDMUtilities::SLASH + stdfileName).c_str());
+                          while (fileStream.is_open() && !fileStream.eof())
+                            {
+                              //get sets
+                              std::getline(fileStream,word,'(');
+                              std::vector<std::string> wordBits;
+                              CDMUtilities::splitter::split(wordBits,word," \n",CDMUtilities::splitter::no_empties);
+                              if (wordBits[wordBits.size() - 1] == "main" || wordBits[wordBits.size() - 1] == "IMPLEMENT_APP")
+                                {
+                                  this->mainFile = file;
+                                }
+                            }
+                          fileStream.close();
+                        }
+                      this->children.push_back(file);
+                    }
+                  else
+                    {
+                      modelCDMFile* file = new modelCDMFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                      this->children.push_back(file);
+                    }
+                }
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+    }
+
+  for (int i = 0; i < (int)(checkedFolders.size()); i++)
+    {
+      if(!checkedFolders[i])
+        {
+          this->folders.erase(this->folders.begin()+i);
+          checkedFolders.erase(checkedFolders.begin()+i);
+          i--;
+        }
+    }
+  for (int i = 0; i < (int)(checked.size()); i++)
+    {
+      if(!checked[i])
+        {
+          delete this->children[i];
+          this->children.erase(this->children.begin()+i);
+          checked.erase(checked.begin()+i);
+          i--;
+        }
+    }
+  this->SortChildren();
+  return true;
+}
+
+void modelCDMApplication::CheckStructure(std::map<std::string, bool>& properties)
+{
+  //check cmake exist
+  if(this->CMakeLists != NULL)
+    {
+      //set default properties
+      properties["application " + this->name + " lib ${crea_LIBRARIES}"] = false;
+      properties["application " + this->name + " lib ${WXWIDGETS_LIBRARIES}"] = false;
+      properties["application " + this->name + " lib ${KWWidgets_LIBRARIES}"] = false;
+      properties["application " + this->name + " lib ${VTK_LIBRARIES}"] = false;
+      properties["application " + this->name + " lib ${ITK_LIBRARIES}"] = false;
+      properties["application " + this->name + " lib ${GDCM_LIBRARIES}"] = false;
+      properties["application " + this->name + " lib ${BOOST_LIBRARIES}"] = false;
+
+      //open cmakelists
+      std::ifstream confFile;
+      confFile.open((this->CMakeLists->GetPath()).c_str());
+
+      //take everything that is not commented
+      std::string fileContent;
+
+      std::string word;
+      std::vector<std::string> words;
+      while(confFile.is_open() && !confFile.eof())
+        {
+          std::getline(confFile,word, '\n');
+          if(word[0] != '#')
+            {
+              CDMUtilities::splitter::split(words, word, "#", CDMUtilities::splitter::empties_ok);
+              if (words.size() > 0)
+                {
+                  word = words[0];
+                  CDMUtilities::splitter::split(words, word, " ", CDMUtilities::splitter::empties_ok);
+                  for (int i = 0; i < (int)(words.size()); i++)
+                    {
+                      if(words[i].substr(0,2) == "//")
+                        break;
+                      fileContent += words[i] + " ";
+                    }
+                }
+            }
+        }
+
+      //check every instruction
+      std::stringstream ss(fileContent);
+      while(!ss.eof())
+        {
+          std::getline(ss,word, '(');
+
+          //check instruction name
+          CDMUtilities::splitter::split(words, word, " ", CDMUtilities::splitter::no_empties);
+
+          //set instructions
+          if (words.size() > 0 && words[words.size()-1] == "SET")
+            {
+              std::getline(ss,word, ')');
+
+              CDMUtilities::splitter::split(words, word, " \t", CDMUtilities::splitter::no_empties);
+              if (words.size() > 1)
+                {
+                  if (words[0] == "${EXE_NAME}_LINK_LIBRARIES")
+                    {
+                      for (int i = 1; i < (int)(words.size()); i++)
+                        {
+                          properties["application " + this->name + " lib " + words[i]] = true;
+                        }
+                    }
+                }
+            }
+          else if (words.size() > 0 && words[words.size()-1] == "INCLUDE_DIRECTORIES")
+            {
+              std::getline(ss,word, ')');
+
+              CDMUtilities::splitter::split(words, word, " \t", CDMUtilities::splitter::no_empties);
+
+              for (int i = 0; i < (int)(words.size()); i++)
+                {
+                  properties["application " + this->name + " dir " + words[i]] = true;
+                }
+
+
+            }
+        }
+
+    }
+}
+
+std::map<std::string, bool> modelCDMApplication::Get3rdPartyLibraries()
+{
+  std::map<std::string, std::string> correspondence;
+  correspondence["${crea_LIBRARIES}"] = "Crea";
+  correspondence["${WXWIDGETS_LIBRARIES}"] = "WxWidgets";
+  correspondence["${KWWidgets_LIBRARIES}"] = "KWWidgets";
+  correspondence["${VTK_LIBRARIES}"] = "VTK";
+  correspondence["${ITK_LIBRARIES}"] = "ITK";
+  correspondence["${GDCM_LIBRARIES}"] = "GDCM";
+  correspondence["${BOOST_LIBRARIES}"] = "Boost";
+  std::map<std::string, bool> res;
+  res["Crea"] = false;
+  res["WxWidgets"] = false;
+  res["KWWidgets"] = false;
+  res["VTK"] = false;
+  res["ITK"] = false;
+  res["GDCM"] = false;
+  res["Boost"] = false;
+
+  if (this->HasCMakeLists())
+    {
+
+      std::string CMfile = CDMUtilities::readFile(this->CMakeLists->GetPath().c_str());
+
+      boost::regex expression("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{EXE_NAME\\}_LINK_LIBRARIES(([\\s]|#[^\\n]*\\n)+([\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"))*([\\s]|#[^\\n]*\\n)*\\)");
+      std::string::const_iterator start, end;
+      start = CMfile.begin();
+      end = CMfile.end();
+      boost::match_results<std::string::const_iterator> what;
+      boost::match_flag_type flags = boost::match_default;
+      if(boost::regex_search(start, end, what, expression, flags))
+        {
+
+          expression = boost::regex("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{EXE_NAME\\}_LINK_LIBRARIES");
+          std::string::const_iterator start1, end1;
+          start1 = what[0].first;
+          end1 = what[0].second;
+          boost::match_results<std::string::const_iterator> what1;
+          if(boost::regex_search(start1, end1, what1, expression, flags))
+            {
+              expression = boost::regex("(#[^\\n]*\\n|\\s*\\$\\{\\w+\\})");
+              std::string::const_iterator start2, end2;
+              start2 = what1[0].second;
+              end2 = what[0].second;
+              boost::match_results<std::string::const_iterator> what2;
+              while(boost::regex_search(start2, end2, what2, expression, flags))
+                {
+                  if(what2.str()[0] != '#')
+                    {
+                      std::string dete = what2.str();
+                      CDMUtilities::normalizeStr(dete);
+                      if(correspondence.find(dete) != correspondence.end())
+                        res[correspondence[dete]] = true;
+                    }
+                  start2 = what2[0].second;
+                }
+            }
+        }
+    }
+  return res;
+}
+
+bool modelCDMApplication::Set3rdPartyLibrary(const std::string& library_name, const bool& toInclude)
+{
+  std::map<std::string, std::string> correspondence;
+
+  correspondence["Crea"] = "${crea_LIBRARIES}";
+  correspondence["WxWidgets"] = "${WXWIDGETS_LIBRARIES}";
+  correspondence["KWWidgets"] = "${KWWidgets_LIBRARIES}";
+  correspondence["VTK"] = "${VTK_LIBRARIES}";
+  correspondence["ITK"] = "${ITK_LIBRARIES}";
+  correspondence["GDCM"] = "${GDCM_LIBRARIES}";
+  correspondence["Boost"] = "${BOOST_LIBRARIES}";
+
+  std::map<std::string, std::string> regexCorrespondence;
+
+  regexCorrespondence["Crea"] = "\\$\\{crea_LIBRARIES\\}";
+  regexCorrespondence["WxWidgets"] = "\\$\\{WXWIDGETS_LIBRARIES\\}";
+  regexCorrespondence["KWWidgets"] = "\\$\\{KWWidgets_LIBRARIES\\}";
+  regexCorrespondence["VTK"] = "\\$\\{VTK_LIBRARIES\\}";
+  regexCorrespondence["ITK"] = "\\$\\{ITK_LIBRARIES\\}";
+  regexCorrespondence["GDCM"] = "\\$\\{GDCM_LIBRARIES\\}";
+  regexCorrespondence["Boost"] = "\\$\\{BOOST_LIBRARIES\\}";
+
+  if (correspondence.find(library_name) != correspondence.end())
+    {
+      std::string library_command = correspondence[library_name];
+      std::string regex_command = regexCorrespondence[library_name];
+      if (this->HasCMakeLists())
+        {
+          std::string CMfile = CDMUtilities::readFile(this->CMakeLists->GetPath().c_str());
+          std::string resCMfile = "";
+
+          boost::regex expression("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{EXE_NAME\\}_LINK_LIBRARIES(([\\s]|#[^\\n]*\\n)+([\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"))*([\\s]|#[^\\n]*\\n)*\\)");
+          std::string::const_iterator start, end;
+          start = CMfile.begin();
+          end = CMfile.end();
+          boost::match_results<std::string::const_iterator> what;
+          boost::match_flag_type flags = boost::match_default;
+          if(boost::regex_search(start, end, what, expression, flags))
+            {
+              resCMfile += what.prefix().str();
+              bool found = false;
+              if (toInclude) {
+                expression = "^\\h*#+\\h*" + regex_command;
+                std::string::const_iterator start1, end1;
+                start1 = what[0].first;
+                end1 = what[0].second;
+                boost::match_results<std::string::const_iterator> what1, what2;
+                while(boost::regex_search(start1, end1, what1, expression, flags))
+                  {
+                    found = true;
+                    resCMfile += what1.prefix().str();
+                    std::string dete = what1[0].str();
+                    for (int i = 0; i < dete.size(); ++i) {
+                      if (dete[i] != '#')
+                        resCMfile.push_back(dete[i]);
+                    }
+                    what2 = what1;
+                    start1 = what1[0].second;
+                  }
+                if (found)
+                  resCMfile += what2.suffix().str();
+                else
+                  {
+                    expression = "^\\h*" + regex_command;
+                    if(boost::regex_search(start1, end1, what1, expression, flags))
+                      found = true;
+
+                    expression = "^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{EXE_NAME\\}_LINK_LIBRARIES";
+                    boost::regex_search(start1, end1, what1, expression, flags);
+
+                    resCMfile += what1.prefix().str() + what1.str();
+                    if(!found)
+                      resCMfile += "\n" + library_command + "\n";
+                    resCMfile += what1.suffix().str();
+                  }
+
+              }else{
+                expression = "^\\h*" + regex_command;
+                std::string::const_iterator start1, end1;
+                start1 = what[0].first;
+                end1 = what[0].second;
+                boost::match_results<std::string::const_iterator> what1, what2;
+                while(boost::regex_search(start1, end1, what1, expression, flags))
+                  {
+                    found = true;
+                    resCMfile += what1.prefix().str();
+                    resCMfile += "#" + what1.str();
+                    what2 = what1;
+                    start1 = what1[0].second;
+                  }
+                if (found)
+                  resCMfile += what2.suffix().str();
+                else
+                  {
+                    expression = "^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{EXE_NAME\\}_LINK_LIBRARIES";
+                    boost::regex_search(start1, end1, what1, expression, flags);
+
+                    resCMfile += what1.prefix().str() + what1.str() + what1.suffix().str();
+                  }
+              }
+              resCMfile += what.suffix().str();
+
+              return CDMUtilities::writeFile(this->CMakeLists->GetPath().c_str(), resCMfile);
+            }
+        }
+    }
+  return false;
+
+}
+
+std::map<std::string, bool> modelCDMApplication::GetCustomLibraries()
+{
+  std::map<std::string, bool> res;
+  std::map<std::string, bool> res1;
+
+  std::map<std::string, std::string> correspondence;
+  std::vector<modelCDMLibrary*> libraries;
+  if(this->GetParent() != NULL && this->GetParent()->GetParent() != NULL)
+    if(dynamic_cast<modelCDMProject*>(this->GetParent()->GetParent()) != NULL && dynamic_cast<modelCDMProject*>(this->GetParent()->GetParent())->GetLib() != NULL)
+      libraries = (dynamic_cast<modelCDMProject*>(this->GetParent()->GetParent()))->GetLib()->GetLibraries();
+  for (int i = 0; i < libraries.size(); ++i)
+    {
+      correspondence[libraries[i]->GetName()] = libraries[i]->GetNameLibrary();
+      res[libraries[i]->GetNameLibrary()] = false;
+      res1[libraries[i]->GetNameLibrary()] = false;
+    }
+
+  if (this->HasCMakeLists())
+    {
+      std::string CMfile = CDMUtilities::readFile(this->CMakeLists->GetPath().c_str());
+
+      //find included libraries
+      boost::regex expression("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{EXE_NAME\\}_LINK_LIBRARIES(([\\s]|#[^\\n]*\\n)+([\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"))*([\\s]|#[^\\n]*\\n)*\\)");
+      std::string::const_iterator start, end;
+      start = CMfile.begin();
+      end = CMfile.end();
+      boost::match_results<std::string::const_iterator> what;
+      boost::match_flag_type flags = boost::match_default;
+      if(boost::regex_search(start, end, what, expression, flags))
+        {
+
+          expression = boost::regex("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{EXE_NAME\\}_LINK_LIBRARIES");
+          std::string::const_iterator start1, end1;
+          start1 = what[0].first;
+          end1 = what[0].second;
+          boost::match_results<std::string::const_iterator> what1;
+          if(boost::regex_search(start1, end1, what1, expression, flags))
+            {
+              expression = boost::regex("^\\h*[\\w\\d]+");
+              std::string::const_iterator start2, end2;
+              start2 = what1[0].second;
+              end2 = what[0].second;
+              boost::match_results<std::string::const_iterator> what2;
+              while(boost::regex_search(start2, end2, what2, expression, flags))
+                {
+                  std::string dete = what2.str();
+                  CDMUtilities::normalizeStr(dete);
+                  //std::cout << "detectado lib: " << dete << std::endl;
+                  if(res1.find(dete) != res1.end())
+                    res1[dete] = true;
+
+                  start2 = what2[0].second;
+                }
+            }
+        }
+
+      //find included folders
+      //std::cout << "searching..." << std::endl;
+      expression = boost::regex("^\\h*INCLUDE_DIRECTORIES([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*([\\./\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\")(([\\s]|#[^\\n]*\\n)+([\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"))*([\\s]|#[^\\n]*\\n)*\\)");
+      start = CMfile.begin();
+      end = CMfile.end();
+      if(boost::regex_search(start, end, what, expression, flags))
+        {
+          //std::cout << what.str() << std::endl;
+          expression = boost::regex("^\\h*INCLUDE_DIRECTORIES([\\s]|#[^\\n]*\\n)*\\(");
+          std::string::const_iterator start1, end1;
+          start1 = what[0].first;
+          end1 = what[0].second;
+          boost::match_results<std::string::const_iterator> what1;
+          if(boost::regex_search(start1, end1, what1, expression, flags))
+            {
+              //std::cout << what1.str() << std::endl;
+              expression = boost::regex("^\\h*\\.\\.\\/\\.\\.\\/lib\\/([\\w\\d])+");
+              std::string::const_iterator start2, end2;
+              start2 = what1[0].second;
+              end2 = what[0].second;
+              boost::match_results<std::string::const_iterator> what2;
+              while(boost::regex_search(start2, end2, what2, expression, flags))
+                {
+                  std::string dete = what2.str();
+                  CDMUtilities::normalizeStr(dete);
+                  //std::cout << "detectado dir: " << dete.substr(10) << std::endl;
+                  if(correspondence.find(dete.substr(10)) != correspondence.end())
+                    res[correspondence[dete.substr(10)]] = res1[correspondence[dete.substr(10)]];
+
+                  start2 = what2[0].second;
+                }
+            }
+        }
+    }
+
+  return res;
+}
+
+bool modelCDMApplication::SetCustomLibrary(const std::string& library_name, const bool& toInclude)
+{
+  std::map<std::string, std::string> correspondence;
+
+  std::vector<modelCDMLibrary*> libraries;
+  modelCDMIProjectTreeNode* p = this;
+  while(p != NULL && dynamic_cast<modelCDMProject*>(p) == NULL)
+    p = p->GetParent();
+
+  if(p != NULL && dynamic_cast<modelCDMProject*>(p)->GetLib() != NULL)
+    libraries = dynamic_cast<modelCDMProject*>(p)->GetLib()->GetLibraries();
+
+  for (int i = 0; i < libraries.size(); ++i)
+    {
+      correspondence[libraries[i]->GetNameLibrary()] = libraries[i]->GetName();
+    }
+
+  if (correspondence.find(library_name) != correspondence.end())
+    {
+      if (this->HasCMakeLists())
+        {
+          std::string resCMfile = "";
+          std::string CMfile = CDMUtilities::readFile(this->CMakeLists->GetPath().c_str());
+          bool found = false;
+
+          //find included libraries
+          //std::cout << "searching..." << CMfile << std::endl;
+          boost::regex expression("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{EXE_NAME\\}_LINK_LIBRARIES(([\\s]|#[^\\n]*\\n)+([\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"))*([\\s]|#[^\\n]*\\n)*\\)");
+          std::string::const_iterator start, end;
+          start = CMfile.begin();
+          end = CMfile.end();
+          boost::match_results<std::string::const_iterator> what;
+          boost::match_flag_type flags = boost::match_default;
+          if(boost::regex_search(start, end, what, expression, flags))
+            {
+              //std::cout << what.str() << std::endl;
+              resCMfile += what.prefix().str();
+              expression = boost::regex("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{EXE_NAME\\}_LINK_LIBRARIES");
+              std::string::const_iterator start1, end1;
+              start1 = what[0].first;
+              end1 = what[0].second;
+              boost::match_results<std::string::const_iterator> what1;
+              if(boost::regex_search(start1, end1, what1, expression, flags))
+                {
+                  resCMfile += what1.prefix().str() + what1.str();
+                  //check if already exists
+                  expression = boost::regex("^\\h*"+library_name);
+                  std::string::const_iterator start2, end2;
+                  start2 = what1[0].second;
+                  end2 = what[0].second;
+                  boost::match_results<std::string::const_iterator> what2, temp2;
+                  while(boost::regex_search(start2, end2, what2, expression, flags))
+                    {
+                      resCMfile += what2.prefix().str();
+                      found = true;
+                      if (!toInclude)
+                        {
+                          resCMfile += "#";
+                        }
+                      resCMfile += what2.str();
+                      temp2 = what2;
+                      start2 = what2[0].second;
+                    }
+                  if(found)
+                    resCMfile += temp2.suffix().str();
+                  //check if is commented
+                  else
+                    {
+                      expression = boost::regex("^\\h*#+\\h*"+library_name);
+                      start2 = what1[0].second;
+                      end2 = what[0].second;
+                      while(boost::regex_search(start2, end2, what2, expression, flags))
+                        {
+                          found = true;
+                          resCMfile += what2.prefix().str();
+                          if(toInclude)
+                            {
+                              std::string dete = what2[0].str();
+                              for (int i = 0; i < dete.size(); ++i) {
+                                if (dete[i] != '#')
+                                  resCMfile.push_back(dete[i]);
+                              }
+                            }
+                          temp2 = what2;
+                          start2 = what2[0].second;
+                        }
+                      if(found)
+                        resCMfile += temp2.suffix().str();
+                      //add at the beggining of instruction
+                      else
+                        {
+                          if(toInclude)
+                            resCMfile += "\n" + library_name;
+                          resCMfile += what1.suffix().str();
+                        }
+                    }
+                }
+              resCMfile += what.suffix().str();
+            }
+          else
+            return false;
+
+          //find included folders
+          CMfile = resCMfile;
+          resCMfile = "";
+
+
+          found = false;
+          //std::cout << "searching..." << CMfile << std::endl;
+          expression = boost::regex("^\\h*INCLUDE_DIRECTORIES([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*([\\.\\/\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"){0,1}?(([\\s]|#[^\\n]*\\n)+([\\.\\/\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"))*([\\s]|#[^\\n]*\\n)*\\)");
+          start = CMfile.begin();
+          end = CMfile.end();
+          if(boost::regex_search(start, end, what, expression, flags))
+            {
+              resCMfile += what.prefix().str();
+              //std::cout << what.str() << std::endl;
+              expression = boost::regex("^\\h*INCLUDE_DIRECTORIES([\\s]|#[^\\n]*\\n)*\\(");
+              std::string::const_iterator start1, end1;
+              start1 = what[0].first;
+              end1 = what[0].second;
+              boost::match_results<std::string::const_iterator> what1;
+              if(boost::regex_search(start1, end1, what1, expression, flags))
+                {
+                  resCMfile += what1.prefix().str() + what1.str();
+                  //std::cout << what1.str() << std::endl;
+                  //search if dir is already included
+                  expression = boost::regex("^\\h*\\.\\.\\/\\.\\.\\/lib\\/"+correspondence[library_name]);
+                  std::string::const_iterator start2, end2;
+                  start2 = what1[0].second;
+                  end2 = what[0].second;
+                  boost::match_results<std::string::const_iterator> what2, temp2;
+                  while(boost::regex_search(start2, end2, what2, expression, flags))
+                    {
+                      found = true;
+                      resCMfile += what2.prefix().str();
+                      if(!toInclude)
+                        resCMfile += "#";
+                      resCMfile += what2.str();
+                      temp2 = what2;
+                      start2 = what2[0].second;
+                    }
+                  if(found)
+                    resCMfile += temp2.suffix().str();
+                  //search if dir is commented
+                  else
+                    {
+                      expression = boost::regex("^\\h*#+\\h*\\.\\.\\/\\.\\.\\/lib\\/"+correspondence[library_name]);
+                      start2 = what1[0].second;
+                      end2 = what[0].second;
+                      while(boost::regex_search(start2, end2, what2, expression, flags))
+                        {
+                          found = true;
+                          resCMfile += what2.prefix().str();
+                          if(toInclude)
+                            {
+                              std::string dete = what2[0].str();
+                              for (int i = 0; i < dete.size(); ++i) {
+                                if (dete[i] != '#')
+                                  resCMfile.push_back(dete[i]);
+                              }
+                            }
+                          temp2 = what2;
+                          start2 = what2[0].second;
+                        }
+                      if(found)
+                        resCMfile += temp2.suffix().str();
+                      //add at the beggining of instruction
+                      else
+                        {
+                          if(toInclude)
+                            resCMfile += "\n../../lib/" + correspondence[library_name];
+                          resCMfile += what1.suffix().str();
+                        }
+                    }
+                }
+              resCMfile += what.suffix().str();
+            }
+          else
+            return false;
+
+          return CDMUtilities::writeFile(this->CMakeLists->GetPath().c_str(), resCMfile);
+        }
+    }
+
+  return false;
+}
diff --git a/lib/creaDevManagerLib/modelCDMApplication.h b/lib/creaDevManagerLib/modelCDMApplication.h
new file mode 100644
index 0000000..9693066
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMApplication.h
@@ -0,0 +1,148 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMApplication.h
+ *
+ *  Created on: Nov 23, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef MODELCDMAPPLICATION_H_
+#define MODELCDMAPPLICATION_H_
+
+#include<iostream>
+#include<vector>
+#include<map>
+
+#include "modelCDMFolder.h"
+#include "modelCDMFile.h"
+#include "modelCDMCodeFile.h"
+
+/**
+ * Class representing an application in a Crea project. An Application is an stand alone application that uses the project libraries to show their functionalities.
+ */
+class modelCDMApplication : public modelCDMFolder
+{
+public:
+  /**
+   * Default Constructor.
+   */
+  modelCDMApplication();
+  /**
+   * Application Constructor
+   * @param parent Parent node of the application node.
+   * @param path Full path of the application node.
+   * @param name Name of the applcation folder node.
+   * @param level Level of the application node folder in the project.
+   */
+  modelCDMApplication(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level = 2);
+  /**
+   * Destructor.
+   */
+  ~modelCDMApplication();
+
+  /**
+   * Returns the executable name of the application node
+   * @return
+   */
+  const std::string& GetExecutableName() const;
+  /**
+   * Returns the main source file of the application node. That is, the file that contains the main method.
+   * @return File reference to main file.
+   */
+  modelCDMFile* GetMainFile() const;
+
+  /**
+   * Sets the executable name for the application.
+   * @param fileName Name of the application executable.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  bool SetExecutableName(const std::string& fileName, std::string*& result);
+
+  /**
+   * Creates a folder in the application folder node. This takes effect in the system as well as in the project model.
+   * @param name Name of the new folder.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  modelCDMFolder* CreateFolder(const std::string& name, std::string*& result);
+
+  /**
+   * Refreshes the structure of the application. Removes folders and files deleted since the last refresh. Also, adds folders and files created since the las refresh.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  virtual const bool Refresh(std::string*& result);
+
+  /**
+   * Checks the CMakeLists file and the application structure to identify registration errors before compiling the project.
+   * @param properties Properties found in the structure.
+   */
+  void CheckStructure(std::map<std::string, bool>& properties);
+
+  /**
+   * Checks the application's CMakeLists file to check which third party libraries are enabled.
+   * @return A map with the name of the library and if it's included in the CMakeLists file.
+   */
+  std::map<std::string, bool> Get3rdPartyLibraries();
+
+  /**
+   * Sets the 3rd party library inclusion in the application's CMakeLists file.
+   * @return if the operation was successful.
+   */
+  bool Set3rdPartyLibrary(const std::string& library_name, const bool& toInclude);
+
+  /**
+   * Checks the application's CMakeLists file to check which custom libraries are enabled.
+   * @return A map with the name of the library and if it's included in the CMakeLists file.
+   */
+  std::map<std::string, bool> GetCustomLibraries();
+
+  /**
+   * Sets the custom library inclusion in the application's CMakeLists file.
+   * @return if the operation was successful.
+   */
+  bool SetCustomLibrary(const std::string& library_name, const bool& toInclude);
+
+private:
+  /**
+   * Name of the application executable file.
+   */
+  std::string executableName;
+  /**
+   * Reference to the main file of the application.
+   */
+  modelCDMFile* mainFile;
+  /**
+   * Reference array of the children folders of the application.
+   */
+  std::vector<modelCDMFolder*> folders;
+};
+
+#endif /* MODELCDMAPPLICATION_H_ */
diff --git a/lib/creaDevManagerLib/modelCDMBBGFile.cpp b/lib/creaDevManagerLib/modelCDMBBGFile.cpp
new file mode 100644
index 0000000..aaf1a88
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMBBGFile.cpp
@@ -0,0 +1,107 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMBBGFile.cpp
+ *
+ *  Created on: Jun 27, 2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "modelCDMBBGFile.h"
+
+#include <fstream>
+
+#include<creaWx.h>
+#include<wx/dir.h>
+
+#include "CDMUtilities.h"
+
+modelCDMBBGFile::modelCDMBBGFile()
+{
+}
+
+modelCDMBBGFile::modelCDMBBGFile(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level)
+{
+  std::cout << "creating bbg file: " + path + "\n";
+  this->parent = parent;
+  this->children.clear();
+  this->level = level;
+  this->type = wxDIR_FILES;
+  this->name = name;
+  this->path = path;
+
+  std::ifstream in(path.c_str(), std::ifstream::in | std::ifstream::binary);
+  in.seekg(0, std::ifstream::end);
+  this->length = in.tellg();
+  in.close();
+}
+
+modelCDMBBGFile::~modelCDMBBGFile()
+{
+}
+
+bool modelCDMBBGFile::OpenFile(std::string*& result)
+{
+
+  if (!CDMUtilities::openTextEditor(this->path))
+    return true;
+  else
+    {
+      result = new std::string("Couldn't open bbg file in text editor.");
+      return false;
+    }
+}
+
+bool modelCDMBBGFile::EditFile(
+    std::string*& result,
+    const std::string& parameters)
+{
+  if (!CDMUtilities::openFileWithCommand(this->path, "bbEditor", parameters))
+    return true;
+  else
+    {
+      result = new std::string("Couldn't open bbg file with bbEditor.");
+      return false;
+    }
+}
+
+const bool modelCDMBBGFile::Refresh(std::string*& result)
+{
+  //std::cout << "refreshing bbg file" << std::endl;
+  std::ifstream in((this->path).c_str());
+  if(!in.is_open())
+    {
+      in.close();
+      return false;
+    }
+  std::ifstream in2(path.c_str(), std::ifstream::in | std::ifstream::binary);
+  in2.seekg(0, std::ifstream::end);
+  this->length = in2.tellg();
+  in2.close();
+  return true;
+}
diff --git a/lib/creaDevManagerLib/modelCDMBBGFile.h b/lib/creaDevManagerLib/modelCDMBBGFile.h
new file mode 100644
index 0000000..45dd093
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMBBGFile.h
@@ -0,0 +1,86 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMBBGFile.h
+ *
+ *  Created on: Jun 27, 2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef MODELCDMBBGFILE_H_
+#define MODELCDMBBGFILE_H_
+
+#include "modelCDMFile.h"
+
+/**
+ * Class representing a bbg file in a folder of a Crea project.
+ */
+class modelCDMBBGFile : public modelCDMFile
+{
+public:
+  /**
+   * Default Constructor.
+   */
+  modelCDMBBGFile();
+  /**
+   * BBG file Constructor.
+   * @param parent Parent node of the BBG file node.
+   * @param path Full path to the BBG file node.
+   * @param name File name of the BBG file node.
+   * @param level Project hierarchy level of the BBG file node.
+   */
+  modelCDMBBGFile(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name = "CMakeLists.txt", const int& level = 1);
+  /**
+   * Destructor
+   */
+  ~modelCDMBBGFile();
+
+  /**
+   * Opens the file in the system default code editor.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  bool OpenFile(std::string*& result);
+
+  /**
+   * Opens the file using bbEditor.
+   * @param parameters Execution parameters.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  bool EditFile(std::string*& result, const std::string& parameters = "");
+
+  /**
+   * Refreshes the state of the BBG file.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  virtual const bool Refresh(std::string*& result);
+};
+
+#endif /* MODELCDMBBGFILE_H_ */
diff --git a/lib/creaDevManagerLib/modelCDMBBSFile.cpp b/lib/creaDevManagerLib/modelCDMBBSFile.cpp
new file mode 100644
index 0000000..19d39a9
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMBBSFile.cpp
@@ -0,0 +1,107 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMBBSFile.cpp
+ *
+ *  Created on: Jun 27, 2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "modelCDMBBSFile.h"
+
+#include <fstream>
+
+#include<creaWx.h>
+#include<wx/dir.h>
+
+#include "CDMUtilities.h"
+
+modelCDMBBSFile::modelCDMBBSFile()
+{
+}
+
+modelCDMBBSFile::modelCDMBBSFile(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level)
+{
+  std::cout << "creating bbs file: " + path + "\n";
+  this->parent = parent;
+  this->children.clear();
+  this->level = level;
+  this->type = wxDIR_FILES;
+  this->name = name;
+  this->path = path;
+
+  std::ifstream in(path.c_str(), std::ifstream::in | std::ifstream::binary);
+  in.seekg(0, std::ifstream::end);
+  this->length = in.tellg();
+  in.close();
+}
+
+modelCDMBBSFile::~modelCDMBBSFile()
+{
+}
+
+bool modelCDMBBSFile::OpenFile(std::string*& result)
+{
+
+  if (!CDMUtilities::openTextEditor(this->path))
+    return true;
+  else
+    {
+      result = new std::string("Couldn't open bbs file in text editor.");
+      return false;
+    }
+}
+
+bool modelCDMBBSFile::ExecuteFile(
+    std::string*& result,
+    const std::string& parameters)
+{
+  if (!CDMUtilities::openFileWithCommand(this->path, "bbi", parameters))
+    return true;
+  else
+    {
+      result = new std::string("Couldn't open bbs file with bbi.");
+      return false;
+    }
+}
+
+const bool modelCDMBBSFile::Refresh(std::string*& result)
+{
+  //std::cout << "refreshing bbs file" << std::endl;
+  std::ifstream in((this->path).c_str());
+  if(!in.is_open())
+    {
+      in.close();
+      return false;
+    }
+  std::ifstream in2(path.c_str(), std::ifstream::in | std::ifstream::binary);
+  in2.seekg(0, std::ifstream::end);
+  this->length = in2.tellg();
+  in2.close();
+  return true;
+}
diff --git a/lib/creaDevManagerLib/modelCDMBBSFile.h b/lib/creaDevManagerLib/modelCDMBBSFile.h
new file mode 100644
index 0000000..68e1497
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMBBSFile.h
@@ -0,0 +1,86 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMBBSFile.h
+ *
+ *  Created on: Jun 27, 2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef MODELCDMBBSFILE_H_
+#define MODELCDMBBSFILE_H_
+
+#include "modelCDMFile.h"
+
+/**
+ * Class representing a bbs file in a folder of a Crea project.
+ */
+class modelCDMBBSFile : public modelCDMFile
+{
+public:
+  /**
+   * Default Constructor.
+   */
+  modelCDMBBSFile();
+  /**
+   * BBS file Constructor.
+   * @param parent Parent node of the BBS file node.
+   * @param path Full path to the BBS file node.
+   * @param name File name of the BBS file node.
+   * @param level Project hierarchy level of the BBS file node.
+   */
+  modelCDMBBSFile(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name = "CMakeLists.txt", const int& level = 1);
+  /**
+   * Destructor
+   */
+  ~modelCDMBBSFile();
+
+  /**
+   * Opens the file in the system default code editor.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  bool OpenFile(std::string*& result);
+
+  /**
+   * Opens the file using bbi.
+   * @param parameters Execution parameters.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  bool ExecuteFile(std::string*& result, const std::string& parameters = "");
+
+  /**
+   * Refreshes the state of the BBS file.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  virtual const bool Refresh(std::string*& result);
+};
+
+#endif /* MODELCDMBBSFILE_H_ */
diff --git a/lib/creaDevManagerLib/modelCDMBlackBox.cpp b/lib/creaDevManagerLib/modelCDMBlackBox.cpp
new file mode 100644
index 0000000..73220cc
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMBlackBox.cpp
@@ -0,0 +1,397 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMBlackBox.cpp
+ *
+ *  Created on: Nov 23, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "modelCDMBlackBox.h"
+
+#include<fstream>
+
+#include "CDMUtilities.h"
+
+#include<creaWx.h>
+#include"wx/dir.h"
+
+modelCDMBlackBox::modelCDMBlackBox()
+{
+  this->source = NULL;
+  this->header = NULL;
+}
+
+modelCDMBlackBox::modelCDMBlackBox(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level)
+{
+  std::cout << "creating black box: " + name + " in " + path + "\n";
+  this->parent = parent;
+  this->name = name;
+  this->path = path;
+  this->level = level;
+  this->type = wxDIR_DIRS;
+  this->source = NULL;
+  this->header = NULL;
+
+  std::string pathHeader = path + CDMUtilities::SLASH + "bb" + this->name + ".h";
+
+  std::ifstream confFile;
+  confFile.open((pathHeader).c_str());
+  std::string word;
+  while(confFile.is_open() && !confFile.eof())
+    {
+      //get BBTK's
+      std::getline(confFile,word,'(');
+      std::vector<std::string> wordBits;
+      CDMUtilities::splitter::split(wordBits,word," \n",CDMUtilities::splitter::no_empties);
+
+      if(wordBits[wordBits.size()-1] == "BBTK_NAME")
+        {
+          std::getline(confFile,word,'"');
+          std::getline(confFile,word,'"');
+          this->nameBlackBox = word;
+        }
+      else if(wordBits[wordBits.size()-1] == "BBTK_AUTHOR")
+        {
+          std::getline(confFile,word,'"');
+          std::getline(confFile,word,'"');
+          this->authors = word;
+        }
+      else if(wordBits[wordBits.size()-1] == "BBTK_DESCRIPTION")
+        {
+          std::getline(confFile,word,'"');
+          std::getline(confFile,word,'"');
+          this->description = word;
+        }
+      else if(wordBits[wordBits.size()-1] == "BBTK_CATEGORY")
+        {
+          std::getline(confFile,word,'"');
+          std::getline(confFile,word,'"');
+          this->categories = word;
+          if (this->categories == "")
+            this->categories = "empty";
+        }
+    }
+  confFile.close();
+
+}
+
+modelCDMBlackBox::~modelCDMBlackBox()
+{
+  this->header = NULL;
+  this->source = NULL;
+}
+
+const std::string& modelCDMBlackBox::GetNameBlackBox() const
+{
+  return this->nameBlackBox;
+}
+
+const std::string& modelCDMBlackBox::GetAuthors() const
+{
+  return this->authors;
+}
+
+const std::string& modelCDMBlackBox::GetCategories() const
+{
+  return this->categories;
+}
+
+const std::string& modelCDMBlackBox::GetDescription() const
+{
+  return this->description;
+}
+
+bool modelCDMBlackBox::SetAuthors(const std::string& authors, std::string*& result)
+{
+  std::vector<std::string> words;
+  CDMUtilities::splitter::split(words, authors, "/\\\"\n", CDMUtilities::splitter::no_empties);
+  std::string authorsReal = words[0];
+  for (int i = 1; i < (int)(words.size()); i++)
+    {
+      authorsReal += "," + words[i];
+    }
+
+  //opening original header
+  std::string pathHeader = this->header->GetPath();
+  std::ifstream in(pathHeader.c_str());
+  if( !in.is_open())
+    {
+      result = new std::string(pathHeader + " file failed to open.");
+      return false;
+    }
+  //opening temporal header
+  std::ofstream out((pathHeader + ".tmp").c_str());
+  if( !out.is_open())
+    {
+      result = new std::string(pathHeader + ".tmp file failed to open.");
+      return false;
+    }
+  //copying contents from original to temporal and making changes
+  std::string reading;
+  while (getline(in, reading, '('))
+    {
+      CDMUtilities::splitter::split(words, reading, "\n ", CDMUtilities::splitter::no_empties);
+      if(words[words.size() - 1] == "BBTK_AUTHOR")
+        {
+          out << reading << "(\"" << authorsReal << "\")";
+          getline(in, reading, ')');
+        }
+      else
+        {
+          out << reading;
+          if (!in.eof())
+            out << "(";
+        }
+    }
+  in.close();
+  out.close();
+  //delete old file and rename new file
+#ifdef _WIN32
+  std::string renameCommand = "move /Y \"" + pathHeader + ".tmp\" \"" + pathHeader + "\"";
+#else
+  std::string renameCommand = "mv \"" + pathHeader + ".tmp\" \"" + pathHeader + "\"";
+#endif
+  
+  if(system(renameCommand.c_str()))
+    {
+      result = new std::string("An error occurred while running '" + renameCommand + "'.");
+      return false;
+    }
+
+  this->authors = authorsReal;
+  return true;
+
+}
+
+bool modelCDMBlackBox::SetCategories(
+    const std::string& categories,
+    std::string*& result
+)
+{
+  std::vector<std::string> words;
+  CDMUtilities::splitter::split(words, categories, "\"\\/", CDMUtilities::splitter::no_empties);
+  std::string catsReal = words[0];
+  for (int i = 1; i < (int)(words.size()); i++)
+    {
+      catsReal += "," + words[i];
+    }
+
+  //opening original header
+  std::string pathHeader = this->header->GetPath();
+  std::ifstream in(pathHeader.c_str());
+  if( !in.is_open())
+    {
+      result = new std::string(pathHeader + " file failed to open.");
+      return false;
+    }
+  //opening temporal header
+  std::ofstream out((pathHeader + ".tmp").c_str());
+  if( !out.is_open())
+    {
+      result = new std::string(pathHeader + ".tmp file failed to open.");
+      return false;
+    }
+  //copying contents from original to temporal and making changes
+  std::string reading;
+  while (getline(in, reading, '('))
+    {
+      CDMUtilities::splitter::split(words, reading, "\n ", CDMUtilities::splitter::no_empties);
+      if(words[words.size() - 1] == "BBTK_CATEGORY")
+        {
+          out << reading << "(\"" << catsReal << "\")";
+          getline(in, reading, ')');
+        }
+      else
+        {
+          out << reading;
+          if (!in.eof())
+            out << "(";
+        }
+    }
+  in.close();
+  out.close();
+  //delete old file and rename new file
+#ifdef _WIN32
+  std::string renameCommand = "move /Y \"" + pathHeader + ".tmp\" \"" + pathHeader + "\"";
+#else
+  std::string renameCommand = "mv \"" + pathHeader + ".tmp\" \"" + pathHeader + "\"";
+#endif
+  
+  if(system(renameCommand.c_str()))
+    {
+      result = new std::string("An error occurred while running '" + renameCommand + "'.");
+      return false;
+    }
+
+  this->categories = catsReal;
+  return true;
+}
+
+bool modelCDMBlackBox::SetDescription(
+    const std::string& description,
+    std::string*& result
+)
+{
+  std::vector<std::string> words;
+  CDMUtilities::splitter::split(words, description, "\"\n\\/", CDMUtilities::splitter::no_empties);
+  std::string descReal = words[0];
+  for (int i = 1; i < (int)(words.size()); i++)
+    {
+      descReal += "-" + words[i];
+    }
+
+  //opening original header
+  std::string pathHeader = this->header->GetPath();
+  std::ifstream in(pathHeader.c_str());
+  if( !in.is_open())
+    {
+      result = new std::string(pathHeader + " file failed to open.");
+      return false;
+    }
+  //opening temporal header
+  std::ofstream out((pathHeader + ".tmp").c_str());
+  if( !out.is_open())
+    {
+      result = new std::string(pathHeader + ".tmp file failed to open.");
+      return false;
+    }
+  //copying contents from original to temporal and making changes
+  std::string reading;
+  while (getline(in, reading, '('))
+    {
+      CDMUtilities::splitter::split(words, reading, "\n ", CDMUtilities::splitter::no_empties);
+      if(words[words.size() - 1] == "BBTK_DESCRIPTION")
+        {
+          out << reading << "(\"" << descReal << "\")";
+          getline(in, reading, ')');
+        }
+      else
+        {
+          out << reading;
+          if (!in.eof())
+            out << "(";
+        }
+    }
+  in.close();
+  out.close();
+  //delete old file and rename new file
+#ifdef _WIN32
+  std::string renameCommand = "move /Y \"" + pathHeader + ".tmp\" \"" + pathHeader + "\"";
+#else
+  std::string renameCommand = "mv \"" + pathHeader + ".tmp\" \"" + pathHeader + "\"";
+#endif
+  if(system(renameCommand.c_str()))
+    {
+      result = new std::string("An error occurred while running '" + renameCommand + "'.");
+      return false;
+    }
+
+  this->description = descReal;
+  return true;
+}
+
+void modelCDMBlackBox::SetHeaderFile(modelCDMFile* file)
+{
+  this->header = file;
+}
+
+void modelCDMBlackBox::SetSourceFile(modelCDMFile* file)
+{
+  this->source = file;
+}
+
+bool modelCDMBlackBox::OpenCxx(std::string*& result)
+{
+  return !CDMUtilities::openTextEditor(this->source->GetPath());
+}
+
+bool modelCDMBlackBox::OpenHxx(std::string*& result)
+{
+  return !CDMUtilities::openTextEditor(this->header->GetPath());
+}
+
+modelCDMFile* modelCDMBlackBox::GetHeaderFile() const
+{
+  return this->header;
+}
+
+modelCDMFile* modelCDMBlackBox::GetSourceFile() const
+{
+  return this->source;
+}
+
+const bool modelCDMBlackBox::Refresh(std::string*& result)
+{
+  std::cout << "refreshing black box: " << this->nameBlackBox << std::endl;
+  std::string pathHeader = path + CDMUtilities::SLASH + "bb" + this->name + ".h";
+
+  std::ifstream confFile;
+  confFile.open((pathHeader).c_str());
+  std::string word;
+
+  if(!confFile.is_open())
+    return false;
+
+  while(confFile.is_open() && !confFile.eof())
+    {
+      //get BBTK's
+      std::getline(confFile,word,'(');
+      std::vector<std::string> wordBits;
+      CDMUtilities::splitter::split(wordBits,word," \n",CDMUtilities::splitter::no_empties);
+
+      if(wordBits[wordBits.size()-1] == "BBTK_NAME")
+        {
+          std::getline(confFile,word,'"');
+          std::getline(confFile,word,'"');
+          this->nameBlackBox = word;
+        }
+      else if(wordBits[wordBits.size()-1] == "BBTK_AUTHOR")
+        {
+          std::getline(confFile,word,'"');
+          std::getline(confFile,word,'"');
+          this->authors = word;
+        }
+      else if(wordBits[wordBits.size()-1] == "BBTK_DESCRIPTION")
+        {
+          std::getline(confFile,word,'"');
+          std::getline(confFile,word,'"');
+          this->description = word;
+        }
+      else if(wordBits[wordBits.size()-1] == "BBTK_CATEGORY")
+        {
+          std::getline(confFile,word,'"');
+          std::getline(confFile,word,'"');
+          this->categories = word;
+          if (this->categories == "")
+            this->categories = "empty";
+        }
+    }
+  confFile.close();
+  return true;
+}
diff --git a/lib/creaDevManagerLib/modelCDMBlackBox.h b/lib/creaDevManagerLib/modelCDMBlackBox.h
new file mode 100644
index 0000000..4ef064a
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMBlackBox.h
@@ -0,0 +1,185 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMBlackBox.h
+ *
+ *  Created on: Nov 23, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef MODELCDMBLACKBOX_H_
+#define MODELCDMBLACKBOX_H_
+
+#include<iostream>
+
+#include"modelCDMFolder.h"
+
+/**
+ * Class representing a black box inside a Crea project. A black box is modular construct that uses the project libraries to execute its operations
+ */
+class modelCDMBlackBox : public modelCDMFolder
+{
+public:
+  /**
+   * Default Constructor.
+   */
+  modelCDMBlackBox();
+  /**
+   * Black Box Constructor.
+   * @param parent parent node of the black box node.
+   * @param path Path of the source folder of the black box node.
+   * @param name Name of the black box node.
+   * @param level Hierarchy level of the black box node in the project. By default 3
+   */
+  modelCDMBlackBox(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level = 3);
+  /**
+   * Destructor.
+   */
+  ~modelCDMBlackBox();
+
+  /**
+   * Returns the name of the black box node.
+   * @return Name of the black box node.
+   */
+  const std::string& GetNameBlackBox() const;
+  /**
+   * Retrieves the black box authors' names.
+   * @return Names of the black box node authors.
+   */
+  const std::string& GetAuthors() const;
+  /**
+   * Retrieves the categories of the black box.
+   * @return Categories associated with the black box.
+   */
+  const std::string& GetCategories() const;
+  /**
+   * Returns the description of the black box purpose.
+   * @return Description of the black box.
+   */
+  const std::string& GetDescription() const;
+
+  /**
+   * Returns a reference of the header file of the black box.
+   * @return Header file of the black box.
+   */
+  modelCDMFile* GetHeaderFile() const;
+  /**
+   * Returns a reference of the source file of the black box.
+   * @return Source file of the black box.
+   */
+  modelCDMFile* GetSourceFile() const;
+
+  /**
+   * Sets the name of the black box with the one provided.
+   * @param name New name of the black box.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  bool SetNameBlackBox(const std::string& name, std::string*& result);
+  /**
+   * Sets the authors' names of the black box to the ones given.
+   * @param authors Authors' names.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  bool SetAuthors(const std::string& authors, std::string*& result);
+  /**
+   * Sets the Categories associated with the black box to the given ones.
+   * @param categories Categories associated with the black box.
+   * @param result Result message
+   * @return True if the operation was successful.
+   */
+  bool SetCategories(const std::string& categories, std::string*& result);
+  /**
+   * Sets the Description of the black box to the given one.
+   * @param description Description of the black box.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  bool SetDescription(const std::string& description, std::string*& result);
+
+  /**
+   * Sets the reference of the header file.
+   * @param file Reference to the Header file.
+   */
+  void SetHeaderFile(modelCDMFile* file);
+  /**
+   * Sets the reference of the source file.
+   * @param file Reference to the source file.
+   */
+  void SetSourceFile(modelCDMFile* file);
+
+
+  /**
+   * Opens the source file with the system default code editor
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  bool OpenCxx(std::string*& result);
+  /**
+   * Opens the header file with the system default code editor
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  bool OpenHxx(std::string*& result);
+  /**
+   * Refreshes the structure and properties of the black box.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  const bool Refresh(std::string*& result);
+
+private:
+  /**
+   * Name of the black box. It might be different from the header file name.
+   */
+  std::string nameBlackBox;
+  /**
+   * Authors of the black box.
+   */
+  std::string authors;
+  /**
+   * Categories associated to the categories.
+   */
+  std::string categories;
+  /**
+   * Description of the black box.
+   */
+  std::string description;
+
+  /**
+   * Reference to the header file of the black box.
+   */
+  modelCDMFile* header;
+  /**
+   * Reference to the source file of the black box.
+   */
+  modelCDMFile* source;
+};
+
+#endif /* MODELCDMBLACKBOX_H_ */
diff --git a/lib/creaDevManagerLib/modelCDMCMakeListsFile.cpp b/lib/creaDevManagerLib/modelCDMCMakeListsFile.cpp
new file mode 100644
index 0000000..2dc48b4
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMCMakeListsFile.cpp
@@ -0,0 +1,94 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMCMakeListsFile.cpp
+ *
+ *  Created on: Nov 28, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "modelCDMCMakeListsFile.h"
+
+#include <fstream>
+
+#include<creaWx.h>
+#include<wx/dir.h>
+
+#include "CDMUtilities.h"
+
+modelCDMCMakeListsFile::modelCDMCMakeListsFile()
+{
+}
+
+modelCDMCMakeListsFile::modelCDMCMakeListsFile(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level)
+{
+  std::cout << "creating cmakelist file: " + path + "\n";
+  this->parent = parent;
+  this->children.clear();
+  this->level = level;
+  this->type = wxDIR_FILES;
+  this->name = name;
+  this->path = path;
+
+  std::ifstream in(path.c_str(), std::ifstream::in | std::ifstream::binary);
+  in.seekg(0, std::ifstream::end);
+  this->length = in.tellg();
+  in.close();
+}
+
+modelCDMCMakeListsFile::~modelCDMCMakeListsFile()
+{
+}
+
+bool modelCDMCMakeListsFile::OpenFile(std::string*& result)
+{
+
+  if (!CDMUtilities::openTextEditor(this->path))
+    return true;
+  else
+    {
+      result = new std::string("Couldn't open CMakeLists file.");
+      return false;
+    }
+}
+
+const bool modelCDMCMakeListsFile::Refresh(std::string*& result)
+{
+  //std::cout << "refreshing cmakelists" << std::endl;
+  std::ifstream in((this->path).c_str());
+  if(!in.is_open())
+    {
+      in.close();
+      return false;
+    }
+  std::ifstream in2(path.c_str(), std::ifstream::in | std::ifstream::binary);
+  in2.seekg(0, std::ifstream::end);
+  this->length = in2.tellg();
+  in2.close();
+  return true;
+}
diff --git a/lib/creaDevManagerLib/modelCDMCMakeListsFile.h b/lib/creaDevManagerLib/modelCDMCMakeListsFile.h
new file mode 100644
index 0000000..5d51e3d
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMCMakeListsFile.h
@@ -0,0 +1,77 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMCMakeListsFile.h
+ *
+ *  Created on: Nov 28, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef MODELCDMCMAKELISTSFILE_H_
+#define MODELCDMCMAKELISTSFILE_H_
+
+#include "modelCDMFile.h"
+
+/**
+ * Class representing the CMakeLists.txt file in a folder of a Crea project.
+ */
+class modelCDMCMakeListsFile : public modelCDMFile
+{
+public:
+  /**
+   * Default Constructor.
+   */
+  modelCDMCMakeListsFile();
+  /**
+   * CMakeLists file Constructor.
+   * @param parent Parent node of the CMakeLists file node.
+   * @param path Full path to the CMakeLists file node.
+   * @param name File name of the CMakeLists file node.
+   * @param level Project hierarchy level of the CMakeLists file node.
+   */
+  modelCDMCMakeListsFile(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name = "CMakeLists.txt", const int& level = 1);
+  /**
+   * Destructor
+   */
+  ~modelCDMCMakeListsFile();
+
+  /**
+   * Opens the file in the system default code editor.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  bool OpenFile(std::string*& result);
+  /**
+   * Refreshes the state of the CMakeLists file.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  virtual const bool Refresh(std::string*& result);
+};
+
+#endif /* MODELCDMCMAKELISTSFILE_H_ */
diff --git a/lib/creaDevManagerLib/modelCDMCodeFile.cpp b/lib/creaDevManagerLib/modelCDMCodeFile.cpp
new file mode 100644
index 0000000..7e97862
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMCodeFile.cpp
@@ -0,0 +1,94 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMCodeFile.cpp
+ *
+ *  Created on: Jun 24, 2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "modelCDMCodeFile.h"
+
+#include <fstream>
+
+#include<creaWx.h>
+#include<wx/dir.h>
+
+#include "CDMUtilities.h"
+
+modelCDMCodeFile::modelCDMCodeFile()
+{
+}
+
+modelCDMCodeFile::modelCDMCodeFile(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level)
+{
+  std::cout << "creating code file: " + path + "\n";
+  this->parent = parent;
+  this->children.clear();
+  this->level = level;
+  this->type = wxDIR_FILES;
+  this->name = name;
+  this->path = path;
+
+  std::ifstream in(path.c_str(), std::ifstream::in | std::ifstream::binary);
+  in.seekg(0, std::ifstream::end);
+  this->length = in.tellg();
+  in.close();
+}
+
+modelCDMCodeFile::~modelCDMCodeFile()
+{
+}
+
+bool modelCDMCodeFile::OpenFile(std::string*& result)
+{
+
+  if (!CDMUtilities::openTextEditor(this->path))
+    return true;
+  else
+    {
+      result = new std::string("Couldn't open CMakeLists file.");
+      return false;
+    }
+}
+
+const bool modelCDMCodeFile::Refresh(std::string*& result)
+{
+  //std::cout << "refreshing cmakelists" << std::endl;
+  std::ifstream in((this->path).c_str());
+  if(!in.is_open())
+    {
+      in.close();
+      return false;
+    }
+  std::ifstream in2(path.c_str(), std::ifstream::in | std::ifstream::binary);
+  in2.seekg(0, std::ifstream::end);
+  this->length = in2.tellg();
+  in2.close();
+  return true;
+}
diff --git a/lib/creaDevManagerLib/modelCDMCodeFile.h b/lib/creaDevManagerLib/modelCDMCodeFile.h
new file mode 100644
index 0000000..b57a812
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMCodeFile.h
@@ -0,0 +1,77 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMCodeFile.h
+ *
+ *  Created on: Jun 24, 2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef MODELCDMCODEFILE_H_
+#define MODELCDMCODEFILE_H_
+
+#include "modelCDMFile.h"
+
+/**
+ * Class representing a code file in a folder of a Crea project.
+ */
+class modelCDMCodeFile : public modelCDMFile
+{
+public:
+  /**
+   * Default Constructor.
+   */
+  modelCDMCodeFile();
+  /**
+   * Code file Constructor.
+   * @param parent Parent node of the Code file node.
+   * @param path Full path to the Code file node.
+   * @param name File name of the Code file node.
+   * @param level Project hierarchy level of the Code file node.
+   */
+  modelCDMCodeFile(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level = 1);
+  /**
+   * Destructor
+   */
+  ~modelCDMCodeFile();
+
+  /**
+   * Opens the file in the system default code editor.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  bool OpenFile(std::string*& result);
+  /**
+   * Refreshes the state of the code file.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  virtual const bool Refresh(std::string*& result);
+};
+
+#endif /* MODELCDMCODEFILE_H_ */
diff --git a/lib/creaDevManagerLib/modelCDMFile.cpp b/lib/creaDevManagerLib/modelCDMFile.cpp
new file mode 100644
index 0000000..dcafc8e
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMFile.cpp
@@ -0,0 +1,105 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMFile.cpp
+ *
+ *  Created on: Nov 28, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "modelCDMFile.h"
+
+#include <fstream>
+#include <creaWx.h>
+#include <wx/dir.h>
+
+#include "CDMUtilities.h"
+
+modelCDMFile::modelCDMFile()
+{
+}
+
+modelCDMFile::modelCDMFile(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level)
+{
+  std::cout << "creating file: " + path + "\n";
+  this->parent = parent;
+  this->children.clear();
+  this->level = level;
+  this->name = name;
+  this->path = path;
+  this->type = wxDIR_FILES;
+
+  std::ifstream in(path.c_str(), std::ifstream::in | std::ifstream::binary);
+  in.seekg(0, std::ifstream::end);
+  this->length = in.tellg();
+  in.close();
+
+}
+
+modelCDMFile::~modelCDMFile()
+{
+}
+
+bool modelCDMFile::OpenFile(std::string*& result, const std::string& command)
+{
+  if (!CDMUtilities::openFileWithCommand(path, command))
+    return true;
+  else
+    {
+      result = new std::string("Couldn't open file with command " + command + ".");
+      return false;
+    }
+}
+
+const bool modelCDMFile::Refresh(std::string*& result)
+{
+  //std::cout << "refreshing file " << this->name << std::endl;
+  std::ifstream in((this->path).c_str());
+  if(!in.is_open())
+    {
+      in.close();
+      return false;
+    }
+  std::ifstream in2(path.c_str(), std::ifstream::in | std::ifstream::binary);
+  in2.seekg(0, std::ifstream::end);
+  this->length = in2.tellg();
+  in2.close();
+  return true;
+}
+
+const bool modelCDMFile::OpenInFileExplorer(std::string*& result) const
+{
+  std::string pth = this->path.substr(0, path.size() - name.size() - 1);
+  if (!CDMUtilities::openFileExplorer(pth))
+    return true;
+  else
+    {
+      result = new std::string("Couldn't open file.");
+      return false;
+    }
+}
diff --git a/lib/creaDevManagerLib/modelCDMFile.h b/lib/creaDevManagerLib/modelCDMFile.h
new file mode 100644
index 0000000..e1908a3
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMFile.h
@@ -0,0 +1,87 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMFile.h
+ *
+ *  Created on: Nov 28, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef MODELCDMFILE_H_
+#define MODELCDMFILE_H_
+
+#include<iostream>
+#include<vector>
+
+#include "modelCDMIProjectTreeNode.h"
+
+/**
+ * Class representing a file node in the project hierarchy.
+ */
+class modelCDMFile : public modelCDMIProjectTreeNode
+{
+public:
+  /**
+   * Default constructor
+   */
+  modelCDMFile();
+  /**
+   * Constructor of the File node class
+   * @param parent Parent node of the file node.
+   * @param path Full path to the file node
+   * @param name File name of the file node.
+   * @param level Hierarchy level of the file node. By default 3.
+   */
+  modelCDMFile(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level = 3);
+  /**
+   * Destructor
+   */
+  ~modelCDMFile();
+
+  /**
+   * Opens the file node with the provided command.
+   * @param result Result message of the operation.
+   * @param command Command to open the file.
+   * @return True if the operation was successful.
+   */
+  bool OpenFile(std::string* & result, const std::string& command = "");
+  /**
+   * Refreshes the file properties and checks that the file exists.
+   * @param result Result message of the operation.
+   * @return True if the operation was successful.
+   */
+  virtual const bool Refresh(std::string*& result);
+  /**
+   * Opens the file node in the default file explorer.
+   * @param result Result message of the operation.
+   * @return True if the operation was successful.
+   */
+  const bool OpenInFileExplorer(std::string*& result) const;
+};
+
+#endif /* MODELCDMFILE_H_ */
diff --git a/lib/creaDevManagerLib/modelCDMFolder.cpp b/lib/creaDevManagerLib/modelCDMFolder.cpp
new file mode 100644
index 0000000..6195892
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMFolder.cpp
@@ -0,0 +1,359 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMFolder.cpp
+ *
+ *  Created on: Nov 28, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "modelCDMFolder.h"
+
+#include <fstream>
+#include <algorithm>
+
+#include <creaWx.h>
+#include <wx/dir.h>
+
+#include "CDMUtilities.h"
+
+modelCDMFolder::modelCDMFolder()
+{
+  this->CMakeLists = NULL;
+}
+
+modelCDMFolder::modelCDMFolder(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level)
+{
+  std::cout << "creating folder: " + path + "\n";
+  //set attributes
+  this->parent = parent;
+  this->children.clear();
+  this->level = level;
+  this->CMakeLists = NULL;
+  this->length = 0;
+  this->name = name;
+  this->path = path;
+  this->type = wxDIR_DIRS;
+
+  std::string pathFixed(CDMUtilities::fixPath(path));
+  //check all folders
+  wxDir dir(crea::std2wx((pathFixed).c_str()));
+  if (dir.IsOpened())
+    {
+      wxString fileName;
+      bool cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_DIRS);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+
+          //if is an unknown folder, create folder
+          modelCDMFolder* folder = new modelCDMFolder(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+          this->children.push_back(folder);
+          this->folders.push_back(folder);
+
+          cont = dir.GetNext(&fileName);
+        }
+
+      cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_FILES);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::cout << "analyzing " << stdfileName << std::endl;
+          std::size_t fileTypePos = stdfileName.find_last_of(".");
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
+          std::cout << "fileType: " << fileType <<std::endl;
+
+          //if CMakeLists, create CMakeLists
+          if(stdfileName == "CMakeLists.txt")
+            {
+              this->CMakeLists = new modelCDMCMakeListsFile(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(this->CMakeLists);
+            }
+          //if is a code file, create code file
+          else if(fileType == ".c" ||
+              fileType == ".cxx" ||
+              fileType == ".h" ||
+              fileType == ".cpp" ||
+              fileType == ".txx" ||
+              fileType == ".cmake" )
+            {
+              modelCDMCodeFile* file = new modelCDMCodeFile(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(file);
+            }
+          //if is a bbs file, create bbs file
+          else if(fileType == ".bbs")
+            {
+              modelCDMBBSFile* file = new modelCDMBBSFile(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(file);
+            }
+          //if is a bbg file, create bbg file
+          else if(fileType == ".bbg")
+            {
+              modelCDMBBGFile* file = new modelCDMBBGFile(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(file);
+            }
+          //if is an unknown file, create file
+          else
+            {
+              this->children.push_back(new modelCDMFile(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+    }
+
+  this->SortChildren();
+  std::sort(this->folders.begin(), this->folders.end(), CompareNodeItem);
+}
+
+modelCDMFolder::~modelCDMFolder()
+{
+  this->folders.clear();
+  this->CMakeLists = NULL;
+  for (int i = 0; i < (int)(this->children.size()); i++)
+    {
+      if(this->children[i] != NULL)
+        {
+          delete this->children[i];
+          this->children[i] = NULL;
+        }
+    }
+  this->children.clear();
+}
+
+bool modelCDMFolder::CreateClass(const std::string& name)
+{
+  if (!CDMUtilities::createEmptyClass(name, this->path))
+      {
+        return false;
+      }
+    else
+      {
+        this->children.push_back(new modelCDMFile(this, this->path + CDMUtilities::SLASH + name + ".h", name + ".h", this->level + 1));
+        this->children.push_back(new modelCDMFile(this, this->path + CDMUtilities::SLASH + name + ".cpp", name + ".cpp", this->level + 1));
+        this->SortChildren();
+        return true;
+      }
+}
+
+modelCDMFolder* modelCDMFolder::CreateFolder(const std::string& name, std::string*& result)
+{
+  //TODO:: mkdir depending on OS
+  std::string command = "mkdir \"" + path + CDMUtilities::SLASH + name + "\"";
+  if(system(command.c_str()))
+    {
+      result = new std::string("Error executing: " + command + ".");
+      return NULL;
+    }
+  modelCDMFolder* folder = new modelCDMFolder(this, path + CDMUtilities::SLASH + name, name, level + 1);
+  this->folders.push_back(folder);
+  this->children.push_back(folder);
+
+  return folder;
+}
+
+bool modelCDMFolder::OpenCMakeListsFile(std::string*& result)
+{
+  if (this->CMakeLists == NULL)
+    {
+      result = new std::string("There's no CMakeLists file to open.");
+      return false;
+    }
+  if (!CDMUtilities::openTextEditor(this->CMakeLists->GetPath()))
+    return true;
+  else
+    {
+      result = new std::string("Couldn't open CMakeLists file.");
+      return false;
+    }
+}
+
+const bool modelCDMFolder::Refresh(std::string*& result)
+{
+  //std::cout << "refreshing folder " << this->name << std::endl;
+  //set attributes
+  this->type = wxDIR_DIRS;
+
+  //check children
+  std::vector<bool> checked(this->children.size(), false);
+  std::vector<bool> checkedFolders(this->folders.size(), false);
+
+  //check all folders
+  wxDir dir(crea::std2wx((this->path).c_str()));
+  if (dir.IsOpened())
+    {
+      wxString fileName;
+      bool cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_DIRS);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          //check if they already exist
+          bool found = false;
+          for (int i = 0; !found && i < (int)(this->folders.size()); i++)
+            {
+              if (this->folders[i]->GetName() == stdfileName)
+                {
+                  found = true;
+                  int pos = std::find(this->children.begin(), this->children.end(), this->folders[i]) - this->children.begin();
+                  checked[pos] = true;
+                  checkedFolders[i] = true;
+                  if(!this->folders[i]->Refresh(result))
+                    return false;
+                }
+            }
+          if(!found)
+            {
+              modelCDMFolder* folder = new modelCDMFolder(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->folders.push_back(folder);
+              this->children.push_back(folder);
+            }
+          cont = dir.GetNext(&fileName);
+        }
+
+      cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_FILES);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::size_t fileTypePos = stdfileName.find_last_of(".");
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
+
+          //if CMakeLists, create CMakeLists
+          if(stdfileName == "CMakeLists.txt")
+            {
+              if (this->CMakeLists == NULL)
+                {
+                  this->CMakeLists = new modelCDMCMakeListsFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  this->children.push_back(this->CMakeLists);
+                }
+              else
+                {
+                  int pos = std::find(this->children.begin(), this->children.end(), this->CMakeLists) - this->children.begin();
+                  checked[pos] = true;
+                  if(!this->CMakeLists->Refresh(result))
+                    return false;
+                }
+            }
+
+          //if is an unknown file, create file
+          else
+            {
+              bool found = false;
+              for (int i = 0;!found && i < (int)(this->children.size()); i++)
+                {
+                  if (this->children[i]->GetName() == stdfileName)
+                    {
+                      found = true;
+                      checked[i] = true;
+                      if(!this->children[i]->Refresh(result))
+                        return false;
+                    }
+                }
+
+              if(!found)
+                {
+                  //if is a code file, create modelCDMCodeFile
+                  if(
+                      fileType == ".c" ||
+                      fileType == ".cxx" ||
+                      fileType == ".h" ||
+                      fileType == ".cpp" ||
+                      fileType == ".txx" ||
+                      fileType == ".cmake" )
+                    {
+                      this->children.push_back(new modelCDMCodeFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+                    }
+                  //if is a bbs file, create modelCDMBBSFile
+                  else if(fileType == ".bbs")
+                    {
+                      this->children.push_back(new modelCDMBBSFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+                    }
+                  //if is a bbg file, create modelCDMBBGFile
+                  else if(fileType == ".bbg")
+                    {
+                      this->children.push_back(new modelCDMBBGFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+                    }
+                  //if is an unknown file, create modelCDMFile
+                  else
+                    {
+                      modelCDMFile* file = new modelCDMFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                      this->children.push_back(file);
+                    }
+                }
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+    }
+
+  for (int i = 0; i < (int)(checkedFolders.size()); i++)
+    {
+      if(!checkedFolders[i])
+        {
+          this->folders.erase(this->folders.begin()+i);
+          checkedFolders.erase(checkedFolders.begin()+i);
+          i--;
+        }
+    }
+  for (int i = 0; i < (int)(checked.size()); i++)
+    {
+      if(!checked[i])
+        {
+          delete this->children[i];
+          this->children.erase(this->children.begin()+i);
+          checked.erase(checked.begin()+i);
+          i--;
+        }
+    }
+  this->SortChildren();
+  std::sort(this->folders.begin(), this->folders.end(), CompareNodeItem);
+  return true;
+}
+
+modelCDMCMakeListsFile* modelCDMFolder::GetCMakeLists() const
+{
+  return this->CMakeLists;
+}
+
+std::vector<modelCDMFolder*> modelCDMFolder::GetFolders() const
+{
+  return this->folders;
+}
+
+bool
+modelCDMFolder::HasCMakeLists()
+{
+  return this->CMakeLists != NULL;
+}
diff --git a/lib/creaDevManagerLib/modelCDMFolder.h b/lib/creaDevManagerLib/modelCDMFolder.h
new file mode 100644
index 0000000..d1b4be5
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMFolder.h
@@ -0,0 +1,130 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMFolder.h
+ *
+ *  Created on: Nov 28, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef MODELCDMFOLDER_H_
+#define MODELCDMFOLDER_H_
+
+#include<iostream>
+#include<vector>
+
+#include "modelCDMIProjectTreeNode.h"
+#include "modelCDMCMakeListsFile.h"
+#include "modelCDMCodeFile.h"
+#include "modelCDMBBSFile.h"
+#include "modelCDMBBGFile.h"
+
+/**
+ * Class representing a folder in the project hierarchy.
+ */
+class modelCDMFolder : public modelCDMIProjectTreeNode
+{
+public:
+  /**
+   * Default constructor.
+   */
+  modelCDMFolder();
+  /**
+   * Constructor of the folder node.
+   * @param parent Parent node.
+   * @param path Full path of the folder node.
+   * @param name Folder name of the folder node.
+   * @param level Hierarchy level of the folder node in the project.
+   */
+  modelCDMFolder(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level = 3);
+  /**
+   * Destructor.
+   */
+  ~modelCDMFolder();
+
+  /**
+   * Returns the reference to the folder node's CMakeLists file if it exists.
+   * @return Reference to the CMakeLists file or NULL.
+   */
+  modelCDMCMakeListsFile* GetCMakeLists() const;
+  /**
+   * Returns an array with the containing folder children of the actual folder node.
+   * @return Array with references to children folder nodes.
+   */
+  std::vector<modelCDMFolder*> GetFolders() const;
+
+  /**
+   * Creates a class (.h and .cpp files) in the folder node. It creates the files in the model as well as in the system.
+   * @param name Name of the class to create.
+   * @return True if the operation was successful.
+   */
+  bool CreateClass(const std::string& name);
+
+  /**
+   * Creates a folder in the folder node. It creates the folder in the model as well as in the system.
+   * @param name Name of the folder to create.
+   * @param result Result message of the operation.
+   * @return True if the operation was successful.
+   */
+  modelCDMFolder* CreateFolder(
+      const std::string& name,
+      std::string*& result
+  );
+  /**
+   * Opens the CMakeLists file in the default code editor.
+   * @param result Result message of the operation.
+   * @return True if the operation was successful.
+   */
+  bool OpenCMakeListsFile(std::string* & result);
+  /**
+   * Refreshes the folder node structure. deletes deleted files and folders, and adds created files and folders.
+   * @param result Result message of the operation
+   * @return True if the operation was successful.
+   */
+  virtual const bool Refresh(std::string*& result);
+
+  /**
+   * Returns wether the CMakeLists attribute is different from NULL or not.
+   * @return True if the MakeLists attribute is different from NULL.
+   */
+  bool HasCMakeLists();
+
+protected:
+  /**
+   * Reference to the folder node's CMakeLists.
+   */
+  modelCDMCMakeListsFile* CMakeLists;
+private:
+  /**
+   * Reference array to the children folders.
+   */
+  std::vector<modelCDMFolder*> folders;
+
+};
+
+#endif /* MODELCDMFOLDER_H_ */
diff --git a/lib/creaDevManagerLib/modelCDMIProjectTreeNode.cpp b/lib/creaDevManagerLib/modelCDMIProjectTreeNode.cpp
new file mode 100644
index 0000000..8b07658
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMIProjectTreeNode.cpp
@@ -0,0 +1,172 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.cpp
+ *
+ *  Created on: Nov 26, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+#include "modelCDMIProjectTreeNode.h"
+#include <algorithm>
+
+#include "CDMUtilities.h"
+
+#include "wx/dir.h"
+
+bool modelCDMIProjectTreeNode::CompareNodeItem(const modelCDMIProjectTreeNode* x, const modelCDMIProjectTreeNode* y)
+{
+  bool returnValue;
+  bool noWinner = true;
+  unsigned int i = 0;
+  std::string xName = x->GetName();
+  std::string yName = y->GetName();
+  unsigned char xType = x->GetType();
+  unsigned char yType = y->GetType();
+
+  while ((i < xName.length()) && (i < yName.length()))
+    {
+      if (tolower (xName[i]) < tolower (yName[i]))
+        {
+          noWinner = false;
+          returnValue = true;
+          break;
+        }
+      else if (tolower (xName[i]) > tolower (yName[i]))
+        {
+          noWinner = false;
+          returnValue = false;
+          break;
+        }
+      i++;
+    }
+
+  if(noWinner)
+    {
+      if (xName.length() < yName.length())
+        returnValue = true;
+      else
+        returnValue = false;
+    }
+
+  if(xType != yType)
+    {
+      if(xType == wxDIR_DIRS)
+        returnValue = true;
+      else
+        returnValue = false;
+    }
+
+  return returnValue;
+}
+
+const wxCDMTreeItemId& modelCDMIProjectTreeNode::GetId() const
+{
+  return this->id;
+}
+
+const std::string& modelCDMIProjectTreeNode::GetPath() const
+{
+  return this->path;
+}
+
+const std::string& modelCDMIProjectTreeNode::GetName() const
+{
+  return this->name;
+}
+
+const unsigned char& modelCDMIProjectTreeNode::GetType() const
+{
+  return this->type;
+}
+
+const int& modelCDMIProjectTreeNode::GetLevel() const
+{
+  return this->level;
+}
+
+modelCDMIProjectTreeNode* modelCDMIProjectTreeNode::GetParent() const
+{
+  return this->parent;
+}
+
+std::vector<modelCDMIProjectTreeNode*> modelCDMIProjectTreeNode::GetParents() const
+{
+  std::vector<modelCDMIProjectTreeNode*> family;
+  modelCDMIProjectTreeNode* someFamily = this->parent;
+  while(someFamily != NULL)
+    {
+      family.push_back(someFamily);
+      someFamily = someFamily->GetParent();
+    }
+  return family;
+
+}
+
+const std::vector<modelCDMIProjectTreeNode*>& modelCDMIProjectTreeNode::GetChildren() const
+{
+  return this->children;
+}
+
+void modelCDMIProjectTreeNode::SetId(const wxCDMTreeItemId& id)
+{
+  this->id = id;
+}
+
+void modelCDMIProjectTreeNode::SortChildren()
+{
+  std::sort(this->children.begin(), this->children.end(), CompareNodeItem);
+}
+
+void modelCDMIProjectTreeNode::SetChildren(
+    const std::vector<modelCDMIProjectTreeNode*>& children)
+{
+  this->children.clear();
+  this->children = children;
+}
+
+const bool modelCDMIProjectTreeNode::Refresh(std::string*& result)
+{
+  //TODO: implement method
+  return false;
+}
+
+const int& modelCDMIProjectTreeNode::GetLength()
+{
+  return this->length;
+}
+
+const bool modelCDMIProjectTreeNode::OpenInFileExplorer(std::string*& result) const
+{
+  if (!CDMUtilities::openFileExplorer(this->GetPath()))
+    return true;
+  else
+    {
+      result = new std::string("Couldn't open file.");
+      return false;
+    }
+}
diff --git a/lib/creaDevManagerLib/modelCDMIProjectTreeNode.h b/lib/creaDevManagerLib/modelCDMIProjectTreeNode.h
new file mode 100644
index 0000000..ddfae33
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMIProjectTreeNode.h
@@ -0,0 +1,171 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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 Felipe Gonzalez Obando
+ */
+
+#ifndef MODELCDMIPROJECTTREENODE_H_
+#define MODELCDMIPROJECTTREENODE_H_
+
+#include <iostream>
+#include <vector>
+#include <creaWx.h>
+#include "wx/treectrl.h"
+#include "wxCDMTreeItemId.h"
+
+/**
+ * Class that represents an element of a Crea Project.
+ */
+class modelCDMIProjectTreeNode
+{
+public:
+  /**
+   * Destructor that doesn't do anything.
+   */
+  virtual ~modelCDMIProjectTreeNode() {};
+
+  /**
+   * Compares the precedence of an modelCDMIProjectTreeNode object with another by the node's name and its type (first folder then file).
+   * @return Either if the node x goes before (true) or after (false) y.
+   */
+  static bool CompareNodeItem(const modelCDMIProjectTreeNode* x, const modelCDMIProjectTreeNode* y);
+
+  /**
+   * Returns the id of the node in the tree of the project.
+   * @return Id of the node in the tree project.
+   */
+  const wxCDMTreeItemId& GetId() const;
+  /**
+   * Returns the full path to the node, including the name of the node.
+   * @return Node's full path.
+   */
+  const std::string& GetPath() const;
+  /**
+   * Return the name of the node, either the file name or the folder name.
+   * @return Name of the node.
+   */
+  const std::string& GetName() const;
+  /**
+   * Returns the type of node.
+   * @return Either wxDIR_FILES for files or wxDIR_DIRS for folders.
+   */
+  const unsigned char& GetType() const;
+  /**
+   * Returns the level of the node in the project tree.
+   * @return Level of the node in the project tree.
+   */
+  const int& GetLevel() const;
+  /**
+   * Returns a reference to the parent node of the actual node.
+   * @return The reference of the parent node or NULL.
+   */
+  modelCDMIProjectTreeNode* GetParent() const;
+  /**
+   * Returns an array with the hierarchy route between the node and the project root
+   * @return Hierarchy array ordered from higher to lower node level down to the project root.
+   */
+  std::vector<modelCDMIProjectTreeNode*> GetParents() const;
+  /**
+   * Returns the children nodes of the actual node.
+   * @return An array with the children nodes.
+   */
+  const std::vector<modelCDMIProjectTreeNode*>& GetChildren() const;
+  /**
+   * Returns the file size of the node.
+   * @return File size.
+   */
+  const int& GetLength();
+  /**
+   * Sets the id of the node in the project tree.
+   * @param id Id of the node.
+   */
+  void SetId(const wxCDMTreeItemId& id);
+  /**
+   * Sorts the children using the compareNodeItem function.
+   */
+  void SortChildren();
+  /**
+   * Sets the children array of the node. Warning: it discards the older children.
+   * @param children Array of children nodes.
+   */
+  void SetChildren(const std::vector<modelCDMIProjectTreeNode*>& children);
+
+  /**
+   * Refreshes the structure of the node and its children.
+   * @param result Result of the procedure.
+   * @return True if the procedure was successful.
+   */
+  virtual const bool Refresh(std::string*& result);
+  /**
+   * Opens the file explorer in the containing folder of the file or in the folder itself.
+   * @param result Result of the procedure.
+   * @return True if the procedure was successful.
+   */
+  const bool OpenInFileExplorer(std::string*& result) const;
+
+  protected:
+  /**
+   * Id of the node in the project tree.
+   */
+  wxCDMTreeItemId id;
+  /**
+   * path of the node in the computer.
+   */
+  std::string path;
+  /**
+   * Name of the folder or file.
+   */
+  std::string name;
+  /**
+   * Type of the node. Either wxDIR_FILES for files or wxDIR_DIRS for folders.
+   */
+  unsigned char type;
+  /**
+   * Level of the node in the file hierarchy.
+   */
+  int level;
+  /**
+   * Length of the file in the system.
+   */
+  int length;
+  /**
+   * Reference to the parent node.
+   */
+  modelCDMIProjectTreeNode* parent;
+  /**
+   * Array of references to the children nodes.
+   */
+  std::vector<modelCDMIProjectTreeNode*> children;
+
+};
+
+
+#endif /* MODELCDMIPROJECTTREENODE_H_ */
diff --git a/lib/creaDevManagerLib/modelCDMLib.cpp b/lib/creaDevManagerLib/modelCDMLib.cpp
new file mode 100644
index 0000000..48df51b
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMLib.cpp
@@ -0,0 +1,539 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMLib.cpp
+ *
+ *  Created on: Nov 23, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "modelCDMLib.h"
+
+#include <fstream>
+#include <sstream>
+#include <algorithm>
+
+#include "CDMUtilities.h"
+#include "creaWx.h"
+#include "wx/dir.h"
+
+modelCDMLib::modelCDMLib()
+{
+}
+
+modelCDMLib::modelCDMLib(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level)
+{
+  std::cout << "creating lib\n";
+  this->parent = parent;
+  this->type = wxDIR_DIRS;
+  this->name = name;
+  this->level = level;
+  this->path = path;
+
+
+
+  this->path = CDMUtilities::fixPath(path);
+  //open makelists file
+  std::string pathFixed(CDMUtilities::fixPath(path));
+
+  this->libraries.clear();
+  wxDir dir(crea::std2wx((pathFixed).c_str()));
+  if (dir.IsOpened())
+    {
+      wxString fileName;
+      //folders
+      bool cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_DIRS);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+
+          if(stdfileName != "template_lib")
+            {
+              modelCDMLibrary* library = new modelCDMLibrary(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->libraries.push_back(library);
+              this->children.push_back(library);
+            }
+          else
+            {
+              modelCDMFolder* folder = new modelCDMFolder(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(folder);
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+      //files
+      cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_FILES);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::size_t fileTypePos = stdfileName.find_last_of(".");
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
+
+          //if CMakeLists, create CMakeLists
+          if(stdfileName == "CMakeLists.txt")
+            {
+              this->CMakeLists = new modelCDMCMakeListsFile(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(this->CMakeLists);
+            }
+          //if is a code file, create modelCDMCodeFile
+          else if(
+              fileType == ".c" ||
+              fileType == ".cxx" ||
+              fileType == ".h" ||
+              fileType == ".cpp" ||
+              fileType == ".txx" ||
+              fileType == ".cmake" )
+            {
+              this->children.push_back(new modelCDMCodeFile(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+            }
+          //if is an unknown file, create file
+          else
+            {
+              this->children.push_back(new modelCDMFile(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+    }
+  this->SortChildren();
+  std::sort(this->libraries.begin(), this->libraries.end(), CompareNodeItem);
+}
+
+modelCDMLib::~modelCDMLib()
+{
+}
+
+const std::vector<modelCDMLibrary*>& modelCDMLib::GetLibraries() const
+{
+  return this->libraries;
+}
+
+modelCDMLibrary* modelCDMLib::CreateLibrary(
+    const std::string& namein,
+    std::string*& result
+)
+{
+  std::vector<std::string> words;
+  CDMUtilities::splitter::split(words,namein," '/\\*\"%",CDMUtilities::splitter::no_empties);
+  std::string name;
+  for (int i = 0; i < (int)(words.size()); i++)
+    {
+	  name += words[i];
+    }
+  if (name == "")
+    {
+      result = new std::string("The given name is not valid:  '/\\*\"% are forbidden.");
+	  return NULL;
+    }
+  //copy template library folder with new name
+#ifdef _WIN32
+	std::string copyCommand = "xcopy \"" + this->path + CDMUtilities::SLASH + "template_lib\" \"" + this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "\" /Y";
+#else
+  std::string copyCommand = "cp -r \"" + this->path + CDMUtilities::SLASH + "template_lib\" \"" + this->path + CDMUtilities::SLASH + name + "\"";
+#endif
+  if(system(copyCommand.c_str()))
+    {
+      result = new std::string("An error occurred while running '" + copyCommand + "'.");
+      return NULL;
+    }
+  //set name of library in CMakeLists inside copied folder
+  std::string line;
+  std::ifstream in((this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt").c_str());
+  if( !in.is_open())
+    {
+      result = new std::string("CMakeLists.txt file failed to open.");
+      return NULL;
+    }
+  std::ofstream out((this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt.tmp").c_str());
+  while (getline(in, line))
+    {
+      if(line == "SET ( LIBRARY_NAME   MyLib  )")
+        line = "SET ( LIBRARY_NAME   " + name + "  )";
+      out << line << std::endl;
+    }
+  in.close();
+  out.close();
+  //delete old file and rename new file
+#ifdef _WIN32
+  std::string renameCommand = "move /Y \"" + this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#else
+  std::string renameCommand = "mv \"" + this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#endif
+  if(system(renameCommand.c_str()))
+    {
+      result = new std::string("An error occurred while running '" + renameCommand + "'.");
+      return NULL;
+    }
+
+  //add library to lib CMakeLists
+  std::fstream out1((this->path + CDMUtilities::SLASH + "CMakeLists.txt").c_str(), std::fstream::in | std::fstream::out | std::fstream::app);
+  if (out1.is_open())
+    {
+      out1 << "ADD_SUBDIRECTORY(" << name << ")" << std::endl;
+      out1.close();
+    }
+
+
+  //add library to model
+  modelCDMLibrary* library = new modelCDMLibrary(this, this->path + CDMUtilities::SLASH + name, name, this->level + 1);
+  this->libraries.push_back(library);
+  this->children.push_back(library);
+
+  this->SortChildren();
+
+  result = new std::string(this->path + CDMUtilities::SLASH + name);
+  return library;
+}
+
+const bool modelCDMLib::Refresh(std::string*& result)
+{
+  std::cout << "refreshing lib" << std::endl;
+  this->type = wxDIR_DIRS;
+
+
+
+  std::vector<bool> checked(this->children.size(), false);
+  std::vector<bool> checkedLibraries(this->libraries.size(), false);
+
+  //check all folders
+  wxDir dir(crea::std2wx((this->path).c_str()));
+  if (dir.IsOpened())
+    {
+      wxString fileName;
+      bool cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_DIRS);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+
+          if(stdfileName != "template_lib")
+            {
+              std::string libraryName = stdfileName;
+              //check if library already exist
+              bool found = false;
+              for (int i = 0; !found && i < (int)(this->libraries.size()); i++)
+                {
+                  if (this->libraries[i]->GetName() == libraryName)
+                    {
+                      found = true;
+                      int pos = std::find(this->children.begin(), this->children.end(), this->libraries[i]) - this->children.begin();
+                      checked[pos] = true;
+                      checkedLibraries[i] = true;
+                      if(!this->libraries[i]->Refresh(result))
+                        return false;
+                    }
+                }
+              if(!found)
+                {
+                  modelCDMLibrary* library = new modelCDMLibrary(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  this->libraries.push_back(library);
+                  this->children.push_back(library);
+                }
+            }
+          else
+            {
+              //check if folder already exist
+              bool found = false;
+              for (int i = 0; !found && i < (int)(this->children.size()); i++)
+                {
+                  if (this->children[i]->GetName() == stdfileName)
+                    {
+                      found = true;
+                      checked[i] = true;
+                      if(!this->children[i]->Refresh(result))
+                        return false;
+                    }
+                }
+              if(!found)
+                {
+                  modelCDMFolder* folder= new modelCDMFolder(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  this->children.push_back(folder);
+                }
+            }
+          cont = dir.GetNext(&fileName);
+        }
+
+      cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_FILES);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::size_t fileTypePos = stdfileName.find_last_of(".");
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
+
+
+          //if CMakeLists, create CMakeLists
+          if(stdfileName == "CMakeLists.txt")
+            {
+              if (this->CMakeLists == NULL)
+                {
+                  this->CMakeLists = new modelCDMCMakeListsFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  this->children.push_back(this->CMakeLists);
+                }
+              else
+                {
+                  int pos = std::find(this->children.begin(), this->children.end(), this->CMakeLists) - this->children.begin();
+                  checked[pos] = true;
+                  if(!this->CMakeLists->Refresh(result))
+                    return false;
+                }
+            }
+          //if is an unknown file, create file
+          else
+            {
+              bool found = false;
+              for (int i = 0; !found && i < (int)(this->children.size()); i++)
+                {
+                  if (this->children[i]->GetName() == stdfileName)
+                    {
+                      found = true;
+                      checked[i] = true;
+                      if(!this->children[i]->Refresh(result))
+                        return false;
+                    }
+                }
+
+              if(!found)
+                {
+                  //if is a code file, create modelCDMCodeFile
+                  if(
+                      fileType == ".c" ||
+                      fileType == ".cxx" ||
+                      fileType == ".h" ||
+                      fileType == ".cpp" ||
+                      fileType == ".txx" ||
+                      fileType == ".cmake" )
+                    {
+                      this->children.push_back(new modelCDMCodeFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+                    }
+                  else
+                    {
+                      modelCDMFile* file = new modelCDMFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                      this->children.push_back(file);
+                    }
+                }
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+    }
+
+  for (int i = 0; i < (int)(checkedLibraries.size()); i++)
+    {
+      if(!checkedLibraries[i])
+        {
+          this->libraries.erase(this->libraries.begin()+i);
+          checkedLibraries.erase(checkedLibraries.begin()+i);
+          i--;
+        }
+    }
+  for (int i = 0; i < (int)(checked.size()); i++)
+    {
+      if(!checked[i])
+        {
+          delete this->children[i];
+          this->children.erase(this->children.begin()+i);
+          checked.erase(checked.begin()+i);
+          i--;
+        }
+    }
+  this->SortChildren();
+  std::sort(this->libraries.begin(), this->libraries.end(), CompareNodeItem);
+  return true;
+}
+
+void modelCDMLib::CheckStructure(std::map<std::string, bool>& properties)
+{
+  //check cmake exist
+  if(this->CMakeLists != NULL)
+    {
+      //set properties parameters based on model
+      for (int i = 0; i < (int)(this->libraries.size()); i++)
+        properties["lib add " + libraries[i]->GetName()] = false;
+
+      //open cmakelists
+      std::ifstream confFile;
+      confFile.open((this->CMakeLists->GetPath()).c_str());
+
+      //take everything that is not commented
+      std::string fileContent;
+
+      std::string word;
+      std::vector<std::string> words;
+      while(confFile.is_open() && !confFile.eof())
+        {
+          std::getline(confFile,word, '\n');
+          if(word[0] != '#')
+            {
+              CDMUtilities::splitter::split(words, word, "#", CDMUtilities::splitter::empties_ok);
+              if (words.size() > 0)
+                {
+                  word = words[0];
+                  CDMUtilities::splitter::split(words, word, " ", CDMUtilities::splitter::empties_ok);
+                  for (int i = 0; i < (int)(words.size()); i++)
+                    {
+                      if(words[i].substr(0,2) == "//")
+                        break;
+                      fileContent += words[i] + " ";
+                    }
+                }
+            }
+        }
+
+      //check every instruction
+      std::stringstream ss(fileContent);
+      while(!ss.eof())
+        {
+          std::getline(ss,word, '(');
+
+          //check instruction name
+          CDMUtilities::splitter::split(words, word, " ", CDMUtilities::splitter::no_empties);
+
+          //add instructions
+          if (words.size() > 0 && words[words.size()-1] == "ADD_SUBDIRECTORY")
+            {
+              std::getline(ss,word, ')');
+              //std::cout << word << std::endl;
+              CDMUtilities::splitter::split(words, word, " ", CDMUtilities::splitter::no_empties);
+
+              if (words.size() > 0)
+                {
+                  {
+                    properties["lib add " + words[0]] = true;
+                  }
+                }
+            }
+        }
+
+    }
+
+  //check libraries' structure
+  for (int i = 0; i < (int)(this->libraries.size()); i++)
+    {
+      properties["library " + this->libraries[i]->GetName()] = true;
+      this->libraries[i]->CheckStructure(properties);
+    }
+}
+
+bool modelCDMLib::IsLibraryIncluded(const std::string& library_name)
+{
+  if (this->HasCMakeLists())
+    {
+      CDMUtilities::CMLFile cmlFile = CDMUtilities::readCMLFile(this->CMakeLists->GetPath().c_str());
+      for (int i = 0; i < cmlFile.size(); ++i)
+        {
+          if (cmlFile[i].first=="command" && cmlFile[i].second[0] == "ADD_SUBDIRECTORY")
+            {
+              int pos = 1;
+              while (pos < cmlFile[i].second.size())
+                {
+                  if (!isspace(cmlFile[i].second[pos][0]) && cmlFile[i].second[pos][0] != '(' && cmlFile[i].second[pos][0] != '#')
+                    {
+                      if (library_name == cmlFile[i].second[pos])
+                        return true;
+                      break;
+                    }
+                  pos++;
+                }
+            }
+        }
+    }
+  return false;
+}
+
+bool modelCDMLib::SetLibraryInclude(const std::string& library_name, const bool& toInclude)
+{
+  if (this->HasCMakeLists())
+    {
+      CDMUtilities::CMLFile cmlFile = CDMUtilities::readCMLFile(this->CMakeLists->GetPath().c_str());
+
+      bool found = false;
+
+      for (int i = 0; i < cmlFile.size(); ++i)
+        {
+          if(toInclude && cmlFile[i].first == "comment")
+            {
+              std::vector<std::string> segments;
+              std::string line = cmlFile[i].second[0];
+              while(line[0] == '#')
+                line.erase(0,1);
+
+              CDMUtilities::splitter::split(segments, line, " ()", CDMUtilities::splitter::no_empties);
+              if (segments.size() > 1 && segments[0] == "ADD_SUBDIRECTORY" && segments[1] == library_name)
+                {
+                  found = true;
+                  while(cmlFile[i].second[0][0] == '#')
+                    cmlFile[i].second[0].erase(0,1);
+                }
+            }
+          else if(cmlFile[i].first == "command" && cmlFile[i].second[0] == "ADD_SUBDIRECTORY")
+            {
+              int pos = 1;
+              while (pos < cmlFile[i].second.size())
+                {
+                  if (!isspace(cmlFile[i].second[pos][0]) && cmlFile[i].second[pos][0] != '(' && cmlFile[i].second[pos][0] != '#')
+                    {
+                      if (library_name == cmlFile[i].second[pos])
+                        {
+                          found = true;
+                          if (!toInclude)
+                            {
+                              cmlFile[i].first = "comment";
+                              cmlFile[i].second[0] = "#" + cmlFile[i].second[0];
+                              while (cmlFile[i].second.size() > 1)
+                                {
+                                  cmlFile[i].second[0] += cmlFile[i].second[1];
+                                  cmlFile[i].second.erase(cmlFile[i].second.begin()+1);
+                                }
+
+                            }
+                        }
+                      break;
+                    }
+                  pos++;
+                }
+            }
+        }
+      if (!found && toInclude)
+        {
+          CDMUtilities::syntaxElement element;
+          element.first = "command";
+          element.second.push_back("ADD_SUBDIRECTORY(" + library_name + ")");
+          cmlFile.push_back(element);
+        }
+
+      return CDMUtilities::writeCMLFile(this->CMakeLists->GetPath().c_str(),cmlFile);
+    }
+  return false;
+}
diff --git a/lib/creaDevManagerLib/modelCDMLib.h b/lib/creaDevManagerLib/modelCDMLib.h
new file mode 100644
index 0000000..d8b8c27
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMLib.h
@@ -0,0 +1,120 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMLib.h
+ *
+ *  Created on: Nov 23, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef MODELCDMLIB_H_
+#define MODELCDMLIB_H_
+
+#include<iostream>
+#include<vector>
+#include<map>
+
+#include "modelCDMFolder.h"
+#include "modelCDMLibrary.h"
+
+/**
+ * Class representing the lib folder of a Crea project.
+ */
+class modelCDMLib : public modelCDMFolder
+{
+public:
+  /**
+   * Default Constructor.
+   */
+  modelCDMLib();
+  /**
+   * Lib folder node constructor.
+   * @param parent Parent node of the lib folder node.
+   * @param path Full path to the lib folder node.
+   * @param name Name of the lib folder node. By default "lib".
+   * @param level Project hierarchy level of the lib folder node.
+   */
+  modelCDMLib(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name = "lib", const int& level = 1);
+  /**
+   * Destructor.
+   */
+  ~modelCDMLib();
+
+  /**
+   * Returns the libraries registered in the lib folder.
+   * @return Array of library references.
+   */
+  const std::vector<modelCDMLibrary*>& GetLibraries() const;
+
+  /**
+   * Creates a new library node for the actual project and registers it. It modifies the project model as well as the system. The created library is included in the lib's CMakeLists file.
+   * @param name Name of the new library.
+   * @param result Result message.
+   * @return New library reference.
+   */
+  modelCDMLibrary* CreateLibrary(
+      const std::string& name,
+      std::string*& result
+  );
+
+  /**
+   * Refreshes the structure of the lib folder. Deletes folders and files deleted since the las refresh and Adds folders and files created since the las refresh.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  virtual const bool Refresh(std::string*& result);
+
+  /**
+   * Checks the file structure and the CMakeLists file to find structure definition errors before compiling the project.
+   * @param properties Properties of the project.
+   */
+  void CheckStructure(std::map<std::string, bool>& properties);
+
+  /**
+   * Checks if the given library is included in the CMakeLists file.
+   * @param library_name Name of the library to check.
+   * @return True if the library is included, otherwise returns False.
+   */
+  bool IsLibraryIncluded(const std::string& library_name);
+
+  /**
+   * Sets the inclusion of the library in the lib's CMakeLists file. If the library inclusion already exist in file, then the line is uncommented/commented depending on the requested action. If the library inclusion doesn't exist yet, then it is included if the request is an inclusion.
+   * @param library_name Name of the library to include/exclude.
+   * @param toInclude True if the request is an inclusion, False otherwise.
+   * @return True if the request was processed successfully.
+   */
+  bool SetLibraryInclude(const std::string& library_name, const bool& toInclude);
+
+private:
+  /**
+   * Libraries references.
+   */
+  std::vector<modelCDMLibrary*> libraries;
+};
+
+#endif /* MODELCDMLIB_H_ */
diff --git a/lib/creaDevManagerLib/modelCDMLibrary.cpp b/lib/creaDevManagerLib/modelCDMLibrary.cpp
new file mode 100644
index 0000000..4e831ba
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMLibrary.cpp
@@ -0,0 +1,917 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMLibrary.cpp
+ *
+ *  Created on: Nov 23, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "modelCDMLibrary.h"
+
+#include "modelCDMLib.h"
+
+#include <fstream>
+#include <sstream>
+#include <algorithm>
+#include <boost/regex.hpp>
+
+#include "CDMUtilities.h"
+#include "creaWx.h"
+#include "wx/dir.h"
+
+modelCDMLibrary::modelCDMLibrary()
+{
+}
+
+modelCDMLibrary::modelCDMLibrary(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level)
+{
+  std::cout << "creating library: " + path + "\n";
+  this->parent = parent;
+  //folder name
+  this->name = name;
+  //path
+  this->path = CDMUtilities::fixPath(path);
+  //type
+  this->type = wxDIR_DIRS;
+  //level
+  this->level = level;
+
+  //open CMakeList
+  std::string pathMakeLists = path + CDMUtilities::SLASH + "CMakeLists.txt";
+
+  std::ifstream confFile;
+  confFile.open((pathMakeLists).c_str());
+
+  std::string word;
+  while(confFile.is_open() && !confFile.eof())
+    {
+      //get sets
+      std::getline(confFile,word,'(');
+      std::vector<std::string> wordBits;
+      CDMUtilities::splitter::split(wordBits,word," (\n",CDMUtilities::splitter::no_empties);
+
+      if(wordBits[wordBits.size()-1] == "SET")
+        {
+          //get library name
+          std::getline(confFile,word,')');
+          CDMUtilities::splitter::split(wordBits, word, " ", CDMUtilities::splitter::no_empties);
+          if(wordBits[0] == "LIBRARY_NAME")
+            {
+              word = wordBits[1];
+              for (int i = 2; i < (int)(wordBits.size()); i++)
+                {
+                  word += " " + wordBits[i];
+                }
+
+              this->nameLibrary = word;
+            }
+        }
+    }
+
+  confFile.close();
+
+  //add library contents
+
+  this->children.clear();
+  wxDir dir(crea::std2wx((this->path).c_str()));
+  if (dir.IsOpened())
+    {
+      wxString fileName;
+      //folders
+      bool cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_DIRS);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+
+          modelCDMFolder* folder = new modelCDMFolder(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+          this->folders.push_back(folder);
+          this->children.push_back(folder);
+
+          cont = dir.GetNext(&fileName);
+        }
+      //files
+      cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_FILES);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::size_t fileTypePos = stdfileName.find_last_of(".");
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
+
+          //if CMakeLists, create CMakeLists
+          if(stdfileName == "CMakeLists.txt")
+            {
+              this->CMakeLists = new modelCDMCMakeListsFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(this->CMakeLists);
+            }
+          //if is a code file, create code file
+          else if(fileType == ".c" ||
+              fileType == ".cxx" ||
+              fileType == ".h" ||
+              fileType == ".cpp" ||
+              fileType == ".txx" ||
+              fileType == ".cmake" )
+            {
+              modelCDMCodeFile* file = new modelCDMCodeFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(file);
+            }
+          //if is an unknown file, create file
+          else
+            {
+              this->children.push_back(new modelCDMFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+    }
+  this->SortChildren();
+  std::sort(this->folders.begin(), this->folders.end(), CompareNodeItem);
+}
+
+modelCDMLibrary::~modelCDMLibrary()
+{
+}
+
+const std::string& modelCDMLibrary::GetNameLibrary() const
+{
+  return this->nameLibrary;
+}
+
+bool modelCDMLibrary::SetNameLibrary(const std::string& fileName, std::string*& result)
+{
+  std::vector<std::string> words;
+  CDMUtilities::splitter::split(words, fileName, ", /\\\"", CDMUtilities::splitter::no_empties);
+  std::string fileNameReal = words[0];
+  for (int i = 1; i < (int)(words.size()); i++)
+    {
+      fileNameReal += "-" + words[i];
+    }
+
+  std::string line;
+  //opening original cmakelists
+  std::ifstream in((this->path + CDMUtilities::SLASH + "CMakeLists.txt").c_str());
+  if( !in.is_open())
+    {
+      result = new std::string("CMakeLists.txt file failed to open.");
+      return false;
+    }
+  //opening temporal cmakelists
+  std::ofstream out((this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp").c_str());
+  if( !out.is_open())
+    {
+      result = new std::string("CMakeLists.txt.tmp file failed to open.");
+      return false;
+    }
+  //copying contents from original to temporal and making changes
+  while (getline(in, line))
+    {
+      if(line.find("SET ( LIBRARY_NAME") != std::string::npos)
+        line = "SET ( LIBRARY_NAME  " + fileNameReal + "  )";
+      out << line << std::endl;
+    }
+  in.close();
+  out.close();
+  //delete old file and rename new file
+#ifdef _WIN32
+  std::string renameCommand = "move /Y \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#else
+  std::string renameCommand = "mv \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#endif
+  if(system(renameCommand.c_str()))
+    {
+      result = new std::string("An error occurred while running '" + renameCommand + "'.");
+      return false;
+    }
+
+  this->nameLibrary = fileNameReal;
+  return true;
+}
+
+modelCDMFolder* modelCDMLibrary::CreateFolder(const std::string& name, std::string*& result)
+{
+  //TODO:: mkdir depending on OS
+  std::string command = "mkdir \"" + path + CDMUtilities::SLASH + name + "\"";
+  if(system(command.c_str()))
+    {
+      result = new std::string("Error executing: " + command + ".");
+      return NULL;
+    }
+  modelCDMFolder* folder = new modelCDMFolder(this, path + CDMUtilities::SLASH + name, name, level + 1);
+  this->folders.push_back(folder);
+  this->children.push_back(folder);
+
+  return folder;
+}
+
+const bool modelCDMLibrary::Refresh(std::string*& result)
+{
+  std::cout << "refreshing library: " << this->nameLibrary << std::endl;
+  //set attributes
+  this->type = wxDIR_DIRS;
+
+  //open CMakeList
+  std::string pathMakeLists = path + CDMUtilities::SLASH + "CMakeLists.txt";
+
+  std::ifstream confFile;
+  confFile.open((pathMakeLists).c_str());
+
+  std::string word;
+  while(confFile.is_open() && !confFile.eof())
+    {
+      //get sets
+      std::getline(confFile,word,'(');
+      std::vector<std::string> wordBits;
+      CDMUtilities::splitter::split(wordBits,word," (\n",CDMUtilities::splitter::no_empties);
+
+      if(wordBits[wordBits.size()-1] == "SET")
+        {
+          //get library name
+          std::getline(confFile,word,')');
+          CDMUtilities::splitter::split(wordBits, word, " ", CDMUtilities::splitter::no_empties);
+          if(wordBits[0] == "LIBRARY_NAME")
+            {
+              word = wordBits[1];
+              for (int i = 2; i < (int)(wordBits.size()); i++)
+                {
+                  word += " " + wordBits[i];
+                }
+
+              this->nameLibrary = word;
+            }
+        }
+    }
+
+  confFile.close();
+
+  //check children
+  std::vector<bool> checked(this->children.size(), false);
+  std::vector<bool> checkedFolders(this->folders.size(), false);
+
+  //check all folders
+  wxDir dir(crea::std2wx((this->path).c_str()));
+  if (dir.IsOpened())
+    {
+      wxString fileName;
+      bool cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_DIRS);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          //check if they already exist
+          bool found = false;
+          for (int i = 0; !found && i < (int)(this->folders.size()); i++)
+            {
+              if (this->folders[i]->GetName() == stdfileName)
+                {
+                  found = true;
+                  int pos = std::find(this->children.begin(), this->children.end(), this->folders[i]) - this->children.begin();
+                  checked[pos] = true;
+                  checkedFolders[i] = true;
+                  if(!this->folders[i]->Refresh(result))
+                    return false;
+                }
+            }
+          if(!found)
+            {
+              modelCDMFolder* folder = new modelCDMFolder(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->folders.push_back(folder);
+              this->children.push_back(folder);
+            }
+          cont = dir.GetNext(&fileName);
+        }
+
+      cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_FILES);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::size_t fileTypePos = stdfileName.find_last_of(".");
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
+
+          //if CMakeLists, create CMakeLists
+          if(stdfileName == "CMakeLists.txt")
+            {
+              if (this->CMakeLists == NULL)
+                {
+                  this->CMakeLists = new modelCDMCMakeListsFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  this->children.push_back(this->CMakeLists);
+                }
+              else
+                {
+                  int pos = std::find(this->children.begin(), this->children.end(), this->CMakeLists) - this->children.begin();
+                  checked[pos] = true;
+                  if(!this->CMakeLists->Refresh(result))
+                    return false;
+                }
+            }
+          //if is an unknown file, check if exist in children
+          else
+            {
+              bool found = false;
+              for (int i = 0; !found && i < (int)(this->children.size()); i++)
+                {
+                  if (this->children[i]->GetName() == stdfileName)
+                    {
+                      found = true;
+                      checked[i] = true;
+                      if(!this->children[i]->Refresh(result))
+                        return false;
+                    }
+                }
+
+              if(!found)
+                {
+                  //if is a code file, create modelCDMCodeFile
+                  if(
+                      fileType == ".c" ||
+                      fileType == ".cxx" ||
+                      fileType == ".h" ||
+                      fileType == ".cpp" ||
+                      fileType == ".txx" ||
+                      fileType == ".cmake" )
+                    {
+                      this->children.push_back(new modelCDMCodeFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+                    }
+                  else
+                    {
+                      modelCDMFile* file = new modelCDMFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                      this->children.push_back(file);
+                    }
+                }
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+    }
+
+  for (int i = 0; i < (int)(checkedFolders.size()); i++)
+    {
+      if(!checkedFolders[i])
+        {
+          this->folders.erase(this->folders.begin()+i);
+          checkedFolders.erase(checkedFolders.begin()+i);
+          i--;
+        }
+    }
+  for (int i = 0; i < (int)(checked.size()); i++)
+    {
+      if(!checked[i])
+        {
+          delete this->children[i];
+          this->children.erase(this->children.begin()+i);
+          checked.erase(checked.begin()+i);
+          i--;
+        }
+    }
+  this->SortChildren();
+  std::sort(this->folders.begin(), this->folders.end(), CompareNodeItem);
+  return true;
+}
+
+void modelCDMLibrary::CheckStructure(std::map<std::string, bool>& properties)
+{
+  //check cmake exist
+  if(this->CMakeLists != NULL)
+    {
+      //set default values
+      properties["library " + this->name + " lib ${crea_LIBRARIES}"] = false;
+      properties["library " + this->name + " lib ${WXWIDGETS_LIBRARIES}"] = false;
+      properties["library " + this->name + " lib ${KWWidgets_LIBRARIES}"] = false;
+      properties["library " + this->name + " lib ${VTK_LIBRARIES}"] = false;
+      properties["library " + this->name + " lib ${ITK_LIBRARIES}"] = false;
+      properties["library " + this->name + " lib ${GDCM_LIBRARIES}"] = false;
+      properties["library " + this->name + " lib ${BOOST_LIBRARIES}"] = false;
+
+
+      //open cmakelists
+      std::ifstream confFile;
+      confFile.open((this->CMakeLists->GetPath()).c_str());
+
+      //take everything that is not commented
+      std::string fileContent;
+
+      std::string word;
+      std::vector<std::string> words;
+      while(confFile.is_open() && !confFile.eof())
+        {
+          std::getline(confFile,word, '\n');
+          if(word[0] != '#')
+            {
+              CDMUtilities::splitter::split(words, word, "#", CDMUtilities::splitter::empties_ok);
+              if (words.size() > 0)
+                {
+                  word = words[0];
+                  CDMUtilities::splitter::split(words, word, " ", CDMUtilities::splitter::empties_ok);
+                  for (int i = 0; i < (int)(words.size()); i++)
+                    {
+                      if(words[i].substr(0,2) == "//")
+                        break;
+                      fileContent += words[i] + " ";
+                    }
+                }
+            }
+        }
+
+      //check every instruction
+      std::stringstream ss(fileContent);
+      while(!ss.eof())
+        {
+          std::getline(ss,word, '(');
+
+          //check instruction name
+          CDMUtilities::splitter::split(words, word, " ", CDMUtilities::splitter::no_empties);
+
+          //set instructions
+          if (words.size() > 0 && words[words.size()-1] == "SET")
+            {
+              std::getline(ss,word, ')');
+
+              CDMUtilities::splitter::split(words, word, " \t", CDMUtilities::splitter::no_empties);
+              if (words.size() > 1)
+                {
+                  if (words[0] == "${LIBRARY_NAME}_LINK_LIBRARIES")
+                    {
+                      for (int i = 1; i < (int)(words.size()); i++)
+                        {
+                          properties["library " + this->name + " lib " + words[i]] = true;
+                        }
+                    }
+                }
+            }
+        }
+
+    }
+}
+
+std::map<std::string, bool> modelCDMLibrary::Get3rdPartyLibraries()
+{
+  std::map<std::string, std::string> correspondence;
+  correspondence["${crea_LIBRARIES}"] = "Crea";
+  correspondence["${WXWIDGETS_LIBRARIES}"] = "WxWidgets";
+  correspondence["${KWWidgets_LIBRARIES}"] = "KWWidgets";
+  correspondence["${VTK_LIBRARIES}"] = "VTK";
+  correspondence["${ITK_LIBRARIES}"] = "ITK";
+  correspondence["${GDCM_LIBRARIES}"] = "GDCM";
+  correspondence["${BOOST_LIBRARIES}"] = "Boost";
+  std::map<std::string, bool> res;
+  res["Crea"] = false;
+  res["WxWidgets"] = false;
+  res["KWWidgets"] = false;
+  res["VTK"] = false;
+  res["ITK"] = false;
+  res["GDCM"] = false;
+  res["Boost"] = false;
+
+  if (this->HasCMakeLists())
+    {
+      std::string CMfile = CDMUtilities::readFile(this->CMakeLists->GetPath().c_str());
+
+      boost::regex expression("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{LIBRARY_NAME\\}_LINK_LIBRARIES(([\\s]|#[^\\n]*\\n)+([\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"))*([\\s]|#[^\\n]*\\n)*\\)");
+      std::string::const_iterator start, end;
+      start = CMfile.begin();
+      end = CMfile.end();
+      boost::match_results<std::string::const_iterator> what;
+      boost::match_flag_type flags = boost::match_default;
+      if(boost::regex_search(start, end, what, expression, flags))
+        {
+
+          expression = boost::regex("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{LIBRARY_NAME\\}_LINK_LIBRARIES");
+          std::string::const_iterator start1, end1;
+          start1 = what[0].first;
+          end1 = what[0].second;
+          boost::match_results<std::string::const_iterator> what1;
+          if(boost::regex_search(start1, end1, what1, expression, flags))
+            {
+              expression = boost::regex("(#[^\\n]*\\n|\\s*\\$\\{\\w+\\})");
+              std::string::const_iterator start2, end2;
+              start2 = what1[0].second;
+              end2 = what[0].second;
+              boost::match_results<std::string::const_iterator> what2;
+              while(boost::regex_search(start2, end2, what2, expression, flags))
+                {
+                  if(what2.str()[0] != '#')
+                    {
+                      std::string dete = what2.str();
+                      CDMUtilities::normalizeStr(dete);
+                      if(correspondence.find(dete) != correspondence.end())
+                        res[correspondence[dete]] = true;
+                    }
+                  start2 = what2[0].second;
+                }
+            }
+        }
+    }
+  return res;
+}
+
+bool modelCDMLibrary::Set3rdPartyLibrary(const std::string& library_name, const bool& toInclude)
+{
+  std::map<std::string, std::string> correspondence;
+
+  correspondence["Crea"] = "${crea_LIBRARIES}";
+  correspondence["WxWidgets"] = "${WXWIDGETS_LIBRARIES}";
+  correspondence["KWWidgets"] = "${KWWidgets_LIBRARIES}";
+  correspondence["VTK"] = "${VTK_LIBRARIES}";
+  correspondence["ITK"] = "${ITK_LIBRARIES}";
+  correspondence["GDCM"] = "${GDCM_LIBRARIES}";
+  correspondence["Boost"] = "${BOOST_LIBRARIES}";
+
+  std::map<std::string, std::string> regexCorrespondence;
+
+  regexCorrespondence["Crea"] = "\\$\\{crea_LIBRARIES\\}";
+  regexCorrespondence["WxWidgets"] = "\\$\\{WXWIDGETS_LIBRARIES\\}";
+  regexCorrespondence["KWWidgets"] = "\\$\\{KWWidgets_LIBRARIES\\}";
+  regexCorrespondence["VTK"] = "\\$\\{VTK_LIBRARIES\\}";
+  regexCorrespondence["ITK"] = "\\$\\{ITK_LIBRARIES\\}";
+  regexCorrespondence["GDCM"] = "\\$\\{GDCM_LIBRARIES\\}";
+  regexCorrespondence["Boost"] = "\\$\\{BOOST_LIBRARIES\\}";
+
+  if (correspondence.find(library_name) != correspondence.end())
+    {
+      std::string library_command = correspondence[library_name];
+      std::string regex_command = regexCorrespondence[library_name];
+      if (this->HasCMakeLists())
+        {
+          std::string CMfile = CDMUtilities::readFile(this->CMakeLists->GetPath().c_str());
+          std::string resCMfile = "";
+
+          boost::regex expression("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{LIBRARY_NAME\\}_LINK_LIBRARIES(([\\s]|#[^\\n]*\\n)+([\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"))*([\\s]|#[^\\n]*\\n)*\\)");
+          std::string::const_iterator start, end;
+          start = CMfile.begin();
+          end = CMfile.end();
+          boost::match_results<std::string::const_iterator> what;
+          boost::match_flag_type flags = boost::match_default;
+          if(boost::regex_search(start, end, what, expression, flags))
+            {
+              resCMfile += what.prefix().str();
+              bool found = false;
+              if (toInclude) {
+                expression = "^\\h*#+\\h*" + regex_command;
+                std::string::const_iterator start1, end1;
+                start1 = what[0].first;
+                end1 = what[0].second;
+                boost::match_results<std::string::const_iterator> what1, what2;
+                while(boost::regex_search(start1, end1, what1, expression, flags))
+                  {
+                    found = true;
+                    resCMfile += what1.prefix().str();
+                    std::string dete = what1[0].str();
+                    for (int i = 0; i < dete.size(); ++i) {
+                      if (dete[i] != '#')
+                        resCMfile.push_back(dete[i]);
+                    }
+                    what2 = what1;
+                    start1 = what1[0].second;
+                  }
+                if (found)
+                  resCMfile += what2.suffix().str();
+                else
+                  {
+                    expression = "^\\h*" + regex_command;
+                    if(boost::regex_search(start1, end1, what1, expression, flags))
+                      found = true;
+
+                    expression = "^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{LIBRARY_NAME\\}_LINK_LIBRARIES";
+                    boost::regex_search(start1, end1, what1, expression, flags);
+
+                    resCMfile += what1.prefix().str() + what1.str();
+                    if(!found)
+                      resCMfile += "\n" + library_command + "\n";
+                    resCMfile += what1.suffix().str();
+                  }
+
+              }else{
+                expression = "^\\h*" + regex_command;
+                std::string::const_iterator start1, end1;
+                start1 = what[0].first;
+                end1 = what[0].second;
+                boost::match_results<std::string::const_iterator> what1, what2;
+                while(boost::regex_search(start1, end1, what1, expression, flags))
+                  {
+                    found = true;
+                    resCMfile += what1.prefix().str();
+                    resCMfile += "#" + what1.str();
+                    what2 = what1;
+                    start1 = what1[0].second;
+                  }
+                if (found)
+                  resCMfile += what2.suffix().str();
+                else
+                  {
+                    expression = "^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{LIBRARY_NAME\\}_LINK_LIBRARIES";
+                    boost::regex_search(start1, end1, what1, expression, flags);
+
+                    resCMfile += what1.prefix().str() + what1.str() + what1.suffix().str();
+                  }
+              }
+              resCMfile += what.suffix().str();
+
+              return CDMUtilities::writeFile(this->CMakeLists->GetPath().c_str(), resCMfile);
+            }
+        }
+    }
+  return false;
+}
+
+std::map<std::string, bool> modelCDMLibrary::GetCustomLibraries()
+{
+  std::map<std::string, bool> res;
+  std::map<std::string, bool> res1;
+
+  std::map<std::string, std::string> correspondence;
+  std::vector<modelCDMLibrary*> libraries = ((modelCDMLib*)this->parent)->GetLibraries();
+  for (int i = 0; i < libraries.size(); ++i)
+    {
+      if(libraries[i]->GetNameLibrary() == this->nameLibrary)
+        continue;
+      correspondence[libraries[i]->GetName()] = libraries[i]->GetNameLibrary();
+      res[libraries[i]->GetNameLibrary()] = false;
+      res1[libraries[i]->GetNameLibrary()] = false;
+    }
+
+  if (this->HasCMakeLists())
+    {
+      std::string CMfile = CDMUtilities::readFile(this->CMakeLists->GetPath().c_str());
+
+      //find included libraries
+      boost::regex expression("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{LIBRARY_NAME\\}_LINK_LIBRARIES(([\\s]|#[^\\n]*\\n)+([\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"))*([\\s]|#[^\\n]*\\n)*\\)");
+      std::string::const_iterator start, end;
+      start = CMfile.begin();
+      end = CMfile.end();
+      boost::match_results<std::string::const_iterator> what;
+      boost::match_flag_type flags = boost::match_default;
+      if(boost::regex_search(start, end, what, expression, flags))
+        {
+
+          expression = boost::regex("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{LIBRARY_NAME\\}_LINK_LIBRARIES");
+          std::string::const_iterator start1, end1;
+          start1 = what[0].first;
+          end1 = what[0].second;
+          boost::match_results<std::string::const_iterator> what1;
+          if(boost::regex_search(start1, end1, what1, expression, flags))
+            {
+              expression = boost::regex("^\\h*[\\w\\d]+");
+              std::string::const_iterator start2, end2;
+              start2 = what1[0].second;
+              end2 = what[0].second;
+              boost::match_results<std::string::const_iterator> what2;
+              while(boost::regex_search(start2, end2, what2, expression, flags))
+                {
+                  std::string dete = what2.str();
+                  CDMUtilities::normalizeStr(dete);
+                  //std::cout << "detectado lib: " << dete << std::endl;
+                  if(res1.find(dete) != res1.end())
+                    res1[dete] = true;
+
+                  start2 = what2[0].second;
+                }
+            }
+        }
+
+      //find included folders
+      //std::cout << "searching..." << std::endl;
+      expression = boost::regex("^\\h*INCLUDE_DIRECTORIES([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*([\\./\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"){0,1}?(([\\s]|#[^\\n]*\\n)+([\\./\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"))*([\\s]|#[^\\n]*\\n)*\\)");
+      start = CMfile.begin();
+      end = CMfile.end();
+      if(boost::regex_search(start, end, what, expression, flags))
+        {
+          //std::cout << what.str() << std::endl;
+          expression = boost::regex("^\\h*INCLUDE_DIRECTORIES([\\s]|#[^\\n]*\\n)*\\(");
+          std::string::const_iterator start1, end1;
+          start1 = what[0].first;
+          end1 = what[0].second;
+          boost::match_results<std::string::const_iterator> what1;
+          if(boost::regex_search(start1, end1, what1, expression, flags))
+            {
+              //std::cout << what1.str() << std::endl;
+              expression = boost::regex("^\\h*\\.\\.\\/([\\w\\d])+");
+              std::string::const_iterator start2, end2;
+              start2 = what1[0].second;
+              end2 = what[0].second;
+              boost::match_results<std::string::const_iterator> what2;
+              while(boost::regex_search(start2, end2, what2, expression, flags))
+                {
+                  std::string dete = what2.str();
+                  CDMUtilities::normalizeStr(dete);
+                  //std::cout << "detectado dir: " << dete.substr(3) << std::endl;
+                  if(correspondence.find(dete.substr(3)) != correspondence.end())
+                    res[correspondence[dete.substr(3)]] = res1[correspondence[dete.substr(3)]];
+
+                  start2 = what2[0].second;
+                }
+            }
+        }
+    }
+
+  return res;
+}
+
+bool modelCDMLibrary::SetCustomLibrary(const std::string& library_name, const bool& toInclude)
+{
+  std::map<std::string, std::string> correspondence;
+  std::vector<modelCDMLibrary*> libraries = ((modelCDMLib*)this->parent)->GetLibraries();
+  for (int i = 0; i < libraries.size(); ++i)
+    {
+      if(libraries[i]->GetNameLibrary() == this->nameLibrary)
+        continue;
+      correspondence[libraries[i]->GetNameLibrary()] = libraries[i]->GetName();
+    }
+
+  if (correspondence.find(library_name) != correspondence.end())
+    {
+      if (this->HasCMakeLists())
+        {
+          std::string resCMfile = "";
+          std::string CMfile = CDMUtilities::readFile(this->CMakeLists->GetPath().c_str());
+          bool found = false;
+
+          //find included libraries
+          boost::regex expression("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{LIBRARY_NAME\\}_LINK_LIBRARIES(([\\s]|#[^\\n]*\\n)+([\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"))*([\\s]|#[^\\n]*\\n)*\\)");
+          std::string::const_iterator start, end;
+          start = CMfile.begin();
+          end = CMfile.end();
+          boost::match_results<std::string::const_iterator> what;
+          boost::match_flag_type flags = boost::match_default;
+          if(boost::regex_search(start, end, what, expression, flags))
+            {
+              resCMfile += what.prefix().str();
+              expression = boost::regex("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{LIBRARY_NAME\\}_LINK_LIBRARIES");
+              std::string::const_iterator start1, end1;
+              start1 = what[0].first;
+              end1 = what[0].second;
+              boost::match_results<std::string::const_iterator> what1;
+              if(boost::regex_search(start1, end1, what1, expression, flags))
+                {
+                  resCMfile += what1.prefix().str() + what1.str();
+                  //check if already exists
+                  expression = boost::regex("^\\h*"+library_name);
+                  std::string::const_iterator start2, end2;
+                  start2 = what1[0].second;
+                  end2 = what[0].second;
+                  boost::match_results<std::string::const_iterator> what2, temp2;
+                  while(boost::regex_search(start2, end2, what2, expression, flags))
+                    {
+                      resCMfile += what2.prefix().str();
+                      found = true;
+                      if (!toInclude)
+                        {
+                          resCMfile += "#";
+                        }
+                      resCMfile += what2.str();
+                      temp2 = what2;
+                      start2 = what2[0].second;
+                    }
+                  if(found)
+                    resCMfile += temp2.suffix().str();
+                  //check if is commented
+                  else
+                    {
+                      expression = boost::regex("^\\h*#+\\h*"+library_name);
+                      start2 = what1[0].second;
+                      end2 = what[0].second;
+                      while(boost::regex_search(start2, end2, what2, expression, flags))
+                        {
+                          found = true;
+                          resCMfile += what2.prefix().str();
+                          if(toInclude)
+                            {
+                              std::string dete = what2[0].str();
+                              for (int i = 0; i < dete.size(); ++i) {
+                                if (dete[i] != '#')
+                                  resCMfile.push_back(dete[i]);
+                              }
+                            }
+                          temp2 = what2;
+                          start2 = what2[0].second;
+                        }
+                      if(found)
+                        resCMfile += temp2.suffix().str();
+                      //add at the beggining of instruction
+                      else
+                        {
+                          if(toInclude)
+                            resCMfile += "\n" + library_name;
+                          resCMfile += what1.suffix().str();
+                        }
+                    }
+                }
+              resCMfile += what.suffix().str();
+            }
+          else
+            return false;
+
+          //find included folders
+          CMfile = resCMfile;
+          resCMfile = "";
+
+
+          found = false;
+          std::cout << "searching..." << CMfile << std::endl;
+          expression = boost::regex("^\\h*INCLUDE_DIRECTORIES([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*([\\.\\/\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"){0,1}?(([\\s]|#[^\\n]*\\n)+([\\.\\/\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"))*([\\s]|#[^\\n]*\\n)*\\)");
+          start = CMfile.begin();
+          end = CMfile.end();
+          if(boost::regex_search(start, end, what, expression, flags))
+            {
+              resCMfile += what.prefix().str();
+              std::cout << what.str() << std::endl;
+              expression = boost::regex("^\\h*INCLUDE_DIRECTORIES([\\s]|#[^\\n]*\\n)*\\(");
+              std::string::const_iterator start1, end1;
+              start1 = what[0].first;
+              end1 = what[0].second;
+              boost::match_results<std::string::const_iterator> what1;
+              if(boost::regex_search(start1, end1, what1, expression, flags))
+                {
+                  resCMfile += what1.prefix().str() + what1.str();
+                  std::cout << what1.str() << std::endl;
+                  //search if dir is already included
+                  expression = boost::regex("^\\h*\\.\\.\\/"+correspondence[library_name]);
+                  std::string::const_iterator start2, end2;
+                  start2 = what1[0].second;
+                  end2 = what[0].second;
+                  boost::match_results<std::string::const_iterator> what2, temp2;
+                  while(boost::regex_search(start2, end2, what2, expression, flags))
+                    {
+                      found = true;
+                      resCMfile += what2.prefix().str();
+                      if(!toInclude)
+                        resCMfile += "#";
+                      resCMfile += what2.str();
+                      temp2 = what2;
+                      start2 = what2[0].second;
+                    }
+                  if(found)
+                    resCMfile += temp2.suffix().str();
+                  //search if dir is commented
+                  else
+                    {
+                      expression = boost::regex("^\\h*#+\\h*\\.\\.\\/"+correspondence[library_name]);
+                      start2 = what1[0].second;
+                      end2 = what[0].second;
+                      while(boost::regex_search(start2, end2, what2, expression, flags))
+                        {
+                          found = true;
+                          resCMfile += what2.prefix().str();
+                          if(toInclude)
+                            {
+                              std::string dete = what2[0].str();
+                              for (int i = 0; i < dete.size(); ++i) {
+                                if (dete[i] != '#')
+                                  resCMfile.push_back(dete[i]);
+                              }
+                            }
+                          temp2 = what2;
+                          start2 = what2[0].second;
+                        }
+                      if(found)
+                        resCMfile += temp2.suffix().str();
+                      //add at the beggining of instruction
+                      else
+                        {
+                          if(toInclude)
+                            resCMfile += "\n../" + correspondence[library_name];
+                          resCMfile += what1.suffix().str();
+                        }
+                    }
+                }
+              resCMfile += what.suffix().str();
+            }
+          else
+            return false;
+
+          return CDMUtilities::writeFile(this->CMakeLists->GetPath().c_str(), resCMfile);
+        }
+    }
+
+  return false;
+}
diff --git a/lib/creaDevManagerLib/modelCDMLibrary.h b/lib/creaDevManagerLib/modelCDMLibrary.h
new file mode 100644
index 0000000..bec1278
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMLibrary.h
@@ -0,0 +1,136 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMLibrary.h
+ *
+ *  Created on: Nov 23, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef MODELCDMLIBRARY_H_
+#define MODELCDMLIBRARY_H_
+
+#include<iostream>
+#include<vector>
+#include<map>
+
+#include "modelCDMFolder.h"
+
+/**
+ * Class that represents a library in a Crea project.
+ */
+class modelCDMLibrary : public modelCDMFolder
+{
+public:
+  /**
+   * Default Constructor
+   */
+  modelCDMLibrary();
+  /**
+   * Constructor of the Library node.
+   * @param parent Parent node of the library node.
+   * @param path Full path to the library node.
+   * @param name Name of the library folder node.
+   * @param level Project hierarchy level of the library folder node.
+   */
+  modelCDMLibrary(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level = 2);
+  /**
+   * Destructor.
+   */
+  ~modelCDMLibrary();
+
+  /**
+   * Retrieves the name of the Library node. The name of a library can be different than the name of the folder that contains it
+   * @return Name of the library node.
+   */
+  const std::string& GetNameLibrary() const;
+  /**
+   * Renames the library with the given name.
+   * @param fileName New name of the library node.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  bool SetNameLibrary(const std::string& fileName, std::string*& result);
+
+  /**
+   * Creates a new folder inside the library folder node. This method not only modifies the project model, but also the system.
+   * @param name Name of the new folder.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  modelCDMFolder* CreateFolder(const std::string& name, std::string*& result);
+
+  /**
+   * Refreshes the structure of the library folder node. Deletes files and folders deleted since last refresh, adds files and folders created since last refresh.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  virtual const bool Refresh(std::string*& result);
+
+  /**
+   * Checks the library structure and CMakeLists file to find project structure definition problems before compiling the project.
+   * @param properties Project properties.
+   */
+  void CheckStructure(std::map<std::string, bool>& properties);
+
+  /**
+   * Checks the library CMakeLists file to check which third party libraries are enabled.
+   * @return A map with the name of the library and if it's included in the CMakeLists file.
+   */
+  std::map<std::string, bool> Get3rdPartyLibraries();
+
+  /**
+   * Sets the 3rd party library inclusion in the CMakeLists file.
+   * @return if the operation was successful.
+   */
+  bool Set3rdPartyLibrary(const std::string& library_name, const bool& toInclude);
+
+  /**
+   * Checks the library CMakeLists file to check which custom libraries are enabled.
+   * @return A map with the name of the library and if it's included in the CMakeLists file.
+   */
+  std::map<std::string, bool> GetCustomLibraries();
+
+  /**
+   * Sets the custom library inclusion in the CMakeLists file.
+   * @return if the operation was successful.
+   */
+  bool SetCustomLibrary(const std::string& library_name, const bool& toInclude);
+
+private:
+  /**
+   * Name of the library node. The name of a library can be different than the library folder name.
+   */
+  std::string nameLibrary;
+  /**
+   * Folder reference array of folder node inside the library node.
+   */
+  std::vector<modelCDMFolder*> folders;
+};
+
+#endif /* MODELCDMLIBRARY_H_ */
diff --git a/lib/creaDevManagerLib/modelCDMMain.cpp b/lib/creaDevManagerLib/modelCDMMain.cpp
new file mode 100644
index 0000000..8d69741
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMMain.cpp
@@ -0,0 +1,338 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+/*
+ * modelCDMMain.cpp
+ *
+ *  Created on: 13/11/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "modelCDMMain.h"
+
+
+#include <cstdlib>
+#include <iostream>
+#include <string>
+#include <vector>
+#include <cstdio>
+#include <fstream>
+
+#include "CDMUtilities.h"
+#include "modelCDMProject.h"
+
+modelCDMMain::modelCDMMain()
+{
+  this->project = NULL;
+}
+
+modelCDMMain::~modelCDMMain()
+{
+  if(project != NULL)
+    {
+      delete this->project;
+      this->project = NULL;
+    }
+}
+
+modelCDMProject* modelCDMMain::GetProject() const
+{
+  return this->project;
+}
+
+bool modelCDMMain::CreateProject(
+    const std::string& name,
+    const std::string& location,
+    std::string*& result,
+    const std::string& author,
+    const std::string& description)
+{
+  std::cout << "Open selection path: "<< location << std::endl;
+  //get fixed location
+  std::string locationFixed = CDMUtilities::fixPath(location);
+  std::cout << "Opening path: "<< locationFixed << std::endl;
+
+  //creates project in disk
+#if(_WIN32)
+
+  std::string command("creaNewProject.bat ");
+  std::string command1("creaSed.exe ");
+  std::string command2("del ");
+
+  command  += "\"" + locationFixed + "\" \"" + name + "\"";
+  command1 += "\"" + locationFixed + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt.in\" " + "PROJECT_NAME " + name + "> \"" + locationFixed + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt\"";
+  command2 += "\"" + locationFixed + CDMUtilities::SLASH + name + CDMUtilities::SLASH + "CMakeLists.txt.in\"";
+
+  if (system (command.c_str()))
+    {
+      result = new std::string("An error occurred while running '" + command + "'.");
+      return false;
+    }
+
+  if (system (command1.c_str()))
+    {
+      result = new std::string("An error occurred while running '" + command1 + "'.");
+      return false;
+    }
+  if (system (command2.c_str()))
+    {
+      result = new std::string("An error occurred while running '" + command2 + "'.");
+      return false;
+    }
+
+  std::string nomDirectory = locationFixed + CDMUtilities::SLASH + name;
+  std::string nomPackageDirectory = nomDirectory + CDMUtilities::SLASH + "bbtk_" + name + "_PKG";
+  std::string bbCreatePackage("bbCreatePackage ");
+  bbCreatePackage += "\"" + nomDirectory + "\" \"" + name + "\" \"" + author + "\" \"" + description + "\"";
+  if (!system (bbCreatePackage.c_str()))
+    {
+      result = new std::string("An error occurred while running '" + bbCreatePackage + "'.");
+	  return false;
+    }
+  std::string add;
+  add = "echo ADD_SUBDIRECTORY(bbtk_" + name  + "_PKG) >> \"" + nomDirectory + CDMUtilities::SLASH + "CMakeLists.txt\"";
+  if (system (add.c_str()))
+    {
+      result = new std::string("An error occurred while running '" + add + "'.");
+	  return false;
+    }
+
+  this->project = new modelCDMProject(NULL, nomDirectory, name);
+
+#else
+  // ------ LINUX / MacOS
+  std::string command("creaNewProject.sh ");
+  command += "\"" + locationFixed + "\"" +" \"" + name + "\"";
+  //std::cout << "executing " << command << std::endl;
+  if (system ( command.c_str() ) )
+    {
+      result = new std::string("An error occured while running '" + command + "'.");
+      return false;
+    }
+
+  std::string nomDirectory = locationFixed + CDMUtilities::SLASH + name;
+  std::string nomPackageDirectory = nomDirectory + CDMUtilities::SLASH + "bbtk_" + name + "_PKG";
+
+  std::string bbCreatePackage("bbCreatePackage ");
+  bbCreatePackage += "\"" + nomDirectory + "\" \"" + name + "\" \"" + author + "\" \"" + description + "\"";
+  //std::cout << "executing " << bbCreatePackage << std::endl;
+  system (bbCreatePackage.c_str());
+
+  std::string add;
+  add = "echo 'ADD_SUBDIRECTORY(bbtk_" + name  + "_PKG)' >> \"" + nomDirectory + CDMUtilities::SLASH + "CMakeLists.txt\"";
+
+  //std::cout << "executing " << add << std::endl;
+  system(add.c_str());
+
+  if(this->project != NULL)
+    {
+      if (!CloseProject(result))
+        return false;
+    }
+
+  this->project = new modelCDMProject(NULL, nomDirectory, name);
+
+#endif
+
+  return true;
+}
+
+bool modelCDMMain::OpenProject(
+    const std::string& path,
+    std::string*& result
+)
+{
+  //std::cout << "Open selection path: "<< path << std::endl;
+  //get fixed path
+  std::string pathFixed = CDMUtilities::fixPath(path);
+  std::cout << "Opening path: "<< pathFixed << std::endl;
+
+  //check if its binaries' folder
+  bool isBinary = false;
+  std::string pathBuild = "";
+
+  //check if Makefile file exists
+#ifdef _WIN32
+  std::string pathMakefile = pathFixed + CDMUtilities::SLASH + "CMakeCache.txt";
+  FILE* pFile;
+  errno_t errorOpen = fopen_s(&pFile, pathMakefile.c_str(), "r");
+#else
+  std::string pathMakefile = pathFixed + CDMUtilities::SLASH + "Makefile";
+  FILE* pFile;
+  pFile = fopen(pathMakefile.c_str(), "r");
+  bool errorOpen = (pFile == NULL);
+#endif
+  //is the binary folder
+  if (!errorOpen && pFile)
+    {
+      fclose(pFile);
+      std::ifstream readFile;
+      readFile.open(pathMakefile.c_str());
+      std::string word;
+
+      
+#ifdef _WIN32
+	  while(!isBinary && !readFile.eof())
+        {
+            getline(readFile, word, '\n');
+			std::vector<std::string> words;
+			CDMUtilities::splitter::split(words,word,"=",CDMUtilities::splitter::no_empties);
+			if(words.size() && words[0] == "CMAKE_HOME_DIRECTORY:INTERNAL")
+            {
+			  pathBuild = pathFixed;
+              pathFixed = CDMUtilities::fixPath(words[1]);
+			  for (int i = 0; i < (int)(pathFixed.size()); i++)
+                {
+                  if (pathFixed[i]=='/')
+					  pathFixed[i]='\\';
+                }
+              isBinary = true;
+            }
+        }
+#else
+      while(!isBinary && readFile >> word)
+        {
+            if(word == "CMAKE_SOURCE_DIR")
+            {
+              readFile >> word;
+              readFile.ignore();
+              getline(readFile, word, '\n');
+              pathBuild = pathFixed;
+              pathFixed = CDMUtilities::fixPath(word);
+              isBinary = true;
+            }
+	    }
+#endif
+      readFile.close();
+    }
+
+  //check if its source's folder
+  bool isSource = false;
+  std::string pathSource = "";
+  //check if CMakeLists file exists
+  std::string pathCMakeLists = pathFixed + CDMUtilities::SLASH + "CMakeLists.txt";
+#ifdef _WIN32
+  errorOpen = fopen_s(&pFile, pathCMakeLists.c_str(), "r");
+#else
+  pFile = fopen(pathCMakeLists.c_str(), "r");
+  errorOpen = (pFile == NULL);
+#endif
+
+  //is the source folder
+  if (!errorOpen && pFile)
+    {
+      fclose(pFile);
+      std::ifstream readFile;
+      readFile.open(pathCMakeLists.c_str());
+      std::string word;
+
+
+      while(!isSource && !readFile.eof())
+        {
+          std::getline(readFile,word,'(');
+          std::vector<std::string> wordBits;
+          CDMUtilities::splitter::split(wordBits,word," (\n",CDMUtilities::splitter::no_empties);
+
+          if(wordBits[wordBits.size()-1] == "PROJECT")
+            {
+              isSource = true;
+              pathSource = pathFixed;
+            }
+        }
+      readFile.close();
+    }
+
+  //if is source folder
+  if(isSource)
+    {
+      if(this->project != NULL)
+        {
+          if (!CloseProject(result))
+            return false;
+        }
+      std::vector<std::string> words;
+      CDMUtilities::splitter::split(words, pathSource, CDMUtilities::SLASH, CDMUtilities::splitter::no_empties);
+
+      std::cout << "Project sources at: " << pathSource << std::endl;
+      if(isBinary)
+        {
+          std::cout << ", and built in: " << pathBuild << std::endl;
+
+          this->project = new modelCDMProject(NULL, pathSource, words[words.size()-1], pathBuild);
+        }
+      else
+        {
+          this->project = new modelCDMProject(NULL, pathSource, words[words.size()-1]);
+        }
+    }
+  else
+    {
+      result = new std::string("No source folder found. Please make sure to select either the project's build or source folder. " + pathBuild + pathFixed);
+      return false;
+    }
+
+  return true;
+}
+
+bool modelCDMMain::RefreshProject(
+    std::string*& result
+)
+{
+  //recreate the project using the project's path
+  if (this->project != NULL)
+    {
+      return this->project->Refresh(result);
+    }
+  else
+    {
+      result = new std::string("There is no open project.");
+      return false;
+    }
+}
+
+std::map<wxCDMTreeItemId, modelCDMIProjectTreeNode*>& modelCDMMain::GetModelElements()
+{
+  return this->modelElements;
+}
+
+bool modelCDMMain::CloseProject(
+    std::string*& result
+)
+{
+  //delete the project tree and leave it as NULL
+  if (this->project != NULL)
+    {
+      delete this->project;
+      this->project = NULL;
+      return true;
+    }
+  else
+    {
+      result = new std::string("There is no open project.");
+      return false;
+    }
+}
diff --git a/lib/creaDevManagerLib/modelCDMMain.h b/lib/creaDevManagerLib/modelCDMMain.h
new file mode 100644
index 0000000..d028487
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMMain.h
@@ -0,0 +1,130 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+/*
+ * modelCDMMain.h
+ *
+ *  Created on: 13/11/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef MODELCDMMAIN_H_
+#define MODELCDMMAIN_H_
+
+#include<iostream>
+#include<map>
+
+#include<creaWx.h>
+#include<wx/treectrl.h>
+
+#include "modelCDMIProjectTreeNode.h"
+#include "modelCDMProject.h"
+
+/**
+ * Class representing the model of the project manager.
+ */
+class modelCDMMain
+{
+public:
+  /**
+   * Default constructor.
+   */
+  modelCDMMain();
+  /**
+   * Destructor.
+   */
+  ~modelCDMMain();
+
+  /**
+   * Retrieves the current active project.
+   * @return Reference to the current active project, if there's no active project NULL is returned.
+   */
+  modelCDMProject* GetProject() const;
+  /**
+   * Retrieves the map of all the nodes inside the current active project.
+   * @return Map with ids and node reference of the project.
+   */
+  std::map< wxCDMTreeItemId, modelCDMIProjectTreeNode* >& GetModelElements();
+
+
+  /**
+   * Creates a new project and sets it as the current active project. This method creates a new project model and also creates a project in the system.
+   * @param name Name of the new project.
+   * @param location Path where the project is to be created.
+   * @param result Result message.
+   * @param author Default Package Authors' names.
+   * @param description Description of the default package.
+   * @return True if the operation was successful.
+   */
+  bool CreateProject(
+      const std::string& name,
+      const std::string& location,
+      std::string*& result,
+      const std::string& author = "unknown",
+      const std::string& description = "no description"
+  );
+  /**
+   * Opens an existing project given the source or the binaries folder.
+   * @param path Path to the project source or binaries folder.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  bool OpenProject(
+      const std::string& path,
+      std::string*& result
+  );
+  /**
+   * Refreshes the currently active project structure.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  bool RefreshProject(
+      std::string*& result
+  );
+  /**
+   * Closes the currently active project. This method deletes the project model but doesn't erase the project from the system.
+   * @param result Result message.
+   * @return True if the operation was successful.
+   */
+  bool CloseProject(
+      std::string*& result
+  );
+
+
+private:
+  /**
+   * Currently active project reference.
+   */
+  modelCDMProject* project;
+  /**
+   * Map of all the elements of the currently active project and their IDs.
+   */
+  std::map< wxCDMTreeItemId, modelCDMIProjectTreeNode* > modelElements;
+};
+
+
+#endif /* MODELCDMMAIN_H_ */
diff --git a/lib/creaDevManagerLib/modelCDMPackage.cpp b/lib/creaDevManagerLib/modelCDMPackage.cpp
new file mode 100644
index 0000000..377a11b
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMPackage.cpp
@@ -0,0 +1,1190 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMPackage.cpp
+ *
+ *  Created on: Nov 23, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "modelCDMPackage.h"
+
+#include "modelCDMProject.h"
+#include "modelCDMLib.h"
+#include "modelCDMLibrary.h"
+
+
+#include <fstream>
+#include <sstream>
+#include <algorithm>
+#include <boost/regex.hpp>
+
+#include "creaWx.h"
+#include "wx/dir.h"
+#include "CDMUtilities.h"
+
+modelCDMPackage::modelCDMPackage()
+{
+  this->src = NULL;
+}
+
+modelCDMPackage::modelCDMPackage(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level)
+{
+  std::cout << "creating package: " + path + "\n";
+  this->parent = parent;
+  this->type = wxDIR_DIRS;
+  this->name = name;
+  //Get Package Name
+
+  std::string pathMakeLists = path + CDMUtilities::SLASH + "CMakeLists.txt";
+
+  std::ifstream confFile;
+  confFile.open((pathMakeLists).c_str());
+
+  std::string word;
+  while(confFile.is_open() && !confFile.eof())
+    {
+      //get sets
+      std::getline(confFile,word,'(');
+      std::vector<std::string> wordBits;
+      CDMUtilities::splitter::split(wordBits,word," (\n",CDMUtilities::splitter::no_empties);
+
+      if(wordBits[wordBits.size()-1] == "SET")
+        {
+          //get package name
+          std::getline(confFile,word,')');
+          CDMUtilities::splitter::split(wordBits, word, " ", CDMUtilities::splitter::no_empties);
+          if(wordBits[0] == "BBTK_PACKAGE_NAME")
+            {
+              word = wordBits[1];
+              for (int i = 2; i < (int)(wordBits.size()); i++)
+                {
+                  word += " " + wordBits[i];
+                }
+              wordBits.clear();
+              CDMUtilities::splitter::split(wordBits, word, "\"", CDMUtilities::splitter::no_empties);
+
+              this->namePackage = wordBits[0];
+            }
+          else if(wordBits[0] == "${BBTK_PACKAGE_NAME}_AUTHOR")
+            {
+              word = wordBits[1];
+              for (int i = 2; i < (int)(wordBits.size()); i++)
+                {
+                  word += " " + wordBits[i];
+                }
+              wordBits.clear();
+              CDMUtilities::splitter::split(wordBits, word, "\"", CDMUtilities::splitter::no_empties);
+
+              this->authors = wordBits[0];
+            }
+          else if(wordBits[0] == "${BBTK_PACKAGE_NAME}_DESCRIPTION")
+            {
+              word = wordBits[1];
+              for (int i = 2; i < (int)(wordBits.size()); i++)
+                {
+                  word += " " + wordBits[i];
+                }
+              wordBits.clear();
+              CDMUtilities::splitter::split(wordBits, word, "\"", CDMUtilities::splitter::no_empties);
+
+              this->description = wordBits[0];
+            }
+          else if(wordBits[0] == "${BBTK_PACKAGE_NAME}_MAJOR_VERSION")
+            {
+              this->version = wordBits[1];
+            }
+          else if(wordBits[0] == "${BBTK_PACKAGE_NAME}_MINOR_VERSION")
+            {
+              this->version += "." + wordBits[1];
+            }
+          else if(wordBits[0] == "${BBTK_PACKAGE_NAME}_BUILD_VERSION")
+            {
+              this->version += "." + wordBits[1];
+            }
+        }
+    }
+
+  this->level = level;
+  this->path = path;
+
+  //check all folders and files
+  wxDir dir(crea::std2wx((path).c_str()));
+  if (dir.IsOpened())
+    {
+      wxString fileName;
+
+      //folders
+      bool cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_DIRS);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          //if src, check for black boxes
+          if(stdfileName == "src")
+            {
+              this->src = new modelCDMPackageSrc(this, path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(this->src);
+            }
+          else
+            {
+              this->children.push_back(new modelCDMFolder(this, path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+
+      //files
+      cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_FILES);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::size_t fileTypePos = stdfileName.find_last_of(".");
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
+
+          //if CMakeLists, create CMakeLists
+          if(stdfileName == "CMakeLists.txt")
+            {
+              this->CMakeLists = new modelCDMCMakeListsFile(this, path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(this->CMakeLists);
+            }
+          //if is a code file, create code file
+          else if(fileType == ".c" ||
+              fileType == ".cxx" ||
+              fileType == ".h" ||
+              fileType == ".cpp" ||
+              fileType == ".txx" ||
+              fileType == ".cmake" )
+            {
+              modelCDMCodeFile* file = new modelCDMCodeFile(this, path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(file);
+            }
+          //if is an unknown file, create file
+          else
+            {
+              this->children.push_back(new modelCDMFile(this, path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+    }
+  this->SortChildren();
+}
+
+modelCDMPackage::~modelCDMPackage()
+{
+}
+
+const std::string& modelCDMPackage::GetNamePackage() const
+{
+  return this->namePackage;
+}
+
+const std::string& modelCDMPackage::GetAuthors() const
+{
+  return this->authors;
+}
+
+const std::string& modelCDMPackage::GetAuthorsEmail() const
+{
+  return this->authorsEmail;
+}
+
+const std::string& modelCDMPackage::GetVersion() const
+{
+  return this->version;
+}
+
+const std::string& modelCDMPackage::GetDescription() const
+{
+  return this->description;
+}
+
+modelCDMPackageSrc* modelCDMPackage::GetSrc() const
+{
+  return this->src;
+}
+
+bool modelCDMPackage::SetAuthors(const std::string& authors, std::string*& result)
+{
+  std::vector<std::string> words;
+  CDMUtilities::splitter::split(words, authors, ",\n", CDMUtilities::splitter::no_empties);
+  std::string authorsReal = words[0];
+  for (int i = 1; i < (int)(words.size()); i++)
+    {
+      authorsReal += "/" + words[i];
+    }
+
+  std::string line;
+  //opening original cmakelists
+  std::ifstream in((this->path + CDMUtilities::SLASH + "CMakeLists.txt").c_str());
+  if( !in.is_open())
+    {
+      result = new std::string("CMakeLists.txt file failed to open.");
+      return false;
+    }
+  //opening temporal cmakelists
+  std::ofstream out((this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp").c_str());
+  if( !out.is_open())
+    {
+      result = new std::string("CMakeLists.txt.tmp file failed to open.");
+      return false;
+    }
+  //copying contents from original to temporal and making changes
+  while (getline(in, line))
+    {
+      if(line.find("SET(${BBTK_PACKAGE_NAME}_AUTHOR") != std::string::npos)
+        line = "SET(${BBTK_PACKAGE_NAME}_AUTHOR \"" + authorsReal + "\")";
+      out << line << std::endl;
+    }
+  in.close();
+  out.close();
+  //delete old file and rename new file
+#ifdef _WIN32
+  std::string renameCommand = "move /Y \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#else
+  std::string renameCommand = "mv \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#endif
+  
+  if(system(renameCommand.c_str()))
+    {
+      result = new std::string("An error occurred while running '" + renameCommand + "'.");
+      return false;
+    }
+
+  this->authors = authorsReal;
+  return true;
+}
+
+bool modelCDMPackage::SetAuthorsEmail(const std::string& email, std::string*& result)
+{
+  //TODO: implement method
+  return true;
+}
+
+bool modelCDMPackage::SetVersion(const std::string& version, std::string*& result)
+{
+  std::vector<std::string> vers;
+  CDMUtilities::splitter::split(vers, version, " .", CDMUtilities::splitter::no_empties);
+
+
+  std::string line;
+  //opening original cmakelists
+  std::ifstream in((this->path + CDMUtilities::SLASH + "CMakeLists.txt").c_str());
+  if( !in.is_open())
+    {
+      result = new std::string("CMakeLists.txt file failed to open.");
+      return false;
+    }
+  //opening temporal cmakelists
+  std::ofstream out((this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp").c_str());
+  if( !out.is_open())
+    {
+      result = new std::string("CMakeLists.txt.tmp file failed to open.");
+      return false;
+    }
+  //copying contents from original to temporal and making changes
+  while (getline(in, line))
+    {
+      if(line.find("SET(${BBTK_PACKAGE_NAME}_MAJOR_VERSION") != std::string::npos)
+        line = "SET(${BBTK_PACKAGE_NAME}_MAJOR_VERSION " + vers[0] + ")";
+      else if(line.find("SET(${BBTK_PACKAGE_NAME}_VERSION") != std::string::npos)
+        line = "SET(${BBTK_PACKAGE_NAME}_MINOR_VERSION " + vers[1] + ")";
+      else if(line.find("SET(${BBTK_PACKAGE_NAME}_BUILD_VERSION") != std::string::npos)
+        line = "SET(${BBTK_PACKAGE_NAME}_BUILD_VERSION " + vers[2] + ")";
+      out << line << std::endl;
+    }
+  in.close();
+  out.close();
+  //delete old file and rename new file
+#ifdef _WIN32
+  std::string renameCommand = "move /Y \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#else
+  std::string renameCommand = "mv \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#endif
+  
+  if(system(renameCommand.c_str()))
+    {
+      result = new std::string("An error occurred while running '" + renameCommand + "'.");
+      return false;
+    }
+
+  this->version = vers[0] + "." + vers[1] + "." + vers[2];
+  return true;
+}
+
+bool modelCDMPackage::SetDescription(const std::string& description, std::string*& result)
+{
+  std::vector<std::string> words;
+  CDMUtilities::splitter::split(words, description, " \n", CDMUtilities::splitter::no_empties);
+  std::string descriptionReal = words[0];
+  for (int i = 1; i < (int)(words.size()); i++)
+    {
+      descriptionReal += " " + words[i];
+    }
+
+  std::string line;
+  //opening original cmakelists
+  std::ifstream in((this->path + CDMUtilities::SLASH + "CMakeLists.txt").c_str());
+  if( !in.is_open())
+    {
+      result = new std::string("CMakeLists.txt file failed to open.");
+      return false;
+    }
+  //opening temporal cmakelists
+  std::ofstream out((this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp").c_str());
+  if( !out.is_open())
+    {
+      result = new std::string("CMakeLists.txt.tmp file failed to open.");
+      return false;
+    }
+  //copying contents from original to temporal and making changes
+  while (getline(in, line))
+    {
+      if(line.find("SET(${BBTK_PACKAGE_NAME}_DESCRIPTION") != std::string::npos)
+        line = "SET(${BBTK_PACKAGE_NAME}_DESCRIPTION \"" + descriptionReal + "\")";
+      out << line << std::endl;
+    }
+  in.close();
+  out.close();
+  //delete old file and rename new file
+#ifdef _WIN32
+  std::string renameCommand = "move /Y \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#else
+  std::string renameCommand = "mv \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#endif
+  
+  if(system(renameCommand.c_str()))
+    {
+      result = new std::string("An error occurred while running '" + renameCommand + "'.");
+      return false;
+    }
+
+  this->description = descriptionReal;
+  return true;
+}
+
+modelCDMBlackBox* modelCDMPackage::CreateBlackBox(
+    std::string*& result,
+    const std::string& name,
+    const std::string& type,
+    const std::string& format,
+    const std::string& categories,
+    const std::string& authors,
+    const std::string& authorsEmail,
+    const std::string& description
+)
+{
+  return this->src->CreateBlackBox(result,name, this->namePackage, type,format,categories,authors,authorsEmail,description);
+}
+
+const bool modelCDMPackage::Refresh(std::string*& result)
+{
+  std::cout << "refreshing package " << this->namePackage << std::endl;
+  this->type = wxDIR_DIRS;
+
+  //Get Package Name
+
+  std::string pathMakeLists = path + CDMUtilities::SLASH + "CMakeLists.txt";
+
+  std::ifstream confFile;
+  confFile.open((pathMakeLists).c_str());
+
+  std::string word;
+  while(confFile.is_open() && !confFile.eof())
+    {
+      //get sets
+      std::getline(confFile,word,'(');
+      std::vector<std::string> wordBits;
+      CDMUtilities::splitter::split(wordBits,word," (\n",CDMUtilities::splitter::no_empties);
+
+      if(wordBits[wordBits.size()-1] == "SET")
+        {
+          //get package name
+          std::getline(confFile,word,')');
+          CDMUtilities::splitter::split(wordBits, word, " ", CDMUtilities::splitter::no_empties);
+          if(wordBits[0] == "BBTK_PACKAGE_NAME")
+            {
+              word = wordBits[1];
+              for (int i = 2; i < (int)(wordBits.size()); i++)
+                {
+                  word += " " + wordBits[i];
+                }
+              wordBits.clear();
+              CDMUtilities::splitter::split(wordBits, word, "\"", CDMUtilities::splitter::no_empties);
+
+              this->namePackage = wordBits[0];
+            }
+          else if(wordBits[0] == "${BBTK_PACKAGE_NAME}_AUTHOR")
+            {
+              word = wordBits[1];
+              for (int i = 2; i < (int)(wordBits.size()); i++)
+                {
+                  word += " " + wordBits[i];
+                }
+              wordBits.clear();
+              CDMUtilities::splitter::split(wordBits, word, "\"", CDMUtilities::splitter::no_empties);
+
+              this->authors = wordBits[0];
+            }
+          else if(wordBits[0] == "${BBTK_PACKAGE_NAME}_DESCRIPTION")
+            {
+              word = wordBits[1];
+              for (int i = 2; i < (int)(wordBits.size()); i++)
+                {
+                  word += " " + wordBits[i];
+                }
+              wordBits.clear();
+              CDMUtilities::splitter::split(wordBits, word, "\"", CDMUtilities::splitter::no_empties);
+
+              this->description = wordBits[0];
+            }
+          else if(wordBits[0] == "${BBTK_PACKAGE_NAME}_MAJOR_VERSION")
+            {
+              this->version = wordBits[1];
+            }
+          else if(wordBits[0] == "${BBTK_PACKAGE_NAME}_MINOR_VERSION")
+            {
+              this->version += "." + wordBits[1];
+            }
+          else if(wordBits[0] == "${BBTK_PACKAGE_NAME}_BUILD_VERSION")
+            {
+              this->version += "." + wordBits[1];
+            }
+        }
+    }
+
+
+
+  std::vector<bool> checked(this->children.size(), false);
+  bool checkedSrc = false;
+
+  //check all folders
+  wxDir dir(crea::std2wx((this->path).c_str()));
+  if (dir.IsOpened())
+    {
+      wxString fileName;
+      bool cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_DIRS);
+      while (cont)
+        {
+
+          std::string stdfileName = crea::wx2std(fileName);
+
+          //detect black boxes in src
+          if(stdfileName == "src")
+            {
+              //check if box already exist
+              bool found = false;
+              if (this->src != NULL)
+                {
+                  found = true;
+                  int pos = std::find(this->children.begin(), this->children.end(), this->src) - this->children.begin();
+                  checked[pos] = true;
+                  checkedSrc = true;
+                  if(!this->src->Refresh(result))
+                    return false;
+                }
+              else
+                {
+                  this->src = new modelCDMPackageSrc(this, path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level +1);
+                  this->children.push_back(this->src);
+                }
+            }
+          else
+            {
+
+              //check if folder already exist
+              bool found = false;
+              for (int i = 0; !found && i < (int)(this->children.size()); i++)
+                {
+                  if (this->children[i]->GetName() == stdfileName)
+                    {
+                      found = true;
+                      checked[i] = true;
+                      if(!this->children[i]->Refresh(result))
+                        return false;
+                    }
+                }
+              if(!found)
+                {
+                  modelCDMFolder* folder = new modelCDMFolder(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  this->children.push_back(folder);
+                }
+            }
+          cont = dir.GetNext(&fileName);
+
+        }
+
+      cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_FILES);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::size_t fileTypePos = stdfileName.find_last_of(".");
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
+
+          //if CMakeLists, create CMakeLists
+          if(stdfileName == "CMakeLists.txt")
+            {
+              if (this->CMakeLists == NULL)
+                {
+                  this->CMakeLists = new modelCDMCMakeListsFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  this->children.push_back(this->CMakeLists);
+                }
+              else
+                {
+                  int pos = std::find(this->children.begin(), this->children.end(), this->CMakeLists) - this->children.begin();
+                  checked[pos] = true;
+                  if(!this->CMakeLists->Refresh(result))
+                    return false;
+                }
+            }
+          //if is an unknown file, create file
+          else
+            {
+              bool found = false;
+              for (int i = 0; !found && i < (int)(this->children.size()); i++)
+                {
+                  if (this->children[i]->GetName() == stdfileName)
+                    {
+                      found = true;
+                      checked[i] = true;
+                      if(!this->children[i]->Refresh(result))
+                        return false;
+                    }
+                }
+
+              if(!found)
+                {
+                  //if is a code file, create modelCDMCodeFile
+                  if(
+                      fileType == ".c" ||
+                      fileType == ".cxx" ||
+                      fileType == ".h" ||
+                      fileType == ".cpp" ||
+                      fileType == ".txx" ||
+                      fileType == ".cmake" )
+                    {
+                      this->children.push_back(new modelCDMCodeFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+                    }
+                  else
+                    {
+                      modelCDMFile* file = new modelCDMFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                      this->children.push_back(file);
+                    }
+                }
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+    }
+
+  if(!checkedSrc)
+    {
+      this->src = NULL;
+    }
+
+  for (int i = 0; i < (int)(checked.size()); i++)
+    {
+      if(!checked[i])
+        {
+          delete this->children[i];
+          this->children.erase(this->children.begin()+i);
+          checked.erase(checked.begin()+i);
+          i--;
+        }
+    }
+  this->SortChildren();
+  return true;
+}
+
+void modelCDMPackage::CheckStructure(std::map<std::string, bool>& properties)
+{
+  //check cmake exist
+  if(this->CMakeLists != NULL)
+    {
+      //open cmakelists
+      std::ifstream confFile;
+      confFile.open((this->CMakeLists->GetPath()).c_str());
+
+      //take everything that is not commented
+      std::string fileContent;
+
+      std::string word;
+      std::vector<std::string> words;
+      while(confFile.is_open() && !confFile.eof())
+        {
+          std::getline(confFile,word, '\n');
+          if(word[0] != '#')
+            {
+              CDMUtilities::splitter::split(words, word, "#", CDMUtilities::splitter::empties_ok);
+              if (words.size() > 0)
+                {
+                  word = words[0];
+                  CDMUtilities::splitter::split(words, word, " ", CDMUtilities::splitter::empties_ok);
+                  for (int i = 0; i < (int)(words.size()); i++)
+                    {
+                      if(words[i].substr(0,2) == "//")
+                        break;
+                      fileContent += words[i] + " ";
+                    }
+                }
+            }
+        }
+
+      //check every instruction
+      std::stringstream ss(fileContent);
+      while(!ss.eof())
+        {
+          std::getline(ss,word, '(');
+
+          //check instruction name
+          CDMUtilities::splitter::split(words, word, " ", CDMUtilities::splitter::no_empties);
+
+          //set instructions
+          if (words.size() > 0 && words[words.size()-1] == "SET")
+            {
+              std::getline(ss,word, ')');
+
+              CDMUtilities::splitter::split(words, word, " \t", CDMUtilities::splitter::no_empties);
+              if (words.size() > 1)
+                {
+                  if (words[0] == "${BBTK_PACKAGE_NAME}_USE_VTK" && words[1] == "ON")
+                    {
+                      properties["package " + this->name + " set USE_VTK"] = true;
+                    }
+                  else if (words[0] == "${BBTK_PACKAGE_NAME}_USE_ITK" && words[1] == "ON")
+                    {
+                      properties["package " + this->name + " set USE_ITK"] = true;
+                    }
+                  else if (words[0] == "${BBTK_PACKAGE_NAME}_USE_GDCM" && words[1] == "ON")
+                    {
+                      properties["package " + this->name + " set USE_GDCM"] = true;
+                    }
+                  else if (words[0] == "${BBTK_PACKAGE_NAME}_USE_GDCM_VTK" && words[1] == "ON")
+                    {
+                      properties["package " + this->name + " set USE_GDCM_VTK"] = true;
+                    }
+                  else if (words[0] == "${BBTK_PACKAGE_NAME}_USE_GSMIS" && words[1] == "ON")
+                    {
+                      properties["package " + this->name + " set USE_GSMIS"] = true;
+                    }
+                  else if (words[0] == "${BBTK_PACKAGE_NAME}_USE_WXWIDGETS" && words[1] == "ON")
+                    {
+                      properties["package " + this->name + " set USE_WXWIDGETS"] = true;
+                    }
+                  else if (words[0] == "${BBTK_PACKAGE_NAME}_USE_KWWIDGETS" && words[1] == "ON")
+                    {
+                      properties["package " + this->name + " set USE_KWWIDGETS"] = true;
+                    }
+                  else if (words[0] == "USE_BOOST" && words[1] == "ON")
+                    {
+                      properties["package " + this->name + " set USE_BOOST"] = true;
+                    }
+                  else if (words[0] == "${BBTK_PACKAGE_NAME}_INCLUDE_DIRS")
+                    {
+                      for (int i = 1; i < (int)(words.size()); i++)
+                        {
+                          if(words[i].substr(0,2) == "${" || words[i].substr(0,2) == "..")
+                          properties["package " + this->name + " dir " + words[i]] = true;
+                        }
+                    }
+                  else if (words[0] == "${BBTK_PACKAGE_NAME}_LIBS")
+                    {
+                      for (int i = 1; i < (int)(words.size()); i++)
+                        {
+                          properties["package " + this->name + " lib " + words[i]] = true;
+                        }
+                    }
+                }
+            }
+        }
+
+    }
+}
+
+std::map<std::string, bool> modelCDMPackage::Get3rdPartyLibraries()
+{
+  std::map<std::string, std::string> correspondence;
+  correspondence["${BBTK_PACKAGE_NAME}_USE_VTK"] = "VTK";
+  correspondence["${BBTK_PACKAGE_NAME}_USE_ITK"] = "ITK";
+  correspondence["${BBTK_PACKAGE_NAME}_USE_GDCM"] = "GDCM";
+  correspondence["${BBTK_PACKAGE_NAME}_USE_GDCM_VTK"] = "GDCM_VTK";
+  correspondence["${BBTK_PACKAGE_NAME}_USE_GSMIS"] = "GSMIS";
+  correspondence["${BBTK_PACKAGE_NAME}_USE_WXWIDGETS"] = "WxWidgets";
+  correspondence["${BBTK_PACKAGE_NAME}_USE_KWWIDGETS"] = "KWWidgets";
+  std::map<std::string, bool> res;
+  res["VTK"] = false;
+  res["ITK"] = false;
+  res["GDCM"] = false;
+  res["GDCM_VTK"] = false;
+  res["GSMIS"] = false;
+  res["WxWidgets"] = false;
+  res["KWWidgets"] = false;
+
+  if (this->HasCMakeLists())
+    {
+      std::string CMfile = CDMUtilities::readFile(this->CMakeLists->GetPath().c_str());
+
+      boost::regex expression("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{BBTK_PACKAGE_NAME\\}_USE_\\w+\\s+ON");
+      std::string::const_iterator start, end;
+      start = CMfile.begin();
+      end = CMfile.end();
+      boost::match_results<std::string::const_iterator> what;
+      boost::match_flag_type flags = boost::match_default;
+      while(boost::regex_search(start, end, what, expression, flags))
+        {
+          //std::cout << what[0].str() << std::endl;
+          boost::regex expression1 = boost::regex("\\$\\{BBTK_PACKAGE_NAME\\}_USE_\\w+");
+          std::string::const_iterator start1, end1;
+          start1 = what[0].first;
+          end1 = what[0].second;
+          boost::match_results<std::string::const_iterator> what1;
+          if(boost::regex_search(start1, end1, what1, expression1, flags))
+            {
+              std::string dete = what1.str();
+              CDMUtilities::normalizeStr(dete);
+              //std::cout << dete << std::endl;
+              if(correspondence.find(dete) != correspondence.end())
+                res[correspondence[dete]] = true;
+            }
+          start = what[0].second;
+        }
+    }
+  return res;
+}
+
+bool modelCDMPackage::Set3rdPartyLibrary(const std::string& library_name,
+    const bool& toInclude)
+{
+  std::map<std::string, std::string> correspondence;
+
+  correspondence["VTK"] = "_USE_VTK";
+  correspondence["ITK"] = "_USE_ITK";
+  correspondence["GDCM"] = "_USE_GDCM";
+  correspondence["GDCM_VTK"] = "_USE_GDCM_VTK";
+  correspondence["GSMIS"] = "_USE_GSMIS";
+  correspondence["WxWidgets"] = "_USE_WXWIDGETS";
+  correspondence["KWWidgets"] = "_USE_KWWIDGETS";
+
+  if (correspondence.find(library_name) != correspondence.end())
+    {
+      std::string library_command = correspondence[library_name];
+      if (this->HasCMakeLists())
+        {
+          std::string CMfile = CDMUtilities::readFile(this->CMakeLists->GetPath().c_str());
+          std::string resCMfile = "";
+          bool found = false;
+
+          try {
+            boost::regex expression("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{BBTK_PACKAGE_NAME\\}"+library_command+"([\\s]|#[^\\n]*\\n)+ON([\\s]|#[^\\n]*\\n)*\\)");
+
+            std::string::const_iterator start, end;
+            start = CMfile.begin();
+            end = CMfile.end();
+            boost::match_results<std::string::const_iterator> what;
+            boost::match_flag_type flags = boost::match_default;
+            if(boost::regex_search(start, end, what, expression, flags))
+              {
+                found = true;
+                resCMfile += what.prefix().str();
+                if (toInclude)
+                  resCMfile += what.str();
+                else
+                  resCMfile += "#" + what.str();
+                resCMfile += what.suffix().str();
+
+                return CDMUtilities::writeFile(this->CMakeLists->GetPath().c_str(), resCMfile);
+              }
+            else
+              {
+                boost::regex expression("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{BBTK_PACKAGE_NAME\\}"+library_command+"([\\s]|#[^\\n]*\\n)+OFF([\\s]|#[^\\n]*\\n)*\\)");
+
+                start = CMfile.begin();
+                end = CMfile.end();
+                if(boost::regex_search(start, end, what, expression, flags))
+                  {
+                    found = true;
+                    resCMfile += what.prefix().str();
+                    if (toInclude)
+                      {
+                        std::string dete = what.str();
+                        int pos = dete.rfind("OFF");
+                        dete.replace(pos, 3, "ON");
+                        resCMfile += dete;
+                      }
+                    else
+                      resCMfile += what.str();
+                    resCMfile += what.suffix().str();
+
+                    return CDMUtilities::writeFile(this->CMakeLists->GetPath().c_str(), resCMfile);
+                  }
+                else
+                  {
+                    boost::regex expression("^\\h*#\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{BBTK_PACKAGE_NAME\\}"+library_command+"([\\s]|#[^\\n]*\\n)+ON([\\s]|#[^\\n]*\\n)*\\)");
+                    if(boost::regex_search(start, end, what, expression, flags))
+                      {
+                        found = true;
+                        resCMfile += what.prefix().str();
+                        if(toInclude)
+                          {
+                            std::string dete = what[0].str();
+                            for (int i = 0; i < dete.size(); ++i) {
+                              if (dete[i] != '#')
+                                resCMfile.push_back(dete[i]);
+                              if (dete[i] == 'S')
+                                {
+                                  resCMfile += dete.substr(i+1);
+                                  break;
+                                }
+                            }
+                          }
+                        else
+                          resCMfile += what.str();
+
+                        resCMfile += what.suffix().str();
+                        return CDMUtilities::writeFile(this->CMakeLists->GetPath().c_str(), resCMfile);
+                      }
+                    else
+                      {
+                        boost::regex expression("^\\h*#\\h*UNCOMMENT EACH LIBRARY NEEDED \\(WILL BE FOUND AND USED AUTOMATICALLY\\)[^\\n]*\\n");
+                        if(boost::regex_search(start, end, what, expression, flags))
+                          {
+                            found = true;
+                            resCMfile += what.prefix().str();
+                            resCMfile += what.str();
+                            if(toInclude)
+                              {
+                                resCMfile += "SET(${BBTK_PACKAGE_NAME}"+ library_command +"  ON)\n";
+                              }
+                            resCMfile += what.suffix().str();
+                            return CDMUtilities::writeFile(this->CMakeLists->GetPath().c_str(), resCMfile);
+                          }
+                      }
+                  }
+              }
+          } catch (boost::bad_expression& e) {
+            std::cout << "bad regex: " << e.what() << std::endl;
+            std::cout.flush();
+          }
+        }
+    }
+  return false;
+}
+
+std::map<std::string, bool> modelCDMPackage::GetCustomLibraries()
+{
+  std::map<std::string, bool> res;
+  std::map<std::string, bool> res1;
+
+  std::map<std::string, std::string> correspondence;
+  std::vector<modelCDMLibrary*> libraries;
+  modelCDMIProjectTreeNode* p = this;
+  while(p != NULL && dynamic_cast<modelCDMProject*>(p) == NULL)
+    p = p->GetParent();
+
+  if(p != NULL && dynamic_cast<modelCDMProject*>(p)->GetLib() != NULL)
+    libraries = dynamic_cast<modelCDMProject*>(p)->GetLib()->GetLibraries();
+
+  for (int i = 0; i < libraries.size(); ++i)
+    {
+      correspondence[libraries[i]->GetName()] = libraries[i]->GetNameLibrary();
+      res[libraries[i]->GetNameLibrary()] = false;
+      res1[libraries[i]->GetNameLibrary()] = false;
+    }
+
+  if (this->HasCMakeLists())
+    {
+      std::string CMfile = CDMUtilities::readFile(this->CMakeLists->GetPath().c_str());
+
+      //find included libraries
+      boost::regex expression("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{BBTK_PACKAGE_NAME\\}_LIBS(([\\s]|#[^\\n]*\\n)+([\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"))*([\\s]|#[^\\n]*\\n)*\\)");
+      std::string::const_iterator start, end;
+      start = CMfile.begin();
+      end = CMfile.end();
+      boost::match_results<std::string::const_iterator> what;
+      boost::match_flag_type flags = boost::match_default;
+      if(boost::regex_search(start, end, what, expression, flags))
+        {
+
+          expression = boost::regex("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{BBTK_PACKAGE_NAME\\}_LIBS");
+          std::string::const_iterator start1, end1;
+          start1 = what[0].first;
+          end1 = what[0].second;
+          boost::match_results<std::string::const_iterator> what1;
+          if(boost::regex_search(start1, end1, what1, expression, flags))
+            {
+              expression = boost::regex("^\\h*[\\w\\d]+");
+              std::string::const_iterator start2, end2;
+              start2 = what1[0].second;
+              end2 = what[0].second;
+              boost::match_results<std::string::const_iterator> what2;
+              while(boost::regex_search(start2, end2, what2, expression, flags))
+                {
+                  std::string dete = what2.str();
+                  CDMUtilities::normalizeStr(dete);
+                  //std::cout << "detectado lib: " << dete << std::endl;
+                  if(res1.find(dete) != res1.end())
+                    res1[dete] = true;
+
+                  start2 = what2[0].second;
+                }
+            }
+        }
+
+      //find included folders
+      //std::cout << "searching..." << std::endl;
+      expression = boost::regex("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{BBTK_PACKAGE_NAME\\}_INCLUDE_DIRS(([\\s]|#[^\\n]*\\n|////[^\\n]*\\n)+([\\.\\/\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"))*([\\s]|#[^\\n]*\\n)*\\)");
+      start = CMfile.begin();
+      end = CMfile.end();
+      if(boost::regex_search(start, end, what, expression, flags))
+        {
+          //std::cout << what.str() << std::endl;
+          expression = boost::regex("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{BBTK_PACKAGE_NAME\\}_INCLUDE_DIRS");
+          std::string::const_iterator start1, end1;
+          start1 = what[0].first;
+          end1 = what[0].second;
+          boost::match_results<std::string::const_iterator> what1;
+          if(boost::regex_search(start1, end1, what1, expression, flags))
+            {
+              //std::cout << what1.str() << std::endl;
+              expression = boost::regex("^\\h*\\.\\.\\/lib\\/([\\w\\d])+");
+              std::string::const_iterator start2, end2;
+              start2 = what1[0].second;
+              end2 = what[0].second;
+              boost::match_results<std::string::const_iterator> what2;
+              while(boost::regex_search(start2, end2, what2, expression, flags))
+                {
+                  std::string dete = what2.str();
+                  CDMUtilities::normalizeStr(dete);
+                  //std::cout << "detectado dir: " << dete.substr(7) << std::endl;
+                  if(correspondence.find(dete.substr(7)) != correspondence.end())
+                    res[correspondence[dete.substr(7)]] = res1[correspondence[dete.substr(7)]];
+
+                  start2 = what2[0].second;
+                }
+            }
+        }
+    }
+
+  return res;
+}
+
+bool modelCDMPackage::SetCustomLibrary(const std::string& library_name,
+    const bool& toInclude)
+{
+  std::map<std::string, std::string> correspondence;
+
+    std::vector<modelCDMLibrary*> libraries;
+    modelCDMIProjectTreeNode* p = this;
+    while(p != NULL && dynamic_cast<modelCDMProject*>(p) == NULL)
+      p = p->GetParent();
+
+    if(p != NULL && dynamic_cast<modelCDMProject*>(p)->GetLib() != NULL)
+      libraries = dynamic_cast<modelCDMProject*>(p)->GetLib()->GetLibraries();
+
+    for (int i = 0; i < libraries.size(); ++i)
+      {
+        correspondence[libraries[i]->GetNameLibrary()] = libraries[i]->GetName();
+      }
+
+    if (correspondence.find(library_name) != correspondence.end())
+      {
+        if (this->HasCMakeLists())
+          {
+            std::string resCMfile = "";
+            std::string CMfile = CDMUtilities::readFile(this->CMakeLists->GetPath().c_str());
+            bool found = false;
+
+            //find included libraries
+            //std::cout << "searching..." << CMfile << std::endl;
+            boost::regex expression("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{BBTK_PACKAGE_NAME\\}_LIBS(([\\s]|#[^\\n]*\\n)+([\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"))*([\\s]|#[^\\n]*\\n)*\\)");
+            std::string::const_iterator start, end;
+            start = CMfile.begin();
+            end = CMfile.end();
+            boost::match_results<std::string::const_iterator> what;
+            boost::match_flag_type flags = boost::match_default;
+            if(boost::regex_search(start, end, what, expression, flags))
+              {
+                //std::cout << what.str() << std::endl;
+                resCMfile += what.prefix().str();
+                expression = boost::regex("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{BBTK_PACKAGE_NAME\\}_LIBS");
+                std::string::const_iterator start1, end1;
+                start1 = what[0].first;
+                end1 = what[0].second;
+                boost::match_results<std::string::const_iterator> what1;
+                if(boost::regex_search(start1, end1, what1, expression, flags))
+                  {
+                    resCMfile += what1.prefix().str() + what1.str();
+                    //check if already exists
+                    expression = boost::regex("^\\h*"+library_name);
+                    std::string::const_iterator start2, end2;
+                    start2 = what1[0].second;
+                    end2 = what[0].second;
+                    boost::match_results<std::string::const_iterator> what2, temp2;
+                    while(boost::regex_search(start2, end2, what2, expression, flags))
+                      {
+                        resCMfile += what2.prefix().str();
+                        found = true;
+                        if (!toInclude)
+                          {
+                            resCMfile += "#";
+                          }
+                        resCMfile += what2.str();
+                        temp2 = what2;
+                        start2 = what2[0].second;
+                      }
+                    if(found)
+                      resCMfile += temp2.suffix().str();
+                    //check if is commented
+                    else
+                      {
+                        expression = boost::regex("^\\h*#+\\h*"+library_name);
+                        start2 = what1[0].second;
+                        end2 = what[0].second;
+                        while(boost::regex_search(start2, end2, what2, expression, flags))
+                          {
+                            found = true;
+                            resCMfile += what2.prefix().str();
+                            if(toInclude)
+                              {
+                                std::string dete = what2[0].str();
+                                for (int i = 0; i < dete.size(); ++i) {
+                                  if (dete[i] != '#')
+                                    resCMfile.push_back(dete[i]);
+                                }
+                              }
+                            temp2 = what2;
+                            start2 = what2[0].second;
+                          }
+                        if(found)
+                          resCMfile += temp2.suffix().str();
+                        //add at the beggining of instruction
+                        else
+                          {
+                            if(toInclude)
+                              resCMfile += "\n" + library_name;
+                            resCMfile += what1.suffix().str();
+                          }
+                      }
+                  }
+                resCMfile += what.suffix().str();
+              }
+            else
+              return false;
+
+            //find included folders
+            CMfile = resCMfile;
+            resCMfile = "";
+
+
+            found = false;
+            //std::cout << "searching..." << CMfile << std::endl;
+            expression = boost::regex("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{BBTK_PACKAGE_NAME\\}_INCLUDE_DIRS(([\\s]|#[^\\n]*\\n)+([\\.\\/\\$\\{\\}\\w\\d]+|\"(?:[^\"\\\\]|\\\\.)*\"))*([\\s]|#[^\\n]*\\n)*\\)");
+            start = CMfile.begin();
+            end = CMfile.end();
+            if(boost::regex_search(start, end, what, expression, flags))
+              {
+                resCMfile += what.prefix().str();
+                //std::cout << what.str() << std::endl;
+                expression = boost::regex("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*\\$\\{BBTK_PACKAGE_NAME\\}_INCLUDE_DIRS");
+                std::string::const_iterator start1, end1;
+                start1 = what[0].first;
+                end1 = what[0].second;
+                boost::match_results<std::string::const_iterator> what1;
+                if(boost::regex_search(start1, end1, what1, expression, flags))
+                  {
+                    resCMfile += what1.prefix().str() + what1.str();
+                    //std::cout << what1.str() << std::endl;
+                    //search if dir is already included
+                    expression = boost::regex("^\\h*\\.\\.\\/lib\\/"+correspondence[library_name]);
+                    std::string::const_iterator start2, end2;
+                    start2 = what1[0].second;
+                    end2 = what[0].second;
+                    boost::match_results<std::string::const_iterator> what2, temp2;
+                    while(boost::regex_search(start2, end2, what2, expression, flags))
+                      {
+                        found = true;
+                        resCMfile += what2.prefix().str();
+                        if(!toInclude)
+                          resCMfile += "#";
+                        resCMfile += what2.str();
+                        temp2 = what2;
+                        start2 = what2[0].second;
+                      }
+                    if(found)
+                      resCMfile += temp2.suffix().str();
+                    //search if dir is commented
+                    else
+                      {
+                        expression = boost::regex("^\\h*#+\\h*\\.\\.\\/lib\\/"+correspondence[library_name]);
+                        start2 = what1[0].second;
+                        end2 = what[0].second;
+                        while(boost::regex_search(start2, end2, what2, expression, flags))
+                          {
+                            found = true;
+                            resCMfile += what2.prefix().str();
+                            if(toInclude)
+                              {
+                                std::string dete = what2[0].str();
+                                for (int i = 0; i < dete.size(); ++i) {
+                                  if (dete[i] != '#')
+                                    resCMfile.push_back(dete[i]);
+                                }
+                              }
+                            temp2 = what2;
+                            start2 = what2[0].second;
+                          }
+                        if(found)
+                          resCMfile += temp2.suffix().str();
+                        //add at the beggining of instruction
+                        else
+                          {
+                            if(toInclude)
+                              resCMfile += "\n../lib/" + correspondence[library_name];
+                            resCMfile += what1.suffix().str();
+                          }
+                      }
+                  }
+                resCMfile += what.suffix().str();
+              }
+            else
+              return false;
+
+            return CDMUtilities::writeFile(this->CMakeLists->GetPath().c_str(), resCMfile);
+          }
+      }
+
+    return false;
+}
diff --git a/lib/creaDevManagerLib/modelCDMPackage.h b/lib/creaDevManagerLib/modelCDMPackage.h
new file mode 100644
index 0000000..198e68b
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMPackage.h
@@ -0,0 +1,216 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMPackage.h
+ *
+ *  Created on: Nov 23, 2012
+ *      Author: Daniel Felipe Gonzalez
+ */
+
+#ifndef MODELCDMPACKAGE_H_
+#define MODELCDMPACKAGE_H_
+
+#include<iostream>
+#include<vector>
+#include<map>
+
+#include"modelCDMFolder.h"
+#include"modelCDMPackageSrc.h"
+
+/**
+ * Class representing a package of a Crea project.
+ */
+class modelCDMPackage : public modelCDMFolder
+{
+public:
+  /**
+   * Default constructor.
+   */
+  modelCDMPackage();
+  /**
+   * Package node constructor.
+   * @param parent Parent node of the package folder node.
+   * @param path Full path to the package.
+   * @param name Name of the package folder.
+   * @param level Project hierarchy level of the package node.
+   */
+  modelCDMPackage(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level = 1);
+  /**
+   * Destructor.
+   */
+  ~modelCDMPackage();
+
+  /**
+   * Retrieves the name of the package. the name of the package can be different from the package folder name.
+   * @return Package name.
+   */
+  const std::string& GetNamePackage() const;
+  /**
+   * Retrieves the authors of the package.
+   * @return Package authors.
+   */
+  const std::string& GetAuthors() const;
+  /**
+   * Retrieves the Author e-mails of the package.
+   * @return Author e-mails.
+   */
+  const std::string& GetAuthorsEmail() const;
+  /**
+   * Retrieves the version of the package.
+   * @return Package version.
+   */
+  const std::string& GetVersion() const;
+  /**
+   * Retrieves the description of the package.
+   * @return Package description
+   */
+  const std::string& GetDescription() const;
+  /**
+   * Retrieves the src folder node of the package node.
+   * @return Reference to the package src file node.
+   */
+  modelCDMPackageSrc* GetSrc() const;
+
+  /**
+   * Sets the name of the package authors. This operation affects the project model as well as the system files.
+   * @param authors Name of the package authors.
+   * @param result Result message
+   * @return True if the operation was successful.
+   */
+  bool SetAuthors(const std::string& authors, std::string*& result);
+  /**
+   * Sets the email of the package authors. This operation affects the project model as well as the system files.
+   * @param email
+   * @param result Result message
+   * @return True if the operation was successful.
+   */
+  bool SetAuthorsEmail(const std::string& email, std::string*& result);
+  /**
+   * Sets the version of the package. This operation affects the project model as well as the system files.
+   * @param version
+   * @param result Result message
+   * @return True if the operation was successful.
+   */
+  bool SetVersion(const std::string& version, std::string*& result);
+  /**
+   * Sets the description of the package. This operation affects the project model as well as the system files.
+   * @param description
+   * @param result Result message
+   * @return True if the operation was successful.
+   */
+  bool SetDescription(const std::string& description, std::string*& result);
+
+
+  /**
+   * Creates a new black box and returns a reference to it if the creation is successful. This operation affects the project model as well as the system files.
+   * @param result Result message
+   * @param name New black box name.
+   * @param type Black box type.
+   * @param format Black box format.
+   * @param categories Categories associated to this black box.
+   * @param authors Black box authors' name.
+   * @param authorsEmail Black box authors' email.
+   * @param description Black box description.
+   * @return True if the operation was successful.
+   */
+  modelCDMBlackBox* CreateBlackBox(
+      std::string*& result,
+      const std::string& name,
+      const std::string& type = "std",
+      const std::string& format = "C++",
+      const std::string& categories = "empty",
+      const std::string& authors = "unknown",
+      const std::string& authorsEmail = "",
+      const std::string& description = "no description"
+  );
+  /**
+   * Refreshes the structure of the package folder node. This method updates the properties of the package as well as it refreshes its children.
+   * @param result Result message
+   * @return True if the operation was successful.
+   */
+  virtual const bool Refresh(std::string*& result);
+
+  /**
+   * Checks the package structure with the CMakeLists file to look for project structure definition problems before compiling the project.
+   * @param properties Project properties.
+   */
+  void CheckStructure(std::map<std::string, bool>& properties);
+
+  /**
+   * Checks the package's CMakeLists file to check which third party libraries are enabled.
+   * @return A map with the name of the library and if it's included in the CMakeLists file.
+   */
+  std::map<std::string, bool> Get3rdPartyLibraries();
+
+  /**
+   * Sets the 3rd party library inclusion in the CMakeLists file.
+   * @return if the operation was successful.
+   */
+  bool Set3rdPartyLibrary(const std::string& library_name, const bool& toInclude);
+
+  /**
+   * Checks the package CMakeLists file to check which custom libraries are enabled.
+   * @return A map with the name of the library and if it's included in the CMakeLists file.
+   */
+  std::map<std::string, bool> GetCustomLibraries();
+
+  /**
+   * Sets the custom library inclusion in the CMakeLists file.
+   * @return if the operation was successful.
+   */
+  bool SetCustomLibrary(const std::string& library_name, const bool& toInclude);
+
+private:
+  /**
+   * Package name.
+   */
+  std::string namePackage;
+  /**
+   * Package authors' name.
+   */
+  std::string authors;
+  /**
+   * Package authors' e-mails.
+   */
+  std::string authorsEmail;
+  /**
+   * Package version.
+   */
+  std::string version;
+  /**
+   * Package description.
+   */
+  std::string description;
+  /**
+   * Reference to the package source folder.
+   */
+  modelCDMPackageSrc* src;
+
+};
+
+#endif /* MODELCDMPACKAGE_H_ */
diff --git a/lib/creaDevManagerLib/modelCDMPackageSrc.cpp b/lib/creaDevManagerLib/modelCDMPackageSrc.cpp
new file mode 100644
index 0000000..4654e58
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMPackageSrc.cpp
@@ -0,0 +1,448 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMFolder.cpp
+ *
+ *  Created on: Nov 28, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "modelCDMPackageSrc.h"
+
+#include <fstream>
+#include <algorithm>
+
+#include <creaWx.h>
+#include <wx/dir.h>
+
+#include "CDMUtilities.h"
+
+modelCDMPackageSrc::modelCDMPackageSrc()
+{
+  this->CMakeLists = NULL;
+}
+
+modelCDMPackageSrc::modelCDMPackageSrc(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level)
+{
+  std::cout << "creating package src: " + path + "\n";
+  this->parent = parent;
+  //set attributes
+  this->children.clear();
+  this->level = level;
+  this->CMakeLists = NULL;
+  this->length = 0;
+  this->name = name;
+  this->path = CDMUtilities::fixPath(path);
+  this->type = wxDIR_DIRS;
+
+  //check all folders
+  wxDir dir(crea::std2wx(path));
+  if (dir.IsOpened())
+    {
+      wxString fileName;
+      bool cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_DIRS);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+
+          //if is an unknown folder, create folder
+          this->children.push_back(new modelCDMFolder(this, path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+
+          cont = dir.GetNext(&fileName);
+        }
+
+      cont = dir.GetFirst(&fileName, wxT("CMakeLists.txt"), wxDIR_FILES);
+      if (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          this->CMakeLists = new modelCDMCMakeListsFile(this, path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+          this->children.push_back(this->CMakeLists);
+        }
+
+      cont = dir.GetFirst(&fileName, wxT("*.h"), wxDIR_FILES);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::size_t fileTypePos = stdfileName.find_last_of(".");
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
+
+          modelCDMCodeFile* file;
+
+          if(stdfileName.substr(0,2) == "bb")
+            {
+              file = new modelCDMCodeFile(this, path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(file);
+              modelCDMBlackBox* blackBox = new modelCDMBlackBox(this, path, stdfileName.substr(2,stdfileName.size()-4), level + 1);
+              blackBox->SetHeaderFile(file);
+              wxDir dir2(crea::std2wx(path));
+              cont = dir2.GetFirst(&fileName, crea::std2wx(stdfileName.substr(0,stdfileName.size()-2) + ".cxx"), wxDIR_FILES);
+              if (cont)
+                {
+                  file = new modelCDMCodeFile(this, path + CDMUtilities::SLASH + crea::wx2std(fileName), crea::wx2std(fileName), this->level + 1);
+                  this->children.push_back(file);
+                  blackBox->SetSourceFile(file);
+                }
+              this->blackBoxes.push_back(blackBox);
+            }
+          cont = dir.GetNext(&fileName);
+        }
+    }
+
+  this->SortChildren();
+  std::sort(this->blackBoxes.begin(), this->blackBoxes.end(), CompareNodeItem);
+}
+
+modelCDMPackageSrc::~modelCDMPackageSrc()
+{
+  for (int i = 0; i < (int)(this->blackBoxes.size()); i++)
+    {
+      if(this->blackBoxes[i] != NULL)
+        {
+          delete this->blackBoxes[i];
+          this->blackBoxes[i] = NULL;
+        }
+    }
+  this->blackBoxes.clear();
+}
+
+const std::vector<modelCDMBlackBox*>& modelCDMPackageSrc::GetBlackBoxes() const
+{
+  return this->blackBoxes;
+}
+
+modelCDMBlackBox* modelCDMPackageSrc::CreateBlackBox(
+    std::string*& result,
+    const std::string& name,
+    const std::string& package,
+    const std::string& type,
+    const std::string& format,
+    const std::string& categories,
+    const std::string& authors,
+    const std::string& authorsEmail,
+    const std::string& description)
+{
+  //parse name
+  std::vector<std::string> words;
+  CDMUtilities::splitter::split(words, name, " \n\",/\\'", CDMUtilities::splitter::no_empties);
+  std::string bbName;
+  for (int i = 0; i < (int)(words.size()); i++)
+    {
+      bbName += words[i];
+    }
+
+  //parse categories
+  CDMUtilities::splitter::split(words, categories, " \n\",/\\'", CDMUtilities::splitter::no_empties);
+  std::string bbCategories;
+  if(words.size() > 0)
+    {
+      bbCategories = words[0];
+      for (int i = 1; i < (int)(words.size()); i++)
+        {
+          bbCategories += "," + words[i];
+        }
+    }
+  if(bbCategories == "")
+    bbCategories = "empty";
+
+  //parse authors
+  CDMUtilities::splitter::split(words, authors, "\n\",/\\'", CDMUtilities::splitter::no_empties);
+  std::string bbAuthors;
+  if(words.size() > 0)
+    {
+      bbAuthors = words[0];
+      for (int i = 1; i < (int)(words.size()); i++)
+        {
+          bbAuthors += "," + words[i];
+        }
+    }
+  if(bbAuthors == "")
+    bbAuthors = "Unknown";
+
+  //parse description
+  CDMUtilities::splitter::split(words, authorsEmail, " \n\"/\\'", CDMUtilities::splitter::no_empties);
+  std::string bbDescription;
+  if(words.size() > 0)
+    {
+      bbDescription = words[0];
+      for (int i = 1; i < (int)(words.size()); i++)
+        {
+          bbDescription += "," + words[i];
+        }
+      bbDescription += " - ";
+    }
+  CDMUtilities::splitter::split(words, description, "\n\"/\\'", CDMUtilities::splitter::no_empties);
+  if(words.size() > 0)
+    {
+      bbDescription += words[0];
+      for (int i = 1; i < (int)(words.size()); i++)
+        {
+          bbDescription += words[i];
+        }
+    }
+
+  if(bbDescription == "")
+    bbDescription = "No Description.";
+
+
+  //create command
+  std::string command = "bbCreateBlackBox";
+  command += " \"" + this->path + "\"";
+#ifdef _WIN32
+  command += " " + package;
+  command += " " + bbName;
+  command += " " + type;
+  command += " " + format;
+#else
+  command += " \"" + package + "\"";
+  command += " \"" + bbName + "\"";
+  command += " \"" + type + "\"";
+  command += " \"" + format + "\"";
+#endif
+  command += " \"" + bbAuthors + "\"";
+  command += " \"" + bbDescription + "\"";
+  command += " \"" + bbCategories + "\"";
+
+  //excecute command
+  //wxMessageBox(crea::std2wx("Command: ->" + command + "<-"),_T("Creating Black Box"),wxOK | wxICON_INFORMATION);
+  if(system(command.c_str()))
+    {
+      result = new std::string("Error executing command '" + command + "'");
+      return NULL;
+    }
+
+  //if command succeed
+
+  //create header
+  //create source
+  modelCDMFile* header = NULL;
+  modelCDMFile* source = NULL;
+  wxDir dir(crea::std2wx(path));
+  if (dir.IsOpened())
+    {
+      wxString fileName;
+      bool cont = dir.GetFirst(&fileName, crea::std2wx("bb"+package+bbName+".h"), wxDIR_FILES);
+      if (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          header = new modelCDMFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level+1);
+        }
+      cont = dir.GetFirst(&fileName, crea::std2wx("bb"+package+bbName+".cxx"), wxDIR_FILES);
+      if (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          source = new modelCDMFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level+1);
+        }
+    }
+  //if source and header exist
+  if (header != NULL && source != NULL)
+    {
+      //create black box
+      modelCDMBlackBox* blackBox = new modelCDMBlackBox(this, this->path, package+bbName);
+
+      //associate header and source
+      blackBox->SetHeaderFile(header);
+      blackBox->SetSourceFile(source);
+
+      this->children.push_back(header);
+      this->children.push_back(source);
+
+      this->blackBoxes.push_back(blackBox);
+
+      //sort children
+      std::sort(this->blackBoxes.begin(), this->blackBoxes.end(), CompareNodeItem);
+      this->SortChildren();
+
+      return blackBox;
+    }
+  else
+    {
+      result = new std::string("The header and source files were not found. Black box not created.");
+      return NULL;
+    }
+}
+
+const bool modelCDMPackageSrc::Refresh(std::string*& result)
+{
+  std::cout << "refreshing package src" << std::endl;
+  //set attributes
+  this->type = wxDIR_DIRS;
+
+  //check children
+  std::vector<bool> checked(this->children.size(), false);
+  std::vector<bool> checkedBoxes(this->blackBoxes.size(), false);
+
+  //check all boxes
+  wxDir dir(crea::std2wx((this->path).c_str()));
+  if (dir.IsOpened())
+    {
+      wxString fileName;
+      bool cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_DIRS);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::string folderName = stdfileName;
+          //check if they already exist
+          bool found = false;
+          for (int i = 0; !found && i < (int)(this->children.size()); i++)
+            {
+              if (this->children[i]->GetName() == folderName)
+                {
+                  found = true;
+                  checked[i] = true;
+                  if(!this->children[i]->Refresh(result))
+                    return false;
+                }
+            }
+          if(!found)
+            {
+              modelCDMFolder* folder = new modelCDMFolder(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(folder);
+            }
+          cont = dir.GetNext(&fileName);
+        }
+
+      cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_FILES);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::size_t fileTypePos = stdfileName.find_last_of(".");
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
+
+          //if CMakeLists, create CMakeLists
+          if(stdfileName == "CMakeLists.txt")
+            {
+              if (this->CMakeLists == NULL)
+                {
+                  this->CMakeLists = new modelCDMCMakeListsFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  this->children.push_back(this->CMakeLists);
+                }
+              else
+                {
+                  int pos = std::find(this->children.begin(), this->children.end(), this->CMakeLists) - this->children.begin();
+                  checked[pos] = true;
+                  if(!this->CMakeLists->Refresh(result))
+                    return false;
+                }
+            }
+          //if is an unknown file, create file
+          else
+            {
+              bool found = false;
+              for (int i = 0; !found && i < (int)(this->children.size()); i++)
+                {
+                  if (this->children[i]->GetName() == stdfileName)
+                    {
+                      found = true;
+                      checked[i] = true;
+                      if(!this->children[i]->Refresh(result))
+                        return false;
+                    }
+                }
+
+              if(!found)
+                {
+                  //if is a code file, create modelCDMCodeFile
+                  if(
+                      fileType == ".c" ||
+                      fileType == ".cxx" ||
+                      fileType == ".h" ||
+                      fileType == ".cpp" ||
+                      fileType == ".txx" ||
+                      fileType == ".cmake" )
+                    {
+                      this->children.push_back(new modelCDMCodeFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+                    }
+                  else
+                    {
+                      modelCDMFile* file = new modelCDMFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                      this->children.push_back(file);
+                    }
+                }
+            }
+
+          //if is a Black Box header, check in black boxes
+          if(stdfileName.substr(stdfileName.size() - 2, 2) == ".h" && stdfileName.substr(0,2) == "bb")
+            {
+              bool found = false;
+              for (int i = 0; i < (int)(this->blackBoxes.size()); i++)
+                {
+                  if(this->blackBoxes[i]->GetHeaderFile()->GetName() == stdfileName)
+                    {
+                      checkedBoxes[i] = true;
+                      found = true;
+                      if(!this->blackBoxes[i]->Refresh(result))
+                        return false;
+                      break;
+                    }
+                }
+
+              if (!found)
+                {
+                  modelCDMBlackBox* blackBox = new modelCDMBlackBox(this, path, stdfileName.substr(2,stdfileName.size()-4), level + 1);
+                  this->blackBoxes.push_back(blackBox);
+                }
+
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+    }
+
+  for (int i = 0; i < (int)(checkedBoxes.size()); i++)
+    {
+      if(!checkedBoxes[i])
+        {
+          delete this->blackBoxes[i];
+          this->blackBoxes.erase(this->blackBoxes.begin()+i);
+          checkedBoxes.erase(checkedBoxes.begin()+i);
+          i--;
+        }
+    }
+
+  for (int i = 0; i < (int)(checked.size()); i++)
+    {
+      if(!checked[i])
+        {
+          delete this->children[i];
+          this->children.erase(this->children.begin()+i);
+          checked.erase(checked.begin()+i);
+          i--;
+        }
+    }
+  this->SortChildren();
+  std::sort(this->blackBoxes.begin(), this->blackBoxes.end(), CompareNodeItem);
+  return true;
+}
diff --git a/lib/creaDevManagerLib/modelCDMPackageSrc.h b/lib/creaDevManagerLib/modelCDMPackageSrc.h
new file mode 100644
index 0000000..8405044
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMPackageSrc.h
@@ -0,0 +1,113 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * modelCDMPackageSrc.h
+ *
+ *  Created on: Dic 19, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef MODELCDMPACKAGESRC_H_
+#define MODELCDMPACKAGESRC_H_
+
+#include<iostream>
+#include<vector>
+
+#include "modelCDMFolder.h"
+#include "modelCDMBlackBox.h"
+
+/**
+ * Class representing the source folder of a package from a Crea project.
+ */
+class modelCDMPackageSrc : public modelCDMFolder
+{
+public:
+  /**
+   * Default constructor.
+   */
+  modelCDMPackageSrc();
+  /**
+   * Package source folder node constructor.
+   * @param parent Parent node of the package source folder.
+   * @param path Full path to the package source folder.
+   * @param name Name of the package source folder.
+   * @param level Project hierarchy level of the package source folder node.
+   */
+  modelCDMPackageSrc(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name = "src", const int& level = 3);
+  /**
+   * Destructor.
+   */
+  ~modelCDMPackageSrc();
+
+  /**
+   * Retrieves the black boxes inside the package source folder node.
+   * @return Array of black box references.
+   */
+  const std::vector<modelCDMBlackBox*>& GetBlackBoxes() const;
+
+  /**
+   * Creates a new black box and returns a reference to it if the creation is successful. This operation affects the project model as well as the system files.
+   * @param result Result message
+   * @param name New black box name.
+   * @param package Black box package name.
+   * @param type Black box type.
+   * @param format Black box format.
+   * @param authors Black box authors' name.
+   * @param authorsEmail Black box authors' email.
+   * @param categories Categories associated to this black box.
+   * @param description Black box description.
+   * @return True if the operation was successful.
+   */
+  modelCDMBlackBox* CreateBlackBox(
+      std::string*& result,
+      const std::string& name,
+      const std::string& package,
+      const std::string& type = "std",
+      const std::string& format = "C++",
+      const std::string& authors = "unknown",
+      const std::string& authorsEmail = "",
+      const std::string& categories = "empty",
+      const std::string& description = "no description"
+  );
+
+  /**
+   * Refreshes the structure of the package source folder node. This method updates the properties of the package source folder as well as it refreshes its children.
+   * @param result Result message
+   * @return True if the operation was successful.
+   */
+  virtual const bool Refresh(std::string*& result);
+
+private:
+  /**
+   * Black box references of the package.
+   */
+  std::vector<modelCDMBlackBox*> blackBoxes;
+
+};
+
+#endif /* MODELCDMPACKAGESRC_H_ */
diff --git a/lib/creaDevManagerLib/modelCDMProject.cpp b/lib/creaDevManagerLib/modelCDMProject.cpp
new file mode 100644
index 0000000..886a365
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMProject.cpp
@@ -0,0 +1,1445 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+/*
+ * modelCDMProject.cpp
+ *
+ *  Created on: 13/11/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "modelCDMProject.h"
+
+#include <iostream>
+#include <sstream>
+#include <vector>
+#include <algorithm>
+#include <fstream>
+#include <ctime>
+#include <boost/regex.hpp>
+
+#include "CDMUtilities.h"
+#include "creaWx.h"
+#include "wx/dir.h"
+#include <wx/config.h>
+
+modelCDMProject::modelCDMProject()
+{
+  std::cout << "in constructor1" << std::endl;
+  this->appli = NULL;
+  this->lib = NULL;
+  this->CMakeLists = NULL;
+}
+
+modelCDMProject::modelCDMProject(
+    modelCDMIProjectTreeNode* parent,
+    const std::string& path,
+    const std::string& name,
+    const std::string& buildPath
+)
+{
+  std::cout << "creating project: " + name + " in " + path + "\n";
+  this->parent = parent;
+  this->path = CDMUtilities::fixPath(path);
+  //open makelists file
+  std::string pathFixed(CDMUtilities::fixPath(path));
+
+  std::string pathMakeLists = pathFixed + CDMUtilities::SLASH + "CMakeLists.txt";
+
+  std::ifstream confFile;
+  confFile.open((pathMakeLists).c_str());
+
+  std::string word;
+  while(confFile.is_open() && !confFile.eof())
+    {
+      //std::cout << "leyendo " << word << std::endl;
+      //get project name
+      std::getline(confFile,word,'(');
+      std::vector<std::string> wordBits;
+      CDMUtilities::splitter::split(wordBits,word," (\n",CDMUtilities::splitter::no_empties);
+
+      if(wordBits[wordBits.size()-1] == "PROJECT")
+        {
+          std::getline(confFile,word,')');
+          std::vector<std::string> nameBits;
+          CDMUtilities::splitter::split(nameBits, word, " ", CDMUtilities::splitter::no_empties);
+
+          this->name = this->nameProject = "";
+          for (int i = 0; i < (int)(nameBits.size()); i++)
+            {
+              if(i != 0)
+                this->name += " ";
+              this->name += nameBits[i];
+            }
+          this->nameProject = this->name;
+
+        }
+
+
+      if(wordBits[wordBits.size()-1] == "SET")
+        {
+          //get project version
+          std::getline(confFile,word,')');
+          CDMUtilities::splitter::split(wordBits, word, " ", CDMUtilities::splitter::no_empties);
+          if(wordBits[0] == "PROJECT_MAJOR_VERSION")
+            {
+              version = wordBits[1];
+            }
+          if(wordBits[0] == "PROJECT_MINOR_VERSION")
+            {
+              version += "." + wordBits[1];
+            }
+          if(wordBits[0] == "PROJECT_BUILD_VERSION")
+            {
+              version += "." + wordBits[1];
+            }
+
+          //get project versionDate
+          if(wordBits[0] == "PROJECT_VERSION_DATE")
+            {
+              std::vector<std::string> versionBits;
+              CDMUtilities::splitter::split(versionBits, wordBits[1], "\"", CDMUtilities::splitter::no_empties);
+              versionDate = versionBits[0];
+            }
+          //get project buildPath
+
+          if (buildPath != "")
+            {
+              this->buildPath = buildPath;
+            }
+          else
+            {
+              this->buildPath = this->path + "Bin";
+            }
+        }
+    }
+  confFile.close();
+
+  this->type = wxDIR_DIRS;
+  this->level = 0;
+
+  this->children.clear();
+  this->appli = NULL;
+  this->lib = NULL;
+  this->packages.clear();
+
+
+  //check all folders
+  wxDir dir(crea::std2wx((pathFixed).c_str()));
+  if (dir.IsOpened())
+    {
+      wxString fileName;
+      bool cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_DIRS);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+
+          //if appli, create appli
+          if(stdfileName == "appli")
+            {
+              this->appli = new modelCDMAppli(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(this->appli);
+            }
+          //if lib, create lib
+          else if(stdfileName == "lib")
+            {
+              this->lib = new modelCDMLib(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(this->lib);
+            }
+          else
+            {
+              bool isPackage = false;
+
+              // check if cmakelists file exist in folder.
+              std::string tmppath = this->GetPath() + CDMUtilities::SLASH + stdfileName + CDMUtilities::SLASH + "CMakeLists.txt";
+              CDMUtilities::CMLFile CMfile = CDMUtilities::readCMLFile(tmppath.c_str());
+              if (CMfile.size() > 0)
+                {
+                  std::cout << "-->" << stdfileName << " ::has cmakelists" << std::endl;
+                  // check if cmakelists file has the SET(BBTK_PACKAGE_NAME [pkgname]) instruction.
+                  for (int i = 0; !isPackage && i < CMfile.size(); ++i) {
+                    if (CMfile[i].first == "command" && CMfile[i].second.size() > 1)
+                      {
+                        std::string cm = CMfile[i].second[0];
+
+                        int pos = 1;
+                        while(pos < CMfile[i].second.size()-1 && !isalpha(CMfile[i].second[pos][0]))
+                          pos++;
+
+                        std::string pm1 = CMfile[i].second[pos];
+
+                        std::cout << cm << " " << pm1 << std::endl;
+                        std::transform(cm.begin(), cm.end(), cm.begin(), ::toupper);
+                        std::transform(pm1.begin(), pm1.end(), pm1.begin(), ::toupper);
+                        if(cm == "SET" && pm1 == "BBTK_PACKAGE_NAME")
+                          {
+                            isPackage = true;
+                          }
+                      }
+                  }
+                }
+
+              // if package, create package
+              if(isPackage)
+                {
+                  std::cout << "is Package\n";
+                  modelCDMPackage* package = new modelCDMPackage(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  std::cout << "Package created\n";
+                  this->packages.push_back(package);
+                  this->children.push_back(package);
+                }
+              // if is an unknown folder, create folder
+              else
+                {
+                  this->children.push_back(new modelCDMFolder(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+                }
+
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+
+      cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_FILES);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::size_t fileTypePos = stdfileName.find_last_of(".");
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
+
+          //if CMakeLists, create CMakeLists
+          if(stdfileName == "CMakeLists.txt")
+            {
+              this->CMakeLists = new modelCDMCMakeListsFile(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+              this->children.push_back(this->CMakeLists);
+            }
+          //if is a code file, create modelCDMCodeFile
+          else if(
+              fileType == ".c" ||
+              fileType == ".cxx" ||
+              fileType == ".h" ||
+              fileType == ".cpp" ||
+              fileType == ".txx" ||
+              fileType == ".cmake" )
+            {
+              this->children.push_back(new modelCDMCodeFile(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+            }
+          //if is an unknown file, create file
+          else
+            {
+              this->children.push_back(new modelCDMFile(this, pathFixed + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+    }
+
+  this->SortChildren();
+  std::sort(this->packages.begin(), this->packages.end(), CompareNodeItem);
+
+}
+
+modelCDMProject::~modelCDMProject()
+{
+}
+
+const std::string& modelCDMProject::GetNameProject() const
+{
+  return this->nameProject;
+}
+
+const std::string& modelCDMProject::GetVersion() const
+{
+  return this->version;
+}
+
+const std::string& modelCDMProject::GetVersionDate() const
+{
+  return this->versionDate;
+}
+
+const std::string& modelCDMProject::GetBuildPath() const
+{
+  return this->buildPath;
+}
+
+const std::vector<modelCDMPackage*>& modelCDMProject::GetPackages() const
+{
+  return this->packages;
+}
+
+modelCDMAppli* modelCDMProject::GetAppli() const
+{
+  return this->appli;
+}
+
+modelCDMLib* modelCDMProject::GetLib() const
+{
+  return this->lib;
+}
+
+std::string modelCDMProject::GetBuildInstruction() const
+{
+  wxConfigBase* pConfig =  wxConfigBase::Get();
+  std::string commandline = crea::wx2std(pConfig->Read(wxT("BUILD_COMMAND"), crea::std2wx(CDMUtilities::BUILD_COMMAND)));
+
+
+  std::string makeComm = "cd \"" + this->buildPath + "\";" + commandline;// -C \"" + this->buildPath + "\""; /*> \"" + this->buildPath + CDMUtilities::SLASH + "building.log\" 2>&1";*/
+  return makeComm;
+}
+
+bool modelCDMProject::SetVersion(const std::string& version, std::string*& result)
+{
+
+  std::vector<std::string> vers;
+  CDMUtilities::splitter::split(vers, version, " .", CDMUtilities::splitter::no_empties);
+
+  time_t now = time(0);
+
+  tm ltm;
+#ifdef _WIN32
+  localtime_s(&ltm, &now);
+#else
+  ltm = *(localtime(&now));
+#endif
+
+  std::stringstream date;
+  date << ltm.tm_mday << "/" << 1 + ltm.tm_mon << "/" << 1900 + ltm.tm_year;
+
+  //set name of library in CMakeLists inside copied folder
+  std::string line;
+  std::ifstream in((this->path + CDMUtilities::SLASH + "CMakeLists.txt").c_str());
+  if( !in.is_open())
+    {
+      result = new std::string("CMakeLists.txt file failed to open.");
+      return false;
+    }
+  std::ofstream out((this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp").c_str());
+  if( !out.is_open())
+    {
+      result = new std::string("CMakeLists.txt.tmp file failed to open.");
+      return false;
+    }
+  while (getline(in, line))
+    {
+      if(line.find("SET(PROJECT_MAJOR_VERSION") != std::string::npos)
+        line = "SET(PROJECT_MAJOR_VERSION " + vers[0] + ")";
+      else if(line.find("SET(PROJECT_MINOR_VERSION") != std::string::npos)
+        line = "SET(PROJECT_MINOR_VERSION " + vers[1] + ")";
+      else if(line.find("SET(PROJECT_BUILD_VERSION") != std::string::npos)
+        line = "SET(PROJECT_BUILD_VERSION " + vers[2] + ")";
+      else if(line.find("SET(PROJECT_VERSION_DATE") != std::string::npos)
+        line = "SET(PROJECT_VERSION_DATE \"" + date.str() + "\")";
+      out << line << std::endl;
+    }
+  in.close();
+  out.close();
+  //delete old file and rename new file
+#ifdef _WIN32
+  std::string renameCommand = "move /Y \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#else
+  std::string renameCommand = "mv \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt.tmp\" \"" + this->path + CDMUtilities::SLASH + "CMakeLists.txt\"";
+#endif
+  if(system(renameCommand.c_str()))
+    {
+      result = new std::string("An error occurred while running '" + renameCommand + "'.");
+      return false;
+    }
+
+  this->version = vers[0] + "." + vers[1] + "." + vers[2];
+  this->versionDate = date.str();
+  return true;
+}
+
+bool modelCDMProject::SetBuildPath(const std::string& path, std::string*& result)
+{
+  if(path == "")
+    {
+      result = new std::string("The path cannot be empty");
+      return false;
+    }
+  if(path == this->path)
+    {
+      result = new std::string("The path cannot be same as the project sources");
+      return false;
+    }
+  this->buildPath = path;
+  return true;
+}
+
+modelCDMIProjectTreeNode* modelCDMProject::CreatePackage(
+    const std::string& name,
+    std::string*& result,
+    const std::string& authors,
+    const std::string& authorsEmail,
+    const std::string& description,
+    const std::string& version
+)
+{
+  //fixing input parameters
+  std::vector<std::string> words;
+
+  CDMUtilities::splitter::split(words,name," '/\"\\,.",CDMUtilities::splitter::no_empties);
+  std::string nameFixed = "";
+  for (int i = 0; i < (int)(words.size()); i++)
+    {
+      nameFixed += words[i];
+    }
+
+  words.clear();
+  CDMUtilities::splitter::split(words,authors," '/\"\\,.",CDMUtilities::splitter::no_empties);
+  std::string authorFixed;
+  for (int i = 0; i < (int)(words.size()); i++)
+    {
+      authorFixed += words[i];
+    }
+
+  words.clear();
+  std::string descriptionFixed;
+  CDMUtilities::splitter::split(words,authorsEmail," '/\"\\,",CDMUtilities::splitter::no_empties);
+  for (int i = 0; i < (int)(words.size()); i++)
+    {
+      descriptionFixed += words[i] + "/";
+    }
+  words.clear();
+  CDMUtilities::splitter::split(words,description," '\"",CDMUtilities::splitter::no_empties);
+  for (int i = 0; i < (int)(words.size()); i++)
+    {
+      descriptionFixed += "_" + words[i];
+    }
+
+  //call project to create package : use bbCreatePackage <path> <name> [author] [description]
+  std::string creationCommand = "bbCreatePackage \"" + this->path + "\" \"" + nameFixed + "\" \"" + authorFixed + "\" \"" + descriptionFixed + "\"";
+  //TODO: bbCreatePackage script always returning 0. It should return 1 or greater if any error
+  bool resultCommand = 0 != system(creationCommand.c_str());
+#ifdef _WIN32
+  resultCommand = false;
+#endif
+  if(resultCommand)
+    {
+      result = new std::string("An error occurred while running '" + creationCommand + "'.");
+      return NULL;
+    }
+
+  //add library to project CMakeLists
+  std::fstream out1((this->path + CDMUtilities::SLASH + "CMakeLists.txt").c_str(), std::fstream::in | std::fstream::out | std::fstream::app);
+  if (out1.is_open())
+    {
+      out1 << "ADD_SUBDIRECTORY(bbtk_" << nameFixed << "_PKG)" << std::endl;
+      out1.close();
+    }
+
+  //add library to model
+  modelCDMPackage* package = new modelCDMPackage(this, this->path + CDMUtilities::SLASH + "bbtk_" + nameFixed + "_PKG", "bbtk_" + nameFixed + "_PKG", this->level + 1);
+  this->packages.push_back(package);
+  this->children.push_back(package);
+
+  //TODO: set package version
+
+  this->SortChildren();
+
+  result = new std::string(this->path + CDMUtilities::SLASH + name);
+  return package;
+}
+
+modelCDMIProjectTreeNode* modelCDMProject::CreateLibrary(
+    const std::string& name,
+    std::string*& result,
+    const std::string& path
+)
+{
+  if(this->lib != NULL)
+    {
+      return this->lib->CreateLibrary(name, result);
+    }
+  result = new std::string("there is no lib folder in this project.");
+  return NULL;
+}
+
+modelCDMIProjectTreeNode* modelCDMProject::CreateApplication(
+    const std::string& name,
+    const int& type,
+    std::string*& result,
+    const std::string& path
+)
+{
+  if(this->appli != NULL)
+    {
+      return this->appli->CreateApplication(name, type, result);
+    }
+  result = new std::string("there is no appli folder in this project.");
+  return NULL;
+}
+
+modelCDMIProjectTreeNode* modelCDMProject::CreateBlackBox(
+    const std::string& name,
+    const std::string& package,
+    const std::string& authors,
+    const std::string& authorsEmail,
+    const std::string& categories,
+    const std::string& description
+)
+{
+  //TODO: implement method
+  return NULL;
+}
+
+bool modelCDMProject::OpenCMakeListsFile(std::string*& result)
+{
+  if (!CDMUtilities::openTextEditor(this->CMakeLists->GetPath()))
+    return true;
+  else
+    {
+      result = new std::string("Couldn't open CMakeLists file.");
+      return false;
+    }
+}
+
+const bool modelCDMProject::Refresh(std::string*& result)
+{
+  std::cout << "refreshing project" << std::endl;
+  //open makelists file
+  std::string pathMakeLists = this->path + CDMUtilities::SLASH + "CMakeLists.txt";
+
+  std::ifstream confFile;
+  confFile.open((pathMakeLists).c_str());
+
+  std::string word;
+  while(confFile.is_open() && !confFile.eof())
+    {
+      //std::cout << "leyendo " << word << std::endl;
+      //get project name
+      std::getline(confFile,word,'(');
+      std::vector<std::string> wordBits;
+      CDMUtilities::splitter::split(wordBits,word," (\n",CDMUtilities::splitter::no_empties);
+
+      if(wordBits[wordBits.size()-1] == "PROJECT")
+        {
+          std::getline(confFile,word,')');
+          std::vector<std::string> nameBits;
+          CDMUtilities::splitter::split(nameBits, word, " ", CDMUtilities::splitter::no_empties);
+
+          this->name = this->nameProject = "";
+          for (int i = 0; i < (int)(nameBits.size()); i++)
+            {
+              if(i != 0)
+                this->name += " ";
+              this->name += nameBits[i];
+            }
+          this->nameProject = this->name;
+
+        }
+
+
+      if(wordBits[wordBits.size()-1] == "SET")
+        {
+          //get project version
+          std::getline(confFile,word,')');
+          CDMUtilities::splitter::split(wordBits, word, " ", CDMUtilities::splitter::no_empties);
+          if(wordBits[0] == "PROJECT_MAJOR_VERSION")
+            {
+              version = wordBits[1];
+            }
+          if(wordBits[0] == "PROJECT_MINOR_VERSION")
+            {
+              version += "." + wordBits[1];
+            }
+          if(wordBits[0] == "PROJECT_BUILD_VERSION")
+            {
+              version += "." + wordBits[1];
+            }
+
+          //get project versionDate
+          if(wordBits[0] == "PROJECT_VERSION_DATE")
+            {
+              std::vector<std::string> versionBits;
+              CDMUtilities::splitter::split(versionBits, wordBits[1], "\"", CDMUtilities::splitter::no_empties);
+              versionDate = versionBits[0];
+            }
+        }
+    }
+  confFile.close();
+
+  this->type = wxDIR_DIRS;
+  this->level = 0;
+
+  std::vector<bool> checked(this->children.size(), false);
+  std::vector<bool> checkedPackages(this->packages.size(), false);
+
+  //check all folders
+  wxDir dir(crea::std2wx((this->path).c_str()));
+  if (dir.IsOpened())
+    {
+      wxString fileName;
+      bool cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_DIRS);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+
+          //if appli, create appli
+          if(stdfileName == "appli")
+            {
+              if (this->appli == NULL)
+                {
+                  this->appli = new modelCDMAppli(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  this->children.push_back(this->appli);
+                }
+              else
+                {
+                  int pos = std::find(this->children.begin(), this->children.end(), this->appli) - this->children.begin();
+                  checked[pos] = true;
+                  if(!this->appli->Refresh(result))
+                    return false;
+                }
+            }
+          //if lib, create lib
+          else if(stdfileName == "lib")
+            {
+              if (this->lib == NULL)
+                {
+                  this->lib = new modelCDMLib(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  this->children.push_back(this->lib);
+                }
+              else
+                {
+                  int pos = std::find(this->children.begin(), this->children.end(), this->lib) - this->children.begin();
+                  checked[pos] = true;
+                  if(!this->lib->Refresh(result))
+                    return false;
+                }
+
+            }
+          //if package , create package
+          /*else if(stdfileName.size() > 9 && stdfileName.substr(0,5) == "bbtk_" && stdfileName.substr(stdfileName.size()-4,4) == "_PKG")
+            {
+              bool found = false;
+              for (int i = 0; !found && i < (int)(this->packages.size()); i++)
+                {
+                  if (this->packages[i]->GetName() == stdfileName)
+                    {
+                      found = true;
+                      int pos = std::find(this->children.begin(), this->children.end(), this->packages[i]) - this->children.begin();
+                      checked[pos] = true;
+                      checkedPackages[i] = true;
+                      if(!this->packages[i]->Refresh(result))
+                        return false;
+                    }
+                }
+              if(!found)
+                {
+                  modelCDMPackage* package = new modelCDMPackage(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  this->packages.push_back(package);
+                  this->children.push_back(package);
+                }
+
+            }*/
+          // package or folder
+          else
+            {
+              bool isPackage = false;
+
+              // check if cmakelists file exist in folder.
+              std::string tmppath = this->GetPath() + CDMUtilities::SLASH + stdfileName + CDMUtilities::SLASH + "CMakeLists.txt";
+              CDMUtilities::CMLFile CMfile = CDMUtilities::readCMLFile(tmppath.c_str());
+              if (CMfile.size() > 0)
+
+                {
+                  // check if cmakelists file has the SET(BBTK_PACKAGE_NAME [pkgname]) instruction.
+                  for (int i = 0; !isPackage && i < CMfile.size(); ++i) {
+                    if (CMfile[i].first == "command" && CMfile[i].second.size() > 1)
+                      {
+                        std::string cm = CMfile[i].second[0];
+
+                        int pos = 1;
+                        while(pos < CMfile[i].second.size()-1 && !isalpha(CMfile[i].second[pos][0]))
+                          pos++;
+
+                        std::string pm1 = CMfile[i].second[pos];
+
+                        std::cout << cm << " " << pm1 << std::endl;
+                        std::transform(cm.begin(), cm.end(), cm.begin(), ::toupper);
+                        std::transform(pm1.begin(), pm1.end(), pm1.begin(), ::toupper);
+                        if(cm == "SET" && pm1 == "BBTK_PACKAGE_NAME")
+                          {
+                            isPackage = true;
+                          }
+                      }
+                  }
+                }
+
+              // if package, create package
+              if (isPackage)
+                {
+                  bool found = false;
+                  for (int i = 0; !found && i < (int)(this->packages.size()); i++)
+                    {
+                      if (this->packages[i]->GetName() == stdfileName)
+                        {
+                          found = true;
+                          int pos = std::find(this->children.begin(), this->children.end(), this->packages[i]) - this->children.begin();
+                          checked[pos] = true;
+                          checkedPackages[i] = true;
+                          if(!this->packages[i]->Refresh(result))
+                            return false;
+                        }
+                    }
+
+                  if (!found)
+                    {
+                      modelCDMPackage* package = new modelCDMPackage(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                      this->packages.push_back(package);
+                      this->children.push_back(package);
+                    }
+                }
+              //if is an unknown folder, create folder
+              else
+                {
+                  bool found = false;
+                  for (int i = 0; !found && i < (int)(this->children.size()); i++)
+                    {
+                      if (this->children[i]->GetName() == stdfileName)
+                        {
+                          found = true;
+                          checked[i] = true;
+                          if(!this->children[i]->Refresh(result))
+                            return false;
+                        }
+                    }
+
+                  if(!found)
+                    {
+                      modelCDMFolder* folder = new modelCDMFolder(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                      this->children.push_back(folder);
+                    }
+                }
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+
+      cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_FILES);
+      while (cont)
+        {
+          std::string stdfileName = crea::wx2std(fileName);
+          std::size_t fileTypePos = stdfileName.find_last_of(".");
+          std::string fileType;
+          if(fileTypePos != std::string::npos)
+            fileType = stdfileName.substr(fileTypePos);
+          else
+            fileType = "";
+
+          //if CMakeLists, create CMakeLists
+          if(stdfileName == "CMakeLists.txt")
+            {
+              if (this->CMakeLists == NULL)
+                {
+                  this->CMakeLists = new modelCDMCMakeListsFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                  this->children.push_back(this->CMakeLists);
+                }
+              else
+                {
+                  int pos = std::find(this->children.begin(), this->children.end(), this->CMakeLists) - this->children.begin();
+                  checked[pos] = true;
+                  if(!this->CMakeLists->Refresh(result))
+                    return false;
+                }
+            }
+          //if is a code file, create modelCDMCodeFile
+          //if is an unknown file, create file
+          else
+            {
+              bool found = false;
+              for (int i = 0; !found && i < (int)(this->children.size()); i++)
+                {
+                  if (this->children[i]->GetName() == stdfileName)
+                    {
+                      found = true;
+                      checked[i] = true;
+                      if(!this->children[i]->Refresh(result))
+                        return false;
+                    }
+                }
+
+              if(!found)
+                {
+                  if(
+                    fileType == ".c" ||
+                    fileType == ".cxx" ||
+                    fileType == ".h" ||
+                    fileType == ".cpp" ||
+                    fileType == ".txx" ||
+                    fileType == ".cmake" )
+                    {
+                      this->children.push_back(new modelCDMCodeFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1));
+                    }
+                  else
+                    {
+                      modelCDMFile* file = new modelCDMFile(this, this->path + CDMUtilities::SLASH + stdfileName, stdfileName, this->level + 1);
+                      this->children.push_back(file);
+                    }
+                }
+            }
+
+          cont = dir.GetNext(&fileName);
+        }
+    }
+
+  for (int i = 0; i < (int)(checkedPackages.size()); i++)
+    {
+      if(!checkedPackages[i])
+        {
+          this->packages.erase(this->packages.begin()+i);
+          checkedPackages.erase(checkedPackages.begin()+i);
+          i--;
+        }
+    }
+  for (int i = 0; i < (int)(checked.size()); i++)
+    {
+      if(!checked[i])
+        {
+          delete this->children[i];
+          this->children.erase(this->children.begin()+i);
+          checked.erase(checked.begin()+i);
+          i--;
+        }
+    }
+
+  this->SortChildren();
+  std::sort(this->packages.begin(), this->packages.end(), CompareNodeItem);
+  return true;
+}
+
+bool modelCDMProject::ConfigureBuild(std::string*& result)
+{
+  //TODO: adjust for windows and mac
+#ifdef _WIN32
+  // ------ Windows
+  if(0 == system("cmake-gui"))
+    return true;
+  else
+    {
+	  result = new std::string("There was an error opening cmake-gui. Please make sure it's installed and that cmake's bin folder is in the system path.");
+      return false;
+    }
+#elif __APPLE__
+  // ------ Apple
+#else
+  // ------ Linux
+  //open binary folder
+  wxDir dir(crea::std2wx((this->buildPath).c_str()));
+
+  //if folder doesn't exist then create it
+  if (!dir.IsOpened())
+    {
+      //create command line to create folder
+      std::string createComm = "mkdir \"" + this->buildPath + "\"";
+      //execute creation command
+      if (system(createComm.c_str()))
+        {
+          //if there was an error then report it
+          result = new std::string("There was an error creating the build path: \"" + this->buildPath + "\"");
+          return false;
+        }
+    }
+  //create command line to execute ccmake
+  //TODO:: adjust for different Linux distributions
+  std::string confComm = "gnome-terminal --tab --working-directory=\"" + this->buildPath + "\" -e \"ccmake '" + this->path + "'\"";
+  //execute command
+  if(CDMUtilities::openTerminal(confComm))
+    {
+      //if there was an error then report it
+      result = new std::string("There was an error opening the configuration tool in the desired place.");
+      return false;
+    }
+#endif
+  return true;
+}
+
+bool modelCDMProject::Build(std::string*& result, const std::string& line)
+{
+  //TODO: adjust for windows and mac
+#ifdef _WIN32
+  // ------ Windows
+	std::string command = "start \"\" \"" + this->buildPath + CDMUtilities::SLASH + this->nameProject + ".sln\"";
+  //wxMessageBox(crea::std2wx(command), wxT("Project Compilation - Check!"));
+	if(0 == system(command.c_str()))
+    return true;
+  else
+    {
+      result = new std::string("An error has happened running: \"" + command + "\". Please make sure to have visual c++ installed.");
+	  return false;
+    }
+#elif __APPLE__
+  // ------ Apple
+#else
+  // ------ Linux
+  //open binary folder
+  wxDir dir(crea::std2wx((this->buildPath).c_str()));
+
+  //if binary folder can't be opened then return false
+  if (!dir.IsOpened())
+    {
+      result = new std::string("The build path could not be opened. Make sure to configure the project before compiling it");
+      return false;
+    }
+  //create make command
+  std::string makeComm = "gnome-terminal -e \"bash -c \\\"";
+  for (int i = 0; i < line.size(); i++)
+    {
+      if(line[i] == '"')
+        {
+          makeComm+="\\\\\\\"";
+        }
+      else if(line[i] == '\\')
+        {
+          makeComm+="\\\\\\\\";
+        }
+      else
+        {
+          makeComm.push_back(line[i]);
+        }
+    }
+  makeComm += "; echo -e '\\a'; bash";
+  makeComm += "\\\"\"";
+
+  std::cout << "executing '" << makeComm << "'" << std::endl;
+  //execute make command
+  if(system(makeComm.c_str()))
+    {
+      //if there was an error then report it
+      result = new std::string("There was an error compiling the project, please check the \"building.log\" file located in the build folder to read more about the problem.");
+      return false;
+    }
+#endif
+  return true;
+}
+
+bool modelCDMProject::Connect(std::string*& result, const std::string& folder)
+{
+  //TODO: adjust for mac
+#ifdef _WIN32
+  // ------ Windows
+  //open binary folder
+  wxDir dir(crea::std2wx(folder));
+
+  //if binary folder can't be opened then return false
+  if (!dir.IsOpened())
+    {
+      result = new std::string("The path could not be opened. Make sure the folder exists and contains a bbtkPackage file.");
+      return false;
+    }
+  //create plug command
+  std::string plugComm = "bbPlugPackage \"" + folder + "\"";
+  std::cout << "executing '" << plugComm << "'" << std::endl;
+  //execute plug command
+  if(system(std::string("start cmd.exe /k \"" + plugComm + "\"").c_str()))
+    {
+      //if there was an error then report it
+      result = new std::string("There was an error plugging the packages of the project, please check the console to read more about the problem.");
+      return false;
+    }
+#elif __APPLE__
+  // ------ Apple
+#else
+  // ------ Linux
+  //open binary folder
+  wxDir dir(crea::std2wx(folder));
+
+  //if binary folder can't be opened then return false
+  if (!dir.IsOpened())
+    {
+      result = new std::string("The path could not be opened. Make sure the folder exists and contains a bbtkPackage file.");
+      return false;
+    }
+  //create plug command
+  std::string plugComm = "bbPlugPackage \"" + this->buildPath + "\"";
+
+  std::string Comm = "gnome-terminal -e \"bash -c \\\"";
+    for (int i = 0; i < plugComm.size(); i++)
+      {
+        if(plugComm[i] == '"')
+          {
+            Comm+="\\\\\\\"";
+          }
+        else if(plugComm[i] == '\\')
+          {
+            Comm+="\\\\\\\\";
+          }
+        else
+          {
+            Comm.push_back(plugComm[i]);
+          }
+      }
+    Comm += "; echo -e '\\a'; bash";
+    Comm += "\\\"\"";
+
+
+  std::cout << "executing '" << Comm << "'" << std::endl;
+  //execute plug command
+  if(system(Comm.c_str()))
+    {
+      //if there was an error then report it
+      result = new std::string("There was an error plugging the packages of the project, please check the console to read more about the problem.");
+      return false;
+    }
+#endif
+  return true;
+}
+
+void modelCDMProject::CheckStructure(std::map<std::string, bool>& properties)
+{
+  //check cmake exist
+  if(this->CMakeLists != NULL)
+    {
+      //set properties parameters based on model
+      properties["project add appli"] = this->appli != NULL;
+      properties["project add lib"] = this->lib != NULL;
+      for (int i = 0; i < (int)(this->packages.size()); i++)
+        properties["project add " + packages[i]->GetName()] = false;
+
+      //open cmakelists
+      std::ifstream confFile;
+      confFile.open((this->CMakeLists->GetPath()).c_str());
+
+      //take everything that is not commented
+      std::string fileContent;
+
+      std::string word;
+      std::vector<std::string> words;
+      while(confFile.is_open() && !confFile.eof())
+        {
+          std::getline(confFile,word, '\n');
+          if(word[0] != '#')
+            {
+              CDMUtilities::splitter::split(words, word, "#", CDMUtilities::splitter::empties_ok);
+              if (words.size() > 0)
+                {
+                  word = words[0];
+                  CDMUtilities::splitter::split(words, word, " ", CDMUtilities::splitter::empties_ok);
+                  for (int i = 0; i < (int)(words.size()); i++)
+                    {
+                      if(words[i].substr(0,2) == "//")
+                        break;
+                      fileContent += words[i] + " ";
+                    }
+                }
+
+            }
+        }
+
+      //check every instruction
+      std::stringstream ss(fileContent);
+      while(!ss.eof())
+        {
+          std::getline(ss,word, '(');
+
+          //check instruction name
+          CDMUtilities::splitter::split(words, word, " ", CDMUtilities::splitter::no_empties);
+
+          //set instructions
+          if (words.size() > 0 && words[words.size()-1] == "SET")
+            {
+              std::getline(ss,word, ')');
+
+              CDMUtilities::splitter::split(words, word, " ", CDMUtilities::splitter::no_empties);
+              if (words.size() > 1)
+                {
+                  if (words[0] == "USE_CREA" && words[1] == "ON")
+                    {
+                      properties["project set USE_CREA"] = true;
+                    }
+                  else if (words[0] == "USE_GDCM" && words[1] == "ON")
+                    {
+                      properties["project set USE_GDCM"] = true;
+                    }
+                  else if (words[0] == "USE_GDCM_VTK" && words[1] == "ON")
+                    {
+                      properties["project set USE_GDCM_VTK"] = true;
+                    }
+                  else if (words[0] == "USE_GDCM2" && words[1] == "ON")
+                    {
+                      properties["project set USE_GDCM2"] = true;
+                    }
+                  else if (words[0] == "USE_WXWIDGETS" && words[1] == "ON")
+                    {
+                      properties["project set USE_WXWIDGETS"] = true;
+                    }
+                  else if (words[0] == "USE_KWWIDGETS" && words[1] == "ON")
+                    {
+                      properties["project set USE_KWWIDGETS"] = true;
+                    }
+                  else if (words[0] == "USE_VTK" && words[1] == "ON")
+                    {
+                      properties["project set USE_VTK"] = true;
+                    }
+                  else if (words[0] == "USE_ITK" && words[1] == "ON")
+                    {
+                      properties["project set USE_ITK"] = true;
+                    }
+                  else if (words[0] == "USE_BOOST" && words[1] == "ON")
+                    {
+                      properties["project set USE_BOOST"] = true;
+                    }
+                }
+            }
+          //add instructions
+          else if (words.size() > 0 && words[words.size()-1] == "ADD_SUBDIRECTORY")
+            {
+              std::getline(ss,word, ')');
+              //std::cout << word << std::endl;
+              CDMUtilities::splitter::split(words, word, " ", CDMUtilities::splitter::no_empties);
+
+              if (words.size() > 0)
+                {
+                  if(words[0] == "appli")
+                    {
+                      properties["project add "+words[0]] = this->appli != NULL;
+                    }
+                  else if(words[0] == "lib")
+                    {
+                      properties["project add "+words[0]] = this->lib != NULL;
+                    }
+                  else
+                    {
+                      properties["project add "+words[0]] = true;
+                    }
+                }
+            }
+        }
+
+    }
+
+  //check appli's structure
+  this->appli->CheckStructure(properties);
+  //check lib's structure
+  this->lib->CheckStructure(properties);
+  //check packages' structure
+  for (int i = 0; i < (int)(this->packages.size()); i++)
+    {
+      properties["package " + this->packages[i]->GetName()] = true;
+      this->packages[i]->CheckStructure(properties);
+    }
+}
+
+bool modelCDMProject::IsPackageIncluded(const std::string& package_name)
+{
+  if (this->HasCMakeLists())
+    {
+      CDMUtilities::CMLFile cmlFile = CDMUtilities::readCMLFile(this->CMakeLists->GetPath().c_str());
+      for (int i = 0; i < cmlFile.size(); ++i)
+        {
+          if (cmlFile[i].first=="command" && cmlFile[i].second[0] == "ADD_SUBDIRECTORY")
+            {
+              int pos = 1;
+              while (pos < cmlFile[i].second.size())
+                {
+                  if (!isspace(cmlFile[i].second[pos][0]) && cmlFile[i].second[pos][0] != '(' && cmlFile[i].second[pos][0] != '#')
+                    {
+                      if (package_name == cmlFile[i].second[pos])
+                        return true;
+                      break;
+                    }
+                  pos++;
+                }
+            }
+        }
+    }
+  return false;
+
+}
+
+bool modelCDMProject::SetPackageInclude(const std::string& package_name, const bool& toInclude)
+{
+  if (this->HasCMakeLists())
+    {
+      CDMUtilities::CMLFile cmlFile = CDMUtilities::readCMLFile(this->CMakeLists->GetPath().c_str());
+
+      bool found = false;
+
+      for (int i = 0; i < cmlFile.size(); ++i)
+        {
+          if(toInclude && cmlFile[i].first == "comment")
+            {
+              std::vector<std::string> segments;
+              std::string line = cmlFile[i].second[0];
+              while(line[0] == '#')
+                line.erase(0,1);
+
+              CDMUtilities::splitter::split(segments, line, " ()", CDMUtilities::splitter::no_empties);
+              if (segments.size() > 1 && segments[0] == "ADD_SUBDIRECTORY" && segments[1] == package_name)
+                {
+                  found = true;
+                  while(cmlFile[i].second[0][0] == '#')
+                    cmlFile[i].second[0].erase(0,1);
+                }
+            }
+          else if(cmlFile[i].first == "command" && cmlFile[i].second[0] == "ADD_SUBDIRECTORY")
+            {
+              int pos = 1;
+              while (pos < cmlFile[i].second.size())
+                {
+                  if (!isspace(cmlFile[i].second[pos][0]) && cmlFile[i].second[pos][0] != '(' && cmlFile[i].second[pos][0] != '#')
+                    {
+                      if (package_name == cmlFile[i].second[pos])
+                        {
+                          found = true;
+                          if (!toInclude)
+                            {
+                              cmlFile[i].first = "comment";
+                              cmlFile[i].second[0] = "#" + cmlFile[i].second[0];
+                              while (cmlFile[i].second.size() > 1)
+                                {
+                                  cmlFile[i].second[0] += cmlFile[i].second[1];
+                                  cmlFile[i].second.erase(cmlFile[i].second.begin()+1);
+                                }
+
+                            }
+                        }
+                      break;
+                    }
+                  pos++;
+                }
+            }
+        }
+      if (!found && toInclude)
+        {
+          CDMUtilities::syntaxElement element;
+          element.first = "command";
+          element.second.push_back("ADD_SUBDIRECTORY(" + package_name + ")");
+          cmlFile.push_back(element);
+        }
+
+      return CDMUtilities::writeCMLFile(this->CMakeLists->GetPath().c_str(),cmlFile);
+    }
+  return false;
+}
+
+std::map<std::string, bool> modelCDMProject::Get3rdPartyLibraries()
+{
+  std::map<std::string, std::string> correspondence;
+  correspondence["USE_CREA"] = "Crea";
+  correspondence["USE_GDCM"] = "GDCM";
+  correspondence["USE_GDCM_VTK"] = "GDCM_VTK";
+  correspondence["USE_GDCM2"] = "GDCM2";
+  correspondence["USE_WXWIDGETS"] = "WxWidgets";
+  correspondence["USE_KWWIDGETS"] = "KWWidgets";
+  correspondence["USE_VTK"] = "VTK";
+  correspondence["USE_ITK"] = "ITK";
+  correspondence["USE_BOOST"] = "Boost";
+
+  std::map<std::string, bool> res;
+  res["Crea"] = false;
+  res["GDCM"] = false;
+  res["GDCM_VTK"] = false;
+  res["GDCM2"] = false;
+  res["WxWidgets"] = false;
+  res["KWWidgets"] = false;
+  res["VTK"] = false;
+  res["ITK"] = false;
+  res["Boost"] = false;
+
+  if (this->HasCMakeLists())
+    {
+      std::string CMfile = CDMUtilities::readFile(this->CMakeLists->GetPath().c_str());
+
+      boost::regex expression("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*USE_\\w+\\s+ON");
+      std::string::const_iterator start, end;
+      start = CMfile.begin();
+      end = CMfile.end();
+      boost::match_results<std::string::const_iterator> what;
+      boost::match_flag_type flags = boost::match_default;
+      while(boost::regex_search(start, end, what, expression, flags))
+        {
+          //std::cout << what[0].str() << std::endl;
+          boost::regex expression1 = boost::regex("USE_\\w+");
+          std::string::const_iterator start1, end1;
+          start1 = what[0].first;
+          end1 = what[0].second;
+          boost::match_results<std::string::const_iterator> what1;
+          if(boost::regex_search(start1, end1, what1, expression1, flags))
+            {
+              std::string dete = what1.str();
+              CDMUtilities::normalizeStr(dete);
+              //std::cout << dete << std::endl;
+              if(correspondence.find(dete) != correspondence.end())
+                res[correspondence[dete]] = true;
+            }
+          start = what[0].second;
+        }
+    }
+
+  return res;
+}
+
+bool modelCDMProject::Set3rdPartyLibrary(const std::string& library_name,
+    const bool& toInclude)
+{
+  std::map<std::string, std::string> correspondence;
+  correspondence["Crea"] = "USE_CREA";
+  correspondence["GDCM"] = "USE_GDCM";
+  correspondence["GDCM_VTK"] = "USE_GDCM_VTK";
+  correspondence["GDCM2"] = "USE_GDCM2";
+  correspondence["WxWidgets"] = "USE_WXWIDGETS";
+  correspondence["KWWidgets"] = "USE_KWWIDGETS";
+  correspondence["VTK"] = "USE_VTK";
+  correspondence["ITK"] = "USE_ITK";
+  correspondence["Boost"] = "USE_BOOST";
+
+  if (correspondence.find(library_name) != correspondence.end())
+    {
+      std::string library_command = correspondence[library_name];
+
+      if (this->HasCMakeLists())
+        {
+          std::string CMfile = CDMUtilities::readFile(this->CMakeLists->GetPath().c_str());
+          std::string resCMfile = "";
+
+          std::string::const_iterator start, end;
+          boost::match_results<std::string::const_iterator> what, tmp;
+          boost::match_flag_type flags = boost::match_default;
+          bool found = false;
+
+          start = CMfile.begin();
+          end = CMfile.end();
+
+          //search for existing inclusions
+          boost::regex expression("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*" + library_command + "\\s+ON\\s*\\)");
+          while(boost::regex_search(start, end, what, expression, flags))
+            {
+              found = true;
+              resCMfile += what.prefix().str();
+              if(!toInclude)
+                {
+                  std::string dete = what.str();
+                  int pos = dete.find("ON",0);
+                  dete.replace(pos, 2, "OFF");
+                  resCMfile += dete;
+                }
+              else
+                resCMfile += what.str();
+              tmp = what;
+              start = what[0].second;
+            }
+
+          if (found)
+            resCMfile += tmp.suffix().str();
+          else
+            {
+              start = CMfile.begin();
+              end = CMfile.end();
+
+              //search for existing exclusions
+              boost::regex expression("^\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*" + library_command + "\\s+OFF\\s*\\)");
+              while(boost::regex_search(start, end, what, expression, flags))
+                {
+                  found = true;
+                  resCMfile += what.prefix().str();
+                  if(toInclude)
+                    {
+                      std::string dete = what.str();
+                      int pos = dete.find("OFF",0);
+                      dete.replace(pos, 3, "ON");
+                      resCMfile += dete;
+                    }
+                  else
+                    resCMfile += what.str();
+                  tmp = what;
+                  start = what[0].second;
+                }
+
+              if (found)
+                resCMfile += tmp.suffix().str();
+              else
+                {
+                  start = CMfile.begin();
+                  end = CMfile.end();
+
+                  //search for existing commented inclusions
+                  expression = boost::regex("^\\h*#+\\h*SET([\\s]|#[^\\n]*\\n)*\\(([\\s]|#[^\\n]*\\n)*" + library_command + "\\s+ON\\s*\\)");
+                  while(boost::regex_search(start, end, what, expression, flags))
+                    {
+                      found = true;
+                      resCMfile += what.prefix().str();
+                      if(toInclude)
+                        {
+                          std::string dete = what.str();
+                          for (int i = 0; i < dete.size(); ++i) {
+                            if(dete[i] == '#')
+                              {
+                                dete.erase(i,1);
+                                i--;
+                              }
+                          }
+                          resCMfile += dete;
+                        }
+                      else
+                        resCMfile += what.str();
+
+                      tmp = what;
+                      start = what[0].second;
+                    }
+
+                  if (found)
+                    resCMfile += tmp.suffix().str();
+                  else
+                    {
+                      if(toInclude)
+                        {
+                          start = CMfile.begin();
+                          end = CMfile.end();
+
+                          //search for position to insert
+                          expression = boost::regex("^\\h*#\\h*Libraries\\/tools used\\h*$");
+                          if(boost::regex_search(start, end, what, expression, flags))
+                            {
+                              found = true;
+                              resCMfile += what.prefix().str();
+                              resCMfile += what.str();
+                              resCMfile += "\nSET(" + library_command + " ON)";
+                              resCMfile += what.suffix().str();
+                            }
+                        }
+                      else
+                        {
+                          found = true;
+                        }
+                    }
+                }
+            }
+          if (!found) {
+            return false;
+          }
+          else
+            return CDMUtilities::writeFile(this->CMakeLists->GetPath().c_str(), resCMfile);
+        }
+    }
+
+  return false;
+}
diff --git a/lib/creaDevManagerLib/modelCDMProject.h b/lib/creaDevManagerLib/modelCDMProject.h
new file mode 100644
index 0000000..c585ea0
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMProject.h
@@ -0,0 +1,318 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+/*
+ * modelCDMProject.h
+ *
+ *  Created on: 13/11/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef MODELCDMPROJECT_H_
+#define MODELCDMPROJECT_H_
+
+#include<iostream>
+#include<vector>
+#include <map>
+
+#include "modelCDMFolder.h"
+#include "modelCDMLib.h"
+#include "modelCDMAppli.h"
+#include "modelCDMPackage.h"
+#include "modelCDMCMakeListsFile.h"
+#include "modelCDMCodeFile.h"
+
+/**
+ * Project model class.
+ * This class represents a project stored in a hard drive. It can perform some of the most relevant operations for a crea project.
+ */
+class modelCDMProject : public modelCDMFolder
+{
+public:
+  /**
+   * Default constructor.
+   */
+  modelCDMProject();
+
+  /**
+   * Constructor receiving the source path and the build path.
+   * @param parent Parent node of the Project node.
+   * @param path The source path.
+   * @param name Name of the project folder.
+   * @param buildPath The build path. By default it's an empty string.
+   */
+  modelCDMProject(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const std::string& buildPath = "");
+
+  /**
+   * Destructor.
+   */
+  ~modelCDMProject();
+
+
+  //Getters
+  /**
+   * Retrieves the name of the project.
+   * @return The name of the project.
+   */
+  const std::string& GetNameProject() const;
+
+  /**
+   * Retrieves the version of the project.
+   * @return The version of the project in the format X.Y.Z where X is the major version of the project, Y is the minor version of the project, and Z is the build version.
+   */
+  const std::string& GetVersion() const;
+
+  /**
+   * Retrieves the last version modification date of the project
+   * @return The date of the last version modification in the format DD/MM/YYYY
+   */
+  const std::string& GetVersionDate() const;
+
+  /**
+   * Retrieves the build path of the project.
+   * @return The build path of the project. By default .../ProjectNameBin.
+   */
+  const std::string& GetBuildPath() const;
+
+  /**
+   * Retrieves the package vector containing the packages present in the project.
+   * @return The package vector containing references to the packages of the project.
+   */
+  const std::vector<modelCDMPackage*>& GetPackages() const;
+
+  /**
+   * Retrieves the appli containing the applications present in the project.
+   * @return The appli object present in the project.
+   */
+  modelCDMAppli* GetAppli() const;
+
+  /**
+   * Retrieves the lib containing the libraries present in the project.
+   * @return The lib object present in the project.
+   */
+  modelCDMLib* GetLib() const;
+
+  /**
+   * Retrieves the default make instruction to compile the project.
+   * @return The make instruction to compile.
+   */
+  std::string GetBuildInstruction() const;
+
+
+  //Setters
+  /**
+   * Sets the version of the project. It also modifies the build date of the project.
+   * @param version New version of the project.
+   * @param result returns the result of the operation.
+   * @return If the version configuration was successful it returns true. If not, it returns false and the error description returns in the parameter result.
+   */
+  bool SetVersion(const std::string& version, std::string*& result);
+
+  /**
+   * Sets the build path of the project.
+   * @param path Path for builing the project.
+   * @param result Result of the operation.
+   * @return If the build path configuration was successful it returns true. If not, it returns false and the error description returns in the parameter result.
+   */
+  bool SetBuildPath(const std::string& path, std::string*& result);
+
+
+  //Creations
+  /**
+   * Creates a package and sets it as a children of the project. This method creates the package in the hard drive and also in the model. The created package is included in the project's CMakeLists file.
+   * @param name Name of the package.
+   * @param result Result of the operation.
+   * @param authors Authors of the operation. If any space is found, it will be replaced by '_'.
+   * @param authorsEmail Authors' E-mails. This is appended to the package description.
+   * @param description Package description.
+   * @param version Package version in the format X.Y.Z where X is the major version, Y the minor version, and Z the build version.
+   * @return The result of the creation. If everything goes well it returns true, else it returns false.
+   */
+  modelCDMIProjectTreeNode* CreatePackage(
+      const std::string& name,
+      std::string*& result,
+      const std::string& authors = "info-dev",
+      const std::string& authorsEmail = "info-dev at creatis.insa-lyon.fr",
+      const std::string& description = "no description",
+      const std::string& version = "1.0.0"
+  );
+
+  /**
+   * Creates a library and sets it as a children of the lib folder in the project. This method creates the library in the hard drive and also in the model.
+   * @param name Library name.
+   * @param result Result of the operation.
+   * @param path Path of the library if not in the lib folder. This parameter is not used (for now).
+   * @return The result of the creation. If everything goes well it returns true, else it returns false.
+   */
+  modelCDMIProjectTreeNode* CreateLibrary(
+      const std::string& name,
+      std::string*& result,
+      const std::string& path = "/lib"
+  );
+
+  /**
+   * Creates an application and sets it as a children of the appli folder in the project. This method creates the library in the hard drive and also in the model.
+   * @param name Application name.
+   * @param type Application type. 0=console application, 1=GUI application (wxWidgets).
+   * @param result Result of the operation.
+   * @param path Path of the application if not in the application folder. This parameter is not used (for now).
+   * @return The result of the creation. If everything goes well it returns true, else it returns false.
+   */
+  modelCDMIProjectTreeNode* CreateApplication(
+      const std::string& name,
+      const int& type,
+      std::string*& result,
+      const std::string& path = "/appli"
+  );
+
+  /**
+   * Creates a black box and sets it as a children of the specified package folder in the project. This method creates the black box in the hard drive and also in the model.
+   * @param name Black box name.
+   * @param package The name of the package where the black box is created. The name should not contain neither the "bbtk_" , nor the "_PKG" parts of the folder name. If empty converts into "/bbtk_*projectName*_PKG"
+   * @param authors The authors of the black box. This string should not contain commas or spaces, they will be replaced by '_'.
+   * @param authorsEmail The authors e-mails. This string should not contain spaces, they will be replaced by '/'. This field is appended to the black box description.
+   * @param categories The categories of concerning for the created black box.
+   * @param description Description of the black box. It should not contain spaces, they will be replaced by '_'.
+   * @return The result of the creation. If everything goes well it returns true, else it returns false.
+   */
+  modelCDMIProjectTreeNode* CreateBlackBox(
+      const std::string& name,
+      const std::string& package = "", //if empty converts into "[projectName]"
+      const std::string& authors = "unknown",
+      const std::string& authorsEmail = "",
+      const std::string& categories = "empty",
+      const std::string& description = "no description"
+  );
+
+
+  //Operations
+  /**
+   * Opens the CMakeLists.txt file in the system's default text editor.
+   * @param result Result of the operation.
+   * @return Success of the operation. If the file doesn't exist or can't be opened it returns false.
+   */
+  bool OpenCMakeListsFile(std::string*& result);
+
+  /**
+   * Refresh the model with the file hierarchy in the hard drive.
+   * @param result Result of the operation.
+   * @return if there's an error refreshing the project it returns false.
+   */
+  virtual const bool Refresh(std::string*& result);
+
+  /**
+   * Launches in console the ccmake tool in the build path to configure the building of the project.
+   * @param result The result message of the operation.
+   * @return if the ccmake tool doesn't launches it returns false.
+   */
+  bool ConfigureBuild(std::string*& result);
+
+  /**
+   * Launches in console the make -clean and make commands to build the project.
+   * @param result Result message for building the project.
+   * @param line Line to execute the compilation.
+   * @return if any of the commands cannot be executed it return false.
+   */
+  bool Build(std::string*& result, const std::string& line);
+
+  /**
+   * Launches in console the bbPlugPackage command to connect the project to the .bbtk folder in the hard drive.
+   * @param result Result message for connecting the project.
+   * @param folder Folder to make connection with. It must contain the bbtkPackage file
+   * @return if the command cannot be executed it return false.
+   */
+  bool Connect(std::string*& result, const std::string& folder);
+
+  /**
+   * Checks the CMakeLists files to see what's going to be compiled and what's not.
+   * @param properties Map containing the project compilation properties.
+   */
+  void CheckStructure(std::map<std::string, bool>& properties);
+
+  /**
+   * Checks if the given package is included in the CMakeLists file.
+   * @param package_name Name of the package to check.
+   * @return True if the package is included, otherwise returns False.
+   */
+  bool IsPackageIncluded(const std::string& package_name);
+
+  /**
+   * Sets the inclusion of the package in the project's CMakeLists file. If the package inclusion already exist in file, then the line is uncommented/commented depending on the requested action. If the package inclusion doesn't exist yet, then it is included if the request is an inclusion.
+   * @param package_name Name of the package to include/exclude.
+   * @param toInclude True if the request is an inclusion, False otherwise.
+   * @return True if the request was processed successfully.
+   */
+  bool SetPackageInclude(const std::string& package_name, const bool& toInclude);
+
+  /**
+   * Checks the project folder's CMakeLists file to check which third party libraries are enabled.
+   * @return A map with the name of the library and if it's included in the CMakeLists file.
+   */
+  std::map<std::string, bool> Get3rdPartyLibraries();
+
+  /**
+   * Sets the 3rd party library inclusion in the CMakeLists file.
+   * @return if the operation was successful.
+   */
+  bool Set3rdPartyLibrary(const std::string& library_name, const bool& toInclude);
+
+
+private:
+
+  /**
+   * Project Name
+   */
+  std::string nameProject;
+  /**
+   * Project Version
+   */
+  std::string version;
+  /**
+   * Last Project Version Modification Date
+   */
+  std::string versionDate;
+  /**
+   * Build Path for compiling the project
+   */
+  std::string buildPath;
+
+  /**
+   * lib folder
+   */
+  modelCDMLib* lib;
+  /**
+   * appli folder
+   */
+  modelCDMAppli* appli;
+  /**
+   * package folders
+   */
+  std::vector<modelCDMPackage*> packages;
+
+};
+
+#endif /* MODELCDMPROJECT_H_ */
diff --git a/lib/creaDevManagerLib/modelCDMProjectsTree.cpp b/lib/creaDevManagerLib/modelCDMProjectsTree.cpp
new file mode 100755
index 0000000..7e00d95
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMProjectsTree.cpp
@@ -0,0 +1,215 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * ModelCreaDevManagerTree.cpp
+ *
+ *  Created on: 22/10/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "modelCDMProjectsTree.h"
+
+#include <creaWx.h>
+#include <wx/dir.h>
+
+#include <sstream>
+#include <algorithm>
+
+modelCDMProjectsTree::modelCDMProjectsTree()
+{
+}
+
+modelCDMProjectsTree::~modelCDMProjectsTree()
+{
+}
+
+bool modelCDMProjectsTree::CompareNodeItem(modelCDMProjectsTreeNode x, modelCDMProjectsTreeNode y)
+{
+  bool returnValue;
+  bool noWinner = true;
+  unsigned int i = 0;
+  std::string xName = x.GetName();
+  std::string yName = y.GetName();
+  unsigned char xType = x.GetType();
+  unsigned char yType = y.GetType();
+
+  while ((i < xName.length()) && (i < yName.length()))
+  {
+    if (tolower (xName[i]) < tolower (yName[i]))
+    {
+      noWinner = false;
+      returnValue = true;
+      break;
+    }
+    else if (tolower (xName[i]) > tolower (yName[i]))
+    {
+      noWinner = false;
+      returnValue = false;
+      break;
+    }
+    i++;
+  }
+
+  if(noWinner)
+  {
+    if (xName.length() < yName.length())
+      returnValue = true;
+    else
+      returnValue = false;
+  }
+
+  if(xType != yType)
+  {
+    if(xType == wxDIR_DIRS)
+      returnValue = true;
+    else
+      returnValue = false;
+  }
+
+  return returnValue;
+}
+
+void modelCDMProjectsTree::SetRoot(std::string path)
+{
+  std::stringstream p(path);
+  std::vector<std::string> breadcrumbs;
+  std::string name;
+
+  while(!p.eof())
+  {
+    getline(p,name,'/');
+    if(name != "")
+      breadcrumbs.push_back(name);
+  }
+
+  path = "/";
+  for (int i = 0; i < (int)(breadcrumbs.size())-1; i++)
+  {
+    path += breadcrumbs[i] + "/";
+  }
+  name = breadcrumbs[breadcrumbs.size()-1];
+
+  bool projectFound = false;
+  if(projectRoot.GetName() == name)
+    projectFound = true;
+
+  if(!projectFound)
+  {
+    this->projectRoot = modelCDMProjectsTreeNode(path,name,wxDIR_DIRS ,0);
+  }else{
+    std::cout << "already existing ";
+  }
+
+  std::cout << "project root set: " << name << " in " << path << std::endl;
+}
+
+void modelCDMProjectsTree::populateNode(modelCDMProjectsTreeNode& node)
+{
+  //std::cout << "populating " << node.GetName() << " path " << node.GetPath() << "..." << std::endl;
+  std::vector <modelCDMProjectsTreeNode>*  nodes = new std::vector <modelCDMProjectsTreeNode>;
+
+  std::string path = node.GetPath()+node.GetName()+"/";
+
+  wxDir dir(crea::std2wx(path.c_str()));
+  if (!dir.IsOpened())
+  {
+    std::cerr << "Couldn't open the directory" << std::endl;
+    return;
+  }
+
+  wxString fileName;
+  bool cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_DIRS);
+  while (cont)
+  {
+      modelCDMProjectsTreeNode innerNode = modelCDMProjectsTreeNode(path, crea::wx2std(fileName), wxDIR_DIRS, node.GetLevel()+1);
+    this->populateNode(innerNode);
+    nodes->push_back(innerNode);
+    cont = dir.GetNext(&fileName);
+  }
+
+  cont = dir.GetFirst(&fileName, wxEmptyString, wxDIR_FILES);
+  while (cont)
+  {
+    modelCDMProjectsTreeNode innerNode = modelCDMProjectsTreeNode(path, crea::wx2std(fileName), wxDIR_FILES, node.GetLevel()+1);
+    nodes->push_back(innerNode);
+    cont = dir.GetNext(&fileName);
+  }
+
+  sort (nodes->begin(), nodes->end(), CompareNodeItem);
+  node.SetChildren(*nodes);
+
+  /*
+
+  DIR *dp;
+  struct dirent *ep;
+
+  std::string path = node.GetPath()+node.GetName()+"/";
+
+  dp = opendir(path.c_str());
+  if (dp != NULL)
+  {
+    while ((ep = readdir (dp)) != NULL)
+    {
+      //std::cout << ep->d_name << std::endl;
+      if(strcmp(ep->d_name, ".") != 0 && strcmp(ep->d_name, "..") != 0 )
+      {
+        ModelCreaDevManagerTreeNode innerNode = ModelCreaDevManagerTreeNode(path, ep->d_name, ep->d_type, node.GetLevel()+1);
+        if (ep->d_type == DT_DIR)
+        {
+          this->populateNode(innerNode);
+        }
+
+        nodes->push_back(innerNode);
+      }
+
+    }
+
+    (void) closedir (dp);
+
+    sort (nodes->begin(), nodes->end(), CompareNodeItem);
+
+    node.SetChildren(*nodes);
+  }
+  else
+  {
+    std::cerr << "Couldn't open the directory" << std::endl;
+  }*/
+}
+
+void modelCDMProjectsTree::populateNode(std::string path)
+{
+  if(path[path.size()-1] != '/')
+    path+="/";
+  std::cout << "searching " << path << std::endl;
+  if(this->projectRoot.GetPath()+this->projectRoot.GetName()+"/" == path)
+  {
+      std::cout << "Populating Project: " << path << "..." << std::endl;
+    this->populateNode(this->projectRoot);
+  }
+}
diff --git a/lib/creaDevManagerLib/modelCDMProjectsTree.h b/lib/creaDevManagerLib/modelCDMProjectsTree.h
new file mode 100755
index 0000000..42ed994
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMProjectsTree.h
@@ -0,0 +1,59 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * modelCDMProjectsTree.h
+ *
+ *  Created on: 22/10/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef MODELCDMPROJECTSTREE_H_
+#define MODELCDMPROJECTSTREE_H_
+
+#include <iostream>
+#include "modelCDMProjectsTreeNode.h"
+
+class modelCDMProjectsTree
+{
+  public:
+  modelCDMProjectsTree();
+    ~modelCDMProjectsTree();
+
+
+    static bool CompareNodeItem(modelCDMProjectsTreeNode x, modelCDMProjectsTreeNode y);
+
+    void SetRoot(std::string path);
+    void populateNode(std::string path);
+
+    modelCDMProjectsTreeNode projectRoot;
+  protected:
+    void populateNode(modelCDMProjectsTreeNode& node);
+};
+
+#endif /* MODELCDMPROJECTSTREE_H_ */
diff --git a/lib/creaDevManagerLib/modelCDMProjectsTreeNode.cpp b/lib/creaDevManagerLib/modelCDMProjectsTreeNode.cpp
new file mode 100755
index 0000000..6d422aa
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMProjectsTreeNode.cpp
@@ -0,0 +1,79 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * ModelCreaDevManagerTreeNode.cpp
+ *
+ *  Created on: 22/10/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "modelCDMProjectsTreeNode.h"
+
+modelCDMProjectsTreeNode::modelCDMProjectsTreeNode(std::string path, std::string name, unsigned char type, int level)
+{
+  this->_path = path;
+  this->_name = name;
+  this->_type = type;
+  this->_level = level;
+}
+
+modelCDMProjectsTreeNode::~modelCDMProjectsTreeNode()
+{
+}
+
+const std::string& modelCDMProjectsTreeNode::GetPath() const
+{
+  return this->_path;
+}
+
+const std::string& modelCDMProjectsTreeNode::GetName() const
+{
+  return this->_name;
+}
+const unsigned char& modelCDMProjectsTreeNode::GetType() const
+{
+  return this->_type;
+}
+
+const int& modelCDMProjectsTreeNode::GetLevel() const
+{
+  return this->_level;
+}
+
+const std::vector<modelCDMProjectsTreeNode>& modelCDMProjectsTreeNode::GetChildren() const
+{
+  return this->_children;
+}
+
+
+void modelCDMProjectsTreeNode::SetChildren(std::vector<modelCDMProjectsTreeNode>& children)
+{
+  this->_children.clear();
+  this->_children = children;
+}
diff --git a/lib/creaDevManagerLib/modelCDMProjectsTreeNode.h b/lib/creaDevManagerLib/modelCDMProjectsTreeNode.h
new file mode 100755
index 0000000..aa27b18
--- /dev/null
+++ b/lib/creaDevManagerLib/modelCDMProjectsTreeNode.h
@@ -0,0 +1,67 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * modelCDMProjectsTreeNode.h
+ *
+ *  Created on: 22/10/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef MODELCDMPROJECTSTREENODE_H_
+#define MODELCDMPROJECTSTREENODE_H_
+
+#include <iostream>
+#include <vector>
+
+class modelCDMProjectsTreeNode
+{
+public:
+  modelCDMProjectsTreeNode() { }
+  modelCDMProjectsTreeNode(std::string path, std::string name, unsigned char type, int level);
+  ~modelCDMProjectsTreeNode();
+
+  const std::string& GetPath() const;
+  const std::string& GetName() const;
+  const unsigned char& GetType() const;
+  const int& GetLevel() const;
+  const std::vector<modelCDMProjectsTreeNode>& GetChildren() const;
+
+  void SetChildren(std::vector<modelCDMProjectsTreeNode>& children);
+
+
+private:
+  std::string _path;
+  std::string _name;
+  unsigned char _type;
+  int _level;
+  std::vector<modelCDMProjectsTreeNode> _children;
+
+};
+
+#endif /* MODELCDMPROJECTSTREENODE_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMAppliDescriptionPanel.cpp b/lib/creaDevManagerLib/wxCDMAppliDescriptionPanel.cpp
new file mode 100644
index 0000000..9f81851
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMAppliDescriptionPanel.cpp
@@ -0,0 +1,410 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMAppliDescriptionPanel.cpp
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMAppliDescriptionPanel.h"
+
+
+
+#include "wxCDMMainFrame.h"
+
+#include "wxCDMAppliHelpDialog.h"
+
+#include "creaDevManagerIds.h"
+#include "images/ApIcon64.xpm"
+
+BEGIN_EVENT_TABLE(wxCDMAppliDescriptionPanel, wxPanel)
+EVT_HYPERLINK(ID_BUTTON_PREV, wxCDMAppliDescriptionPanel::OnBtnReturn)
+EVT_HYPERLINK(ID_LINK_SELECT_APPLICATION, wxCDMAppliDescriptionPanel::OnLnkApplicationSelect)
+EVT_BUTTON(ID_BUTTON_CREATE_APPLICATION, wxCDMAppliDescriptionPanel::OnBtnCreateApplication)
+EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMAppliDescriptionPanel::OnBtnEditCMakeLists)
+EVT_BUTTON(ID_BUTTON_OPEN_FOLDER, wxCDMAppliDescriptionPanel::OnBtnOpenFolder)
+EVT_CHECKBOX(ID_CHECK_INCLUDE_APPLICATION, wxCDMAppliDescriptionPanel::OnChBApplicationChange)
+END_EVENT_TABLE()
+
+wxCDMAppliDescriptionPanel::wxCDMAppliDescriptionPanel(
+    wxWindow* parent,
+    modelCDMAppli* appli,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMAppliDescriptionPanel::Create(parent, appli, id, caption, pos, size, style);
+}
+
+wxCDMAppliDescriptionPanel::~wxCDMAppliDescriptionPanel()
+{
+}
+
+bool wxCDMAppliDescriptionPanel::Create(
+    wxWindow* parent,
+    modelCDMAppli* appli,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxPanel::Create(parent, id, pos, size, style);
+  this->appli = appli;
+  CreateControls();
+  // this part makes the scrollbars show up
+  this->FitInside(); // ask the sizer about the needed size
+  this->SetScrollRate(5, 5);
+  return TRUE;
+}
+
+void wxCDMAppliDescriptionPanel::CreateControls()
+{
+  wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+
+  //Links to return
+  wxBoxSizer *linksSizer = new wxBoxSizer(wxHORIZONTAL);
+  std::vector<modelCDMIProjectTreeNode*> parents = this->appli->GetParents();
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      wxHyperlinkCtrl* returnLnk = new wxHyperlinkCtrl(this, ID_BUTTON_PREV, crea::std2wx(parents[parents.size()-1-i]->GetName()), crea::std2wx(parents[parents.size()-1-i]->GetPath()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+      returnLnk->SetWindowStyle(wxNO_BORDER);
+      returnLnk->SetToolTip(crea::std2wx("Return to " + parents[parents.size()-1-i]->GetName() + "."));
+      linksSizer->Add(returnLnk, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5);
+      linksSizer->Add(new wxStaticText(this,wxID_ANY, wxT("/")), 0, wxALIGN_CENTER, 0);
+    }
+  linksSizer->Add(new wxStaticText(this, wxID_ANY, crea::std2wx(this->appli->GetName())), 0, wxALIGN_CENTER, 0);
+
+  sizer->Add(linksSizer, 0, wxALIGN_CENTER | wxALL, 5);
+
+  //Header
+  wxBoxSizer* headerSizer = new wxBoxSizer(wxHORIZONTAL);
+  {
+    //Image
+    headerSizer->Add(new wxStaticBitmap(this, -1, wxBitmap(ApIcon64)),0, wxALIGN_CENTER, 0);
+    wxBoxSizer* textSizer = new wxBoxSizer(wxVERTICAL);
+    //Title
+    textSizer->Add(new wxStaticText(this, -1, _("Application Management")),0, wxALIGN_LEFT, 0);
+
+    headerSizer->Add(textSizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
+  }
+  sizer->Add(headerSizer, 0, wxALIGN_CENTER);
+
+  //Applications
+  wxStaticBoxSizer* propertiesBox = new wxStaticBoxSizer(wxVERTICAL, this, wxT("A&vailable Applications"));
+  propertiesBox->GetStaticBox()->SetToolTip(wxT("Select any of the available applications to see its details or the modify them."));
+  wxPanel* propertiesPanel = new wxPanel(this);
+
+  std::vector<modelCDMApplication*> applications = this->appli->GetApplications();
+  wxFlexGridSizer* propertiesGridSizer = new wxFlexGridSizer(applications.size()+1, 3, 9, 5);
+
+  wxStaticText* ChBTitle = new wxStaticText(propertiesPanel, wxID_ANY, wxT("Include in\nCMake"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE_HORIZONTAL);
+  wxStaticText* LkTitle = new wxStaticText(propertiesPanel, wxID_ANY, wxT("Application Name"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE_HORIZONTAL);
+  wxStaticText* HlpTitle = new wxStaticText(propertiesPanel, wxID_ANY, wxT("Help"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE_HORIZONTAL);
+
+  propertiesGridSizer -> Add(ChBTitle, 0, wxEXPAND | wxALL, 5);
+  propertiesGridSizer -> Add(LkTitle,  0, wxEXPAND | wxALL, 5);
+  propertiesGridSizer -> Add(HlpTitle, 0, wxEXPAND | wxALL, 5);
+
+  for (int i = 0; i < (int)(applications.size()); i++)
+    {
+      //checkbox for cmake inclusion
+      wxCheckBox* pApplicationChB = new wxCheckBox(propertiesPanel, ID_CHECK_INCLUDE_APPLICATION, wxT(""), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT);
+      pApplicationChB->SetName(crea::std2wx(applications[i]->GetName()));
+      std::string tt = "if this box is checked the the " + applications[i]->GetName() + " application is included in the project compilation.";
+      pApplicationChB->SetToolTip(crea::std2wx(tt));
+      pApplicationChB->SetValue(this->appli->IsApplicationIncluded(applications[i]->GetName()));
+      propertiesGridSizer -> Add(pApplicationChB, 0, wxEXPAND | wxALIGN_CENTER);
+
+      //link to library with description
+      wxHyperlinkCtrl* pApplicationlk = new wxHyperlinkCtrl(propertiesPanel, ID_LINK_SELECT_APPLICATION, crea::std2wx(applications[i]->GetName().c_str()), crea::std2wx(applications[i]->GetName().c_str()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+      pApplicationlk->SetWindowStyle(wxALIGN_LEFT | wxNO_BORDER);
+      tt = "Name: " + applications[i]->GetName() + "\n";
+      tt += "Location: " + applications[i]->GetPath();
+      pApplicationlk->SetToolTip(crea::std2wx(tt));
+      pApplicationlk->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMAppliDescriptionPanel::OnMouseEnter,NULL,this);
+      pApplicationlk->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMAppliDescriptionPanel::OnMouseExit,NULL,this);
+      propertiesGridSizer -> Add(pApplicationlk, 0, wxEXPAND);
+
+      //help icon
+      wxButton* pApplicationHlp = new wxButton(propertiesPanel, wxID_ANY, wxT("?"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT);
+      pApplicationHlp->Enable(false);
+      tt = "When this application is included in the CMakeLists file, the\nfollowing line is included in the CMakeList.txt file in the\nappli folder:\n"
+          "ADD_SUBDIRECTORY(" + applications[i]->GetName() + ")";
+      pApplicationHlp->SetToolTip(crea::std2wx(tt));
+
+      propertiesGridSizer -> Add(pApplicationHlp, 0, wxEXPAND | wxALIGN_CENTER);
+    }
+
+  propertiesGridSizer->AddGrowableCol(1,1);
+
+  propertiesPanel->SetSizer(propertiesGridSizer);
+  propertiesGridSizer->Fit(propertiesPanel);
+
+  propertiesBox->Add(propertiesPanel, 1, wxEXPAND | wxALL, 5);
+  sizer -> Add(propertiesBox, 0, wxEXPAND | wxALL, 10);
+
+  //Actions
+  wxStaticBoxSizer* actionsBox = new wxStaticBoxSizer(wxVERTICAL, this, wxT("&Actions"));
+  actionsBox->GetStaticBox()->SetToolTip(wxT("Create a new application or make any change to the appli's CMakeLists.txt file by selecting the desired action."));
+  wxPanel* actionsPanel = new wxPanel(this);
+  wxBoxSizer* actionsPanelSizer = new wxBoxSizer(wxHORIZONTAL);
+  //actionsGrid Sizer
+  wxFlexGridSizer* actionsGridSizer = new wxFlexGridSizer(2, 2, 9, 15);
+
+  wxButton* createApplicationbt = new wxButton(actionsPanel, ID_BUTTON_CREATE_APPLICATION, _T("A. Create Application"));
+  createApplicationbt->SetToolTip(wxT("Create a new application for this project."));
+  actionsGridSizer->Add(createApplicationbt, 1, wxALL | wxEXPAND, 5);
+  wxButton* editCMakebt = new wxButton(actionsPanel, ID_BUTTON_EDIT_CMAKELISTSFILE, _T("Edit CMakeLists File"));
+  editCMakebt->SetToolTip(wxT("Open the system default text editor to edit the CMakeLists.txt file."));
+  editCMakebt->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMAppliDescriptionPanel::OnCMakeMouseEnter,NULL,this);
+  editCMakebt->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMAppliDescriptionPanel::OnCMakeMouseExit,NULL,this);
+  actionsGridSizer->Add(editCMakebt, 1, wxALL | wxEXPAND, 5);
+  wxButton* openFolderbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_FOLDER, _T("Open Applications Folder"));
+  openFolderbt->SetToolTip(wxT("Open the appli folder in the file explorer."));
+  actionsGridSizer->Add(openFolderbt, 1, wxALL | wxEXPAND, 5);
+
+  actionsGridSizer->AddGrowableCol(0,1);
+  actionsGridSizer->AddGrowableCol(1,1);
+
+  actionsPanelSizer->Add(actionsGridSizer, 1, wxEXPAND, 0);
+  actionsPanel->SetSizer(actionsPanelSizer);
+  actionsPanelSizer->Fit(actionsPanel);
+  actionsBox->Add(actionsPanel, 0, wxALL | wxEXPAND, 5);
+  sizer -> Add(actionsBox, 0, wxEXPAND | wxALL, 10);
+
+  //Assign sizer
+  SetSizer(sizer);
+  sizer->SetSizeHints(this);
+
+  if (((wxCDMMainFrame*)this->GetParent())->isHelp())
+    {
+      wxCDMAppliHelpDialog* helpDialog = new wxCDMAppliHelpDialog(this->GetParent(), this->appli, wxID_ANY);
+      helpDialog->Show(true);
+    }
+}
+
+void wxCDMAppliDescriptionPanel::OnBtnCreateApplication(wxCommandEvent& event)
+{
+  //get name
+  wxTextEntryDialog* appDlg = new wxTextEntryDialog(
+        this,
+        wxT("Enter the new application name (NO white spaces)"),
+        wxT("New Application - creaDevManager"),
+        wxT(""),
+        wxOK | wxCANCEL
+    );
+
+    if (appDlg->ShowModal() == wxID_OK)
+      {
+        std::string applicationName = crea::wx2std(appDlg->GetValue());
+        //check name
+        if(applicationName.size() > 0)
+          {
+            wxArrayString types;
+            types.Add(wxT("Console Application"));
+            types.Add(wxT("GUI Application (wxWidgets)"));
+            int applicationType = wxGetSingleChoiceIndex(
+                wxT("Select the application type"),
+                wxT("New Application - creaDevManager"),
+                types
+            );
+
+            if (applicationType != -1)
+              {
+                std::string* result;
+                //create library
+                modelCDMIProjectTreeNode* application = this->appli->CreateApplication(applicationName, applicationType ,result);
+                //check library created
+                if(application == NULL)
+                  {
+                    wxMessageBox(crea::std2wx(*result),_T("New Application - Error!"),wxOK | wxICON_ERROR);
+                    event.Skip();
+                    return;
+                  }
+                wxMessageBox(crea::std2wx("Application successfully created."),_T("New Application - Success!"),wxOK | wxICON_INFORMATION);
+
+                //refreshing tree and description
+                //send event instead of calling parent to avoid crashing
+
+                ((wxCDMMainFrame*)this->GetParent())->RefreshProject();
+
+                wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+                newEvent->SetClientData(application);
+                wxPostEvent(this->GetParent(), *newEvent);
+                event.Skip();
+              }
+          }
+        else
+          {
+            wxMessageBox(crea::std2wx("Invalid application name, please try again with a valid name."),_T("New Application - Error!"),wxOK | wxICON_INFORMATION);
+          }
+      }
+}
+
+void wxCDMAppliDescriptionPanel::OnBtnEditCMakeLists(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->appli->OpenCMakeListsFile(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->appli->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->appli->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+}
+
+void wxCDMAppliDescriptionPanel::OnChBApplicationChange(wxCommandEvent& event)
+{
+  this->appli->SetApplicationInclude(
+      crea::wx2std(((wxCheckBox*)event.GetEventObject())->GetName()),
+      ((wxCheckBox*)event.GetEventObject())->GetValue()
+    );
+}
+
+void wxCDMAppliDescriptionPanel::OnLnkApplicationSelect(wxHyperlinkEvent& event)
+{
+  modelCDMApplication* applicationFound = NULL;
+  std::vector<modelCDMApplication*> applications = this->appli->GetApplications();
+  for (int i = 0; i < (int)(applications.size()); i++)
+    {
+      if(applications[i]->GetName() == crea::wx2std(event.GetURL()))
+        {
+          applicationFound = applications[i];
+          break;
+        }
+    }
+  wxCommandEvent* newEvent1 = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+  newEvent1->SetClientData(applicationFound);
+  newEvent1->SetId(0);
+  wxPostEvent(this->GetParent(), *newEvent1);
+
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+  newEvent->SetClientData(applicationFound);
+  newEvent->SetId(0);
+  wxPostEvent(this->GetParent(), *newEvent);
+}
+
+void wxCDMAppliDescriptionPanel::OnBtnReturn(wxHyperlinkEvent& event)
+{
+  std::vector<modelCDMIProjectTreeNode*> parents = this->appli->GetParents();
+  std::string parentURL = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  //std::cout << parentURL << std::endl;
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      if (parents[i]->GetPath() == parentURL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+          newEvent->SetClientData(parents[i]);
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+}
+
+void wxCDMAppliDescriptionPanel::OnBtnOpenFolder(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->appli->OpenInFileExplorer(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open Folder - Error!"),wxOK | wxICON_ERROR);
+}
+
+void wxCDMAppliDescriptionPanel::OnMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+  std::string AppName = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  modelCDMApplication* theApp = NULL;
+  std::vector<modelCDMApplication*> applications = this->appli->GetApplications();
+  for (int i = 0; i < (int)(applications.size()); i++)
+    {
+      if(applications[i]->GetName() == AppName)
+        {
+          theApp = applications[i];
+          break;
+        }
+    }
+  newEvent->SetClientData(theApp);
+  newEvent->SetId(0);
+  wxPostEvent(this->GetParent(), *newEvent);
+  event.Skip();
+}
+
+void wxCDMAppliDescriptionPanel::OnMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+  std::string AppName = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  modelCDMApplication* theApp = NULL;
+  std::vector<modelCDMApplication*> applications = this->appli->GetApplications();
+  for (int i = 0; i < (int)(applications.size()); i++)
+    {
+      if(applications[i]->GetName() == AppName)
+        {
+          theApp = applications[i];
+          break;
+        }
+    }
+  newEvent->SetClientData(theApp);
+  newEvent->SetId(0);
+  wxPostEvent(this->GetParent(), *newEvent);
+  event.Skip();
+}
+
+void wxCDMAppliDescriptionPanel::OnCMakeMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+  if(this->appli->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->appli->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMAppliDescriptionPanel::OnCMakeMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->appli->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->appli->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
diff --git a/lib/creaDevManagerLib/wxCDMAppliDescriptionPanel.h b/lib/creaDevManagerLib/wxCDMAppliDescriptionPanel.h
new file mode 100644
index 0000000..a12c31f
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMAppliDescriptionPanel.h
@@ -0,0 +1,155 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMAppliDescriptionPanel.h
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMAPPLIDESCRIPTIONPANEL_H_
+#define WXCDMAPPLIDESCRIPTIONPANEL_H_
+
+#include <creaWx.h>
+#include <wx/hyperlink.h>
+
+#include "modelCDMAppli.h"
+
+/**
+ * Application manager description panel. Shows the available applications in the project and the actions corresponding to application management.
+ */
+class wxCDMAppliDescriptionPanel : public wxScrolledWindow
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Application manager description panel Constructor.
+   * @param parent Parent window reference.
+   * @param appli Application manager class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+  wxCDMAppliDescriptionPanel(
+      wxWindow* parent,
+      modelCDMAppli* appli,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  ~wxCDMAppliDescriptionPanel();
+
+  /**
+   * Application manager description panel Creator.
+   * @param parent Parent window reference.
+   * @param appli Application manager class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   * @return True if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      modelCDMAppli* appli,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Creates all the controls in the panel (property and action controls).
+   */
+  void CreateControls();
+
+private:
+  /**
+   * Application manager described.
+   */
+  modelCDMAppli* appli;
+
+  //handlers
+protected:
+  /**
+   * Handles when the create application button is pressed.
+   */
+  void OnBtnCreateApplication(wxCommandEvent& event);
+  /**
+   * Handles when the open package cmakelists file button is pressed.
+   */
+  void OnBtnEditCMakeLists(wxCommandEvent& event);
+  /**
+   * Handles when a application checkbox is (un)checked.
+   * @param event Has the link reference to know which application was selected.
+   */
+  void OnChBApplicationChange(wxCommandEvent& event);
+  /**
+   * Handles when an application link is pressed.
+   * @param event Has the link reference to know which application was selected.
+   */
+  void OnLnkApplicationSelect(wxHyperlinkEvent& event);
+  /**
+   * Handles when a return link is pressed.
+   * @param event Has the link reference to know where to return
+   */
+  void OnBtnReturn(wxHyperlinkEvent& event);
+  /**
+   * Handles when the open folder button is pressed.
+   */
+  void OnBtnOpenFolder(wxCommandEvent& event);
+
+  /**
+   * Handles when a application link is hovered.
+   * @param event Has the link reference to know which application was selected.
+   */
+  void OnMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when a application link button finishes hover.
+   * @param event Has the link reference to know which application was selected.
+   */
+  void OnMouseExit(wxMouseEvent& event);
+  /**
+   * Handles when the open cmakelists file button is hovered.
+   */
+  void OnCMakeMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when the open cmakelists file button finishes hover.
+   */
+  void OnCMakeMouseExit(wxMouseEvent& event);
+
+};
+
+#endif /* WXCDMAPPLIDESCRIPTIONPANEL_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMAppliHelpDialog.cpp b/lib/creaDevManagerLib/wxCDMAppliHelpDialog.cpp
new file mode 100644
index 0000000..860abfd
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMAppliHelpDialog.cpp
@@ -0,0 +1,174 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMAppliHelpDialog.cpp
+ *
+ *  Created on: 11/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMAppliHelpDialog.h"
+
+#include "creaDevManagerIds.h"
+
+
+BEGIN_EVENT_TABLE(wxCDMAppliHelpDialog, wxDialog)
+EVT_BUTTON(ID_BUTTON_CANCEL, wxCDMAppliHelpDialog::OnFinish)
+EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMAppliHelpDialog::OnEditCMake)
+EVT_CHECKBOX(ID_CHECKBOX_DISABLE_HELP, wxCDMAppliHelpDialog::OnDisableHelp)
+END_EVENT_TABLE()
+
+wxCDMAppliHelpDialog::wxCDMAppliHelpDialog(
+    wxWindow* parent,
+    modelCDMAppli* appli,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMAppliHelpDialog::Create(parent, id, caption, position, size, style);
+  this->appli = appli;
+}
+
+wxCDMAppliHelpDialog::~wxCDMAppliHelpDialog()
+{
+}
+
+bool wxCDMAppliHelpDialog::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long int style
+)
+{
+  wxDialog::Create(parent, id, caption, position, size, style);
+
+  this->CreateControls();
+
+  return TRUE;
+}
+
+void wxCDMAppliHelpDialog::CreateControls()
+{
+  wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
+
+
+  wxStaticText* title = new wxStaticText(this, wxID_ANY, wxT("Managing your applications"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);//new wxRichTextCtrl(this,wxID_ANY, wxString("Create a new project"), wxDefaultPosition, wxDefaultSize, wxRE_READONLY);
+  v_sizer1->Add(title, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  wxStaticText* instruction = new wxStaticText(
+      this,
+      wxID_ANY,
+      crea::std2wx(
+          "Applications are stand alone programs that use the projects' core functionality (libraries' functions). These "
+          "applications are useful when showing the projects' \"out of the box\" functionalities.\n"
+          "\n"
+          "In the application manager you can view a list of the available applications in the current project, as well as create "
+          "new applications. Remember that any application you make must be included in the appli's folder CMakeLists file by using the "
+          "\"ADD_SUBDIRECTORY([applicationName])\" command. You can do that by clicking on the \"Edit Appli's CMakeLists File\" button "
+          "below or in the Application Manager the \"Edit CMakeLists file\" button and include the desired applications at the end of "
+          "the file.\n"
+          "For a better understanding of how to use the applications please check the \"myFierceAppli\" application (which is shipped by "
+          "default in every new project) and take a look at how it's included in the project."),
+          wxDefaultPosition,
+          wxDefaultSize,
+          wxALIGN_LEFT
+  );
+  v_sizer1->Add(instruction, 0,wxEXPAND | wxALL, 5);
+
+  wxButton* editCMakeAppliBtn = new wxButton(this, ID_BUTTON_EDIT_CMAKELISTSFILE, wxT("Edit Appli's CMakeLists File"));
+  editCMakeAppliBtn->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMAppliHelpDialog::OnCMakeListsEnter,NULL,this);
+  editCMakeAppliBtn->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMAppliHelpDialog::OnCMakeListsExit,NULL,this);
+  v_sizer1->Add(editCMakeAppliBtn, 0, wxEXPAND | wxLEFT | wxRIGHT, 15);
+
+  v_sizer1->Add(new wxCheckBox(this, ID_CHECKBOX_DISABLE_HELP, wxT("&Disable help")), 0, wxALIGN_RIGHT | wxRIGHT, 10);
+
+  v_sizer1->Add(new wxButton(this, ID_BUTTON_CANCEL, wxT("Close")), 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM | wxALIGN_CENTER_VERTICAL, 30);
+
+  SetSizer(v_sizer1);
+
+}
+
+void wxCDMAppliHelpDialog::OnFinish(wxCommandEvent& event)
+{
+  this->EndDialog(wxID_CANCEL);
+}
+
+void wxCDMAppliHelpDialog::OnEditCMake(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->appli->OpenCMakeListsFile(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->appli->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->appli->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+}
+
+
+void wxCDMAppliHelpDialog::OnCMakeListsEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+  if(this->appli->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->appli->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMAppliHelpDialog::OnCMakeListsExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->appli->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->appli->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+
+void wxCDMAppliHelpDialog::OnDisableHelp(wxCommandEvent& event)
+{
+  wxPostEvent(this->GetParent(), event);
+}
diff --git a/lib/creaDevManagerLib/wxCDMAppliHelpDialog.h b/lib/creaDevManagerLib/wxCDMAppliHelpDialog.h
new file mode 100644
index 0000000..40d8d11
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMAppliHelpDialog.h
@@ -0,0 +1,138 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * wxCDMAppliHelpDialog.h
+ *
+ *  Created on: 11/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMAPPLIHELPDIALOG_H_
+#define WXCDMAPPLIHELPDIALOG_H_
+
+#include <creaWx.h>
+#include <wx/dialog.h>
+
+#include "modelCDMAppli.h"
+
+/**
+ * Appli Panel Help Dialog
+ */
+class wxCDMAppliHelpDialog : public wxDialog
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Appli Panel Help Dialog Constructor.
+   * @param parent Parent window.
+   * @param appli Appli class reference.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Managing Applications".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 600.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   */
+  wxCDMAppliHelpDialog(
+      wxWindow* parent,
+      modelCDMAppli* appli,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Managing Applications"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,600),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMAppliHelpDialog();
+  /**
+     * Appli Panel Help Dialog Creator.
+     * @param parent Parent window.
+     * @param id Dialog ID. By default wxID_ANY.
+     * @param caption Dialog label. By default "Managing Applications".
+     * @param position Dialog position. By default wxDefaultPosition.
+     * @param size Dialog size. By default 350, 600.
+     * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+     * @return if the creation was successful.
+     */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Managing Applications"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,600),
+      long style = wxDEFAULT_DIALOG_STYLE
+  );
+
+protected:
+  /**
+   * Creates the help controls (text and buttons).
+   */
+  void CreateControls();
+
+//attributes
+private:
+  /**
+   * Appli class reference.
+   */
+  modelCDMAppli* appli;
+
+//handlers
+protected:
+  /**
+   * Handler to close help dialog.
+   * @param event Unused.
+   */
+  void OnFinish(wxCommandEvent& event);
+
+  /**
+   * Handler when a cmakelists button is pressed.
+   * @param event cmakelists event.
+   */
+  void OnEditCMake(wxCommandEvent& event);
+
+  /**
+   * Handler when a cmakelists button is hovered.
+   * @param event cmakelists event.
+   */
+  void OnCMakeListsEnter(wxMouseEvent& event);
+  /**
+   * Handler when a cmakelists button hover finishes.
+   * @param event cmakelists event.
+   */
+  void OnCMakeListsExit(wxMouseEvent& event);
+
+  /**
+   * Handler when the disable help checkbox is changed.
+   * @param event check box event.
+   */
+  void OnDisableHelp(wxCommandEvent& event);
+};
+
+#endif /* WXCDMAPPLIHELPDIALOG_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMApplicationDescriptionPanel.cpp b/lib/creaDevManagerLib/wxCDMApplicationDescriptionPanel.cpp
new file mode 100644
index 0000000..5b63f23
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMApplicationDescriptionPanel.cpp
@@ -0,0 +1,560 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMApplicationDescriptionPanel.cpp
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMApplicationDescriptionPanel.h"
+
+#include "CDMUtilities.h"
+#include "wxCDMMainFrame.h"
+
+#include "wxCDMApplicationHelpDialog.h"
+
+#include "creaDevManagerIds.h"
+#include "images/AIcon64.xpm"
+
+BEGIN_EVENT_TABLE(wxCDMApplicationDescriptionPanel, wxPanel)
+EVT_BUTTON(ID_BUTTON_SET_NAME, wxCDMApplicationDescriptionPanel::OnBtnSetExeName)
+EVT_HYPERLINK(ID_BUTTON_PREV, wxCDMApplicationDescriptionPanel::OnBtnReturn)
+EVT_BUTTON(ID_BUTTON_CREATE_CLASS, wxCDMApplicationDescriptionPanel::OnBtnCreateClass)
+EVT_BUTTON(ID_BUTTON_CREATE_FOLDER, wxCDMApplicationDescriptionPanel::OnBtnCreateFolder)
+EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMApplicationDescriptionPanel::OnBtnEditCMakeLists)
+EVT_BUTTON(ID_BUTTON_OPEN_FOLDER, wxCDMApplicationDescriptionPanel::OnBtnOpenFolder)
+EVT_BUTTON(ID_BUTTON_OPEN_CXX, wxCDMApplicationDescriptionPanel::OnBtnOpenMain)
+EVT_CHECKBOX(ID_CHECK_INCLUDE_3RDLIBRARY, wxCDMApplicationDescriptionPanel::On3rdLibraryChBChange)
+EVT_CHECKBOX(ID_CHECK_INCLUDE_LIBRARY, wxCDMApplicationDescriptionPanel::OnLibraryChBChange)
+END_EVENT_TABLE()
+
+wxCDMApplicationDescriptionPanel::wxCDMApplicationDescriptionPanel(
+    wxWindow* parent,
+    modelCDMApplication* application,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMApplicationDescriptionPanel::Create(parent, application, id, caption, pos, size, style);
+}
+
+wxCDMApplicationDescriptionPanel::~wxCDMApplicationDescriptionPanel()
+{
+}
+
+bool wxCDMApplicationDescriptionPanel::Create(
+    wxWindow* parent,
+    modelCDMApplication* application,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxPanel::Create(parent, id, pos, size, style);
+  this->application = application;
+  CreateControls();
+  // this part makes the scrollbars show up
+  this->FitInside(); // ask the sizer about the needed size
+  this->SetScrollRate(5, 5);
+  return TRUE;
+}
+
+void wxCDMApplicationDescriptionPanel::CreateControls()
+{
+  wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+
+  //Links to return
+  wxBoxSizer *linksSizer = new wxBoxSizer(wxHORIZONTAL);
+  std::vector<modelCDMIProjectTreeNode*> parents = this->application->GetParents();
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+		wxHyperlinkCtrl* returnLnk = new wxHyperlinkCtrl(this, ID_BUTTON_PREV, crea::std2wx(parents[parents.size()-1-i]->GetName()), crea::std2wx(parents[parents.size()-1-i]->GetPath()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+      returnLnk->SetWindowStyle(wxNO_BORDER);
+      returnLnk->SetToolTip(crea::std2wx("Return to " + parents[parents.size()-1-i]->GetName() + "."));
+      linksSizer->Add(returnLnk, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5);
+      linksSizer->Add(new wxStaticText(this,wxID_ANY, wxT("/")), 0, wxALIGN_CENTER, 0);
+    }
+  linksSizer->Add(new wxStaticText(this, wxID_ANY, crea::std2wx(this->application->GetName())), 0, wxALIGN_CENTER, 0);
+  sizer->Add(linksSizer, 0, wxALIGN_CENTER | wxALL, 5);
+
+  //Header
+  wxBoxSizer* headerSizer = new wxBoxSizer(wxHORIZONTAL);
+  {
+    //Image
+    headerSizer->Add(new wxStaticBitmap(this, -1, wxBitmap(AIcon64)),0, wxALIGN_CENTER, 0);
+    wxBoxSizer* textSizer = new wxBoxSizer(wxVERTICAL);
+    //Title
+    textSizer->Add(new wxStaticText(this, -1, _("Application")),0, wxALIGN_LEFT, 0);
+    //Application Name
+    textSizer->Add(new wxStaticText(this, -1, crea::std2wx(this->application->GetName())),0, wxALIGN_LEFT, 0);
+    headerSizer->Add(textSizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
+  }
+  sizer->Add(headerSizer, 0, wxALIGN_CENTER);
+
+  /*  //Properties
+  wxStaticBoxSizer* propertiesBox = new wxStaticBoxSizer(wxVERTICAL, this, wxT("&Properties"));
+  wxPanel* propertiesPanel = new wxPanel(this);
+  wxBoxSizer* propertiesPanelSizer = new wxBoxSizer(wxVERTICAL);
+
+  wxFlexGridSizer* propertiesGridSizer = new wxFlexGridSizer(4, 2, 9, 15);
+
+  wxStaticText *pMainFile = new wxStaticText(propertiesPanel, -1, wxT("Executable Name"));
+  wxBoxSizer* pMainFilesz = new wxBoxSizer(wxHORIZONTAL);
+  this->executableNametc = new wxStaticText(propertiesPanel, wxID_ANY, crea::std2wx(this->application->GetExecutableName()));
+  wxButton* pMainFilebt = new wxButton(propertiesPanel, ID_BUTTON_SET_NAME, wxT("Set"));
+  pMainFilebt->SetToolTip(wxT("Set the name of the executable file for the application."));
+  pMainFilesz->Add(this->executableNametc, 0, wxALIGN_CENTER_VERTICAL, 0);
+  pMainFilesz->Add(pMainFilebt, 0, wxALIGN_CENTER | wxLEFT, 10);
+
+  propertiesGridSizer->Add(pMainFile, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
+  propertiesGridSizer->Add(pMainFilesz, 1, wxEXPAND);
+
+  propertiesGridSizer->AddGrowableCol(1,1);
+
+  propertiesPanelSizer->Add(propertiesGridSizer, 0, wxEXPAND);
+  propertiesPanel->SetSizer(propertiesPanelSizer);
+  propertiesPanelSizer->Fit(propertiesPanel);
+  propertiesBox->Add(propertiesPanel, 0, wxEXPAND);
+  sizer->Add(propertiesBox, 0, wxEXPAND | wxALL, 10);
+   */
+
+  //Includes
+  wxStaticBoxSizer* includesBox = new wxStaticBoxSizer(wxHORIZONTAL, this, wxT("&Used Libraries"));
+  includesBox->SetMinSize(200,250);
+  wxScrolledWindow* includesPanel = new wxScrolledWindow(this);
+  wxBoxSizer* includesPanelSizer = new wxBoxSizer(wxVERTICAL);
+
+  //Third Party Libraries
+  wxStaticText* Title1 = new wxStaticText(includesPanel, wxID_ANY, wxT("Third Party Libraries:"));
+  wxFont font = Title1->GetFont();
+  font.SetWeight(wxFONTWEIGHT_BOLD);
+  Title1->SetFont(font);
+  includesPanelSizer->Add(Title1, 0, wxEXPAND);
+
+  //inclusion data
+  std::map<std::string, bool> inclusions = this->application->Get3rdPartyLibraries();
+  //includesGrid Sizer
+  wxFlexGridSizer* includesGridSizer = new wxFlexGridSizer(inclusions.size()+1, 2, 0, 5);
+
+  wxStaticText* ChBTitle = new wxStaticText(
+      includesPanel,
+      wxID_ANY,
+      wxT("Included"),
+      wxDefaultPosition,
+      wxDefaultSize,
+      wxALIGN_CENTER
+    );
+  wxStaticText* LNmTitle = new wxStaticText(
+      includesPanel,
+      wxID_ANY,
+      wxT("Library Name"),
+      wxDefaultPosition,
+      wxDefaultSize,
+      wxALIGN_LEFT
+    );
+
+  includesGridSizer->Add(ChBTitle, 1, wxEXPAND);
+  includesGridSizer->Add(LNmTitle, 1, wxEXPAND);
+
+  for (std::map<std::string, bool>::iterator it = inclusions.begin(); it != inclusions.end(); ++it) {
+    wxCheckBox* ChBIncl = new wxCheckBox(
+        includesPanel, ID_CHECK_INCLUDE_3RDLIBRARY, wxT(""), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT
+      );
+    ChBIncl->SetToolTip(crea::std2wx(
+        "When this box is checked the " + it->first + " library\n"
+        "is included in the project configuration for\n"
+        "this application including the following instruction\n"
+        "in the application's folder CMakeLists.txt file:\n"
+        "SET ( ${LIBRARY_NAME}_LINK_LIBRARIES\n"
+        "  ${" + it->first+ "_LIBRARIES}\n"
+        ")"));
+    ChBIncl->SetName(crea::std2wx(it->first));
+    ChBIncl->SetValue(it->second);
+    includesGridSizer->Add(ChBIncl, 1, wxEXPAND);
+
+    wxStaticText* LNmIncl = new wxStaticText(includesPanel, wxID_ANY, crea::std2wx(it->first));
+    includesGridSizer->Add(LNmIncl, 1, wxEXPAND);
+  }
+
+  includesGridSizer->AddGrowableCol(1,1);
+
+  includesPanelSizer->Add(includesGridSizer, 0, wxEXPAND | wxLEFT, 5);
+
+  //Custom Libraries
+  wxStaticText* Title2 = new wxStaticText(includesPanel, wxID_ANY, wxT("Custom Libraries:"));
+  font = Title2->GetFont();
+  font.SetWeight(wxFONTWEIGHT_BOLD);
+  Title2->SetFont(font);
+  includesPanelSizer->Add(Title2, 0, wxEXPAND);
+
+  //inclusion data
+  std::map<std::string, bool> inclusionsLibs = this->application->GetCustomLibraries();
+  //includesGrid Sizer
+  wxFlexGridSizer* includesLibGridSizer = new wxFlexGridSizer(inclusionsLibs.size()+1, 2, 0, 5);
+
+  wxStaticText* ChBTitle1 = new wxStaticText(
+      includesPanel,
+      wxID_ANY,
+      wxT("Included"),
+      wxDefaultPosition,
+      wxDefaultSize,
+      wxALIGN_CENTER
+    );
+  wxStaticText* LNmTitle1 = new wxStaticText(
+      includesPanel,
+      wxID_ANY,
+      wxT("Library Name"),
+      wxDefaultPosition,
+      wxDefaultSize,
+      wxALIGN_LEFT
+    );
+
+  includesLibGridSizer->Add(ChBTitle1, 1, wxEXPAND);
+  includesLibGridSizer->Add(LNmTitle1, 1, wxEXPAND);
+
+  for (std::map<std::string, bool>::iterator it = inclusionsLibs.begin(); it != inclusionsLibs.end(); ++it) {
+    wxCheckBox* ChBIncl = new wxCheckBox(
+        includesPanel, ID_CHECK_INCLUDE_LIBRARY, wxT(""), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT
+      );
+    ChBIncl->SetToolTip(crea::std2wx(
+        "When this box is checked the " + it->first + " custom\n"
+        "library is included in the project configuration for\n"
+        "this application including the following code in the\n"
+        "application's folder CMakeLists.txt file:\n"
+        "INCLUDE_DIRECTORIES (\n"
+        "  ../../lib/"+ it->first + "\n"
+        ")\n"
+        "SET ( ${EXE_NAME}_LINK_LIBRARIES\n"
+        "  " + it->first+ "\n"
+        ")"));
+    ChBIncl->SetName(crea::std2wx(it->first));
+    ChBIncl->SetValue(it->second);
+    includesLibGridSizer->Add(ChBIncl, 1, wxEXPAND);
+
+    wxStaticText* LNmIncl = new wxStaticText(includesPanel, wxID_ANY, crea::std2wx(it->first));
+    includesLibGridSizer->Add(LNmIncl, 1, wxEXPAND);
+  }
+
+  includesLibGridSizer->AddGrowableCol(1,1);
+
+  includesPanelSizer->Add(includesLibGridSizer, 0, wxEXPAND | wxLEFT, 5);
+
+  includesPanel->SetSizer(includesPanelSizer);
+  includesPanelSizer->Fit(includesPanel);
+
+  includesPanel->FitInside();
+  includesPanel->SetScrollRate(5,5);
+
+  includesBox->Add(includesPanel, 1, wxEXPAND);
+  sizer -> Add(includesBox, 0, wxALL | wxEXPAND, 10);
+
+
+  //Actions
+  //actions StaticBoxSizer
+  wxStaticBoxSizer* actionsBox = new wxStaticBoxSizer(wxVERTICAL, this, wxT("&Actions"));
+  actionsBox->GetStaticBox()->SetToolTip(wxT("Create classes or edit them for this application, as well as editing the application's CMakeLists.txt file by selecting the desired action."));
+  //actions Panel
+  wxPanel* actionsPanel = new wxPanel(this);
+  //actions Sizer
+  wxBoxSizer* actionsPanelSizer = new wxBoxSizer(wxHORIZONTAL);
+  //actionsGrid Sizer
+  wxFlexGridSizer* actionsGridSizer = new wxFlexGridSizer(3, 2, 9, 15);
+
+  wxButton* createClassbt = new wxButton(actionsPanel, ID_BUTTON_CREATE_CLASS, _T("Create Class"));
+  createClassbt->SetToolTip(wxT("Create a new Class (.h and .cxx files)."));
+  wxButton* createFolderbt = new wxButton(actionsPanel, ID_BUTTON_CREATE_FOLDER, _T("Create Folder"));
+  createFolderbt->SetToolTip(wxT("Create a new Folder inside the application folder."));
+  wxButton* openMainbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_CXX, _T("A. Open Main File"));
+  openMainbt->SetToolTip(wxT("Open the main file in the application folder with the default code editor."));
+  openMainbt->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMApplicationDescriptionPanel::OnMainMouseEnter,NULL,this);
+  openMainbt->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMApplicationDescriptionPanel::OnMainMouseExit,NULL,this);
+  wxButton* editCMakebt = new wxButton(actionsPanel, ID_BUTTON_EDIT_CMAKELISTSFILE, _T("Edit CMakeLists File"));
+  editCMakebt->SetToolTip(wxT("Edit the CMakeLists.txt file inside this application."));
+  editCMakebt->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMApplicationDescriptionPanel::OnCMakeMouseEnter,NULL,this);
+  editCMakebt->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMApplicationDescriptionPanel::OnCMakeMouseExit,NULL,this);
+  wxButton* openFolderbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_FOLDER, _T("Open Application Folder"));
+  openFolderbt->SetToolTip(wxT("Open the application folder in the file explorer."));
+
+
+  actionsGridSizer->Add(openMainbt, 1, wxALL | wxEXPAND, 5);
+  actionsGridSizer->Add(openFolderbt, 1, wxALL | wxEXPAND, 5);
+  actionsGridSizer->Add(editCMakebt, 1, wxALL | wxEXPAND, 5);
+  actionsGridSizer->Add(createClassbt, 1, wxALL | wxEXPAND, 5);
+  actionsGridSizer->Add(createFolderbt, 1, wxALL | wxEXPAND, 5);
+
+  //SetPanel sizer and box
+  actionsGridSizer->AddGrowableCol(0,1);
+  actionsGridSizer->AddGrowableCol(1,1);
+
+  actionsPanelSizer->Add(actionsGridSizer, 1, wxEXPAND, 0);
+  actionsPanel->SetSizer(actionsPanelSizer);
+  actionsPanelSizer->Fit(actionsPanel);
+  actionsBox->Add(actionsPanel, 1, wxALL | wxEXPAND, 5);
+  sizer->Add(actionsBox, 0, wxEXPAND | wxALL, 10);
+
+  //Assign sizer
+  SetSizer(sizer);
+  sizer->SetSizeHints(this);
+
+  if (((wxCDMMainFrame*)this->GetParent())->isHelp())
+    {
+      wxCDMApplicationHelpDialog* helpDialog = new wxCDMApplicationHelpDialog(this->GetParent(), this->application, wxID_ANY);
+      helpDialog->Show(true);
+    }
+}
+
+void wxCDMApplicationDescriptionPanel::OnBtnReturn(wxHyperlinkEvent& event)
+{
+  std::vector<modelCDMIProjectTreeNode*> parents = this->application->GetParents();
+  std::string parentURL = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  //std::cout << parentURL << std::endl;
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      if (parents[i]->GetPath() == parentURL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+          newEvent->SetClientData(parents[i]);
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+
+}
+
+void wxCDMApplicationDescriptionPanel::OnBtnSetExeName(wxCommandEvent& event)
+{
+  //get name
+  wxString versionWx = wxGetTextFromUser(
+      wxT("Enter the new executable name"),
+      wxT("Change Application Executable Name - creaDevManager"),
+      crea::std2wx(this->application->GetExecutableName())
+  );
+  //check name
+  std::vector<std::string> parts;
+  CDMUtilities::splitter::split(parts, crea::wx2std(versionWx), " .", CDMUtilities::splitter::no_empties);
+  if(parts.size() > 0)
+    {
+      std::string* result;
+      if(!this->application->SetExecutableName(crea::wx2std(versionWx), result))
+        wxMessageBox(crea::std2wx(*result),_T("Change Application Executable Name - Error!"),wxOK | wxICON_ERROR);
+    }
+  else
+    {
+      wxMessageBox(crea::std2wx("No name specified"),_T("Set Application Executable Name - Error!"),wxOK | wxICON_ERROR);
+    }
+  this->executableNametc->SetLabel(crea::std2wx(this->application->GetExecutableName()));
+}
+
+void wxCDMApplicationDescriptionPanel::On3rdLibraryChBChange(wxCommandEvent& event)
+{
+  if(this->application->Set3rdPartyLibrary(crea::wx2std(((wxCheckBox*)event.GetEventObject())->GetName()), ((wxCheckBox*)event.GetEventObject())->GetValue()))
+    ((wxCheckBox*)event.GetEventObject())->SetValue(((wxCheckBox*)event.GetEventObject())->GetValue());
+  else
+    ((wxCheckBox*)event.GetEventObject())->SetValue(!((wxCheckBox*)event.GetEventObject())->GetValue());
+}
+
+void wxCDMApplicationDescriptionPanel::OnLibraryChBChange(wxCommandEvent& event)
+{
+  if(this->application->SetCustomLibrary(crea::wx2std(((wxCheckBox*)event.GetEventObject())->GetName()), ((wxCheckBox*)event.GetEventObject())->GetValue()))
+      ((wxCheckBox*)event.GetEventObject())->SetValue(((wxCheckBox*)event.GetEventObject())->GetValue());
+    else
+      ((wxCheckBox*)event.GetEventObject())->SetValue(!((wxCheckBox*)event.GetEventObject())->GetValue());
+}
+
+void wxCDMApplicationDescriptionPanel::OnBtnCreateClass(wxCommandEvent& event)
+{
+  //get class name from user
+  wxTextEntryDialog* newClassDlg = new wxTextEntryDialog(
+      this,
+      wxT("Please enter the new class name."),
+      wxT("New Class - creaDevManager"),
+      wxT(""),
+      wxOK | wxCANCEL
+  );
+
+  if (newClassDlg->ShowModal() == wxID_OK)
+    {
+      std::string className = crea::wx2std(newClassDlg->GetValue());
+      //check class name
+      if(className.size() > 0)
+        {
+          if(!this->application->CreateClass(className))
+            wxMessageBox(crea::std2wx("Something has gone wrong with the creation of the class."),_T("New Class - Error!"),wxOK | wxICON_ERROR);
+
+          ((wxCDMMainFrame*)this->GetParent())->RefreshProject();
+
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+          newEvent->SetId(0);
+          newEvent->SetClientData(this->application);
+          wxPostEvent(this->GetParent(), *newEvent);
+
+          wxMessageBox(crea::std2wx("The class has been created successfully."),_T("New Class - Success"),wxOK | wxICON_INFORMATION);
+        }
+      else
+        {
+          wxMessageBox(crea::std2wx("The new class name cannot be empty."),_T("New Class - Error!"),wxOK | wxICON_ERROR);
+        }
+    }
+}
+
+void wxCDMApplicationDescriptionPanel::OnBtnCreateFolder(wxCommandEvent& event)
+{
+  //get name
+  wxString folderName = wxGetTextFromUser(
+      wxT("Enter the name of the new folder:"),
+      wxT("Create Folder - creaDevManager")
+  );
+  //check name
+  std::vector<std::string> parts;
+  CDMUtilities::splitter::split(parts, crea::wx2std(folderName), " /\\\"", CDMUtilities::splitter::no_empties);
+  if(parts.size() > 0)
+    {
+      std::string* result;
+      modelCDMFolder* folderC = this->application->CreateFolder(crea::wx2std(folderName), result);
+      if(folderC == NULL)
+        {
+          wxMessageBox(crea::std2wx(*result),_T("Create Folder - Error!"),wxOK | wxICON_ERROR);
+          return;
+        }
+      ((wxCDMMainFrame*)this->GetParent())->RefreshProject();
+      wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+      newEvent->SetClientData(folderC);
+      wxPostEvent(this->GetParent(), *newEvent);
+      wxMessageBox(crea::std2wx("The folder was successfully created"),_T("Create Folder - Success"),wxOK | wxICON_INFORMATION);
+    }
+  else
+    {
+      wxMessageBox(crea::std2wx("No name specified"),_T("Create Folder - Error!"),wxOK | wxICON_ERROR);
+    }
+}
+
+void wxCDMApplicationDescriptionPanel::OnBtnEditCMakeLists(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->application->OpenCMakeListsFile(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->application->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->application->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+
+  event.Skip();
+}
+
+void wxCDMApplicationDescriptionPanel::OnBtnOpenFolder(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->application->OpenInFileExplorer(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open Folder - Error!"),wxOK | wxICON_ERROR);
+}
+
+void wxCDMApplicationDescriptionPanel::OnCMakeMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+  if(this->application->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->application->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMApplicationDescriptionPanel::OnCMakeMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->application->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->application->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMApplicationDescriptionPanel::OnBtnOpenMain(wxCommandEvent& event)
+{
+  if (this->application->GetMainFile() != NULL)
+    {
+      if (CDMUtilities::openTextEditor(this->application->GetMainFile()->GetPath()))
+      {
+        wxMessageBox(crea::std2wx("The main file couldn't be opened."),_T("Open Main File - Error!"),wxOK | wxICON_ERROR);
+      }
+
+      wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+      newEvent->SetClientData(this->application->GetMainFile());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+
+      event.Skip();
+    }
+  else
+    {
+      wxMessageBox(crea::std2wx("There is no main file or it couldn't be detected."),_T("Open Main File - Error!"),wxOK | wxICON_ERROR);
+    }
+}
+
+void wxCDMApplicationDescriptionPanel::OnMainMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+  if(this->application->GetMainFile() != NULL)
+    {
+      newEvent->SetClientData(this->application->GetMainFile());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMApplicationDescriptionPanel::OnMainMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->application->GetMainFile() != NULL)
+    {
+      newEvent->SetClientData(this->application->GetMainFile());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
diff --git a/lib/creaDevManagerLib/wxCDMApplicationDescriptionPanel.h b/lib/creaDevManagerLib/wxCDMApplicationDescriptionPanel.h
new file mode 100644
index 0000000..d3117f8
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMApplicationDescriptionPanel.h
@@ -0,0 +1,172 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMApplicationDescriptionPanel.h
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMAPPLICATIONDESCRIPTIONPANEL_H_
+#define WXCDMAPPLICATIONDESCRIPTIONPANEL_H_
+
+#include <creaWx.h>
+#include <wx/hyperlink.h>
+
+#include "modelCDMApplication.h"
+
+/**
+ * Application description panel. Shows the properties and actions available for the described application.
+ */
+class wxCDMApplicationDescriptionPanel : public wxScrolledWindow
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Application description panel Constructor.
+   * @param parent Parent window reference.
+   * @param application Application class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+  wxCDMApplicationDescriptionPanel(
+      wxWindow* parent,
+      modelCDMApplication* application,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Destructor.
+   */
+  ~wxCDMApplicationDescriptionPanel();
+
+  /**
+   * Application description panel Creator.
+   * @param parent Parent window reference.
+   * @param application Application class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+  bool Create(
+      wxWindow* parent,
+      modelCDMApplication* application,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Creates all the controls in the panel (property and action controls).
+   */
+  void CreateControls();
+
+private:
+  /**
+   * Application described.
+   */
+  modelCDMApplication* application;
+  /**
+   * described application's executable name control.
+   */
+  wxStaticText* executableNametc;
+
+  //handlers
+protected:
+  /**
+   * Handles when a return link is pressed.
+   * @param event Has the link reference to know where to return
+   */
+  void OnBtnReturn(wxHyperlinkEvent& event);
+
+  /**
+   * Handles when the set executable name button is pressed.
+   * @param event Unused
+   */
+  void OnBtnSetExeName(wxCommandEvent& event);
+  /**
+   * Handles when a 3rd Party Library checkbox state is changed. It calls to include/exclude the selected application.
+   * @param event CheckBox event.
+   */
+  void On3rdLibraryChBChange(wxCommandEvent& event);
+  /**
+   * Handles when a Custom Library checkbox state is changed. It calls to include/exclude the selected application.
+   * @param event CheckBox event.
+   */
+  void OnLibraryChBChange(wxCommandEvent& event);
+  /**
+   * Handles when the create class button is pressed.
+   */
+  void OnBtnCreateClass(wxCommandEvent& event);
+  /**
+   * Handles when the create folder button is pressed.
+   */
+  void OnBtnCreateFolder(wxCommandEvent& event);
+  /**
+   * Handles when the open package cmakelists file button is pressed.
+   */
+  void OnBtnEditCMakeLists(wxCommandEvent& event);
+  /**
+   * Handles when the open containing folder button is pressed.
+   */
+  void OnBtnOpenFolder(wxCommandEvent& event);
+  /**
+   * Handles when the open cmakelists file button is hovered.
+   */
+  void OnCMakeMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when the open cmakelists file button finishes hover.
+   */
+  void OnCMakeMouseExit(wxMouseEvent& event);
+  /**
+   * Handles when the open Main file button is pressed.
+   */
+  void OnBtnOpenMain(wxCommandEvent& event);
+  /**
+   * Handles when the open Main file button is hovered.
+   */
+  void OnMainMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when the open Main file button finishes hover.
+   */
+  void OnMainMouseExit(wxMouseEvent& event);
+
+};
+
+#endif /* WXCDMAPPLICATIONDESCRIPTIONPANEL_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMApplicationHelpDialog.cpp b/lib/creaDevManagerLib/wxCDMApplicationHelpDialog.cpp
new file mode 100644
index 0000000..df47d8a
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMApplicationHelpDialog.cpp
@@ -0,0 +1,263 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMApplicationHelpDialog.cpp
+ *
+ *  Created on: 11/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMApplicationHelpDialog.h"
+
+#include "creaDevManagerIds.h"
+
+#include "modelCDMAppli.h"
+
+BEGIN_EVENT_TABLE(wxCDMApplicationHelpDialog, wxDialog)
+EVT_BUTTON(ID_BUTTON_CANCEL, wxCDMApplicationHelpDialog::OnFinish)
+EVT_BUTTON(ID_BUTTON_OPENPROJECT, wxCDMApplicationHelpDialog::OnCMakeLists)
+EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMApplicationHelpDialog::OnCMakeLists)
+EVT_CHECKBOX(ID_CHECKBOX_DISABLE_HELP, wxCDMApplicationHelpDialog::OnDisableHelp)
+END_EVENT_TABLE()
+
+wxCDMApplicationHelpDialog::wxCDMApplicationHelpDialog(
+    wxWindow* parent,
+    modelCDMApplication* application,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMApplicationHelpDialog::Create(parent, id, caption, position, size, style);
+  this->application = application;
+}
+
+wxCDMApplicationHelpDialog::~wxCDMApplicationHelpDialog()
+{
+}
+
+bool wxCDMApplicationHelpDialog::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long int style
+)
+{
+  wxDialog::Create(parent, id, caption, position, size, style);
+
+  this->CreateControls();
+
+  return TRUE;
+}
+
+void wxCDMApplicationHelpDialog::CreateControls()
+{
+
+  wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
+
+
+  wxStaticText* title = new wxStaticText(this, wxID_ANY, wxT("Working with Applications"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);//new wxRichTextCtrl(this,wxID_ANY, wxString("Create a new project"), wxDefaultPosition, wxDefaultSize, wxRE_READONLY);
+  v_sizer1->Add(title, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  wxStaticText* instruction = new wxStaticText(
+      this,
+      wxID_ANY,
+      crea::std2wx(
+          "Applications are stand alone programs that use the projects' core functionality (libraries' functions). These "
+          "applications are useful when showing the projects' \"out of the box\" functionalities.\n"
+          "Applications are stored in the project's appli folder and each application has its own dedicated folder. Inside "
+          "these folders each application has its main file.\n"
+          "\n"
+          "To start developing an application, go ahead and open the application main file with the button \"Open Main File\" "
+          "and implement the application's functionality.\n"
+          "If you need to create separate classes in the application folder, or inside an specific folders you can do it by "
+          "creating a new class with the \"Create Class\" button or by creating a folder with the \"Create Folder\" button.\n"
+          "Then, in order to include your applications in the project correctly you must include them in the appli's folder "
+          "\"CMakeLists.txt\" file using the command \"ADD_SUBDIRECTORY([applicationName])\". Also, if you create additional "
+          "folders in your application you should include them in the application's \"CMakeLists.txt\" file using the command "
+          "\"ADD_SUBDIRECTORY([folderName])\". If you use a third party library in your application you must include it by "
+          "uncommenting its inclusion in the application's \"CMakeLists.txt\" file. If you use a custom library in your "
+          "application you must include it by including the library path inside the \"INCLUDE_DIRECTORIES\" command, and its "
+          "name inside the \"SET ( ${EXE_NAME}_LINK_LIBRARIES...\"command.\n"
+          "\n"
+          "You can easily edit the CMakeLists files previously mentioned by clicking on the following buttons."),
+          wxDefaultPosition,
+          wxDefaultSize,
+          wxALIGN_LEFT
+  );
+  v_sizer1->Add(instruction, 0,wxEXPAND | wxALL, 5);
+
+  wxButton* editCMakeApplicationBtn = new wxButton(this, ID_BUTTON_EDIT_CMAKELISTSFILE, wxT("Open Application's directory CMakeLists file"));
+  editCMakeApplicationBtn->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMApplicationHelpDialog::OnCMakeListsEnter,NULL,this);
+  editCMakeApplicationBtn->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMApplicationHelpDialog::OnCMakeListsExit,NULL,this);
+  wxButton* editCMakeAppliBtn= new wxButton(this, ID_BUTTON_OPENPROJECT, wxT("Open Appli's directory CMakeLists file"));
+  editCMakeAppliBtn->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMApplicationHelpDialog::OnCMakeListsEnter,NULL,this);
+  editCMakeAppliBtn->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMApplicationHelpDialog::OnCMakeListsExit,NULL,this);
+
+  v_sizer1->Add(editCMakeApplicationBtn, 0, wxEXPAND | wxLEFT | wxRIGHT, 15);
+  v_sizer1->Add(editCMakeAppliBtn, 0, wxEXPAND | wxLEFT | wxRIGHT, 15);
+
+  v_sizer1->Add(new wxCheckBox(this, ID_CHECKBOX_DISABLE_HELP, wxT("&Disable help")), 0, wxALIGN_RIGHT | wxRIGHT, 10);
+
+  v_sizer1->Add(new wxButton(this, ID_BUTTON_CANCEL, wxT("Close")), 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM | wxALIGN_CENTER_VERTICAL, 30);
+
+  SetSizer(v_sizer1);
+  //v_sizer1->RecalcSizes();
+}
+
+void wxCDMApplicationHelpDialog::OnFinish(wxCommandEvent& event)
+{
+  this->EndDialog(wxID_CANCEL);
+}
+
+void wxCDMApplicationHelpDialog::OnCMakeLists(wxCommandEvent& event)
+{
+  std::string* result;
+
+  if((int)((wxButton*)event.GetEventObject())->GetId() == (int)ID_BUTTON_EDIT_CMAKELISTSFILE)
+    {
+
+      if(!this->application->OpenCMakeListsFile(result))
+        wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+      wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+      if(this->application->GetCMakeLists() != NULL)
+        {
+          newEvent->SetClientData(this->application->GetCMakeLists());
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+  else if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_OPENPROJECT)
+    {
+      modelCDMIProjectTreeNode* node = this->application;
+      while (node != NULL && dynamic_cast<modelCDMAppli*>(node) == NULL)
+        {
+          node = node->GetParent();
+        }
+      if (node != NULL)
+        {
+          if(!((modelCDMAppli*)node)->OpenCMakeListsFile(result))
+            wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+          if(((modelCDMAppli*)node)->GetCMakeLists() != NULL)
+            {
+              newEvent->SetClientData(((modelCDMAppli*)node)->GetCMakeLists());
+              newEvent->SetId(0);
+              wxPostEvent(this->GetParent(), *newEvent);
+            }
+        }
+      else
+        {
+          wxMessageBox(crea::std2wx("No project CMakeLists file was found."),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+        }
+    }
+}
+
+void wxCDMApplicationHelpDialog::OnCMakeListsEnter(wxMouseEvent& event)
+{
+  if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_EDIT_CMAKELISTSFILE)
+    {
+      wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+      if(this->application->GetCMakeLists() != NULL)
+        {
+          newEvent->SetClientData(this->application->GetCMakeLists());
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+  else if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_OPENPROJECT)
+    {
+      modelCDMIProjectTreeNode* node = this->application;
+      while (node != NULL && dynamic_cast<modelCDMAppli*>(node) == NULL)
+        {
+          node = node->GetParent();
+        }
+      if (node != NULL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+          if(((modelCDMAppli*)node)->GetCMakeLists() != NULL)
+            {
+              newEvent->SetClientData(((modelCDMAppli*)node)->GetCMakeLists());
+              newEvent->SetId(0);
+              wxPostEvent(this->GetParent(), *newEvent);
+            }
+        }
+    }
+  event.Skip();
+}
+
+void wxCDMApplicationHelpDialog::OnCMakeListsExit(wxMouseEvent& event)
+{
+  if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_EDIT_CMAKELISTSFILE)
+    {
+      wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+      if(this->application->GetCMakeLists() != NULL)
+        {
+          newEvent->SetClientData(this->application->GetCMakeLists());
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+  else if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_OPENPROJECT)
+    {
+      modelCDMIProjectTreeNode* node = this->application;
+      while (node != NULL && dynamic_cast<modelCDMAppli*>(node) == NULL)
+        {
+          node = node->GetParent();
+        }
+      if (node != NULL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+          if(((modelCDMAppli*)node)->GetCMakeLists() != NULL)
+            {
+              newEvent->SetClientData(((modelCDMAppli*)node)->GetCMakeLists());
+              newEvent->SetId(0);
+              wxPostEvent(this->GetParent(), *newEvent);
+            }
+        }
+    }
+  event.Skip();
+}
+
+void wxCDMApplicationHelpDialog::OnDisableHelp(wxCommandEvent& event)
+{
+  wxPostEvent(this->GetParent(), event);
+}
diff --git a/lib/creaDevManagerLib/wxCDMApplicationHelpDialog.h b/lib/creaDevManagerLib/wxCDMApplicationHelpDialog.h
new file mode 100644
index 0000000..f9b4131
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMApplicationHelpDialog.h
@@ -0,0 +1,139 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMApplicationHelpDialog.h
+ *
+ *  Created on: 11/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMAPPLICATIONHELPDIALOG_H_
+#define WXCDMAPPLICATIONHELPDIALOG_H_
+
+#include <creaWx.h>
+#include <wx/dialog.h>
+
+#include "modelCDMApplication.h"
+
+#include <vector>
+
+/**
+ * Application Panel Help Dialog
+ */
+class wxCDMApplicationHelpDialog : public wxDialog
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Application Panel Help Dialog Constructor.
+   * @param parent Parent window.
+   * @param application Application class reference.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Working with Applications".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 410, 670.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   */
+  wxCDMApplicationHelpDialog(
+      wxWindow* parent,
+      modelCDMApplication* application,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Working With Applications"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(410,670),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMApplicationHelpDialog();
+  /**
+   * Application Panel Help Dialog Creator.
+   * @param parent Parent window.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Working with Applications".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 410, 670.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   * @return if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Working With Applications"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(410,670),
+      long style = wxDEFAULT_DIALOG_STYLE
+  );
+
+protected:
+  /**
+   * Creates the help controls (text and buttons).
+   */
+  void CreateControls();
+
+private:
+  /**
+   * Application class reference.
+   */
+  modelCDMApplication* application;
+
+  //handlers
+protected:
+  /**
+   * Handler to close help dialog.
+   * @param event Unused.
+   */
+  void OnFinish(wxCommandEvent& event);
+
+  /**
+   * Handler when a cmakelists button is pressed.
+   * @param event cmakelists event.
+   */
+  void OnCMakeLists(wxCommandEvent& event);
+
+  /**
+   * Handler when a cmakelists button is hovered.
+   * @param event cmakelists event.
+   */
+  void OnCMakeListsEnter(wxMouseEvent& event);
+  /**
+   * Handler when a cmakelists button hover finishes.
+   * @param event cmakelists event.
+   */
+  void OnCMakeListsExit(wxMouseEvent& event);
+
+  /**
+   * Handler when the disable help checkbox is changed.
+   * @param event check box event.
+   */
+  void OnDisableHelp(wxCommandEvent& event);
+};
+
+#endif /* WXCDMAPPLICATIONHELPDIALOG_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMBBGFileDescriptionPanel.cpp b/lib/creaDevManagerLib/wxCDMBBGFileDescriptionPanel.cpp
new file mode 100644
index 0000000..b69bff4
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMBBGFileDescriptionPanel.cpp
@@ -0,0 +1,190 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMBBGFileDescriptionPanel.cpp
+ *
+ *  Created on: Jun 27, 2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMBBGFileDescriptionPanel.h"
+
+#include "wxCDMMainFrame.h"
+
+#include "creaDevManagerIds.h"
+#include "images/BBGIcon64.xpm"
+
+BEGIN_EVENT_TABLE(wxCDMBBGFileDescriptionPanel, wxPanel)
+EVT_HYPERLINK(ID_BUTTON_PREV, wxCDMBBGFileDescriptionPanel::OnBtnReturn)
+EVT_BUTTON(ID_BUTTON_OPEN_FILE, wxCDMBBGFileDescriptionPanel::OnBtnOpenInEditor)
+EVT_BUTTON(ID_BUTTON_OPEN_COMMAND, wxCDMBBGFileDescriptionPanel::OnBtnOpenInBBEditor)
+EVT_BUTTON(ID_BUTTON_OPEN_FOLDER, wxCDMBBGFileDescriptionPanel::OnBtnOpenFolder)
+END_EVENT_TABLE()
+
+wxCDMBBGFileDescriptionPanel::wxCDMBBGFileDescriptionPanel(
+    wxWindow* parent,
+    modelCDMBBGFile* bbgfile,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMBBGFileDescriptionPanel::Create(parent, bbgfile, id, caption, pos, size, style);
+}
+
+wxCDMBBGFileDescriptionPanel::~wxCDMBBGFileDescriptionPanel()
+{
+}
+
+bool wxCDMBBGFileDescriptionPanel::Create(
+    wxWindow* parent,
+    modelCDMBBGFile* bbgfile,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxPanel::Create(parent, id, pos, size, style);
+  this->bbgFile = bbgfile;
+  CreateControls();
+  // this part makes the scrollbars show up
+  this->FitInside(); // ask the sizer about the needed size
+  this->SetScrollRate(5, 5);
+  return TRUE;
+}
+
+void wxCDMBBGFileDescriptionPanel::CreateControls()
+{
+  wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+
+  //Links to return
+  wxBoxSizer *linksSizer = new wxBoxSizer(wxHORIZONTAL);
+  std::vector<modelCDMIProjectTreeNode*> parents = this->bbgFile->GetParents();
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      wxHyperlinkCtrl* returnLnk = new wxHyperlinkCtrl(this, ID_BUTTON_PREV, crea::std2wx(parents[parents.size()-1-i]->GetName()), crea::std2wx(parents[parents.size()-1-i]->GetPath()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+      returnLnk->SetWindowStyle(wxNO_BORDER);
+      returnLnk->SetToolTip(crea::std2wx("Return to " + parents[parents.size()-1-i]->GetName() + "."));
+      linksSizer->Add(returnLnk, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5);
+      linksSizer->Add(new wxStaticText(this,wxID_ANY, wxT("/")), 0, wxALIGN_CENTER, 0);
+    }
+
+  linksSizer->Add(new wxStaticText(this, wxID_ANY, crea::std2wx(this->bbgFile->GetName())), 0, wxALIGN_CENTER, 0);
+
+  sizer->Add(linksSizer, 0, wxALIGN_CENTER | wxALL, 5);
+
+  //Header
+  wxBoxSizer* headerSizer = new wxBoxSizer(wxHORIZONTAL);
+  {
+    //Image
+    headerSizer->Add(new wxStaticBitmap(this, -1, wxBitmap(BBGIcon64)),0, wxALIGN_CENTER, 0);
+    wxBoxSizer* textSizer = new wxBoxSizer(wxVERTICAL);
+    //Title
+    textSizer->Add(new wxStaticText(this, -1, _("BBG Script File")),0, wxALIGN_LEFT, 0);
+    //File Name
+    textSizer->Add(new wxStaticText(this, -1, crea::std2wx(this->bbgFile->GetName())),0, wxALIGN_LEFT, 0);
+    headerSizer->Add(textSizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
+  }
+  sizer->Add(headerSizer, 0, wxALIGN_CENTER);
+
+  //Actions
+  wxStaticBoxSizer* actionsBox = new wxStaticBoxSizer(wxHORIZONTAL, this, wxT("&Actions"));
+  wxPanel* actionsPanel = new wxPanel(this);
+  wxBoxSizer* actionsPanelSizer = new wxBoxSizer(wxHORIZONTAL);
+  //actionsGrid Sizer
+  wxFlexGridSizer* actionsGridSizer = new wxFlexGridSizer(2, 2, 9, 15);
+
+  wxButton* executeScriptbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_COMMAND, _T("Open in BBEditor"));
+  executeScriptbt->SetToolTip(wxT("Edit the BBG file using bbEditor."));
+  actionsGridSizer->Add(executeScriptbt, 1, wxALL | wxEXPAND, 5);
+  wxButton* editScriptbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_FILE, _T("Edit File"));
+  editScriptbt->SetToolTip(wxT("Edit the BBG file in the default text editor."));
+    actionsGridSizer->Add(editScriptbt, 1, wxALL | wxEXPAND, 5);
+  wxButton* openFolderbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_FOLDER, _T("Open Containing Folder"));
+  openFolderbt->SetToolTip(wxT("Open the folder where the BBG file is located in the file explorer."));
+  actionsGridSizer->Add(openFolderbt, 1, wxALL | wxEXPAND, 5);
+
+  actionsGridSizer->AddGrowableCol(0,1);
+  actionsGridSizer->AddGrowableCol(1,1);
+
+  actionsPanelSizer->Add(actionsGridSizer, 1, wxEXPAND, 0);
+  actionsPanel->SetSizer(actionsPanelSizer);
+  actionsPanelSizer->Fit(actionsPanel);
+  actionsBox->Add(actionsPanel, 1, wxEXPAND);
+  sizer -> Add(actionsBox, 0, wxEXPAND | wxALL, 10);
+
+  //Assign sizer
+  SetSizer(sizer);
+  sizer->SetSizeHints(this);
+}
+
+void wxCDMBBGFileDescriptionPanel::OnBtnReturn(wxHyperlinkEvent& event)
+{
+  std::vector<modelCDMIProjectTreeNode*> parents = this->bbgFile->GetParents();
+  std::string parentURL = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  //std::cout << parentURL << std::endl;
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      if (parents[i]->GetPath() == parentURL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+          newEvent->SetClientData(parents[i]);
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+}
+
+void wxCDMBBGFileDescriptionPanel::OnBtnOpenInEditor(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->bbgFile->OpenFile(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open BBG File - Error!"),wxOK | wxICON_ERROR);
+}
+
+void
+wxCDMBBGFileDescriptionPanel::OnBtnOpenInBBEditor(wxCommandEvent& event)
+{
+  std::string* result;
+  std::string params = "";
+  if(!this->bbgFile->EditFile(result, params))
+    {
+      wxMessageBox(crea::std2wx(*result),_T("Edit BBG File - Error!"),wxOK | wxICON_ERROR);
+    }
+}
+
+void wxCDMBBGFileDescriptionPanel::OnBtnOpenFolder(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->bbgFile->OpenInFileExplorer(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open Folder - Error!"),wxOK | wxICON_ERROR);
+}
diff --git a/lib/creaDevManagerLib/wxCDMBBGFileDescriptionPanel.h b/lib/creaDevManagerLib/wxCDMBBGFileDescriptionPanel.h
new file mode 100644
index 0000000..bba2291
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMBBGFileDescriptionPanel.h
@@ -0,0 +1,128 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMBBGFileDescriptionPanel.h
+ *
+ *  Created on: Jun 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMBBGFILEDESCRIPTIONPANEL_H_
+#define WXCDMBBGFILEDESCRIPTIONPANEL_H_
+
+#include <creaWx.h>
+#include <wx/hyperlink.h>
+
+#include "modelCDMBBGFile.h"
+
+/**
+ * BBG File description panel. Shows the file properties and the available actions for it.
+ */
+class wxCDMBBGFileDescriptionPanel : public wxScrolledWindow
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * BBG File description panel Constructor.
+   * @param parent Parent window reference.
+   * @param bbgfile BBGFile class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+  wxCDMBBGFileDescriptionPanel(
+      wxWindow* parent,
+      modelCDMBBGFile* bbgfile,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Destructor.
+   */
+  ~wxCDMBBGFileDescriptionPanel();
+
+  /**
+   * BBG File description panel Constructor.
+   * @param parent Parent window reference.
+   * @param bbgfile BBGFile class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   * @return True if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      modelCDMBBGFile* bbgfile,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Creates all the controls in the panel (property and action controls).
+   */
+  void CreateControls();
+
+private:
+  /**
+   * BBG file described.
+   */
+  modelCDMBBGFile* bbgFile;
+
+  //handlers
+protected:
+  /**
+   * Handles when a return link is pressed.
+   * @param event Has the link reference to know where to return
+   */
+  void OnBtnReturn(wxHyperlinkEvent& event);
+  /**
+   * Handles when the open file in text editor button is pressed.
+   */
+  void OnBtnOpenInEditor(wxCommandEvent& event);
+  /**
+   * Handles when the open file in bbi button is pressed.
+   */
+  void OnBtnOpenInBBEditor(wxCommandEvent& event);
+  /**
+   * Handles when the open containing folder button is pressed.
+   */
+  void OnBtnOpenFolder(wxCommandEvent& event);
+};
+
+#endif /* WXCDMBBGFILEDESCRIPTIONPANEL_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMBBSFileDescriptionPanel.cpp b/lib/creaDevManagerLib/wxCDMBBSFileDescriptionPanel.cpp
new file mode 100644
index 0000000..75cb0ad
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMBBSFileDescriptionPanel.cpp
@@ -0,0 +1,190 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMBBSFileDescriptionPanel.cpp
+ *
+ *  Created on: Jun 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMBBSFileDescriptionPanel.h"
+
+#include "wxCDMMainFrame.h"
+
+#include "creaDevManagerIds.h"
+#include "images/BBSIcon64.xpm"
+
+BEGIN_EVENT_TABLE(wxCDMBBSFileDescriptionPanel, wxPanel)
+EVT_HYPERLINK(ID_BUTTON_PREV, wxCDMBBSFileDescriptionPanel::OnBtnReturn)
+EVT_BUTTON(ID_BUTTON_OPEN_FILE, wxCDMBBSFileDescriptionPanel::OnBtnOpenInEditor)
+EVT_BUTTON(ID_BUTTON_OPEN_COMMAND, wxCDMBBSFileDescriptionPanel::OnBtnOpenInBBI)
+EVT_BUTTON(ID_BUTTON_OPEN_FOLDER, wxCDMBBSFileDescriptionPanel::OnBtnOpenFolder)
+END_EVENT_TABLE()
+
+wxCDMBBSFileDescriptionPanel::wxCDMBBSFileDescriptionPanel(
+    wxWindow* parent,
+    modelCDMBBSFile* bbsfile,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMBBSFileDescriptionPanel::Create(parent, bbsfile, id, caption, pos, size, style);
+}
+
+wxCDMBBSFileDescriptionPanel::~wxCDMBBSFileDescriptionPanel()
+{
+}
+
+bool wxCDMBBSFileDescriptionPanel::Create(
+    wxWindow* parent,
+    modelCDMBBSFile* bbsfile,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxPanel::Create(parent, id, pos, size, style);
+  this->bbsFile = bbsfile;
+  CreateControls();
+  // this part makes the scrollbars show up
+  this->FitInside(); // ask the sizer about the needed size
+  this->SetScrollRate(5, 5);
+  return TRUE;
+}
+
+void wxCDMBBSFileDescriptionPanel::CreateControls()
+{
+  wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+
+  //Links to return
+  wxBoxSizer *linksSizer = new wxBoxSizer(wxHORIZONTAL);
+  std::vector<modelCDMIProjectTreeNode*> parents = this->bbsFile->GetParents();
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      wxHyperlinkCtrl* returnLnk = new wxHyperlinkCtrl(this, ID_BUTTON_PREV, crea::std2wx(parents[parents.size()-1-i]->GetName()), crea::std2wx(parents[parents.size()-1-i]->GetPath()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+      returnLnk->SetWindowStyle(wxNO_BORDER);
+      returnLnk->SetToolTip(crea::std2wx("Return to " + parents[parents.size()-1-i]->GetName() + "."));
+      linksSizer->Add(returnLnk, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5);
+      linksSizer->Add(new wxStaticText(this,wxID_ANY, wxT("/")), 0, wxALIGN_CENTER, 0);
+    }
+
+  linksSizer->Add(new wxStaticText(this, wxID_ANY, crea::std2wx(this->bbsFile->GetName())), 0, wxALIGN_CENTER, 0);
+
+  sizer->Add(linksSizer, 0, wxALIGN_CENTER | wxALL, 5);
+
+  //Header
+  wxBoxSizer* headerSizer = new wxBoxSizer(wxHORIZONTAL);
+  {
+    //Image
+    headerSizer->Add(new wxStaticBitmap(this, -1, wxBitmap(BBSIcon64)),0, wxALIGN_CENTER, 0);
+    wxBoxSizer* textSizer = new wxBoxSizer(wxVERTICAL);
+    //Title
+    textSizer->Add(new wxStaticText(this, -1, _("BBS Script File")),0, wxALIGN_LEFT, 0);
+    //File Name
+    textSizer->Add(new wxStaticText(this, -1, crea::std2wx(this->bbsFile->GetName())),0, wxALIGN_LEFT, 0);
+    headerSizer->Add(textSizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
+  }
+  sizer->Add(headerSizer, 0, wxALIGN_CENTER);
+
+  //Actions
+  wxStaticBoxSizer* actionsBox = new wxStaticBoxSizer(wxHORIZONTAL, this, wxT("&Actions"));
+  wxPanel* actionsPanel = new wxPanel(this);
+  wxBoxSizer* actionsPanelSizer = new wxBoxSizer(wxHORIZONTAL);
+  //actionsGrid Sizer
+  wxFlexGridSizer* actionsGridSizer = new wxFlexGridSizer(2, 2, 9, 15);
+
+  wxButton* executeScriptbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_COMMAND, _T("Execute Script"));
+  executeScriptbt->SetToolTip(wxT("Execute the BBS file using bbi."));
+  actionsGridSizer->Add(executeScriptbt, 1, wxALL | wxEXPAND, 5);
+  wxButton* editScriptbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_FILE, _T("Edit File"));
+  editScriptbt->SetToolTip(wxT("Edit the BBS file in the default text editor."));
+    actionsGridSizer->Add(editScriptbt, 1, wxALL | wxEXPAND, 5);
+  wxButton* openFolderbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_FOLDER, _T("Open Containing Folder"));
+  openFolderbt->SetToolTip(wxT("Open the folder where the BBS file is located in the file explorer."));
+  actionsGridSizer->Add(openFolderbt, 1, wxALL | wxEXPAND, 5);
+
+  actionsGridSizer->AddGrowableCol(0,1);
+  actionsGridSizer->AddGrowableCol(1,1);
+
+  actionsPanelSizer->Add(actionsGridSizer, 1, wxEXPAND, 0);
+  actionsPanel->SetSizer(actionsPanelSizer);
+  actionsPanelSizer->Fit(actionsPanel);
+  actionsBox->Add(actionsPanel, 1, wxEXPAND);
+  sizer -> Add(actionsBox, 0, wxEXPAND | wxALL, 10);
+
+  //Assign sizer
+  SetSizer(sizer);
+  sizer->SetSizeHints(this);
+}
+
+void wxCDMBBSFileDescriptionPanel::OnBtnReturn(wxHyperlinkEvent& event)
+{
+  std::vector<modelCDMIProjectTreeNode*> parents = this->bbsFile->GetParents();
+  std::string parentURL = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  //std::cout << parentURL << std::endl;
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      if (parents[i]->GetPath() == parentURL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+          newEvent->SetClientData(parents[i]);
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+}
+
+void wxCDMBBSFileDescriptionPanel::OnBtnOpenInEditor(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->bbsFile->OpenFile(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open BBS File - Error!"),wxOK | wxICON_ERROR);
+}
+
+void
+wxCDMBBSFileDescriptionPanel::OnBtnOpenInBBI(wxCommandEvent& event)
+{
+  std::string* result;
+  std::string params = "-g";
+  if(!this->bbsFile->ExecuteFile(result, params))
+    {
+      wxMessageBox(crea::std2wx(*result),_T("Execute BBS File - Error!"),wxOK | wxICON_ERROR);
+    }
+}
+
+void wxCDMBBSFileDescriptionPanel::OnBtnOpenFolder(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->bbsFile->OpenInFileExplorer(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open Folder - Error!"),wxOK | wxICON_ERROR);
+}
diff --git a/lib/creaDevManagerLib/wxCDMBBSFileDescriptionPanel.h b/lib/creaDevManagerLib/wxCDMBBSFileDescriptionPanel.h
new file mode 100644
index 0000000..9319407
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMBBSFileDescriptionPanel.h
@@ -0,0 +1,128 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMBBSFileDescriptionPanel.h
+ *
+ *  Created on: Jun 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMBBSFILEDESCRIPTIONPANEL_H_
+#define WXCDMBBSFILEDESCRIPTIONPANEL_H_
+
+#include <creaWx.h>
+#include <wx/hyperlink.h>
+
+#include "modelCDMBBSFile.h"
+
+/**
+ * BBS File description panel. Shows the file properties and the available actions for it.
+ */
+class wxCDMBBSFileDescriptionPanel : public wxScrolledWindow
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * BBS File description panel Constructor.
+   * @param parent Parent window reference.
+   * @param bbsfile BBSFile class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+  wxCDMBBSFileDescriptionPanel(
+      wxWindow* parent,
+      modelCDMBBSFile* bbsfile,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Destructor.
+   */
+  ~wxCDMBBSFileDescriptionPanel();
+
+  /**
+   * BBS File description panel Constructor.
+   * @param parent Parent window reference.
+   * @param bbsfile BBSFile class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   * @return True if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      modelCDMBBSFile* bbsfile,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Creates all the controls in the panel (property and action controls).
+   */
+  void CreateControls();
+
+private:
+  /**
+   * BBS file described.
+   */
+  modelCDMBBSFile* bbsFile;
+
+  //handlers
+protected:
+  /**
+   * Handles when a return link is pressed.
+   * @param event Has the link reference to know where to return
+   */
+  void OnBtnReturn(wxHyperlinkEvent& event);
+  /**
+   * Handles when the open file in text editor button is pressed.
+   */
+  void OnBtnOpenInEditor(wxCommandEvent& event);
+  /**
+   * Handles when the open file in bbi button is pressed.
+   */
+  void OnBtnOpenInBBI(wxCommandEvent& event);
+  /**
+   * Handles when the open containing folder button is pressed.
+   */
+  void OnBtnOpenFolder(wxCommandEvent& event);
+};
+
+#endif /* WXCDMBBSFILEDESCRIPTIONPANEL_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMBlackBoxDescriptionPanel.cpp b/lib/creaDevManagerLib/wxCDMBlackBoxDescriptionPanel.cpp
new file mode 100644
index 0000000..b694aee
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMBlackBoxDescriptionPanel.cpp
@@ -0,0 +1,408 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMBlackBoxDescriptionPanel.cpp
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMBlackBoxDescriptionPanel.h"
+
+#include "wxCDMMainFrame.h"
+
+#include "wxCDMBlackBoxHelpDialog.h"
+
+#include "creaDevManagerIds.h"
+#include "images/BBIcon64.xpm"
+
+BEGIN_EVENT_TABLE(wxCDMBlackBoxDescriptionPanel, wxPanel)
+EVT_HYPERLINK(ID_BUTTON_PREV, wxCDMBlackBoxDescriptionPanel::OnBtnReturn)
+EVT_BUTTON(ID_BUTTON_SET_AUTHOR, wxCDMBlackBoxDescriptionPanel::OnBtnSetAuthor)
+EVT_BUTTON(ID_BUTTON_SET_DESCRIPTION, wxCDMBlackBoxDescriptionPanel::OnBtnSetDescription)
+EVT_BUTTON(ID_BUTTON_SET_CATEGORY, wxCDMBlackBoxDescriptionPanel::OnBtnSetCategories)
+EVT_BUTTON(ID_BUTTON_OPEN_CXX, wxCDMBlackBoxDescriptionPanel::OnBtnOpenCxx)
+EVT_BUTTON(ID_BUTTON_OPEN_HXX, wxCDMBlackBoxDescriptionPanel::OnBtnOpenHxx)
+EVT_BUTTON(ID_BUTTON_OPEN_FOLDER, wxCDMBlackBoxDescriptionPanel::OnBtnOpenFolder)
+END_EVENT_TABLE()
+
+wxCDMBlackBoxDescriptionPanel::wxCDMBlackBoxDescriptionPanel(
+    wxWindow* parent,
+    modelCDMBlackBox* blackBox,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMBlackBoxDescriptionPanel::Create(parent, blackBox, id, caption, pos, size, style);
+}
+
+wxCDMBlackBoxDescriptionPanel::~wxCDMBlackBoxDescriptionPanel()
+{
+}
+
+bool wxCDMBlackBoxDescriptionPanel::Create(
+    wxWindow* parent,
+    modelCDMBlackBox* blackBox,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  this->blackBox = blackBox;
+  wxPanel::Create(parent, id, pos, size, style);
+  CreateControls();
+  // this part makes the scrollbars show up
+  this->FitInside(); // ask the sizer about the needed size
+  this->SetScrollRate(5, 5);
+  return TRUE;
+}
+
+void wxCDMBlackBoxDescriptionPanel::CreateControls()
+{
+  wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+
+  //Links to return
+  wxBoxSizer *linksSizer = new wxBoxSizer(wxHORIZONTAL);
+  std::vector<modelCDMIProjectTreeNode*> parents = this->blackBox->GetParents();
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      wxHyperlinkCtrl* returnLnk = new wxHyperlinkCtrl(this, ID_BUTTON_PREV, crea::std2wx(parents[parents.size()-1-i]->GetName()), crea::std2wx(parents[parents.size()-1-i]->GetPath()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+      returnLnk->SetWindowStyle(wxNO_BORDER);
+      returnLnk->SetToolTip(crea::std2wx("Return to " + parents[parents.size()-1-i]->GetName() + "."));
+      linksSizer->Add(returnLnk, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5);
+      linksSizer->Add(new wxStaticText(this,wxID_ANY, wxT("/")), 0, wxALIGN_CENTER, 0);
+    }
+
+  linksSizer->Add(new wxStaticText(this, wxID_ANY, crea::std2wx(this->blackBox->GetName())), 0, wxALIGN_CENTER, 0);
+
+  sizer->Add(linksSizer, 0, wxALIGN_CENTER | wxALL, 5);
+
+  //Header
+  wxBoxSizer* headerSizer = new wxBoxSizer(wxHORIZONTAL);
+  {
+    //Image
+    headerSizer->Add(new wxStaticBitmap(this, -1, wxBitmap(BBIcon64)),0, wxALIGN_CENTER, 0);
+    wxBoxSizer* textSizer = new wxBoxSizer(wxVERTICAL);
+    //Title
+    textSizer->Add(new wxStaticText(this, -1, _("Black Box")),0, wxALIGN_LEFT, 0);
+    //Black Box Name
+    textSizer->Add(new wxStaticText(this, -1, crea::std2wx(this->blackBox->GetNameBlackBox())),0, wxALIGN_LEFT, 0);
+    headerSizer->Add(textSizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
+  }
+  sizer->Add(headerSizer, 0, wxALIGN_CENTER);
+
+  //BlackBox Properties
+  wxStaticBoxSizer* propertiesBox = new wxStaticBoxSizer(wxVERTICAL, this, wxT("&Properties"));
+  wxPanel* propertiesPanel = new wxPanel(this);
+  wxBoxSizer* propertiesPanelSizer = new wxBoxSizer(wxVERTICAL);
+  wxFlexGridSizer* propertiesGridSizer = new wxFlexGridSizer(4, 2, 9, 15);
+
+  wxStaticText *pAuthor = new wxStaticText(propertiesPanel, -1, wxT("Author"));
+  wxStaticText *pDescription = new wxStaticText(propertiesPanel, -1, wxT("Description"));
+  wxStaticText *pCategories = new wxStaticText(propertiesPanel, -1, wxT("Categories"));
+
+  // author
+  wxBoxSizer* pAuthorsz = new wxBoxSizer(wxHORIZONTAL);
+  this->authortc = new wxStaticText(propertiesPanel, wxID_ANY, crea::std2wx(this->blackBox->GetAuthors()));
+  wxButton* pAuthorbt = new wxButton(propertiesPanel, ID_BUTTON_SET_AUTHOR, wxT("Change"));
+  pAuthorbt->SetToolTip(wxT("Update the author/s of the package."));
+  pAuthorsz->Add(this->authortc, 1, wxALIGN_CENTER, 0);
+  pAuthorsz->Add(pAuthorbt, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 10);
+
+  // description
+  wxBoxSizer* pDescriptionsz = new wxBoxSizer(wxHORIZONTAL);
+  this->descriptiontc = new wxStaticText(propertiesPanel, wxID_ANY, crea::std2wx(this->blackBox->GetDescription()));
+  wxButton* pDescriptionbt = new wxButton(propertiesPanel, ID_BUTTON_SET_DESCRIPTION, wxT("Change"));
+  pDescriptionbt->SetToolTip(wxT("Update the description of the project."));
+  pDescriptionsz->Add(this->descriptiontc, 1, wxALIGN_CENTER, 1);
+  pDescriptionsz->Add(pDescriptionbt, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 10);
+
+  // categories
+  wxBoxSizer* pCategoriessz = new wxBoxSizer(wxHORIZONTAL);
+  this->categoriestc = new wxStaticText(propertiesPanel, wxID_ANY, crea::std2wx(this->blackBox->GetCategories()));
+  wxButton* pCategoriesbt = new wxButton(propertiesPanel, ID_BUTTON_SET_CATEGORY, wxT("Change"));
+  pCategoriesbt->SetToolTip(wxT("Update the categories of the project."));
+  pCategoriessz->Add(this->categoriestc, 1, wxALIGN_CENTER, 0);
+  pCategoriessz->Add(pCategoriesbt, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 10);
+
+  propertiesGridSizer->Add(pAuthor, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
+  propertiesGridSizer->Add(pAuthorsz, 1, wxEXPAND);
+  propertiesGridSizer->Add(pDescription, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
+  propertiesGridSizer->Add(pDescriptionsz, 1, wxEXPAND);
+  propertiesGridSizer->Add(pCategories, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
+  propertiesGridSizer->Add(pCategoriessz, 1, wxEXPAND);
+
+  propertiesGridSizer->AddGrowableCol(1,1);
+
+  propertiesPanelSizer -> Add(propertiesGridSizer, 1, wxEXPAND | wxALL, 5);
+  propertiesPanel->SetSizer(propertiesPanelSizer);
+  propertiesPanelSizer->Fit(propertiesPanel);
+  propertiesBox->Add(propertiesPanel, 1, wxEXPAND, 5);
+
+  sizer->Add(propertiesBox, 0, wxEXPAND | wxALL, 10);
+
+
+  //Actions
+  wxStaticBoxSizer* actionsBox = new wxStaticBoxSizer(wxHORIZONTAL, this, wxT("&Actions"));
+  wxPanel* actionsPanel = new wxPanel(this);
+  wxBoxSizer* actionsPanelSizer = new wxBoxSizer(wxHORIZONTAL);
+  //actionsGrid Sizer
+  wxFlexGridSizer* actionsGridSizer = new wxFlexGridSizer(2, 2, 9, 15);
+
+  wxButton* openHxxbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_HXX, _T("A. Open .h"));
+  openHxxbt->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMBlackBoxDescriptionPanel::OnHxxMouseEnter,NULL,this);
+  openHxxbt->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMBlackBoxDescriptionPanel::OnHxxMouseExit,NULL,this);
+  openHxxbt->SetToolTip(wxT("Open the .h file in the default text editor."));
+  actionsGridSizer->Add(openHxxbt, 1, wxALL | wxEXPAND, 5);
+  wxButton* openCxxbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_CXX, _T("B. Open .cxx"));
+  openCxxbt->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMBlackBoxDescriptionPanel::OnCxxMouseEnter,NULL,this);
+  openCxxbt->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMBlackBoxDescriptionPanel::OnCxxMouseExit,NULL,this);
+  openCxxbt->SetToolTip(wxT("Open the .cxx file in the default text editor."));
+  actionsGridSizer->Add(openCxxbt, 1, wxALL | wxEXPAND, 5);
+  wxButton* openFolderbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_FOLDER, _T("Open Source Folder"));
+  openFolderbt->SetToolTip(wxT("Open the source folder in the file explorer."));
+  actionsGridSizer->Add(openFolderbt, 1, wxALL | wxEXPAND, 5);
+
+  actionsGridSizer->AddGrowableCol(0,1);
+  actionsGridSizer->AddGrowableCol(1,1);
+
+  actionsPanelSizer->Add(actionsGridSizer, 1, wxEXPAND, 0);
+  actionsPanel->SetSizer(actionsPanelSizer);
+  actionsPanelSizer->Fit(actionsPanel);
+  actionsBox->Add(actionsPanel, 1, wxEXPAND);
+  sizer -> Add(actionsBox, 0, wxEXPAND | wxALL, 10);
+
+  //Assign sizer
+  SetSizer(sizer);
+  sizer->SetSizeHints(this);
+
+  if (((wxCDMMainFrame*)this->GetParent())->isHelp())
+    {
+      wxCDMBlackBoxHelpDialog* helpDialog = new wxCDMBlackBoxHelpDialog(this->GetParent(), this->blackBox, wxID_ANY);
+      helpDialog->Show(true);
+    }
+}
+
+void wxCDMBlackBoxDescriptionPanel::OnBtnReturn(wxHyperlinkEvent& event)
+{
+  std::vector<modelCDMIProjectTreeNode*> parents = this->blackBox->GetParents();
+  std::string parentURL = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  //std::cout << parentURL << std::endl;
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      if (parents[i]->GetPath() == parentURL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+          newEvent->SetClientData(parents[i]);
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+
+}
+
+void wxCDMBlackBoxDescriptionPanel::OnBtnSetAuthor(wxCommandEvent& event)
+{
+  //get author from user
+  wxTextEntryDialog* authDlg = new wxTextEntryDialog(
+      this,
+      wxT("Enter the new authors name. Separate each author with a '/'."),
+      wxT("Change Black Box Author - creaDevManager"),
+      crea::std2wx(this->blackBox->GetAuthors()),
+      wxOK | wxCANCEL
+  );
+
+  if (authDlg->ShowModal() == wxID_OK)
+    {
+      std::string authorsStr = crea::wx2std(authDlg->GetValue());
+      //check name
+      if(authorsStr.size() > 0)
+        {
+          std::string* result;
+          if(!this->blackBox->SetAuthors(authorsStr, result))
+            wxMessageBox(crea::std2wx(*result),_T("Change Black Box Author - Error!"),wxOK | wxICON_ERROR);
+
+        }
+
+      this->authortc->SetLabel(crea::std2wx(this->blackBox->GetAuthors()));
+      this->authortc->GetParent()->GetSizer()->RecalcSizes();
+    }
+
+}
+
+void wxCDMBlackBoxDescriptionPanel::OnBtnSetDescription(wxCommandEvent& event)
+{
+  //get author from user
+  wxTextEntryDialog* descDlg = new wxTextEntryDialog(
+      this,
+      wxT("Edit the black box description."),
+      wxT("Change Black Box Description - creaDevManager"),
+      crea::std2wx(this->blackBox->GetDescription()),
+      wxTE_MULTILINE | wxOK | wxCANCEL
+  );
+
+  if (descDlg->ShowModal() == wxID_OK)
+    {
+      std::string descriptionStr = crea::wx2std(descDlg->GetValue());
+      //check name
+      if(descriptionStr.size() > 0)
+        {
+          std::string* result;
+          if(!this->blackBox->SetDescription(descriptionStr, result))
+            wxMessageBox(crea::std2wx(*result),_T("Change Black Box Description - Error!"),wxOK | wxICON_ERROR);
+        }
+      this->descriptiontc->SetLabel(crea::std2wx(this->blackBox->GetDescription()));
+      this->descriptiontc->GetParent()->GetSizer()->RecalcSizes();
+    }
+}
+
+void wxCDMBlackBoxDescriptionPanel::OnBtnSetCategories(wxCommandEvent& event)
+{
+  //get author from user
+  wxTextEntryDialog* catsDlg = new wxTextEntryDialog(
+      this,
+      wxT("Edit the black box categories separated by '/'."),
+      wxT("Change Black Box Categories - creaDevManager"),
+      crea::std2wx(this->blackBox->GetCategories()),
+      wxTE_MULTILINE | wxOK | wxCANCEL
+  );
+
+  if (catsDlg->ShowModal() == wxID_OK)
+    {
+      std::string categoriesStr = crea::wx2std(catsDlg->GetValue());
+      //check name
+      if(categoriesStr.size() > 0)
+        {
+          std::string* result;
+          if(!this->blackBox->SetCategories(categoriesStr, result))
+            wxMessageBox(crea::std2wx(*result),_T("Change Black Box Categories - Error!"),wxOK | wxICON_ERROR);
+        }
+      this->categoriestc->SetLabel(crea::std2wx(this->blackBox->GetCategories()));
+      this->categoriestc->GetParent()->GetSizer()->RecalcSizes();
+    }
+}
+
+void wxCDMBlackBoxDescriptionPanel::OnBtnOpenCxx(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->blackBox->OpenCxx(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open Source File - Error!"),wxOK | wxICON_ERROR);
+
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->blackBox->GetSourceFile() != NULL)
+    {
+      newEvent->SetClientData(this->blackBox->GetSourceFile());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+
+  event.Skip();
+}
+
+void wxCDMBlackBoxDescriptionPanel::OnBtnOpenHxx(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->blackBox->OpenHxx(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open Header File - Error!"),wxOK | wxICON_ERROR);
+
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->blackBox->GetHeaderFile() != NULL)
+    {
+      newEvent->SetClientData(this->blackBox->GetHeaderFile());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+
+  event.Skip();
+}
+
+void wxCDMBlackBoxDescriptionPanel::OnBtnOpenFolder(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->blackBox->OpenInFileExplorer(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open Folder - Error!"),wxOK | wxICON_ERROR);
+}
+
+void wxCDMBlackBoxDescriptionPanel::OnCxxMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+  if(this->blackBox->GetSourceFile() != NULL)
+    {
+      newEvent->SetClientData(this->blackBox->GetSourceFile());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMBlackBoxDescriptionPanel::OnCxxMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->blackBox->GetSourceFile() != NULL)
+    {
+      newEvent->SetClientData(this->blackBox->GetSourceFile());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMBlackBoxDescriptionPanel::OnHxxMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+  if(this->blackBox->GetHeaderFile() != NULL)
+    {
+      newEvent->SetClientData(this->blackBox->GetHeaderFile());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMBlackBoxDescriptionPanel::OnHxxMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->blackBox->GetHeaderFile() != NULL)
+    {
+      newEvent->SetClientData(this->blackBox->GetHeaderFile());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
diff --git a/lib/creaDevManagerLib/wxCDMBlackBoxDescriptionPanel.h b/lib/creaDevManagerLib/wxCDMBlackBoxDescriptionPanel.h
new file mode 100644
index 0000000..fb0291b
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMBlackBoxDescriptionPanel.h
@@ -0,0 +1,171 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMBlackBoxDescriptionPanel.h
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMBLACKBOXDESCRIPTIONPANEL_H_
+#define WXCDMBLACKBOXDESCRIPTIONPANEL_H_
+
+#include <creaWx.h>
+#include <wx/hyperlink.h>
+
+#include "modelCDMBlackBox.h"
+
+/**
+ * Black box description panel. Shows the properties and available actions for the described black box.
+ */
+class wxCDMBlackBoxDescriptionPanel : public wxScrolledWindow
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Black box description panel Constructor.
+   * @param parent Parent window reference.
+   * @param blackBox Black box class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+  wxCDMBlackBoxDescriptionPanel(
+      wxWindow* parent,
+      modelCDMBlackBox* blackBox,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Destructor.
+   */
+  ~wxCDMBlackBoxDescriptionPanel();
+
+  /**
+   * Black box description panel Creator.
+   * @param parent Parent window reference.
+   * @param blackBox Black box class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   * @return True if the creatios was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      modelCDMBlackBox* blackBox,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Creates all the controls in the panel (property and action controls).
+   */
+  void CreateControls();
+
+private:
+  /**
+   * Black box described.
+   */
+  modelCDMBlackBox* blackBox;
+  /**
+   * Black box author control.
+   */
+  wxStaticText* authortc;
+  /**
+   * Black box description control
+   */
+  wxStaticText* descriptiontc;
+  /**
+   * Black box categories control.
+   */
+  wxStaticText* categoriestc;
+
+  //handlers
+protected:
+  /**
+   * Handles when a return link is pressed.
+   * @param event Has the link reference to know where to return
+   */
+  void OnBtnReturn(wxHyperlinkEvent& event);
+  /**
+   * Handles when the set author button is pressed.
+   */
+  void OnBtnSetAuthor(wxCommandEvent& event);
+  /**
+   * Handles when the set description button is pressed.
+   */
+  void OnBtnSetDescription(wxCommandEvent& event);
+  /**
+   * Handles when the set categories button is pressed.
+   */
+  void OnBtnSetCategories(wxCommandEvent& event);
+  /**
+   * Handles when the open Cxx button is pressed.
+   */
+  void OnBtnOpenCxx(wxCommandEvent& event);
+  /**
+   * Handles when the open Hxx button is pressed.
+   */
+  void OnBtnOpenHxx(wxCommandEvent& event);
+  /**
+   * Handles when the open Folder button is pressed.
+   */
+  void OnBtnOpenFolder(wxCommandEvent& event);
+
+  /**
+   * Handles when the open Cxx button is hovered.
+   */
+  void OnCxxMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when the open Cxx button finishes hover.
+   */
+  void OnCxxMouseExit(wxMouseEvent& event);
+  /**
+   * Handles when the open Hxx button is hovered.
+   */
+  void OnHxxMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when the open Hxx button finishes hover.
+   */
+  void OnHxxMouseExit(wxMouseEvent& event);
+
+
+};
+
+#endif /* WXCDMBLACKBOXDESCRIPTIONPANEL_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMBlackBoxHelpDialog.cpp b/lib/creaDevManagerLib/wxCDMBlackBoxHelpDialog.cpp
new file mode 100644
index 0000000..16f436d
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMBlackBoxHelpDialog.cpp
@@ -0,0 +1,292 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMBlackBoxHelpDialog.cpp
+ *
+ *  Created on: 11/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMBlackBoxHelpDialog.h"
+
+#include "creaDevManagerIds.h"
+
+#include "modelCDMProject.h"
+#include "modelCDMPackage.h"
+
+BEGIN_EVENT_TABLE(wxCDMBlackBoxHelpDialog, wxDialog)
+EVT_BUTTON(ID_BUTTON_CANCEL, wxCDMBlackBoxHelpDialog::OnFinish)
+EVT_BUTTON(ID_BUTTON_OPENPROJECT, wxCDMBlackBoxHelpDialog::OnCMakeLists)
+EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMBlackBoxHelpDialog::OnCMakeLists)
+EVT_CHECKBOX(ID_CHECKBOX_DISABLE_HELP, wxCDMBlackBoxHelpDialog::OnDisableHelp)
+END_EVENT_TABLE()
+
+wxCDMBlackBoxHelpDialog::wxCDMBlackBoxHelpDialog(
+    wxWindow* parent,
+    modelCDMBlackBox* blackBox,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMBlackBoxHelpDialog::Create(parent, id, caption, position, size, style);
+  this->blackBox = blackBox;
+}
+
+wxCDMBlackBoxHelpDialog::~wxCDMBlackBoxHelpDialog()
+{
+}
+
+bool wxCDMBlackBoxHelpDialog::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long int style
+)
+{
+  wxDialog::Create(parent, id, caption, position, size, style);
+
+  this->CreateControls();
+
+  return TRUE;
+}
+
+void wxCDMBlackBoxHelpDialog::CreateControls()
+{
+
+  wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
+
+
+  wxStaticText* title = new wxStaticText(this, wxID_ANY, wxT("Working with BlackBoxes"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);//new wxRichTextCtrl(this,wxID_ANY, wxString("Create a new project"), wxDefaultPosition, wxDefaultSize, wxRE_READONLY);
+  v_sizer1->Add(title, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  wxStaticText* instruction = new wxStaticText(
+      this,
+      wxID_ANY,
+      crea::std2wx(
+          "Black boxes are made to work in a modular fashion. They have programmer defined inputs and outputs. Their "
+          "purpose is to use the functions available in the libraries and expose them to be used as boxes in the crea "
+          "environment.\n"
+          "Black boxes are stored in the src folder of a package and they are composed of two files, the header(.h) "
+          "and the implementation(.cxx) files.\n"
+          "To start developing black boxes, go ahead and open the header file with the button \"Open .h\" and define "
+          "the inputs and outputs of the black box. Then, you will be able to use them in the implementation file, which "
+          "you can open using the \"Open .cxx\" button.\n"
+          "If you don't understand how this inputs and outputs are used, try looking at the sample black boxes available "
+          "in the sample package, which is shipped with every new project.\n"
+          "Also, don't forget to include the libraries your boxes use in the header and implementation files. They should "
+          "also be pointed and included in the package's directory CMakeLists.txt file by uncommenting the \"SET\" commands "
+          "for third party libraries or by including the library name inside the \"SET(${BBTK_PACKAGE_NAME}_LIBS\"command "
+          "and its path inside the \"SET(${BBTK_PACKAGE_NAME}_INCLUDE_DIRS\" command for custom libraries. You must also "
+          "include the package your black box is in by including the command \"ADD_SUBDIRECTORY([packageName])\" in the "
+          "project's directory CMakeLists.txt file. Again, please take a look at the sample package and its boxes to see "
+          "how to include libraries in order to use them in the boxes.\n"
+          "\n"
+          "You can easily edit the CMakeLists files previously mentioned by clicking on the following buttons."),
+          wxDefaultPosition,
+          wxDefaultSize,
+          wxALIGN_LEFT
+  );
+  v_sizer1->Add(instruction, 0,wxEXPAND | wxALL, 5);
+
+  wxButton* editCMakePkgBtn = new wxButton(this, ID_BUTTON_EDIT_CMAKELISTSFILE, wxT("Open Package's directory CMakeLists file"));
+  editCMakePkgBtn->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMBlackBoxHelpDialog::OnCMakeListsEnter,NULL,this);
+  editCMakePkgBtn->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMBlackBoxHelpDialog::OnCMakeListsExit,NULL,this);
+  wxButton* editCMakePrjBtn= new wxButton(this, ID_BUTTON_OPENPROJECT, wxT("Open Project's directory CMakeLists file"));
+  editCMakePrjBtn->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMBlackBoxHelpDialog::OnCMakeListsEnter,NULL,this);
+  editCMakePrjBtn->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMBlackBoxHelpDialog::OnCMakeListsExit,NULL,this);
+
+  v_sizer1->Add(editCMakePkgBtn, 0, wxEXPAND | wxLEFT | wxRIGHT, 15);
+  v_sizer1->Add(editCMakePrjBtn, 0, wxEXPAND | wxLEFT | wxRIGHT, 15);
+
+  v_sizer1->Add(new wxCheckBox(this, ID_CHECKBOX_DISABLE_HELP, wxT("&Disable help")), 0, wxALIGN_RIGHT | wxRIGHT, 10);
+
+  v_sizer1->Add(new wxButton(this, ID_BUTTON_CANCEL, wxT("Close")), 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM | wxALIGN_CENTER_VERTICAL, 30);
+
+  SetSizer(v_sizer1);
+  //v_sizer1->RecalcSizes();
+}
+
+void wxCDMBlackBoxHelpDialog::OnFinish(wxCommandEvent& event)
+{
+  this->EndDialog(wxID_CANCEL);
+}
+
+void wxCDMBlackBoxHelpDialog::OnCMakeLists(wxCommandEvent& event)
+{
+  std::string* result;
+
+  if((int)((wxButton*)event.GetEventObject())->GetId() == (int)ID_BUTTON_EDIT_CMAKELISTSFILE)
+    {
+      modelCDMIProjectTreeNode* node = this->blackBox;
+      while (node != NULL && dynamic_cast<modelCDMPackage*>(node) == NULL)
+        {
+          node = node->GetParent();
+        }
+      if (node != NULL)
+        {
+          if(!((modelCDMPackage*)node)->OpenCMakeListsFile(result))
+            wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+          if(((modelCDMPackage*)node)->GetCMakeLists() != NULL)
+            {
+              newEvent->SetClientData(((modelCDMPackage*)node)->GetCMakeLists());
+              newEvent->SetId(0);
+              wxPostEvent(this->GetParent(), *newEvent);
+            }
+        }
+      else
+        {
+          wxMessageBox(crea::std2wx("No project CMakeLists file was found."),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+        }
+    }
+  else if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_OPENPROJECT)
+    {
+      modelCDMIProjectTreeNode* node = this->blackBox;
+      while (node != NULL && dynamic_cast<modelCDMProject*>(node) == NULL)
+        {
+          node = node->GetParent();
+        }
+      if (node != NULL)
+        {
+          if(!((modelCDMProject*)node)->OpenCMakeListsFile(result))
+            wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+          if(((modelCDMProject*)node)->GetCMakeLists() != NULL)
+            {
+              newEvent->SetClientData(((modelCDMProject*)node)->GetCMakeLists());
+              newEvent->SetId(0);
+              wxPostEvent(this->GetParent(), *newEvent);
+            }
+        }
+      else
+        {
+          wxMessageBox(crea::std2wx("No project CMakeLists file was found."),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+        }
+    }
+}
+
+void wxCDMBlackBoxHelpDialog::OnCMakeListsEnter(wxMouseEvent& event)
+{
+  if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_EDIT_CMAKELISTSFILE)
+    {
+      modelCDMIProjectTreeNode* node = this->blackBox;
+      while (node != NULL && dynamic_cast<modelCDMPackage*>(node) == NULL)
+        {
+          node = node->GetParent();
+        }
+      if (node != NULL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+          if(((modelCDMPackage*)node)->GetCMakeLists() != NULL)
+            {
+              newEvent->SetClientData(((modelCDMPackage*)node)->GetCMakeLists());
+              newEvent->SetId(0);
+              wxPostEvent(this->GetParent(), *newEvent);
+            }
+        }
+    }
+  else if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_OPENPROJECT)
+    {
+      modelCDMIProjectTreeNode* node = this->blackBox;
+      while (node != NULL && dynamic_cast<modelCDMProject*>(node) == NULL)
+        {
+          node = node->GetParent();
+        }
+      if (node != NULL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+          if(((modelCDMProject*)node)->GetCMakeLists() != NULL)
+            {
+              newEvent->SetClientData(((modelCDMProject*)node)->GetCMakeLists());
+              newEvent->SetId(0);
+              wxPostEvent(this->GetParent(), *newEvent);
+            }
+        }
+    }
+  event.Skip();
+}
+
+void wxCDMBlackBoxHelpDialog::OnCMakeListsExit(wxMouseEvent& event)
+{
+  if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_EDIT_CMAKELISTSFILE)
+      {
+        modelCDMIProjectTreeNode* node = this->blackBox;
+        while (node != NULL && dynamic_cast<modelCDMPackage*>(node) == NULL)
+          {
+            node = node->GetParent();
+          }
+        if (node != NULL)
+          {
+            wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+            if(((modelCDMPackage*)node)->GetCMakeLists() != NULL)
+              {
+                newEvent->SetClientData(((modelCDMPackage*)node)->GetCMakeLists());
+                newEvent->SetId(0);
+                wxPostEvent(this->GetParent(), *newEvent);
+              }
+          }
+      }
+    else if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_OPENPROJECT)
+      {
+        modelCDMIProjectTreeNode* node = this->blackBox;
+        while (node != NULL && dynamic_cast<modelCDMProject*>(node) == NULL)
+          {
+            node = node->GetParent();
+          }
+        if (node != NULL)
+          {
+            wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+            if(((modelCDMProject*)node)->GetCMakeLists() != NULL)
+              {
+                newEvent->SetClientData(((modelCDMProject*)node)->GetCMakeLists());
+                newEvent->SetId(0);
+                wxPostEvent(this->GetParent(), *newEvent);
+              }
+          }
+      }
+    event.Skip();
+}
+
+void wxCDMBlackBoxHelpDialog::OnDisableHelp(wxCommandEvent& event)
+{
+  wxPostEvent(this->GetParent(), event);
+}
diff --git a/lib/creaDevManagerLib/wxCDMBlackBoxHelpDialog.h b/lib/creaDevManagerLib/wxCDMBlackBoxHelpDialog.h
new file mode 100644
index 0000000..66995d5
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMBlackBoxHelpDialog.h
@@ -0,0 +1,139 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * wxCDMBlackBoxHelpDialog.h
+ *
+ *  Created on: 11/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMBLACKBOXHELPDIALOG_H_
+#define WXCDMBLACKBOXHELPDIALOG_H_
+
+#include <creaWx.h>
+#include <wx/dialog.h>
+
+#include "modelCDMBlackBox.h"
+
+#include <vector>
+
+/**
+ * Black Box Panel Help Dialog
+ */
+class wxCDMBlackBoxHelpDialog : public wxDialog
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Black Box Panel Help Dialog Constructor.
+   * @param parent Parent window.
+   * @param blackBox Black Box class reference.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Working with Black Boxes".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 410, 700.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   */
+  wxCDMBlackBoxHelpDialog(
+      wxWindow* parent,
+      modelCDMBlackBox* blackBox,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Working With Black Boxes"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(410,700),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMBlackBoxHelpDialog();
+  /**
+   * Black Box Panel Help Dialog Creator.
+   * @param parent Parent window.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Working with Black Boxes".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 410, 700.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   * @return if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Working With Black Boxes"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(410,700),
+      long style = wxDEFAULT_DIALOG_STYLE
+  );
+
+protected:
+  /**
+   * Creates the help controls (text and buttons).
+   */
+  void CreateControls();
+
+private:
+  /**
+   * Black Box class reference.
+   */
+  modelCDMBlackBox* blackBox;
+
+//handlers
+protected:
+  /**
+   * Handler to close help dialog.
+   * @param event Unused.
+   */
+  void OnFinish(wxCommandEvent& event);
+
+  /**
+   * Handler when a cmakelists button is pressed.
+   * @param event cmakelists event.
+   */
+  void OnCMakeLists(wxCommandEvent& event);
+
+  /**
+   * Handler when a cmakelists button is hovered.
+   * @param event cmakelists event.
+   */
+  void OnCMakeListsEnter(wxMouseEvent& event);
+  /**
+   * Handler when a cmakelists button hover finishes.
+   * @param event cmakelists event.
+   */
+  void OnCMakeListsExit(wxMouseEvent& event);
+
+  /**
+   * Handler when the disable help checkbox is changed.
+   * @param event check box event.
+   */
+  void OnDisableHelp(wxCommandEvent& event);
+};
+
+#endif /* WXCDMBLACKBOXHELPDIALOG_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMCMakeListsDescriptionPanel.cpp b/lib/creaDevManagerLib/wxCDMCMakeListsDescriptionPanel.cpp
new file mode 100644
index 0000000..ea0d465
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMCMakeListsDescriptionPanel.cpp
@@ -0,0 +1,175 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMCMakeListsDescriptionPanel.cpp
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMCMakeListsDescriptionPanel.h"
+
+#include "wxCDMMainFrame.h"
+
+#include "creaDevManagerIds.h"
+#include "images/CMIcon64.xpm"
+
+BEGIN_EVENT_TABLE(wxCDMCMakeListsDescriptionPanel, wxPanel)
+EVT_HYPERLINK(ID_BUTTON_PREV, wxCDMCMakeListsDescriptionPanel::OnBtnReturn)
+EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMCMakeListsDescriptionPanel::OnBtnOpenInEditor)
+EVT_BUTTON(ID_BUTTON_OPEN_FOLDER, wxCDMCMakeListsDescriptionPanel::OnBtnOpenFolder)
+END_EVENT_TABLE()
+
+wxCDMCMakeListsDescriptionPanel::wxCDMCMakeListsDescriptionPanel(
+    wxWindow* parent,
+    modelCDMCMakeListsFile* makefile,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMCMakeListsDescriptionPanel::Create(parent, makefile, id, caption, pos, size, style);
+}
+
+wxCDMCMakeListsDescriptionPanel::~wxCDMCMakeListsDescriptionPanel()
+{
+}
+
+bool wxCDMCMakeListsDescriptionPanel::Create(
+    wxWindow* parent,
+    modelCDMCMakeListsFile* makefile,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxPanel::Create(parent, id, pos, size, style);
+  this->cMakeLists = makefile;
+  CreateControls();
+  // this part makes the scrollbars show up
+  this->FitInside(); // ask the sizer about the needed size
+  this->SetScrollRate(5, 5);
+  return TRUE;
+}
+
+void wxCDMCMakeListsDescriptionPanel::CreateControls()
+{
+  wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+
+  //Links to return
+  wxBoxSizer *linksSizer = new wxBoxSizer(wxHORIZONTAL);
+  std::vector<modelCDMIProjectTreeNode*> parents = this->cMakeLists->GetParents();
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      wxHyperlinkCtrl* returnLnk = new wxHyperlinkCtrl(this, ID_BUTTON_PREV, crea::std2wx(parents[parents.size()-1-i]->GetName()), crea::std2wx(parents[parents.size()-1-i]->GetPath()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+      returnLnk->SetWindowStyle(wxNO_BORDER);
+      returnLnk->SetToolTip(crea::std2wx("Return to " + parents[parents.size()-1-i]->GetName() + "."));
+      linksSizer->Add(returnLnk, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5);
+      linksSizer->Add(new wxStaticText(this,wxID_ANY, wxT("/")), 0, wxALIGN_CENTER, 0);
+    }
+
+  linksSizer->Add(new wxStaticText(this, wxID_ANY, crea::std2wx(this->cMakeLists->GetName())), 0, wxALIGN_CENTER, 0);
+
+  sizer->Add(linksSizer, 0, wxALIGN_CENTER | wxALL, 5);
+
+  //Header
+  wxBoxSizer* headerSizer = new wxBoxSizer(wxHORIZONTAL);
+  {
+    //Image
+    headerSizer->Add(new wxStaticBitmap(this, -1, wxBitmap(CMIcon64)),0, wxALIGN_CENTER, 0);
+    wxBoxSizer* textSizer = new wxBoxSizer(wxVERTICAL);
+    //Title
+    textSizer->Add(new wxStaticText(this, -1, _("CMake Configuration File")),0, wxALIGN_LEFT, 0);
+    //File Name
+    textSizer->Add(new wxStaticText(this, -1, crea::std2wx("CMakeLists.txt")),0, wxALIGN_LEFT, 0);
+    headerSizer->Add(textSizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
+  }
+  sizer->Add(headerSizer, 0, wxALIGN_CENTER);
+
+  //Actions
+  wxStaticBoxSizer* actionsBox = new wxStaticBoxSizer(wxHORIZONTAL, this, wxT("&Actions"));
+  wxPanel* actionsPanel = new wxPanel(this);
+  wxBoxSizer* actionsPanelSizer = new wxBoxSizer(wxHORIZONTAL);
+  //actionsGrid Sizer
+  wxFlexGridSizer* actionsGridSizer = new wxFlexGridSizer(1, 2, 9, 15);
+
+  wxButton* editCMakebt = new wxButton(actionsPanel, ID_BUTTON_EDIT_CMAKELISTSFILE, _T("Open File"));
+  editCMakebt->SetToolTip(wxT("Open the CMakeLists file in the default text editor."));
+  actionsGridSizer->Add(editCMakebt, 1, wxALL | wxEXPAND, 5);
+  wxButton* openFolderbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_FOLDER, _T("Open Containing Folder"));
+  openFolderbt->SetToolTip(wxT("Open the folder where the CMakeLists file is located in the file explorer."));
+  actionsGridSizer->Add(openFolderbt, 1, wxALL | wxEXPAND, 5);
+
+  actionsGridSizer->AddGrowableCol(0,1);
+  actionsGridSizer->AddGrowableCol(1,1);
+
+  actionsPanelSizer->Add(actionsGridSizer, 1, wxEXPAND, 0);
+  actionsPanel->SetSizer(actionsPanelSizer);
+  actionsPanelSizer->Fit(actionsPanel);
+  actionsBox->Add(actionsPanel, 1, wxEXPAND);
+  sizer -> Add(actionsBox, 0, wxEXPAND | wxALL, 10);
+
+  //Assign sizer
+  SetSizer(sizer);
+  sizer->SetSizeHints(this);
+}
+
+void wxCDMCMakeListsDescriptionPanel::OnBtnReturn(wxHyperlinkEvent& event)
+{
+  std::vector<modelCDMIProjectTreeNode*> parents = this->cMakeLists->GetParents();
+  std::string parentURL = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  //std::cout << parentURL << std::endl;
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      if (parents[i]->GetPath() == parentURL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+          newEvent->SetClientData(parents[i]);
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+}
+
+void wxCDMCMakeListsDescriptionPanel::OnBtnOpenInEditor(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->cMakeLists->OpenFile(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+}
+
+void wxCDMCMakeListsDescriptionPanel::OnBtnOpenFolder(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->cMakeLists->OpenInFileExplorer(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open Folder - Error!"),wxOK | wxICON_ERROR);
+}
diff --git a/lib/creaDevManagerLib/wxCDMCMakeListsDescriptionPanel.h b/lib/creaDevManagerLib/wxCDMCMakeListsDescriptionPanel.h
new file mode 100644
index 0000000..e2ca842
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMCMakeListsDescriptionPanel.h
@@ -0,0 +1,124 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMCMakeListsDescriptionPanel.h
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMCMAKELISTSDESCRIPTIONPANEL_H_
+#define WXCDMCMAKELISTSDESCRIPTIONPANEL_H_
+
+#include <creaWx.h>
+#include <wx/hyperlink.h>
+
+#include "modelCDMCMakeListsFile.h"
+
+/**
+ * CMakeLists File description panel. Shows the file properties and the available actions for it.
+ */
+class wxCDMCMakeListsDescriptionPanel : public wxScrolledWindow
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * CMakeLists File description panel Constructor.
+   * @param parent Parent window reference.
+   * @param makefile CMakeLists class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+  wxCDMCMakeListsDescriptionPanel(
+      wxWindow* parent,
+      modelCDMCMakeListsFile* makefile,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Destructor.
+   */
+  ~wxCDMCMakeListsDescriptionPanel();
+
+  /**
+   * CMakeLists File description panel Constructor.
+   * @param parent Parent window reference.
+   * @param makefile CMakeLists class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   * @return True if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      modelCDMCMakeListsFile* makefile,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Creates all the controls in the panel (property and action controls).
+   */
+  void CreateControls();
+
+private:
+  /**
+   * CMakeLists file described.
+   */
+  modelCDMCMakeListsFile* cMakeLists;
+
+  //handlers
+protected:
+  /**
+   * Handles when a return link is pressed.
+   * @param event Has the link reference to know where to return
+   */
+  void OnBtnReturn(wxHyperlinkEvent& event);
+  /**
+   * Handles when the open file in text editor button is pressed.
+   */
+  void OnBtnOpenInEditor(wxCommandEvent& event);
+  /**
+   * Handles when the open containing folder button is pressed.
+   */
+  void OnBtnOpenFolder(wxCommandEvent& event);
+};
+
+#endif /* WXCDMCMAKELISTSDESCRIPTIONPANEL_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMCodeFileDescriptionPanel.cpp b/lib/creaDevManagerLib/wxCDMCodeFileDescriptionPanel.cpp
new file mode 100644
index 0000000..723f229
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMCodeFileDescriptionPanel.cpp
@@ -0,0 +1,230 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMCodeFileDescriptionPanel.cpp
+ *
+ *  Created on: Jun 24, 2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMCodeFileDescriptionPanel.h"
+
+#include<sstream>
+
+#include "wxCDMMainFrame.h"
+
+#include "creaDevManagerIds.h"
+#include "images/CFIcon64.xpm"
+
+BEGIN_EVENT_TABLE(wxCDMCodeFileDescriptionPanel, wxPanel)
+EVT_HYPERLINK(ID_BUTTON_PREV, wxCDMCodeFileDescriptionPanel::OnBtnReturn)
+EVT_BUTTON(ID_BUTTON_OPEN_FILE, wxCDMCodeFileDescriptionPanel::OnBtnOpenInEditor)
+EVT_BUTTON(ID_BUTTON_OPEN_COMMAND, wxCDMCodeFileDescriptionPanel::OnBtnOpenWithCommand)
+EVT_BUTTON(ID_BUTTON_OPEN_FOLDER, wxCDMCodeFileDescriptionPanel::OnBtnOpenFolder)
+END_EVENT_TABLE()
+
+wxCDMCodeFileDescriptionPanel::wxCDMCodeFileDescriptionPanel(
+    wxWindow* parent,
+    modelCDMCodeFile* codefile,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMCodeFileDescriptionPanel::Create(parent, codefile, id, caption, pos, size, style);
+}
+
+wxCDMCodeFileDescriptionPanel::~wxCDMCodeFileDescriptionPanel()
+{
+}
+
+bool wxCDMCodeFileDescriptionPanel::Create(
+    wxWindow* parent,
+    modelCDMCodeFile* codefile,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxPanel::Create(parent, id, pos, size, style);
+  this->codeFile = codefile;
+  CreateControls();
+  // this part makes the scrollbars show up
+  this->FitInside(); // ask the sizer about the needed size
+  this->SetScrollRate(5, 5);
+  return TRUE;
+}
+
+void wxCDMCodeFileDescriptionPanel::CreateControls()
+{
+  wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+
+  //Links to return
+  wxBoxSizer *linksSizer = new wxBoxSizer(wxHORIZONTAL);
+  std::vector<modelCDMIProjectTreeNode*> parents = this->codeFile->GetParents();
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      wxHyperlinkCtrl* returnLnk = new wxHyperlinkCtrl(this, ID_BUTTON_PREV, crea::std2wx(parents[parents.size()-1-i]->GetName()), crea::std2wx(parents[parents.size()-1-i]->GetPath()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+      returnLnk->SetWindowStyle(wxNO_BORDER);
+      returnLnk->SetToolTip(crea::std2wx("Return to " + parents[parents.size()-1-i]->GetName() + "."));
+      linksSizer->Add(returnLnk, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5);
+      linksSizer->Add(new wxStaticText(this,wxID_ANY, wxT("/")), 0, wxALIGN_CENTER, 0);
+    }
+
+  linksSizer->Add(new wxStaticText(this, wxID_ANY, crea::std2wx(this->codeFile->GetName())), 0, wxALIGN_CENTER, 0);
+
+  sizer->Add(linksSizer, 0, wxALIGN_CENTER | wxALL, 5);
+
+  //Header
+  wxBoxSizer* headerSizer = new wxBoxSizer(wxHORIZONTAL);
+  {
+    //Image
+    headerSizer->Add(new wxStaticBitmap(this, -1, wxBitmap(CFIcon64)),0, wxALIGN_CENTER, 0);
+    wxBoxSizer* textSizer = new wxBoxSizer(wxVERTICAL);
+    //Title
+    textSizer->Add(new wxStaticText(this, -1, _("Code File")),0, wxALIGN_LEFT, 0);
+    //File Name
+    textSizer->Add(new wxStaticText(this, -1, crea::std2wx(this->codeFile->GetName())),0, wxALIGN_LEFT, 0);
+    headerSizer->Add(textSizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
+  }
+  sizer->Add(headerSizer, 0, wxALIGN_CENTER);
+
+  //File Properties
+  wxStaticBoxSizer* propertiesBox = new wxStaticBoxSizer(wxVERTICAL, this, wxT("&Properties"));
+  wxPanel* propertiesPanel = new wxPanel(this);
+  wxBoxSizer* propertiesPanelSizer = new wxBoxSizer(wxVERTICAL);
+  wxFlexGridSizer* propertiesGridSizer = new wxFlexGridSizer(4, 2, 9, 15);
+
+  wxStaticText *pLocation = new wxStaticText(propertiesPanel, -1, wxT("Location"));
+  wxStaticText *pLength = new wxStaticText(propertiesPanel, -1, wxT("File Size"));
+
+  wxStaticText* pLocationtc = new wxStaticText(propertiesPanel, wxID_ANY, crea::std2wx(this->codeFile->GetPath()));
+  pLocationtc->SetMaxSize(wxSize(300,-1));
+  int lgth = this->codeFile->GetLength();
+  std::stringstream ss;
+  ss << lgth / 1024;
+  std::string lgths = ss.str() + " KB";
+  wxStaticText* pLengthtc = new wxStaticText(propertiesPanel, wxID_ANY, crea::std2wx(lgths));
+
+  propertiesGridSizer->Add(pLocation, 0, wxALIGN_RIGHT | wxALIGN_TOP);
+  propertiesGridSizer->Add(pLocationtc, 1, wxEXPAND);
+  propertiesGridSizer->Add(pLength, 0, wxALIGN_RIGHT | wxALIGN_TOP);
+  propertiesGridSizer->Add(pLengthtc, 1, wxEXPAND);
+
+  propertiesGridSizer->AddGrowableCol(1,1);
+
+  propertiesPanelSizer -> Add(propertiesGridSizer, 1, wxEXPAND);
+  propertiesPanel->SetSizer(propertiesPanelSizer);
+  propertiesPanelSizer->Fit(propertiesPanel);
+  propertiesBox->Add(propertiesPanel, 1, wxALL|wxEXPAND, 5);
+
+  sizer->Add(propertiesBox, 0, wxEXPAND | wxALL, 10);
+
+
+  //Actions
+  wxStaticBoxSizer* actionsBox = new wxStaticBoxSizer(wxHORIZONTAL, this, wxT("&Actions"));
+  wxPanel* actionsPanel = new wxPanel(this);
+  wxBoxSizer* actionsPanelSizer = new wxBoxSizer(wxHORIZONTAL);
+  //actionsGrid Sizer
+  wxFlexGridSizer* actionsGridSizer = new wxFlexGridSizer(2, 2, 9, 15);
+
+  wxButton* editfilebt = new wxButton(actionsPanel, ID_BUTTON_OPEN_FILE, _T("Open File"));
+  editfilebt->SetToolTip(wxT("Open the code file in the default text editor."));
+  actionsGridSizer->Add(editfilebt, 1, wxALL | wxEXPAND, 5);
+  wxButton* openFolderbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_FOLDER, _T("Open Containing Folder"));
+  openFolderbt->SetToolTip(wxT("Open the folder where the code file is located in the file explorer."));
+  actionsGridSizer->Add(openFolderbt, 1, wxALL | wxEXPAND, 5);
+  wxButton* openfilebt = new wxButton(actionsPanel, ID_BUTTON_OPEN_COMMAND, _T("Open With Command"));
+  openfilebt->SetToolTip(wxT("Open the code file with a specific command."));
+  actionsGridSizer->Add(openfilebt, 1, wxALL | wxEXPAND, 5);
+
+  actionsGridSizer->AddGrowableCol(0,1);
+  actionsGridSizer->AddGrowableCol(1,1);
+
+  actionsPanelSizer->Add(actionsGridSizer, 1, wxEXPAND, 0);
+  actionsPanel->SetSizer(actionsPanelSizer);
+  actionsPanelSizer->Fit(actionsPanel);
+  actionsBox->Add(actionsPanel, 1, wxEXPAND);
+  sizer -> Add(actionsBox, 0, wxEXPAND | wxALL, 10);
+
+  //Assign sizer
+  SetSizer(sizer);
+  sizer->SetSizeHints(this);
+}
+
+void wxCDMCodeFileDescriptionPanel::OnBtnReturn(wxHyperlinkEvent& event)
+{
+  std::vector<modelCDMIProjectTreeNode*> parents = this->codeFile->GetParents();
+  std::string parentURL = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  //std::cout << parentURL << std::endl;
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      if (parents[i]->GetPath() == parentURL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+          newEvent->SetClientData(parents[i]);
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+}
+
+void wxCDMCodeFileDescriptionPanel::OnBtnOpenInEditor(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->codeFile->OpenFile(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open Code File - Error!"),wxOK | wxICON_ERROR);
+}
+
+void wxCDMCodeFileDescriptionPanel::OnBtnOpenWithCommand(wxCommandEvent& event)
+{
+  //get command
+  wxString commandEx = wxGetTextFromUser(
+      _T("Enter the command to execute file"),
+      _T("Execute File - creaDevManager"),
+      _T("")
+  );
+  //check name
+  if(commandEx.Len() > 0)
+    {
+      std::string* result;
+      if(!((modelCDMFile*)this->codeFile)->OpenFile(result, crea::wx2std(commandEx)))
+        wxMessageBox(crea::std2wx(*result),_T("Execute Code File - Error!"),wxOK | wxICON_ERROR);
+    }
+}
+
+void wxCDMCodeFileDescriptionPanel::OnBtnOpenFolder(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->codeFile->OpenInFileExplorer(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open File in Folder - Error!"),wxOK | wxICON_ERROR);
+}
diff --git a/lib/creaDevManagerLib/wxCDMCodeFileDescriptionPanel.h b/lib/creaDevManagerLib/wxCDMCodeFileDescriptionPanel.h
new file mode 100644
index 0000000..f75f5a3
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMCodeFileDescriptionPanel.h
@@ -0,0 +1,128 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMCodeFileDescriptionPanel.h
+ *
+ *  Created on: June 24, 2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMCODEFILEDESCRIPTIONPANEL_H_
+#define WXCDMCODEFILEDESCRIPTIONPANEL_H_
+
+#include <creaWx.h>
+#include <wx/hyperlink.h>
+
+#include "modelCDMCodeFile.h"
+
+/**
+ * Code File description panel. Shows the file properties and the available actions for it.
+ */
+class wxCDMCodeFileDescriptionPanel : public wxScrolledWindow
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * CMakeLists File description panel Constructor.
+   * @param parent Parent window reference.
+   * @param codefile CodeFile class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+  wxCDMCodeFileDescriptionPanel(
+      wxWindow* parent,
+      modelCDMCodeFile* codefile,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Destructor.
+   */
+  ~wxCDMCodeFileDescriptionPanel();
+
+  /**
+   * CMakeLists File description panel Constructor.
+   * @param parent Parent window reference.
+   * @param codefile CodeFile class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   * @return True if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      modelCDMCodeFile* codefile,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Creates all the controls in the panel (property and action controls).
+   */
+  void CreateControls();
+
+private:
+  /**
+   * CMakeLists file described.
+   */
+  modelCDMCodeFile* codeFile;
+
+  //handlers
+protected:
+  /**
+   * Handles when a return link is pressed.
+   * @param event Has the link reference to know where to return
+   */
+  void OnBtnReturn(wxHyperlinkEvent& event);
+  /**
+   * Handles when the open file in text editor button is pressed.
+   */
+  void OnBtnOpenInEditor(wxCommandEvent& event);
+  /**
+   * Handles when the open file with command button is pressed.
+   */
+  void OnBtnOpenWithCommand(wxCommandEvent& event);
+  /**
+   * Handles when the open containing folder button is pressed.
+   */
+  void OnBtnOpenFolder(wxCommandEvent& event);
+};
+
+#endif /* WXCDMCODEFILEDESCRIPTIONPANEL_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMFileDescriptionPanel.cpp b/lib/creaDevManagerLib/wxCDMFileDescriptionPanel.cpp
new file mode 100644
index 0000000..e99603a
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMFileDescriptionPanel.cpp
@@ -0,0 +1,219 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMBlackBoxDescriptionPanel.cpp
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMFileDescriptionPanel.h"
+
+#include<sstream>
+
+#include "wxCDMMainFrame.h"
+
+#include "creaDevManagerIds.h"
+#include "images/FlIcon64.xpm"
+
+BEGIN_EVENT_TABLE(wxCDMFileDescriptionPanel, wxPanel)
+EVT_HYPERLINK(ID_BUTTON_PREV, wxCDMFileDescriptionPanel::OnBtnReturn)
+EVT_BUTTON(ID_BUTTON_OPEN_FOLDER, wxCDMFileDescriptionPanel::OnBtnOpenFolder)
+EVT_BUTTON(ID_BUTTON_OPEN_COMMAND, wxCDMFileDescriptionPanel::OnBtnOpenWithCommand)
+END_EVENT_TABLE()
+
+wxCDMFileDescriptionPanel::wxCDMFileDescriptionPanel(
+    wxWindow* parent,
+    modelCDMFile* file,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMFileDescriptionPanel::Create(parent, file, id, caption, pos, size, style);
+}
+
+wxCDMFileDescriptionPanel::~wxCDMFileDescriptionPanel()
+{
+}
+
+bool wxCDMFileDescriptionPanel::Create(
+    wxWindow* parent,
+    modelCDMFile* file,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxPanel::Create(parent, id, pos, size, style);
+  this->file = file;
+  CreateControls();
+  // this part makes the scrollbars show up
+  this->FitInside(); // ask the sizer about the needed size
+  this->SetScrollRate(5, 5);
+  return TRUE;
+}
+
+void wxCDMFileDescriptionPanel::CreateControls()
+{
+  wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+
+  //Links to return
+  wxBoxSizer *linksSizer = new wxBoxSizer(wxHORIZONTAL);
+  std::vector<modelCDMIProjectTreeNode*> parents = this->file->GetParents();
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      wxHyperlinkCtrl* returnLnk = new wxHyperlinkCtrl(this, ID_BUTTON_PREV, crea::std2wx(parents[parents.size()-1-i]->GetName()), crea::std2wx(parents[parents.size()-1-i]->GetPath()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+      returnLnk->SetWindowStyle(wxNO_BORDER);
+      returnLnk->SetToolTip(crea::std2wx("Return to " + parents[parents.size()-1-i]->GetName() + "."));
+      linksSizer->Add(returnLnk, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5);
+      linksSizer->Add(new wxStaticText(this,wxID_ANY, wxT("/")), 0, wxALIGN_CENTER, 0);
+    }
+
+  linksSizer->Add(new wxStaticText(this, wxID_ANY, crea::std2wx(this->file->GetName())), 0, wxALIGN_CENTER, 0);
+
+  sizer->Add(linksSizer, 0, wxALIGN_CENTER | wxALL, 5);
+
+  //Header
+  wxBoxSizer* headerSizer = new wxBoxSizer(wxHORIZONTAL);
+  {
+    //Image
+    headerSizer->Add(new wxStaticBitmap(this, -1, wxBitmap(FlIcon64)),0, wxALIGN_CENTER, 0);
+    wxBoxSizer* textSizer = new wxBoxSizer(wxVERTICAL);
+    //Title
+    textSizer->Add(new wxStaticText(this, -1, _("File")),0, wxALIGN_LEFT, 0);
+    //File Name
+    textSizer->Add(new wxStaticText(this, -1, crea::std2wx(this->file->GetName())),0, wxALIGN_LEFT, 0);
+    headerSizer->Add(textSizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
+  }
+  sizer->Add(headerSizer, 0, wxALIGN_CENTER);
+
+  //File Properties
+  wxStaticBoxSizer* propertiesBox = new wxStaticBoxSizer(wxVERTICAL, this, wxT("&Properties"));
+  wxPanel* propertiesPanel = new wxPanel(this);
+  wxBoxSizer* propertiesPanelSizer = new wxBoxSizer(wxVERTICAL);
+  wxFlexGridSizer* propertiesGridSizer = new wxFlexGridSizer(4, 2, 9, 15);
+
+  wxStaticText *pLocation = new wxStaticText(propertiesPanel, -1, wxT("Location"));
+  wxStaticText *pLength = new wxStaticText(propertiesPanel, -1, wxT("File Size"));
+
+  wxStaticText* pLocationtc = new wxStaticText(propertiesPanel, wxID_ANY, crea::std2wx(this->file->GetPath()));
+  pLocationtc->SetMaxSize(wxSize(300,-1));
+  int lgth = this->file->GetLength();
+  std::stringstream ss;
+  ss << lgth / 1024;
+  std::string lgths = ss.str() + " KB";
+  wxStaticText* pLengthtc = new wxStaticText(propertiesPanel, wxID_ANY, crea::std2wx(lgths));
+
+  propertiesGridSizer->Add(pLocation, 0, wxALIGN_RIGHT | wxALIGN_TOP);
+  propertiesGridSizer->Add(pLocationtc, 1, wxEXPAND);
+  propertiesGridSizer->Add(pLength, 0, wxALIGN_RIGHT | wxALIGN_TOP);
+  propertiesGridSizer->Add(pLengthtc, 1, wxEXPAND);
+
+  propertiesGridSizer->AddGrowableCol(1,1);
+
+  propertiesPanelSizer -> Add(propertiesGridSizer, 1, wxEXPAND);
+  propertiesPanel->SetSizer(propertiesPanelSizer);
+  propertiesPanelSizer->Fit(propertiesPanel);
+  propertiesBox->Add(propertiesPanel, 1, wxALL|wxEXPAND, 5);
+
+  sizer->Add(propertiesBox, 0, wxEXPAND | wxALL, 10);
+
+
+  //Actions
+  wxStaticBoxSizer* actionsBox = new wxStaticBoxSizer(wxHORIZONTAL, this, wxT("&Actions"));
+  wxPanel* actionsPanel = new wxPanel(this);
+  wxBoxSizer* actionsPanelSizer = new wxBoxSizer(wxHORIZONTAL);
+  //actionsGrid Sizer
+  wxFlexGridSizer* actionsGridSizer = new wxFlexGridSizer(1, 2, 9, 15);
+
+  wxButton* openCommandbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_COMMAND, _T("Open with Command"));
+  openCommandbt->SetToolTip(wxT("Open this file executing a command in a terminal/command line."));
+  actionsGridSizer->Add(openCommandbt, 1, wxALL | wxEXPAND, 5);
+  wxButton* openFolderbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_FOLDER, _T("Open Containing Folder"));
+  openFolderbt->SetToolTip(wxT("Open the folder where this file is located in the file explorer."));
+  actionsGridSizer->Add(openFolderbt, 1, wxALL | wxEXPAND, 5);
+
+  actionsGridSizer->AddGrowableCol(0,1);
+  actionsGridSizer->AddGrowableCol(1,1);
+
+  actionsPanelSizer->Add(actionsGridSizer, 1, wxEXPAND, 0);
+  actionsPanel->SetSizer(actionsPanelSizer);
+  actionsPanelSizer->Fit(actionsPanel);
+  actionsBox->Add(actionsPanel, 1, wxEXPAND);
+  sizer -> Add(actionsBox, 0, wxEXPAND | wxALL, 10);
+
+  //Assign sizer
+  SetSizer(sizer);
+  sizer->SetSizeHints(this);
+}
+
+void wxCDMFileDescriptionPanel::OnBtnReturn(wxHyperlinkEvent& event)
+{
+  std::vector<modelCDMIProjectTreeNode*> parents = this->file->GetParents();
+  std::string parentURL = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  //std::cout << parentURL << std::endl;
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      if (parents[i]->GetPath() == parentURL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+          newEvent->SetClientData(parents[i]);
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+}
+
+void wxCDMFileDescriptionPanel::OnBtnOpenFolder(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->file->OpenInFileExplorer(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open Folder - Error!"),wxOK | wxICON_ERROR);
+}
+
+void wxCDMFileDescriptionPanel::OnBtnOpenWithCommand(wxCommandEvent& event)
+{
+  //get command
+  wxString commandEx = wxGetTextFromUser(
+      _T("Enter the command to execute file"),
+      _T("Execute File - creaDevManager"),
+      _T("")
+  );
+  //check name
+  if(commandEx.Len() > 0)
+    {
+      std::string* result;
+      if(!this->file->OpenFile(result, crea::wx2std(commandEx)))
+        wxMessageBox(crea::std2wx(*result),_T("Execute File - Error!"),wxOK | wxICON_ERROR);
+    }
+}
diff --git a/lib/creaDevManagerLib/wxCDMFileDescriptionPanel.h b/lib/creaDevManagerLib/wxCDMFileDescriptionPanel.h
new file mode 100644
index 0000000..8eee2ee
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMFileDescriptionPanel.h
@@ -0,0 +1,126 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMFileDescriptionPanel.h
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMFILEDESCRIPTIONPANEL_H_
+#define WXCDMFILEDESCRIPTIONPANEL_H_
+
+#include <creaWx.h>
+#include <wx/hyperlink.h>
+
+#include "modelCDMFile.h"
+
+/**
+ * File description panel. Shows the File properties and the available options for it.
+ */
+class wxCDMFileDescriptionPanel : public wxScrolledWindow
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * File description panel Constructor.
+   * @param parent Parent window reference.
+   * @param file File class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+  wxCDMFileDescriptionPanel(
+      wxWindow* parent,
+      modelCDMFile* file,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Destructor.
+   */
+  ~wxCDMFileDescriptionPanel();
+
+  /**
+   * File description panel Constructor.
+   * @param parent Parent window reference.
+   * @param file File class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   * @return True if creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      modelCDMFile* file,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Creates all the controls in the panel (property and action controls).
+   */
+  void CreateControls();
+
+
+private:
+  /**
+   * File described.
+   */
+  modelCDMFile* file;
+
+  //handlers
+protected:
+  /**
+   * Handles when a return link is pressed.
+   * @param event Has the link reference to know where to return
+   */
+  void OnBtnReturn(wxHyperlinkEvent& event);
+  /**
+   * Handles when the Open containing folder button is pressed.
+   */
+  void OnBtnOpenFolder(wxCommandEvent& event);
+  /**
+   * Handles when the Open with command button is pressed.
+   */
+  void OnBtnOpenWithCommand(wxCommandEvent& event);
+
+};
+
+#endif /* WXCDMBLACKBOXDESCRIPTIONPANEL_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMFolderDescriptionPanel.cpp b/lib/creaDevManagerLib/wxCDMFolderDescriptionPanel.cpp
new file mode 100644
index 0000000..2f1c181
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMFolderDescriptionPanel.cpp
@@ -0,0 +1,294 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMFolderDescriptionPanel.cpp
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMFolderDescriptionPanel.h"
+
+#include "wxCDMMainFrame.h"
+#include "CDMUtilities.h"
+
+#include "creaDevManagerIds.h"
+#include "images/FdIcon64.xpm"
+
+BEGIN_EVENT_TABLE(wxCDMFolderDescriptionPanel, wxPanel)
+EVT_HYPERLINK(ID_BUTTON_PREV, wxCDMFolderDescriptionPanel::OnBtnReturn)
+EVT_BUTTON(ID_BUTTON_OPEN_FOLDER, wxCDMFolderDescriptionPanel::OnBtnOpenInExplorer)
+EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMFolderDescriptionPanel::OnBtnEditCMakeLists)
+EVT_BUTTON(ID_BUTTON_CREATE_CLASS, wxCDMFolderDescriptionPanel::OnBtnCreateClass)
+EVT_BUTTON(ID_BUTTON_CREATE_FOLDER, wxCDMFolderDescriptionPanel::OnBtnCreateFolder)
+END_EVENT_TABLE()
+
+wxCDMFolderDescriptionPanel::wxCDMFolderDescriptionPanel(
+    wxWindow* parent,
+    modelCDMFolder* folder,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMFolderDescriptionPanel::Create(parent, folder, id, caption, pos, size, style);
+}
+
+wxCDMFolderDescriptionPanel::~wxCDMFolderDescriptionPanel()
+{
+}
+
+bool wxCDMFolderDescriptionPanel::Create(
+    wxWindow* parent,
+    modelCDMFolder* folder,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxPanel::Create(parent, id, pos, size, style);
+  this->folder = folder;
+  CreateControls();
+  // this part makes the scrollbars show up
+  this->FitInside(); // ask the sizer about the needed size
+  this->SetScrollRate(5, 5);
+  return TRUE;
+}
+
+void wxCDMFolderDescriptionPanel::CreateControls()
+{
+  wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+
+  //Links to return
+  wxBoxSizer *linksSizer = new wxBoxSizer(wxHORIZONTAL);
+  std::vector<modelCDMIProjectTreeNode*> parents = this->folder->GetParents();
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      wxHyperlinkCtrl* returnLnk = new wxHyperlinkCtrl(this, ID_BUTTON_PREV, crea::std2wx(parents[parents.size()-1-i]->GetName()), crea::std2wx(parents[parents.size()-1-i]->GetPath()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+      returnLnk->SetWindowStyle(wxNO_BORDER);
+      returnLnk->SetToolTip(crea::std2wx("Return to " + parents[parents.size()-1-i]->GetName() + "."));
+      linksSizer->Add(returnLnk, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5);
+      linksSizer->Add(new wxStaticText(this,wxID_ANY, wxT("/")), 0, wxALIGN_CENTER, 0);
+    }
+
+  linksSizer->Add(new wxStaticText(this, wxID_ANY, crea::std2wx(this->folder->GetName())), 0, wxALIGN_CENTER, 0);
+
+  sizer->Add(linksSizer, 0, wxALIGN_CENTER | wxALL, 5);
+
+  //Header
+  wxBoxSizer* headerSizer = new wxBoxSizer(wxHORIZONTAL);
+  {
+    //Image
+    headerSizer->Add(new wxStaticBitmap(this, -1, wxBitmap(FdIcon64)),0, wxALIGN_CENTER, 0);
+    wxBoxSizer* textSizer = new wxBoxSizer(wxVERTICAL);
+    //Title
+    textSizer->Add(new wxStaticText(this, -1, _("Folder")),0, wxALIGN_LEFT, 0);
+    //Folder Name
+    textSizer->Add(new wxStaticText(this, -1, crea::std2wx(this->folder->GetName())),0, wxALIGN_LEFT, 0);
+    headerSizer->Add(textSizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
+  }
+  sizer->Add(headerSizer, 0, wxALIGN_CENTER);
+
+  //Actions
+  wxStaticBoxSizer* actionsBox = new wxStaticBoxSizer(wxHORIZONTAL, this, wxT("&Actions"));
+  wxPanel* actionsPanel = new wxPanel(this);
+  wxBoxSizer* actionsPanelSizer = new wxBoxSizer(wxHORIZONTAL);
+  //actionsGrid Sizer
+  wxFlexGridSizer* actionsGridSizer = new wxFlexGridSizer(2, 2, 9, 15);
+
+  wxButton* openFolderbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_FOLDER, _T("Open in File Explorer"));
+  openFolderbt->SetToolTip(wxT("Open this folder in the file explorer."));
+  actionsGridSizer->Add(openFolderbt, 1, wxALL | wxEXPAND, 5);
+
+  if(this->folder->HasCMakeLists())
+    {
+      wxButton* editCMakebt = new wxButton(actionsPanel, ID_BUTTON_EDIT_CMAKELISTSFILE, _T("Edit CMakeLists File"));
+      editCMakebt->SetToolTip(wxT("Open the CMakeLists.txt file in this folder with the default text editor."));
+      editCMakebt->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMFolderDescriptionPanel::OnCMakeMouseEnter,NULL,this);
+      editCMakebt->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMFolderDescriptionPanel::OnCMakeMouseExit,NULL,this);
+      actionsGridSizer->Add(editCMakebt, 1, wxALL | wxEXPAND, 5);
+    }
+
+  wxButton* createClassbt = new wxButton(actionsPanel, ID_BUTTON_CREATE_CLASS, _T("Create Class"));
+  createClassbt->SetToolTip(wxT("Create a new class (.h and .cpp) inside this folder."));
+  actionsGridSizer->Add(createClassbt, 1, wxALL | wxEXPAND, 5);
+
+  wxButton* createFolderbt = new wxButton(actionsPanel, ID_BUTTON_CREATE_FOLDER, _T("Create Folder"));
+  createFolderbt->SetToolTip(wxT("Create a new folder inside this folder."));
+  actionsGridSizer->Add(createFolderbt, 1, wxALL | wxEXPAND, 5);
+
+  actionsGridSizer->AddGrowableCol(0,1);
+  actionsGridSizer->AddGrowableCol(1,1);
+
+  actionsPanelSizer->Add(actionsGridSizer, 1, wxEXPAND, 0);
+  actionsPanel->SetSizer(actionsPanelSizer);
+  actionsPanelSizer->Fit(actionsPanel);
+  actionsBox->Add(actionsPanel, 1, wxEXPAND);
+  sizer -> Add(actionsBox, 0, wxEXPAND | wxALL, 10);
+
+  //Assign sizer
+  SetSizer(sizer);
+  sizer->SetSizeHints(this);
+}
+
+void wxCDMFolderDescriptionPanel::OnBtnReturn(wxHyperlinkEvent& event)
+{
+  std::vector<modelCDMIProjectTreeNode*> parents = this->folder->GetParents();
+  std::string parentURL = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  //std::cout << parentURL << std::endl;
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      if (parents[i]->GetPath() == parentURL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+          newEvent->SetClientData(parents[i]);
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+}
+
+void wxCDMFolderDescriptionPanel::OnBtnOpenInExplorer(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->folder->OpenInFileExplorer(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open Folder - Error!"),wxOK | wxICON_ERROR);
+}
+
+void wxCDMFolderDescriptionPanel::OnBtnEditCMakeLists(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->folder->OpenCMakeListsFile(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->folder->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->folder->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+}
+
+void wxCDMFolderDescriptionPanel::OnBtnCreateClass(wxCommandEvent& event)
+{
+  //get class name from user
+  wxTextEntryDialog* newClassDlg = new wxTextEntryDialog(
+      this,
+      wxT("Please enter the new class name."),
+      wxT("New Class - creaDevManager"),
+      wxT(""),
+      wxOK | wxCANCEL
+  );
+
+  if (newClassDlg->ShowModal() == wxID_OK)
+    {
+      std::string className = crea::wx2std(newClassDlg->GetValue());
+      //check class name
+      if(className.size() > 0)
+        {
+          if(!this->folder->CreateClass(className))
+            wxMessageBox(crea::std2wx("Something has gone wrong with the creation of the class."),_T("New Class - Error!"),wxOK | wxICON_ERROR);
+
+          ((wxCDMMainFrame*)this->GetParent())->RefreshProject();
+
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+          newEvent->SetId(0);
+          newEvent->SetClientData(folder);
+          wxPostEvent(this->GetParent(), *newEvent);
+
+          wxMessageBox(crea::std2wx("The class has been created successfully."),_T("New Class - Success"),wxOK | wxICON_INFORMATION);
+        }
+      else
+        {
+          wxMessageBox(crea::std2wx("The new class name cannot be empty."),_T("New Class - Error!"),wxOK | wxICON_ERROR);
+        }
+    }
+}
+
+void wxCDMFolderDescriptionPanel::OnBtnCreateFolder(wxCommandEvent& event)
+{
+  //get name
+  wxString folderName = wxGetTextFromUser(
+      wxT("Enter the name of the new folder:"),
+      wxT("Create Folder - creaDevManager")
+  );
+  //check name
+  std::vector<std::string> parts;
+  CDMUtilities::splitter::split(parts, crea::wx2std(folderName), " /\\\"", CDMUtilities::splitter::no_empties);
+  if(parts.size() > 0)
+    {
+      std::string* result;
+      modelCDMFolder* folderC = this->folder->CreateFolder(crea::wx2std(folderName), result);
+      if(folderC == NULL)
+        {
+          wxMessageBox(crea::std2wx(*result),_T("Create Folder - Error!"),wxOK | wxICON_ERROR);
+          return;
+        }
+      ((wxCDMMainFrame*)this->GetParent())->RefreshProject();
+      wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+      newEvent->SetClientData(folderC);
+      wxPostEvent(this->GetParent(), *newEvent);
+      wxMessageBox(crea::std2wx("The folder was successfully created"),_T("Create Folder - Success"),wxOK | wxICON_INFORMATION);
+    }
+  else
+    {
+      wxMessageBox(crea::std2wx("No name specified"),_T("Create Folder - Error!"),wxOK | wxICON_ERROR);
+    }
+}
+
+void wxCDMFolderDescriptionPanel::OnCMakeMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+  if(this->folder->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->folder->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMFolderDescriptionPanel::OnCMakeMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->folder->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->folder->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
diff --git a/lib/creaDevManagerLib/wxCDMFolderDescriptionPanel.h b/lib/creaDevManagerLib/wxCDMFolderDescriptionPanel.h
new file mode 100644
index 0000000..f06f0ce
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMFolderDescriptionPanel.h
@@ -0,0 +1,142 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMFolderDescriptionPanel.h
+ *
+ *  Created on: Dic 3, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMFOLDERDESCRIPTIONPANEL_H_
+#define WXCDMFOLDERDESCRIPTIONPANEL_H_
+
+#include <creaWx.h>
+#include <wx/hyperlink.h>
+
+#include "modelCDMFolder.h"
+
+/**
+ * Folder description panel. Shows the properties of the referenced folder and the available actions.
+ */
+class wxCDMFolderDescriptionPanel : public wxScrolledWindow
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Folder description panel Constructor.
+   * @param parent Parent window reference.
+   * @param folder Folder class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+  wxCDMFolderDescriptionPanel(
+      wxWindow* parent,
+      modelCDMFolder* folder,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Destructor.
+   */
+  ~wxCDMFolderDescriptionPanel();
+
+  /**
+   * Folder description panel Creator.
+   * @param parent Parent window reference.
+   * @param folder Folder class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   * @return True if creation is successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      modelCDMFolder* folder,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Creates all the controls in the panel (property and action controls).
+   */
+  void CreateControls();
+
+private:
+  /**
+   * Folder described.
+   */
+  modelCDMFolder* folder;
+
+  //handlers
+protected:
+  /**
+   * Handles when a return link is pressed.
+   * @param event Has the link reference to know where to return
+   */
+  void OnBtnReturn(wxHyperlinkEvent& event);
+  /**
+   * Handles when the open package cmakelists file button is pressed.
+   */
+  void OnBtnEditCMakeLists(wxCommandEvent& event);
+  /**
+   * Handles when the create class button is pressed.
+   */
+  void OnBtnCreateClass(wxCommandEvent& event);
+  /**
+   * Handles when the create folder button is pressed.
+   */
+  void OnBtnCreateFolder(wxCommandEvent& event);
+  /**
+   * Handles when the open in explorer button is pressed.
+   */
+  void OnBtnOpenInExplorer(wxCommandEvent& event);
+
+  /**
+   * Handles when the open cmakelists file button is hovered.
+   */
+  void OnCMakeMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when the open cmakelists file button finishes hover.
+   */
+  void OnCMakeMouseExit(wxMouseEvent& event);
+
+};
+
+#endif /* WXCDMLIBDESCRIPTIONPANEL_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMLibDescriptionPanel.cpp b/lib/creaDevManagerLib/wxCDMLibDescriptionPanel.cpp
new file mode 100644
index 0000000..4dec780
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMLibDescriptionPanel.cpp
@@ -0,0 +1,386 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMLibDescriptionPanel.cpp
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMLibDescriptionPanel.h"
+
+#include "wxCDMMainFrame.h"
+
+#include "wxCDMLibHelpDialog.h"
+
+#include "creaDevManagerIds.h"
+#include "images/LbIcon64.xpm"
+
+BEGIN_EVENT_TABLE(wxCDMLibDescriptionPanel, wxPanel)
+EVT_HYPERLINK(ID_BUTTON_PREV, wxCDMLibDescriptionPanel::OnBtnReturn)
+EVT_HYPERLINK(ID_LINK_SELECT_LIBRARY, wxCDMLibDescriptionPanel::OnLnkLibrarySelect)
+EVT_BUTTON(ID_BUTTON_CREATE_LIBRARY, wxCDMLibDescriptionPanel::OnBtnCreateLibrary)
+EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMLibDescriptionPanel::OnBtnEditCMakeLists)
+EVT_BUTTON(ID_BUTTON_OPEN_FOLDER, wxCDMLibDescriptionPanel::OnBtnOpenFolder)
+EVT_CHECKBOX(ID_CHECK_INCLUDE_LIBRARY, wxCDMLibDescriptionPanel::OnChBLibraryChange)
+END_EVENT_TABLE()
+
+wxCDMLibDescriptionPanel::wxCDMLibDescriptionPanel(
+    wxWindow* parent,
+    modelCDMLib* lib,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMLibDescriptionPanel::Create(parent, lib, id, caption, pos, size, style);
+}
+
+wxCDMLibDescriptionPanel::~wxCDMLibDescriptionPanel()
+{
+}
+
+bool wxCDMLibDescriptionPanel::Create(
+    wxWindow* parent,
+    modelCDMLib* lib,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxPanel::Create(parent, id, pos, size, style);
+  this->lib = lib;
+  CreateControls();
+  // this part makes the scrollbars show up
+  this->FitInside(); // ask the sizer about the needed size
+  this->SetScrollRate(5, 5);
+  return TRUE;
+}
+
+void wxCDMLibDescriptionPanel::CreateControls()
+{
+  wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+
+  //Links to return
+  wxBoxSizer *linksSizer = new wxBoxSizer(wxHORIZONTAL);
+  std::vector<modelCDMIProjectTreeNode*> parents = this->lib->GetParents();
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      wxHyperlinkCtrl* returnLnk = new wxHyperlinkCtrl(this, ID_BUTTON_PREV, crea::std2wx(parents[parents.size()-1-i]->GetName()), crea::std2wx(parents[parents.size()-1-i]->GetPath()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+      returnLnk->SetWindowStyle(wxNO_BORDER);
+	  returnLnk->SetToolTip(crea::std2wx("Return to " + parents[parents.size()-1-i]->GetName() + "."));
+      linksSizer->Add(returnLnk, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5);
+      linksSizer->Add(new wxStaticText(this,wxID_ANY, wxT("/")), 0, wxALIGN_CENTER, 0);
+    }
+
+  linksSizer->Add(new wxStaticText(this, wxID_ANY, crea::std2wx(this->lib->GetName())), 0, wxALIGN_CENTER, 0);
+
+  sizer->Add(linksSizer, 0, wxALIGN_CENTER | wxALL, 5);
+
+  //Header
+  wxBoxSizer* headerSizer = new wxBoxSizer(wxHORIZONTAL);
+  {
+    //Image
+    headerSizer->Add(new wxStaticBitmap(this, -1, wxBitmap(LbIcon64)),0, wxALIGN_CENTER, 0);
+    wxBoxSizer* textSizer = new wxBoxSizer(wxVERTICAL);
+    //Title
+    textSizer->Add(new wxStaticText(this, -1, _("Library Management")),0, wxALIGN_LEFT, 0);
+    headerSizer->Add(textSizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
+  }
+  sizer->Add(headerSizer, 0, wxALIGN_CENTER);
+
+  //Libraries
+  wxStaticBoxSizer* propertiesBox = new wxStaticBoxSizer(wxVERTICAL, this, wxT("A&vailable Libraries"));
+  propertiesBox->GetStaticBox()->SetToolTip(wxT("Select any of the available libraries to see its details or modify them."));
+  wxPanel* propertiesPanel = new wxPanel(this);
+
+  std::vector<modelCDMLibrary*> libraries = this->lib->GetLibraries();
+  wxFlexGridSizer* propertiesGridSizer = new wxFlexGridSizer(libraries.size()+1, 3, 9, 5);
+
+  wxStaticText* ChBTitle = new wxStaticText(propertiesPanel, wxID_ANY, wxT("Include in\nCMake"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE_HORIZONTAL);
+  wxStaticText* LkTitle = new wxStaticText(propertiesPanel, wxID_ANY, wxT("Library Name"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE_HORIZONTAL);
+  wxStaticText* HlpTitle = new wxStaticText(propertiesPanel, wxID_ANY, wxT("Help"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE_HORIZONTAL);
+
+  propertiesGridSizer -> Add(ChBTitle, 0, wxEXPAND | wxALL, 5);
+  propertiesGridSizer -> Add(LkTitle,  0, wxEXPAND | wxALL, 5);
+  propertiesGridSizer -> Add(HlpTitle, 0, wxEXPAND | wxALL, 5);
+
+  for (int i = 0; i < (int)(libraries.size()); i++)
+    {
+      //checkbox for cmake inclusion
+      wxCheckBox* pLibraryChB = new wxCheckBox(propertiesPanel, ID_CHECK_INCLUDE_LIBRARY, wxT(""), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT);
+      pLibraryChB->SetName(crea::std2wx(libraries[i]->GetName()));
+      std::string tt = "if this box is checked the the " + libraries[i]->GetName() + " library is included in the project compilation.";
+      pLibraryChB->SetToolTip(crea::std2wx(tt));
+      pLibraryChB->SetValue(this->lib->IsLibraryIncluded(libraries[i]->GetName()));
+      propertiesGridSizer -> Add(pLibraryChB, 0, wxEXPAND | wxALIGN_CENTER);
+
+      //link to library with description
+      wxHyperlinkCtrl* pLibrarylk = new wxHyperlinkCtrl(propertiesPanel, ID_LINK_SELECT_LIBRARY, crea::std2wx(libraries[i]->GetName().c_str()), crea::std2wx(libraries[i]->GetName().c_str()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+      pLibrarylk->SetWindowStyle(wxALIGN_LEFT | wxNO_BORDER);
+      tt = "Name: " + libraries[i]->GetName() + "\n";
+      tt += "Location: " + libraries[i]->GetPath();
+      pLibrarylk->SetToolTip(crea::std2wx(tt));
+      pLibrarylk->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMLibDescriptionPanel::OnMouseEnter,NULL,this);
+      pLibrarylk->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMLibDescriptionPanel::OnMouseExit,NULL,this);
+      propertiesGridSizer -> Add(pLibrarylk, 0, wxEXPAND);
+
+      //help icon
+      wxButton* pLibraryHlp = new wxButton(propertiesPanel, wxID_ANY, wxT("?"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT);
+      pLibraryHlp->Enable(false);
+      tt = "When this library is included in the CMakeLists file, the\nfollowing line is included in the CMakeList.txt file in the lib\nfolder:\n"
+          "ADD_SUBDIRECTORY(" + libraries[i]->GetName() + ")";
+      pLibraryHlp->SetToolTip(crea::std2wx(tt));
+
+      propertiesGridSizer -> Add(pLibraryHlp, 0, wxEXPAND | wxALIGN_CENTER);
+    }
+
+  propertiesGridSizer->AddGrowableCol(1,1);
+
+  propertiesPanel->SetSizer(propertiesGridSizer);
+  propertiesGridSizer->Fit(propertiesPanel);
+  propertiesBox->Add(propertiesPanel, 1, wxALL | wxEXPAND, 5);
+  sizer -> Add(propertiesBox, 0, wxEXPAND | wxALL, 10);
+
+  //Actions
+  wxStaticBoxSizer* actionsBox = new wxStaticBoxSizer(wxVERTICAL, this, wxT("&Actions"));
+  actionsBox->GetStaticBox()->SetToolTip(wxT("Create a new library or make any change to the lib's CMakeLists.txt file by selecting the desired action."));
+  wxPanel* actionsPanel = new wxPanel(this);
+  wxBoxSizer* actionsPanelSizer = new wxBoxSizer(wxHORIZONTAL);
+
+  //actionsGrid Sizer
+  wxFlexGridSizer* actionsGridSizer = new wxFlexGridSizer(2, 2, 9, 15);
+
+  wxButton* createLibrarybt = new wxButton(actionsPanel, ID_BUTTON_CREATE_LIBRARY, _T("A. Create Library"));
+  createLibrarybt->SetToolTip(wxT("Create a new library for this project."));
+  actionsGridSizer->Add(createLibrarybt, 1, wxALL | wxEXPAND, 5);
+  wxButton* editCMakebt = new wxButton(actionsPanel, ID_BUTTON_EDIT_CMAKELISTSFILE, _T("Edit CMakeLists File"));
+  editCMakebt->SetToolTip(wxT("Open the system default text editor to edit the Lib's CMakeLists.txt file."));
+  editCMakebt->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMLibDescriptionPanel::OnCMakeMouseEnter,NULL,this);
+  editCMakebt->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMLibDescriptionPanel::OnCMakeMouseExit,NULL,this);
+  actionsGridSizer->Add(editCMakebt, 1, wxALL | wxEXPAND, 5);
+  wxButton* openFolderbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_FOLDER, _T("Open Libraries Folder"));
+  openFolderbt->SetToolTip(wxT("Open the lib folder in the file explorer."));
+  actionsGridSizer->Add(openFolderbt, 1, wxALL | wxEXPAND, 5);
+
+  actionsGridSizer->AddGrowableCol(0,1);
+  actionsGridSizer->AddGrowableCol(1,1);
+
+  actionsPanelSizer->Add(actionsGridSizer, 1, wxEXPAND, 0);
+
+  actionsPanel->SetSizer(actionsPanelSizer);
+  actionsPanelSizer->Fit(actionsPanel);
+  actionsBox->Add(actionsPanel, 0, wxALL, 5);
+  sizer -> Add(actionsBox, 0, wxEXPAND | wxALL, 10);
+
+  //Assign sizer
+  SetSizer(sizer);
+  sizer->SetSizeHints(this);
+
+  if (((wxCDMMainFrame*)this->GetParent())->isHelp())
+    {
+      wxCDMLibHelpDialog* helpDialog = new wxCDMLibHelpDialog(this->GetParent(), this->lib, wxID_ANY);
+      helpDialog->Show(true);
+    }
+}
+
+void wxCDMLibDescriptionPanel::OnBtnCreateLibrary(wxCommandEvent& event)
+{
+  //get name
+  wxString libraryName = wxGetTextFromUser(
+      _T("Enter the new library name"),
+      _T("New Library - creaDevManager"),
+      _T("")
+  );
+  //check name
+  if(libraryName.Len() > 0)
+    {
+      std::string* result;
+      //create library
+      modelCDMIProjectTreeNode* library = this->lib->CreateLibrary(crea::wx2std(libraryName),result);
+      //check library created
+      if(library == NULL)
+        {
+          wxMessageBox(crea::std2wx(*result),_T("New Library - Error!"),wxOK | wxICON_ERROR);
+          return;
+        }
+      wxMessageBox(crea::std2wx("Library successfully created."),_T("New Library - Success!"),wxOK | wxICON_INFORMATION);
+
+      //refreshing tree and description
+      //send event instead of calling parent to avoid crashing
+
+      ((wxCDMMainFrame*)this->GetParent())->RefreshProject();
+
+      wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+      newEvent->SetClientData(library);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+}
+
+void wxCDMLibDescriptionPanel::OnBtnEditCMakeLists(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->lib->OpenCMakeListsFile(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->lib->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->lib->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+}
+
+void wxCDMLibDescriptionPanel::OnChBLibraryChange(wxCommandEvent& event)
+{
+  this->lib->SetLibraryInclude(
+      crea::wx2std(((wxCheckBox*)event.GetEventObject())->GetName()),
+      ((wxCheckBox*)event.GetEventObject())->GetValue()
+    );
+}
+
+void wxCDMLibDescriptionPanel::OnLnkLibrarySelect(wxHyperlinkEvent& event)
+{
+  modelCDMLibrary* theLibrary = NULL;
+  std::vector<modelCDMLibrary*> libraries = this->lib->GetLibraries();
+  for (int i = 0; i < (int)(libraries.size()); i++)
+    {
+      if(libraries[i]->GetName() == crea::wx2std(event.GetURL()))
+        {
+          theLibrary = libraries[i];
+          break;
+        }
+    }
+
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+  newEvent->SetClientData(theLibrary);
+  newEvent->SetId(0);
+  wxPostEvent(this->GetParent(), *newEvent);
+
+  wxCommandEvent* newEvent1 = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+  newEvent1->SetClientData(theLibrary);
+  newEvent1->SetId(0);
+  wxPostEvent(this->GetParent(), *newEvent1);
+
+}
+
+void wxCDMLibDescriptionPanel::OnBtnReturn(wxHyperlinkEvent& event)
+{
+  std::vector<modelCDMIProjectTreeNode*> parents = this->lib->GetParents();
+  std::string parentURL = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  //std::cout << parentURL << std::endl;
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      if (parents[i]->GetPath() == parentURL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+          newEvent->SetClientData(parents[i]);
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+}
+
+void wxCDMLibDescriptionPanel::OnBtnOpenFolder(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->lib->OpenInFileExplorer(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open Folder - Error!"),wxOK | wxICON_ERROR);
+}
+
+void wxCDMLibDescriptionPanel::OnMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+  std::string LibName = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  modelCDMLibrary* theLibrary = NULL;
+  std::vector<modelCDMLibrary*> libraries = this->lib->GetLibraries();
+  for (int i = 0; i < (int)(libraries.size()); i++)
+    {
+      if(libraries[i]->GetName() == LibName)
+        {
+          theLibrary = libraries[i];
+          break;
+        }
+    }
+  newEvent->SetClientData(theLibrary);
+  newEvent->SetId(0);
+  wxPostEvent(this->GetParent(), *newEvent);
+  event.Skip();
+}
+
+void wxCDMLibDescriptionPanel::OnMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+  std::string LibName = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  modelCDMLibrary* theLibrary = NULL;
+  std::vector<modelCDMLibrary*> libraries = this->lib->GetLibraries();
+  for (int i = 0; i < (int)(libraries.size()); i++)
+    {
+      if(libraries[i]->GetName() == LibName)
+        {
+          theLibrary = libraries[i];
+          break;
+        }
+    }
+  newEvent->SetClientData(theLibrary);
+  newEvent->SetId(0);
+  wxPostEvent(this->GetParent(), *newEvent);
+  event.Skip();
+}
+
+void wxCDMLibDescriptionPanel::OnCMakeMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+  if(this->lib->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->lib->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMLibDescriptionPanel::OnCMakeMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->lib->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->lib->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
diff --git a/lib/creaDevManagerLib/wxCDMLibDescriptionPanel.h b/lib/creaDevManagerLib/wxCDMLibDescriptionPanel.h
new file mode 100644
index 0000000..15c9ec4
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMLibDescriptionPanel.h
@@ -0,0 +1,158 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMLibDescriptionPanel.h
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMLIBDESCRIPTIONPANEL_H_
+#define WXCDMLIBDESCRIPTIONPANEL_H_
+
+#include <creaWx.h>
+#include <wx/hyperlink.h>
+
+#include "modelCDMLib.h"
+
+/**
+ * Library manager description panel. Shows the available libraries in the project and the actions corresponding to library management.
+ */
+class wxCDMLibDescriptionPanel : public wxScrolledWindow
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Library manager description panel Constructor.
+   * @param parent Parent window reference.
+   * @param lib Lib class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+  wxCDMLibDescriptionPanel(
+      wxWindow* parent,
+      modelCDMLib* lib,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Destructor.
+   */
+  ~wxCDMLibDescriptionPanel();
+
+  /**
+   * Library manager description panel Creator.
+   * @param parent Parent window reference.
+   * @param lib Lib class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   * @return True if creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      modelCDMLib* lib,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Creates all the controls in the panel (property and action controls).
+   */
+  void CreateControls();
+
+private:
+  /**
+   * Library manager described.
+   */
+  modelCDMLib* lib;
+
+  //handlers
+protected:
+  /**
+   * Handles when the create library button is pressed.
+   */
+  void OnBtnCreateLibrary(wxCommandEvent& event);
+  /**
+   * Handles when the open package cmakelists file button is pressed.
+   */
+  void OnBtnEditCMakeLists(wxCommandEvent& event);
+  /**
+   * Handles when a library checkbox is (un)checked.
+   * @param event Has the link reference to know which library was selected.
+   */
+  void OnChBLibraryChange(wxCommandEvent& event);
+  /**
+   * Handles when a library link is pressed.
+   * @param event Has the link reference to know which library was selected.
+   */
+  void OnLnkLibrarySelect(wxHyperlinkEvent& event);
+  /**
+   * Handles when a return link is pressed.
+   * @param event Has the link reference to know where to return
+   */
+  void OnBtnReturn(wxHyperlinkEvent& event);
+  /**
+   * Handles when the open containing folder button is pressed.
+   */
+  void OnBtnOpenFolder(wxCommandEvent& event);
+
+  /**
+   * Handles when a library link is hovered.
+   * @param event Has the link reference to know which library was selected.
+   */
+  void OnMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when a library link button finishes hover.
+   * @param event Has the link reference to know which library was selected.
+   */
+  void OnMouseExit(wxMouseEvent& event);
+  /**
+   * Handles when the open cmakelists file button is hovered.
+   */
+  void OnCMakeMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when the open cmakelists file button finishes hover.
+   */
+  void OnCMakeMouseExit(wxMouseEvent& event);
+
+};
+
+#endif /* WXCDMLIBDESCRIPTIONPANEL_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMLibHelpDialog.cpp b/lib/creaDevManagerLib/wxCDMLibHelpDialog.cpp
new file mode 100644
index 0000000..e74d006
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMLibHelpDialog.cpp
@@ -0,0 +1,173 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMLibHelpDialog.cpp
+ *
+ *  Created on: 11/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMLibHelpDialog.h"
+
+#include "creaDevManagerIds.h"
+
+BEGIN_EVENT_TABLE(wxCDMLibHelpDialog, wxDialog)
+EVT_BUTTON(ID_BUTTON_CANCEL, wxCDMLibHelpDialog::OnFinish)
+EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMLibHelpDialog::OnEditCMake)
+EVT_CHECKBOX(ID_CHECKBOX_DISABLE_HELP, wxCDMLibHelpDialog::OnDisableHelp)
+END_EVENT_TABLE()
+
+wxCDMLibHelpDialog::wxCDMLibHelpDialog(
+    wxWindow* parent,
+    modelCDMLib* lib,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMLibHelpDialog::Create(parent, id, caption, position, size, style);
+  this->lib = lib;
+}
+
+wxCDMLibHelpDialog::~wxCDMLibHelpDialog()
+{
+}
+
+bool wxCDMLibHelpDialog::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long int style
+)
+{
+  wxDialog::Create(parent, id, caption, position, size, style);
+
+  this->CreateControls();
+
+  return TRUE;
+}
+
+void wxCDMLibHelpDialog::CreateControls()
+{
+  wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
+
+
+  wxStaticText* title = new wxStaticText(this, wxID_ANY, wxT("Managing your libraries"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);//new wxRichTextCtrl(this,wxID_ANY, wxString("Create a new project"), wxDefaultPosition, wxDefaultSize, wxRE_READONLY);
+  v_sizer1->Add(title, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  wxStaticText* instruction = new wxStaticText(
+      this,
+      wxID_ANY,
+      crea::std2wx(
+          "Libraries contain the core classes of your project, these libraries should be used by black boxes and applications "
+          "from this project to perform the main functions of the project. Functions implementing important tasks such as image "
+          "processing algorithms or point cloud processing algorithms should be developed in the libraries of the project, while "
+          "the black boxes and applications serve as interfaces between the user or other platforms and the libraries' functions.\n"
+          "\n"
+          "In the library manager you can view a list of the available libraries in the current project, as well as create "
+          "new libraries. Remember that any library you create must be included in the lib's folder CMakeLists file by using the "
+          "\"ADD_SUBDIRECTORY([libraryName])\" command. You can open this file by clicking on the \"Edit Lib's CMakeLists File\" "
+          "button below or in the Library Manager the \"Edit CMakeLists file\" button and include the desired libraries at the end "
+          "of the file."),
+          wxDefaultPosition,
+          wxDefaultSize,
+          wxALIGN_LEFT
+  );
+  v_sizer1->Add(instruction, 0,wxEXPAND | wxALL, 5);
+
+  wxButton* editCMakeLibBtn = new wxButton(this, ID_BUTTON_EDIT_CMAKELISTSFILE, wxT("Edit Lib's CMakeLists File"));
+  editCMakeLibBtn->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMLibHelpDialog::OnEditCMakeMouseEnter,NULL,this);
+  editCMakeLibBtn->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMLibHelpDialog::OnEditCMakeMouseExit,NULL,this);
+  v_sizer1->Add(editCMakeLibBtn, 0, wxEXPAND | wxLEFT | wxRIGHT, 15);
+
+  v_sizer1->Add(new wxCheckBox(this, ID_CHECKBOX_DISABLE_HELP, wxT("&Disable help")), 0, wxALIGN_RIGHT | wxRIGHT, 10);
+
+  v_sizer1->Add(new wxButton(this, ID_BUTTON_CANCEL, wxT("Close")), 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM | wxALIGN_CENTER_VERTICAL, 30);
+
+  SetSizer(v_sizer1);
+
+}
+
+void wxCDMLibHelpDialog::OnFinish(wxCommandEvent& event)
+{
+  this->EndDialog(wxID_CANCEL);
+}
+
+void wxCDMLibHelpDialog::OnEditCMake(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->lib->OpenCMakeListsFile(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->lib->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->lib->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+}
+
+
+void wxCDMLibHelpDialog::OnEditCMakeMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+  if(this->lib->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->lib->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMLibHelpDialog::OnEditCMakeMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->lib->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->lib->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+
+void wxCDMLibHelpDialog::OnDisableHelp(wxCommandEvent& event)
+{
+  wxPostEvent(this->GetParent(), event);
+}
diff --git a/lib/creaDevManagerLib/wxCDMLibHelpDialog.h b/lib/creaDevManagerLib/wxCDMLibHelpDialog.h
new file mode 100644
index 0000000..9d7049a
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMLibHelpDialog.h
@@ -0,0 +1,138 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMLibHelpDialog.h
+ *
+ *  Created on: 11/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMLIBHELPDIALOG_H_
+#define WXCDMLIBHELPDIALOG_H_
+
+#include <creaWx.h>
+#include <wx/dialog.h>
+
+#include "modelCDMLib.h"
+
+/**
+ * Lib Panel Help Dialog
+ */
+class wxCDMLibHelpDialog : public wxDialog
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Lib Panel Help Dialog Constructor.
+   * @param parent Parent window.
+   * @param lib Library class reference.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Managing Libraries".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 600.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   */
+  wxCDMLibHelpDialog(
+      wxWindow* parent,
+      modelCDMLib* lib,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Managing Libraries"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,600),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMLibHelpDialog();
+  /**
+   * Lib Panel Help Dialog Creator.
+   * @param parent Parent window.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Managing Libraries".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 600.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   * @return if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Managing Libraries"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,600),
+      long style = wxDEFAULT_DIALOG_STYLE
+  );
+
+protected:
+  /**
+   * Creates the help controls (text and buttons).
+   */
+  void CreateControls();
+
+  //attributes
+private:
+  /**
+   * Lib class reference.
+   */
+  modelCDMLib* lib;
+
+  //handlers
+protected:
+  /**
+   * Handler to close help dialog.
+   * @param event Unused.
+   */
+  void OnFinish(wxCommandEvent& event);
+
+  /**
+   * Handler when a cmakelists button is pressed.
+   * @param event cmakelists event.
+   */
+  void OnEditCMake(wxCommandEvent& event);
+
+  /**
+   * Handler when a cmakelists button is hovered.
+   * @param event cmakelists event.
+   */
+  void OnEditCMakeMouseEnter(wxMouseEvent& event);
+  /**
+   * Handler when a cmakelists button hover finishes.
+   * @param event cmakelists event.
+   */
+  void OnEditCMakeMouseExit(wxMouseEvent& event);
+
+  /**
+   * Handler when the disable help checkbox is changed.
+   * @param event check box event.
+   */
+  void OnDisableHelp(wxCommandEvent& event);
+};
+
+#endif /* WXCDMLIBHELPDIALOG_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMLibraryDescriptionPanel.cpp b/lib/creaDevManagerLib/wxCDMLibraryDescriptionPanel.cpp
new file mode 100644
index 0000000..71f6d69
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMLibraryDescriptionPanel.cpp
@@ -0,0 +1,501 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMLibraryDescriptionPanel.cpp
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMLibraryDescriptionPanel.h"
+
+#include "CDMUtilities.h"
+#include "wxCDMMainFrame.h"
+
+#include "wxCDMLibraryHelpDialog.h"
+
+#include "creaDevManagerIds.h"
+#include "images/LIcon64.xpm"
+
+BEGIN_EVENT_TABLE(wxCDMLibraryDescriptionPanel, wxPanel)
+EVT_HYPERLINK(ID_BUTTON_PREV, wxCDMLibraryDescriptionPanel::OnBtnReturn)
+EVT_BUTTON(ID_BUTTON_SET_NAME, wxCDMLibraryDescriptionPanel::OnBtnSetExeName)
+EVT_BUTTON(ID_BUTTON_CREATE_CLASS, wxCDMLibraryDescriptionPanel::OnBtnCreateClass)
+EVT_BUTTON(ID_BUTTON_CREATE_FOLDER, wxCDMLibraryDescriptionPanel::OnBtnCreateFolder)
+EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMLibraryDescriptionPanel::OnBtnEditCMakeLists)
+EVT_BUTTON(ID_BUTTON_OPEN_FOLDER, wxCDMLibraryDescriptionPanel::OnBtnOpenFolder)
+EVT_CHECKBOX(ID_CHECK_INCLUDE_3RDLIBRARY, wxCDMLibraryDescriptionPanel::On3rdLibraryChBChange)
+EVT_CHECKBOX(ID_CHECK_INCLUDE_LIBRARY, wxCDMLibraryDescriptionPanel::OnLibraryChBChange)
+END_EVENT_TABLE()
+
+wxCDMLibraryDescriptionPanel::wxCDMLibraryDescriptionPanel(
+    wxWindow* parent,
+    modelCDMLibrary* library,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMLibraryDescriptionPanel::Create(parent, library, id, caption, pos, size, style);
+}
+
+wxCDMLibraryDescriptionPanel::~wxCDMLibraryDescriptionPanel()
+{
+}
+
+bool wxCDMLibraryDescriptionPanel::Create(
+    wxWindow* parent,
+    modelCDMLibrary* library,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxPanel::Create(parent, id, pos, size, style);
+  this->library = library;
+  CreateControls();
+  // this part makes the scrollbars show up
+  this->FitInside(); // ask the sizer about the needed size
+  this->SetScrollRate(5, 5);
+  return TRUE;
+}
+
+void wxCDMLibraryDescriptionPanel::CreateControls()
+{
+  wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+
+  //Links to return
+  wxBoxSizer *linksSizer = new wxBoxSizer(wxHORIZONTAL);
+  std::vector<modelCDMIProjectTreeNode*> parents = this->library->GetParents();
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      wxHyperlinkCtrl* returnLnk = new wxHyperlinkCtrl(this, ID_BUTTON_PREV, crea::std2wx(parents[parents.size()-1-i]->GetName()), crea::std2wx(parents[parents.size()-1-i]->GetPath()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+      returnLnk->SetWindowStyle(wxNO_BORDER);
+	  returnLnk->SetToolTip(crea::std2wx("Return to " + parents[parents.size()-1-i]->GetName() + "."));
+      linksSizer->Add(returnLnk, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5);
+      linksSizer->Add(new wxStaticText(this,wxID_ANY, wxT("/")), 0, wxALIGN_CENTER, 0);
+    }
+
+  linksSizer->Add(new wxStaticText(this, wxID_ANY, crea::std2wx(this->library->GetName())), 0, wxALIGN_CENTER, 0);
+
+  sizer->Add(linksSizer, 0, wxALIGN_CENTER | wxALL, 5);
+
+  //Header
+  wxBoxSizer* headerSizer = new wxBoxSizer(wxHORIZONTAL);
+  {
+    //Image
+    headerSizer->Add(new wxStaticBitmap(this, -1, wxBitmap(LIcon64)),0, wxALIGN_CENTER, 0);
+    wxBoxSizer* textSizer = new wxBoxSizer(wxVERTICAL);
+    //Title
+    textSizer->Add(new wxStaticText(this, -1, _("Library")),0, wxALIGN_LEFT, 0);
+    //Library Name
+    textSizer->Add(new wxStaticText(this, -1, crea::std2wx(this->library->GetName())),0, wxALIGN_LEFT, 0);
+    headerSizer->Add(textSizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
+  }
+  sizer->Add(headerSizer, 0, wxALIGN_CENTER);
+
+  /*//Properties
+  wxStaticBoxSizer* propertiesBox = new wxStaticBoxSizer(wxVERTICAL, this, wxT("&Properties"));
+  wxPanel* propertiesPanel = new wxPanel(this);
+  wxBoxSizer* propertiesPanelSizer = new wxBoxSizer(wxVERTICAL);
+
+  wxFlexGridSizer* propertiesGridSizer = new wxFlexGridSizer(4, 2, 9, 15);
+
+  wxStaticText *pMainFile = new wxStaticText(propertiesPanel, -1, wxT("Library Name"));
+  wxBoxSizer* pMainFilesz = new wxBoxSizer(wxHORIZONTAL);
+  this->libraryNametc = new wxStaticText(propertiesPanel, wxID_ANY, crea::std2wx(this->library->GetNameLibrary()));
+  wxButton* pMainFilebt = new wxButton(propertiesPanel, ID_BUTTON_SET_NAME, wxT("Set"));
+  pMainFilebt->SetToolTip(wxT("Set the name of the library for the project."));
+  pMainFilesz->Add(this->libraryNametc, 0, wxALIGN_CENTER_VERTICAL, 0);
+  pMainFilesz->Add(pMainFilebt, 0, wxALIGN_CENTER | wxLEFT, 10);
+
+  propertiesGridSizer->Add(pMainFile, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
+  propertiesGridSizer->Add(pMainFilesz, 1, wxEXPAND);
+
+  propertiesGridSizer->AddGrowableCol(1,1);
+
+  propertiesPanelSizer->Add(propertiesGridSizer, 0, wxEXPAND);
+  propertiesPanel->SetSizer(propertiesPanelSizer);
+  propertiesPanelSizer->Fit(propertiesPanel);
+  propertiesBox->Add(propertiesPanel, 0, wxEXPAND);
+  sizer->Add(propertiesBox, 0, wxEXPAND | wxALL, 10);
+   */
+
+  //Includes
+  wxStaticBoxSizer* includesBox = new wxStaticBoxSizer(wxHORIZONTAL, this, wxT("&Used Libraries"));
+  includesBox->SetMinSize(200,250);
+  wxScrolledWindow* includesPanel = new wxScrolledWindow(this);
+  wxBoxSizer* includesPanelSizer = new wxBoxSizer(wxVERTICAL);
+
+  //Third Party Libraries
+  wxStaticText* Title1 = new wxStaticText(includesPanel, wxID_ANY, wxT("Third Party Libraries:"));
+  wxFont font = Title1->GetFont();
+  font.SetWeight(wxFONTWEIGHT_BOLD);
+  Title1->SetFont(font);
+  includesPanelSizer->Add(Title1, 0, wxEXPAND);
+
+  //inclusion data
+  std::map<std::string, bool> inclusions = this->library->Get3rdPartyLibraries();
+  //includesGrid Sizer
+  wxFlexGridSizer* includesGridSizer = new wxFlexGridSizer(inclusions.size()+1, 2, 0, 5);
+
+  wxStaticText* ChBTitle = new wxStaticText(
+      includesPanel,
+      wxID_ANY,
+      wxT("Included"),
+      wxDefaultPosition,
+      wxDefaultSize,
+      wxALIGN_CENTER
+    );
+  wxStaticText* LNmTitle = new wxStaticText(
+      includesPanel,
+      wxID_ANY,
+      wxT("Library Name"),
+      wxDefaultPosition,
+      wxDefaultSize,
+      wxALIGN_LEFT
+    );
+
+  includesGridSizer->Add(ChBTitle, 1, wxEXPAND);
+  includesGridSizer->Add(LNmTitle, 1, wxEXPAND);
+
+  for (std::map<std::string, bool>::iterator it = inclusions.begin(); it != inclusions.end(); ++it) {
+    wxCheckBox* ChBIncl = new wxCheckBox(
+        includesPanel, ID_CHECK_INCLUDE_3RDLIBRARY, wxT(""), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT
+      );
+    ChBIncl->SetToolTip(crea::std2wx(
+        "When this box is checked the " + it->first + " library\n"
+        "is included in the project configuration for\n"
+        "this library including the following instruction\n"
+        "in the library's folder CMakeLists.txt file:\n"
+        "SET ( ${LIBRARY_NAME}_LINK_LIBRARIES\n"
+        "  ${" + it->first+ "_LIBRARIES}\n"
+        ")"));
+    ChBIncl->SetName(crea::std2wx(it->first));
+    ChBIncl->SetValue(it->second);
+    includesGridSizer->Add(ChBIncl, 1, wxEXPAND);
+
+    wxStaticText* LNmIncl = new wxStaticText(includesPanel, wxID_ANY, crea::std2wx(it->first));
+    includesGridSizer->Add(LNmIncl, 1, wxEXPAND);
+  }
+
+  includesGridSizer->AddGrowableCol(1,1);
+
+  includesPanelSizer->Add(includesGridSizer, 0, wxEXPAND | wxLEFT, 5);
+
+  //Custom Libraries
+  wxStaticText* Title2 = new wxStaticText(includesPanel, wxID_ANY, wxT("Custom Libraries:"));
+  font = Title2->GetFont();
+  font.SetWeight(wxFONTWEIGHT_BOLD);
+  Title2->SetFont(font);
+  includesPanelSizer->Add(Title2, 0, wxEXPAND);
+
+  //inclusion data
+  std::map<std::string, bool> inclusionsLibs = this->library->GetCustomLibraries();
+  //includesGrid Sizer
+  wxFlexGridSizer* includesLibGridSizer = new wxFlexGridSizer(inclusionsLibs.size()+1, 2, 0, 5);
+
+  wxStaticText* ChBTitle1 = new wxStaticText(
+      includesPanel,
+      wxID_ANY,
+      wxT("Included"),
+      wxDefaultPosition,
+      wxDefaultSize,
+      wxALIGN_CENTER
+    );
+  wxStaticText* LNmTitle1 = new wxStaticText(
+      includesPanel,
+      wxID_ANY,
+      wxT("Library Name"),
+      wxDefaultPosition,
+      wxDefaultSize,
+      wxALIGN_LEFT
+    );
+
+  includesLibGridSizer->Add(ChBTitle1, 1, wxEXPAND);
+  includesLibGridSizer->Add(LNmTitle1, 1, wxEXPAND);
+
+  for (std::map<std::string, bool>::iterator it = inclusionsLibs.begin(); it != inclusionsLibs.end(); ++it) {
+    wxCheckBox* ChBIncl = new wxCheckBox(
+        includesPanel, ID_CHECK_INCLUDE_LIBRARY, wxT(""), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT
+      );
+    ChBIncl->SetToolTip(crea::std2wx(
+        "When this box is checked the " + it->first + " custom\n"
+        "library is included in the project configuration for\n"
+        "this library including the following code in the\n"
+        "library's CMakeLists.txt file:\n"
+        "INCLUDE_DIRECTORIES (\n"
+        "  ../"+ it->first + "\n"
+        ")\n"
+        "SET ( ${LIBRARY_NAME}_LINK_LIBRARIES\n"
+        "  " + it->first+ "\n"
+        ")"));
+    ChBIncl->SetName(crea::std2wx(it->first));
+    ChBIncl->SetValue(it->second);
+    includesLibGridSizer->Add(ChBIncl, 1, wxEXPAND);
+
+    wxStaticText* LNmIncl = new wxStaticText(includesPanel, wxID_ANY, crea::std2wx(it->first));
+    includesLibGridSizer->Add(LNmIncl, 1, wxEXPAND);
+  }
+
+  includesLibGridSizer->AddGrowableCol(1,1);
+
+  includesPanelSizer->Add(includesLibGridSizer, 0, wxEXPAND | wxLEFT, 5);
+
+  includesPanel->SetSizer(includesPanelSizer);
+  includesPanelSizer->Fit(includesPanel);
+
+  includesPanel->FitInside();
+  includesPanel->SetScrollRate(5,5);
+
+  includesBox->Add(includesPanel, 1, wxEXPAND);
+  sizer -> Add(includesBox, 0, wxALL | wxEXPAND, 10);
+
+
+
+  //Actions
+  wxStaticBoxSizer* actionsBox = new wxStaticBoxSizer(wxHORIZONTAL, this, wxT("&Actions"));
+  wxPanel* actionsPanel = new wxPanel(this);
+  wxBoxSizer* actionsPanelSizer = new wxBoxSizer(wxHORIZONTAL);
+
+  //actionsGrid Sizer
+  wxFlexGridSizer* actionsGridSizer = new wxFlexGridSizer(2, 2, 9, 15);
+
+  wxButton* createClassbt = new wxButton(actionsPanel, ID_BUTTON_CREATE_CLASS, _T("A. Create Class"));
+  createClassbt->SetToolTip(wxT("Create a new class for this library."));
+  actionsGridSizer->Add(createClassbt, 1, wxALL | wxEXPAND, 5);
+  wxButton* openFolderbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_FOLDER, _T("B. Open Library Folder"));
+  openFolderbt->SetToolTip(wxT("Open the library folder in the file explorer."));
+  actionsGridSizer->Add(openFolderbt, 1, wxALL | wxEXPAND, 5);
+  wxButton* editCMakebt = new wxButton(actionsPanel, ID_BUTTON_EDIT_CMAKELISTSFILE, _T("Edit CMakeLists File"));
+  editCMakebt->SetToolTip(wxT("Edit the CMakeLists.txt of this library in the default text editor."));
+  editCMakebt->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMLibraryDescriptionPanel::OnCMakeMouseEnter,NULL,this);
+  editCMakebt->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMLibraryDescriptionPanel::OnCMakeMouseExit,NULL,this);
+  actionsGridSizer->Add(editCMakebt, 1, wxALL | wxEXPAND, 5);
+  wxButton* createFolderbt = new wxButton(actionsPanel, ID_BUTTON_CREATE_FOLDER, _T("Create Folder"));
+  createFolderbt->SetToolTip(wxT("Create a new folder for this library."));
+  actionsGridSizer->Add(createFolderbt, 1, wxALL | wxEXPAND, 5);
+
+  actionsGridSizer->AddGrowableCol(0,1);
+  actionsGridSizer->AddGrowableCol(1,1);
+
+  actionsPanelSizer->Add(actionsGridSizer, 1, wxEXPAND, 0);
+  actionsPanel->SetSizer(actionsPanelSizer);
+  actionsPanelSizer->Fit(actionsPanel);
+  actionsBox->Add(actionsPanel, 1, wxEXPAND);
+  sizer -> Add(actionsBox, 0, wxALL | wxEXPAND, 10);
+
+  //Assign sizer
+  SetSizer(sizer);
+  sizer->SetSizeHints(this);
+
+  if (((wxCDMMainFrame*)this->GetParent())->isHelp())
+    {
+      wxCDMLibraryHelpDialog* helpDialog = new wxCDMLibraryHelpDialog(this->GetParent(), this->library, wxID_ANY);
+      helpDialog->Show(true);
+    }
+}
+
+void wxCDMLibraryDescriptionPanel::OnBtnReturn(wxHyperlinkEvent& event)
+{
+  std::vector<modelCDMIProjectTreeNode*> parents = this->library->GetParents();
+    std::string parentURL = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+    //std::cout << parentURL << std::endl;
+    for (int i = 0; i < (int)(parents.size()); i++)
+      {
+        if (parents[i]->GetPath() == parentURL)
+          {
+            wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+            newEvent->SetClientData(parents[i]);
+            newEvent->SetId(0);
+            wxPostEvent(this->GetParent(), *newEvent);
+          }
+      }
+}
+
+void wxCDMLibraryDescriptionPanel::OnBtnSetExeName(wxCommandEvent& event)
+{
+  //get name
+  wxString versionWx = wxGetTextFromUser(
+      wxT("Enter the new executable name"),
+      wxT("Change Library Name - creaDevManager"),
+      crea::std2wx(this->library->GetNameLibrary())
+  );
+  //check name
+  std::vector<std::string> parts;
+  CDMUtilities::splitter::split(parts, crea::wx2std(versionWx), " .", CDMUtilities::splitter::no_empties);
+  if(parts.size() > 0)
+    {
+      std::string* result;
+      if(!this->library->SetNameLibrary(crea::wx2std(versionWx), result))
+        wxMessageBox(crea::std2wx(*result),_T("Change Library Name - Error!"),wxOK | wxICON_ERROR);
+    }
+  else
+    {
+      wxMessageBox(crea::std2wx("No name specified"),_T("Set Library Name - Error!"),wxOK | wxICON_ERROR);
+    }
+  this->libraryNametc->SetLabel(crea::std2wx(this->library->GetNameLibrary()));
+}
+
+void wxCDMLibraryDescriptionPanel::On3rdLibraryChBChange(wxCommandEvent& event)
+{
+  if(this->library->Set3rdPartyLibrary(crea::wx2std(((wxCheckBox*)event.GetEventObject())->GetName()), ((wxCheckBox*)event.GetEventObject())->GetValue()))
+    ((wxCheckBox*)event.GetEventObject())->SetValue(((wxCheckBox*)event.GetEventObject())->GetValue());
+  else
+    ((wxCheckBox*)event.GetEventObject())->SetValue(!((wxCheckBox*)event.GetEventObject())->GetValue());
+}
+
+void wxCDMLibraryDescriptionPanel::OnLibraryChBChange(wxCommandEvent& event)
+{
+  if(this->library->SetCustomLibrary(crea::wx2std(((wxCheckBox*)event.GetEventObject())->GetName()), ((wxCheckBox*)event.GetEventObject())->GetValue()))
+      ((wxCheckBox*)event.GetEventObject())->SetValue(((wxCheckBox*)event.GetEventObject())->GetValue());
+    else
+      ((wxCheckBox*)event.GetEventObject())->SetValue(!((wxCheckBox*)event.GetEventObject())->GetValue());
+}
+
+void wxCDMLibraryDescriptionPanel::OnBtnCreateClass(wxCommandEvent& event)
+{
+  //get class name from user
+  wxTextEntryDialog* newClassDlg = new wxTextEntryDialog(
+      this,
+      wxT("Please enter the new class name."),
+      wxT("New Class - creaDevManager"),
+      wxT(""),
+      wxOK | wxCANCEL
+  );
+
+  if (newClassDlg->ShowModal() == wxID_OK)
+    {
+      std::string className = crea::wx2std(newClassDlg->GetValue());
+      //check class name
+      if(className.size() > 0)
+        {
+          if(!this->library->CreateClass(className))
+            wxMessageBox(crea::std2wx("Something has gone wrong with the creation of the class."),_T("New Class - Error!"),wxOK | wxICON_ERROR);
+
+          ((wxCDMMainFrame*)this->GetParent())->RefreshProject();
+
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+          newEvent->SetId(0);
+          newEvent->SetClientData(this->library);
+          wxPostEvent(this->GetParent(), *newEvent);
+
+          wxMessageBox(crea::std2wx("The class has been created successfully."),_T("New Class - Success"),wxOK | wxICON_INFORMATION);
+        }
+      else
+        {
+          wxMessageBox(crea::std2wx("The new class name cannot be empty."),_T("New Class - Error!"),wxOK | wxICON_ERROR);
+        }
+    }
+}
+
+void wxCDMLibraryDescriptionPanel::OnBtnCreateFolder(wxCommandEvent& event)
+{
+  //get name
+  wxString folderName = wxGetTextFromUser(
+      wxT("Enter the name of the new folder:"),
+      wxT("Create Folder - creaDevManager")
+  );
+  //check name
+  std::vector<std::string> parts;
+  CDMUtilities::splitter::split(parts, crea::wx2std(folderName), " /\\\"", CDMUtilities::splitter::no_empties);
+  if(parts.size() > 0)
+    {
+      std::string* result;
+      modelCDMFolder* folderC = this->library->CreateFolder(crea::wx2std(folderName), result);
+      if(folderC == NULL)
+        {
+          wxMessageBox(crea::std2wx(*result),_T("Create Folder - Error!"),wxOK | wxICON_ERROR);
+          return;
+        }
+      ((wxCDMMainFrame*)this->GetParent())->RefreshProject();
+      wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+      newEvent->SetClientData(folderC);
+      wxPostEvent(this->GetParent(), *newEvent);
+      wxMessageBox(crea::std2wx("The folder was successfully created"),_T("Create Folder - Success"),wxOK | wxICON_INFORMATION);
+    }
+  else
+    {
+      wxMessageBox(crea::std2wx("No name specified"),_T("Create Folder - Error!"),wxOK | wxICON_ERROR);
+    }
+}
+
+void wxCDMLibraryDescriptionPanel::OnBtnEditCMakeLists(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->library->OpenCMakeListsFile(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->library->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->library->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+
+  event.Skip();
+}
+
+void wxCDMLibraryDescriptionPanel::OnBtnOpenFolder(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->library->OpenInFileExplorer(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open Folder - Error!"),wxOK | wxICON_ERROR);
+}
+
+void wxCDMLibraryDescriptionPanel::OnCMakeMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+  if(this->library->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->library->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMLibraryDescriptionPanel::OnCMakeMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->library->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->library->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
diff --git a/lib/creaDevManagerLib/wxCDMLibraryDescriptionPanel.h b/lib/creaDevManagerLib/wxCDMLibraryDescriptionPanel.h
new file mode 100644
index 0000000..0fcc262
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMLibraryDescriptionPanel.h
@@ -0,0 +1,167 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMLibraryDescriptionPanel.h
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMLIBRARYDESCRIPTIONPANEL_H_
+#define WXCDMLIBRARYDESCRIPTIONPANEL_H_
+
+#include <creaWx.h>
+#include <wx/hyperlink.h>
+
+#include "modelCDMLibrary.h"
+
+/**
+ * Library description panel. Shows the available actions on the described library.
+ */
+class wxCDMLibraryDescriptionPanel : public wxScrolledWindow
+{
+  DECLARE_EVENT_TABLE()
+public:
+
+  /**
+   * Library description panel Constructor.
+   * @param parent Parent window reference.
+   * @param library Project class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+  wxCDMLibraryDescriptionPanel(
+      wxWindow* parent,
+      modelCDMLibrary* library,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Destructor.
+   */
+  ~wxCDMLibraryDescriptionPanel();
+
+  /**
+   * Library description panel Creator.
+   * @param parent Parent window reference.
+   * @param library Project class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   * @return True if creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      modelCDMLibrary* library,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Creates all the controls in the panel (property and action controls).
+   */
+  void CreateControls();
+
+private:
+  /**
+   * Library described.
+   */
+  modelCDMLibrary* library;
+  /**
+   * Control with the described library name.
+   */
+  wxStaticText* libraryNametc;
+
+  //handlers
+protected:
+  /**
+   * Handles when a return link is pressed.
+   * @param event Has the link reference to know where to return
+   */
+  void OnBtnReturn(wxHyperlinkEvent& event);
+  /**
+   * Handles when the set executable name button is pressed.
+   * @param event Unused.
+   */
+  void OnBtnSetExeName(wxCommandEvent& event);
+  /**
+   * Handles when a 3rd Party Library checkbox state is changed. It calls to include/exclude the selected library.
+   * @param event CheckBox event.
+   */
+  void On3rdLibraryChBChange(wxCommandEvent& event);
+  /**
+   * Handles when a Custom Library checkbox state is changed. It calls to include/exclude the selected library.
+   * @param event CheckBox event.
+   */
+  void OnLibraryChBChange(wxCommandEvent& event);
+  /**
+   * Handles when the create class button is pressed.
+   * @param event Unused.
+   */
+  void OnBtnCreateClass(wxCommandEvent& event);
+  /**
+   * Handles when the create folder buttonis pressed.
+   * @param event Unused.
+   */
+  void OnBtnCreateFolder(wxCommandEvent& event);
+  /**
+   * Handles when Edit Cmakelists button is pressed.
+   * @param event Unused.
+   */
+  void OnBtnEditCMakeLists(wxCommandEvent& event);
+  /**
+   * Handles when the open containing folder button is pressed.
+   * @param event Unused.
+   */
+  void OnBtnOpenFolder(wxCommandEvent& event);
+  /**
+   * Handles when the edit cmakelists button is hovered.
+   * @param event Unused.
+   */
+  void OnCMakeMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when the edit cmakelists button exits hover.
+   * @param event Unused.
+   */
+  void OnCMakeMouseExit(wxMouseEvent& event);
+
+};
+
+#endif /* WXCDMLIBRARYDESCRIPTIONPANEL_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMLibraryHelpDialog.cpp b/lib/creaDevManagerLib/wxCDMLibraryHelpDialog.cpp
new file mode 100644
index 0000000..e027d60
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMLibraryHelpDialog.cpp
@@ -0,0 +1,263 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMLibraryHelpDialog.cpp
+ *
+ *  Created on: 11/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMLibraryHelpDialog.h"
+
+#include "creaDevManagerIds.h"
+
+#include "modelCDMLib.h"
+
+BEGIN_EVENT_TABLE(wxCDMLibraryHelpDialog, wxDialog)
+EVT_BUTTON(ID_BUTTON_CANCEL, wxCDMLibraryHelpDialog::OnFinish)
+EVT_BUTTON(ID_BUTTON_OPENPROJECT, wxCDMLibraryHelpDialog::OnCMakeLists)
+EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMLibraryHelpDialog::OnCMakeLists)
+EVT_CHECKBOX(ID_CHECKBOX_DISABLE_HELP, wxCDMLibraryHelpDialog::OnDisableHelp)
+END_EVENT_TABLE()
+
+wxCDMLibraryHelpDialog::wxCDMLibraryHelpDialog(
+    wxWindow* parent,
+    modelCDMLibrary* library,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMLibraryHelpDialog::Create(parent, id, caption, position, size, style);
+  this->library = library;
+}
+
+wxCDMLibraryHelpDialog::~wxCDMLibraryHelpDialog()
+{
+}
+
+bool wxCDMLibraryHelpDialog::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long int style
+)
+{
+  wxDialog::Create(parent, id, caption, position, size, style);
+
+  this->CreateControls();
+
+  return TRUE;
+}
+
+void wxCDMLibraryHelpDialog::CreateControls()
+{
+
+  wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
+
+
+  wxStaticText* title = new wxStaticText(this, wxID_ANY, wxT("Working with Libraries"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);//new wxRichTextCtrl(this,wxID_ANY, wxString("Create a new project"), wxDefaultPosition, wxDefaultSize, wxRE_READONLY);
+  v_sizer1->Add(title, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  wxStaticText* instruction = new wxStaticText(
+      this,
+      wxID_ANY,
+      crea::std2wx(
+          "Libraries are made to expose the projects' main functionalities to the applications and black boxes of the project. "
+          "The functions and classes available in the libraries are the core of any project, thus they should implement important "
+          "tasks such as image processing algorithms or point cloud processing algorithms."
+          "Libraries are stored in the project's lib folder and each library has its own dedicated folder. Inside these folders "
+          "each library has its classes.\n"
+          "\n"
+          "To start developing a library, go ahead and create a new class with the button \"Create Class\" and implement the main "
+          "functionalities of your project inside the created files.\n"
+          "If you need to separate classes in folders you can do it by creating a folder with the \"Create Folder\" button.\n"
+          "Then, in order to include your libraries in the project correctly you must include them in the lib's folder "
+          "\"CMakeLists.txt\" file by using the \"ADD_SUBDIRECTORY([libraryName])\". Also, if you use third party libraries in your "
+          "library you must include them in the library's \"CMakeLists.txt\" file by uncommenting them in the "
+          "\"SET ( ${LIBRARY_NAME}_LINK_LIBRARIES\" command; if you use custom libraries in your library you must also include them "
+          "in the library's \"CMakeLists.txt\" file by including them in the \"SET ( ${LIBRARY_NAME}_LINK_LIBRARIES\" command. Or, "
+          "if you create additional folders in your library you must include them in the library's \"CMakeLists.txt\" file by using "
+          "the \"ADD_SUBDIRECTORY([folderName])\" command.\n"
+          "\n"
+          "You can easily edit the CMakeLists files previously mentioned by clicking on the following buttons."),
+          wxDefaultPosition,
+          wxDefaultSize,
+          wxALIGN_LEFT
+  );
+  v_sizer1->Add(instruction, 0,wxEXPAND | wxALL, 5);
+
+  wxButton* editCMakeLibraryBtn = new wxButton(this, ID_BUTTON_EDIT_CMAKELISTSFILE, wxT("Open Library's directory CMakeLists file"));
+  editCMakeLibraryBtn->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMLibraryHelpDialog::OnCMakeListsEnter,NULL,this);
+  editCMakeLibraryBtn->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMLibraryHelpDialog::OnCMakeListsExit,NULL,this);
+  wxButton* editCMakeLibBtn= new wxButton(this, ID_BUTTON_OPENPROJECT, wxT("Open Lib's directory CMakeLists file"));
+  editCMakeLibBtn->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMLibraryHelpDialog::OnCMakeListsEnter,NULL,this);
+  editCMakeLibBtn->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMLibraryHelpDialog::OnCMakeListsExit,NULL,this);
+
+  v_sizer1->Add(editCMakeLibraryBtn, 0, wxEXPAND | wxLEFT | wxRIGHT, 15);
+  v_sizer1->Add(editCMakeLibBtn, 0, wxEXPAND | wxLEFT | wxRIGHT, 15);
+
+  v_sizer1->Add(new wxCheckBox(this, ID_CHECKBOX_DISABLE_HELP, wxT("&Disable help")), 0, wxALIGN_RIGHT | wxRIGHT, 10);
+
+  v_sizer1->Add(new wxButton(this, ID_BUTTON_CANCEL, wxT("Close")), 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM | wxALIGN_CENTER_VERTICAL, 30);
+
+  SetSizer(v_sizer1);
+  //v_sizer1->RecalcSizes();
+}
+
+void wxCDMLibraryHelpDialog::OnFinish(wxCommandEvent& event)
+{
+  this->EndDialog(wxID_CANCEL);
+}
+
+void wxCDMLibraryHelpDialog::OnCMakeLists(wxCommandEvent& event)
+{
+  std::string* result;
+
+  if((int)((wxButton*)event.GetEventObject())->GetId() == (int)ID_BUTTON_EDIT_CMAKELISTSFILE)
+    {
+
+      if(!this->library->OpenCMakeListsFile(result))
+        wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+      wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+      if(this->library->GetCMakeLists() != NULL)
+        {
+          newEvent->SetClientData(this->library->GetCMakeLists());
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+  else if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_OPENPROJECT)
+    {
+      modelCDMIProjectTreeNode* node = this->library;
+      while (node != NULL && dynamic_cast<modelCDMLib*>(node) == NULL)
+        {
+          node = node->GetParent();
+        }
+      if (node != NULL)
+        {
+          if(!((modelCDMLib*)node)->OpenCMakeListsFile(result))
+            wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+          if(((modelCDMLib*)node)->GetCMakeLists() != NULL)
+            {
+              newEvent->SetClientData(((modelCDMLib*)node)->GetCMakeLists());
+              newEvent->SetId(0);
+              wxPostEvent(this->GetParent(), *newEvent);
+            }
+        }
+      else
+        {
+          wxMessageBox(crea::std2wx("No project CMakeLists file was found."),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+        }
+    }
+}
+
+void wxCDMLibraryHelpDialog::OnCMakeListsEnter(wxMouseEvent& event)
+{
+  if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_EDIT_CMAKELISTSFILE)
+    {
+      wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+      if(this->library->GetCMakeLists() != NULL)
+        {
+          newEvent->SetClientData(this->library->GetCMakeLists());
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+  else if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_OPENPROJECT)
+    {
+      modelCDMIProjectTreeNode* node = this->library;
+      while (node != NULL && dynamic_cast<modelCDMLib*>(node) == NULL)
+        {
+          node = node->GetParent();
+        }
+      if (node != NULL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+          if(((modelCDMLib*)node)->GetCMakeLists() != NULL)
+            {
+              newEvent->SetClientData(((modelCDMLib*)node)->GetCMakeLists());
+              newEvent->SetId(0);
+              wxPostEvent(this->GetParent(), *newEvent);
+            }
+        }
+    }
+  event.Skip();
+}
+
+void wxCDMLibraryHelpDialog::OnCMakeListsExit(wxMouseEvent& event)
+{
+  if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_EDIT_CMAKELISTSFILE)
+      {
+        wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+        if(this->library->GetCMakeLists() != NULL)
+          {
+            newEvent->SetClientData(this->library->GetCMakeLists());
+            newEvent->SetId(0);
+            wxPostEvent(this->GetParent(), *newEvent);
+          }
+      }
+    else if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_OPENPROJECT)
+      {
+        modelCDMIProjectTreeNode* node = this->library;
+        while (node != NULL && dynamic_cast<modelCDMLib*>(node) == NULL)
+          {
+            node = node->GetParent();
+          }
+        if (node != NULL)
+          {
+            wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+            if(((modelCDMLib*)node)->GetCMakeLists() != NULL)
+              {
+                newEvent->SetClientData(((modelCDMLib*)node)->GetCMakeLists());
+                newEvent->SetId(0);
+                wxPostEvent(this->GetParent(), *newEvent);
+              }
+          }
+      }
+    event.Skip();
+}
+
+void wxCDMLibraryHelpDialog::OnDisableHelp(wxCommandEvent& event)
+{
+  wxPostEvent(this->GetParent(), event);
+}
diff --git a/lib/creaDevManagerLib/wxCDMLibraryHelpDialog.h b/lib/creaDevManagerLib/wxCDMLibraryHelpDialog.h
new file mode 100644
index 0000000..f475b50
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMLibraryHelpDialog.h
@@ -0,0 +1,140 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * wxCDMLibraryHelpDialog.h
+ *
+ *  Created on: 11/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMLIBRARYHELPDIALOG_H_
+#define WXCDMLIRBARYHELPDIALOG_H_
+
+#include <creaWx.h>
+#include <wx/dialog.h>
+
+#include "modelCDMLibrary.h"
+
+#include <vector>
+
+/**
+ * Library Panel Help Dialog
+ */
+class wxCDMLibraryHelpDialog : public wxDialog
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Library Panel Help Dialog Constructor.
+   * @param parent Parent window.
+   * @param library Library class reference.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Working with Libraries".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 410, 650.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   */
+  wxCDMLibraryHelpDialog(
+      wxWindow* parent,
+      modelCDMLibrary* library,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Working With Libraries"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(410,650),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMLibraryHelpDialog();
+  /**
+   * Library Panel Help Dialog Creator.
+   * @param parent Parent window.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Working with Libraries".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 410, 650.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   * @return if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Working With Libraries"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(410,650),
+      long style = wxDEFAULT_DIALOG_STYLE
+  );
+
+protected:
+  /**
+   * Creates the help controls (text and buttons).
+   */
+  void CreateControls();
+
+private:
+  /**
+   * Library class reference.
+   */
+  modelCDMLibrary* library;
+
+//handlers
+protected:
+  /**
+   * Handler to close help dialog.
+   * @param event Unused.
+   */
+  void OnFinish(wxCommandEvent& event);
+
+  /**
+   * Handler when a cmakelists button is pressed.
+   * @param event cmakelists event.
+   */
+  void OnCMakeLists(wxCommandEvent& event);
+
+  /**
+   * Handler when a cmakelists button is hovered.
+   * @param event cmakelists event.
+   */
+  void OnCMakeListsEnter(wxMouseEvent& event);
+
+  /**
+   * Handler when a cmakelists button hover finishes.
+   * @param event cmakelists event.
+   */
+  void OnCMakeListsExit(wxMouseEvent& event);
+
+  /**
+   * Handler when the disable help checkbox is changed.
+   * @param event check box event.
+   */
+  void OnDisableHelp(wxCommandEvent& event);
+};
+
+#endif /* WXCDMLIRBARYHELPDIALOG_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMMainDescriptionPanel.cpp b/lib/creaDevManagerLib/wxCDMMainDescriptionPanel.cpp
new file mode 100644
index 0000000..dbe66c1
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMMainDescriptionPanel.cpp
@@ -0,0 +1,144 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMMainPanel.cpp
+ *
+ *  Created on: 13/11/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMMainDescriptionPanel.h"
+
+#include "wxCDMMainFrame.h"
+
+#include "wxCDMMainHelpDialog.h"
+
+#include "creaDevManagerIds.h"
+#include "images/CIcon64.xpm"
+
+BEGIN_EVENT_TABLE(wxCDMMainDescriptionPanel, wxPanel)
+EVT_MENU(ID_MENU_NEW_PROJECT, wxCDMMainDescriptionPanel::OnBtnNewProject)
+EVT_MENU(ID_MENU_OPEN_PROJECT, wxCDMMainDescriptionPanel::OnBtnOpenProject)
+
+END_EVENT_TABLE()
+
+wxCDMMainDescriptionPanel::wxCDMMainDescriptionPanel(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMMainDescriptionPanel::Create(parent, id, caption, pos, size, style);
+}
+
+wxCDMMainDescriptionPanel::~wxCDMMainDescriptionPanel()
+{
+}
+
+bool wxCDMMainDescriptionPanel::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxPanel::Create(parent, id, pos, size, style);
+  CreateControls();
+  //to scroll
+  this->FitInside(); // ask the sizer about the needed size
+  this->SetScrollRate(5, 5);
+
+  
+  return TRUE;
+}
+
+void wxCDMMainDescriptionPanel::CreateControls()
+{
+  wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+
+  //Header
+  wxBoxSizer* headerSizer = new wxBoxSizer(wxHORIZONTAL);
+  {
+    //Image
+    headerSizer->Add(new wxStaticBitmap(this, -1, wxBitmap(CIcon64)),0, wxALIGN_CENTER, 0);
+    wxBoxSizer* textSizer = new wxBoxSizer(wxVERTICAL);
+    //Title
+    textSizer->Add(new wxStaticText(this, -1, _("Welcome")),0, wxALIGN_LEFT, 0);
+    //Application Name
+    textSizer->Add(new wxStaticText(this, -1, crea::std2wx("Crea Development Manager")),0, wxALIGN_LEFT, 0);
+    headerSizer->Add(textSizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
+  }
+  sizer->Add(headerSizer, 0, wxALIGN_CENTER | wxUP, 10);
+
+  //Actions
+  wxStaticBoxSizer* actionsBox = new wxStaticBoxSizer(wxHORIZONTAL, this, wxT("&Actions"));
+  actionsBox->GetStaticBox()->SetToolTip(wxT("Create a new crea project or open an existing one selection any of the available actions."));
+  //wxPanel* actionsPanel = new wxPanel(this);
+  //wxBoxSizer* actionsPanelSizer = new wxBoxSizer(wxHORIZONTAL);
+
+  wxButton* newProjectbt = new wxButton(this, ID_BUTTON_NEWPROJECT, _T("New Project"));
+  newProjectbt->SetToolTip(wxT("Create a new crea project."));
+  actionsBox->Add(newProjectbt, 0, wxALL, 20);
+  wxButton* openProjectbt = new wxButton(this, ID_BUTTON_OPENPROJECT, _T("Open Project (source/binaries)"));
+  openProjectbt->SetToolTip(wxT("Open an existing crea project from its binaries or its sources."));
+  actionsBox->Add(openProjectbt, 0, wxALL, 20);
+
+  //actionsPanel->SetSizer(actionsPanelSizer);
+  //actionsPanelSizer->Fit(actionsPanel);
+
+  //actionsBox->Add(actionsPanel, 0,wxEXPAND | wxALIGN_CENTER | wxALL, 10);
+  sizer -> Add(actionsBox, 0, wxALIGN_CENTER | wxALL, 20);
+
+  //Asign sizer
+  sizer->SetSizeHints(this);
+  SetSizer(sizer);
+  sizer->Fit(this);
+  if(((wxCDMMainFrame*)this->GetParent())->isHelp())
+    {
+      wxDialog* helpDialog = new wxCDMMainHelpDialog(this->GetParent(), this, wxID_ANY);
+      helpDialog->Show(true);
+    }
+
+}
+
+void wxCDMMainDescriptionPanel::OnBtnNewProject(wxCommandEvent& event)
+{
+  event.Skip();
+}
+
+void wxCDMMainDescriptionPanel::OnBtnOpenProject(wxCommandEvent& event)
+{
+  event.Skip();
+}
+
diff --git a/lib/creaDevManagerLib/wxCDMMainDescriptionPanel.h b/lib/creaDevManagerLib/wxCDMMainDescriptionPanel.h
new file mode 100644
index 0000000..08490f7
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMMainDescriptionPanel.h
@@ -0,0 +1,106 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * wxCDMMainDescriptionPanel.h
+ *
+ *  Created on: 13/11/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMMAINDESCRIPTIONPANEL_H_
+#define WXCDMMAINDESCRIPTIONPANEL_H_
+
+#include <creaWx.h>
+/**
+ * Main View description panel. Shows the welcome message and allows to open or create Crea projects.
+ */
+class wxCDMMainDescriptionPanel : public wxScrolledWindow
+{
+  DECLARE_EVENT_TABLE()
+
+public:
+  /**
+   * Main description panel Constructor.
+   * @param parent Parent window reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+    wxCDMMainDescriptionPanel(
+        wxWindow* parent,
+        wxWindowID id = -1,
+        const wxString& caption = _("Description Frame"),
+        const wxPoint& pos = wxDefaultPosition,
+        const wxSize& size = wxDefaultSize,
+        long style = wxDEFAULT_FRAME_STYLE
+    );
+
+    /**
+     * Destructor.
+     */
+    ~wxCDMMainDescriptionPanel();
+
+    /**
+     * Main description panel Constructor.
+     * @param parent Parent window reference.
+     * @param id Panel ID. By default -1.
+     * @param caption Panel label. By default "Description Frame".
+     * @param pos Panel position. By default wxDefaultPosition.
+     * @param size Panel size. By default wxDefaultSize.
+     * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+     */
+    bool Create(
+        wxWindow* parent,
+        wxWindowID id = -1,
+        const wxString& caption = _("Description Frame"),
+        const wxPoint& pos = wxDefaultPosition,
+        const wxSize& size = wxDefaultSize,
+        long style = wxDEFAULT_FRAME_STYLE
+    );
+
+    /**
+     * Creates all the controls in the panel (property and action controls).
+     */
+    void CreateControls();
+
+//handlers
+protected:
+    /**
+     * Handles when the create new project button is pressed.
+     */
+    void OnBtnNewProject(wxCommandEvent& event);
+    /**
+     * Handles when the open project button is pressed.
+     */
+    void OnBtnOpenProject(wxCommandEvent& event);
+};
+
+#endif /* WXCDMMAINDESCRIPTIONPANEL_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMMainFrame.cpp b/lib/creaDevManagerLib/wxCDMMainFrame.cpp
new file mode 100755
index 0000000..41052d4
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMMainFrame.cpp
@@ -0,0 +1,1259 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+#include "wxCDMMainFrame.h"
+
+#include <iostream>
+#include <sstream>
+
+#include <creaWx.h>
+#include "creaSystem.h"
+#include "wx/treectrl.h"
+#include "wx/treebase.h"
+#include "wx/tooltip.h"
+#include "wx/wxhtml.h"
+#include "wx/statline.h"
+#include "wx/config.h"
+#include "CDMUtilities.h"
+#include "images/CIcon64.xpm"
+
+#include "creaDevManagerIds.h"
+#include "wxCDMMainDescriptionPanel.h"
+#include "wxCDMProjectDescriptionPanel.h"
+#include "wxCDMAppliDescriptionPanel.h"
+#include "wxCDMApplicationDescriptionPanel.h"
+#include "wxCDMLibDescriptionPanel.h"
+#include "wxCDMLibraryDescriptionPanel.h"
+#include "wxCDMPackageDescriptionPanel.h"
+#include "wxCDMBlackBoxDescriptionPanel.h"
+#include "wxCDMBBSFileDescriptionPanel.h"
+#include "wxCDMBBGFileDescriptionPanel.h"
+#include "wxCDMCodeFileDescriptionPanel.h"
+#include "wxCDMCMakeListsDescriptionPanel.h"
+#include "wxCDMFolderDescriptionPanel.h"
+#include "wxCDMFileDescriptionPanel.h"
+#include "wxCDMPackageManagerPanel.h"
+#include "wxCDMProjectMapDialog.h"
+
+#include "wxCDMSettingsDialog.h"
+
+#include "wxCDMProjectActionsPanel.h"
+#include "wxCDMNewProjectDialog.h"
+
+
+
+BEGIN_EVENT_TABLE(wxCDMMainFrame, wxFrame)
+EVT_MENU_OPEN(wxCDMMainFrame::OnMenuBarOpen)
+EVT_MENU(ID_MENU_NEW_PROJECT, wxCDMMainFrame::OnMenuNewProject)
+EVT_MENU(ID_MENU_OPEN_PROJECT, wxCDMMainFrame::OnMenuOpenProject)
+EVT_MENU(ID_MENU_OPEN_RECENT1, wxCDMMainFrame::OnMenuOpenRecent)
+EVT_MENU(ID_MENU_OPEN_RECENT2, wxCDMMainFrame::OnMenuOpenRecent)
+EVT_MENU(ID_MENU_OPEN_RECENT3, wxCDMMainFrame::OnMenuOpenRecent)
+EVT_MENU(ID_MENU_OPEN_RECENT4, wxCDMMainFrame::OnMenuOpenRecent)
+EVT_MENU(ID_MENU_OPEN_RECENT5, wxCDMMainFrame::OnMenuOpenRecent)
+EVT_MENU(ID_MENU_CLOSE_PROJECT, wxCDMMainFrame::OnMenuCloseProject)
+EVT_MENU(ID_MENU_EXPORT_HIERARCHY, wxCDMMainFrame::OnMenuExportHierarchy)
+EVT_MENU(ID_MENU_EXIT, wxCDMMainFrame::OnMenuExit)
+EVT_MENU(ID_MENU_REFRESH_PROJECT, wxCDMMainFrame::OnMenuRefreshProject)
+EVT_MENU(ID_MENU_SETTINGS, wxCDMMainFrame::OnMenuSettings)
+EVT_MENU(ID_MENU_BBTK_GRAPHICAL_EDITOR, wxCDMMainFrame::OnMenuBBTKGraphicalEditor)
+EVT_MENU(ID_MENU_MINITOOLS, wxCDMMainFrame::OnMenuMiniTools)
+EVT_MENU(ID_MENU_CODE_EDITOR, wxCDMMainFrame::OnMenuCodeEditor)
+EVT_MENU(ID_MENU_COMMAND_LINE, wxCDMMainFrame::OnMenuCommandLine)
+EVT_MENU(ID_MENU_TOGGLE_HELP, wxCDMMainFrame::OnMenuToggleHelp)
+EVT_MENU(ID_MENU_HELP, wxCDMMainFrame::OnMenuHelp)
+EVT_MENU(ID_MENU_SHOW_PROJECT_MAP, wxCDMMainFrame::OnMenuShowProjectMap)
+EVT_MENU(ID_MENU_REPORT_BUG, wxCDMMainFrame::OnMenuReportBug)
+EVT_MENU(ID_MENU_ABOUT_CREADEVMANAGER, wxCDMMainFrame::OnMenuAboutCreaDevManager)
+EVT_MENU(ID_MENU_ABOUT_CREATIS, wxCDMMainFrame::OnMenuAboutCreatis)
+
+EVT_BUTTON(ID_BUTTON_NEWPROJECT, wxCDMMainFrame::OnMenuNewProject)
+EVT_BUTTON(ID_BUTTON_OPENPROJECT, wxCDMMainFrame::OnMenuOpenProject)
+
+EVT_TREE_SEL_CHANGED(ID_TREE_PROJECTS, wxCDMMainFrame::OnTreeSelectionChanged)
+
+EVT_COMMAND(wxID_ANY, wxEVT_DISPLAY_CHANGED, wxCDMMainFrame::OnChangeView)
+EVT_COMMAND(wxID_ANY, wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCDMMainFrame::OnElementSelected)
+EVT_COMMAND(wxID_ANY, wxEVT_COMMAND_LISTBOX_SELECTED, wxCDMMainFrame::OnElementDeselected)
+
+
+EVT_CHECKBOX(ID_CHECKBOX_DISABLE_HELP, wxCDMMainFrame::OnDisableHelp)
+END_EVENT_TABLE()
+
+wxCDMMainFrame::wxCDMMainFrame(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  this->menu_File = NULL;
+  this->menu_Edit = NULL;
+  this->menu_Tools = NULL;
+  this->menu_Help = NULL;
+  this->panel_Properties = NULL;
+  this->panel_ProjectActions = NULL;
+  this->tree_Projects = NULL;
+  Create(parent, id, caption, pos, size, style);
+}
+
+wxCDMMainFrame::~wxCDMMainFrame()
+{
+  wxConfigBase* pConfig = wxConfigBase::Get();
+  pConfig->Write(wxT("HELP"), this->help);
+
+  auiManager.UnInit();
+}
+
+bool wxCDMMainFrame::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxFrame::Create(parent, id, caption, pos, size, style);
+  this->help = true;
+
+  wxConfigBase* pConfig = wxConfigBase::Get();
+  this->help = pConfig->Read(wxT("HELP"), this->help) != 0;
+
+  this->model = new modelCDMMain();
+
+  CreateMenus();
+  CreateControls();
+  this->SetIcon(wxIcon(CIcon64));
+  return TRUE;
+}
+
+modelCDMMain* wxCDMMainFrame::GetModel() const
+{
+  return this->model;
+}
+
+wxPanel* wxCDMMainFrame::GetPropertiesPanel() const
+{
+  return this->panel_Properties;
+}
+
+bool wxCDMMainFrame::isHelp() const
+{
+  return this->help;
+}
+
+void wxCDMMainFrame::RefreshProject()
+{
+  std::string* result;
+  std::cout << "refreshing project" << std::endl;
+  this->model->RefreshProject(result);
+  std::cout << "rebuilding project tree" << std::endl;
+  this->tree_Projects->BuildTree(this->model->GetModelElements(), this->model->GetProject());
+  this->tree_Projects->Unselect();
+  this->actualTreeItem.Unset();
+}
+
+void wxCDMMainFrame::CreateMenus()
+{
+  wxMenuBar* menuBar = new wxMenuBar;
+
+  //Recently opened projects
+  menu_Recent = new wxMenu();
+  wxConfigBase* pConfig = wxConfigBase::Get();
+  std::string rp = crea::wx2std(pConfig->Read(wxT("RECENT1"), wxT("")));
+  if(rp != "")
+    {
+      menu_Recent->Append(ID_MENU_OPEN_RECENT1, crea::std2wx(rp));
+      rp = crea::wx2std(pConfig->Read(wxT("RECENT2"), wxT("")));
+      if(rp != "")
+        {
+          menu_Recent->Append(ID_MENU_OPEN_RECENT2, crea::std2wx(rp));
+          rp = crea::wx2std(pConfig->Read(wxT("RECENT3"), wxT("")));
+          if(rp != "")
+            {
+              menu_Recent->Append(ID_MENU_OPEN_RECENT3, crea::std2wx(rp));
+              rp = crea::wx2std(pConfig->Read(wxT("RECENT4"), wxT("")));
+              if(rp != "")
+                {
+                  menu_Recent->Append(ID_MENU_OPEN_RECENT4, crea::std2wx(rp));
+                  rp = crea::wx2std(pConfig->Read(wxT("RECENT5"), wxT("")));
+                  if(rp != "")
+                    {
+                      menu_Recent->Append(ID_MENU_OPEN_RECENT5, crea::std2wx(rp));
+                    }
+                }
+            }
+        }
+    }
+
+  //FileMenu
+  menu_File = new wxMenu();
+  menu_File->Append(ID_MENU_NEW_PROJECT, wxT("&New Project..."));
+  menu_File->Append(ID_MENU_OPEN_PROJECT, wxT("&Open Project..."));
+  menu_File->AppendSubMenu(menu_Recent,wxT("Open &Recent"),wxT("Open a recently opened project."));
+  menu_File->AppendSeparator();
+  menu_File->Append(ID_MENU_CLOSE_PROJECT, wxT("&Close Project"));
+  menu_File->AppendSeparator();
+  menu_File->Append(ID_MENU_EXPORT_HIERARCHY, wxT("&Export Project Hierarchy..."));
+  menu_File->AppendSeparator();
+  menu_File->Append(ID_MENU_EXIT, wxT("E&xit"));
+
+  menuBar->Append(menu_File, wxT("&File"));
+
+  //EditMenu
+  menu_Edit = new wxMenu();
+  menu_Edit->Append(ID_MENU_REFRESH_PROJECT, wxT("&Refresh Project"));
+  menu_Edit->Append(ID_MENU_SETTINGS, wxT("&Settings"));
+
+  menuBar->Append(menu_Edit, wxT("&Edit"));
+
+  //ToolsMenu
+  menu_Tools = new wxMenu();
+  menu_Tools->Append(ID_MENU_BBTK_GRAPHICAL_EDITOR, wxT("Open BBEditor (BBTK &Graphical Editor)"));
+  menu_Tools->Append(ID_MENU_MINITOOLS, wxT("Open &CreaTools"));
+  menu_Tools->Append(ID_MENU_CODE_EDITOR, wxT("Open Code &Editor"));
+  menu_Tools->Append(ID_MENU_COMMAND_LINE, wxT("Open Command &Line"));
+
+  menuBar->Append(menu_Tools, wxT("&Tools"));
+
+  //HelpMenu
+  menu_Help = new wxMenu();
+  menu_Help->AppendCheckItem(ID_MENU_TOGGLE_HELP, wxT("He&lp Dialogs"));
+  menu_Help->Check(ID_MENU_TOGGLE_HELP, this->help);
+  menu_Help->Append(ID_MENU_SHOW_PROJECT_MAP, wxT("&Show Project Map"));
+  menu_Help->Append(ID_MENU_HELP, wxT("&Help"));
+  menu_Help->Append(ID_MENU_REPORT_BUG, wxT("Report &Bug"));
+  menu_Help->Append(ID_MENU_ABOUT_CREADEVMANAGER, wxT("&About CreaDevManager"));
+  menu_Help->Append(ID_MENU_ABOUT_CREATIS, wxT("A&bout CREATIS"));
+
+  menuBar->Append(menu_Help, wxT("&Help"));
+
+  //Set Bar
+  SetMenuBar(menuBar);
+
+  wxStatusBar* statusBar = new wxStatusBar(this, ID_STATUS_BAR, wxST_SIZEGRIP);
+  statusBar->SetFieldsCount(1);
+  SetStatusBar(statusBar);
+
+}
+
+void wxCDMMainFrame::CreateControls()
+{
+
+  auiManager.SetManagedWindow(this);
+
+
+  tree_Projects = new wxCDMProjectsTreeCtrl(
+      this,
+      ID_TREE_PROJECTS,
+      wxDefaultPosition,
+      wxSize(200,400),
+	  wxTR_HAS_BUTTONS | wxTR_AQUA_BUTTONS
+  );
+  this->actualTreeItem.Unset();
+
+  panel_Properties = new wxCDMMainDescriptionPanel(
+      this,
+      ID_WINDOW_PROPERTIES,
+      wxT("Description Panel"),
+      wxDefaultPosition,
+      wxSize(400, 600),
+      0
+  );
+
+  auiManager.AddPane(panel_Properties, wxAuiPaneInfo().BestSize(600,400).CenterPane().Name(wxT("panel_Properties")).Caption(wxT("")).CloseButton(false));
+  auiManager.AddPane(tree_Projects, wxAuiPaneInfo().Left().MinSize(250,300).BestSize(250,400).CloseButton(false).Name(wxT("tree_Projects")).Caption(wxT("Project Tree")).CloseButton(false));
+  auiManager.Update();
+  //auiManager.LoadPerspective(pers,true);
+  wxToolTip::Enable(true);
+  wxToolTip::SetDelay(0);
+}
+
+//Event Handlers
+
+void wxCDMMainFrame::OnMenuBarOpen(wxMenuEvent& event)
+{
+  //clean recent menu
+  int tam = menu_Recent->GetMenuItemCount();
+  for (int i = 0; i < tam; ++i) {
+    menu_Recent->Delete(menu_Recent->FindItemByPosition(0));
+  }
+  //populate recent menu
+  wxConfigBase* pConfig = wxConfigBase::Get();
+  std::string rp = crea::wx2std(pConfig->Read(wxT("RECENT1"), wxT("")));
+  if(rp != "")
+    {
+      menu_Recent->Append(ID_MENU_OPEN_RECENT1, crea::std2wx(rp));
+      rp = crea::wx2std(pConfig->Read(wxT("RECENT2"), wxT("")));
+      if(rp != "")
+        {
+          menu_Recent->Append(ID_MENU_OPEN_RECENT2, crea::std2wx(rp));
+          rp = crea::wx2std(pConfig->Read(wxT("RECENT3"), wxT("")));
+          if(rp != "")
+            {
+              menu_Recent->Append(ID_MENU_OPEN_RECENT3, crea::std2wx(rp));
+              rp = crea::wx2std(pConfig->Read(wxT("RECENT4"), wxT("")));
+              if(rp != "")
+                {
+                  menu_Recent->Append(ID_MENU_OPEN_RECENT4, crea::std2wx(rp));
+                  rp = crea::wx2std(pConfig->Read(wxT("RECENT5"), wxT("")));
+                  if(rp != "")
+                    {
+                      menu_Recent->Append(ID_MENU_OPEN_RECENT5, crea::std2wx(rp));
+                    }
+                }
+            }
+        }
+    }
+}
+
+//File menu
+void wxCDMMainFrame::OnMenuNewProject(wxCommandEvent& event)
+{
+  std::string* result;
+
+  wxCDMNewProjectDialog* dialog = new wxCDMNewProjectDialog(this);
+  long userResponse;
+  userResponse = dialog->ShowModal();
+
+  if(userResponse == wxID_FORWARD)
+    {
+      //close open project
+      if(this->model->GetProject() != NULL)
+        {
+          if(!this->model->CloseProject(result))
+            {
+              std::cout << "error closing project: " << *result << std::endl;
+              wxMessageBox(crea::std2wx(*result),_T("New Project - Error!"),wxOK | wxICON_ERROR);
+              event.Skip();
+              return;
+            }
+
+          if(this->panel_Properties != NULL)
+            {
+              auiManager.DetachPane(this->panel_Properties);
+              this->panel_Properties->Hide();
+            }
+          if(this->panel_ProjectActions != NULL)
+            {
+              auiManager.DetachPane(this->panel_ProjectActions);
+              this->panel_ProjectActions->Hide();    
+            }
+
+        }
+
+      //create project
+      if(!this->model->CreateProject(
+          crea::wx2std(dialog->GetProjectName()),
+          crea::wx2std(dialog->GetProjectLocation()),
+          result,
+          crea::wx2std(dialog->GetPackageAuthor()),
+          crea::wx2std(dialog->GetPackageDescription())
+      ))
+        {
+          std::cout << "error opening project: " << *result << std::endl;
+          wxMessageBox(crea::std2wx(*result),_T("New Project - Error!"),wxOK | wxICON_ERROR);
+          event.Skip();
+          return;
+        }
+      
+      //update recently open projects
+      wxConfigBase* pConfig = wxConfigBase::Get();
+      if(pConfig->Read(wxT("RECENT1"),wxT("")) != crea::std2wx(this->model->GetProject()->GetPath()))
+        {
+          pConfig->Write(wxT("RECENT5"), pConfig->Read(wxT("RECENT4"),wxT("")));
+          pConfig->Write(wxT("RECENT4"), pConfig->Read(wxT("RECENT3"),wxT("")));
+          pConfig->Write(wxT("RECENT3"), pConfig->Read(wxT("RECENT2"),wxT("")));
+          pConfig->Write(wxT("RECENT2"), pConfig->Read(wxT("RECENT1"),wxT("")));
+          pConfig->Write(wxT("RECENT1"), crea::std2wx(this->model->GetProject()->GetPath()));
+        }
+
+
+      //show project actions panel
+      if(this->panel_ProjectActions != NULL)
+        {
+          auiManager.DetachPane(this->panel_Properties);
+          this->panel_ProjectActions->Destroy();
+          this->panel_ProjectActions = NULL;
+        }
+	  
+      panel_ProjectActions = new wxCDMProjectActionsPanel(
+          this,
+          this->model->GetProject(),
+          ID_WINDOW_PROJ_ACTIONS,
+          wxT("Project Actions Panel"),
+          wxDefaultPosition,
+          wxSize(800,200),
+          0
+      );
+      
+      auiManager.AddPane(panel_ProjectActions, wxAuiPaneInfo().Bottom().MinSize(800,50).Name(wxT("panel_ProjectActions")).Caption(wxT("General Project Actions")).BestSize(800,70).CloseButton(false));
+      auiManager.Update();
+
+      //populate tree control
+	  tree_Projects->BuildTree(this->model->GetModelElements(),this->model->GetProject());
+      tree_Projects->Unselect();
+	  this->actualTreeItem.Unset();
+	  tree_Projects->SelectItem(this->model->GetProject()->GetId().GetWxId(), true);
+	  //wxMessageBox(wxT("ProjectSelected") ,_T("New Project - Success!"),wxOK | wxICON_ERROR);
+    }
+}
+void wxCDMMainFrame::OnMenuOpenRecent(wxCommandEvent& event)
+{
+  std::string* result;
+
+  //((wxMenuItem*)(event.GetEventObject()))->GetItemLabel();
+
+  std::string path = "";
+  wxConfigBase* pConfig = wxConfigBase::Get();
+  if(event.GetId() == ID_MENU_OPEN_RECENT1)
+    path = crea::wx2std (pConfig->Read(wxT("RECENT1"),wxT("")));
+  else if(event.GetId() == ID_MENU_OPEN_RECENT2)
+    path = crea::wx2std (pConfig->Read(wxT("RECENT2"),wxT("")));
+  else if(event.GetId() == ID_MENU_OPEN_RECENT3)
+    path = crea::wx2std (pConfig->Read(wxT("RECENT3"),wxT("")));
+  else if(event.GetId() == ID_MENU_OPEN_RECENT4)
+    path = crea::wx2std (pConfig->Read(wxT("RECENT4"),wxT("")));
+  else if(event.GetId() == ID_MENU_OPEN_RECENT5)
+    path = crea::wx2std (pConfig->Read(wxT("RECENT5"),wxT("")));
+
+  std::cout << "Selection to open: " << path << std::endl;
+  std::cout.flush();
+
+
+  //populate model
+  if(this->model->GetProject() != NULL)
+    {
+      std::cout << "Project not null, closing it" << std::endl;
+      if(!this->model->CloseProject(result))
+        {
+          std::cout << "error closing project: " << *result << std::endl;
+          wxMessageBox(crea::std2wx(result->c_str()),_T("New Project - Error!"),wxOK | wxICON_ERROR);
+          event.Skip();
+          return;
+        }
+
+      if(this->panel_Properties != NULL)
+        {
+          auiManager.DetachPane(this->panel_Properties);
+          this->panel_Properties->Hide();
+        }
+      if(this->panel_ProjectActions != NULL)
+        {
+          auiManager.DetachPane(this->panel_ProjectActions);
+          this->panel_ProjectActions->Hide();
+        }
+    }
+
+  if (!this->model->OpenProject(path, result))
+    {
+      std::cout << "error opening project: " << *result << std::endl;
+      wxMessageBox( crea::std2wx(result->c_str()), wxT("Open Project - Error"), wxICON_ERROR);
+      event.Skip();
+      return;
+    };
+
+  //update recently open projects
+  if(pConfig->Read(wxT("RECENT1"),wxT("")) != crea::std2wx(this->model->GetProject()->GetPath()))
+    {
+      pConfig->Write(wxT("RECENT5"), pConfig->Read(wxT("RECENT4"),wxT("")));
+      pConfig->Write(wxT("RECENT4"), pConfig->Read(wxT("RECENT3"),wxT("")));
+      pConfig->Write(wxT("RECENT3"), pConfig->Read(wxT("RECENT2"),wxT("")));
+      pConfig->Write(wxT("RECENT2"), pConfig->Read(wxT("RECENT1"),wxT("")));
+      pConfig->Write(wxT("RECENT1"), crea::std2wx(this->model->GetProject()->GetPath()));
+    }
+
+  std::cout << "building ui" << std::endl;
+
+  //populate tree control
+  tree_Projects->BuildTree(this->model->GetModelElements(), this->model->GetProject());
+  tree_Projects->Unselect();
+  this->actualTreeItem.Unset();
+      tree_Projects->SelectItem(this->model->GetProject()->GetId().GetWxId(), true);
+
+
+  //change project's actions panel
+  if(this->panel_ProjectActions!= NULL)
+    {
+      auiManager.DetachPane(this->panel_ProjectActions);
+      this->panel_ProjectActions->Destroy();
+      this->panel_ProjectActions = NULL;
+    }
+  panel_ProjectActions = new wxCDMProjectActionsPanel(
+      this,
+      this->model->GetProject(),
+      ID_WINDOW_PROJ_ACTIONS,
+      wxT("Project Actions Panel"),
+      wxDefaultPosition,
+      wxSize(800,200),
+      0
+  );
+  panel_ProjectActions->SetMinSize(wxSize(500, 100));
+
+
+  auiManager.AddPane(panel_ProjectActions, wxAuiPaneInfo().Bottom().MinSize(800,50).Name(wxT("panel_ProjectActions")).Caption(wxT("General Project Actions")).BestSize(800,70).CloseButton(false));
+
+  auiManager.Update();
+
+}
+void wxCDMMainFrame::OnMenuOpenProject(wxCommandEvent& event)
+{
+  std::string* result;
+
+  long style = wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST;
+  wxDirDialog* FD = new wxDirDialog(this, wxT("Select the project directory"), wxT(""), style);
+  long userResponse = FD->ShowModal();
+  if(userResponse == wxID_OK)
+    {
+      std::string path = crea::wx2std (FD->GetPath());
+      FD -> Destroy();
+      FD = NULL;
+
+      std::cout << "Selection to open: " << path << std::endl;
+
+
+      //populate model
+      if(this->model->GetProject() != NULL)
+        {
+          std::cout << "Project not null, closing it" << std::endl;
+          if(!this->model->CloseProject(result))
+            {
+              std::cout << "error closing project: " << *result << std::endl;
+              wxMessageBox(crea::std2wx(result->c_str()),_T("New Project - Error!"),wxOK | wxICON_ERROR);
+              event.Skip();
+              return;
+            }
+
+          if(this->panel_Properties != NULL)
+            {
+              auiManager.DetachPane(this->panel_Properties);
+              this->panel_Properties->Hide();
+            }
+          if(this->panel_ProjectActions != NULL)
+            {
+              auiManager.DetachPane(this->panel_ProjectActions);
+              this->panel_ProjectActions->Hide();    
+            }
+        }
+
+      if (!this->model->OpenProject(path, result))
+        {
+          std::cout << "error opening project: " << *result << std::endl;
+          wxMessageBox( crea::std2wx(result->c_str()), wxT("Open Project - Error"), wxICON_ERROR);
+          event.Skip();
+          return;
+        };
+
+      //update recently open projects
+      wxConfigBase* pConfig = wxConfigBase::Get();
+      if(pConfig->Read(wxT("RECENT1"),wxT("")) != crea::std2wx(this->model->GetProject()->GetPath()))
+        {
+          pConfig->Write(wxT("RECENT5"), pConfig->Read(wxT("RECENT4"),wxT("")));
+          pConfig->Write(wxT("RECENT4"), pConfig->Read(wxT("RECENT3"),wxT("")));
+          pConfig->Write(wxT("RECENT3"), pConfig->Read(wxT("RECENT2"),wxT("")));
+          pConfig->Write(wxT("RECENT2"), pConfig->Read(wxT("RECENT1"),wxT("")));
+          pConfig->Write(wxT("RECENT1"), crea::std2wx(this->model->GetProject()->GetPath()));
+        }
+
+      std::cout << "building ui" << std::endl;
+
+      //populate tree control
+      tree_Projects->BuildTree(this->model->GetModelElements(), this->model->GetProject());
+      tree_Projects->Unselect();
+      this->actualTreeItem.Unset();
+	  tree_Projects->SelectItem(this->model->GetProject()->GetId().GetWxId(), true);
+
+
+      //change project's actions panel
+      if(this->panel_ProjectActions!= NULL)
+        {
+          auiManager.DetachPane(this->panel_ProjectActions);
+          this->panel_ProjectActions->Destroy();
+          this->panel_ProjectActions = NULL;
+        }
+      panel_ProjectActions = new wxCDMProjectActionsPanel(
+          this,
+          this->model->GetProject(),
+          ID_WINDOW_PROJ_ACTIONS,
+          wxT("Project Actions Panel"),
+          wxDefaultPosition,
+          wxSize(800,200),
+          0
+      );
+      panel_ProjectActions->SetMinSize(wxSize(500, 100));
+
+
+      auiManager.AddPane(panel_ProjectActions, wxAuiPaneInfo().Bottom().MinSize(800,50).Name(wxT("panel_ProjectActions")).Caption(wxT("General Project Actions")).BestSize(800,70).CloseButton(false));
+
+      auiManager.Update();
+
+    }
+}
+
+void wxCDMMainFrame::OnMenuCloseProject(wxCommandEvent& event)
+{
+  std::cout << "closing project" << std::endl;
+  std::string* result;
+  if(!this->model->CloseProject(result))
+    {
+      std::cout << "error closing project: " << *result << std::endl;
+      wxMessageBox( crea::std2wx(result->c_str()), wxT("Close Project - Error"), wxICON_ERROR);
+    }
+
+  tree_Projects->BuildTree(this->model->GetModelElements(), this->model->GetProject());
+  this->actualTreeItem.Unset();
+  if(this->panel_Properties != NULL)
+    {
+      auiManager.DetachPane(this->panel_Properties);
+	  this->panel_Properties->Hide();
+    }
+  if(this->panel_ProjectActions != NULL)
+    {
+      auiManager.DetachPane(this->panel_ProjectActions);
+      this->panel_ProjectActions->Hide();    
+    }
+
+  this->panel_Properties = new wxCDMMainDescriptionPanel(
+      this,
+      ID_WINDOW_PROPERTIES,
+      wxT("Description Panel"),
+      wxDefaultPosition,
+      wxSize(600, 400),
+      0
+  );
+
+  auiManager.AddPane(panel_Properties, wxAuiPaneInfo().Center().Name(wxT("panel_Properties")).Caption(wxT("")).BestSize(600,400).CloseButton(false));
+
+  auiManager.Update();
+}
+
+void wxCDMMainFrame::OnMenuExportHierarchy(wxCommandEvent& event)
+{
+  std::cerr << "Event OnMenuExportHierarchy not implemented" << std::endl;
+  event.Skip();
+}
+void wxCDMMainFrame::OnMenuExit(wxCommandEvent& event)
+{
+  std::cout << "Closing CreaDevManager..." << std::endl;
+  std::string* result;
+  if(this->model->GetProject() != NULL && !this->model->CloseProject(result))
+    {
+      std::cout << "error closing project: " << *result << std::endl;
+    }
+
+  if(this->panel_Properties != NULL)
+    {
+      auiManager.DetachPane(this->panel_Properties);
+      this->panel_Properties->Destroy();
+      this->panel_Properties = NULL;
+    }
+  
+  if(this->tree_Projects != NULL)
+    {
+      auiManager.DetachPane(this->tree_Projects);
+      this->tree_Projects->Destroy();
+      this->tree_Projects = NULL;
+    }
+
+  if(this->panel_ProjectActions != NULL)
+    {
+      auiManager.DetachPane(this->panel_ProjectActions);
+      this->panel_ProjectActions->Destroy();
+      this->panel_ProjectActions = NULL;
+    }
+  
+  Close();
+}
+
+//Edit Menu
+void wxCDMMainFrame::OnMenuRefreshProject(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!model->RefreshProject(result))
+    {
+      wxMessageBox( crea::std2wx(result->c_str()), wxT("Refresh Project - Error"), wxICON_ERROR);
+    }
+  if(this->model->GetProject() != NULL)
+    {
+      this->tree_Projects->BuildTree(this->model->GetModelElements(), this->model->GetProject());
+      this->auiManager.Update();
+
+      this->tree_Projects->Unselect();
+	  this->actualTreeItem.Unset();
+      this->tree_Projects->SelectItem(this->model->GetProject()->GetId().GetWxId(), true);
+    }
+  event.Skip();
+}
+
+void wxCDMMainFrame::OnMenuSettings(wxCommandEvent& event)
+{
+  wxCDMSettingsDialog* settingsDialog = new wxCDMSettingsDialog(this, -1);
+  settingsDialog->SetHelpEnabled(this->help);
+
+  int res = settingsDialog->ShowModal();
+  if(res == wxID_OK)
+    {
+      this->help = settingsDialog->IsHelpEnabled();
+      this->menu_Help->Check(ID_MENU_TOGGLE_HELP, this->help);
+    }
+}
+
+void wxCDMMainFrame::OnMenuBBTKGraphicalEditor(wxCommandEvent& event)
+{
+  std::cerr << "Event OnMenuBBTKGraphicalEditor not implemented" << std::endl;
+  event.Skip();
+  if(CDMUtilities::openBBEditor())
+    {
+      wxMessageBox( wxT("Can't open the BB Graphical Editor. Please check your Crea Tools installation."), wxT("Refresh Project - Error"), wxICON_ERROR);
+    }
+}
+void wxCDMMainFrame::OnMenuMiniTools(wxCommandEvent& event)
+{
+  if(CDMUtilities::openCreaToolsTools())
+    {
+      wxMessageBox( wxT("Can't open the Minitools. Please check your Crea Tools installation."), wxT("Refresh Project - Error"), wxICON_ERROR);
+    }
+}
+void wxCDMMainFrame::OnMenuCodeEditor(wxCommandEvent& event)
+{
+  if(CDMUtilities::openTextEditor())
+    {
+      wxMessageBox( wxT("Can't open the Text Editor. Please check the default text editor command in the Crea Development Manager settings (Edit -> Settings)."), wxT("Refresh Project - Error"), wxICON_ERROR);
+    }
+}
+void wxCDMMainFrame::OnMenuCommandLine(wxCommandEvent& event)
+{
+  if(CDMUtilities::openTerminal())
+    {
+      wxMessageBox( wxT("Can't open Terminal. Please check the default terminal command in the Crea Development Manager settings (Edit -> Settings)."), wxT("Refresh Project - Error"), wxICON_ERROR);
+    }
+}
+
+//Help Menu
+void wxCDMMainFrame::OnMenuShowProjectMap(wxCommandEvent& event)
+{
+  wxCDMProjectMapDialog* dialog = new wxCDMProjectMapDialog(this);
+
+  dialog->Show(true);
+}
+
+//Help Menu
+void wxCDMMainFrame::OnMenuHelp(wxCommandEvent& event)
+{
+  wxLaunchDefaultBrowser(_T("http://www.creatis.insa-lyon.fr/~gonzalez/documentationSWDoc.html"), 0);
+}
+void wxCDMMainFrame::OnMenuReportBug(wxCommandEvent& event)
+{
+  wxLaunchDefaultBrowser(_T("http://vip.creatis.insa-lyon.fr:9002/projects/crea"), 0);
+}
+void wxCDMMainFrame::OnMenuAboutCreaDevManager(wxCommandEvent& event)
+{
+  wxBoxSizer *topsizer;
+  wxHtmlWindow *html;
+  wxDialog dlg(this, wxID_ANY, wxString(_("About")));
+
+  topsizer = new wxBoxSizer(wxVERTICAL);
+
+  html = new wxHtmlWindow(&dlg, wxID_ANY, wxDefaultPosition, wxSize(380, 160), wxHW_SCROLLBAR_NEVER);
+  html -> SetBorders(0);
+
+  std::string content = ""
+      "<html>"
+      "<body bgcolor=\"#3333CC\">"
+      "<table cellspacing=3 cellpadding=4 width=\"100%\">"
+      "  <tr>"
+      "    <td bgcolor=\"#3333CC\">"
+      "    <center>"
+      "    <font size=+2 color=\"#FFFFFF\"><b>CREA Development Manager</b>"
+      "    </font>"
+      "    </center>"
+      "    </td>"
+      "  </tr>"
+      "  <tr>"
+      "    <td bgcolor=\"#FFFFFF\">"
+      "    <p><b><font size=+1>Creatis 2012 - Lyon, France</font></b></p>"
+      "    <font size=-1>"
+      "      <table cellpadding=0 cellspacing=0 width=\"100%\">"
+      "        <tr>"
+      "          <td width=\"65%\">"
+      "            <p>Created by Daniel González - daniel.gonzalez at creatis.insa-lyon.fr</p>"
+      "          </td>"
+      "        </tr>"
+      "      </table>"
+      "      <font size=1>"
+      "        <p>This software is governed by the CeCILL-B license under French law and abiding by the rules of distribution of free software.</p>"
+      "      </font>"
+      "    </font>"
+      "    </td>"
+      "  </tr>"
+      "</table>"
+      "</body>"
+      "</html>"
+      ;
+
+  html -> SetPage(crea::std2wx(content));
+  html -> SetSize(html -> GetInternalRepresentation() -> GetWidth(),
+      html -> GetInternalRepresentation() -> GetHeight());
+
+  topsizer -> Add(html, 1, wxALL, 10);
+
+#if wxUSE_STATLINE
+  topsizer -> Add(new wxStaticLine(&dlg, wxID_ANY), 0, wxEXPAND | wxLEFT | wxRIGHT, 10);
+#endif // wxUSE_STATLINE
+
+  wxButton *bu1 = new wxButton(&dlg, wxID_OK, _("OK"));
+  bu1 -> SetDefault();
+
+  topsizer -> Add(bu1, 0, wxALL | wxALIGN_RIGHT, 15);
+
+  dlg.SetSizer(topsizer);
+  topsizer -> Fit(&dlg);
+
+  dlg.ShowModal();
+}
+void wxCDMMainFrame::OnMenuAboutCreatis(wxCommandEvent& event)
+{
+  wxLaunchDefaultBrowser(_T("http://www.creatis.insa-lyon.fr/site/en"), 0);
+}
+
+void wxCDMMainFrame::OnTreeSelectionChanged(wxTreeEvent& event)
+{
+
+  //get selected element
+  wxTreeItemId elementId = event.GetItem();
+  //std::cout << "Tree Selection id: " << elementId.m_pItem << this->actualTreeItem.m_pItem << std::endl;
+  //elementId.IsOk() && this->tree_Projects->IsSelected(elementId)
+  if(elementId.IsOk() && this->actualTreeItem != elementId)
+    {
+      
+      //std::cout << "Valid tree selection id: " << elementId.m_pItem << std::endl;
+      //get element from model
+      modelCDMIProjectTreeNode* element = this->model->GetModelElements()[elementId];
+
+	  if (element == NULL)
+		  return;
+      std::cout << "Tree Selection: " << element->GetName() << std::endl;
+
+	  //std::stringstream ss;
+	  //ss << this->actualTreeItem.m_pItem << ":" << event.GetOldItem().m_pItem << " --> " << elementId.m_pItem;
+	  //wxMessageBox( wxT("Tree Selection id: " + ss.str() + " by " + element->GetName()), wxT("Refresh Project - Error"), wxICON_ERROR);	
+      this->actualTreeItem = elementId;
+
+	  //get element type
+      //project
+      modelCDMProject* elementProject = dynamic_cast<modelCDMProject*>(element);
+      wxPanel* description;
+      if(elementProject != NULL)
+        {
+          //create element description
+          description = new wxCDMProjectDescriptionPanel(
+              this,
+              elementProject,
+              ID_WINDOW_PROPERTIES,
+              wxT("Description Panel"),
+              wxDefaultPosition,
+              wxSize(600, 400),
+              0
+          );
+
+        }
+      else
+        {
+          //appli
+          modelCDMAppli* elementAppli = dynamic_cast<modelCDMAppli*>(element);
+          if(elementAppli != NULL)
+            {
+              //create element description
+              description = new wxCDMAppliDescriptionPanel(
+                  this,
+                  elementAppli,
+                  ID_WINDOW_PROPERTIES,
+                  wxT("Description Panel"),
+                  wxDefaultPosition,
+                  wxSize(600, 400),
+                  0
+              );
+
+            }
+          else
+            {
+              //application
+              modelCDMApplication* elementApplication = dynamic_cast<modelCDMApplication*>(element);
+			  if(elementApplication != NULL)
+                {
+                  //create element description
+                  description = new wxCDMApplicationDescriptionPanel(
+                      this,
+                      elementApplication,
+                      ID_WINDOW_PROPERTIES,
+                      wxT("Description Panel"),
+                      wxDefaultPosition,
+                      wxSize(600, 400),
+                      0
+                  );
+                }
+              else
+                {
+                  //lib
+                  modelCDMLib* elementLib = dynamic_cast<modelCDMLib*>(element);
+                  if(elementLib != NULL)
+                    {
+                      //create element description
+                      description = new wxCDMLibDescriptionPanel(
+                          this,
+                          elementLib,
+                          ID_WINDOW_PROPERTIES,
+                          wxT("Description Panel"),
+                          wxDefaultPosition,
+                          wxSize(600, 400),
+                          0
+                      );
+                    }
+                  else
+                    {
+                      //library
+                      modelCDMLibrary* elementLibrary = dynamic_cast<modelCDMLibrary*>(element);
+                      if(elementLibrary != NULL)
+                        {
+                          //create element description
+                          description = new wxCDMLibraryDescriptionPanel(
+                              this,
+                              elementLibrary,
+                              ID_WINDOW_PROPERTIES,
+                              wxT("Description Panel"),
+                              wxDefaultPosition,
+                              wxSize(600, 400),
+                              0
+                          );
+                        }
+                      else
+                        {
+                          //package
+                          modelCDMPackage* elementPackage = dynamic_cast<modelCDMPackage*>(element);
+                          if(elementPackage != NULL)
+                            {
+                              //create element description
+                              description = new wxCDMPackageDescriptionPanel(
+                                  this,
+                                  elementPackage,
+                                  ID_WINDOW_PROPERTIES,
+                                  wxT("Description Panel"),
+                                  wxDefaultPosition,
+                                  wxSize(600, 400),
+                                  0
+                              );
+                            }
+                          else
+                            {
+                              //black box
+                              modelCDMBlackBox* elementBlackBox = dynamic_cast<modelCDMBlackBox*>(element);
+                              if(elementBlackBox != NULL)
+                                {
+                                  //create element description
+                                  description = new wxCDMBlackBoxDescriptionPanel(
+                                      this,
+                                      elementBlackBox,
+                                      ID_WINDOW_PROPERTIES,
+                                      wxT("Description Panel"),
+                                      wxDefaultPosition,
+                                      wxSize(600, 400),
+                                      0
+                                  );
+                                }
+                              else
+                                {
+                                  //CMakeLists
+                                  modelCDMCMakeListsFile* elementCMakeLists = dynamic_cast<modelCDMCMakeListsFile*>(element);
+                                  if(elementCMakeLists != NULL)
+                                    {
+                                      //create element description
+                                      description = new wxCDMCMakeListsDescriptionPanel(
+                                          this,
+                                          elementCMakeLists,
+                                          ID_WINDOW_PROPERTIES,
+                                          wxT("Description Panel"),
+                                          wxDefaultPosition,
+                                          wxSize(600, 400),
+                                          0
+                                      );
+                                    }
+                                  else
+                                    {
+                                      //CodeFile
+                                      modelCDMCodeFile* elementCodeFile = dynamic_cast<modelCDMCodeFile*>(element);
+                                      if(elementCodeFile != NULL)
+                                        {
+                                          //create element description
+                                          description = new wxCDMCodeFileDescriptionPanel(
+                                              this,
+                                              elementCodeFile,
+                                              ID_WINDOW_PROPERTIES,
+                                              wxT("Description Panel"),
+                                              wxDefaultPosition,
+                                              wxSize(600, 400),
+                                              0
+                                          );
+                                        }
+                                      else
+                                        {
+                                          //BBSFile
+                                          modelCDMBBSFile* elementBBSFile = dynamic_cast<modelCDMBBSFile*>(element);
+                                          if(elementBBSFile != NULL)
+                                            {
+                                              //create element description
+                                              description = new wxCDMBBSFileDescriptionPanel(
+                                                  this,
+                                                  elementBBSFile,
+                                                  ID_WINDOW_PROPERTIES,
+                                                  wxT("Description Panel"),
+                                                  wxDefaultPosition,
+                                                  wxSize(600, 400),
+                                                  0
+                                              );
+                                            }
+                                          else
+                                            {
+                                              //BBSFile
+                                              modelCDMBBGFile* elementBBGFile = dynamic_cast<modelCDMBBGFile*>(element);
+                                              if(elementBBGFile != NULL)
+                                                {
+                                                  //create element description
+                                                  description = new wxCDMBBGFileDescriptionPanel(
+                                                      this,
+                                                      elementBBGFile,
+                                                      ID_WINDOW_PROPERTIES,
+                                                      wxT("Description Panel"),
+                                                      wxDefaultPosition,
+                                                      wxSize(600, 400),
+                                                      0
+                                                  );
+                                                }
+                                              else
+                                                {
+                                                  //folder
+                                                  modelCDMFolder* elementFolder = dynamic_cast<modelCDMFolder*>(element);
+                                                  if(elementFolder != NULL)
+                                                    {
+                                                      //create element description
+                                                      description = new wxCDMFolderDescriptionPanel(
+                                                          this,
+                                                          elementFolder,
+                                                          ID_WINDOW_PROPERTIES,
+                                                          wxT("Description Panel"),
+                                                          wxDefaultPosition,
+                                                          wxSize(600, 400),
+                                                          0
+                                                      );
+                                                    }
+                                                  else
+                                                    {
+                                                      //file
+                                                      modelCDMFile* elementFile = dynamic_cast<modelCDMFile*>(element);
+                                                      if(elementFile != NULL)
+                                                        {
+                                                          //create element description
+                                                          description = new wxCDMFileDescriptionPanel(
+                                                              this,
+                                                              elementFile,
+                                                              ID_WINDOW_PROPERTIES,
+                                                              wxT("Description Panel"),
+                                                              wxDefaultPosition,
+                                                              wxSize(600, 400),
+                                                              0
+                                                          );
+                                                        }
+                                                      else
+                                                        {
+
+                                                          //main if not any
+                                                          //create element description
+                                                          description = new wxCDMMainDescriptionPanel(
+                                                              this,
+                                                              ID_WINDOW_PROPERTIES,
+                                                              wxT("Description Panel"),
+                                                              wxDefaultPosition,
+                                                              wxSize(600, 400),
+                                                              0
+                                                          );
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+      //delete old view
+      if(this->panel_Properties!= NULL)
+        {
+          this->panel_Properties->Hide();
+          auiManager.DetachPane(this->panel_Properties);
+          //this->panel_Properties->Destroy();
+          //this->panel_Properties = NULL;
+        }
+      //set new view
+      auiManager.AddPane(description, wxAuiPaneInfo().Center().Name(wxT("panel_Properties")).Caption(wxT("")).BestSize(600,400).CloseButton(false));
+      this->panel_Properties = description;
+
+      auiManager.Update();
+    }
+  else
+    {
+      event.Skip();
+	}
+
+  return;
+
+}
+
+void wxCDMMainFrame::OnChangeView(wxCommandEvent& event)
+{
+  modelCDMIProjectTreeNode* myItem = NULL;
+  wxPanel* description = NULL;
+  switch(event.GetId())
+  {
+  case 0:
+    myItem = ((modelCDMIProjectTreeNode*)event.GetClientData());
+    //select out old one to generate selection event
+    this->tree_Projects->Unselect();
+    this->tree_Projects->SelectItem(myItem->GetId().GetWxId());
+    this->tree_Projects->Expand(myItem->GetId().GetWxId());
+    break;
+  case 1:
+    
+    if(event.GetString() == wxT("manage_packages"))
+      {
+        //this->tree_Projects->Expand(this->model->GetProject()->GetId());
+        //this->tree_Projects->Unselect();
+        this->actualTreeItem.Unset();
+	description = new wxCDMPackageManagerPanel(
+            this,
+            this->model->GetProject(),
+            ID_WINDOW_PROPERTIES,
+            wxT("Description Panel"),
+            wxDefaultPosition,
+            wxSize(600, 400),
+            0
+        );
+      }
+    else if(event.GetString() == wxT("manage_libraries"))
+      {
+        this->tree_Projects->SelectItem(this->model->GetProject()->GetLib()->GetId().GetWxId());
+        this->tree_Projects->Expand(this->model->GetProject()->GetLib()->GetId().GetWxId());
+        break;
+      }
+    else if(event.GetString() == wxT("manage_applications"))
+      {
+        this->tree_Projects->SelectItem(this->model->GetProject()->GetAppli()->GetId().GetWxId());
+        this->tree_Projects->Expand(this->model->GetProject()->GetAppli()->GetId().GetWxId());
+        break;
+      }
+    else if(event.GetString() == wxT("blackbox"))
+      {
+        modelCDMBlackBox* bb = (modelCDMBlackBox*)event.GetClientData();
+        this->actualTreeItem.Unset();
+        this->tree_Projects->SelectItem(bb->GetHeaderFile()->GetId().GetWxId());
+        description = new wxCDMBlackBoxDescriptionPanel(
+            this,
+            bb,
+            ID_WINDOW_PROPERTIES,
+            wxT("Description Panel"),
+            wxDefaultPosition,
+            wxSize(600, 400),
+            0
+        );
+
+		
+      }
+
+    //delete old view
+    if(this->panel_Properties!= NULL)
+      {
+        this->panel_Properties->Hide();
+        auiManager.DetachPane(this->panel_Properties);
+        this->panel_Properties->Destroy();
+        this->panel_Properties = NULL;
+      }
+    //set new view
+    auiManager.AddPane(description, wxAuiPaneInfo().Center().Name(wxT("panel_Properties")).Caption(wxT("")).BestSize(600,400).CloseButton(false));
+    this->panel_Properties = description;
+    auiManager.Update();
+    break;
+  default:
+    event.Skip();
+    break;
+  }
+  
+}
+
+void wxCDMMainFrame::OnElementSelected(wxCommandEvent& event)
+{
+  //std::cout << "element " << event.GetInt() << std::endl;
+  modelCDMIProjectTreeNode* item = (modelCDMIProjectTreeNode*)event.GetClientData();
+  this->tree_Projects->EnsureVisible(item->GetId().GetWxId());
+  this->tree_Projects->SetItemBold(item->GetId().GetWxId(), true);
+  this->tree_Projects->SetItemTextColour(item->GetId().GetWxId(), wxColour(0,0,255));
+  this->tree_Projects->SetItemBackgroundColour(item->GetId().GetWxId(), wxColour(230,230,255));
+  this->tree_Projects->UpdateWindowUI(wxUPDATE_UI_RECURSE);
+  auiManager.Update();
+}
+
+void wxCDMMainFrame::OnElementDeselected(wxCommandEvent& event)
+{
+  modelCDMIProjectTreeNode* item = (modelCDMIProjectTreeNode*)event.GetClientData();
+  this->tree_Projects->SetItemBold(item->GetId().GetWxId(), false);
+  this->tree_Projects->SetItemTextColour(item->GetId().GetWxId(), wxColour(0,0,0));
+  this->tree_Projects->SetItemBackgroundColour(item->GetId().GetWxId(), wxColour(255,255,255));
+  this->tree_Projects->UpdateWindowUI(wxUPDATE_UI_RECURSE);
+  auiManager.Update();
+}
+
+void wxCDMMainFrame::OnMenuToggleHelp(wxCommandEvent& event)
+{
+  this->help = !this->help;
+  this->menu_Help->Check(ID_MENU_TOGGLE_HELP, this->help);
+}
+
+void wxCDMMainFrame::OnDisableHelp(wxCommandEvent& event)
+{
+  if (event.GetInt())
+    this->help = false;
+  else
+    this->help = true;
+
+  this->menu_Help->Check(ID_MENU_TOGGLE_HELP, this->help);
+}
diff --git a/lib/creaDevManagerLib/wxCDMMainFrame.h b/lib/creaDevManagerLib/wxCDMMainFrame.h
new file mode 100755
index 0000000..6cbaf9f
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMMainFrame.h
@@ -0,0 +1,329 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+#ifndef WXCDMMAINFRAME_H_INCLUDED
+#define WXCDMMAINFRAME_H_INCLUDED
+
+#include <creaWx.h>
+#include <wx/aui/aui.h>
+#include <wx/treectrl.h>
+#include "wxCDMProjectsTreeCtrl.h"
+#include "modelCDMMain.h"
+
+/**
+ * Main Frame Class.
+ * This class is the main class of the application. It starts the other classes and windows as well as it holds a reference to the application model.
+ */
+class wxCDMMainFrame:public wxFrame
+{
+  DECLARE_EVENT_TABLE()
+
+public:
+  /**
+   * Constructor receiving common parameter for frame construction.
+   * @param parent The parent window of the wxCDMMainFrame object.
+   * @param id The id of the Frame, by default wxID_ANY.
+   * @param caption Frame caption. Usually shown on the top of the window. It's by default "CREATIS CreaDevManager".
+   * @param pos Position of the application, by default wxDefaultPosition.
+   * @param size Size of the application, by default wxDefaultSize.
+   * @param style Style of the application, by default wxDEFAULT_FRAME_STYLE.
+   */
+  wxCDMMainFrame(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("CREATIS CreaDevManager"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Destructor.
+   */
+  ~wxCDMMainFrame();
+
+  /**
+   * Create Method.
+   * Actually creates the frame and creates the controls inside the application.
+   * @param parent The parent window of the wxCDMMainFrame object.
+   * @param id The id of the Frame, by default wxID_ANY.
+   * @param caption Frame caption. Usually shown on the top of the window. It's by default "CREATIS CreaDevManager".
+   * @param pos Position of the application, by default wxDefaultPosition.
+   * @param size Size of the application, by default wxDefaultSize.
+   * @param style Style of the application, by default wxDEFAULT_FRAME_STYLE.
+   * @return True if the creation process went well.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("CREATIS CreaDevManager"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Retreives the application model.
+   * @return Model of the application.
+   */
+  modelCDMMain* GetModel() const;
+
+  /**
+   * Returns the properties panel. where the selection description is shown.
+   * @return the description panel of the project component chosen by the user.
+   */
+  wxPanel* GetPropertiesPanel() const;
+
+  /**
+   * Checks if the help is enabled.
+   * @return true if the help is enabled.
+   */
+  bool isHelp() const;
+
+  /**
+   * Refresh the project structure by comparing the existing model with the corresponding files in the hard drive.
+   */
+  void RefreshProject();
+
+protected:
+
+  /**
+   * Creates the menu bar and binds the corresponding event handler to each menu.
+   */
+  void CreateMenus();
+
+  /**
+   * Create the user interface containing a wxCDMMainDescriptionPanel and a wxCDMProjectsTreeCtrl.
+   */
+  void CreateControls();
+
+private:
+
+  //Menus
+  /**
+   * Recently opened projects menu
+   */
+  wxMenu* menu_Recent;
+  /**
+   * File menu
+   */
+  wxMenu* menu_File;
+  /**
+   * Edit menu
+   */
+  wxMenu* menu_Edit;
+  /**
+   * Tools menu
+   */
+  wxMenu* menu_Tools;
+  /**
+   * Help menu
+   */
+  wxMenu* menu_Help;
+
+  //Controls
+  /**
+   * Floating panel manager
+   */
+  wxAuiManager auiManager;
+  /**
+   * Tree control for an open project
+   */
+  wxCDMProjectsTreeCtrl* tree_Projects;
+  /**
+   * Tree item for the selected item in the tree.
+   */
+  wxTreeItemId actualTreeItem;
+  /**
+   * Description panel for a selected project item
+   */
+  wxPanel* panel_Properties;
+  /**
+   * Main actions for an open project
+   */
+  wxPanel* panel_ProjectActions;
+
+  //Model
+  /**
+   * Application model. It holds the open project model.
+   */
+  modelCDMMain* model;
+
+  /**
+   * Help enabled
+   */
+  bool help;
+
+  //events
+protected:
+
+  /**
+   * Starts when the menu bar is opened.
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuBarOpen(wxMenuEvent& event);
+
+  //File
+  /**
+   * New project handler. Launches a new project dialog and creates a project model if the project is correctly created.
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuNewProject(wxCommandEvent& event);
+  /**
+   * Open project handler. Launches a directory dialog and creates a project model if the project is correctly opened.
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuOpenProject(wxCommandEvent& event);
+  /**
+   * Open recent project handler. Creates a project model if the project is correctly opened given its path.
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuOpenRecent(wxCommandEvent& event);
+  /**
+   * Close project handler. Remove the project from the model and restarts the user interface.
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuCloseProject(wxCommandEvent& event);
+  /**
+   * Unimplemented optional method handler. It should export the project structure in XML format.
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuExportHierarchy(wxCommandEvent& event);
+  /**
+   * Exit handler. It closes any open project and quits the application.
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuExit(wxCommandEvent& event);
+
+  //Edit
+  /**
+   * Refresh project handler. Refreshes the project structure.
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuRefreshProject(wxCommandEvent& event);
+  /**
+   * Open the settings dialog.
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuSettings(wxCommandEvent& event);
+
+  //Tools
+  /**
+   * Launches the BBTK Graphical Editor, also known as BBEditor.
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuBBTKGraphicalEditor(wxCommandEvent& event);
+  /**
+   * Launches the Minitools application alse known as creaTools
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuMiniTools(wxCommandEvent& event);
+  /**
+   * Launches the system default code editor.
+   * Linux: gedit
+   * Mac:
+   * Windows:
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuCodeEditor(wxCommandEvent& event);
+  /**
+   * Launches the system command line interpreter (CLI).
+   * Linux: gnome-terminal
+   * Mac:
+   * Windows:
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuCommandLine(wxCommandEvent& event);
+
+  //Help
+  /**
+   * Enables/Disables the help option.
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuToggleHelp(wxCommandEvent& event);
+  /**
+   * Open the road map for crea projects.
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuShowProjectMap(wxCommandEvent& event);
+  /**
+   * Open the default web browser and redirects to the CreaTools Documentation page.
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuHelp(wxCommandEvent& event);
+  /**
+   * Open the default web browser and redirects to the Crea Bug Tracking page.
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuReportBug(wxCommandEvent& event);
+  /**
+   * Shows the about dialog of creaDevManager
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuAboutCreaDevManager(wxCommandEvent& event);
+  /**
+   * Open the default web browser and redirects to the Creatis page.
+   * @param event The event object that triggers the handler.
+   */
+  void OnMenuAboutCreatis(wxCommandEvent& event);
+
+  //Tree
+  /**
+   * Handles the propertiesPanel change when there is a change in the selection on the Project Tree.
+   * @param event The event object that triggers the handler.
+   */
+  void OnTreeSelectionChanged(wxTreeEvent& event);
+
+  //PropertiesPanel
+  /**
+   *Handles the propertiesPanel change when the event wxEVT_DISPLAY_CHANGED is triggered.
+   * @param event The event object that triggers the handler.
+   */
+  void OnChangeView(wxCommandEvent& event);
+
+  //Element higlighted
+  /**
+   * Handles the change of the style of an element in the tree when buttons are hovered.
+   * @param event The event object that triggers the handler.
+   */
+  void OnElementSelected(wxCommandEvent& event);
+  /**
+   * Handles the change of the style of an element in the tree when buttons finish hover.
+   * @param event The event object that triggers the handler.
+   */
+  void OnElementDeselected(wxCommandEvent& event);
+
+  //Enable/Disable help
+  /**
+   * Handles the change of the state of the help option when it's triggered by another class.
+   * @param event The event object that triggers the handler.
+   */
+  void OnDisableHelp(wxCommandEvent& event);
+};
+
+#endif
diff --git a/lib/creaDevManagerLib/wxCDMMainHelpDialog.cpp b/lib/creaDevManagerLib/wxCDMMainHelpDialog.cpp
new file mode 100644
index 0000000..1749dc1
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMMainHelpDialog.cpp
@@ -0,0 +1,150 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMMainHelpDialog.cpp
+ *
+ *  Created on: 7/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMMainHelpDialog.h"
+
+#include "creaDevManagerIds.h"
+
+BEGIN_EVENT_TABLE(wxCDMMainHelpDialog, wxDialog)
+EVT_BUTTON(ID_BUTTON_CANCEL, wxCDMMainHelpDialog::OnFinish)
+EVT_BUTTON(ID_BUTTON_NEWPROJECT, wxCDMMainHelpDialog::OnNewProject)
+EVT_BUTTON(ID_BUTTON_OPENPROJECT, wxCDMMainHelpDialog::OnOpenProject)
+EVT_CHECKBOX(ID_CHECKBOX_DISABLE_HELP, wxCDMMainHelpDialog::OnDisableHelp)
+END_EVENT_TABLE()
+
+wxCDMMainHelpDialog::wxCDMMainHelpDialog(
+    wxWindow* parent,
+    wxCDMMainDescriptionPanel* mainDescription,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMMainHelpDialog::Create(parent, id, caption, position, size, style);
+  this->mainDescription = mainDescription;
+}
+
+wxCDMMainHelpDialog::~wxCDMMainHelpDialog()
+{
+}
+
+bool wxCDMMainHelpDialog::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long int style
+)
+{
+  wxDialog::Create(parent, id, caption, position, size, style);
+
+  this->CreateControls();
+
+  return TRUE;
+}
+
+void wxCDMMainHelpDialog::CreateControls()
+{
+
+  wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
+
+
+  wxStaticText* title = new wxStaticText(this, wxID_ANY, wxT("Welcome to the Crea Development Manager"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);//new wxRichTextCtrl(this,wxID_ANY, wxString("Create a new project"), wxDefaultPosition, wxDefaultSize, wxRE_READONLY);
+  v_sizer1->Add(title, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  wxStaticText* instruction = new wxStaticText(
+      this,
+      wxID_ANY,
+      crea::std2wx(
+          "This application was made to help you in the creation process of Crea projects. This help dialogs will explain what "
+          "each part of the program does and will give you tips to get your project up and running in no time. You can disable "
+          "them by checking the \"Disable Help\" option, or you can also enable or disable them at any time checking the \"Help "
+          "Dialogs\" option in the Help menu.\n To begin working on your projects you can either create a new project or open an "
+          "already existing project.\n"),
+          wxDefaultPosition,
+          wxDefaultSize,
+          wxALIGN_LEFT
+  );
+  v_sizer1->Add(instruction, 0,wxEXPAND | wxALL, 5);
+
+//  wxFlexGridSizer* formItems = new wxFlexGridSizer(1,2,9,15);
+//
+//  wxButton* createPackageBtn = new wxButton(this, ID_BUTTON_NEWPROJECT, wxT("New Project"));
+//  wxButton* editCMakeBtn= new wxButton(this, ID_BUTTON_OPENPROJECT, wxT("Open Project"));
+//
+//  formItems->Add(createPackageBtn, 1, wxALIGN_CENTER);
+//  formItems->Add(editCMakeBtn, 1, wxALIGN_CENTER);
+//
+//  formItems->AddGrowableCol(0,1);
+//  formItems->AddGrowableCol(1,1);
+//
+//  v_sizer1->Add(formItems, 1, wxEXPAND | wxALL, 15);
+
+  v_sizer1->Add(new wxCheckBox(this, ID_CHECKBOX_DISABLE_HELP, wxT("&Disable help")), 0, wxALIGN_RIGHT | wxRIGHT, 10);
+
+  v_sizer1->Add(new wxButton(this, ID_BUTTON_CANCEL, wxT("Close")), 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM | wxALIGN_CENTER_VERTICAL, 30);
+
+  SetSizer(v_sizer1);
+  //v_sizer1->RecalcSizes();
+}
+
+void wxCDMMainHelpDialog::OnFinish(wxCommandEvent& event)
+{
+  this->EndDialog(wxID_CANCEL);
+}
+
+void wxCDMMainHelpDialog::OnNewProject(wxCommandEvent& event)
+{
+  wxPostEvent(this->GetParent(), event);
+  event.Skip();
+
+  this->EndDialog(wxID_OK);
+}
+
+void wxCDMMainHelpDialog::OnOpenProject(wxCommandEvent& event)
+{
+  wxPostEvent(this->GetParent(), event);
+    event.Skip();
+
+  this->EndDialog(wxID_OK);
+}
+
+void wxCDMMainHelpDialog::OnDisableHelp(wxCommandEvent& event)
+{
+  wxPostEvent(this->GetParent(), event);
+}
diff --git a/lib/creaDevManagerLib/wxCDMMainHelpDialog.h b/lib/creaDevManagerLib/wxCDMMainHelpDialog.h
new file mode 100644
index 0000000..a011c24
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMMainHelpDialog.h
@@ -0,0 +1,132 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * wxCDMMainHelpDialog.h
+ *
+ *  Created on: 7/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMMAINHELPDIALOG_H_
+#define WXCDMMAINHELPDIALOG_H_
+
+#include <creaWx.h>
+#include <wx/dialog.h>
+
+#include "wxCDMMainDescriptionPanel.h"
+
+/**
+ * Main Panel Help Dialog
+ */
+class wxCDMMainHelpDialog : public wxDialog
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Main Panel Help Dialog Constructor.
+   * @param parent Parent window.
+   * @param packageManager Main panel reference.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Welcome".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 370.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   */
+  wxCDMMainHelpDialog(
+      wxWindow* parent,
+      wxCDMMainDescriptionPanel* packageManager,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Welcome"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,370),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMMainHelpDialog();
+  /**
+   * Main Panel Help Dialog Creator.
+   * @param parent Parent window.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Welcome".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 370.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   * @return if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Welcome"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,370),
+      long style = wxDEFAULT_DIALOG_STYLE
+  );
+
+protected:
+  /**
+   * Creates the help controls (text and buttons).
+   */
+  void CreateControls();
+
+//attributes
+private:
+  /**
+   * Main panel reference.
+   */
+  wxCDMMainDescriptionPanel* mainDescription;
+
+//handlers
+protected:
+  /**
+   * Handler to close help dialog.
+   * @param event Unused.
+   */
+  void OnFinish(wxCommandEvent& event);
+
+  /**
+   * Handler when new project button is pressed.
+   * @param event Unused.
+   */
+  void OnNewProject(wxCommandEvent& event);
+  /**
+   * Handler when open project button is pressed.
+   * @param event Unused.
+   */
+  void OnOpenProject(wxCommandEvent& event);
+
+  /**
+   * Handler when the disable help checkbox is changed.
+   * @param event check box event.
+   */
+  void OnDisableHelp(wxCommandEvent& event);
+};
+
+#endif /* WXCDMMAINHELPDIALOG_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMNewBlackBoxDialog.cpp b/lib/creaDevManagerLib/wxCDMNewBlackBoxDialog.cpp
new file mode 100644
index 0000000..c154288
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMNewBlackBoxDialog.cpp
@@ -0,0 +1,249 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMNewBlackBoxDialog.cpp
+ *
+ *  Created on: 26/12/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMNewBlackBoxDialog.h"
+
+#include "creaDevManagerIds.h"
+
+BEGIN_EVENT_TABLE(wxCDMNewBlackBoxDialog, wxDialog)
+EVT_BUTTON(ID_BUTTON_NEXT, wxCDMNewBlackBoxDialog::OnCreateBlackBox)
+EVT_BUTTON(ID_BUTTON_CANCEL, wxCDMNewBlackBoxDialog::OnCancel)
+END_EVENT_TABLE()
+
+wxCDMNewBlackBoxDialog::wxCDMNewBlackBoxDialog(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMNewBlackBoxDialog::Create(parent, id, caption, position, size, style);
+}
+
+wxCDMNewBlackBoxDialog::~wxCDMNewBlackBoxDialog()
+{
+}
+
+bool wxCDMNewBlackBoxDialog::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long int style
+)
+{
+  wxDialog::Create(parent, id, caption, position, size, style);
+
+  this->CreateControls();
+
+  return TRUE;
+}
+
+const wxString wxCDMNewBlackBoxDialog::GetBlackBoxName() const
+{
+  return this->blackBoxName->GetValue();
+}
+
+const wxString wxCDMNewBlackBoxDialog::GetBlackBoxAuthor() const
+{
+  return this->blackBoxAuthor->GetValue();
+}
+
+const wxString wxCDMNewBlackBoxDialog::GetBlackBoxAuthorEmail() const
+{
+  return this->blackBoxAuthorEmail->GetValue();
+}
+
+const wxString wxCDMNewBlackBoxDialog::GetBlackBoxDescription() const
+{
+  return this->blackBoxDescription->GetValue();
+}
+
+const wxString wxCDMNewBlackBoxDialog::GetBlackBoxCategories() const
+{
+  return this->blackBoxCategories->GetValue();
+}
+
+const wxString wxCDMNewBlackBoxDialog::GetBlackBoxType() const
+{
+  wxString res;
+  switch(this->blackBoxType->GetCurrentSelection())
+  {
+  case 0:
+    res = wxT("std");
+    break;
+  case 1:
+    res = wxT("widget");
+    break;
+  case 2:
+#ifdef _WIN32
+	res = wxT("VTK_ImageAlgorithm");
+#else
+    res = wxT("VTK-ImageAlgorithm");
+#endif
+    break;
+  case 3:
+#ifdef _WIN32
+	res = wxT("VTK_PolyDataAlgorithm");
+#else
+    res = wxT("VTK-PolyAlgorithm");
+#endif
+    break;
+  default:
+    res = wxT("std");
+    break;
+  }
+  return res;
+}
+
+const wxString wxCDMNewBlackBoxDialog::GetBlackBoxFormat() const
+{
+  wxString res;
+  switch(this->blackBoxFormat->GetCurrentSelection())
+  {
+  case 0:
+    res = wxT("C++");
+    break;
+  case 1:
+    res = wxT("XML");
+    break;
+  default:
+    res = wxT("C++");
+    break;
+  }
+  return res;
+}
+
+void wxCDMNewBlackBoxDialog::CreateControls()
+{
+  wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
+
+
+  wxStaticText* title = new wxStaticText(this, wxID_ANY, wxT("Create a new black box"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);
+  v_sizer1->Add(title, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  wxStaticText* instruction = new wxStaticText(this, wxID_ANY, wxT("Please fill the following details."), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);
+  v_sizer1->Add(instruction, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  wxFlexGridSizer* formItems = new wxFlexGridSizer(4,2,9,15);
+
+  wxStaticText *stxtPrjName = new wxStaticText(this, -1, wxT("Black Box Name"));
+  wxStaticText *stxtPrjAuth = new wxStaticText(this, -1, wxT("Black Box Authors (separated by ',')"));
+  wxStaticText *stxtPrjAuthEmail = new wxStaticText(this, -1, wxT("Black Box Authors' Email"));
+  wxStaticText *stxtPrjDsc = new wxStaticText(this, -1, wxT("Black Box Description"));
+  wxStaticText *stxtPrjCat = new wxStaticText(this, -1, wxT("Black Box Categories (separated by ',')"));
+  wxStaticText *stxtPrjTyp = new wxStaticText(this, -1, wxT("Black Box Type"));
+  wxStaticText *stxtPrjFmt = new wxStaticText(this, -1, wxT("Black Box Format"));
+
+  this->blackBoxName = new wxTextCtrl(this, -1);
+  this->blackBoxAuthor = new wxTextCtrl(this, -1);
+  this->blackBoxAuthorEmail = new wxTextCtrl(this, -1);
+  this->blackBoxDescription = new wxTextCtrl(this, -1, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE);
+  this->blackBoxCategories = new wxTextCtrl(this, -1);
+  wxString BBTypes[] =
+      {
+          wxT("Basic - AtomicBlackBox"),
+		  wxT("Widget - WxBlackBox"),
+          wxT("VTK ImageAlgorithm - Basic and vtkImageAlgorithm (standard vtk I/O)"),
+          wxT("VTK PolyDataAlgorithm - Basic and vtkPolyDataAlgorithm (standard vtk I/O)")
+      };
+  this->blackBoxType = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 4, BBTypes);
+
+  wxString BBFormats[] =
+      {
+          wxT("C++"),
+          wxT("XML")
+      };
+  this->blackBoxFormat = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 2, BBFormats);
+
+  formItems->Add(stxtPrjName, 0, wxALIGN_CENTER_VERTICAL);
+  formItems->Add(this->blackBoxName, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+  formItems->Add(stxtPrjAuth, 0, wxALIGN_CENTER_VERTICAL);
+  formItems->Add(this->blackBoxAuthor, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+  formItems->Add(stxtPrjAuthEmail, 0, wxALIGN_CENTER_VERTICAL);
+  formItems->Add(this->blackBoxAuthorEmail, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+  formItems->Add(stxtPrjDsc, 0, wxALIGN_CENTER_VERTICAL);
+  formItems->Add(this->blackBoxDescription, 1, wxEXPAND);
+  formItems->Add(stxtPrjCat,0 , wxALIGN_CENTER_VERTICAL);
+  formItems->Add(this->blackBoxCategories, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+  formItems->Add(stxtPrjTyp, 0, wxALIGN_CENTER_VERTICAL);
+  formItems->Add(this->blackBoxType, 0, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+  formItems->Add(stxtPrjFmt, 0, wxALIGN_CENTER_VERTICAL);
+  formItems->Add(this->blackBoxFormat, 0, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+
+  formItems->AddGrowableCol(1,1);
+  formItems->AddGrowableRow(3,1);
+
+  v_sizer1->Add(formItems, 1, wxEXPAND | wxALL, 15);
+
+  wxBoxSizer* h_sizer2 = new wxBoxSizer(wxHORIZONTAL);
+  h_sizer2->Add(new wxButton(this, ID_BUTTON_NEXT, wxT("Create Black Box")), 0, wxALL | wxALIGN_CENTER_VERTICAL, 5);
+  h_sizer2->Add(new wxButton(this, ID_BUTTON_CANCEL, wxT("Cancel")), 0, wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  v_sizer1->Add(h_sizer2, 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM | wxALIGN_CENTER_VERTICAL, 30);
+
+  SetSizer(v_sizer1);
+}
+
+void wxCDMNewBlackBoxDialog::OnCreateBlackBox(wxCommandEvent& event)
+{
+  bool ready = true;
+
+  if(ready && this->blackBoxName->GetValue() == wxT(""))
+    {
+      wxMessageBox(wxT("The black box name cannot be empty"),_T("Error"),wxOK | wxICON_ERROR);
+      ready = false;
+    }
+  if(ready && this->blackBoxAuthor->GetValue() == wxT(""))
+    {
+      wxMessageBox(wxT("The black box author has to be specified"),_T("Error"),wxOK | wxICON_ERROR);
+      ready = false;
+    }
+
+  if(ready)
+    {
+      this->EndModal(wxID_FORWARD);
+    }
+  event.Skip();
+}
+
+void wxCDMNewBlackBoxDialog::OnCancel(wxCommandEvent& event)
+{
+  this->EndModal(wxID_CANCEL);
+  event.Skip();
+}
diff --git a/lib/creaDevManagerLib/wxCDMNewBlackBoxDialog.h b/lib/creaDevManagerLib/wxCDMNewBlackBoxDialog.h
new file mode 100644
index 0000000..1c48f94
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMNewBlackBoxDialog.h
@@ -0,0 +1,176 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMNewBlackBoxDialog.h
+ *
+ *  Created on: 26/12/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMNEWBLACKBOXDIALOG_H_
+#define WXCDMNEWBLACKBOXDIALOG_H_
+
+#include <creaWx.h>
+#include <wx/dialog.h>
+#include <wx/choice.h>
+
+/**
+ * Dialog to create a new Black Box in a Crea Project.
+ */
+class wxCDMNewBlackBoxDialog : public wxDialog
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * New Black Box Dialog Constructor.
+   * @param parent Parent window reference.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "New Black Box".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 500, 500.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   */
+  wxCDMNewBlackBoxDialog(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("New Black Box"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(500,500),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMNewBlackBoxDialog();
+  /**
+   * New Black Box Dialog Constructor.
+   * @param parent Parent window reference.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "New Black Box".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 500, 500.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   * @return True if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("New Black Box"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(500,500),
+      long style = wxDEFAULT_DIALOG_STYLE
+  );
+
+  /**
+   * Returns the black box name chosen by the user.
+   * @return Black box name.
+   */
+  const wxString GetBlackBoxName() const;
+  /**
+   * Returns the black box's author name chosen by the user.
+   * @return Black box's author name.
+   */
+  const wxString GetBlackBoxAuthor() const;
+  /**
+   * Returns the black box's author email chosen by the user.
+   * @return Black box's author email.
+   */
+  const wxString GetBlackBoxAuthorEmail() const;
+  /**
+   * Returns the black box description chosen by the user.
+   * @return Black box description.
+   */
+  const wxString GetBlackBoxDescription() const ;
+  /**
+   * Returns the black box categories chosen by the user.
+   * @return Black box categories.
+   */
+  const wxString GetBlackBoxCategories() const ;
+  /**
+   * Returns the black box type chosen by the user.
+   * @return Black box type.
+   */
+  const wxString GetBlackBoxType() const;
+  /**
+   * Returns the black box format chosen by the user.
+   * @return Black box format.
+   */
+  const wxString GetBlackBoxFormat() const;
+
+protected:
+  /**
+   * Creates the visual controls of the Dialog.
+   */
+  void CreateControls();
+
+private:
+  /**
+   * Black box name.
+   */
+  wxTextCtrl* blackBoxName;
+  /**
+   * Black box's author name.
+   */
+  wxTextCtrl* blackBoxAuthor;
+  /**
+   * Black box's author email.
+   */
+  wxTextCtrl* blackBoxAuthorEmail;
+  /**
+   * Black box description.
+   */
+  wxTextCtrl* blackBoxDescription;
+  /**
+   * Black box categories.
+   */
+  wxTextCtrl* blackBoxCategories;
+  /**
+   * Black box type.
+   */
+  wxChoice* blackBoxType;
+  /**
+   * Black box format.
+   */
+  wxChoice* blackBoxFormat;
+
+  //handlers
+protected:
+  /*
+   * Handles when the create black box button is pressed.
+   * @param event Unused event.
+   */
+  void OnCreateBlackBox(wxCommandEvent& event);
+  /*
+   * Handles when the cancel button is pressed.
+   * @param event Unused event.
+   */
+  void OnCancel(wxCommandEvent& event);
+};
+
+#endif /* WXCDMNEWBLACKBOXDIALOG_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMNewPackageDialog.cpp b/lib/creaDevManagerLib/wxCDMNewPackageDialog.cpp
new file mode 100644
index 0000000..f648d65
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMNewPackageDialog.cpp
@@ -0,0 +1,167 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * wxCDMNewPackageDialog.cpp
+ *
+ *  Created on: 05/12/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMNewPackageDialog.h"
+
+#include "creaDevManagerIds.h"
+
+BEGIN_EVENT_TABLE(wxCDMNewPackageDialog, wxDialog)
+  EVT_BUTTON(ID_BUTTON_NEXT, wxCDMNewPackageDialog::OnCreatePackage)
+  EVT_BUTTON(ID_BUTTON_CANCEL, wxCDMNewPackageDialog::OnCancel)
+END_EVENT_TABLE()
+
+wxCDMNewPackageDialog::wxCDMNewPackageDialog(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMNewPackageDialog::Create(parent, id, caption, position, size, style);
+}
+
+wxCDMNewPackageDialog::~wxCDMNewPackageDialog()
+{
+}
+
+bool wxCDMNewPackageDialog::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long int style
+)
+{
+  wxDialog::Create(parent, id, caption, position, size, style);
+
+  this->CreateControls();
+
+  return TRUE;
+}
+
+const wxString wxCDMNewPackageDialog::GetPackageName()
+{
+  return this->packageName->GetValue();
+}
+const wxString wxCDMNewPackageDialog::GetPackageAuthor()
+{
+  return this->packageAuthor->GetValue();
+}
+const wxString wxCDMNewPackageDialog::GetPackageAuthorEmail()
+{
+  return this->packageAuthorEmail->GetValue();
+}
+const wxString wxCDMNewPackageDialog::GetPackageDescription()
+{
+  return this->packageDescription->GetValue();
+}
+
+void wxCDMNewPackageDialog::CreateControls()
+{
+  wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
+
+
+  wxStaticText* title = new wxStaticText(this, wxID_ANY, wxT("Create a new package"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);
+  v_sizer1->Add(title, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  wxStaticText* instruction = new wxStaticText(this, wxID_ANY, wxT("Please fill the following details."), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);
+  v_sizer1->Add(instruction, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  wxFlexGridSizer* formItems = new wxFlexGridSizer(4,2,9,15);
+
+  wxStaticText *stxtPrjName = new wxStaticText(this, -1, wxT("Package Name"));
+  wxStaticText *stxtPrjAuth = new wxStaticText(this, -1, wxT("Package's Author (1 word)"));
+  wxStaticText *stxtPrjAuthEmail = new wxStaticText(this, -1, wxT("Package's Author Email"));
+  wxStaticText *stxtPrjPkg = new wxStaticText(this, -1, wxT("Package's Description (HTML)"));
+
+  this->packageName = new wxTextCtrl(this, -1);
+  this->packageAuthor = new wxTextCtrl(this, -1);
+  this->packageAuthorEmail = new wxTextCtrl(this, -1);
+  this->packageDescription = new wxTextCtrl(this, -1, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE);
+
+  formItems->Add(stxtPrjName, 0, wxALIGN_CENTER_VERTICAL);
+  formItems->Add(this->packageName, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+  formItems->Add(stxtPrjAuth, 0, wxALIGN_CENTER_VERTICAL);
+  formItems->Add(this->packageAuthor, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+  formItems->Add(stxtPrjAuthEmail, 0, wxALIGN_CENTER_VERTICAL);
+  formItems->Add(this->packageAuthorEmail, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+  formItems->Add(stxtPrjPkg);
+  formItems->Add(this->packageDescription, 1, wxEXPAND);
+
+  formItems->AddGrowableCol(1,1);
+  formItems->AddGrowableRow(3,1);
+
+  v_sizer1->Add(formItems, 1, wxEXPAND | wxALL, 15);
+
+  wxBoxSizer* h_sizer2 = new wxBoxSizer(wxHORIZONTAL);
+  h_sizer2->Add(new wxButton(this, ID_BUTTON_NEXT, wxT("Create Package")), 0, wxALL | wxALIGN_CENTER_VERTICAL, 5);
+  h_sizer2->Add(new wxButton(this, ID_BUTTON_CANCEL, wxT("Cancel")), 0, wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  v_sizer1->Add(h_sizer2, 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM | wxALIGN_CENTER_VERTICAL, 30);
+
+  SetSizer(v_sizer1);
+}
+
+void wxCDMNewPackageDialog::OnCreatePackage(wxCommandEvent& event)
+{
+  bool ready = true;
+
+  if(ready && this->packageName->GetValue() == wxT(""))
+    {
+      wxMessageBox(wxT("The package name cannot be empty"),_T("Error"),wxOK | wxICON_ERROR);
+      ready = false;
+    }
+  if(ready && this->packageAuthor->GetValue() == wxT(""))
+    {
+      wxMessageBox(wxT("The package's author cannot be empty"),_T("Error"),wxOK | wxICON_ERROR);
+      ready = false;
+    }
+
+  if(ready)
+    {
+      this->EndModal(wxID_FORWARD);
+    }
+
+  event.Skip();
+}
+
+void wxCDMNewPackageDialog::OnCancel(wxCommandEvent& event)
+{
+  this->EndModal(wxID_CANCEL);
+  event.Skip();
+}
diff --git a/lib/creaDevManagerLib/wxCDMNewPackageDialog.h b/lib/creaDevManagerLib/wxCDMNewPackageDialog.h
new file mode 100644
index 0000000..eda8a91
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMNewPackageDialog.h
@@ -0,0 +1,147 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMNewPackageDialog.h
+ *
+ *  Created on: 05/12/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMNEWPACKAGEDIALOG_H_
+#define WXCDMNEWPACKAGEDIALOG_H_
+
+#include <creaWx.h>
+#include <wx/dialog.h>
+
+/**
+ * Dialog to create a new Package in a Crea Project.
+ */
+class wxCDMNewPackageDialog : public wxDialog
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * New Package Dialog Constructor.
+   * @param parent Parent window reference.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "New Package".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 500, 400.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   */
+  wxCDMNewPackageDialog(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("New Package"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(500,400),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMNewPackageDialog();
+  /**
+   * New Package Dialog Creator.
+   * @param parent Parent window reference.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "New Package".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 500, 400.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("New Package"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(500,400),
+      long style = wxDEFAULT_DIALOG_STYLE
+  );
+
+  /**
+   * Returns the package name chosen by the user.
+   * @return Package name.
+   */
+  const wxString GetPackageName();
+  /**
+   * Returns the package author name chosen by the user.
+   * @return Package author name.
+   */
+  const wxString GetPackageAuthor();
+  /**
+   * Returns the package author's email chosen by the user.
+   * @return Package author's email.
+   */
+  const wxString GetPackageAuthorEmail();
+  /**
+   * Returns the package description chosen by the user.
+   * @return Package description.
+   */
+  const wxString GetPackageDescription();
+
+protected:
+  /**
+   * Creates the visual controls of the Dialog.
+   */
+  void CreateControls();
+
+private:
+  /**
+   * Package name.
+   */
+  wxTextCtrl* packageName;
+  /**
+   * Package author name.
+   */
+  wxTextCtrl* packageAuthor;
+  /**
+   * Package author's email.
+   */
+  wxTextCtrl* packageAuthorEmail;
+  /**
+   * Package description.
+   */
+  wxTextCtrl* packageDescription;
+
+  //handlers
+protected:
+  /**
+   * Handles when the create package button is pressed.
+   * @param event Unused event.
+   */
+  void OnCreatePackage(wxCommandEvent& event);
+  /**
+   * Handles when the cancel button is pressed.
+   * @param event Unused event.
+   */
+  void OnCancel(wxCommandEvent& event);
+};
+
+#endif /* WXCDMNEWPACKAGEDIALOG_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMNewProjectDialog.cpp b/lib/creaDevManagerLib/wxCDMNewProjectDialog.cpp
new file mode 100644
index 0000000..c3066a7
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMNewProjectDialog.cpp
@@ -0,0 +1,190 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * wxCDMNewProjectDialog.cpp
+ *
+ *  Created on: 13/11/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMNewProjectDialog.h"
+
+#include "creaDevManagerIds.h"
+
+BEGIN_EVENT_TABLE(wxCDMNewProjectDialog, wxDialog)
+  EVT_BUTTON(ID_BUTTON_NEXT, wxCDMNewProjectDialog::OnCreateProject)
+  EVT_BUTTON(ID_BUTTON_CANCEL, wxCDMNewProjectDialog::OnCancel)
+  EVT_BUTTON(ID_BUTTON_CHOOSE, wxCDMNewProjectDialog::OnChooseLocation)
+END_EVENT_TABLE()
+
+wxCDMNewProjectDialog::wxCDMNewProjectDialog(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMNewProjectDialog::Create(parent, id, caption, position, size, style);
+}
+
+wxCDMNewProjectDialog::~wxCDMNewProjectDialog()
+{
+}
+
+bool wxCDMNewProjectDialog::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long int style
+)
+{
+  wxDialog::Create(parent, id, caption, position, size, style);
+
+  this->CreateControls();
+
+  return TRUE;
+}
+
+const wxString wxCDMNewProjectDialog::GetProjectLocation()
+{
+  return this->projectLocation->GetLabel();
+}
+const wxString wxCDMNewProjectDialog::GetProjectName()
+{
+  return this->projectName->GetValue();
+}
+const wxString wxCDMNewProjectDialog::GetPackageAuthor()
+{
+  return this->packageAuthor->GetValue();
+}
+const wxString wxCDMNewProjectDialog::GetPackageDescription()
+{
+  return this->packageDescription->GetValue();
+}
+
+void wxCDMNewProjectDialog::CreateControls()
+{
+  wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
+
+
+  wxStaticText* title = new wxStaticText(this, wxID_ANY, wxT("Create a new project"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);//new wxRichTextCtrl(this,wxID_ANY, wxString("Create a new project"), wxDefaultPosition, wxDefaultSize, wxRE_READONLY);
+  v_sizer1->Add(title, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  wxStaticText* instruction = new wxStaticText(this, wxID_ANY, wxT("Please fill the following details."), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);
+  v_sizer1->Add(instruction, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  wxFlexGridSizer* formItems = new wxFlexGridSizer(4,2,9,15);
+
+  wxStaticText *stxtPrjLoc = new wxStaticText(this, -1, wxT("Project Location"));
+  wxStaticText *stxtPrjName = new wxStaticText(this, -1, wxT("Project Name"));
+  wxStaticText *stxtPrjAuth = new wxStaticText(this, -1, wxT("Default Package's Author (1 word)"));
+  wxStaticText *stxtPrjPkg = new wxStaticText(this, -1, wxT("Default Package's Description (HTML)"));
+
+  wxBoxSizer* h_sizer1 = new wxBoxSizer(wxHORIZONTAL);
+  wxButton *ddPrjLocBtn = new wxButton(this, ID_BUTTON_CHOOSE, wxT("Choose directory..."));
+  this->projectLocation = new wxStaticText(this, -1, wxT(""));
+  h_sizer1->Add(ddPrjLocBtn,0,wxALIGN_LEFT | wxLEFT | wxALIGN_CENTER_VERTICAL, 5);
+  h_sizer1->Add(this->projectLocation,0,wxALIGN_LEFT | wxLEFT | wxALIGN_CENTER_VERTICAL, 5);
+  h_sizer1->SetMinSize(wxSize(150, 20));
+
+  this->projectName = new wxTextCtrl(this, -1);
+  this->packageAuthor = new wxTextCtrl(this, -1);
+  this->packageDescription = new wxTextCtrl(this, -1, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE);
+
+  formItems->Add(stxtPrjLoc, 0, wxALIGN_CENTER_VERTICAL);
+  formItems->Add(h_sizer1, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+  formItems->Add(stxtPrjName, 0, wxALIGN_CENTER_VERTICAL);
+  formItems->Add(this->projectName, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+  formItems->Add(stxtPrjAuth, 0, wxALIGN_CENTER_VERTICAL);
+  formItems->Add(this->packageAuthor, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+  formItems->Add(stxtPrjPkg);
+  formItems->Add(this->packageDescription, 1, wxEXPAND);
+
+  formItems->AddGrowableCol(1,1);
+  formItems->AddGrowableRow(3,1);
+
+  v_sizer1->Add(formItems, 1, wxEXPAND | wxALL, 15);
+
+  wxBoxSizer* h_sizer2 = new wxBoxSizer(wxHORIZONTAL);
+  h_sizer2->Add(new wxButton(this, ID_BUTTON_NEXT, wxT("Create Project")), 0, wxALL | wxALIGN_CENTER_VERTICAL, 5);
+  h_sizer2->Add(new wxButton(this, ID_BUTTON_CANCEL, wxT("Cancel")), 0, wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  v_sizer1->Add(h_sizer2, 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM | wxALIGN_CENTER_VERTICAL, 30);
+
+  SetSizer(v_sizer1);
+  //v_sizer1->RecalcSizes();
+}
+
+void wxCDMNewProjectDialog::OnCreateProject(wxCommandEvent& event)
+{
+  bool ready = true;
+
+  if(ready && this->projectName->GetValue() == wxT(""))
+    {
+      wxMessageBox(wxT("The project name cannot be empty"),_T("Error"),wxOK | wxICON_ERROR);
+      ready = false;
+    }
+  if(ready && this->projectLocation->GetLabel() == wxT(""))
+    {
+      wxMessageBox(wxT("The project location cannot be empty"),_T("Error"),wxOK | wxICON_ERROR);
+      ready = false;
+    }
+  if(ready && this->packageAuthor->GetValue() == wxT(""))
+    {
+      wxMessageBox(wxT("The project's author cannot be empty"),_T("Error"),wxOK | wxICON_ERROR);
+      ready = false;
+    }
+
+  if(ready)
+    {
+      this->EndModal(wxID_FORWARD);
+    }
+
+  event.Skip();
+}
+
+void wxCDMNewProjectDialog::OnCancel(wxCommandEvent& event)
+{
+  this->EndModal(wxID_CANCEL);
+  event.Skip();
+}
+
+void wxCDMNewProjectDialog::OnChooseLocation(wxCommandEvent& event)
+{
+  wxDirDialog* dialog = new wxDirDialog(this, wxT("Choose the location of the new project"));
+  dialog->ShowModal();
+  this->projectLocation->SetLabel(dialog->GetPath());
+  this->Update();
+  event.Skip();
+}
+
diff --git a/lib/creaDevManagerLib/wxCDMNewProjectDialog.h b/lib/creaDevManagerLib/wxCDMNewProjectDialog.h
new file mode 100644
index 0000000..be99c95
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMNewProjectDialog.h
@@ -0,0 +1,153 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMNewProjectDialog.h
+ *
+ *  Created on: 13/11/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMNEWPROJECTDIALOG_H_
+#define WXCDMNEWPROJECTDIALOG_H_
+
+#include <creaWx.h>
+#include <wx/dialog.h>
+
+/**
+ * Dialog to create a new Crea Project.
+ */
+class wxCDMNewProjectDialog : public wxDialog
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * New Project Dialog Constructor.
+   * @param parent Parent window reference.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "New Project".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 700, 400.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   */
+  wxCDMNewProjectDialog(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("New Project"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(700,400),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMNewProjectDialog();
+  /**
+   * New Project Dialog Creator.
+   * @param parent Parent window reference.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "New Project".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 700, 400.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   * @return True if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("New Project"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(700,400),
+      long style = wxDEFAULT_DIALOG_STYLE
+  );
+
+  /**
+   * Returns the project location chosen by the user.
+   * @return Project creation path.
+   */
+  const wxString GetProjectLocation();
+  /**
+   * Returns the project name chosen by the user.
+   * @return Project name.
+   */
+  const wxString GetProjectName();
+  /**
+   * Returns the default package authors chosen by the user.
+   * @return Default Package authors.
+   */
+  const wxString GetPackageAuthor();
+  /**
+   * Returns the default package description chosen by the user.
+   * @return Default Package description.
+   */
+  const wxString GetPackageDescription();
+
+protected:
+  /**
+   * Creates the visual controls of the Dialog.
+   */
+  void CreateControls();
+
+private:
+  /**
+   * Project creation path.
+   */
+  wxStaticText* projectLocation;
+  /**
+   * Project Name.
+   */
+  wxTextCtrl* projectName;
+  /**
+   * Default Package Author.
+   */
+  wxTextCtrl* packageAuthor;
+  /**
+   * Default Package Description.
+   */
+  wxTextCtrl* packageDescription;
+
+  //handlers
+protected:
+  /**
+   * Handles when the create project button is pressed. If no path or no author was specified, the dialog shows an error.
+   * @param event Unused event.
+   */
+  void OnCreateProject(wxCommandEvent& event);
+  /**
+   * Handles when the cancel button is pressed.
+   * @param event Unused event.
+   */
+  void OnCancel(wxCommandEvent& event);
+  /**
+   * Handles when the choose location is pressed. a Directory dialog is shown and the new project location is chosen.
+   * @param event Unused event.
+   */
+  void OnChooseLocation(wxCommandEvent& event);
+};
+
+#endif /* WXCDMNEWPROJECTDIALOG_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMPackageConfigurationDialog.cpp b/lib/creaDevManagerLib/wxCDMPackageConfigurationDialog.cpp
new file mode 100644
index 0000000..2ab63a6
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMPackageConfigurationDialog.cpp
@@ -0,0 +1,239 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMPackageConfigurationDialog.cpp
+ *
+ *  Created on: 6/4/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMPackageConfigurationDialog.h"
+
+#include "creaDevManagerIds.h"
+
+BEGIN_EVENT_TABLE(wxCDMPackageConfigurationDialog, wxDialog)
+EVT_BUTTON(wxID_OK, wxCDMPackageConfigurationDialog::OnFinish)
+EVT_CHECKBOX(ID_CHECK_INCLUDE_3RDLIBRARY, wxCDMPackageConfigurationDialog::On3rdLibraryIncludeChange)
+EVT_CHECKBOX(ID_CHECK_INCLUDE_LIBRARY, wxCDMPackageConfigurationDialog::OnCustomLibraryIncludeChange)
+END_EVENT_TABLE()
+
+wxCDMPackageConfigurationDialog::wxCDMPackageConfigurationDialog(
+    wxWindow* parent,
+    modelCDMPackage* package,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long style
+)
+{
+  this->package = package;
+  wxCDMPackageConfigurationDialog::Create(parent, id, caption, position, size, style);
+}
+
+wxCDMPackageConfigurationDialog::~wxCDMPackageConfigurationDialog()
+{
+}
+
+bool wxCDMPackageConfigurationDialog::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long int style
+)
+{
+  wxDialog::Create(parent, id, caption, position, size, style);
+
+  this->CreateControls();
+
+  return TRUE;
+}
+
+void wxCDMPackageConfigurationDialog::CreateControls()
+{
+
+  wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
+
+
+  wxStaticText* title = new wxStaticText(this, wxID_ANY, wxT("Please select the libraries that are used in this package."), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);//new wxRichTextCtrl(this,wxID_ANY, wxString("Create a new project"), wxDefaultPosition, wxDefaultSize, wxRE_READONLY);
+  v_sizer1->Add(title, 0, wxEXPAND | wxALIGN_LEFT | wxALL, 5);
+
+  wxScrolledWindow* includesPanel = new wxScrolledWindow(this);
+  includesPanel->FitInside();
+  includesPanel->SetScrollRate(5,5);
+
+  wxBoxSizer* includesPanelSizer = new wxBoxSizer(wxVERTICAL);
+
+    //Third Party Libraries
+    wxStaticText* Title1 = new wxStaticText(includesPanel, wxID_ANY, wxT("Third Party Libraries:"));
+    wxFont font = Title1->GetFont();
+    font.SetWeight(wxFONTWEIGHT_BOLD);
+    Title1->SetFont(font);
+    includesPanelSizer->Add(Title1, 0, wxEXPAND);
+
+    //inclusion data
+    std::map<std::string, bool> inclusions = this->package->Get3rdPartyLibraries();
+    //includesGrid Sizer
+    wxFlexGridSizer* includesGridSizer = new wxFlexGridSizer(inclusions.size()+1, 2, 0, 5);
+
+    wxStaticText* ChBTitle = new wxStaticText(
+        includesPanel,
+        wxID_ANY,
+        wxT("Included"),
+        wxDefaultPosition,
+        wxDefaultSize,
+        wxALIGN_CENTER
+      );
+    wxStaticText* LNmTitle = new wxStaticText(
+        includesPanel,
+        wxID_ANY,
+        wxT("Library Name"),
+        wxDefaultPosition,
+        wxDefaultSize,
+        wxALIGN_LEFT
+      );
+
+    includesGridSizer->Add(ChBTitle, 1, wxEXPAND);
+    includesGridSizer->Add(LNmTitle, 1, wxEXPAND);
+
+    for (std::map<std::string, bool>::iterator it = inclusions.begin(); it != inclusions.end(); ++it) {
+      wxCheckBox* ChBIncl = new wxCheckBox(
+          includesPanel, ID_CHECK_INCLUDE_3RDLIBRARY, wxT(""), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT
+        );
+      ChBIncl->SetToolTip(crea::std2wx(
+          "When this box is checked the " + it->first + " library\n"
+          "is included in the project configuration for\n"
+          "this package including the following instruction\n"
+          "in the package's folder CMakeLists.txt file:\n"
+          "SET(${BBTK_PACKAGE_NAME}_USE_" + it->first+ "  ON)\n"
+          ));
+      ChBIncl->SetName(crea::std2wx(it->first));
+      ChBIncl->SetValue(it->second);
+      includesGridSizer->Add(ChBIncl, 0, wxEXPAND);
+
+      wxStaticText* LNmIncl = new wxStaticText(includesPanel, wxID_ANY, crea::std2wx(it->first));
+      includesGridSizer->Add(LNmIncl, 1, wxEXPAND);
+    }
+
+    includesGridSizer->AddGrowableCol(1,1);
+
+    includesPanelSizer->Add(includesGridSizer, 1, wxEXPAND | wxLEFT, 5);
+
+    //Custom Libraries
+    wxStaticText* Title2 = new wxStaticText(includesPanel, wxID_ANY, wxT("Custom Libraries:"));
+    font = Title2->GetFont();
+    font.SetWeight(wxFONTWEIGHT_BOLD);
+    Title2->SetFont(font);
+    includesPanelSizer->Add(Title2, 0, wxEXPAND);
+
+    //inclusion data
+    std::map<std::string, bool> inclusionsLibs = this->package->GetCustomLibraries();
+    //includesGrid Sizer
+    wxFlexGridSizer* includesLibGridSizer = new wxFlexGridSizer(inclusionsLibs.size()+1, 2, 0, 5);
+
+    wxStaticText* ChBTitle1 = new wxStaticText(
+        includesPanel,
+        wxID_ANY,
+        wxT("Included"),
+        wxDefaultPosition,
+        wxDefaultSize,
+        wxALIGN_CENTER
+      );
+    wxStaticText* LNmTitle1 = new wxStaticText(
+        includesPanel,
+        wxID_ANY,
+        wxT("Library Name"),
+        wxDefaultPosition,
+        wxDefaultSize,
+        wxALIGN_LEFT
+      );
+
+    includesLibGridSizer->Add(ChBTitle1, 1, wxEXPAND);
+    includesLibGridSizer->Add(LNmTitle1, 1, wxEXPAND);
+
+    for (std::map<std::string, bool>::iterator it = inclusionsLibs.begin(); it != inclusionsLibs.end(); ++it) {
+      wxCheckBox* ChBIncl = new wxCheckBox(
+          includesPanel, ID_CHECK_INCLUDE_LIBRARY, wxT(""), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT
+        );
+      ChBIncl->SetToolTip(crea::std2wx(
+          "When this box is checked the " + it->first + " custom\n"
+          "library is included in the project configuration for\n"
+          "this packages including the following code in the\n"
+          "package's folder CMakeLists.txt file:\n"
+          "SET(${BBTK_PACKAGE_NAME}_INCLUDE_DIRS\n"
+          "  ../lib/"+ it->first + "\n"
+          ")\n"
+          "SET(${BBTK_PACKAGE_NAME}_LIBS\n"
+          "  " + it->first+ "\n"
+          ")"));
+      ChBIncl->SetName(crea::std2wx(it->first));
+      ChBIncl->SetValue(it->second);
+      includesLibGridSizer->Add(ChBIncl, 0, wxEXPAND);
+
+      wxStaticText* LNmIncl = new wxStaticText(includesPanel, wxID_ANY, crea::std2wx(it->first));
+      includesLibGridSizer->Add(LNmIncl, 1, wxEXPAND);
+    }
+
+    includesLibGridSizer->AddGrowableCol(1,1);
+
+    includesPanelSizer->Add(includesLibGridSizer, 0, wxEXPAND | wxLEFT, 5);
+
+    includesPanel->SetSizer(includesPanelSizer);
+
+    v_sizer1->Add(includesPanel, 1, wxEXPAND | wxALL, 10);
+
+  v_sizer1->Add(new wxButton(this, wxID_OK, wxT("Close")), 0, wxALIGN_CENTER | wxRIGHT | wxBOTTOM, 30);
+
+  SetSizer(v_sizer1);
+}
+
+void wxCDMPackageConfigurationDialog::OnFinish(wxCommandEvent& event)
+{
+  this->EndModal(wxID_OK);
+}
+
+void wxCDMPackageConfigurationDialog::On3rdLibraryIncludeChange(
+    wxCommandEvent& event)
+{
+  if(this->package->Set3rdPartyLibrary(crea::wx2std(((wxCheckBox*)event.GetEventObject())->GetName()), ((wxCheckBox*)event.GetEventObject())->GetValue()))
+    ((wxCheckBox*)event.GetEventObject())->SetValue(((wxCheckBox*)event.GetEventObject())->GetValue());
+  else
+    ((wxCheckBox*)event.GetEventObject())->SetValue(!((wxCheckBox*)event.GetEventObject())->GetValue());
+}
+
+void wxCDMPackageConfigurationDialog::OnCustomLibraryIncludeChange(
+    wxCommandEvent& event)
+{
+  if(this->package->SetCustomLibrary(crea::wx2std(((wxCheckBox*)event.GetEventObject())->GetName()), ((wxCheckBox*)event.GetEventObject())->GetValue()))
+      ((wxCheckBox*)event.GetEventObject())->SetValue(((wxCheckBox*)event.GetEventObject())->GetValue());
+    else
+      ((wxCheckBox*)event.GetEventObject())->SetValue(!((wxCheckBox*)event.GetEventObject())->GetValue());
+}
diff --git a/lib/creaDevManagerLib/wxCDMPackageConfigurationDialog.h b/lib/creaDevManagerLib/wxCDMPackageConfigurationDialog.h
new file mode 100644
index 0000000..a839430
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMPackageConfigurationDialog.h
@@ -0,0 +1,127 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * wxCDMPackageConfigurationDialog.h
+ *
+ *  Created on: 6/4/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMPACKAGECONFIGURATIONDIALOG_H_
+#define WXCDMPACKAGECONFIGURATIONDIALOG_H_
+
+#include <creaWx.h>
+#include <wx/dialog.h>
+
+#include "modelCDMPackage.h"
+
+/**
+ * Package Configuration Dialog
+ */
+class wxCDMPackageConfigurationDialog : public wxDialog
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Package Configuration Dialog Constructor.
+   * @param parent Parent window.
+   * @param package Package Description reference.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Package Library Configuration".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 370.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE.
+   */
+  wxCDMPackageConfigurationDialog(
+      wxWindow* parent,
+      modelCDMPackage * package,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Package Library Configuration"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,370),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMPackageConfigurationDialog();
+  /**
+   * Package Configuration Dialog Creator.
+   * @param parent Parent window.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Package Library Configuration".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 370.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE.
+   * @return if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Package Library Configuration"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,370),
+      long style = wxDEFAULT_DIALOG_STYLE
+  );
+
+protected:
+  /**
+   * Creates the help controls (text and buttons).
+   */
+  void CreateControls();
+
+//attributes
+private:
+  /**
+   * Main panel reference.
+   */
+  modelCDMPackage* package;
+
+//handlers
+protected:
+  /**
+   * Handler to close configuration dialog.
+   * @param event Unused.
+   */
+  void OnFinish(wxCommandEvent& event);
+
+  /**
+   * Handler when a third party library include is pressed.
+   * @param event checkbox event.
+   */
+  void On3rdLibraryIncludeChange(wxCommandEvent& event);
+
+  /**
+   * Handler when a custom library include is pressed.
+   * @param event checkbox event.
+   */
+  void OnCustomLibraryIncludeChange(wxCommandEvent& event);
+};
+
+#endif /* WXCDMPACKAGECONFIGURATIONDIALOG_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMPackageDescriptionPanel.cpp b/lib/creaDevManagerLib/wxCDMPackageDescriptionPanel.cpp
new file mode 100644
index 0000000..c736270
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMPackageDescriptionPanel.cpp
@@ -0,0 +1,518 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMPackageDescriptionPanel.cpp
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMPackageDescriptionPanel.h"
+
+#include "wxCDMMainFrame.h"
+
+#include "creaDevManagerIds.h"
+#include "images/PkIcon64.xpm"
+
+#include "wxCDMNewBlackBoxDialog.h"
+#include "wxCDMPackageConfigurationDialog.h"
+#include <wx/textdlg.h>
+#include "CDMUtilities.h"
+
+#include <vector>
+#include "modelCDMCMakeListsFile.h"
+#include "wxCDMPackageHelpDialog.h"
+
+
+BEGIN_EVENT_TABLE(wxCDMPackageDescriptionPanel, wxPanel)
+EVT_HYPERLINK(ID_BUTTON_PREV, wxCDMPackageDescriptionPanel::OnBtnReturn)
+EVT_BUTTON(ID_BUTTON_SET_AUTHOR, wxCDMPackageDescriptionPanel::OnBtnSetAuthor)
+EVT_BUTTON(ID_BUTTON_SET_VERSION, wxCDMPackageDescriptionPanel::OnBtnSetVersion)
+EVT_BUTTON(ID_BUTTON_SET_DESCRIPTION, wxCDMPackageDescriptionPanel::OnBtnSetDescription)
+EVT_HYPERLINK(ID_LINK_SELECT_BLACKBOX, wxCDMPackageDescriptionPanel::OnLnkBlackBoxSelect)
+EVT_BUTTON(ID_BUTTON_CREATE_BLACKBOX, wxCDMPackageDescriptionPanel::OnBtnCreateBlackBox)
+EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMPackageDescriptionPanel::OnBtnEditCMakeLists)
+EVT_BUTTON(ID_BUTTON_OPEN_FOLDER, wxCDMPackageDescriptionPanel::OnBtnOpenFolder)
+EVT_BUTTON(ID_BUTTON_CHOOSE, wxCDMPackageDescriptionPanel::OnBtnConfigurePackage)
+END_EVENT_TABLE()
+
+wxCDMPackageDescriptionPanel::wxCDMPackageDescriptionPanel(
+    wxWindow* parent,
+    modelCDMPackage* package,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMPackageDescriptionPanel::Create(parent, package, id, caption, pos, size, style);
+}
+
+wxCDMPackageDescriptionPanel::~wxCDMPackageDescriptionPanel()
+{
+}
+
+bool wxCDMPackageDescriptionPanel::Create(
+    wxWindow* parent,
+    modelCDMPackage* package,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  this->package = package;
+  wxPanel::Create(parent, id, pos, size, style);
+  CreateControls();
+  // this part makes the scrollbars show up
+  this->FitInside(); // ask the sizer about the needed size
+  this->SetScrollRate(5, 5);
+  return TRUE;
+}
+
+void wxCDMPackageDescriptionPanel::CreateControls()
+{
+  wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+
+  //Links to return
+  wxBoxSizer *linksSizer = new wxBoxSizer(wxHORIZONTAL);
+  std::vector<modelCDMIProjectTreeNode*> parents = this->package->GetParents();
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      wxHyperlinkCtrl* returnLnk = new wxHyperlinkCtrl(this, ID_BUTTON_PREV, crea::std2wx(parents[parents.size()-1-i]->GetName()), crea::std2wx(parents[parents.size()-1-i]->GetPath()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+      returnLnk->SetWindowStyle(wxNO_BORDER);
+	  returnLnk->SetToolTip(crea::std2wx("Return to " + parents[parents.size()-1-i]->GetName() + "."));
+      linksSizer->Add(returnLnk, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5);
+      linksSizer->Add(new wxStaticText(this,wxID_ANY, wxT("/")), 0, wxALIGN_CENTER, 0);
+    }
+
+  linksSizer->Add(new wxStaticText(this, wxID_ANY, crea::std2wx(this->package->GetName())), 0, wxALIGN_CENTER, 0);
+
+  sizer->Add(linksSizer, 0, wxALIGN_CENTER | wxALL, 5);
+
+  //Header
+  wxBoxSizer* headerSizer = new wxBoxSizer(wxHORIZONTAL);
+  {
+    //Image
+    headerSizer->Add(new wxStaticBitmap(this, -1, wxBitmap(PkIcon64)),0, wxALIGN_CENTER, 0);
+    wxBoxSizer* textSizer = new wxBoxSizer(wxVERTICAL);
+    //Title
+    textSizer->Add(new wxStaticText(this, -1, _("Package")),0, wxALIGN_LEFT, 0);
+    //Package Name
+    textSizer->Add(new wxStaticText(this, -1, crea::std2wx(this->package->GetNamePackage())),0, wxALIGN_LEFT, 0);
+    headerSizer->Add(textSizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
+  }
+  sizer->Add(headerSizer, 0, wxALIGN_CENTER);
+
+  //Package Properties
+  wxStaticBoxSizer* propertiesBox = new wxStaticBoxSizer(wxVERTICAL, this, wxT("&Properties"));
+  wxPanel* propertiesPanel = new wxPanel(this);
+  wxBoxSizer* propertiesPanelSizer = new wxBoxSizer(wxVERTICAL);
+  wxFlexGridSizer* propertiesGridSizer = new wxFlexGridSizer(4, 2, 9, 15);
+
+  wxStaticText *pAuthor = new wxStaticText(propertiesPanel, -1, wxT("Author"));
+  wxStaticText *pVersion = new wxStaticText(propertiesPanel, -1, wxT("Version"));
+  wxStaticText *pDescription = new wxStaticText(propertiesPanel, -1, wxT("Description"));
+
+  // author
+  wxBoxSizer* pAuthorsz = new wxBoxSizer(wxHORIZONTAL);
+  this->authortc = new wxStaticText(propertiesPanel, wxID_ANY, crea::std2wx(this->package->GetAuthors()));
+  wxButton* pAuthorbt = new wxButton(propertiesPanel, ID_BUTTON_SET_AUTHOR, wxT("Change"));
+  pAuthorbt->SetToolTip(wxT("Update the author/s of the package."));
+  pAuthorsz->Add(this->authortc, 1, wxALIGN_CENTER_VERTICAL);
+  pAuthorsz->Add(pAuthorbt, 0, wxALIGN_CENTER | wxLEFT, 10);
+
+  // version
+  wxBoxSizer* pVersionsz = new wxBoxSizer(wxHORIZONTAL);
+  this->versiontc = new wxStaticText(propertiesPanel, wxID_ANY, crea::std2wx(this->package->GetVersion()));
+  wxButton* pVersionbt = new wxButton(propertiesPanel, ID_BUTTON_SET_VERSION, wxT("Set"));
+  pVersionbt->SetToolTip(wxT("Update the version of the package."));
+  pVersionsz->Add(this->versiontc, 1, wxALIGN_CENTER_VERTICAL);
+  pVersionsz->Add(pVersionbt, 0, wxALIGN_CENTER | wxLEFT, 10);
+
+  // description
+  wxBoxSizer* pDescriptionsz = new wxBoxSizer(wxHORIZONTAL);
+  this->descriptiontc = new wxStaticText(propertiesPanel, wxID_ANY, crea::std2wx(this->package->GetDescription()));
+  wxButton* pDescriptionbt = new wxButton(propertiesPanel, ID_BUTTON_SET_DESCRIPTION, wxT("Change"));
+  pDescriptionbt->SetToolTip(wxT("Update the description of the project."));
+  pDescriptionsz->Add(this->descriptiontc, 1, wxALIGN_CENTER_VERTICAL);
+  pDescriptionsz->Add(pDescriptionbt, 0, wxALIGN_CENTER | wxLEFT, 10);
+
+  propertiesGridSizer->Add(pAuthor, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
+  propertiesGridSizer->Add(pAuthorsz, 1, wxEXPAND);
+  propertiesGridSizer->Add(pVersion, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
+  propertiesGridSizer->Add(pVersionsz, 1, wxEXPAND);
+  propertiesGridSizer->Add(pDescription, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
+  propertiesGridSizer->Add(pDescriptionsz, 1, wxEXPAND);
+
+  propertiesGridSizer->AddGrowableCol(1,1);
+
+  propertiesPanelSizer -> Add(propertiesGridSizer, 1, wxEXPAND);
+  propertiesPanel->SetSizer(propertiesPanelSizer);
+  propertiesPanelSizer->Fit(propertiesPanel);
+  propertiesBox->Add(propertiesPanel, 0, wxEXPAND | wxALL, 5);
+
+  sizer->Add(propertiesBox, 0, wxEXPAND | wxALL, 10);
+
+  //Black Boxes
+  wxStaticBoxSizer* BBBox = new wxStaticBoxSizer(wxVERTICAL, this, wxT("A&vailable Black Boxes"));
+  BBBox->GetStaticBox()->SetToolTip(wxT("Select any of the available black boxes to see its details or modify them."));
+  wxPanel* BBPanel = new wxPanel(this);
+  wxBoxSizer* BBPanelSizer = new wxBoxSizer(wxVERTICAL);
+
+
+  std::vector<modelCDMBlackBox*> blackBoxes = this->package->GetSrc()->GetBlackBoxes();
+  for (int i = 0; i < (int)(blackBoxes.size()); i++)
+    {
+
+      if(blackBoxes[i] != NULL)
+        {
+
+			wxHyperlinkCtrl* pBBlk = new wxHyperlinkCtrl(BBPanel,ID_LINK_SELECT_BLACKBOX, crea::std2wx(blackBoxes[i]->GetName().c_str()), crea::std2wx(blackBoxes[i]->GetName().c_str()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+          pBBlk->SetWindowStyle(wxALIGN_LEFT | wxNO_BORDER);
+          std::string tt = "Author: " + blackBoxes[i]->GetAuthors() + "\nDescription: " + blackBoxes[i]->GetDescription() + "\nCategories: " + blackBoxes[i]->GetCategories();
+          pBBlk->SetToolTip(crea::std2wx(tt));
+          pBBlk->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageDescriptionPanel::OnMouseEnter,NULL,this);
+          pBBlk->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageDescriptionPanel::OnMouseExit,NULL,this);
+          BBPanelSizer -> Add(pBBlk, 0, wxEXPAND | wxALL, 5);
+        }
+    }
+
+  BBPanel->SetSizer(BBPanelSizer);
+  BBPanelSizer->Fit(BBPanel);
+  BBBox->Add(BBPanel, 1, wxEXPAND | wxALL, 5);
+  sizer -> Add(BBBox, 0, wxEXPAND | wxALL, 10);
+
+  //Actions
+  wxStaticBoxSizer* actionsBox = new wxStaticBoxSizer(wxHORIZONTAL, this, wxT("&Actions"));
+  wxPanel* actionsPanel = new wxPanel(this);
+  wxBoxSizer* actionsPanelSizer = new wxBoxSizer(wxHORIZONTAL);
+  //actionsGrid Sizer
+  wxFlexGridSizer* actionsGridSizer = new wxFlexGridSizer(2, 2, 9, 15);
+
+  wxButton* createBBbt = new wxButton(actionsPanel, ID_BUTTON_CREATE_BLACKBOX, _T("A. Create Black Box"));
+  createBBbt->SetToolTip(wxT("Create a new black box for the active project inside this package."));
+  actionsGridSizer->Add(createBBbt, 1, wxALL | wxEXPAND, 5);
+  wxButton* editConfbt = new wxButton(actionsPanel, ID_BUTTON_CHOOSE, _T("B. Configure Package"));
+  editConfbt->SetToolTip(wxT("Select the libraries your package is going to use. This procedure changes the package's CMakeLists file."));
+  actionsGridSizer->Add(editConfbt, 1, wxALL | wxEXPAND, 5);
+  wxButton* editCMakebt = new wxButton(actionsPanel, ID_BUTTON_EDIT_CMAKELISTSFILE, _T("Edit CMakeLists File"));
+  editCMakebt->SetToolTip(wxT("Open the system default text editor to edit the package's CMakeLists.txt file."));
+  editCMakebt->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageDescriptionPanel::OnCMakeMouseEnter,NULL,this);
+  editCMakebt->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageDescriptionPanel::OnCMakeMouseExit,NULL,this);
+  actionsGridSizer->Add(editCMakebt, 1, wxALL | wxEXPAND, 5);
+  wxButton* openFolderbt = new wxButton(actionsPanel, ID_BUTTON_OPEN_FOLDER, _T("Open Package Folder"));
+  openFolderbt->SetToolTip(wxT("Open the package folder in the file explorer."));
+  actionsGridSizer->Add(openFolderbt, 1, wxALL | wxEXPAND, 5);
+
+  actionsGridSizer->AddGrowableCol(0,1);
+  actionsGridSizer->AddGrowableCol(1,1);
+
+  actionsPanelSizer->Add(actionsGridSizer, 1, wxEXPAND, 0);
+  actionsPanel->SetSizer(actionsPanelSizer);
+  actionsPanelSizer->Fit(actionsPanel);
+  actionsBox->Add(actionsPanel, 1, wxEXPAND);
+  sizer -> Add(actionsBox, 0, wxEXPAND | wxALL, 10);
+
+  //Assign sizer
+  SetSizer(sizer);
+  sizer->SetSizeHints(this);
+
+  if (((wxCDMMainFrame*)this->GetParent())->isHelp())
+    {
+      wxCDMPackageHelpDialog* helpDialog = new wxCDMPackageHelpDialog(this->GetParent(), this->package, wxID_ANY);
+      helpDialog->Show(true);
+    }
+}
+
+void wxCDMPackageDescriptionPanel::OnBtnReturn(wxHyperlinkEvent& event)
+{
+  std::vector<modelCDMIProjectTreeNode*> parents = this->package->GetParents();
+  std::string parentURL = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  //std::cout << parentURL << std::endl;
+  for (int i = 0; i < (int)(parents.size()); i++)
+    {
+      if (parents[i]->GetPath() == parentURL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+          newEvent->SetClientData(parents[i]);
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+}
+
+void wxCDMPackageDescriptionPanel::OnBtnSetAuthor(wxCommandEvent& event)
+{
+  //get author from user
+  wxTextEntryDialog* authDlg = new wxTextEntryDialog(
+      this,
+      wxT("Enter the new authors name. Separate each author with a '/'."),
+      wxT("Change Package Author - creaDevManager"),
+      crea::std2wx(this->package->GetAuthors()),
+      wxTE_MULTILINE | wxOK | wxCANCEL
+  );
+
+  if (authDlg->ShowModal() == wxID_OK)
+    {
+      std::string authorsStr = crea::wx2std(authDlg->GetValue());
+      //check name
+      if(authorsStr.size() > 0)
+        {
+          std::string* result;
+          if(!this->package->SetAuthors(authorsStr, result))
+            wxMessageBox(crea::std2wx(*result),_T("Change Package Author - Error!"),wxOK | wxICON_ERROR);
+        }
+      this->authortc->SetLabel(crea::std2wx(this->package->GetAuthors()));
+      this->authortc->GetParent()->GetSizer()->RecalcSizes();
+    }
+
+}
+
+void wxCDMPackageDescriptionPanel::OnBtnSetVersion(wxCommandEvent& event)
+{
+  //get version
+  wxString versionWx = wxGetTextFromUser(
+      wxT("Enter the new version name"),
+      wxT("Change Package Version - creaDevManager"),
+      crea::std2wx(this->package->GetVersion())
+  );
+  //check name
+  std::vector<std::string> parts;
+  CDMUtilities::splitter::split(parts, crea::wx2std(versionWx), " .", CDMUtilities::splitter::no_empties);
+  if(parts.size() == 3)
+    {
+      std::string* result;
+      if(!this->package->SetVersion(crea::wx2std(versionWx), result))
+        wxMessageBox(crea::std2wx(*result),_T("Change Package Version - Error!"),wxOK | wxICON_ERROR);
+    }
+  else
+    {
+      wxMessageBox(crea::std2wx("The version format is incorrect, please follow the following format:\nX.Y.Z\nX: Major Version\nY: Minor Version\nZ: Build Version"),_T("Set Project Version - Error!"),wxOK | wxICON_ERROR);
+    }
+  this->versiontc->SetLabel(crea::std2wx(this->package->GetVersion()));
+}
+
+void wxCDMPackageDescriptionPanel::OnBtnSetDescription(wxCommandEvent& event)
+{
+  //get description from user
+  wxTextEntryDialog* descDlg = new wxTextEntryDialog(
+      this,
+      wxT("Edit the package description."),
+      wxT("Change Package Description - creaDevManager"),
+      crea::std2wx(this->package->GetDescription()),
+      wxTE_MULTILINE | wxOK | wxCANCEL
+  );
+
+  if (descDlg->ShowModal() == wxID_OK)
+    {
+      std::string descriptionStr = crea::wx2std(descDlg->GetValue());
+      //check desc
+      if(descriptionStr.size() > 0)
+        {
+          std::string* result;
+          if(!this->package->SetDescription(descriptionStr, result))
+            wxMessageBox(crea::std2wx(*result),_T("Change Package Description - Error!"),wxOK | wxICON_ERROR);
+        }
+      this->descriptiontc->SetLabel(crea::std2wx(this->package->GetDescription()));
+      this->descriptiontc->GetParent()->GetSizer()->RecalcSizes();
+    }
+}
+
+void wxCDMPackageDescriptionPanel::OnLnkBlackBoxSelect(wxHyperlinkEvent& event)
+{
+  modelCDMBlackBox* bb;
+  std::vector<modelCDMBlackBox*> bbs = this->package->GetSrc()->GetBlackBoxes();
+  for (int i = 0; i < (int)(bbs.size()); i++)
+    {
+      if(bbs[i]->GetName() == crea::wx2std(event.GetURL()))
+        {
+          bb = bbs[i];
+          break;
+        }
+    }
+
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+  newEvent->SetClientData(bb);
+  newEvent->SetId(1);
+  newEvent->SetString(wxT("blackbox"));
+  wxPostEvent(this->GetParent(), *newEvent);
+
+  wxCommandEvent* newEvent1 = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+  newEvent1->SetClientData(bb->GetHeaderFile());
+  newEvent1->SetId(0);
+  wxPostEvent(this->GetParent(), *newEvent1);
+
+}
+
+void wxCDMPackageDescriptionPanel::OnBtnCreateBlackBox(wxCommandEvent& event)
+{
+
+  wxCDMNewBlackBoxDialog* dialog = new wxCDMNewBlackBoxDialog(this);
+  long userResponse;
+  userResponse = dialog->ShowModal();
+
+  if(userResponse == wxID_FORWARD)
+    {
+      std::string* result;
+      //create black box
+      modelCDMIProjectTreeNode* blackBox = this->package->CreateBlackBox(
+          result,
+          crea::wx2std(dialog->GetBlackBoxName()),
+          crea::wx2std(dialog->GetBlackBoxType()),
+          crea::wx2std(dialog->GetBlackBoxFormat()),
+          crea::wx2std(dialog->GetBlackBoxCategories()),
+          crea::wx2std(dialog->GetBlackBoxAuthor()),
+          crea::wx2std(dialog->GetBlackBoxAuthorEmail()),
+          crea::wx2std(dialog->GetBlackBoxDescription())
+      );
+      //check black box created
+      if(blackBox == NULL)
+        {
+          wxMessageBox(crea::std2wx(*result),_T("New Black Box - Error!"),wxOK | wxICON_ERROR);
+          return;
+        }
+      wxMessageBox(crea::std2wx("Black box successfully created."),_T("New Black Box - Success!"),wxOK | wxICON_INFORMATION);
+
+      //refreshing tree and description
+      //send event instead of calling parent to avoid crashing
+
+      ((wxCDMMainFrame*)this->GetParent())->RefreshProject();
+
+      wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+      newEvent->SetId(1);
+      newEvent->SetClientData(blackBox);
+      newEvent->SetString(wxT("blackbox"));
+      newEvent->SetClientData(blackBox);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+}
+
+void
+wxCDMPackageDescriptionPanel::OnBtnConfigurePackage(wxCommandEvent& event)
+{
+  wxCDMPackageConfigurationDialog* dialog = new wxCDMPackageConfigurationDialog(this,this->package);
+  long userResponse;
+  userResponse = dialog->ShowModal();
+}
+
+void wxCDMPackageDescriptionPanel::OnBtnEditCMakeLists(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->package->OpenCMakeListsFile(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->package->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->package->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+
+  event.Skip();
+}
+
+void wxCDMPackageDescriptionPanel::OnBtnOpenFolder(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->package->OpenInFileExplorer(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open Folder - Error!"),wxOK | wxICON_ERROR);
+}
+
+void wxCDMPackageDescriptionPanel::OnMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+  std::string BBName = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+
+  modelCDMFile* bbHeader = NULL;
+  std::vector<modelCDMBlackBox*> boxes = this->package->GetSrc()->GetBlackBoxes();
+  for (int i = 0; i < (int)(boxes.size()); i++)
+    {
+      if(boxes[i]->GetName() == BBName)
+        {
+          bbHeader = boxes[i]->GetHeaderFile();
+          break;
+        }
+    }
+  newEvent->SetClientData(bbHeader);
+  newEvent->SetId(0);
+  wxPostEvent(this->GetParent(), *newEvent);
+  event.Skip();
+}
+
+void wxCDMPackageDescriptionPanel::OnMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+  std::string BBName = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  modelCDMFile* bbHeader = NULL;
+  std::vector<modelCDMBlackBox*> boxes = this->package->GetSrc()->GetBlackBoxes();
+  for (int i = 0; i < (int)(boxes.size()); i++)
+    {
+      if(boxes[i]->GetName() == BBName)
+        {
+          bbHeader = boxes[i]->GetHeaderFile();
+          break;
+        }
+    }
+  newEvent->SetClientData(bbHeader);
+  newEvent->SetId(0);
+  wxPostEvent(this->GetParent(), *newEvent);
+  event.Skip();
+}
+
+void wxCDMPackageDescriptionPanel::OnCMakeMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+  if(this->package->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->package->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMPackageDescriptionPanel::OnCMakeMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->package->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->package->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+
diff --git a/lib/creaDevManagerLib/wxCDMPackageDescriptionPanel.h b/lib/creaDevManagerLib/wxCDMPackageDescriptionPanel.h
new file mode 100644
index 0000000..6e992bd
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMPackageDescriptionPanel.h
@@ -0,0 +1,179 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMPackageDescriptionPanel.h
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMPACKAGEDESCRIPTIONPANEL_H_
+#define WXCDMPACKAGEDESCRIPTIONPANEL_H_
+
+#include <creaWx.h>
+#include <wx/hyperlink.h>
+
+#include "modelCDMPackage.h"
+
+/**
+ * Package description panel. Shows the package's properties and the available actions for a package.
+ */
+class wxCDMPackageDescriptionPanel : public wxScrolledWindow
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Package description panel Constructor.
+   * @param parent Parent window reference.
+   * @param package Package class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+  wxCDMPackageDescriptionPanel(
+      wxWindow* parent,
+      modelCDMPackage* package,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Destructor
+   */
+  ~wxCDMPackageDescriptionPanel();
+
+  /**
+   * Package description panel Creator.
+   * @param parent Parent window reference.
+   * @param package Package class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   * @return True if creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      modelCDMPackage* package,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Creates all the controls in the panel (property and action controls).
+   */
+  void CreateControls();
+
+private:
+  /**
+   * Package described.
+   */
+  modelCDMPackage* package;
+  /**
+   * Control with the package author.
+   */
+  wxStaticText* authortc;
+  /**
+   * Control with the package version.
+   */
+  wxStaticText* versiontc;
+  /**
+   * Control with the package description.
+   */
+  wxStaticText* descriptiontc;
+
+  //handlers
+protected:
+  /**
+   * Handles when a return link is pressed.
+   */
+  void OnBtnReturn(wxHyperlinkEvent& event);
+
+  /**
+   * Handles when the Set author button is pressed.
+   */
+  void OnBtnSetAuthor(wxCommandEvent& event);
+  /**
+   * Handles when the Set version button is pressed.
+   */
+  void OnBtnSetVersion(wxCommandEvent& event);
+  /**
+   * Handles when the Change description button is pressed.
+   */
+  void OnBtnSetDescription(wxCommandEvent& event);
+
+  /**
+   * Handles when a black box link is pressed.
+   */
+  void OnLnkBlackBoxSelect(wxHyperlinkEvent& event);
+
+  /**
+   * Handles when the create black box button is pressed.
+   */
+  void OnBtnCreateBlackBox(wxCommandEvent& event);
+  /**
+   * Handles when the configure package button is pressed.
+   */
+  void OnBtnConfigurePackage(wxCommandEvent& event);
+  /**
+   * Handles when the edit cmakelists file button is pressed.
+   */
+  void OnBtnEditCMakeLists(wxCommandEvent& event);
+  /**
+   * Handles when the open folder button is pressed.
+   */
+  void OnBtnOpenFolder(wxCommandEvent& event);
+  /**
+   * Handles when a black box link is hovered.
+   */
+  void OnMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when a black box link exits hover.
+   */
+  void OnMouseExit(wxMouseEvent& event);
+  /**
+   * Handles when the edit cmakelists file button is hovered.
+   */
+  void OnCMakeMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when the edit cmakelists file button exits hover.
+   */
+  void OnCMakeMouseExit(wxMouseEvent& event);
+
+};
+
+#endif /* WXCDMPACKAGEDESCRIPTIONPANEL_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMPackageHelpDialog.cpp b/lib/creaDevManagerLib/wxCDMPackageHelpDialog.cpp
new file mode 100644
index 0000000..83d7e1d
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMPackageHelpDialog.cpp
@@ -0,0 +1,259 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMPackageHelpDialog.cpp
+ *
+ *  Created on: 9/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMPackageHelpDialog.h"
+
+#include "creaDevManagerIds.h"
+
+#include "modelCDMProject.h"
+
+BEGIN_EVENT_TABLE(wxCDMPackageHelpDialog, wxDialog)
+EVT_BUTTON(ID_BUTTON_OPENPROJECT, wxCDMPackageHelpDialog::OnCMakeLists)
+EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMPackageHelpDialog::OnCMakeLists)
+EVT_BUTTON(ID_BUTTON_CANCEL, wxCDMPackageHelpDialog::OnFinish)
+EVT_CHECKBOX(ID_CHECKBOX_DISABLE_HELP, wxCDMPackageHelpDialog::OnDisableHelp)
+END_EVENT_TABLE()
+
+wxCDMPackageHelpDialog::wxCDMPackageHelpDialog(
+    wxWindow* parent,
+    modelCDMPackage* package,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMPackageHelpDialog::Create(parent, id, caption, position, size, style);
+  this->package = package;
+}
+
+wxCDMPackageHelpDialog::~wxCDMPackageHelpDialog()
+{
+}
+
+bool wxCDMPackageHelpDialog::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long int style
+)
+{
+  wxDialog::Create(parent, id, caption, position, size, style);
+
+  this->CreateControls();
+
+  return TRUE;
+}
+
+void wxCDMPackageHelpDialog::CreateControls()
+{
+
+  wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
+
+
+  wxStaticText* title = new wxStaticText(this, wxID_ANY, wxT("Working with Packages"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);//new wxRichTextCtrl(this,wxID_ANY, wxString("Create a new project"), wxDefaultPosition, wxDefaultSize, wxRE_READONLY);
+  v_sizer1->Add(title, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  wxStaticText* instruction = new wxStaticText(
+      this,
+      wxID_ANY,
+      crea::std2wx(
+          "Packages contain black boxes, which allow to work modularly with other boxes. This boxes can use the functions "
+          "present in your libraries and expose them to work in a BBTK-fashion.\n"
+          "\n"
+          "To create a black box click on the \"Create Black Box\" button.\n"
+          "If you want to check the files in the file explorer click the \"Open Package Folder\" "
+          "button.\n"
+          "\n"
+          "Don't forget to include the libraries your black boxes use in the Package directory CMakeLists.txt file by "
+          "uncommenting the \"SET\" commands for third party libraries or by including the library name inside the "
+          "\"SET(${BBTK_PACKAGE_NAME}_LIBS\"command and its path inside the \"SET(${BBTK_PACKAGE_NAME}_INCLUDE_DIRS\" "
+          "command for custom libraries.\n"
+          "Also, make sure you include this package in the Project directory's CMakeLists.txt file\n using the "
+          "ADD_SUBDIRECTORY([packageName]) command.\n"
+          "You can open these files with the following buttons."),
+          wxDefaultPosition,
+          wxDefaultSize,
+          wxALIGN_LEFT
+  );
+  v_sizer1->Add(instruction, 0,wxEXPAND | wxALL, 5);
+
+  wxButton* editCMakePkgBtn = new wxButton(this, ID_BUTTON_EDIT_CMAKELISTSFILE, wxT("Open Package's directory CMakeLists file"));
+  editCMakePkgBtn->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageHelpDialog::OnCMakeListsEnter,NULL,this);
+  editCMakePkgBtn->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageHelpDialog::OnCMakeListsExit,NULL,this);
+  wxButton* editCMakePrjBtn= new wxButton(this, ID_BUTTON_OPENPROJECT, wxT("Open Project's directory CMakeLists file"));
+  editCMakePrjBtn->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageHelpDialog::OnCMakeListsEnter,NULL,this);
+  editCMakePrjBtn->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageHelpDialog::OnCMakeListsExit,NULL,this);
+
+  v_sizer1->Add(editCMakePkgBtn, 0, wxEXPAND | wxLEFT | wxRIGHT, 15);
+  v_sizer1->Add(editCMakePrjBtn, 0, wxEXPAND | wxLEFT | wxRIGHT, 15);
+
+  v_sizer1->Add(new wxCheckBox(this, ID_CHECKBOX_DISABLE_HELP, wxT("&Disable help")), 0, wxALIGN_RIGHT | wxRIGHT, 10);
+
+  v_sizer1->Add(new wxButton(this, ID_BUTTON_CANCEL, wxT("Close")), 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM | wxALIGN_CENTER_VERTICAL, 30);
+
+  SetSizer(v_sizer1);
+  //v_sizer1->RecalcSizes();
+}
+
+void wxCDMPackageHelpDialog::OnCMakeLists(wxCommandEvent& event)
+{
+  std::string* result;
+
+  if((int)((wxButton*)event.GetEventObject())->GetId() == (int)ID_BUTTON_EDIT_CMAKELISTSFILE)
+    {
+
+      if(!this->package->OpenCMakeListsFile(result))
+        wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+      wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+      if(this->package->GetCMakeLists() != NULL)
+        {
+          newEvent->SetClientData(this->package->GetCMakeLists());
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+  else if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_OPENPROJECT)
+    {
+      modelCDMIProjectTreeNode* node = this->package;
+      while (node != NULL && dynamic_cast<modelCDMProject*>(node) == NULL)
+        {
+          node = node->GetParent();
+        }
+      if (node != NULL)
+        {
+          if(!((modelCDMProject*)node)->OpenCMakeListsFile(result))
+            wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+          if(((modelCDMProject*)node)->GetCMakeLists() != NULL)
+            {
+              newEvent->SetClientData(((modelCDMProject*)node)->GetCMakeLists());
+              newEvent->SetId(0);
+              wxPostEvent(this->GetParent(), *newEvent);
+            }
+        }
+      else
+        {
+          wxMessageBox(crea::std2wx("No project CMakeLists file was found."),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+        }
+    }
+}
+
+void wxCDMPackageHelpDialog::OnCMakeListsEnter(wxMouseEvent& event)
+{
+  if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_EDIT_CMAKELISTSFILE)
+    {
+      wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+      if(this->package->GetCMakeLists() != NULL)
+        {
+          newEvent->SetClientData(this->package->GetCMakeLists());
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+  else if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_OPENPROJECT)
+    {
+      modelCDMIProjectTreeNode* node = this->package;
+      while (node != NULL && dynamic_cast<modelCDMProject*>(node) == NULL)
+        {
+          node = node->GetParent();
+        }
+      if (node != NULL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+          if(((modelCDMProject*)node)->GetCMakeLists() != NULL)
+            {
+              newEvent->SetClientData(((modelCDMProject*)node)->GetCMakeLists());
+              newEvent->SetId(0);
+              wxPostEvent(this->GetParent(), *newEvent);
+            }
+        }
+    }
+  event.Skip();
+}
+
+void wxCDMPackageHelpDialog::OnCMakeListsExit(wxMouseEvent& event)
+{
+  if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_EDIT_CMAKELISTSFILE)
+    {
+      wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+      if(this->package->GetCMakeLists() != NULL)
+        {
+          newEvent->SetClientData(this->package->GetCMakeLists());
+          newEvent->SetId(0);
+          wxPostEvent(this->GetParent(), *newEvent);
+        }
+    }
+  else if(((wxButton*)event.GetEventObject())->GetId() == ID_BUTTON_OPENPROJECT)
+    {
+      modelCDMIProjectTreeNode* node = this->package;
+      while (node != NULL && dynamic_cast<modelCDMProject*>(node) == NULL)
+        {
+          node = node->GetParent();
+        }
+      if (node != NULL)
+        {
+          wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+          if(((modelCDMProject*)node)->GetCMakeLists() != NULL)
+            {
+              newEvent->SetClientData(((modelCDMProject*)node)->GetCMakeLists());
+              newEvent->SetId(0);
+              wxPostEvent(this->GetParent(), *newEvent);
+            }
+        }
+    }
+  event.Skip();
+}
+
+void wxCDMPackageHelpDialog::OnFinish(wxCommandEvent& event)
+{
+  this->EndDialog(wxID_CANCEL);
+}
+
+void wxCDMPackageHelpDialog::OnDisableHelp(wxCommandEvent& event)
+{
+  wxPostEvent(this->GetParent(), event);
+}
diff --git a/lib/creaDevManagerLib/wxCDMPackageHelpDialog.h b/lib/creaDevManagerLib/wxCDMPackageHelpDialog.h
new file mode 100644
index 0000000..870f7a7
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMPackageHelpDialog.h
@@ -0,0 +1,139 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * wxCDMPackageHelpDialog.h
+ *
+ *  Created on: 9/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMPACKAGEHELPDIALOG_H_
+#define WXCDMPACKAGEHELPDIALOG_H_
+
+#include <creaWx.h>
+#include <wx/dialog.h>
+
+#include "modelCDMPackage.h"
+
+#include <vector>
+
+/**
+ * Package Panel Help Dialog
+ */
+class wxCDMPackageHelpDialog : public wxDialog
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Package Panel Help Dialog Constructor.
+   * @param parent Parent window.
+   * @param package Package class reference.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Working with Packages".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 570.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   */
+  wxCDMPackageHelpDialog(
+      wxWindow* parent,
+      modelCDMPackage* package,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Working With Packages"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,570),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMPackageHelpDialog();
+  /**
+   * Package Panel Help Dialog Constructor.
+   * @param parent Parent window.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Working with Packages".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 570.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   * @return if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Working With Packages"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,570),
+      long style = wxDEFAULT_DIALOG_STYLE
+  );
+
+protected:
+  /**
+   * Creates the help controls (text and buttons).
+   */
+  void CreateControls();
+
+private:
+  /**
+   * Package class reference.
+   */
+  modelCDMPackage* package;
+
+//handlers
+protected:
+  /**
+   * Handler to close help dialog.
+   * @param event Unused.
+   */
+  void OnFinish(wxCommandEvent& event);
+
+  /**
+   * Handler when a cmakelists button is pressed.
+   * @param event cmakelists event.
+   */
+  void OnCMakeLists(wxCommandEvent& event);
+
+  /**
+   * Handler when a cmakelists button is hovered.
+   * @param event cmakelists event.
+   */
+  void OnCMakeListsEnter(wxMouseEvent& event);
+  /**
+   * Handler when a cmakelists button hover finishes.
+   * @param event cmakelists event.
+   */
+  void OnCMakeListsExit(wxMouseEvent& event);
+
+  /**
+   * Handler when the disable help checkbox is changed.
+   * @param event check box event.
+   */
+  void OnDisableHelp(wxCommandEvent& event);
+};
+
+#endif /* WXCDMPACKAGEHELPDIALOG_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMPackageManagerHelpDialog.cpp b/lib/creaDevManagerLib/wxCDMPackageManagerHelpDialog.cpp
new file mode 100644
index 0000000..24c4733
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMPackageManagerHelpDialog.cpp
@@ -0,0 +1,187 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMPackageManagerHelpDialog.cpp
+ *
+ *  Created on: 7/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMPackageManagerHelpDialog.h"
+
+#include "creaDevManagerIds.h"
+
+BEGIN_EVENT_TABLE(wxCDMPackageManagerHelpDialog, wxDialog)
+EVT_BUTTON(ID_BUTTON_CANCEL, wxCDMPackageManagerHelpDialog::OnFinish)
+EVT_BUTTON(ID_BUTTON_CREATE_PACKAGE, wxCDMPackageManagerHelpDialog::OnCreatePackage)
+EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMPackageManagerHelpDialog::OnEditCMake)
+EVT_CHECKBOX(ID_CHECKBOX_DISABLE_HELP, wxCDMPackageManagerHelpDialog::OnDisableHelp)
+END_EVENT_TABLE()
+
+wxCDMPackageManagerHelpDialog::wxCDMPackageManagerHelpDialog(
+    wxWindow* parent,
+    wxCDMPackageManagerPanel* packageManager,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMPackageManagerHelpDialog::Create(parent, id, caption, position, size, style);
+  this->packageManager = packageManager;
+}
+
+wxCDMPackageManagerHelpDialog::~wxCDMPackageManagerHelpDialog()
+{
+}
+
+bool wxCDMPackageManagerHelpDialog::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long int style
+)
+{
+  wxDialog::Create(parent, id, caption, position, size, style);
+
+  this->CreateControls();
+
+  return TRUE;
+}
+
+void wxCDMPackageManagerHelpDialog::CreateControls()
+{
+  wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
+
+
+  wxStaticText* title = new wxStaticText(this, wxID_ANY, wxT("Managing your packages"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);//new wxRichTextCtrl(this,wxID_ANY, wxString("Create a new project"), wxDefaultPosition, wxDefaultSize, wxRE_READONLY);
+  v_sizer1->Add(title, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  wxStaticText* instruction = new wxStaticText(
+      this,
+      wxID_ANY,
+      crea::std2wx(
+          "Packages contain black boxes, which allow to work modularly with other boxes. This boxes can use the functions "
+          "present in your libraries and expose them to work in a BBTK-fashion.\n"
+          "\n"
+          "In the package manager you can view a list of the available packages in the current project, as well as create "
+          "new packages. Remember that any package you make must be included in the CMakeLists file. You can do that by "
+          "clicking on the \"Edit CMakeLists File\" button in the package manager section and include the desired packages "
+          "at the end of the file using \"ADD_SUBDIRECTORY([packageName])\"."),
+          wxDefaultPosition,
+          wxDefaultSize,
+          wxALIGN_LEFT
+  );
+  v_sizer1->Add(instruction, 0,wxEXPAND | wxALL, 5);
+
+//  wxFlexGridSizer* formItems = new wxFlexGridSizer(1,2,9,15);
+//
+//  wxButton* createPackageBtn = new wxButton(this, ID_BUTTON_CREATE_PACKAGE, wxT("Create a Package"));
+//  wxButton* editCMakeBtn= new wxButton(this, ID_BUTTON_EDIT_CMAKELISTSFILE, wxT("Edit the CMakeLists File"));
+//  editCMakeBtn->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageManagerHelpDialog::OnEditCMakeMouseEnter,NULL,this);
+//  editCMakeBtn->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageManagerHelpDialog::OnEditCMakeMouseExit,NULL,this);
+//
+//  formItems->Add(createPackageBtn, 1, wxALIGN_CENTER);
+//  formItems->Add(editCMakeBtn, 1, wxALIGN_CENTER);
+//
+//  formItems->AddGrowableCol(0,1);
+//  formItems->AddGrowableCol(1,1);
+//
+//  v_sizer1->Add(formItems, 1, wxEXPAND | wxALL, 15);
+
+  v_sizer1->Add(new wxCheckBox(this, ID_CHECKBOX_DISABLE_HELP, wxT("&Disable help")), 0, wxALIGN_RIGHT | wxRIGHT, 10);
+
+  v_sizer1->Add(new wxButton(this, ID_BUTTON_CANCEL, wxT("Close")), 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM | wxALIGN_CENTER_VERTICAL, 30);
+
+  SetSizer(v_sizer1);
+  //v_sizer1->RecalcSizes();
+}
+
+void wxCDMPackageManagerHelpDialog::OnFinish(wxCommandEvent& event)
+{
+  this->EndDialog(wxID_CANCEL);
+}
+
+void wxCDMPackageManagerHelpDialog::OnCreatePackage(wxCommandEvent& event)
+{
+  if(this->packageManager != NULL)
+    {
+      wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_TOOL_CLICKED);
+      wxPostEvent(this->packageManager, *newEvent);
+    }
+  event.Skip();
+
+  this->EndDialog(wxID_OK);
+}
+
+void wxCDMPackageManagerHelpDialog::OnEditCMake(wxCommandEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_TOOL_ENTER);
+  if(this->packageManager != NULL)
+    wxPostEvent(this->packageManager, *newEvent);
+  event.Skip();
+
+  this->EndDialog(wxID_OK);
+}
+
+
+void wxCDMPackageManagerHelpDialog::OnEditCMakeMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+  if(packageManager->GetProject()->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(packageManager->GetProject()->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMPackageManagerHelpDialog::OnEditCMakeMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(packageManager->GetProject()->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(packageManager->GetProject()->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+
+void wxCDMPackageManagerHelpDialog::OnDisableHelp(wxCommandEvent& event)
+{
+  wxPostEvent(this->GetParent(), event);
+}
diff --git a/lib/creaDevManagerLib/wxCDMPackageManagerHelpDialog.h b/lib/creaDevManagerLib/wxCDMPackageManagerHelpDialog.h
new file mode 100644
index 0000000..50c8ed1
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMPackageManagerHelpDialog.h
@@ -0,0 +1,143 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * wxCDMPackageManagerHelpDialog.h
+ *
+ *  Created on: 7/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMPACKAGEMANAGERHELPDIALOG_H_
+#define WXCDMPACKAGEMANAGERHELPDIALOG_H_
+
+#include <creaWx.h>
+#include <wx/dialog.h>
+
+#include "wxCDMPackageManagerPanel.h"
+
+/**
+ * Package Manager Panel Help Dialog
+ */
+class wxCDMPackageManagerHelpDialog : public wxDialog
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Package Manager Panel Help Dialog Constructor.
+   * @param parent Parent window.
+   * @param packageManager Package Manager panel reference.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Managing Packages".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 450.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   */
+  wxCDMPackageManagerHelpDialog(
+      wxWindow* parent,
+      wxCDMPackageManagerPanel* packageManager,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Managing Packages"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,450),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMPackageManagerHelpDialog();
+  /**
+   * Package Manager Panel Help Dialog Creator.
+   * @param parent Parent window.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Managing Packages".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 450.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   * @return if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Managing Packages"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,450),
+      long style = wxDEFAULT_DIALOG_STYLE
+  );
+
+protected:
+  /**
+   * Creates the help controls (text and buttons).
+   */
+  void CreateControls();
+
+//attributes
+private:
+  /**
+   * Package Manager panel reference.
+   */
+  wxCDMPackageManagerPanel* packageManager;
+
+//handlers
+protected:
+  /**
+   * Handler to close help dialog.
+   * @param event Unused.
+   */
+  void OnFinish(wxCommandEvent& event);
+
+  /**
+   * Handler when the create package button is pressed.
+   * @param event Unused.
+   */
+  void OnCreatePackage(wxCommandEvent& event);
+  /**
+   * Handler when a cmakelists button is pressed.
+   * @param event cmakelists event.
+   */
+  void OnEditCMake(wxCommandEvent& event);
+
+  /**
+   * Handler when a cmakelists button is hovered.
+   * @param event cmakelists event.
+   */
+  void OnEditCMakeMouseEnter(wxMouseEvent& event);
+  /**
+   * Handler when a cmakelists button hover finishes.
+   * @param event cmakelists event.
+   */
+  void OnEditCMakeMouseExit(wxMouseEvent& event);
+
+  /**
+   * Handler when the disable help checkbox is changed.
+   * @param event check box event.
+   */
+  void OnDisableHelp(wxCommandEvent& event);
+};
+
+#endif /* WXCDMPACKAGEMANAGERHELPDIALOG_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMPackageManagerPanel.cpp b/lib/creaDevManagerLib/wxCDMPackageManagerPanel.cpp
new file mode 100644
index 0000000..d7a28be
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMPackageManagerPanel.cpp
@@ -0,0 +1,377 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMPackageManagerPanel.cpp
+ *
+ *  Created on: Dec 10, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMPackageManagerPanel.h"
+
+#include "wxCDMMainFrame.h"
+#include "wxCDMNewPackageDialog.h"
+
+#include "wxCDMPackageManagerHelpDialog.h"
+
+#include "creaDevManagerIds.h"
+#include "images/PkIcon64.xpm"
+
+BEGIN_EVENT_TABLE(wxCDMPackageManagerPanel, wxPanel)
+EVT_HYPERLINK(ID_BUTTON_PREV, wxCDMPackageManagerPanel::OnBtnReturn)
+EVT_HYPERLINK(ID_LINK_SELECT_PACKAGE, wxCDMPackageManagerPanel::OnLnkPackageSelect)
+EVT_BUTTON(ID_BUTTON_CREATE_PACKAGE, wxCDMPackageManagerPanel::OnBtnCreatePackage)
+EVT_COMMAND(wxID_ANY, wxEVT_COMMAND_TOOL_CLICKED, wxCDMPackageManagerPanel::OnBtnCreatePackage)
+EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMPackageManagerPanel::OnBtnEditCMakeLists)
+EVT_COMMAND(wxID_ANY, wxEVT_COMMAND_TOOL_ENTER, wxCDMPackageManagerPanel::OnBtnEditCMakeLists)
+EVT_CHECKBOX(ID_CHECK_INCLUDE_PACKAGE, wxCDMPackageManagerPanel::OnChBPackageChange)
+END_EVENT_TABLE()
+
+wxCDMPackageManagerPanel::wxCDMPackageManagerPanel(
+    wxWindow* parent,
+    modelCDMProject* project,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMPackageManagerPanel::Create(parent, project, id, caption, pos, size, style);
+}
+
+wxCDMPackageManagerPanel::~wxCDMPackageManagerPanel()
+{
+}
+
+bool wxCDMPackageManagerPanel::Create(
+    wxWindow* parent,
+    modelCDMProject* project,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxPanel::Create(parent, id, pos, size, style);
+  this->project = project;
+  CreateControls();
+  // this part makes the scrollbars show up
+  this->FitInside(); // ask the sizer about the needed size
+  this->SetScrollRate(5, 5);
+  return TRUE;
+}
+
+void wxCDMPackageManagerPanel::CreateControls()
+{
+  wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+
+  //Link to return
+  wxHyperlinkCtrl* returnLnk = new wxHyperlinkCtrl(this, ID_BUTTON_PREV, crea::std2wx(this->project->GetName()), crea::std2wx(this->project->GetPath()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+  returnLnk->SetWindowStyle(wxNO_BORDER);
+  returnLnk->SetToolTip(wxT("Return to the active project description."));
+  sizer->Add(returnLnk, 0, wxALIGN_CENTER | wxALL, 5);
+
+  //Header
+  wxBoxSizer* headerSizer = new wxBoxSizer(wxHORIZONTAL);
+  {
+    //Image
+    headerSizer->Add(new wxStaticBitmap(this, -1, wxBitmap(PkIcon64)),0, wxALIGN_CENTER, 0);
+    wxBoxSizer* textSizer = new wxBoxSizer(wxVERTICAL);
+    //Title
+    textSizer->Add(new wxStaticText(this, -1, _("Package Management")),0, wxALIGN_LEFT, 0);
+
+    headerSizer->Add(textSizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
+  }
+  sizer->Add(headerSizer, 0, wxALIGN_CENTER);
+
+  //Packages
+  wxStaticBoxSizer* propertiesBox = new wxStaticBoxSizer(wxVERTICAL, this, wxT("A&vailable Packages"));
+  propertiesBox->GetStaticBox()->SetToolTip(wxT("Select any of the available packages to see its details or modify them. Remember that black boxes are created inside packages, any of these packages is available."));
+  wxPanel* propertiesPanel = new wxPanel(this);
+
+  std::vector<modelCDMPackage*> packages = this->project->GetPackages();
+  wxFlexGridSizer* propertiesGridSizer = new wxFlexGridSizer(packages.size()+1, 3, 9, 5);
+
+  wxStaticText* ChBTitle = new wxStaticText(propertiesPanel, wxID_ANY, wxT("Include in\nCMake"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE_HORIZONTAL);
+  wxStaticText* LkTitle = new wxStaticText(propertiesPanel, wxID_ANY, wxT("Package Name"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE_HORIZONTAL);
+  wxStaticText* HlpTitle = new wxStaticText(propertiesPanel, wxID_ANY, wxT("Help"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE_HORIZONTAL);
+
+  propertiesGridSizer -> Add(ChBTitle, 0, wxEXPAND | wxALL, 5);
+  propertiesGridSizer -> Add(LkTitle,  0, wxEXPAND | wxALL, 5);
+  propertiesGridSizer -> Add(HlpTitle, 0, wxEXPAND | wxALL, 5);
+
+  for (int i = 0; i < (int)(packages.size()); i++)
+    {
+      //checkbox for cmake inclusion
+      wxCheckBox* pPackageChB = new wxCheckBox(propertiesPanel, ID_CHECK_INCLUDE_PACKAGE, wxT(""), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT);
+      pPackageChB->SetName(crea::std2wx(packages[i]->GetName()));
+      std::string tt = "if this box is checked the the " + packages[i]->GetName() + " package is included in the project compilation.";
+      pPackageChB->SetToolTip(crea::std2wx(tt));
+      pPackageChB->SetValue(this->project->IsPackageIncluded(packages[i]->GetName()));
+      propertiesGridSizer -> Add(pPackageChB, 0, wxEXPAND | wxALIGN_CENTER);
+
+      //link to package with description
+      wxHyperlinkCtrl* pPackagelk = new wxHyperlinkCtrl(propertiesPanel, ID_LINK_SELECT_PACKAGE, crea::std2wx(packages[i]->GetName().c_str()), crea::std2wx(packages[i]->GetName().c_str()), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE);
+      pPackagelk->SetWindowStyle(wxALIGN_LEFT | wxNO_BORDER);
+      tt = "Name: " + packages[i]->GetName() + "\n";
+      tt += "Location: " + packages[i]->GetPath();
+      pPackagelk->SetToolTip(crea::std2wx(tt));
+      pPackagelk->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageManagerPanel::OnMouseEnter,NULL,this);
+      pPackagelk->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageManagerPanel::OnMouseExit,NULL,this);
+      propertiesGridSizer -> Add(pPackagelk, 0, wxEXPAND);
+
+      //help icon
+      wxButton* pPackageHlp = new wxButton(propertiesPanel, wxID_ANY, wxT("?"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT);
+      pPackageHlp->Enable(false);
+      tt = "When this package is included in the CMakeLists file, the\nfollowing line is included in the CMakeList.txt file in the\nproject folder:\n"
+          "ADD_SUBDIRECTORY(" + packages[i]->GetName() + ")";
+      pPackageHlp->SetToolTip(crea::std2wx(tt));
+
+      propertiesGridSizer -> Add(pPackageHlp, 0, wxEXPAND | wxALIGN_CENTER);
+    }
+
+  propertiesGridSizer->AddGrowableCol(1,1);
+
+  propertiesPanel->SetSizer(propertiesGridSizer);
+  propertiesGridSizer->Fit(propertiesPanel);
+
+
+  propertiesBox->Add(propertiesPanel, 1, wxALL | wxEXPAND, 5);
+
+  sizer -> Add(propertiesBox, 0, wxEXPAND | wxALL, 10);
+
+  //Actions
+  wxStaticBoxSizer* actionsBox = new wxStaticBoxSizer(wxHORIZONTAL, this, wxT("&Actions"));
+  wxPanel* actionsPanel = new wxPanel(this);
+  wxBoxSizer* actionsPanelSizer = new wxBoxSizer(wxHORIZONTAL);
+
+  //actionsGrid Sizer
+  wxFlexGridSizer* actionsGridSizer = new wxFlexGridSizer(1, 2, 9, 15);
+
+  wxButton* createPkgbt = new wxButton(actionsPanel, ID_BUTTON_CREATE_PACKAGE, _T("A. Create Package"));
+  createPkgbt->SetToolTip(wxT("Create a new package for this project."));
+  actionsGridSizer->Add(createPkgbt, 1, wxALL | wxEXPAND, 5);
+  wxButton* editCMakebt = new wxButton(actionsPanel, ID_BUTTON_EDIT_CMAKELISTSFILE, _T("Edit CMakeLists File"));
+  editCMakebt->SetToolTip(wxT("Edit the CMakeLists.txt file of this project."));
+  editCMakebt->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageManagerPanel::OnCMakeMouseEnter,NULL,this);
+  editCMakebt->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMPackageManagerPanel::OnCMakeMouseExit,NULL,this);
+  actionsGridSizer->Add(editCMakebt, 1, wxALL | wxEXPAND, 5);
+
+  actionsGridSizer->AddGrowableCol(0,1);
+  actionsGridSizer->AddGrowableCol(1,1);
+
+  actionsPanelSizer->Add(actionsGridSizer, 1, wxEXPAND, 0);
+  actionsPanel->SetSizer(actionsPanelSizer);
+  actionsPanelSizer->Fit(actionsPanel);
+  actionsBox->Add(actionsPanel, 1, wxEXPAND);
+  sizer -> Add(actionsBox, 0, wxEXPAND | wxALL, 10);
+
+  //Assign sizer
+  SetSizer(sizer);
+  sizer->SetSizeHints(this);
+
+  if (((wxCDMMainFrame*)this->GetParent())->isHelp())
+    {
+      wxCDMPackageManagerHelpDialog* helpDialog = new wxCDMPackageManagerHelpDialog(this->GetParent(), this, wxID_ANY);
+      helpDialog->Show(true);
+    }
+}
+
+modelCDMProject* wxCDMPackageManagerPanel::GetProject() const
+{
+  return this->project;
+}
+
+void wxCDMPackageManagerPanel::OnBtnReturn(wxHyperlinkEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+  newEvent->SetClientData(project);
+  newEvent->SetId(0);
+  wxPostEvent(this->GetParent(), *newEvent);
+}
+
+void wxCDMPackageManagerPanel::OnChBPackageChange(wxCommandEvent& event)
+{
+  this->project->SetPackageInclude(
+      crea::wx2std(((wxCheckBox*)event.GetEventObject())->GetName()),
+      ((wxCheckBox*)event.GetEventObject())->GetValue()
+    );
+}
+
+void wxCDMPackageManagerPanel::OnLnkPackageSelect(wxHyperlinkEvent& event)
+{
+  modelCDMPackage* thePackage = NULL;
+  std::vector<modelCDMPackage*> packages = this->project->GetPackages();
+  for (int i = 0; i < (int)(packages.size()); i++)
+    {
+      if(packages[i]->GetName() == crea::wx2std(event.GetURL()))
+        {
+          thePackage = packages[i];
+          break;
+        }
+    }
+
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+  newEvent->SetClientData(thePackage);
+  newEvent->SetId(0);
+  wxPostEvent(this->GetParent(), *newEvent);
+
+  wxCommandEvent* newEvent1 = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+  newEvent1->SetClientData(thePackage);
+  newEvent1->SetId(0);
+  wxPostEvent(this->GetParent(), *newEvent1);
+
+}
+
+void wxCDMPackageManagerPanel::OnBtnCreatePackage(wxCommandEvent& event)
+{
+  std::string* result;
+
+  wxCDMNewPackageDialog* dialog = new wxCDMNewPackageDialog(this);
+  long userResponse;
+  userResponse = dialog->ShowModal();
+
+  if(userResponse == wxID_FORWARD)
+    {
+      modelCDMIProjectTreeNode* package = this->project->CreatePackage(
+          crea::wx2std(dialog->GetPackageName()),
+          result,
+          crea::wx2std(dialog->GetPackageAuthor()),
+          crea::wx2std(dialog->GetPackageAuthorEmail()),
+          crea::wx2std(dialog->GetPackageDescription())
+      );
+      if(package == NULL)
+        {
+          std::cout << "error creating package: " << *result << std::endl;
+          wxMessageBox(crea::std2wx(*result),_T("New Package - Error!"),wxOK | wxICON_ERROR);
+          event.Skip();
+          return;
+        }
+      wxMessageBox(crea::std2wx("Package successfully created."),_T("New Package - Success!"),wxOK | wxICON_INFORMATION);
+
+      //refreshing tree and description
+      //send event instead of calling parent to avoid crashing
+
+      ((wxCDMMainFrame*)this->GetParent())->RefreshProject();
+
+      wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+      newEvent->SetClientData(package);
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+      event.Skip();
+    }
+
+  event.Skip();
+}
+
+void wxCDMPackageManagerPanel::OnBtnEditCMakeLists(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->project->OpenCMakeListsFile(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->project->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->project->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+}
+
+void wxCDMPackageManagerPanel::OnMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+  std::string PkgName = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  modelCDMPackage* thePackage = NULL;
+  std::vector<modelCDMPackage*> packages = this->project->GetPackages();
+  for (int i = 0; i < (int)(packages.size()); i++)
+    {
+      if(packages[i]->GetName() == PkgName)
+        {
+          thePackage = packages[i];
+          break;
+        }
+    }
+  newEvent->SetClientData(thePackage);
+  newEvent->SetId(0);
+  wxPostEvent(this->GetParent(), *newEvent);
+  event.Skip();
+}
+
+void wxCDMPackageManagerPanel::OnMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+  std::string PkgName = crea::wx2std(((wxHyperlinkCtrl*)event.GetEventObject())->GetURL());
+  modelCDMPackage* thePackage = NULL;
+  std::vector<modelCDMPackage*> packages = this->project->GetPackages();
+  project->GetPackages();
+  for (int i = 0; i < (int)(packages.size()); i++)
+    {
+      if(packages[i]->GetName() == PkgName)
+        {
+          thePackage = packages[i];
+          break;
+        }
+    }
+  newEvent->SetClientData(thePackage);
+  newEvent->SetId(0);
+  wxPostEvent(this->GetParent(), *newEvent);
+  event.Skip();
+}
+
+void wxCDMPackageManagerPanel::OnCMakeMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+  if(this->project->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->project->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMPackageManagerPanel::OnCMakeMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->project->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->project->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+
diff --git a/lib/creaDevManagerLib/wxCDMPackageManagerPanel.h b/lib/creaDevManagerLib/wxCDMPackageManagerPanel.h
new file mode 100644
index 0000000..245ebf9
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMPackageManagerPanel.h
@@ -0,0 +1,160 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMPackageManagerPanel.h
+ *
+ *  Created on: Dec 10, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMPACKAGEMANAGERPANEL_H_
+#define WXCDMPACKAGEMANAGERPANEL_H_
+
+#include <creaWx.h>
+#include <wx/hyperlink.h>
+#include <wx/event.h>
+
+#include "modelCDMProject.h"
+
+/**
+ * Package manager description panel. Shows the available packages in the project and the actions corresponding to package management.
+ */
+class wxCDMPackageManagerPanel : public wxScrolledWindow
+{
+  DECLARE_EVENT_TABLE()
+public:
+
+  /**
+   * Package manager description panel Constructor.
+   * @param parent Parent window reference.
+   * @param project Project class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+  wxCDMPackageManagerPanel(
+      wxWindow* parent,
+      modelCDMProject* project,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Destructor.
+   */
+  ~wxCDMPackageManagerPanel();
+
+  /**
+   * Package manager description panel Creator.
+   * @param parent Parent window reference.
+   * @param project Project class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+  bool Create(
+      wxWindow* parent,
+      modelCDMProject* project,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Creates all the controls in the panel (property and action controls).
+   */
+  void CreateControls();
+
+  /**
+   * Retrieves the described project class reference.
+   * @return Project reference.
+   */
+  modelCDMProject* GetProject() const;
+
+private:
+  /**
+   * Project described.
+   */
+  modelCDMProject* project;
+
+  //handlers
+protected:
+  /**
+   * Handles when a return link is pressed.
+   * @param event Has the link reference to know where to return
+   */
+  void OnBtnReturn(wxHyperlinkEvent& event);
+  /**
+   * Handles when a package checkbox is (un)checked.
+   * @param event Has the link reference to know which package was selected.
+   */
+  void OnChBPackageChange(wxCommandEvent& event);
+  /**
+   * Handles when a packages link is pressed.
+   * @param event Has the link reference to know which package was selected.
+   */
+  void OnLnkPackageSelect(wxHyperlinkEvent& event);
+  /**
+   * Handles when the create package button is pressed.
+   */
+  void OnBtnCreatePackage(wxCommandEvent& event);
+  /**
+   * Handles when the open package cmakelists file button is pressed.
+   */
+  void OnBtnEditCMakeLists(wxCommandEvent& event);
+
+  /**
+   * Handles when a package link is hovered.
+   * @param event Has the link reference to know which package was selected.
+   */
+  void OnMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when a package link button finishes hover.
+   * @param event Has the link reference to know which package was selected.
+   */
+  void OnMouseExit(wxMouseEvent& event);
+  /**
+   * Handles when the open cmakelists file button is hovered.
+   */
+  void OnCMakeMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when the open cmakelists file button finishes hover.
+   */
+  void OnCMakeMouseExit(wxMouseEvent& event);
+};
+
+#endif /* WXCDMPACKAGEMANAGERPANEL_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMProjectActionsPanel.cpp b/lib/creaDevManagerLib/wxCDMProjectActionsPanel.cpp
new file mode 100755
index 0000000..514d247
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMProjectActionsPanel.cpp
@@ -0,0 +1,212 @@
+/*
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
+#                        pour la Sant�)
+# # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+#
+#  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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMProjectActionsPanel.cpp
+ *
+ *  Created on: 25/10/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMProjectActionsPanel.h"
+
+#include <wx/progdlg.h>
+
+#include "creaDevManagerIds.h"
+
+#include <map>
+#include "wxCDMProjectStructureReportDialog.h"
+
+BEGIN_EVENT_TABLE(wxCDMProjectActionsPanel, wxPanel)
+EVT_BUTTON(ID_BUTTON_CHECK_PROJECT, wxCDMProjectActionsPanel::OnBtnCheckProjectStructure)
+EVT_BUTTON(ID_BUTTON_BUILD_PROJECT, wxCDMProjectActionsPanel::OnBtnBuildProject)
+EVT_BUTTON(ID_BUTTON_CONFIGURE_BUILD, wxCDMProjectActionsPanel::OnBtnConfigureBuild)
+EVT_BUTTON(ID_BUTTON_CONNECT_PROJECT, wxCDMProjectActionsPanel::OnBtnConnectProject)
+END_EVENT_TABLE()
+
+wxCDMProjectActionsPanel::wxCDMProjectActionsPanel(
+    wxWindow* parent,
+    modelCDMProject* project,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMProjectActionsPanel::Create(parent,id,caption,pos,size,style);
+  this->project = project;
+}
+
+wxCDMProjectActionsPanel::~wxCDMProjectActionsPanel()
+{
+}
+
+bool wxCDMProjectActionsPanel::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxPanel::Create(parent,id,pos,size,style);
+  wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
+  this->SetSizer(sizer);
+  CreateControls();
+  // this part makes the scrollbars show up
+  this->FitInside(); // ask the sizer about the needed size
+  this->SetScrollRate(5, 5);
+
+  return TRUE;
+}
+
+void wxCDMProjectActionsPanel::CreateControls()
+{
+  wxButton* checkStructbt = new wxButton(this, ID_BUTTON_CHECK_PROJECT, _T("1. Check Project Structure"));
+  checkStructbt->SetToolTip(wxT("This step checks the project structure and tells what is going to be compiled."));
+  wxButton* configurebt = new wxButton(this, ID_BUTTON_CONFIGURE_BUILD, _T("2. Configure Project (CMake)"));
+  configurebt->SetToolTip(wxT("This is the second step in order to execute the project. Make sure you have selected the desired Build location."));
+  wxButton* compilebt = new wxButton(this, ID_BUTTON_BUILD_PROJECT, _T("3. Compile Project"));
+  compilebt->SetToolTip(wxT("This step should be done after configuring the project. This will create the executables."));
+  wxButton* plugbt = new wxButton(this, ID_BUTTON_CONNECT_PROJECT, _T("4. Plug Packages (BBTK)"));
+  plugbt->SetToolTip(wxT("This step should be done after compiling the project. This will allow to use the boxes in this project to be available in the bbEditor."));
+  this->GetSizer()->Add(checkStructbt, 0, wxALL, 5);
+  this->GetSizer()->Add(configurebt, 0, wxALL, 5);
+  this->GetSizer()->Add(compilebt, 0, wxALL, 5);
+  this->GetSizer()->Add(plugbt, 0, wxALL, 5);
+}
+
+//check project structure
+void wxCDMProjectActionsPanel::OnBtnCheckProjectStructure(wxCommandEvent& event)
+{
+  std::map<std::string, bool> prjStruct;
+  this->project->CheckStructure(prjStruct);
+  std::cout << prjStruct.size() << std::endl;
+  wxCDMProjectStructureReportDialog* structure = new wxCDMProjectStructureReportDialog(this->GetParent(), prjStruct, wxID_ANY);
+  structure->Show(true);
+}
+
+//configure project
+void wxCDMProjectActionsPanel::OnBtnConfigureBuild(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->project->ConfigureBuild(result))
+    {
+      wxMessageBox(crea::std2wx(result->c_str()), wxT("Project Configuration - Error!"));
+      return;
+    }
+  wxMessageBox(crea::std2wx("The configuration was executed successfully."), wxT("Project Configuration"));
+}
+
+//compile project
+void wxCDMProjectActionsPanel::OnBtnBuildProject(wxCommandEvent& event)
+{
+#ifdef _WIN32
+  std::string* result;
+  if(!this->project->Build(result, ""))
+    {
+      wxMessageBox(crea::std2wx(result->c_str()), wxT("Project Compilation - Error!"));
+      return;
+    }
+#else
+
+  std::string* result;
+  int isDir = wxMessageBox(crea::std2wx("Is this the path of the project compilation?:\n"+this->project->GetBuildPath()), wxT("Project Compilation - CreaDevManager"), wxYES_NO|wxCANCEL);
+  if(isDir != wxCANCEL)
+    {
+      wxString file = crea::std2wx(this->project->GetBuildPath());
+      if(isDir == wxNO)
+        {
+          file = wxDirSelector(
+              wxT("Please select the folder where your project is to be built."),
+              crea::std2wx(this->project->GetBuildPath())
+          );
+        }
+
+      if(!file.IsEmpty())
+        {
+          this->project->SetBuildPath(crea::wx2std(file), result);
+
+          wxTextEntryDialog* buildDlg = new wxTextEntryDialog(
+                this,
+                wxT("Check the compilation instruction:"),
+                wxT("Project Compilation - CreaDevManager"),
+                crea::std2wx(this->project->GetBuildInstruction()),
+                wxTE_MULTILINE | wxOK | wxCANCEL
+            );
+
+          if (buildDlg->ShowModal() == wxID_OK)
+            {
+              std::string buildDlgStr = crea::wx2std(buildDlg->GetValue());
+              //check line
+              if (buildDlgStr != "")
+                {
+                  std::string* result;
+                  if(!this->project->Build(result, buildDlgStr))
+                    {
+                      wxMessageBox(crea::std2wx(result->c_str()), wxT("Project Compilation - Error!"));
+                      return;
+                    }
+                }
+            }
+        }
+    }
+#endif
+}
+//plug packages
+void wxCDMProjectActionsPanel::OnBtnConnectProject(wxCommandEvent& event)
+{
+  std::string* result;
+  int isDir = wxMessageBox(crea::std2wx("Is this the path of the project compilation to plug?:\n"+this->project->GetBuildPath()), wxT("Plug BBTK Packages"), wxYES_NO|wxCANCEL);
+  if(isDir != wxCANCEL)
+    {
+      wxString file = crea::std2wx(this->project->GetBuildPath());
+      if(isDir == wxNO)
+        {
+          file = wxDirSelector(
+              wxT("Please select the folder containing the bbtkPackage file you want to use. Usually it is where you built your project."),
+              crea::std2wx(this->project->GetBuildPath())
+          );
+        }
+
+      if(!file.IsEmpty())
+        {
+          if(!this->project->Connect(result, crea::wx2std(file)))
+            {
+              wxMessageBox(crea::std2wx(result->c_str()), wxT("Plug BBTK Packages - Error!"), wxICON_ERROR);
+              return;
+            }
+          else
+            {
+              wxMessageBox(crea::std2wx("The connection was executed successfully. Please check the console to see the compilation result.\n Also, don't forget to restart the BBTK Graphical Editor (if already opened) to see the plugged packages."), wxT("Plug Package"));
+            }
+
+        }
+
+    }
+}
diff --git a/lib/creaDevManagerLib/wxCDMProjectActionsPanel.h b/lib/creaDevManagerLib/wxCDMProjectActionsPanel.h
new file mode 100755
index 0000000..cd60d75
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMProjectActionsPanel.h
@@ -0,0 +1,122 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * wxCDMProjectActionsPanel.h
+ *
+ *  Created on: 25/10/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMPROJECTACTIONSPANEL_H_
+#define WXCDMPROJECTACTIONSPANEL_H_
+
+#include <creaWx.h>
+
+#include "modelCDMProject.h"
+
+/**
+ * Panel with common actions for an open Crea project.
+ */
+class wxCDMProjectActionsPanel : public wxScrolledWindow
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Project actions panel constructor.
+   * @param parent Parent window reference.
+   * @param project Project class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+  wxCDMProjectActionsPanel(
+      wxWindow* parent,
+      modelCDMProject* project,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMProjectActionsPanel();
+  /**
+   * Project actions panel constructor.
+   * @param parent Parent window reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   * @return True if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+protected:
+  /**
+   * Creates the Panel controls (buttons)
+   */
+  void CreateControls();
+
+  /**
+   * Handles when the Check Project Structure button is pressed.
+   */
+  void OnBtnCheckProjectStructure(wxCommandEvent& event);
+  /**
+   * Handles when the Configure Compilation button is pressed.
+   */
+  void OnBtnConfigureBuild(wxCommandEvent& event);
+  /**
+   * Handles when the Compile Project button is pressed.
+   */
+  void OnBtnBuildProject(wxCommandEvent& event);
+  /**
+   * Handles when the Plug packages button is pressed.
+   */
+  void OnBtnConnectProject(wxCommandEvent& event);
+
+private:
+  /**
+   * Project class reference
+   */
+  modelCDMProject* project;
+};
+
+#endif /* WXCDMPROJECTACTIONSPANEL_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMProjectConfigurationDialog.cpp b/lib/creaDevManagerLib/wxCDMProjectConfigurationDialog.cpp
new file mode 100644
index 0000000..add92a6
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMProjectConfigurationDialog.cpp
@@ -0,0 +1,170 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMProjectConfigurationDialog.cpp
+ *
+ *  Created on: 6/4/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMProjectConfigurationDialog.h"
+
+#include "creaDevManagerIds.h"
+
+BEGIN_EVENT_TABLE(wxCDMProjectConfigurationDialog, wxDialog)
+EVT_BUTTON(wxID_OK, wxCDMProjectConfigurationDialog::OnFinish)
+EVT_CHECKBOX(ID_CHECK_INCLUDE_3RDLIBRARY, wxCDMProjectConfigurationDialog::On3rdLibraryIncludeChange)
+END_EVENT_TABLE()
+
+wxCDMProjectConfigurationDialog::wxCDMProjectConfigurationDialog(
+    wxWindow* parent,
+    modelCDMProject* project,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long style
+)
+{
+  this->project = project;
+  wxCDMProjectConfigurationDialog::Create(parent, id, caption, position, size, style);
+}
+
+wxCDMProjectConfigurationDialog::~wxCDMProjectConfigurationDialog()
+{
+}
+
+bool wxCDMProjectConfigurationDialog::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long int style
+)
+{
+  wxDialog::Create(parent, id, caption, position, size, style);
+
+  this->CreateControls();
+
+  return TRUE;
+}
+
+void wxCDMProjectConfigurationDialog::CreateControls()
+{
+
+  wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
+
+
+  wxStaticText* title = new wxStaticText(this, wxID_ANY, wxT("Please select the libraries that are used in this project."), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);//new wxRichTextCtrl(this,wxID_ANY, wxString("Create a new project"), wxDefaultPosition, wxDefaultSize, wxRE_READONLY);
+  v_sizer1->Add(title, 0, wxEXPAND | wxALIGN_LEFT | wxALL, 5);
+
+  wxScrolledWindow* includesPanel = new wxScrolledWindow(this);
+  includesPanel->FitInside();
+  includesPanel->SetScrollRate(5,5);
+
+  wxBoxSizer* includesPanelSizer = new wxBoxSizer(wxVERTICAL);
+
+  //Third Party Libraries
+  wxStaticText* Title1 = new wxStaticText(includesPanel, wxID_ANY, wxT("Third Party Libraries:"));
+  wxFont font = Title1->GetFont();
+  font.SetWeight(wxFONTWEIGHT_BOLD);
+  Title1->SetFont(font);
+  includesPanelSizer->Add(Title1, 0, wxEXPAND);
+
+  //inclusion data
+  std::map<std::string, bool> inclusions = this->project->Get3rdPartyLibraries();
+  //includesGrid Sizer
+  wxFlexGridSizer* includesGridSizer = new wxFlexGridSizer(inclusions.size()+1, 2, 0, 5);
+
+  wxStaticText* ChBTitle = new wxStaticText(
+      includesPanel,
+      wxID_ANY,
+      wxT("Included"),
+      wxDefaultPosition,
+      wxDefaultSize,
+      wxALIGN_CENTER
+    );
+  wxStaticText* LNmTitle = new wxStaticText(
+      includesPanel,
+      wxID_ANY,
+      wxT("Library Name"),
+      wxDefaultPosition,
+      wxDefaultSize,
+      wxALIGN_LEFT
+    );
+
+  includesGridSizer->Add(ChBTitle, 1, wxEXPAND);
+  includesGridSizer->Add(LNmTitle, 1, wxEXPAND);
+
+  for (std::map<std::string, bool>::iterator it = inclusions.begin(); it != inclusions.end(); ++it) {
+    wxCheckBox* ChBIncl = new wxCheckBox(
+        includesPanel, ID_CHECK_INCLUDE_3RDLIBRARY, wxT(""), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT
+      );
+    ChBIncl->SetToolTip(crea::std2wx(
+        "When this box is checked the " + it->first + " library\n"
+        "is included in the project configuration\n"
+        "including the following instruction\n"
+        "in the project's folder CMakeLists.txt file:\n"
+        "SET(USE_" + it->first+ "  ON)\n"
+        ));
+    ChBIncl->SetName(crea::std2wx(it->first));
+    ChBIncl->SetValue(it->second);
+    includesGridSizer->Add(ChBIncl, 0, wxEXPAND);
+
+    wxStaticText* LNmIncl = new wxStaticText(includesPanel, wxID_ANY, crea::std2wx(it->first));
+    includesGridSizer->Add(LNmIncl, 1, wxEXPAND);
+  }
+
+  includesGridSizer->AddGrowableCol(1,1);
+
+  includesPanelSizer->Add(includesGridSizer, 1, wxEXPAND | wxLEFT, 5);
+
+  includesPanel->SetSizer(includesPanelSizer);
+
+  v_sizer1->Add(includesPanel, 1, wxEXPAND | wxALL, 10);
+
+  v_sizer1->Add(new wxButton(this, wxID_OK, wxT("Close")), 0, wxALIGN_CENTER | wxRIGHT | wxBOTTOM, 30);
+
+  SetSizer(v_sizer1);
+}
+
+void wxCDMProjectConfigurationDialog::OnFinish(wxCommandEvent& event)
+{
+  this->EndModal(wxID_OK);
+}
+
+void wxCDMProjectConfigurationDialog::On3rdLibraryIncludeChange(
+    wxCommandEvent& event)
+{
+  if(this->project->Set3rdPartyLibrary(crea::wx2std(((wxCheckBox*)event.GetEventObject())->GetName()), ((wxCheckBox*)event.GetEventObject())->GetValue()))
+    ((wxCheckBox*)event.GetEventObject())->SetValue(((wxCheckBox*)event.GetEventObject())->GetValue());
+  else
+    ((wxCheckBox*)event.GetEventObject())->SetValue(!((wxCheckBox*)event.GetEventObject())->GetValue());
+}
diff --git a/lib/creaDevManagerLib/wxCDMProjectConfigurationDialog.h b/lib/creaDevManagerLib/wxCDMProjectConfigurationDialog.h
new file mode 100644
index 0000000..b500412
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMProjectConfigurationDialog.h
@@ -0,0 +1,122 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * wxCDMProjectConfigurationDialog.h
+ *
+ *  Created on: 24/4/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMPROJECTCONFIGURATIONDIALOG_H_
+#define WXCDMPROJECTCONFIGURATIONDIALOG_H_
+
+#include <creaWx.h>
+#include <wx/dialog.h>
+
+#include "modelCDMProject.h"
+
+/**
+ * Project Configuration Dialog
+ */
+class wxCDMProjectConfigurationDialog : public wxDialog
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Project Configuration Dialog Constructor.
+   * @param parent Parent window.
+   * @param project Project Description reference.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Project Library Configuration".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 370.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE.
+   */
+  wxCDMProjectConfigurationDialog(
+      wxWindow* parent,
+      modelCDMProject * project,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Project Library Configuration"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,370),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMProjectConfigurationDialog();
+  /**
+   * Project Configuration Dialog Creator.
+   * @param parent Parent window.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Project Library Configuration".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 370.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE.
+   * @return if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Project Library Configuration"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,370),
+      long style = wxDEFAULT_DIALOG_STYLE
+  );
+
+protected:
+  /**
+   * Creates the help controls (text and buttons).
+   */
+  void CreateControls();
+
+//attributes
+private:
+  /**
+   * Project model reference.
+   */
+  modelCDMProject* project;
+
+//handlers
+protected:
+  /**
+   * Handler to close configuration dialog.
+   * @param event Unused.
+   */
+  void OnFinish(wxCommandEvent& event);
+
+  /**
+   * Handler when a third party library include is pressed.
+   * @param event checkbox event.
+   */
+  void On3rdLibraryIncludeChange(wxCommandEvent& event);
+
+};
+
+#endif /* WXCDMPROJECTCONFIGURATIONDIALOG_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMProjectDescriptionPanel.cpp b/lib/creaDevManagerLib/wxCDMProjectDescriptionPanel.cpp
new file mode 100644
index 0000000..ac170e0
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMProjectDescriptionPanel.cpp
@@ -0,0 +1,457 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMProjectDescriptionPanel.cpp
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMProjectDescriptionPanel.h"
+
+#include "wxCDMMainFrame.h"
+#include "wxCDMNewPackageDialog.h"
+#include "wxCDMProjectConfigurationDialog.h"
+
+#include "wxCDMProjectHelpDialog.h"
+
+#include "creaDevManagerIds.h"
+#include "images/PrIcon64.xpm"
+#include "CDMUtilities.h"
+
+BEGIN_EVENT_TABLE(wxCDMProjectDescriptionPanel, wxPanel)
+EVT_BUTTON(ID_BUTTON_GOTO_PACKAGE_MANAGER, wxCDMProjectDescriptionPanel::OnBtnManagePackages)
+EVT_BUTTON(ID_BUTTON_GOTO_LIB_MANAGER, wxCDMProjectDescriptionPanel::OnBtnManageLibraries)
+EVT_BUTTON(ID_BUTTON_GOTO_APPLI_MANAGER, wxCDMProjectDescriptionPanel::OnBtnManageApplications)
+EVT_BUTTON(ID_BUTTON_CHOOSE, wxCDMProjectDescriptionPanel::OnBtnConfigProject)
+EVT_BUTTON(ID_BUTTON_EDIT_CMAKELISTSFILE, wxCDMProjectDescriptionPanel::OnBtnEditCMakeLists)
+EVT_BUTTON(ID_BUTTON_SET_BUILD_PATH, wxCDMProjectDescriptionPanel::OnBtnSetBuildPath)
+EVT_BUTTON(ID_BUTTON_OPEN_BUILD_PATH, wxCDMProjectDescriptionPanel::OnBtnOpenBuild)
+EVT_BUTTON(ID_BUTTON_OPEN_FOLDER, wxCDMProjectDescriptionPanel::OnBtnOpenFolder)
+EVT_BUTTON(ID_BUTTON_SET_VERSION, wxCDMProjectDescriptionPanel::OnBtnSetVersion)
+END_EVENT_TABLE()
+
+wxCDMProjectDescriptionPanel::wxCDMProjectDescriptionPanel(
+    wxWindow* parent,
+    modelCDMProject* project,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMProjectDescriptionPanel::Create(parent, project, id, caption, pos, size, style);
+}
+
+wxCDMProjectDescriptionPanel::~wxCDMProjectDescriptionPanel()
+{
+}
+
+bool wxCDMProjectDescriptionPanel::Create(
+    wxWindow* parent,
+    modelCDMProject* project,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& pos,
+    const wxSize& size,
+    long style
+)
+{
+  wxPanel::Create(parent, id, pos, size, style);
+  this->project = project;
+  CreateControls();
+  // this part makes the scrollbars show up
+  this->FitInside(); // ask the sizer about the needed size
+  this->SetScrollRate(5, 5);
+  return TRUE;
+}
+
+void wxCDMProjectDescriptionPanel::CreateControls()
+{
+  wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
+
+  //Header
+  wxBoxSizer* headerSizer = new wxBoxSizer(wxHORIZONTAL);
+  {
+    //Image
+    headerSizer->Add(new wxStaticBitmap(this, -1, wxBitmap(PrIcon64)),0, wxALIGN_CENTER, 0);
+    wxBoxSizer* textSizer = new wxBoxSizer(wxVERTICAL);
+    //Title
+    textSizer->Add(new wxStaticText(this, -1, _("Project")),0, wxALIGN_LEFT, 0);
+    //Project Name
+    textSizer->Add(new wxStaticText(this, -1, crea::std2wx(this->project->GetName())),0, wxALIGN_LEFT, 0);
+    headerSizer->Add(textSizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5);
+  }
+  sizer->Add(headerSizer, 0, wxALIGN_CENTER);
+
+
+
+
+  //----------------------------------Project Properties-----------------------------------
+  //properties StaticBoxSizer
+  wxStaticBoxSizer* propertiesBox = new wxStaticBoxSizer(wxVERTICAL, this, _T("&Properties"));
+  //properties Panel
+  wxPanel* propertiesPanel = new wxPanel(this);
+  //properties Sizer
+  wxBoxSizer* propertiesPanelSizer = new wxBoxSizer(wxVERTICAL);
+  //propertiesGrid Sizer
+  wxFlexGridSizer* propertiesGridSizer = new wxFlexGridSizer(4, 2, 9, 15);
+  //properties elements
+  //labels
+  wxStaticText* pVersion = new wxStaticText(propertiesPanel, wxID_ANY, wxT("Version"));
+  wxStaticText* pVersionDate = new wxStaticText(propertiesPanel, wxID_ANY, wxT("Version Date"));
+  wxStaticText* pSourceLocation = new wxStaticText(propertiesPanel, wxID_ANY, wxT("Source Location"));
+  wxStaticText* pBuildLocation = new wxStaticText(propertiesPanel, wxID_ANY, wxT("Build Location"));
+  //values
+  // version
+  wxBoxSizer* pVersionsz = new wxBoxSizer(wxHORIZONTAL);
+  this->versiontc = new wxStaticText(propertiesPanel, wxID_ANY, crea::std2wx(this->project->GetVersion()));
+  wxButton* pVersionbt = new wxButton(propertiesPanel, ID_BUTTON_SET_VERSION, wxT("Set"));
+  pVersionbt->SetToolTip(wxT("Update the version of the project."));
+  pVersionsz->Add(this->versiontc, 1, wxALIGN_CENTER, 1);
+  pVersionsz->Add(pVersionbt, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 10);
+  // versionDate
+  this->versionDatetc = new wxStaticText(propertiesPanel, -1, crea::std2wx(this->project->GetVersionDate()));
+  // sourceLocation
+  wxBoxSizer* pSourceLocationsz = new wxBoxSizer(wxHORIZONTAL);
+  wxStaticText* pSourceLocationtc = new wxStaticText(propertiesPanel, -1, crea::std2wx(this->project->GetPath()));
+  pSourceLocationtc->SetMaxSize(wxSize(200,-1));
+  wxButton* pSourceLocationbt = new wxButton(propertiesPanel, ID_BUTTON_OPEN_FOLDER, wxT("Open"));
+  pSourceLocationbt->SetToolTip(wxT("Open the source folder in the file explorer."));
+  pSourceLocationsz->Add(pSourceLocationtc, 1, wxALIGN_CENTER, 1);
+  pSourceLocationsz->Add(pSourceLocationbt, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 10);
+  // buildLocation
+  wxBoxSizer* pBuildLocationsz = new wxBoxSizer(wxHORIZONTAL);
+  this->buildPathtc = new wxStaticText(propertiesPanel, -1, crea::std2wx(this->project->GetBuildPath()));
+  this->buildPathtc->SetMaxSize(wxSize(200,-1));
+
+  wxButton* pBuildLocationbt = new wxButton(propertiesPanel, ID_BUTTON_SET_BUILD_PATH, wxT("Choose..."));
+  pBuildLocationbt->SetToolTip(wxT("Select a new location for compiling the project."));
+
+  wxButton* pBuildOpenbt = new wxButton(propertiesPanel, ID_BUTTON_OPEN_BUILD_PATH, wxT("Open"));
+  pBuildOpenbt->SetToolTip(wxT("Open the binaries folder in the file explorer."));
+
+  pBuildLocationsz->Add(this->buildPathtc, 1, wxALIGN_CENTER, 1);
+  pBuildLocationsz->Add(pBuildLocationbt, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 10);
+  pBuildLocationsz->Add(pBuildOpenbt, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 10);
+
+  propertiesGridSizer->Add(pVersion, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
+  propertiesGridSizer->Add(pVersionsz, 1, wxEXPAND);
+  propertiesGridSizer->Add(pVersionDate, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
+  propertiesGridSizer->Add(this->versionDatetc, 1, wxEXPAND);
+  propertiesGridSizer->Add(pSourceLocation, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
+  propertiesGridSizer->Add(pSourceLocationsz, 1, wxEXPAND);
+  propertiesGridSizer->Add(pBuildLocation, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
+  propertiesGridSizer->Add(pBuildLocationsz, 1, wxEXPAND);
+
+  propertiesGridSizer->AddGrowableCol(1,1);
+
+  propertiesPanelSizer-> Add(propertiesGridSizer, 1, wxALL | wxEXPAND, 5);
+
+  //SetPanel sizer and box
+  propertiesPanel->SetSizer(propertiesPanelSizer);
+  propertiesPanelSizer->Fit(propertiesPanel);
+  propertiesBox->Add(propertiesPanel, 1, wxEXPAND);
+  sizer->Add(propertiesBox, 0, wxEXPAND | wxLEFT | wxRIGHT, 10);
+
+  //----------------------------------Project Actions--------------------------------------
+  //actions StaticBoxSizer
+  wxStaticBoxSizer* actionsBox = new wxStaticBoxSizer(wxHORIZONTAL,this, _T("&Actions"));
+  actionsBox->GetStaticBox()->SetToolTip(wxT("Go to any of the content managers of the project or edit the project's CMakeLists.txt file by selecting any of the available actions."));
+  //actions Panel
+  wxPanel* actionsPanel = new wxPanel(this);
+  //actions Sizer
+  wxBoxSizer* actionsPanelSizer = new wxBoxSizer(wxHORIZONTAL);
+
+  //actionsGrid Sizer
+  wxFlexGridSizer* actionsGridSizer = new wxFlexGridSizer(3, 2, 9, 15);
+  //buttons
+  // lib manager
+  //   show only if there is a lib folder
+  if(this->project->GetLib() != NULL)
+    {
+      wxButton* libMgrbt = new wxButton(actionsPanel, ID_BUTTON_GOTO_LIB_MANAGER, _T("A. Library Manager"));
+      libMgrbt->SetToolTip(wxT("Find the current available libraries into this project. You can also create new Libraries in this section as well as edit the lib folder's CMakeLists.txt file."));
+      libMgrbt->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMProjectDescriptionPanel::OnLibMouseEnter,NULL,this);
+      libMgrbt->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMProjectDescriptionPanel::OnLibMouseExit,NULL,this);
+      actionsGridSizer->Add(libMgrbt, 1, wxALL | wxEXPAND, 5);
+    }
+  // package manager
+  wxButton* packageMgrbt = new wxButton(actionsPanel, ID_BUTTON_GOTO_PACKAGE_MANAGER, _T("B. Package Manager"));
+  packageMgrbt->SetToolTip(wxT("Find the current available packages into this project. You can also create new Packages in this section."));
+  actionsGridSizer->Add(packageMgrbt, 1, wxALL | wxEXPAND, 5);
+
+  // appli manager
+  //   show only if there is a appli folder
+  if(this->project->GetAppli() != NULL)
+    {
+      wxButton* appliMgrbt = new wxButton(actionsPanel, ID_BUTTON_GOTO_APPLI_MANAGER, _T("C. Application Manager"));
+      appliMgrbt->SetToolTip(wxT("Find the current available applications into this project. You can also create new Applications in this section as well as edit the appli folder's CMakeLists.txt file."));
+      appliMgrbt->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMProjectDescriptionPanel::OnAppliMouseEnter,NULL,this);
+      appliMgrbt->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMProjectDescriptionPanel::OnAppliMouseExit,NULL,this);
+      actionsGridSizer->Add(appliMgrbt, 1, wxALL | wxEXPAND, 5);
+    }
+  // edit 3rd Party libraries
+  wxButton* configPrjbt = new wxButton(actionsPanel, ID_BUTTON_CHOOSE, _T("D. 3rd Party Libraries Manager"));
+  configPrjbt->SetToolTip(wxT("Select which third party libraries will be used in this project."));
+  actionsGridSizer->Add(configPrjbt, 1, wxALL | wxEXPAND, 5);
+
+  // edit CMakeLists file
+  wxButton* editCMakebt = new wxButton(actionsPanel, ID_BUTTON_EDIT_CMAKELISTSFILE, _T("Edit CMakeLists File"));
+  editCMakebt->SetToolTip(wxT("Edit the CMakeLists.txt file of this project."));
+  editCMakebt->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMProjectDescriptionPanel::OnCMakeMouseEnter,NULL,this);
+  editCMakebt->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&wxCDMProjectDescriptionPanel::OnCMakeMouseExit,NULL,this);
+  actionsGridSizer->Add(editCMakebt, 1, wxALL | wxEXPAND, 5);
+
+  actionsGridSizer->AddGrowableCol(0,1);
+  actionsGridSizer->AddGrowableCol(1,1);
+
+  actionsPanelSizer->Add(actionsGridSizer, 1, wxEXPAND, 0);
+  //SetPanel sizer and box
+  actionsPanel->SetSizer(actionsPanelSizer);
+  actionsPanelSizer->Fit(actionsPanel);
+  actionsBox->Add(actionsPanel, 1, wxALL | wxEXPAND, 5);
+  sizer->Add(actionsBox, 0, wxEXPAND | wxALL, 10);
+
+
+  //Assign sizer
+  this->SetSizer(sizer);
+  sizer->SetSizeHints(this);
+
+  if(((wxCDMMainFrame*)this->GetParent())->isHelp())
+    {
+      wxCDMProjectHelpDialog* helpDialog = new wxCDMProjectHelpDialog(this->GetParent(), this->project, wxID_ANY);
+      helpDialog->Show(true);
+    }
+}
+
+modelCDMProject* wxCDMProjectDescriptionPanel::GetProject() const
+{
+  return this->project;
+}
+
+void wxCDMProjectDescriptionPanel::OnBtnManagePackages(wxCommandEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+  newEvent->SetId(1);
+  newEvent->SetString(wxT("manage_packages"));
+  newEvent->SetClientData(this->project);
+  wxPostEvent(this->GetParent(), *newEvent);
+  event.Skip();
+}
+
+void wxCDMProjectDescriptionPanel::OnBtnManageLibraries(wxCommandEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+  newEvent->SetId(1);
+  newEvent->SetString(wxT("manage_libraries"));
+  wxPostEvent(this->GetParent(), *newEvent);
+
+  wxCommandEvent* newEvent1 = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->project->GetLib() != NULL)
+    {
+      newEvent1->SetClientData(this->project->GetLib());
+      newEvent1->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent1);
+    }
+
+  event.Skip();
+}
+
+void wxCDMProjectDescriptionPanel::OnBtnManageApplications(wxCommandEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_DISPLAY_CHANGED);
+  newEvent->SetId(1);
+  newEvent->SetString(wxT("manage_applications"));
+  wxPostEvent(this->GetParent(), *newEvent);
+
+  wxCommandEvent* newEvent1 = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->project->GetAppli() != NULL)
+    {
+      newEvent1->SetClientData(this->project->GetAppli());
+      newEvent1->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent1);
+    }
+
+  event.Skip();
+}
+
+void wxCDMProjectDescriptionPanel::OnBtnConfigProject(wxCommandEvent& event)
+{
+  wxCDMProjectConfigurationDialog* dialog = new wxCDMProjectConfigurationDialog(this,this->project);
+  long userResponse;
+  userResponse = dialog->ShowModal();
+}
+
+void wxCDMProjectDescriptionPanel::OnBtnEditCMakeLists(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->project->OpenCMakeListsFile(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->project->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->project->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+}
+
+void wxCDMProjectDescriptionPanel::OnBtnSetBuildPath(wxCommandEvent& event)
+{
+  wxDirDialog* dialog = new wxDirDialog(this, wxT("Choose the new build location for the project"));
+  if(dialog->ShowModal())
+    {
+      std::string* result;
+      if(!this->project->SetBuildPath(crea::wx2std(dialog->GetPath()), result))
+        wxMessageBox(crea::std2wx(*result),_T("Open CMakeLists File - Error!"),wxOK | wxICON_ERROR);
+    }
+  this->buildPathtc->SetLabel(crea::std2wx(this->project->GetBuildPath()));
+}
+
+void wxCDMProjectDescriptionPanel::OnBtnOpenBuild(wxCommandEvent& event)
+{
+  if(CDMUtilities::openFileExplorer(this->project->GetBuildPath()))
+    wxMessageBox(crea::std2wx("The folder doesn't exist or hasn't yet been created."),_T("Open Folder - Error!"),wxOK | wxICON_ERROR);
+}
+
+void wxCDMProjectDescriptionPanel::OnBtnOpenFolder(wxCommandEvent& event)
+{
+  std::string* result;
+  if(!this->project->OpenInFileExplorer(result))
+    wxMessageBox(crea::std2wx(*result),_T("Open Folder - Error!"),wxOK | wxICON_ERROR);
+}
+
+void wxCDMProjectDescriptionPanel::OnBtnSetVersion(wxCommandEvent& event)
+{
+  //get version
+  wxString libraryName = wxGetTextFromUser(
+      wxT("Enter the new version name"),
+      wxT("Change Project Version - creaDevManager"),
+      crea::std2wx(this->project->GetVersion())
+  );
+  //check name
+  std::vector<std::string> parts;
+  CDMUtilities::splitter::split(parts, crea::wx2std(libraryName), " .", CDMUtilities::splitter::no_empties);
+  if(parts.size() == 3)
+    {
+      std::string* result;
+      if(!this->project->SetVersion(crea::wx2std(libraryName), result))
+        wxMessageBox(crea::std2wx(*result),_T("Open File - Error!"),wxOK | wxICON_ERROR);
+    }
+  else
+    {
+      wxMessageBox(crea::std2wx("The version format is incorrect, please follow the following format:\nX.Y.Z\nX: Major Version\nY: Minor Version\nZ: Build Version"),_T("Set Project Version - Error!"),wxOK | wxICON_ERROR);
+    }
+  this->versiontc->SetLabel(crea::std2wx(this->project->GetVersion()));
+  this->versionDatetc->SetLabel(crea::std2wx(this->project->GetVersionDate()));
+
+}
+
+void wxCDMProjectDescriptionPanel::OnCMakeMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+  if(this->project->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->project->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMProjectDescriptionPanel::OnCMakeMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->project->GetCMakeLists() != NULL)
+    {
+      newEvent->SetClientData(this->project->GetCMakeLists());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMProjectDescriptionPanel::OnAppliMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+  std::cout << "entra appli " << this->project->GetAppli()->GetCMakeLists();
+  if(this->project->GetAppli() != NULL)
+    {
+      newEvent->SetClientData(this->project->GetAppli());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMProjectDescriptionPanel::OnAppliMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->project->GetAppli() != NULL)
+    {
+      newEvent->SetClientData(this->project->GetAppli());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMProjectDescriptionPanel::OnLibMouseEnter(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED);
+
+  if(this->project->GetLib() != NULL)
+    {
+      newEvent->SetClientData(this->project->GetLib());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
+
+void wxCDMProjectDescriptionPanel::OnLibMouseExit(wxMouseEvent& event)
+{
+  wxCommandEvent* newEvent = new wxCommandEvent(wxEVT_COMMAND_LISTBOX_SELECTED);
+
+  if(this->project->GetLib() != NULL)
+    {
+      newEvent->SetClientData(this->project->GetLib());
+      newEvent->SetId(0);
+      wxPostEvent(this->GetParent(), *newEvent);
+    }
+  event.Skip();
+}
diff --git a/lib/creaDevManagerLib/wxCDMProjectDescriptionPanel.h b/lib/creaDevManagerLib/wxCDMProjectDescriptionPanel.h
new file mode 100644
index 0000000..1b79726
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMProjectDescriptionPanel.h
@@ -0,0 +1,190 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+ */
+
+/*
+ * wxCDMProjectDescriptionPanel.h
+ *
+ *  Created on: Nov 27, 2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMPROJECTDESCRIPTIONPANEL_H_
+#define WXCDMPROJECTDESCRIPTIONPANEL_H_
+
+#include <creaWx.h>
+
+#include "modelCDMProject.h"
+
+/**
+ * Project Description Panel. Shows the project properties and the principal actions for the project.
+ */
+class wxCDMProjectDescriptionPanel : public wxScrolledWindow
+{
+  DECLARE_EVENT_TABLE()
+public:
+
+  /**
+   * Project Description panel Constructor.
+   * @param parent Parent window reference.
+   * @param project Project class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   */
+  wxCDMProjectDescriptionPanel(
+      wxWindow* parent,
+      modelCDMProject* project,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Destructor.
+   */
+  ~wxCDMProjectDescriptionPanel();
+
+  /**
+   * Project Description panel Creator.
+   * @param parent Parent window reference.
+   * @param project Project class reference.
+   * @param id Panel ID. By default -1.
+   * @param caption Panel label. By default "Description Frame".
+   * @param pos Panel position. By default wxDefaultPosition.
+   * @param size Panel size. By default wxDefaultSize.
+   * @param style Panel style. By default wxDEFAULT_FRAME_STYLE.
+   * @return True if creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      modelCDMProject* project,
+      wxWindowID id = -1,
+      const wxString& caption = _("Description Frame"),
+      const wxPoint& pos = wxDefaultPosition,
+      const wxSize& size = wxDefaultSize,
+      long style = wxDEFAULT_FRAME_STYLE
+  );
+
+  /**
+   * Creates all the controls in the panel (property and action controls).
+   */
+  void CreateControls();
+
+  /**
+   * Retrieves the described project class reference.
+   * @return Project reference.
+   */
+  modelCDMProject* GetProject() const;
+
+private:
+  /**
+   * Project described
+   */
+  modelCDMProject* project;
+  /**
+   * Text control showing the project version.
+   */
+  wxStaticText* versiontc;
+  /**
+   * Text control showing the project version date.
+   */
+  wxStaticText* versionDatetc;
+  /**
+   * Text control showing the project build path.
+   */
+  wxStaticText* buildPathtc;
+
+  //handlers
+protected:
+  /**
+   * Handles when the manage packages button is pressed.
+   */
+  void OnBtnManagePackages(wxCommandEvent& event);
+  /**
+   * Handles when the manage libraries button is pressed.
+   */
+  void OnBtnManageLibraries(wxCommandEvent& event);
+  /**
+   * Handles when the manage applications button is pressed.
+   */
+  void OnBtnManageApplications(wxCommandEvent& event);
+  /**
+   * Handles when the 3rd party libraries manager button is pressed.
+   */
+  void OnBtnConfigProject(wxCommandEvent& event);
+  /**
+   * Handles when the open cmakelists file button is pressed.
+   */
+  void OnBtnEditCMakeLists(wxCommandEvent& event);
+  /**
+   * Handles when the choose build path button is pressed.
+   */
+  void OnBtnSetBuildPath(wxCommandEvent& event);
+  /**
+   * Handles when the open build folder button is pressed.
+   */
+  void OnBtnOpenBuild(wxCommandEvent& event);
+  /**
+   * Handles when the open containing folder button is pressed.
+   */
+  void OnBtnOpenFolder(wxCommandEvent& event);
+  /**
+   * Handles when the set version button is pressed.
+   */
+  void OnBtnSetVersion(wxCommandEvent& event);
+
+  /**
+   * Handles when the open cmakelists file button is hovered.
+   */
+  void OnCMakeMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when the open cmakelists file button finishes hover.
+   */
+  void OnCMakeMouseExit(wxMouseEvent& event);
+  /**
+   * Handles when the manage applications button is hovered.
+   */
+  void OnAppliMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when the manage applications file button finishes hover.
+   */
+  void OnAppliMouseExit(wxMouseEvent& event);
+  /**
+   * Handles when the manage libraries button is hovered.
+   */
+  void OnLibMouseEnter(wxMouseEvent& event);
+  /**
+   * Handles when the manage libraries button finishes hover.
+   */
+  void OnLibMouseExit(wxMouseEvent& event);
+};
+
+#endif /* WXCDMPROJECTDESCRIPTIONPANEL_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMProjectHelpDialog.cpp b/lib/creaDevManagerLib/wxCDMProjectHelpDialog.cpp
new file mode 100644
index 0000000..9a3a0b5
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMProjectHelpDialog.cpp
@@ -0,0 +1,131 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMProjectReadyDialog.cpp
+ *
+ *  Created on: 3/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMProjectHelpDialog.h"
+
+#include "wxCDMProjectDescriptionPanel.h"
+
+#include "creaDevManagerIds.h"
+
+BEGIN_EVENT_TABLE(wxCDMProjectHelpDialog, wxDialog)
+EVT_BUTTON(ID_BUTTON_CANCEL, wxCDMProjectHelpDialog::OnFinish)
+EVT_CHECKBOX(ID_CHECKBOX_DISABLE_HELP, wxCDMProjectHelpDialog::OnDisableHelp)
+END_EVENT_TABLE()
+
+wxCDMProjectHelpDialog::wxCDMProjectHelpDialog(
+    wxWindow* parent,
+    modelCDMProject* project,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMProjectHelpDialog::Create(parent, id, caption, position, size, style);
+  this->project = project;
+}
+
+wxCDMProjectHelpDialog::~wxCDMProjectHelpDialog()
+{
+}
+
+bool wxCDMProjectHelpDialog::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long int style
+)
+{
+  wxDialog::Create(parent, id, caption, position, size, style);
+
+  this->CreateControls();
+
+  return TRUE;
+}
+
+void wxCDMProjectHelpDialog::CreateControls()
+{
+
+  wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
+
+
+  wxStaticText* title = new wxStaticText(this, wxID_ANY, wxT("Your project is ready!"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);//new wxRichTextCtrl(this,wxID_ANY, wxString("Create a new project"), wxDefaultPosition, wxDefaultSize, wxRE_READONLY);
+  v_sizer1->Add(title, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  wxStaticText* instruction = new wxStaticText(
+      this,
+      wxID_ANY,
+      crea::std2wx(
+          "A project has four main elements:\n"
+          "- Packages: Host the black boxes you make.\n"
+          "- Libraries: Contain the core functions of your programs, they are called by the black boxes and applications you make.\n"
+          "- Applications: Stand alone programs that use the functions available on your libraries.\n"
+          "- Configuration file: Contains the information of what should or shouldn't be compiled from this project.\n"
+          "\n"
+          "The Panel on the left is called \"Description Panel\" and show the details of the project item you are currently working on.\n"
+          "To the right of the description panel you will find a tree with the project structure and it's actual content.\n"
+          "Below the description panel you will find a panel with the project's main actions when you're ready to compile "
+          "the project. you can hover on this buttons to see more information about what they do. They must be executed in the displayed "
+          "order.\n"
+          "When you create a project it comes with a default package. If you need to work on it or if you want to create more "
+          "packages you can do it by clicking the \"Package Manager\" button below. You can also work with Libraries and "
+          "Applications. Just click in the \"Library Manager\" button or \"Application manager\" button to start working "
+          "with them.\n"),
+          wxDefaultPosition,
+          wxDefaultSize,
+          wxALIGN_LEFT
+  );
+  v_sizer1->Add(instruction, 0,wxEXPAND | wxALL, 5);
+
+  v_sizer1->Add(new wxCheckBox(this, ID_CHECKBOX_DISABLE_HELP, wxT("&Disable help")), 0, wxALIGN_RIGHT | wxRIGHT, 10);
+
+  v_sizer1->Add(new wxButton(this, ID_BUTTON_CANCEL, wxT("Close")), 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM | wxALIGN_CENTER_VERTICAL, 30);
+
+  SetSizer(v_sizer1);
+  //v_sizer1->RecalcSizes();
+}
+
+void wxCDMProjectHelpDialog::OnFinish(wxCommandEvent& event)
+{
+  this->EndDialog(wxID_CANCEL);
+}
+
+void wxCDMProjectHelpDialog::OnDisableHelp(wxCommandEvent& event)
+{
+  wxPostEvent(this->GetParent(), event);
+}
diff --git a/lib/creaDevManagerLib/wxCDMProjectHelpDialog.h b/lib/creaDevManagerLib/wxCDMProjectHelpDialog.h
new file mode 100644
index 0000000..0087dd0
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMProjectHelpDialog.h
@@ -0,0 +1,121 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * wxCDMProjectHelpDialog.h
+ *
+ *  Created on: 3/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMPROJECTHELPDIALOG_H_
+#define WXCDMPROJECTHELPDIALOG_H_
+
+#include <creaWx.h>
+#include <wx/dialog.h>
+
+#include "wxCDMProjectDescriptionPanel.h"
+
+/**
+ * Project Panel Help Dialog
+ */
+class wxCDMProjectHelpDialog : public wxDialog
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Project Panel Help Dialog Constructor.
+   * @param parent Parent window.
+   * @param project Project class reference.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Project Ready".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 700.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   */
+  wxCDMProjectHelpDialog(
+      wxWindow* parent,
+      modelCDMProject* project,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Project Ready"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,730),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMProjectHelpDialog();
+  /**
+   * Project Panel Help Dialog Creator.
+   * @param parent Parent window.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Project Ready".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 700.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   * @return if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Project Ready"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,730),
+      long style = wxDEFAULT_DIALOG_STYLE
+  );
+
+protected:
+  /**
+   * Creates the help controls (text and buttons).
+   */
+  void CreateControls();
+
+//attributes
+private:
+  /**
+   * Project class reference.
+   */
+  modelCDMProject* project;
+
+//handlers
+protected:
+  /**
+   * Handler to close help dialog.
+   * @param event Unused.
+   */
+  void OnFinish(wxCommandEvent& event);
+
+  /**
+   * Handler when the disable help checkbox is changed.
+   * @param event Check box event.
+   */
+  void OnDisableHelp(wxCommandEvent& event);
+};
+
+#endif /* WXCDMPROJECTHELPDIALOG_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMProjectMapDialog.cpp b/lib/creaDevManagerLib/wxCDMProjectMapDialog.cpp
new file mode 100644
index 0000000..626cae1
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMProjectMapDialog.cpp
@@ -0,0 +1,140 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMProjectMapDialog.cpp
+ *
+ *  Created on: 25/4/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMProjectMapDialog.h"
+
+#include "creaDevManagerIds.h"
+#include "../../src/creaSystem.h"
+#include "CDMUtilities.h"
+
+BEGIN_EVENT_TABLE(wxCDMProjectMapDialog, wxDialog)
+EVT_BUTTON(ID_BUTTON_CANCEL, wxCDMProjectMapDialog::OnFinish)
+EVT_PAINT(wxCDMProjectMapDialog::PaintEvent)
+END_EVENT_TABLE()
+
+wxCDMProjectMapDialog::wxCDMProjectMapDialog(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMProjectMapDialog::Create(parent, id, caption, position, size, style);
+}
+
+wxCDMProjectMapDialog::~wxCDMProjectMapDialog()
+{
+}
+
+bool wxCDMProjectMapDialog::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long int style
+)
+{
+  wxDialog::Create(parent, id, caption, position, size, style);
+  this->SetMaxSize(wxSize(650,-1));
+
+  this->CreateControls();
+
+  return TRUE;
+}
+
+void wxCDMProjectMapDialog::CreateControls()
+{
+
+  wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
+
+
+  wxStaticText* instruction = new wxStaticText(
+      this,
+      wxID_ANY,
+      crea::std2wx(
+          "This is the map of the possible routes for project development in CreaTools.\n"
+          "It's a simple image guide. For more information please read the user manual.\n"
+          " - Each bubble represents a step in the project development.\n"
+          " - The arrows are the possible routes of the development.\n"
+          " - The icons represent the different software used in each step."
+          ),
+          wxDefaultPosition,
+          wxDefaultSize,
+          wxALIGN_LEFT
+  );
+  v_sizer1->Add(instruction, 0,wxEXPAND | wxALL, 5);
+
+  wxScrolledWindow* imageWindow = new wxScrolledWindow(this);
+  imageWindow->FitInside();
+  imageWindow->SetScrollRate(5,5);
+  imagePanel = new wxPanel(imageWindow);
+  imagePanel->SetMinSize(wxSize(600,1641));
+  imageWindow->SetSizer(new wxBoxSizer(wxVERTICAL));
+  imageWindow->GetSizer()->Add(imagePanel,1,wxEXPAND);
+
+  wxImage::AddHandler(new wxPNGHandler);
+  image = new wxImage();
+
+  std::string pathToImage = crea::System::GetExecutablePath() + CDMUtilities::SLASH + ".." + CDMUtilities::SLASH + "share" + CDMUtilities::SLASH + "creaDevManager" + CDMUtilities::SLASH +  "data" + CDMUtilities::SLASH + "projectMap.png";
+  image->LoadFile(crea::std2wx(pathToImage), wxBITMAP_TYPE_PNG);
+
+
+  wxPaintDC* canvas = new wxPaintDC(imageWindow);
+
+
+
+  v_sizer1->Add(imageWindow, 1, wxEXPAND);
+
+  v_sizer1->Add(new wxButton(this, ID_BUTTON_CANCEL, wxT("Close")), 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM | wxALIGN_CENTER_VERTICAL, 30);
+
+  SetSizer(v_sizer1);
+}
+
+void
+wxCDMProjectMapDialog::PaintEvent(wxPaintEvent& evt)
+{
+  wxPaintDC* canvas = new wxPaintDC(imagePanel);
+  canvas->DrawBitmap(wxBitmap(image->Scale(600,1641,wxIMAGE_QUALITY_HIGH)),0,0, false);
+}
+
+void wxCDMProjectMapDialog::OnFinish(wxCommandEvent& event)
+{
+  this->EndDialog(wxID_CANCEL);
+}
+
+
diff --git a/lib/creaDevManagerLib/wxCDMProjectMapDialog.h b/lib/creaDevManagerLib/wxCDMProjectMapDialog.h
new file mode 100644
index 0000000..b082105
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMProjectMapDialog.h
@@ -0,0 +1,113 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * wxCDMProjectMapDialog.h
+ *
+ *  Created on: 25/4/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMPROJECTMAPDIALOG_H_
+#define WXCDMPROJECTMAPDIALOG_H_
+
+#include <creaWx.h>
+#include <wx/dialog.h>
+
+
+/**
+ * Project Map Dialog
+ */
+class wxCDMProjectMapDialog : public wxDialog
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Project Map Dialog Constructor.
+   * @param parent Parent window.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Project Routes Map".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 370.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   */
+  wxCDMProjectMapDialog(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Project Routes Map"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(630,500),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMProjectMapDialog();
+  /**
+   * Project Map Dialog Creator.
+   * @param parent Parent window.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Project Routes Map".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 370.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   * @return if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Project Routes Map"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(630,500),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+
+protected:
+  /**
+   * Creates the help controls (text and buttons).
+   */
+  void CreateControls();
+
+  void PaintEvent(wxPaintEvent& evt);
+
+//attributes
+private:
+
+  wxImage* image;
+  wxPanel* imagePanel;
+
+//handlers
+protected:
+  /**
+   * Handler to close help dialog.
+   * @param event Unused.
+   */
+  void OnFinish(wxCommandEvent& event);
+};
+
+#endif /* WXCDMPROJECTMAPDIALOG_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMProjectStructureReportDialog.cpp b/lib/creaDevManagerLib/wxCDMProjectStructureReportDialog.cpp
new file mode 100644
index 0000000..8c5ff80
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMProjectStructureReportDialog.cpp
@@ -0,0 +1,558 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMProjectStructureReportDialog.cpp
+ *
+ *  Created on: 17/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMProjectStructureReportDialog.h"
+
+#include "creaDevManagerIds.h"
+
+#include <wx/html/htmlwin.h>
+#include <vector>
+#include "CDMUtilities.h"
+
+BEGIN_EVENT_TABLE(wxCDMProjectStructureReportDialog, wxDialog)
+EVT_BUTTON(ID_BUTTON_CANCEL, wxCDMProjectStructureReportDialog::OnFinish)
+END_EVENT_TABLE()
+
+wxCDMProjectStructureReportDialog::wxCDMProjectStructureReportDialog(
+    wxWindow* parent,
+    const std::map<std::string, bool>& properties,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long style
+)
+{
+  this->properties = properties;
+  wxCDMProjectStructureReportDialog::Create(parent, id, caption, position, size, style);
+}
+
+wxCDMProjectStructureReportDialog::~wxCDMProjectStructureReportDialog()
+{
+}
+
+bool wxCDMProjectStructureReportDialog::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long int style
+)
+{
+  wxDialog::Create(parent, id, caption, position, size, style);
+
+  this->CreateControls();
+
+  return TRUE;
+}
+
+void wxCDMProjectStructureReportDialog::CreateControls()
+{
+
+  wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
+
+  wxHtmlWindow* htmlWindow = new wxHtmlWindow(this, wxID_ANY);
+  htmlWindow->SetPage(this->GetContent());
+  v_sizer1->Add(htmlWindow, 1, wxEXPAND);
+  v_sizer1->Add(new wxButton(this, ID_BUTTON_CANCEL, wxT("Close")),0,wxEXPAND);
+
+  SetSizer(v_sizer1);
+}
+
+void wxCDMProjectStructureReportDialog::OnFinish(wxCommandEvent& event)
+{
+  this->EndDialog(wxID_CANCEL);
+}
+
+wxString wxCDMProjectStructureReportDialog::GetContent()
+{
+  std::map<std::string, bool>::iterator it, it2;
+  std::map<std::string, bool> pkgs;
+  std::map<std::string, bool> libs;
+  std::map<std::string, bool> applis;
+  for (it = this->properties.begin(); it != this->properties.end(); it++)
+    {
+      std::cout << it->first << " " << it->second << std::endl;
+      if(it->first.substr(0,7) == "package")
+        {
+          std::vector<std::string> words;
+          CDMUtilities::splitter::split(words, it->first, " ", CDMUtilities::splitter::no_empties);
+          pkgs[words[1]] = true;
+        }
+      else if(it->first.substr(0,7) == "library")
+        {
+          std::vector<std::string> words;
+          CDMUtilities::splitter::split(words, it->first, " ", CDMUtilities::splitter::no_empties);
+          libs[words[1]] = true;
+        }
+      else if(it->first.substr(0,11) == "application")
+        {
+          std::vector<std::string> words;
+          CDMUtilities::splitter::split(words, it->first, " ", CDMUtilities::splitter::no_empties);
+          applis[words[1]] = true;
+        }
+    }
+  std::string report = "";
+  report +=
+      "<html>"
+      "<head>"
+      "  <title>Project Structure Check Report</title>"
+      "</head>"
+      "<body>"
+      "  <h1>Project Structure Check Report</h1>"
+      "  <div id=\"projectChk\">"
+      "    <h3>Project CMakeLists.txt</h3>"
+      "    <p>"
+      "      Includes the following built-in libraries:"
+      "      <font color=\"#00CC00\"><ul>";
+  if(this->properties["project set USE_CREA"])
+    report +=
+        "        <li>Crea</li>";
+  if(this->properties["project set USE_GDCM"])
+    report +=
+        "        <li>GDCM</li>";
+  if(this->properties["project set USE_GDCM_VTK"])
+    report +=
+        "        <li>GDCM_VTK</li>";
+  if(this->properties["project set USE_GDCM2"])
+    report +=
+        "        <li>GDCM2</li>";
+  if(this->properties["project set USE_WXWIDGETS"])
+    report +=
+        "        <li>wxWidgets</li>";
+  if(this->properties["project set USE_KWWIDGETS"])
+    report +=
+        "        <li>kwWidgets</li>";
+  if(this->properties["project set USE_VTK"])
+    report +=
+        "        <li>VTK</li>";
+  if(this->properties["project set USE_ITK"])
+    report +=
+        "        <li>ITK</li>";
+  if(this->properties["project set USE_BOOST"])
+    report +=
+        "        <li>Boost</li>";
+  report+=
+      "      </ul></font>"
+      "    </p>"
+      "    <p>"
+      "      Doesn't include the following built-in libraries:"
+      "      <font color=\"#AAAA00\"><ul>";
+  if(!this->properties["project set USE_CREA"])
+    report +=
+        "        <li>Crea</li>";
+  if(!this->properties["project set USE_GDCM"])
+    report +=
+        "        <li>GDCM</li>";
+  if(!this->properties["project set USE_GDCM_VTK"])
+    report +=
+        "        <li>GDCM_VTK</li>";
+  if(!this->properties["project set USE_GDCM2"])
+    report +=
+        "        <li>GDCM2</li>";
+  if(!this->properties["project set USE_WXWIDGETS"])
+    report +=
+        "        <li>wxWidgets</li>";
+  if(!this->properties["project set USE_KWWIDGETS"])
+    report +=
+        "        <li>kwWidgets</li>";
+  if(!this->properties["project set USE_VTK"])
+    report +=
+        "        <li>VTK</li>";
+  if(!this->properties["project set USE_ITK"])
+    report +=
+        "        <li>ITK</li>";
+  if(!this->properties["project set USE_BOOST"])
+    report +=
+        "        <li>Boost</li>";
+  report+=
+      "      </ul></font>"
+      "    </p>"
+      "    <p>"
+      "      Includes:"
+      "      <font color=\"#00CC00\"><ul>";
+  if(this->properties["project add lib"])
+    report +=
+        "        <li>Lib</li>";
+  if(this->properties["project add appli"])
+    report +=
+        "        <li>Appli</li>";
+  for (it = this->properties.begin(); it != this->properties.end(); it++)
+    {
+      if(it->second == true && it->first.substr(0,11) == "project add")
+        {
+          std::string namePkg = it->first.substr(12);
+          if (namePkg.substr(0,4) == "bbtk")
+            report +=
+                "        <li>Package " + namePkg + "</li>";
+        }
+    }
+  report+=
+      "      </ul></font>"
+      "    </p>"
+      "    <p>Doesn't include:"
+      "      <font color=\"#FF0000\"><ul>";
+  if(!this->properties["project add lib"])
+    report +=
+        "        <li >"
+        "          Lib: use"
+        "          <blockquote>ADD_SUBDIRECTORY(lib)</blockquote>"
+        "          in the project CMakeLists file."
+        "        </li>";
+  if(!this->properties["project add appli"])
+    report +=
+        "        <li>"
+        "          Appli: use"
+        "          <blockquote>ADD_SUBDIRECTORY(appli)</blockquote>"
+        "          in the project CMakeLists file."
+        "        </li>";
+  for (it = this->properties.begin(); it != this->properties.end(); it++)
+    {
+      if(it->second == false && it->first.substr(0,11) == "project add")
+        {
+          std::string namePkg = it->first.substr(12);
+          report +=
+              "        <li>"
+              "          Package \"" + namePkg + "\": use"
+              "          <blockquote>ADD_SUBDIRECTORY(" + namePkg + ")</blockquote>"
+              "          in the project CMakeLists file."
+              "        </li>";
+        }
+    }
+  report+=
+      "      </ul></font>"
+      "    </p>"
+      "  </div>";
+
+  for (it = pkgs.begin(); it != pkgs.end(); it++)
+    {
+      report +=
+          "  <div id=\"package" + it->first + "Chk\">"
+          "    <h3>Package " + it->first + " CMakeLists.txt</h3>"
+          "    <p>"
+          "      Includes the following built-in libraries:"
+          "      <font color=\"#00CC00\"><ul>";
+      if(this->properties["package " + it->first + " set USE_VTK"])
+        report +=
+            "        <li>VTK</li>";
+      if(this->properties["package " + it->first + " set USE_ITK"])
+        report +=
+            "        <li>ITK</li>";
+      if(this->properties["package " + it->first + " set USE_GDCM"])
+        report +=
+            "        <li>GDCM</li>";
+      if(this->properties["package " + it->first + " set USE_GDC_VTK"])
+        report +=
+            "        <li>GDCM_VTK</li>";
+      if(this->properties["package " + it->first + " set USE_GSMIS"])
+        report +=
+            "        <li>GSMIS</li>";
+      if(this->properties["package " + it->first + " set USE_WXWIDGETS"])
+        report +=
+            "        <li>wxWidgets</li>";
+      if(this->properties["package " + it->first + " set USE_KWWIDGETS"])
+        report +=
+            "        <li>kwWidgets</li>";
+      report +=
+          "      </ul></font>"
+          "    </p>"
+          "    <p>"
+          "      Doesn't include the following built-in libraries:"
+          "      <font color=\"#AAAA00\"><ul>";
+      if(!this->properties["package " + it->first + " set USE_VTK"])
+        report +=
+            "        <li>VTK</li>";
+      if(!this->properties["package " + it->first + " set USE_ITK"])
+        report +=
+            "        <li>ITK</li>";
+      if(!this->properties["package " + it->first + " set USE_GDCM"])
+        report +=
+            "        <li>GDCM</li>";
+      if(!this->properties["package " + it->first + " set USE_GDC_VTK"])
+        report +=
+            "        <li>GDCM_VTK</li>";
+      if(!this->properties["package " + it->first + " set USE_GSMIS"])
+        report +=
+            "        <li>GSMIS</li>";
+      if(!this->properties["package " + it->first + " set USE_WXWIDGETS"])
+        report +=
+            "        <li>wxWidgets</li>";
+      if(!this->properties["package " + it->first + " set USE_KWWIDGETS"])
+        report +=
+            "        <li>kwWidgets</li>";
+      report +=
+          "      </ul></font>"
+          "    </p>"
+          "    <p>"
+          "      Includes the following additional directories:"
+          "      <font color=\"#00CC00\"><ul>";
+      for (it2 = this->properties.begin(); it2 != this->properties.end(); it2++)
+        {
+          std::string pkgname = "package " + it->first + " dir";
+          if(it2->first.substr(0,pkgname.size()) == pkgname)
+            {
+              std::string directoryName = it2->first.substr(pkgname.size()+1);
+              report +=
+                  "        <li>" + directoryName + "</li>";
+            }
+        }
+      report +=
+          "      </ul></font>"
+          "    </p>"
+          "    <p>"
+          "      Includes the following libraries:"
+          "      <font color=\"#00CC00\"><ul>";
+      for (it2 = this->properties.begin(); it2 != this->properties.end(); it2++)
+        {
+          std::string pkgname = "package " + it->first + " lib";
+          if(it2->first.substr(0,pkgname.size()) == pkgname)
+            {
+              std::string libraryName = it2->first.substr(pkgname.size()+1);
+              report +=
+                  "        <li>" + libraryName + "</li>";
+            }
+        }
+      report +=
+          "      </ul></font>"
+          "    </p>"
+          "    <p>"
+          "      <strong>Note:</strong><br>"
+          "      Please include the following lines in the package CMakeLists file in order to add a library:<br>"
+          "          - In section <strong>SET(${BBTK_PACKAGE_NAME}_INCLUDE_DIRS</strong> use:"
+          "          <blockquote>"
+          "            ../lib/[libraryFolderName]"
+          "          </blockquote>"
+          "          - In section <strong>SET(${BBTK_PACKAGE_NAME}_LIBS</strong> use:"
+          "          <blockquote>"
+          "            [libraryName]"
+          "          </blockquote>"
+          "    </p>"
+          "  </div>";
+    }
+  report +=
+      "  <div id=\"libChk\">"
+      "    <h3>Lib CMakeLists.txt</h3>"
+      "    <p>"
+      "      Includes libraries:"
+      "      <font color=\"#00CC00\"><ul>";
+  for (it = this->properties.begin(); it != this->properties.end(); it++)
+    {
+      if(it->second == true && it->first.substr(0, 7) == "lib add")
+        {
+          std::string nameLib = it->first.substr(8);
+          report +=
+              "        <li>" + nameLib + "</li>";
+        }
+    }
+  report +=
+      "      </ul></font>"
+      "    </p>"
+      "    <p>Doesn't include libraries:"
+      "      <font color=\"#FF0000\"><ul>";
+  for (it = this->properties.begin(); it != this->properties.end(); it++)
+    {
+      if(it->second == false && it->first.substr(0, 7) == "lib add")
+        {
+          std::string nameLib = it->first.substr(8);
+          report +=
+              "        <li>" + nameLib + "</li>";
+        }
+    }
+  report +=
+      "      </ul></font>"
+      "    </p>"
+      "    <p>"
+      "      <strong>Note:</strong><br>"
+      "      Please include the following lines in the lib CMakeLists file in order to add a library:"
+      "          <blockquote>ADD_SUBDIRECTORY([libraryName])</blockquote>"
+      "    </p>"
+      "  </div>";
+  for (it = libs.begin(); it != libs.end(); it++)
+    {
+      report +=
+          "  <div id=\"library" + it->first + "Chk\">"
+          "    <h3>Library " + it->first + " CMakeLists.txt</h3>"
+          "    <p>"
+          "      Includes the following libraries:"
+          "      <font color=\"#00CC00\"><ul>";
+      for (it2 = this->properties.begin(); it2 != this->properties.end(); it2++)
+        {
+          std::string libname = "library " + it->first + " lib";
+          if(it2->second == true && it2->first.substr(0,libname.size()) == libname)
+            {
+              std::string libraryName = it2->first.substr(libname.size()+1);
+              report +=
+                  "        <li>" + libraryName + "</li>";
+            }
+        }
+      report +=
+          "      </ul></font>"
+          "    </p>"
+          "    <p>"
+          "      Doesn't include the following libraries:"
+          "      <font color=\"#AAAA00\"><ul>";
+      for (it2 = this->properties.begin(); it2 != this->properties.end(); it2++)
+        {
+          std::string libname = "library " + it->first + " lib";
+          if(it2->second == false && it2->first.substr(0,libname.size()) == libname)
+            {
+              std::string libraryName = it2->first.substr(libname.size()+1);
+              report +=
+                  "        <li>" + libraryName + "</li>";
+            }
+        }
+      report +=
+          "      </ul></font>"
+          "    </p>"
+          "    <p>"
+          "      <strong>Note:</strong><br>"
+          "      Please include the following line in the library CMakeLists file in order to add a library:"
+          "          <blockquote>[libraryName]</blockquote>"
+          "      on <strong>SET ( ${LIBRARY_NAME}_LINK_LIBRARIES</strong> section if needed."
+          "    </p>"
+          "  </div>";
+    }
+  report +=
+      "  <div id=\"appliChk\">"
+      "    <h3>Appli CMakeLists.txt</h3>"
+      "    <p>"
+      "      Includes applications:"
+      "      <font color=\"#00CC00\"><ul>";
+  for (it = this->properties.begin(); it != this->properties.end(); it++)
+    {
+      if(it->second == true && it->first.substr(0, 9) == "appli add")
+        {
+          std::string nameAppli = it->first.substr(10);
+          report +=
+              "        <li>" + nameAppli + "</li>";
+        }
+    }
+  report +=
+      "      </ul></font>"
+      "    </p>"
+      "    <p>Doesn't include applications:"
+      "      <font color=\"#FF0000\"><ul>";
+  for (it = this->properties.begin(); it != this->properties.end(); it++)
+    {
+      if(it->second == false && it->first.substr(0, 9) == "appli add")
+        {
+          std::string nameAppli = it->first.substr(10);
+          report +=
+              "        <li>" + nameAppli + "</li>";
+        }
+    }
+  report +=
+      "      </ul></font>"
+      "    </p>"
+      "    <p>"
+      "      <strong>Note:</strong><br>"
+      "      Please include the following lines in the appli CMakeLists file in order to add an application:"
+      "          <blockquote>ADD_SUBDIRECTORY([applicationName])</blockquote>"
+      "    </p>"
+      "  </div>";
+  for (it = applis.begin(); it != applis.end(); it++)
+    {
+      report +=
+          "  <div id=\"application" + it->first + "Chk\">"
+          "    <h3>Application " + it->first + " CMakeLists.txt</h3>"
+          "    <p>"
+          "      Includes the following libraries:"
+          "      <font color=\"#00CC00\"><ul>";
+      for (it2 = this->properties.begin(); it2 != this->properties.end(); it2++)
+        {
+          std::string appliname = "application " + it->first + " dir";
+          if(it2->second && it2->first.substr(0,appliname.size()) == appliname)
+            {
+              std::string directoryName = it2->first.substr(appliname.size()+1);
+              report +=
+                  "        <li>" + directoryName + "</li>";
+            }
+        }
+      report +=
+          "      </ul></font>"
+          "    </p>"
+          "    <p>"
+          "      Includes the following libraries:"
+          "      <font color=\"#00CC00\"><ul>";
+      for (it2 = this->properties.begin(); it2 != this->properties.end(); it2++)
+        {
+          std::string appliname = "application " + it->first + " lib";
+          if(it2->second && it2->first.substr(0,appliname.size()) == appliname)
+            {
+              std::string libraryName = it2->first.substr(appliname.size()+1);
+              report +=
+                  "        <li>" + libraryName + "</li>";
+            }
+        }
+      report +=
+          "      </ul></font>"
+          "    </p>"
+          "    <p>"
+          "      Doesn't include the following libraries:"
+          "      <font color=\"#AAAA00\"><ul>";
+      for (it2 = this->properties.begin(); it2 != this->properties.end(); it2++)
+        {
+          std::string appliname = "application " + it->first + " lib";
+          if(it2->second == false && it2->first.substr(0,appliname.size()) == appliname)
+            {
+              std::string libraryName = it2->first.substr(appliname.size()+1);
+              report +=
+                  "        <li>" + libraryName + "</li>";
+            }
+        }
+      report +=
+          "      </ul></font>"
+          "    </p>"
+          "    <p>"
+          "      <strong>Note:</strong><br>"
+          "      Please include the following lines in the application CMakeLists file in order to add a library:<br>"
+          "          - In section <strong>INCLUDE_DIRECTORIES(</strong> use:"
+          "          <blockquote>"
+          "            ../lib/[libraryFolderName]"
+          "          </blockquote>"
+          "          - In section <strong>SET(${EXE_NAME}_LINK_LIBRARIES</strong> use:"
+          "          <blockquote>"
+          "            [libraryName]"
+          "          </blockquote>"
+          "    </p>"
+          "  </div>";
+    }
+  report +=
+      "</body>"
+      "</html>"
+      ;
+  return crea::std2wx(report);
+}
diff --git a/lib/creaDevManagerLib/wxCDMProjectStructureReportDialog.h b/lib/creaDevManagerLib/wxCDMProjectStructureReportDialog.h
new file mode 100644
index 0000000..72fb814
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMProjectStructureReportDialog.h
@@ -0,0 +1,120 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+
+/*
+ * wxCDMProjectStructureReportDialog.h
+ *
+ *  Created on: 3/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMPROJECTSTRUCTUREREPORTDIALOG_H_
+#define WXCDMPROJECTSTRUCTUREREPORTDIALOG_H_
+
+#include <creaWx.h>
+#include <wx/dialog.h>
+
+#include <map>
+
+/**
+ * Project Structure Report Dialog. Allows the user to inspect what is compiling and what's not.
+ */
+class wxCDMProjectStructureReportDialog : public wxDialog
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Project Structure Report Dialog Constructor.
+   * @param parent Parent window.
+   * @param properties Project precompilation check map.
+   * @param id Window ID. By default wxID_ANY.
+   * @param caption Window label. By default "Project Structure Report".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 700, 500.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   */
+  wxCDMProjectStructureReportDialog(
+      wxWindow* parent,
+      const std::map<std::string, bool>& properties,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Project Structure Report"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(700,500),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMProjectStructureReportDialog();
+  /**
+   * Project Structure Report Dialog Creator.
+   * @param parent Parent window.
+   * @param id Window ID. By default wxID_ANY.
+   * @param caption Window label. By default "Project Structure Report".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 700, 500.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   * @return if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Project Structure Report"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(700,500),
+      long style = wxDEFAULT_DIALOG_STYLE
+  );
+
+protected:
+  /**
+   * Creates the Dialog controls (text and button).
+   */
+  void CreateControls();
+
+//attributes
+private:
+  /**
+   * Project check results.
+   */
+  std::map<std::string, bool> properties;
+
+//handlers
+protected:
+  /**
+   * Handles when the close button is pressed.
+   * @param event Unused.
+   */
+  void OnFinish(wxCommandEvent& event);
+  /**
+   * Creates the project structure check results processed for showing them. In HTML
+   * @return Report in HTML format.
+   */
+  wxString GetContent();
+};
+
+#endif /* WXCDMPROJECTSTRUCTUREREPORTDIALOG_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMProjectsTreeCtrl.cxx b/lib/creaDevManagerLib/wxCDMProjectsTreeCtrl.cxx
new file mode 100755
index 0000000..d0bbafb
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMProjectsTreeCtrl.cxx
@@ -0,0 +1,268 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCreaDevManagerTreeCtrl.cpp
+ *
+ *  Created on: 19/10/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMProjectsTreeCtrl.h"
+
+#include <vector>
+#include <sstream>
+
+#include <wx/imaglist.h>
+
+#include "creaDevManagerIds.h"
+#include "images/AIcon20.xpm"
+#include "images/ApIcon20.xpm"
+#include "images/BBIcon20.xpm"
+#include "images/BBSIcon20.xpm"
+#include "images/BBGIcon20.xpm"
+#include "images/CIcon20.xpm"
+#include "images/CFIcon20.xpm"
+#include "images/CMIcon20.xpm"
+#include "images/FdIcon20.xpm"
+#include "images/FlIcon20.xpm"
+#include "images/LbIcon20.xpm"
+#include "images/LIcon20.xpm"
+#include "images/PrIcon20.xpm"
+#include "images/PkIcon20.xpm"
+
+wxCDMProjectsTreeCtrl::wxCDMProjectsTreeCtrl(
+    wxWindow *parent,
+    wxWindowID id,
+    const wxPoint &pos,
+    const wxSize &size,
+    long style,
+    const wxValidator &validator,
+    const wxString &name
+)
+{
+  wxCDMProjectsTreeCtrl::Create(parent, id, pos, size, style, validator, name);
+}
+
+wxCDMProjectsTreeCtrl::~wxCDMProjectsTreeCtrl()
+{
+}
+
+bool wxCDMProjectsTreeCtrl::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxPoint &pos,
+    const wxSize &size,
+    long style,
+    const wxValidator &validator,
+    const wxString &name
+)
+{
+  wxTreeCtrl::Create (parent, id, pos, size, style, validator, name);
+
+  this->DeleteAllItems();
+
+  wxImageList* images = new wxImageList(20, 20, true);
+  this->ID_AIcon = images->Add(wxIcon(AIcon20));
+  this->ID_ApIcon = images->Add(wxIcon(ApIcon20));
+  this->ID_BBIcon = images->Add(wxIcon(BBIcon20));
+  this->ID_BBGIcon = images->Add(wxIcon(BBGIcon20));
+  this->ID_BBSIcon = images->Add(wxIcon(BBSIcon20));
+  this->ID_Cicon = images->Add(wxIcon(CIcon20));
+  this->ID_CMIcon = images->Add(wxIcon(CMIcon20));
+  this->ID_FdIcon = images->Add(wxIcon(FdIcon20));
+  this->ID_FlIcon = images->Add(wxIcon(FlIcon20));
+  this->ID_CFIcon = images->Add(wxIcon(CFIcon20));
+  this->ID_LbIcon = images->Add(wxIcon(LbIcon20));
+  this->ID_LIcon = images->Add(wxIcon(LIcon20));
+  this->ID_PrIcon = images->Add(wxIcon(PrIcon20));
+  this->ID_PkIcon = images->Add(wxIcon(PkIcon20));
+  this->AssignImageList(images);
+
+  wxTreeItemId rootIndex = this->AddRoot(wxT("No Open Project"), this->ID_Cicon, this->ID_Cicon);
+
+  this->Update();
+  return TRUE;
+}
+
+void wxCDMProjectsTreeCtrl::BuildTree(std::map< wxCDMTreeItemId, modelCDMIProjectTreeNode* >& modelElements, modelCDMProject* projectTree)
+{
+  this->Unselect();
+  std::cout << "building tree" << std::endl;
+  this->DeleteAllItems();
+  modelElements.clear();
+  if(projectTree != NULL)
+    {
+      projectTree->SetId(this->AddRoot(crea::std2wx(projectTree->GetName()), this->ID_PrIcon));
+	  
+	  modelElements[projectTree->GetId()] = projectTree;
+
+      std::cout << "Building TreeCtrl for " << projectTree->GetName() << std::endl;
+      this->BuildTree(projectTree->GetChildren(), modelElements, projectTree->GetId());
+
+      this->Expand(projectTree->GetId().GetWxId());
+
+      this->Update();
+    }
+  else
+    {
+      wxTreeItemId rootIndex = this-> AddRoot(_("No Open Project"), this->ID_Cicon);
+    }
+}
+
+void wxCDMProjectsTreeCtrl::BuildTree(const std::vector<modelCDMIProjectTreeNode*>& treeNodes, std::map< wxCDMTreeItemId, modelCDMIProjectTreeNode* >& modelElements, const wxCDMTreeItemId& parent)
+{
+  for (int i = 0; i < (int)(treeNodes.size()); i++)
+    {
+      //cout << projectsTree[i].GetName() << endl;
+      if(treeNodes[i] != NULL)
+        {
+          int idIcon = GetIconId(treeNodes[i]);
+          wxString nodeName((treeNodes[i]->GetName()).c_str(), wxConvUTF8);
+          treeNodes[i]->SetId(wxCDMTreeItemId(this->AppendItem(parent.GetWxId(), nodeName, idIcon)));
+	  
+		  modelElements[treeNodes[i]->GetId()] = treeNodes[i];
+
+          std::vector<modelCDMIProjectTreeNode*> innerChildren = treeNodes[i]->GetChildren();
+          if(innerChildren.size() > 0)
+            {
+              this->BuildTree(innerChildren, modelElements, treeNodes[i]->GetId());
+            }
+        }
+
+    }
+}
+
+int wxCDMProjectsTreeCtrl::GetIconId(modelCDMIProjectTreeNode* node)
+{
+  modelCDMIProjectTreeNode* element = dynamic_cast<modelCDMProject*>(node);
+  if(element != NULL)
+    {
+      return this->ID_PrIcon;
+    }
+  else
+    {
+      element = dynamic_cast<modelCDMAppli*>(node);
+      if(element != NULL)
+        {
+          return this->ID_ApIcon;
+        }
+      else
+        {
+          element = dynamic_cast<modelCDMApplication*>(node);
+          if(element != NULL)
+            {
+              return this->ID_AIcon;
+            }
+          else
+            {
+              element = dynamic_cast<modelCDMLib*>(node);
+              if(element != NULL)
+                {
+                  return this->ID_LbIcon;
+                }
+              else
+                {
+                  element = dynamic_cast<modelCDMLibrary*>(node);
+                  if(element != NULL)
+                    {
+                      return this->ID_LIcon;
+                    }
+                  else
+                    {
+                      element = dynamic_cast<modelCDMPackage*>(node);
+                      if(element != NULL)
+                        {
+                          return this->ID_PkIcon;
+                        }
+                      else
+                        {
+                          element = dynamic_cast<modelCDMBlackBox*>(node);
+                          if(element != NULL)
+                            {
+                              return this->ID_BBIcon;
+                            }
+                          else
+                            {
+                              element = dynamic_cast<modelCDMCMakeListsFile*>(node);
+                              if(element != NULL)
+                                {
+                                  return this->ID_CMIcon;
+                                }
+                              else
+                                {
+                                  element = dynamic_cast<modelCDMCodeFile*>(node);
+                                  if(element != NULL)
+                                    {
+                                      return this->ID_CFIcon;
+                                    }
+                                  else
+                                    {
+                                      element = dynamic_cast<modelCDMBBSFile*>(node);
+                                      if(element != NULL)
+                                        {
+                                          return this->ID_BBSIcon;
+                                        }
+                                      else
+                                        {
+                                          element = dynamic_cast<modelCDMBBGFile*>(node);
+                                          if(element != NULL)
+                                            {
+                                              return this->ID_BBGIcon;
+                                            }
+                                          else
+                                            {
+                                              element = dynamic_cast<modelCDMFolder*>(node);
+                                              if(element != NULL)
+                                                {
+                                                  return this->ID_FdIcon;
+                                                }
+                                              else
+                                                {
+                                                  element = dynamic_cast<modelCDMFile*>(node);
+                                                  if(element != NULL)
+                                                    {
+                                                      return this->ID_FlIcon;
+                                                    }
+                                                  else
+                                                    {
+                                                      return this->ID_Cicon;
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
diff --git a/lib/creaDevManagerLib/wxCDMProjectsTreeCtrl.h b/lib/creaDevManagerLib/wxCDMProjectsTreeCtrl.h
new file mode 100755
index 0000000..5c19935
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMProjectsTreeCtrl.h
@@ -0,0 +1,176 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCreaDevManagerTreeCtrl.h
+ *
+ *  Created on: 19/10/2012
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMPROJECTSTREECTRL_H_
+#define WXCDMPROJECTSTREECTRL_H_
+
+#include <creaWx.h>
+#include <wx/treectrl.h>
+#include "modelCDMProject.h"
+#include "modelCDMIProjectTreeNode.h"
+
+#include <vector>
+#include <map>
+
+/**
+ * Project Tree Control. Shows a project's content in a hierarchy tree control.
+ */
+class wxCDMProjectsTreeCtrl: public wxTreeCtrl
+{
+public:
+  /**
+   * Project Tree Control Constructor.
+   * @param parent Parent window reference.
+   * @param id Control ID, by default wxID_ANY.
+   * @param pos Control position. By default wxDefaultPosition.
+   * @param size Control size. By default wxDefaultSize.
+   * @param style Control style. By default wxTR_DEFAULT_STYLE.
+   * @param validator Validator. By default wxDefaultValidator.
+   * @param name Control Name. By default "Projects tree".
+   */
+  wxCDMProjectsTreeCtrl(
+      wxWindow *parent,
+      wxWindowID id=wxID_ANY,
+      const wxPoint &pos=wxDefaultPosition,
+      const wxSize &size=wxDefaultSize,
+      long style=wxTR_DEFAULT_STYLE,
+      const wxValidator &validator=wxDefaultValidator,
+      const wxString &name=_("Projects tree")
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMProjectsTreeCtrl();
+  /**
+   * Project Tree Control Creator.
+   * @param parent Parent window reference.
+   * @param id Control ID, by default wxID_ANY.
+   * @param pos Control position. By default wxDefaultPosition.
+   * @param size Control size. By default wxDefaultSize.
+   * @param style Control style. By default wxTR_DEFAULT_STYLE.
+   * @param validator Validator. By default wxDefaultValidator.
+   * @param name Control Name. By default "Projects tree".
+   * @return True if the creation was successful.
+   */
+  bool Create(
+      wxWindow *parent,
+      wxWindowID id=wxID_ANY,
+      const wxPoint &pos=wxDefaultPosition,
+      const wxSize &size=wxDefaultSize,
+      long style=wxTR_DEFAULT_STYLE,
+      const wxValidator &validator=wxDefaultValidator,
+      const wxString &name=_("Projects tree")
+  );
+
+  /**
+   * Builds the tree hierarchy with the given model elements.
+   */
+  void BuildTree(std::map< wxCDMTreeItemId, modelCDMIProjectTreeNode* >& modelElements, modelCDMProject* tree = NULL);
+
+private:
+
+  /**
+   * A Icon ID.
+   */
+  int ID_AIcon;
+  /**
+   * Ap Icon ID.
+   */
+  int ID_ApIcon;
+  /**
+   * BB Icon ID.
+   */
+  int ID_BBIcon;
+  /**
+   * BBG Icon ID.
+   */
+  int ID_BBGIcon;
+  /**
+   * BBS Icon ID.
+   */
+  int ID_BBSIcon;
+  /**
+   * C Icon ID.
+   */
+  int ID_Cicon;
+  /**
+   * CF Icon ID.
+   */
+  int ID_CFIcon;
+  /**
+   * CM Icon ID.
+   */
+  int ID_CMIcon;
+  /**
+   * Fd Icon ID.
+   */
+  int ID_FdIcon;
+  /**
+   * Fl Icon ID.
+   */
+  int ID_FlIcon;
+  /**
+   * Lb Icon ID.
+   */
+  int ID_LbIcon;
+  /**
+   * L Icon ID.
+   */
+  int ID_LIcon;
+  /**
+   * Pr Icon ID.
+   */
+  int ID_PrIcon;
+  /**
+   * Pk Icon ID.
+   */
+  int ID_PkIcon;
+
+  /**
+   * Builds the tree with the hierarchy given and fills the modelElements map.
+   * @param tree Root node of the tree.
+   * @param modelElements Id->node map.
+   * @param parent ID of the root node ID.
+   */
+  void BuildTree(const std::vector<modelCDMIProjectTreeNode*>& tree, std::map< wxCDMTreeItemId, modelCDMIProjectTreeNode* >& modelElements, const wxCDMTreeItemId& parent);
+  /**
+   * Retrieves the icon ID of the given node by its type.
+   * @param node Node to search its icon.
+   * @return Icon ID
+   */
+  int GetIconId(modelCDMIProjectTreeNode* node);
+};
+
+#endif /* WXCDMPROJECTSTREECTRL_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMSettingsDialog.cpp b/lib/creaDevManagerLib/wxCDMSettingsDialog.cpp
new file mode 100644
index 0000000..5af4e79
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMSettingsDialog.cpp
@@ -0,0 +1,182 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMMainHelpDialog.cpp
+ *
+ *  Created on: 14/2/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMSettingsDialog.h"
+
+#include "creaDevManagerIds.h"
+#include "CDMUtilities.h"
+
+#include <wx/config.h>
+
+BEGIN_EVENT_TABLE(wxCDMSettingsDialog, wxDialog)
+EVT_BUTTON(ID_BUTTON_NEXT, wxCDMSettingsDialog::OnFinish)
+EVT_BUTTON(ID_BUTTON_PREV, wxCDMSettingsDialog::OnDefaults)
+EVT_BUTTON(ID_BUTTON_CANCEL, wxCDMSettingsDialog::OnCancel)
+END_EVENT_TABLE()
+
+wxCDMSettingsDialog::wxCDMSettingsDialog(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long style
+)
+{
+  wxCDMSettingsDialog::Create(parent, id, caption, position, size, style);
+}
+
+wxCDMSettingsDialog::~wxCDMSettingsDialog()
+{
+}
+
+bool wxCDMSettingsDialog::Create(
+    wxWindow* parent,
+    wxWindowID id,
+    const wxString& caption,
+    const wxPoint& position,
+    const wxSize& size,
+    long int style
+)
+{
+  wxDialog::Create(parent, id, caption, position, size, style);
+
+  this->CreateControls();
+
+  return TRUE;
+}
+
+bool wxCDMSettingsDialog::IsHelpEnabled()
+{
+  return this->helpEnabled->GetValue();
+}
+
+void wxCDMSettingsDialog::SetHelpEnabled(bool isHelp)
+{
+  this->helpEnabled->SetValue(isHelp);
+}
+
+void wxCDMSettingsDialog::CreateControls()
+{
+
+  wxBoxSizer* v_sizer1 = new wxBoxSizer(wxVERTICAL);
+
+
+  wxStaticText* title = new wxStaticText(this, wxID_ANY, wxT("Crea Development Manager Settings"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);
+  v_sizer1->Add(title, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+  wxStaticText* instruction = new wxStaticText(this, wxID_ANY, wxT("Change the values to modify the default behavior of the program."), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);
+  v_sizer1->Add(instruction, 0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL | wxEXPAND, 5);
+
+  wxFlexGridSizer* formItems = new wxFlexGridSizer(5,2,9,15);
+
+  wxStaticText *stxtTextEditor = new wxStaticText(this, -1, wxT("Text Editor Command"));
+  wxStaticText *stxtFileExplorer = new wxStaticText(this, -1, wxT("File Explorer Command"));
+  wxStaticText *stxtTerminal = new wxStaticText(this, -1, wxT("Terminal Command"));
+  wxStaticText *stxtHelpEnabled = new wxStaticText(this, -1, wxT("Help Enabled"));
+#ifndef _WIN32
+  wxStaticText* stxtBuildCommand = new wxStaticText(this, -1, wxT("Build Command"));
+#endif
+  wxConfigBase* pConfig = wxConfigBase::Get();
+
+  this->textEditor = new wxTextCtrl(this, -1, pConfig->Read(wxT("TEXT_EDITOR"), crea::std2wx(CDMUtilities::TEXT_EDITOR)));
+  this->fileExplorer = new wxTextCtrl(this, -1, pConfig->Read(wxT("FILE_EXPLORER"), crea::std2wx(CDMUtilities::FILE_EXPLORER)));
+  this->terminal = new wxTextCtrl(this, -1, pConfig->Read(wxT("TERMINAL"), crea::std2wx(CDMUtilities::TERMINAL)));
+  this->helpEnabled = new wxCheckBox(this, -1, wxT(""));
+  this->helpEnabled->SetValue(pConfig->Read(wxT("HELP"), true) != 0);
+#ifndef _WIN32
+  this->buildCommand = new wxTextCtrl(this, -1, pConfig->Read(wxT("BUILD_COMMAND"), crea::std2wx(CDMUtilities::BUILD_COMMAND)));
+#endif
+
+  formItems->Add(stxtTextEditor, 0, wxALIGN_CENTER_VERTICAL);
+  formItems->Add(this->textEditor, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+  formItems->Add(stxtFileExplorer, 0, wxALIGN_CENTER_VERTICAL);
+  formItems->Add(this->fileExplorer, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+  formItems->Add(stxtTerminal, 0, wxALIGN_CENTER_VERTICAL);
+  formItems->Add(this->terminal, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+#ifndef _WIN32
+  formItems->Add(stxtBuildCommand, 0, wxALIGN_CENTER_VERTICAL);
+  formItems->Add(this->buildCommand, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+#endif
+  formItems->Add(stxtHelpEnabled, 0, wxALIGN_CENTER_VERTICAL);
+  formItems->Add(this->helpEnabled, 1, wxEXPAND);
+
+  formItems->AddGrowableCol(1,1);
+
+  v_sizer1->Add(formItems, 1, wxEXPAND | wxALL, 15);
+
+  wxBoxSizer* h_sizer2 = new wxBoxSizer(wxHORIZONTAL);
+  h_sizer2->Add(new wxButton(this, ID_BUTTON_PREV, wxT("Restore Defaults")), 0, wxALL | wxALIGN_CENTER_VERTICAL, 5);
+  h_sizer2->Add(new wxButton(this, ID_BUTTON_NEXT, wxT("OK")), 0, wxALL | wxALIGN_CENTER_VERTICAL, 5);
+  h_sizer2->Add(new wxButton(this, ID_BUTTON_CANCEL, wxT("Cancel")), 0, wxALL | wxALIGN_CENTER_VERTICAL, 5);
+
+
+  v_sizer1->Add(h_sizer2, 0, wxALIGN_CENTER | wxALL | wxEXPAND, 10);
+
+  SetSizer(v_sizer1);
+}
+
+void wxCDMSettingsDialog::OnFinish(wxCommandEvent& event)
+{
+  wxConfigBase* pConfig = wxConfigBase::Get();
+
+  pConfig->Write(wxT("TEXT_EDITOR"), this->textEditor->GetValue());
+  pConfig->Write(wxT("TERMINAL"), this->terminal->GetValue());
+  pConfig->Write(wxT("FILE_EXPLORER"), this->fileExplorer->GetValue());
+  pConfig->Write(wxT("HELP"), this->helpEnabled->GetValue());
+#ifndef _WIN32
+  pConfig->Write(wxT("BUILD_COMMAND"), this->buildCommand->GetValue());
+#endif
+
+  pConfig->Flush();
+
+  this->EndModal(wxID_OK);
+}
+
+void wxCDMSettingsDialog::OnCancel(wxCommandEvent& event)
+{
+  this->EndModal(wxID_CANCEL);
+}
+
+void wxCDMSettingsDialog::OnDefaults(wxCommandEvent& event)
+{
+  this->textEditor->SetValue(crea::std2wx(CDMUtilities::TEXT_EDITOR));
+  this->terminal->SetValue(crea::std2wx(CDMUtilities::TERMINAL));
+  this->fileExplorer->SetValue(crea::std2wx(CDMUtilities::FILE_EXPLORER));
+#ifndef _WIN32
+  this->buildCommand->SetValue(crea::std2wx(CDMUtilities::BUILD_COMMAND));
+#endif
+  this->helpEnabled->SetValue(true);
+}
diff --git a/lib/creaDevManagerLib/wxCDMSettingsDialog.h b/lib/creaDevManagerLib/wxCDMSettingsDialog.h
new file mode 100644
index 0000000..2e06ae3
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMSettingsDialog.h
@@ -0,0 +1,152 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+ */
+
+
+/*
+ * wxCDMSettingsDialog.h
+ *
+ *  Created on: 14/2/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef WXCDMSETTINGSDIALOG_H_
+#define WXCDMSETTINGSDIALOG_H_
+
+#include <creaWx.h>
+#include <wx/dialog.h>
+#include <wx/dialog.h>
+
+/**
+ * Settings Dialog
+ */
+class wxCDMSettingsDialog : public wxDialog
+{
+  DECLARE_EVENT_TABLE()
+public:
+  /**
+   * Settings Dialog Constructor.
+   * @param parent Parent window.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Settings - CreaDevManager  CREATIS".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 370.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   */
+  wxCDMSettingsDialog(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Settings - CreaDevManager  CREATIS"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,370),
+      long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
+  );
+  /**
+   * Destructor.
+   */
+  ~wxCDMSettingsDialog();
+  /**
+   * Settings Dialog Creator.
+   * @param parent Parent window.
+   * @param id Dialog ID. By default wxID_ANY.
+   * @param caption Dialog label. By default "Settings - CreaDevManager  CREATIS".
+   * @param position Dialog position. By default wxDefaultPosition.
+   * @param size Dialog size. By default 350, 370.
+   * @param style Dialog style. By default wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER.
+   * @return if the creation was successful.
+   */
+  bool Create(
+      wxWindow* parent,
+      wxWindowID id = wxID_ANY,
+      const wxString& caption = wxT("Settings - CreaDevManager  CREATIS"),
+      const wxPoint& position = wxDefaultPosition,
+      const wxSize& size = wxSize(350,370),
+      long style = wxDEFAULT_DIALOG_STYLE
+  );
+
+  /**
+   * Retrieves if the user has help enabled.
+   * @return True if the user has the help enabled.
+   */
+  bool IsHelpEnabled();
+
+  /**
+   * Sets the help enabled checkbox value.
+   * @param isHelp value of the help enabled checkbox.
+   */
+  void SetHelpEnabled(bool isHelp);
+
+protected:
+  /**
+   * Creates the help controls (text and buttons).
+   */
+  void CreateControls();
+
+  //attributes
+private:
+  /**
+   * Text Editor Command.
+   */
+  wxTextCtrl* textEditor;
+  /**
+   * Terminal Command.
+   */
+  wxTextCtrl* terminal;
+  /**
+   * File Explorer Command.
+   */
+  wxTextCtrl* fileExplorer;
+  /**
+   * Help Enabled.
+   */
+  wxCheckBox* helpEnabled;
+  /**
+   * Build Command.
+   */
+  wxTextCtrl* buildCommand;
+
+  //handlers
+protected:
+  /**
+   * Handler to close help dialog saving changes.
+   * @param event Unused.
+   */
+  void OnFinish(wxCommandEvent& event);
+
+  /**
+   * Handler to close help dialog discarding changes.
+   * @param event Unused.
+   */
+  void OnCancel(wxCommandEvent& event);
+
+  /**
+   * Handler to return to default settings.
+   * @param event Unused.
+   */
+  void OnDefaults(wxCommandEvent& event);
+};
+
+#endif /* WXCDMSETTINGSDIALOG_H_ */
diff --git a/lib/creaDevManagerLib/wxCDMTreeItemId.cpp b/lib/creaDevManagerLib/wxCDMTreeItemId.cpp
new file mode 100644
index 0000000..0818c01
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMTreeItemId.cpp
@@ -0,0 +1,79 @@
+/*
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+#                        pour la Sante)
+# 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.
+# ------------------------------------------------------------------------
+*/
+
+
+/*
+ * wxCDMTreeItemId.cpp
+ *
+ *  Created on: 29/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#include "wxCDMTreeItemId.h"
+
+wxCDMTreeItemId::wxCDMTreeItemId(){
+  this->_id = this->_idWx.m_pItem;
+}
+
+wxCDMTreeItemId::wxCDMTreeItemId(const wxTreeItemId& id)
+{
+  this->_idWx = id;
+  this->_id = id.m_pItem;
+}
+
+wxCDMTreeItemId::~wxCDMTreeItemId(){}
+
+const wxTreeItemId& wxCDMTreeItemId::GetWxId() const
+{
+  return this->_idWx;
+}
+
+const wxTreeItemIdValue& wxCDMTreeItemId::GetId() const
+{
+  return this->_id;
+}
+
+bool wxCDMTreeItemId::operator == (const wxCDMTreeItemId& id) const
+{
+  return this->_id == id._id;
+}
+
+bool wxCDMTreeItemId::operator != (const wxCDMTreeItemId& id) const
+{
+  return !(*this == id);
+}
+
+bool wxCDMTreeItemId::operator < (const wxCDMTreeItemId& id) const
+{
+  return this->_id < id._id;
+}
+
+std::ostream& operator << (std::ostream& stream, const wxCDMTreeItemId& id)
+{
+  stream << id._id;
+  return stream;
+}
diff --git a/lib/creaDevManagerLib/wxCDMTreeItemId.h b/lib/creaDevManagerLib/wxCDMTreeItemId.h
new file mode 100644
index 0000000..0f71400
--- /dev/null
+++ b/lib/creaDevManagerLib/wxCDMTreeItemId.h
@@ -0,0 +1,128 @@
+/*
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+#                        pour la Sante)
+# 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.
+# ------------------------------------------------------------------------
+*/
+
+
+/*
+ * wxCDMTreeItemId.h
+ *
+ *  Created on: 29/1/2013
+ *      Author: Daniel Felipe Gonzalez Obando
+ */
+
+#ifndef _WXCDMTREEITEMID_H_
+#define _WXCSMTREEITEMID_H_
+
+
+#include <creaWx.h>
+#include <wx/treectrl.h>
+#include <wx/treebase.h>
+#include <iostream>
+
+/**
+ * Class Name: wxCDMTreeItemId
+ * Class Id manager for the project tree control.
+ */
+class wxCDMTreeItemId
+{
+
+//---------------------------------------------
+//Methods and attributes exposed to other classes
+//---------------------------------------------
+public :
+  /**
+   * Default Constructor
+   */
+  wxCDMTreeItemId();
+  /**
+   * Constructor
+   * @param id Original TreeItem Id.
+   */
+  wxCDMTreeItemId(const wxTreeItemId& id);
+  /**
+   * Destructor
+   */
+  ~wxCDMTreeItemId();
+
+  /**
+   * Retrieves the id from the wxTreeItemId object
+   * @return id name
+   */
+  const wxTreeItemId& GetWxId() const;
+  /**
+   * Retrieves the private id of the tree item.
+   * @return id value
+   */
+  const wxTreeItemIdValue& GetId() const;
+
+  /**
+   * Operator ==
+   * @param id comparing tree item id
+   * @return true if the id value is the same.
+   */
+  bool operator == (const wxCDMTreeItemId& id) const;
+  /**
+   * Operator !=
+   * @param id comparing tree item id
+   * @return true if the id value is not the same.
+   */
+  bool operator != (const wxCDMTreeItemId& id) const;
+  /**
+   * Operator <
+   * @param id comparing tree item id
+   * @return true if the id value is less than the one in the given id.
+   */
+  bool operator < (const wxCDMTreeItemId& id) const;
+  /**
+   * operator << allows to manage output stream printing of the object.
+   * @param stream Target stream.
+   * @param id Tree item id to print.
+   * @return Stream modified.
+   */
+  friend std::ostream& operator << (std::ostream& stream, const wxCDMTreeItemId& id);
+
+//---------------------------------------------
+//Methods and attributes exposed only to classes
+//that are derived from this class
+//---------------------------------------------
+protected:
+  /**
+   * Real tree item
+   */
+  wxTreeItemId _idWx;
+  /**
+   * Tree item value
+   */
+  wxTreeItemIdValue _id;
+//---------------------------------------------
+//Methods and attributes only visible by this class
+//---------------------------------------------
+private:
+
+};
+
+//-end of _WXCDMTREEITEMID_H_------------------------------------------------------
+#endif
diff --git a/appli/creaNewProject/NewProject/lib/template_lib/CMakeLists.txt b/lib/template_lib/CMakeLists.txt
similarity index 100%
copy from appli/creaNewProject/NewProject/lib/template_lib/CMakeLists.txt
copy to lib/template_lib/CMakeLists.txt
diff --git a/appli/creaNewProject/NewProject/lib/mySampleLib/creaSystem.h b/lib/template_lib/creaSystem.h
similarity index 100%
copy from appli/creaNewProject/NewProject/lib/mySampleLib/creaSystem.h
copy to lib/template_lib/creaSystem.h
diff --git a/appli/creaNewProject/NewProject/lib/mySampleLib/creaSystem.h.in b/lib/template_lib/creaSystem.h.in
similarity index 100%
copy from appli/creaNewProject/NewProject/lib/mySampleLib/creaSystem.h.in
copy to lib/template_lib/creaSystem.h.in
diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt
index 8e3a66c..f42a2fc 100644
--- a/samples/CMakeLists.txt
+++ b/samples/CMakeLists.txt
@@ -1,3 +1,28 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 ADD_SUBDIRECTORY(creaSample_MessageManager)
 ADD_SUBDIRECTORY(creaSample_preprocessor)
 ADD_SUBDIRECTORY(creaSample_VtkBasicSlicer)
diff --git a/samples/creaSample_MessageManager/CMakeLists.txt b/samples/creaSample_MessageManager/CMakeLists.txt
index da55c61..86ad26f 100644
--- a/samples/creaSample_MessageManager/CMakeLists.txt
+++ b/samples/creaSample_MessageManager/CMakeLists.txt
@@ -1,2 +1,28 @@
+
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 ADD_EXECUTABLE(creaSample_MessageManager main)
 TARGET_LINK_LIBRARIES(creaSample_MessageManager crea)
diff --git a/samples/creaSample_MessageManager/main.cxx b/samples/creaSample_MessageManager/main.cxx
index 7a90e6b..149b3b8 100644
--- a/samples/creaSample_MessageManager/main.cxx
+++ b/samples/creaSample_MessageManager/main.cxx
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 #include <creaMessageManager.h>
 #include <creaSystem.h>
 
diff --git a/samples/creaSample_VtkBasicSlicer/CMakeLists.txt b/samples/creaSample_VtkBasicSlicer/CMakeLists.txt
index 41491ef..df6d5e8 100644
--- a/samples/creaSample_VtkBasicSlicer/CMakeLists.txt
+++ b/samples/creaSample_VtkBasicSlicer/CMakeLists.txt
@@ -1,2 +1,27 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 ADD_EXECUTABLE(creaSample_VtkBasicSlicer main)
 TARGET_LINK_LIBRARIES(creaSample_VtkBasicSlicer crea)
diff --git a/samples/creaSample_VtkBasicSlicer/main.cxx b/samples/creaSample_VtkBasicSlicer/main.cxx
index 458038d..6b24875 100644
--- a/samples/creaSample_VtkBasicSlicer/main.cxx
+++ b/samples/creaSample_VtkBasicSlicer/main.cxx
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 #include <creaVtkBasicSlicer.h>
 #include "vtkImageViewer2.h"
 #include "vtkRenderWindowInteractor.h"
diff --git a/samples/creaSample_preprocessor/CMakeLists.txt b/samples/creaSample_preprocessor/CMakeLists.txt
index c9ebabd..61e80bc 100644
--- a/samples/creaSample_preprocessor/CMakeLists.txt
+++ b/samples/creaSample_preprocessor/CMakeLists.txt
@@ -1,3 +1,29 @@
+
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 crea_DEFINE(DEF1)
 crea_DEFINE_WITH_VAL(DEF2 "This is the value of DEF2")
 crea_DEFINE_WITH_VAL(DEF3 10)
diff --git a/samples/creaSample_preprocessor/main.cxx b/samples/creaSample_preprocessor/main.cxx
index 00be64b..5da1eda 100644
--- a/samples/creaSample_preprocessor/main.cxx
+++ b/samples/creaSample_preprocessor/main.cxx
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 #include <creaSystem.h>
 
 int main(int argc, char* argv[])
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 05bd545..9aa86e4 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,3 +1,27 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
 
 MESSAGE(STATUS "===============================================")
 MESSAGE(STATUS "Configuring crea library")
diff --git a/src/creaConfigure.h.in b/src/creaConfigure.h.in
index 741bba6..280cb2f 100644
--- a/src/creaConfigure.h.in
+++ b/src/creaConfigure.h.in
@@ -1,14 +1,37 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */ 
+
 /*=========================================================================
                                                                                 
   Program:   crea
   Module:    $RCSfile: creaConfigure.h.in,v $
   Language:  C++
-  Date:      $Date: 2008/10/10 09:53:57 $
-  Version:   $Revision: 1.2 $
+  Date:      $Date: 2012/11/15 10:43:26 $
+  Version:   $Revision: 1.4 $
                                                                                 
-  Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
-  l'Image). All rights reserved. See Doc/License.txt or
-  http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
                                                                                 
      This software is distributed WITHOUT ANY WARRANTY; without even
      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
diff --git a/src/creaException.h b/src/creaException.h
index faae382..bd503a8 100644
--- a/src/creaException.h
+++ b/src/creaException.h
@@ -1,15 +1,39 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 /*=========================================================================
                                                                                 
   Program:   crea
   Module:    $RCSfile: creaException.h,v $
   Language:  C++
-  Date:      $Date: 2009/06/04 14:24:07 $
-  Version:   $Revision: 1.2 $
-                                                                                
-  Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
-  l'Image). All rights reserved. See Doc/License.txt or
-  http://www.creatis.insa-lyon.fr/Public/crea/License.html for details.
+  Date:      $Date: 2012/11/15 10:43:26 $
+  Version:   $Revision: 1.4 $
                                                                                 
+                                                                                 
      This software is distributed WITHOUT ANY WARRANTY; without even
      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
      PURPOSE.  See the above copyright notices for more information.
diff --git a/src/creaFilesFromDirectory.cxx b/src/creaFilesFromDirectory.cxx
index c224511..8d1da96 100644
--- a/src/creaFilesFromDirectory.cxx
+++ b/src/creaFilesFromDirectory.cxx
@@ -1,15 +1,39 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 /*=========================================================================
                                                                                 
   Program:   crea
   Module:    $RCSfile: creaFilesFromDirectory.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/04/14 12:54:38 $
-  Version:   $Revision: 1.5 $
-                                                                                
-  Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
-  l'Image). All rights reserved. See Doc/License.txt or
-  http://www.creatis.insa-lyon.fr/Public/crea/License.html for details.
+  Date:      $Date: 2012/11/15 10:43:26 $
+  Version:   $Revision: 1.7 $
                                                                                 
+   
      This software is distributed WITHOUT ANY WARRANTY; without even
      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
      PURPOSE.  See the above copyright notices for more information.
diff --git a/src/creaFilesFromDirectory.h b/src/creaFilesFromDirectory.h
index 6b9bd7a..e4770b5 100644
--- a/src/creaFilesFromDirectory.h
+++ b/src/creaFilesFromDirectory.h
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 #ifndef _crea_DIRLIST_H_
 #define _crea_DIRLIST_H_
    
diff --git a/src/creaMessageManager.cxx b/src/creaMessageManager.cxx
index c880e9c..ae10284 100644
--- a/src/creaMessageManager.cxx
+++ b/src/creaMessageManager.cxx
@@ -1,14 +1,37 @@
-   /*=========================================================================
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
+/*=========================================================================
                                                                                 
   Program:   crea
   Module:    $RCSfile: creaMessageManager.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/02/26 12:04:10 $
-  Version:   $Revision: 1.2 $
-                                                                                
-  Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
-  l'Image). All rights reserved. See Doc/License.txt or
-  http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
+  Date:      $Date: 2012/11/15 10:43:26 $
+  Version:   $Revision: 1.4 $
                                                                                 
      This software is distributed WITHOUT ANY WARRANTY; without even
      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
diff --git a/src/creaMessageManager.h b/src/creaMessageManager.h
index 9fbaae5..5aaa6ec 100644
--- a/src/creaMessageManager.h
+++ b/src/creaMessageManager.h
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 /*! \file
   \brief Class creaMessageManager and Macros for outputing messages in crea
   There are 4 kinds of messages :
diff --git a/src/creaRTTI.cxx b/src/creaRTTI.cxx
index 73b781c..635d9da 100644
--- a/src/creaRTTI.cxx
+++ b/src/creaRTTI.cxx
@@ -1,7 +1,33 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 #include "creaRTTI.h"
 #include "creaMessageManager.h"
 
-
  
 namespace crea
 {
@@ -47,7 +73,7 @@ namespace crea
     creaDebugMessage("info",7," * source   = "<<source_pointer<<std::endl);
 
     void* tmp = source_pointer;
-    if (source_type.__do_upcast(targetTI,&tmp)) 
+    if (source_type.__do_upcast(targetTI,&tmp))
       {
 	target_pointer = tmp;
       }
diff --git a/src/creaRTTI.h b/src/creaRTTI.h
index df9ce56..86bf0fe 100644
--- a/src/creaRTTI.h
+++ b/src/creaRTTI.h
@@ -1,19 +1,38 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 /*=========================================================================
                                                                                 
   Program:   crea
   Module:    $RCSfile: creaRTTI.h,v $
   Language:  C++
-  Date:      $Date: 2008/10/02 12:29:45 $
-  Version:   $Revision: 1.2 $
-                                                                                
-  Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
-  l'Image). All rights reserved. See doc/license.txt or
-  http://www.creatis.insa-lyon.fr/Public/crea/License.html for details.
-                                                                                
-     This software is distributed WITHOUT ANY WARRANTY; without even
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-     PURPOSE.  See the above copyright notices for more information.
-                                                                                
+  Date:      $Date: 2012/11/15 10:43:26 $
+  Version:   $Revision: 1.4 $
+    
 =========================================================================*/
 /**
  *\file
diff --git a/src/creaSystem.cxx b/src/creaSystem.cxx
index 1346a08..26a071e 100644
--- a/src/creaSystem.cxx
+++ b/src/creaSystem.cxx
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 #include "creaSystem.h"
 #include <stdio.h>
 #include <stdlib.h>
@@ -90,7 +117,7 @@ int System::GetAppPath(char *pname, size_t pathsize)
 			}
 		}
 		
-		if ((access(pname, 0) == 0))
+		if ((_access(pname, 0) == 0))
 			return 0; /* file exists, return OK */
 		/*else name doesn't seem to exist, return FAIL (falls
 		 through) */
diff --git a/src/creaSystem.h b/src/creaSystem.h
index b2aa81c..8fc1a34 100644
--- a/src/creaSystem.h
+++ b/src/creaSystem.h
@@ -1,19 +1,37 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/                                                                         
+
 /*=========================================================================
                                                                                 
   Program:   crea
   Module:    $RCSfile: creaSystem.h,v $
   Language:  C++
-  Date:      $Date: 2011/02/23 13:40:31 $
-  Version:   $Revision: 1.14 $
-                                                                                
-  Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
-  l'Image). All rights reserved. See Doc/License.txt or
-  http://www.creatis.insa-lyon.fr/creatools/license.html for details.
-                                                                                
-     This software is distributed WITHOUT ANY WARRANTY; without even
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-     PURPOSE.  See the above copyright notices for more information.
-                                                                                
+  Date:      $Date: 2012/11/15 10:43:26 $
+  Version:   $Revision: 1.16 $
 =========================================================================*/
 
 /**
diff --git a/src/creaVtk.cpp b/src/creaVtk.cpp
index 3e864e2..e0f5026 100644
--- a/src/creaVtk.cpp
+++ b/src/creaVtk.cpp
@@ -1,3 +1,31 @@
+/*# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/                                                                         
+
+
+
 #ifdef USE_VTK
 
 #include <creaVtk.h>
diff --git a/src/creaVtk.h b/src/creaVtk.h
index 69435b6..636cf5c 100644
--- a/src/creaVtk.h
+++ b/src/creaVtk.h
@@ -1,3 +1,31 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/                                                                         
+
+
 #ifndef __creaVtk_h_INCLUDED__
 #define __creaVtk_h_INCLUDED__
 
diff --git a/src/creaVtk.txx b/src/creaVtk.txx
index c4e7167..b748e67 100644
--- a/src/creaVtk.txx
+++ b/src/creaVtk.txx
@@ -1,3 +1,32 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/                                                                         
+
+
+
 #include <vtkDataArrayTemplate.h>
 
 #include <vtkCharArray.h>
diff --git a/src/creaVtkBasicSlicer.cxx b/src/creaVtkBasicSlicer.cxx
index 65b2925..d57e71a 100644
--- a/src/creaVtkBasicSlicer.cxx
+++ b/src/creaVtkBasicSlicer.cxx
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/                                                                         
+
 #ifdef USE_VTK
 
 #include <creaVtkBasicSlicer.h>
diff --git a/src/creaVtkBasicSlicer.h b/src/creaVtkBasicSlicer.h
index b0eca92..dc264ec 100644
--- a/src/creaVtkBasicSlicer.h
+++ b/src/creaVtkBasicSlicer.h
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/                                                                         
+
 #ifndef __creaVtkBasicSlicer_h_INCLUDED__
 #define __creaVtkBasicSlicer_h_INCLUDED__
 
diff --git a/src/creaWx.h b/src/creaWx.h
index 84a0390..c97e10f 100644
--- a/src/creaWx.h
+++ b/src/creaWx.h
@@ -1,3 +1,30 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/                                                                         
+
 
 #ifndef __creaWx_h__INCLUDED__
 #define __creaWx_h__INCLUDED__
diff --git a/src/creawxVTKRenderWindowInteractor.cxx b/src/creawxVTKRenderWindowInteractor.cxx
index 061d926..b83bcce 100644
--- a/src/creawxVTKRenderWindowInteractor.cxx
+++ b/src/creawxVTKRenderWindowInteractor.cxx
@@ -1,14 +1,37 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 /*=========================================================================
 
   Program:   Visualization Toolkit
   Module:    $RCSfile: creawxVTKRenderWindowInteractor.cxx,v $
   Language:  C++
-  Date:      $Date: 2011/07/22 17:42:59 $
-  Version:   $Revision: 1.9 $
-
-  Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
-  All rights reserved.
-  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
+  Date:      $Date: 2012/11/15 10:43:26 $
+  Version:   $Revision: 1.11 $
 
      This software is distributed WITHOUT ANY WARRANTY; without even
      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
@@ -139,7 +162,7 @@ BEGIN_EVENT_TABLE(creawxVTKRenderWindowInteractor, wxWindow)
   EVT_SIZE        (creawxVTKRenderWindowInteractor::OnSize)
 END_EVENT_TABLE()
 
-//EED win Compilation why??: vtkCxxRevisionMacro(creawxVTKRenderWindowInteractor, "$Revision: 1.9 $")
+//EED win Compilation why??: vtkCxxRevisionMacro(creawxVTKRenderWindowInteractor, "$Revision: 1.11 $")
 vtkInstantiatorNewMacro(creawxVTKRenderWindowInteractor)
 
 //---------------------------------------------------------------------------
@@ -768,7 +791,7 @@ void creawxVTKRenderWindowInteractor::SetRenderWhenDisabled(int newValue)
   //resulting in a Render(), resulting in Update() being called whilst
   //still in progress.
 
-  RenderWhenDisabled = (bool)newValue;
+  RenderWhenDisabled = newValue != 0;
 }
 //---------------------------------------------------------------------------
 //
diff --git a/src/creawxVTKRenderWindowInteractor.h b/src/creawxVTKRenderWindowInteractor.h
index bb61401..daf7f4e 100644
--- a/src/creawxVTKRenderWindowInteractor.h
+++ b/src/creawxVTKRenderWindowInteractor.h
@@ -1,18 +1,41 @@
+/*
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ 
+*/ 
+
 /*=========================================================================
 
   Program:   Visualization Toolkit
   Module:    $RCSfile: creawxVTKRenderWindowInteractor.h,v $
   Language:  C++
-  Date:      $Date: 2011/02/22 08:26:24 $
-  Version:   $Revision: 1.7 $
-
-  Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
-  All rights reserved.
-  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
+  Date:      $Date: 2012/11/15 10:43:26 $
+  Version:   $Revision: 1.9 $
 
-     This software is distributed WITHOUT ANY WARRANTY; without even 
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
-     PURPOSE.  See the above copyright notice for more information.
+  This software is distributed WITHOUT ANY WARRANTY; without even 
+  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+  PURPOSE.  See the above copyright notice for more information.
 
 =========================================================================*/
 

-- 
Alioth's /git/debian-med/git-commit-notice on /srv/git.debian.org/git/debian-med/crea.git



More information about the debian-med-commit mailing list