]> Creatis software - creaImageIO.git/blob - src/creaImageIOWxIsimpleDlg.h
6527b014c12debe7f87bfa1a710cd2abfb072eab
[creaImageIO.git] / src / creaImageIOWxIsimpleDlg.h
1 #include "creaImageIOSimpleView.h"
2 #include <creaWx.h>
3 #include <itkImageFileReader.h>
4
5 namespace creaImageIO
6 {
7  /**
8    * \ingroup View
9    */
10
11         /// Simple Wxwidgets interface to select file(s) or directory or from creaImageIO database to display
12         template <typename TImage> 
13         class  __declspec(dllexport) WxISimpleDlg : public wxDialog
14         {
15         public:
16                  /// Ctor
17                   WxISimpleDlg( wxWindow *parent,  
18                           wxString i_title =_T(""),
19                           const std::string i_namedescp = "localdatabase_Descriptor.dscp",   
20                           const std::string i_namedb   = "Local Database"     
21                           );
22
23                   ~WxISimpleDlg(){};
24
25                   void setExts(std::vector<std::string>);
26                   /// Callback to read file(s)
27                   void OnReadFile(wxCommandEvent& event);
28
29                   /// Callback to read directory, no recursive
30                    void OnReadDirectory(wxCommandEvent &event);
31               
32                   /// Callback to select from creaImageIO database
33                    void OnReadGimmick(wxCommandEvent &event);
34
35                    /// return a vtkImageData vector of selected images, if available
36                    std::vector<vtkImageData*> getVtkImagesSelected() {return m_Vresults;}
37
38                         /// return a itkImage vector of selected images, if available
39                         std::vector<typename TImage::Pointer> getImagesSelected();
40                 
41
42                    wxString getInfoImage();
43
44                    void split4Din3Dvtk(const std::string &i_dir);
45                    void split3Din3Dvtk();
46         private:
47
48                 std::vector<std::string> m_exts;
49                 std::string namedescp; 
50                 std::string namedb;
51                 wxString infoimage;
52
53                 /// interface to read data
54                 SimpleView m_view;
55                  void readImg(const std::string &i_name);
56
57                  std::vector <typename TImage::Pointer> m_Iresults;
58
59                  std::vector <vtkImageData*> m_Vresults;
60
61         };
62
63
64 }