]> Creatis software - creaImageIO.git/blob - src/creaImageIOWxSimpleDlg.h
9ef4f5142b8413f28c7a0a3fc0b371bb99aff040
[creaImageIO.git] / src / creaImageIOWxSimpleDlg.h
1 /*
2 # ---------------------------------------------------------------------
3 #
4 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
5 #                        pour la Santé)
6 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
7 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
8 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
9 #
10 #  This software is governed by the CeCILL-B license under French law and 
11 #  abiding by the rules of distribution of free software. You can  use, 
12 #  modify and/ or redistribute the software under the terms of the CeCILL-B 
13 #  license as circulated by CEA, CNRS and INRIA at the following URL 
14 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
15 #  or in the file LICENSE.txt.
16 #
17 #  As a counterpart to the access to the source code and  rights to copy,
18 #  modify and redistribute granted by the license, users are provided only
19 #  with a limited warranty  and the software's author,  the holder of the
20 #  economic rights,  and the successive licensors  have only  limited
21 #  liability. 
22 #
23 #  The fact that you are presently reading this means that you have had
24 #  knowledge of the CeCILL-B license and that you accept its terms.
25 # ------------------------------------------------------------------------
26 */
27
28 #include "creaImageIOSimpleView.h"
29 #include <creaWx.h>
30 #include "creaImageIOWxGimmickReaderDialog.h"
31 namespace creaImageIO
32 {
33  /**
34    * \ingroup View
35    */
36
37         /// Simple Wxwidgets interface to select file(s) or directory or from creaImageIO database to display
38         class CREAIMAGEIO_EXPORT WxSimpleDlg : public wxDialog
39         {
40         public:
41                  /// Ctor
42                   WxSimpleDlg( wxWindow *parent,  
43                           wxString i_title =_T(""),
44                           const std::string i_namedescp = "localdatabase_Descriptor.dscp",   
45                           const std::string i_namedb   = "Local Database"     
46                           );
47                   ///Dtor
48                   ~WxSimpleDlg(){};
49
50                   /// Callback to read file(s)
51                   void OnReadFile(wxCommandEvent& event);
52
53                   /// Callback to read directory, no recursive
54                    void OnReadDirectory(wxCommandEvent &event);
55               
56                   /// Callback to select from creaImageIO database
57                    void OnReadGimmick(wxCommandEvent &event);
58
59                    /// return a vtkImageData vector of selected images, if available
60                    std::vector<vtkImageData*> getImagesSelected();
61                 
62                    wxString getInfoImage();
63
64                    void setInfo(bool i_val){bInfo = i_val;}
65                    
66                    // OutStrGimmick:
67                    //   - vtkImageData *
68                    //   - std::map<std::string, std::string> mapDicomInfos (std::map<tag Dicom, Value>
69                    std::vector<creaImageIO::OutStrGimmick> getMapInfos(){return m_resultsInfo;}
70
71         private:
72                 bool bInfo;
73                 std::string namedescp; 
74                 std::string namedb;
75                 wxString infoimage;
76
77                 /// interface to read data
78                 SimpleView m_view;
79
80                 /// vtkImageData vector
81                 std::vector<vtkImageData*> m_results;
82
83                 std::vector<creaImageIO::OutStrGimmick> m_resultsInfo;
84                 
85
86         };
87 }