2 # ---------------------------------------------------------------------
4 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
6 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
7 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
8 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
10 # This software is governed by the CeCILL-B license under French law and
11 # abiding by the rules of distribution of free software. You can use,
12 # modify and/ or redistribute the software under the terms of the CeCILL-B
13 # license as circulated by CEA, CNRS and INRIA at the following URL
14 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
15 # or in the file LICENSE.txt.
17 # As a counterpart to the access to the source code and rights to copy,
18 # modify and redistribute granted by the license, users are provided only
19 # with a limited warranty and the software's author, the holder of the
20 # economic rights, and the successive licensors have only limited
23 # The fact that you are presently reading this means that you have had
24 # knowledge of the CeCILL-B license and that you accept its terms.
25 # ------------------------------------------------------------------------ */
28 /*=========================================================================
30 Module: $RCSfile: bbwxFileSelector.cxx,v $
32 Date: $Date: 2012/11/16 08:52:14 $
33 Version: $Revision: 1.8 $
34 =========================================================================*/
42 #ifdef _USE_WXWIDGETS_
45 #include "bbwxFileSelector.h"
46 #include "bbwxPackage.h"
49 #include <wx/filedlg.h>
55 BBTK_ADD_BLACK_BOX_TO_PACKAGE(wx,FileSelector);
56 BBTK_BLACK_BOX_IMPLEMENTATION(FileSelector,bbtk::AtomicBlackBox);
59 //-----------------------------------------------------------------
60 void FileSelector::bbUserSetDefaultValues()
62 bbSetInputOpenSave("Open");
65 //-----------------------------------------------------------------
66 void FileSelector::bbUserInitializeProcessing()
70 //-----------------------------------------------------------------
71 void FileSelector::bbUserFinalizeProcessing()
75 void FileSelector::Process()
77 bbtkDebugMessageInc("Core",9,"FileSelector::Process() ["
78 <<bbGetFullName()<<"]"<<std::endl);
81 if (bbGetInputOpenSave()=="Save")
83 //EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
84 #if wxMAJOR_VERSION <= 2
85 style = wxSAVE | wxOVERWRITE_PROMPT;
87 style = wxFD_SAVE | wxFD_OVERWRITE_PROMPT;
91 //EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
92 #if wxMAJOR_VERSION <= 2
93 style = wxOPEN | wxFILE_MUST_EXIST;
95 style = wxFD_OPEN | wxFD_FILE_MUST_EXIST;
100 std::string wc(bbGetInputWildcard());
103 wc = "*"; // Any file must be shown
107 wxFileDialog* FD = new wxFileDialog( 0,
108 bbtk::std2wx(bbGetInputMessage()),
109 bbtk::std2wx(bbGetInputDefaultDir()),
110 bbtk::std2wx(bbGetInputDefaultFile()),
116 int result_FD = FD->ShowModal();
118 // This line is need it by windows //EED
119 FD->SetReturnCode( result_FD );
121 if (FD->GetReturnCode()==wxID_OK)
123 bbSetOutputOut( bbtk::wx2std (FD->GetPath()) );
124 bbSignalOutputModification(std::string("Out"));
131 bbtkDebugDecTab("Core",9);
139 #endif // _USE_WXWIDGETS_