]> Creatis software - creaImageIO.git/blobdiff - src/creaImageIOWxGimmickView.cpp
correction bug Fedora 64 bits
[creaImageIO.git] / src / creaImageIOWxGimmickView.cpp
index 3bdc716a035281c5246112fb3053f221db311d09..fc748e0aa2ebd31f5b5bd8599d286ba40ddbb898 100644 (file)
@@ -514,7 +514,7 @@ namespace creaImageIO
        mProgressDialog->Pulse(_T("Updating view..."));
 
        UpdateTreeViewLevel(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),1);
-       delete mProgressDialog;
+       killProgress();
        DisplayAddSummary();    
 
       }
@@ -564,7 +564,7 @@ namespace creaImageIO
                mProgressDialog->Pulse(_T("Updating view..."));
 
                UpdateTreeViewLevel(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),1);
-               delete mProgressDialog;
+               killProgress();
                DisplayAddSummary();
          }
     mViewer->StartPlayer();
@@ -833,7 +833,7 @@ namespace creaImageIO
      mProgressDialog->Pulse(_T("Updating view..."));
 
      UpdateTreeViewLevel(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),1);
-     delete mProgressDialog;
+     killProgress();
      DisplayAddSummary();
   }
 
@@ -978,7 +978,7 @@ namespace creaImageIO
        std::cout <<"after mProgressDialog->Pulse" << std::endl;
                                                UpdateTreeViewLevel(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),1);
        std::cout <<"after UpdateTreeViewLevel" << std::endl;                                           
-                                               delete mProgressDialog;
+                                               killProgress();
        std::cout <<"after delete mProgressDialog" << std::endl;                                                        
                                                DisplayAddSummary();
        std::cout <<"after dDisplayAddSummary" << std::endl;                                            
@@ -1100,7 +1100,7 @@ namespace creaImageIO
                mProgressDialog->Pulse(_T("Updating view..."));
                
                UpdateTreeViewLevel(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),1);
-               delete mProgressDialog;
+               killProgress();
                DisplayAddSummary();
                mViewer->StartPlayer();  
          }
@@ -1172,7 +1172,7 @@ namespace creaImageIO
                mGimmick->AddFiles(storage,i_filenames);
                mProgressDialog->Pulse(_T("Updating view..."));
                UpdateTreeViewLevel(storage,1);
-               delete mProgressDialog;
+               killProgress();
                DisplayAddSummary();    
        }
   }
@@ -1199,10 +1199,13 @@ namespace creaImageIO
     //    std::cout << "OnAddProgress "<<mess<<std::endl;
     wxString s(wxString::From8BitData(mess));
     //  std::cout << "Pulse"<<std::endl;
-    if (!mProgressDialog->Pulse(s)) 
-      {
-       p.SetStop();
-      }
+       if(mProgressDialog != 0)
+       {
+               if (!mProgressDialog->Pulse(s)) 
+                 {
+               p.SetStop();
+                 }
+       }
     //  std::cout << "OnAddProgress ok"<<std::endl;
   }
   //=================================================
@@ -1210,13 +1213,8 @@ namespace creaImageIO
   //=================================================
   void WxGimmickView::DisplayAddSummary()
   {
-    const Gimmick::AddProgress& p = mGimmick->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);
@@ -1293,6 +1291,13 @@ namespace creaImageIO
        }
   }
 
+  void WxGimmickView::killProgress()
+  {
+               mProgressDialog->Resume();
+               mProgressDialog->Destroy();
+               mProgressDialog = 0;
+  }
+
    //=================================================
 
    //=================================================