]> Creatis software - creaImageIO.git/blob - src/creaImageIOWxSimpleDlg.h
#2854 creaImageIO Feature New Normal - creaImageIOWxSimpleDlg add infoImageSource...
[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
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                    vtkImageData* getVolumeSelected();
62
63                    wxString getInfoImage();
64                    wxString getInfoImageSource();
65
66                    std::vector< std::map<std::string,std::string> >  getDicomInfoImagesSelected();
67                    void SetAttrDicomTags( std::vector<std::string> attr );
68
69
70                    void setInfo(bool i_val){bInfo = i_val;}
71                    
72                    // OutStrGimmick:
73                    //   - vtkImageData *
74                    //   - std::map<std::string, std::string> mapDicomInfos (std::map<tag Dicom, Value>
75                    std::vector<creaImageIO::OutStrGimmick> getMapInfos(){return m_resultsInfo;}
76
77         private:
78                 bool                                                    bInfo;
79                 std::string                                             namedescp; 
80                 std::string                                             namedb;
81                 wxString                                                infoimage;
82                 wxString                                                infoimageSource;
83
84                 /// interface to read data
85                 SimpleView                                              m_view;
86
87                 /// vtkImageData vector
88                 std::vector<vtkImageData*>                              m_results;
89                 std::vector< std::map<std::string,std::string> >        m_resultsDicomAtr;
90                 std::vector<std::string>                                m_attrDicomTags;    // DXXXX_YYYY DAAAA_BBBB ...
91
92                 std::vector<creaImageIO::OutStrGimmick> m_resultsInfo;
93                 
94         };
95 }