X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FcreaImageIOWxGimmickView.cpp;h=b5e7e1938580db7f0f399e87b58534bea7d56c2d;hb=34891dc6b110a21ed72b0ae24da3d5046724738a;hp=2f317e1546fd9c0839a576186794a5b2dfb8ffbe;hpb=8191bd858508001620e1eae1366e1a43f448bc06;p=creaImageIO.git diff --git a/src/creaImageIOWxGimmickView.cpp b/src/creaImageIOWxGimmickView.cpp index 2f317e1..b5e7e19 100644 --- a/src/creaImageIOWxGimmickView.cpp +++ b/src/creaImageIOWxGimmickView.cpp @@ -324,10 +324,10 @@ namespace creaImageIO /// By default if out_infos is empty, we dont' provide informations, we return only vtkImageData /// if out_infos has only one entry "all" we provide all database informations void WxGimmickView::getSelectedFiles(std::vector &outG, std::vector< std::string> i_attr, - bool mult, const std::string out_model) + bool mult, const std::string out_model) { // First we select the files - std::vector files; + std::vector files; std::string db_name = crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())); GetTreeViewMap()[crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection()))]->GetSelectedAsString(files); @@ -502,7 +502,8 @@ namespace creaImageIO new wxProgressDialog(_T("Adding file(s)"), _T(""), 1000, - this, +// this, + NULL, wxPD_ELAPSED_TIME | // wxPD_ESTIMATED_TIME | // wxPD_REMAINING_TIME | @@ -514,7 +515,7 @@ namespace creaImageIO mProgressDialog->Pulse(_T("Updating view...")); UpdateTreeViewLevel(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),1); - delete mProgressDialog; + killProgress(); DisplayAddSummary(); } @@ -564,7 +565,7 @@ namespace creaImageIO mProgressDialog->Pulse(_T("Updating view...")); UpdateTreeViewLevel(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),1); - delete mProgressDialog; + killProgress(); DisplayAddSummary(); } mViewer->StartPlayer(); @@ -833,7 +834,7 @@ namespace creaImageIO mProgressDialog->Pulse(_T("Updating view...")); UpdateTreeViewLevel(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),1); - delete mProgressDialog; + killProgress(); DisplayAddSummary(); } @@ -925,7 +926,7 @@ namespace creaImageIO void WxGimmickView::OnTools(wxCommandEvent& event) { mViewer->StopPlayer(); - + wxDialog* dial = new wxDialog (this,-1,_T("Tools"),wxDefaultPosition, wxSize(550,350)); wxSizer* buttonsSizer = dial->CreateSeparatedButtonSizer(wxOK|wxCANCEL); @@ -951,7 +952,7 @@ namespace creaImageIO { std::string inputDir = crea::wx2std(gimmickTools->getInputDir()); std::string outputDir = crea::wx2std(gimmickTools->getOutputDir()); - + bool addToDB = gimmickTools->getAddToDBCheckBoxValue(); if (inputDir.compare("")!=0 && outputDir.compare("")!=0) @@ -967,14 +968,21 @@ namespace creaImageIO b2d.Execute(); if (addToDB) { + std::cout <<"after addToDB" << std::endl; mProgressDialog = new wxProgressDialog(_T("Adding directory"),_T(""),1000,this,wxPD_ELAPSED_TIME |wxPD_CAN_ABORT ); + std::cout <<"after new wxProgressDialog" << std::endl; mCurrentDirectory = gimmickTools->getOutputDir(); + std::cout <<"after gimmickTools->getOutputDir[" <AddDir(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),outputDir,true); + std::cout <<"after mGimmick->AddDir" << std::endl; mProgressDialog->Pulse(_T("Updating view...")); - + std::cout <<"after mProgressDialog->Pulse" << std::endl; UpdateTreeViewLevel(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),1); - delete mProgressDialog; + std::cout <<"after UpdateTreeViewLevel" << std::endl; + killProgress(); + std::cout <<"after delete mProgressDialog" << std::endl; DisplayAddSummary(); + std::cout <<"after dDisplayAddSummary" << std::endl; } } } @@ -1093,7 +1101,7 @@ namespace creaImageIO mProgressDialog->Pulse(_T("Updating view...")); UpdateTreeViewLevel(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),1); - delete mProgressDialog; + killProgress(); DisplayAddSummary(); mViewer->StartPlayer(); } @@ -1165,7 +1173,7 @@ namespace creaImageIO mGimmick->AddFiles(storage,i_filenames); mProgressDialog->Pulse(_T("Updating view...")); UpdateTreeViewLevel(storage,1); - delete mProgressDialog; + killProgress(); DisplayAddSummary(); } } @@ -1192,10 +1200,21 @@ namespace creaImageIO // std::cout << "OnAddProgress "<Pulse(s)) - { - p.SetStop(); - } + if (mProgressDialog!=0) + { + if (!mProgressDialog->Pulse(s)) + { + p.SetStop(); + } + } + + if(mProgressDialog != 0) + { + if (!mProgressDialog->Pulse(s)) + { + p.SetStop(); + } + } // std::cout << "OnAddProgress ok"<GetAddProgress(); - std::stringstream mess; - mess << "Dirs \tscanned\t: " << p.GetNumberScannedDirs() << "\n"; - mess << "Files\tscanned\t: " << p.GetNumberScannedFiles() << "\n"; - mess << "Files\thandled\t: " << p.GetNumberHandledFiles() << "\n\n"; - mess << "Files\tadded \t: " << p.GetNumberAddedFiles() << "\n\n"; - time_t end; + std::stringstream mess(mGimmick->getSummary()); + time_t end; time(&end); mess << "time to scan :" << difftime(end,mstart) << "sec"; wxMessageBox(std2wx(mess.str()),_T("Addition result"),wxOK,this); @@ -1286,6 +1300,13 @@ namespace creaImageIO } } + void WxGimmickView::killProgress() + { + mProgressDialog->Resume(); + mProgressDialog->Destroy(); + mProgressDialog = 0; + } + //================================================= //=================================================