1 #include "creaImageIOWxSimpleDlg.h"
9 WxSimpleDlg::WxSimpleDlg(wxWindow *parent,
11 const std::string i_namedescp ,
12 const std::string i_namedb)
13 : wxDialog(parent, -1,_T("SELECT IMAGE(S)"), wxDefaultPosition, wxSize(230,150))
15 namedescp = i_namedescp;
20 this->SetTitle(i_title);
22 // Button to select file(s)
23 wxButton *fileBut = new wxButton(this, -1,_T("Select a single file"), wxPoint(10,7) );
24 Connect( fileBut->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxSimpleDlg::OnReadFile );
26 // Button to select directory
27 wxButton *directoryBut = new wxButton(this, -1,_T("Select all the files in a directory"), wxPoint(10,40) );
28 Connect( directoryBut->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxSimpleDlg::OnReadDirectory );
30 // button to select creaImageIO
31 wxButton *gimmickBut = new wxButton(this, -1,_T("Select thru Dicom browser"), wxPoint(10,70) );
32 Connect( gimmickBut->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxSimpleDlg::OnReadGimmick );
34 /// \TODO Button to select Bruker directory
39 //////////////////////////////////////////////////////////////////////
41 //////////////////////////////////////////////////////////////////////
42 void WxSimpleDlg::OnReadFile(wxCommandEvent& event)
45 wxFileDialog* fileDlg = new wxFileDialog( 0, _T("Select file"), _T(""), _T(""), crea::std2wx("*"), wxOPEN |wxFD_MULTIPLE, wxDefaultPosition);
47 resultShowModal = fileDlg->ShowModal();
48 if ( resultShowModal==wxID_OK )
50 wxArrayString wxArray;
51 fileDlg->GetPaths(wxArray);
55 infoimage=_T("FILE(s):")+wxArray[0];
56 std::vector<std::string> files;
57 for( int i = 0; i < wxArray.GetCount(); i++)
59 files.push_back( crea::wx2std(wxArray[i]));
61 if(!m_view.readFile(files,m_results))
63 //TO DO WARNING MESSAGE;
66 // TO DO WARNING MESSAGES
69 SetReturnCode( resultShowModal );
71 EndModal( resultShowModal );
74 //////////////////////////////////////////////////////////////////////
76 //////////////////////////////////////////////////////////////////////
78 void WxSimpleDlg::OnReadDirectory(wxCommandEvent &event)
81 long style = wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST;
82 wxDirDialog* dirDlg = new wxDirDialog( 0, _T("Select the directory to display"), _T(""), style);
84 resultShowModal = dirDlg->ShowModal();
85 if ( resultShowModal==wxID_OK )
87 infoimage=_T("DIRECTORY:")+dirDlg->GetPath();
88 if(! m_view.readDirectory(crea::wx2std(dirDlg->GetPath()),m_results))
90 //TO DO WARNING MESSAGE;
93 SetReturnCode( resultShowModal );
95 EndModal( resultShowModal );
98 //////////////////////////////////////////////////////////////////////
100 //////////////////////////////////////////////////////////////////////
102 void WxSimpleDlg::OnReadGimmick(wxCommandEvent &event)
105 WxGimmickReaderDialog dlg(0,-1,
108 _T("Select image(s) - Gimmick! (c) CREATIS-LRMN 2008"),
111 GIMMICK_2D_IMAGE_SELECTION,
112 GIMMICK_3D_IMAGE_SELECTION,
116 if (dlg.GetReturnCode() == wxID_OK)
118 std::vector<creaImageIO::OutStrGimmick> out;
119 std::vector<std::string> attr;
121 dlg.getSelected(out, attr,true,"");
127 for (ii=0;ii<size;ii++)
129 m_results.push_back(out[ii].img);
134 for (ii=0;ii<size;ii++)
136 m_resultsInfo.push_back(out[ii]);
141 SetReturnCode( dlg.GetReturnCode() );
142 EndModal( dlg.GetReturnCode() );
145 wxString WxSimpleDlg::getInfoImage()
150 //////////////////////////////////////////////////////////////////////
151 // Return the results vector //
152 //////////////////////////////////////////////////////////////////////
153 std::vector<vtkImageData*> WxSimpleDlg::getImagesSelected()