]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOWxGimmickView.cpp
*** empty log message ***
[creaImageIO.git] / src2 / creaImageIOWxGimmickView.cpp
index 9ece06de714dc60ebb13b918bcbb5de7f186a4ff..6c84edb0baacf5343a997b9426f08dd00d20d406 100644 (file)
@@ -1,4 +1,4 @@
-#include <creaImageIOWxGimmickView.h>
+#include <creaImageIOWxGimmickView.h>
 #include <creaImageIOWxTreeView.h>
 #include <creaImageIOSystem.h>
 using namespace crea;
@@ -673,16 +673,15 @@ namespace creaImageIO
   //=================================================
   void WxGimmickView::OnSettings(wxCommandEvent& event)
   {
-         wxDialog* dial= new wxDialog (this,-1,"System Settings",wxDefaultPosition, wxSize(450,600));
-         wxBoxSizer    *siz = new wxBoxSizer(wxVERTICAL);
-         // Notebook
-      wxNotebook* nb= new wxNotebook(dial,
-                              -1,wxDefaultPosition, wxDefaultSize, 0);
-
-         siz->Add( nb,1,wxGROW  ,0);  
-         CreateSettingsDialog(nb);
-         dial->SetSizer(siz);
-         dial->ShowModal();
+    wxDialog* dial= new wxDialog (this,-1,_T("System Settings"),wxDefaultPosition, wxSize(450,600));
+    wxBoxSizer *siz = new wxBoxSizer(wxVERTICAL);
+    // Notebook
+    wxNotebook* nb= new wxNotebook(dial, -1, wxDefaultPosition, wxDefaultSize, 0);
+    
+    siz->Add( nb,1,wxGROW  ,0);  
+    CreateSettingsDialog(nb);
+    dial->SetSizer(siz);
+    dial->ShowModal();
   }
   //=================================================
 
@@ -690,10 +689,64 @@ namespace creaImageIO
   //AndresDonadio
   void WxGimmickView::OnTools(wxCommandEvent& event)
   {
-         wxDialog* dial= new wxDialog (this,-1,"Tools",wxDefaultPosition, wxDefaultSize);
-         wxBoxSizer    *siz = new wxBoxSizer(wxVERTICAL);
-         dial->SetSizer(siz);
-         dial->ShowModal();
+               mViewer->StopPlayer();
+               
+               wxDialog* dial = new wxDialog (this,-1,"Tools",wxDefaultPosition, wxSize(300,250));
+
+               wxSizer* buttonsSizer = dial->CreateSeparatedButtonSizer(wxOK|wxCANCEL);
+               wxNotebook* nb= new wxNotebook(dial, -1, wxDefaultPosition, wxDefaultSize, 0);
+
+               wxBoxSizer *dialSizer = new wxBoxSizer(wxVERTICAL);     
+               dialSizer->Add(nb,1,wxGROW,0);
+               dialSizer->Add(buttonsSizer,0,wxGROW);
+
+               //First page: Bruker Image Reader
+               WxGimmickTools * gimmickTools = new WxGimmickTools(nb, mCurrentDirectory);
+               nb->AddPage( gimmickTools, crea::std2wx("Bruker Image Reader") );
+
+               dial->SetSizer(dialSizer, true);
+               dial->Layout();
+               dial->ShowModal();
+
+               if (dial->GetReturnCode() == wxID_OK)
+                       {
+                               if (nb->GetSelection()==0)//Selection: Bruker Image Reader
+                               {
+                                       std::string inputDir = crea::wx2std(gimmickTools->getInputDir());
+                                       std::string outputDir = crea::wx2std(gimmickTools->getOutputDir());
+                                       bool addToDB = gimmickTools->getCheckBoxValue();
+
+                                       if (inputDir.compare("")!=0 && outputDir.compare("")!=0)
+                                       {
+                                               /*
+                                               Bruker2Dicom b2d;    
+                                               b2d.SetInputDirectory(crea::wx2std(inputDir));
+                                               b2d.SetOutputDirectory(crea::wx2std(outputDir));
+                                               b2d.SetConvertModeToDicom();
+                                               b2d.Execute();
+                                               */
+
+                                               if (addToDB)
+                                               {
+                                                       mProgressDialog = new wxProgressDialog(_T("Adding directory"),_T(""),1000,this,wxPD_ELAPSED_TIME |wxPD_CAN_ABORT );
+                                                       mCurrentDirectory = outputDir;  
+                                                       mGimmick->AddDir(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),crea::wx2std(outputDir),true);
+                                                       mProgressDialog->Pulse(_T("Updating view..."));
+                                                       
+                                                       UpdateTreeViewLevel(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),1);
+                                                       delete mProgressDialog;
+                                                       DisplayAddSummary();
+                                               }       
+                                       }
+
+                                       else
+                                       {
+                                               wxMessageBox(_T("One or both of the directory fields are empty"),_T("Empty Fields"),wxOK,this);
+                                       }
+                               }
+                       }
+
+               mViewer->StartPlayer();
   }
   //=================================================
 
@@ -711,10 +764,8 @@ namespace creaImageIO
          //Fourth page: Selection of attributes to show (edit)
          wxPanel* attSelection=new wxPanel(nb);
          nb->AddPage( attSelection, crea::std2wx("Selection of Attributes") );
-
   }
 
-
   //=================================================
   /// AddProgress Gimmick callback
   void WxGimmickView::OnAddProgress( Gimmick::AddProgress& p)