]> Creatis software - creaImageIO.git/blobdiff - src/creaImageIOWxGimmickView.cpp
*** empty log message ***
[creaImageIO.git] / src / creaImageIOWxGimmickView.cpp
index 9c0d327057be53dbebbde686e7a770226129203e..b5e7e1938580db7f0f399e87b58534bea7d56c2d 100644 (file)
@@ -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();
   }
 
@@ -978,7 +979,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 +1101,7 @@ namespace creaImageIO
                mProgressDialog->Pulse(_T("Updating view..."));
                
                UpdateTreeViewLevel(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),1);
-               delete mProgressDialog;
+               killProgress();
                DisplayAddSummary();
                mViewer->StartPlayer();  
          }
@@ -1172,7 +1173,7 @@ namespace creaImageIO
                mGimmick->AddFiles(storage,i_filenames);
                mProgressDialog->Pulse(_T("Updating view..."));
                UpdateTreeViewLevel(storage,1);
-               delete mProgressDialog;
+               killProgress();
                DisplayAddSummary();    
        }
   }
@@ -1199,10 +1200,21 @@ 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();
+               }
+    }
+
+       if(mProgressDialog != 0)
+       {
+               if (!mProgressDialog->Pulse(s)) 
+                 {
+               p.SetStop();
+                 }
+       }
     //  std::cout << "OnAddProgress ok"<<std::endl;
   }
   //=================================================
@@ -1288,6 +1300,13 @@ namespace creaImageIO
        }
   }
 
+  void WxGimmickView::killProgress()
+  {
+               mProgressDialog->Resume();
+               mProgressDialog->Destroy();
+               mProgressDialog = 0;
+  }
+
    //=================================================
 
    //=================================================