]> Creatis software - creaImageIO.git/blob - src2/creaImageIOWxGimmickTools.cpp
58728d67836b7fc4e308e393294609637aa088fa
[creaImageIO.git] / src2 / creaImageIOWxGimmickTools.cpp
1 #include <creaImageIOWxGimmickTools.h>
2
3 namespace creaImageIO
4 {
5         /**
6         ** Begin of the threshold panel
7         **/
8         WxGimmickTools::WxGimmickTools(wxWindow* parent, wxString mCurrentDirectory)
9         : wxPanel(parent, -1, wxDefaultPosition, wxSize(300,250), wxBORDER_SUNKEN)
10         {
11                 _currentDir = mCurrentDirectory;
12                 _addFiles = true;
13                 
14                 _inputPath = new wxTextCtrl(this, wxID_ANY, _T(""), wxDefaultPosition, wxSize(150,30));
15                 _outputPath = new wxTextCtrl(this, wxID_ANY, _T(""), wxDefaultPosition, wxSize(150,30));
16                 _addCheckBox = new wxCheckBox(this, -1, _T("Add Images to Database?") );
17                 _addCheckBox->SetValue(_addFiles);
18
19                 wxButton *inputDir = new wxButton(this,wxID_ANY,_T("Input Directory"), wxDefaultPosition, wxSize(150,30) );
20                 wxButton *outputDir = new wxButton(this,wxID_ANY,_T("Output Directory"), wxDefaultPosition, wxSize(150,30) );
21
22                 
23                 Connect( inputDir->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxGimmickTools::onInputDir ); 
24                 Connect( outputDir->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxGimmickTools::onOutputDir );
25                 Connect( _addCheckBox->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &WxGimmickTools::onAddToDatabase );
26
27                 wxFlexGridSizer * textSizer     = new wxFlexGridSizer(1,2);
28                 textSizer -> Add( new wxStaticText(this,-1,_T("Transform a Bruker image into Dicom format."))  , 1, wxGROW );
29                 textSizer -> Add( new wxStaticText(this,-1,_T("If checkbox is selected images will be loaded into the DB."))  , 1, wxGROW );
30
31                 wxFlexGridSizer * sizer = new wxFlexGridSizer(2,5);
32                 sizer -> Add( new wxStaticText(this,-1,_T(" "))  , 1, wxGROW );
33                 sizer -> Add( new wxStaticText(this,-1,_T(" "))  , 1, wxGROW );
34                 sizer -> Add( _inputPath, 1, wxGROW );
35                 sizer -> Add( inputDir, 1, wxGROW );
36                 sizer -> Add( _outputPath, 1, wxGROW );
37                 sizer -> Add( outputDir, 1, wxGROW );
38                 sizer -> Add( new wxStaticText(this,-1,_T(" "))  , 1, wxGROW );
39                 sizer -> Add( new wxStaticText(this,-1,_T(" "))  , 1, wxGROW );
40                 sizer -> Add( _addCheckBox, 1, wxGROW );
41
42                 wxFlexGridSizer * topSizer      = new wxFlexGridSizer(1,2);
43                 topSizer -> Add( textSizer, 1, wxGROW );
44                 topSizer -> Add( sizer, 1, wxGROW );
45                 this->SetSizer( topSizer );
46                 this->SetAutoLayout( true );
47                 this->Layout();
48         }
49
50         WxGimmickTools::~WxGimmickTools(){
51         }
52
53         wxString WxGimmickTools::getInputDir()
54         {
55                 return _inputPath->GetLabel();
56         }
57                 
58         wxString WxGimmickTools::getOutputDir()
59         {
60                 return _outputPath->GetLabel();
61         }
62                 
63         bool WxGimmickTools::getCheckBoxValue()
64         {
65                 return _addCheckBox->GetValue();
66         }
67                 
68         void WxGimmickTools::onInputDir(wxCommandEvent& event)
69         {
70                 long style = wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST;
71                 wxDirDialog* FD = new wxDirDialog( 0, _T("Select the Input Directory"), _currentDir, style);
72             
73                 if (FD->ShowModal()==wxID_OK)
74                 {
75                         _inputPath->SetLabel(FD->GetPath());
76                 }
77         }
78
79         void WxGimmickTools::onOutputDir(wxCommandEvent& event)
80         {
81                 long style = wxDD_DEFAULT_STYLE;
82                 wxDirDialog* FD = new wxDirDialog( 0, _T("Select the Output Directory"), _currentDir, style);
83             
84                 if (FD->ShowModal()==wxID_OK)
85                 {
86                         _outputPath->SetLabel(FD->GetPath());
87                 }
88         }
89
90         void WxGimmickTools::onAddToDatabase(wxCommandEvent& event)
91         {
92                 _addFiles = _addCheckBox->GetValue();
93         }
94
95 } // EO namespace creaImageIO
96
97