]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOWxGimmickView.cpp
Correction sur l'affichage des dates et des temps.
[creaImageIO.git] / src2 / creaImageIOWxGimmickView.cpp
index 2d8785147b5754b69a9c2d69bc715f89acbd8f31..f60480e8365f0762b610b088c582cd52d15eadba 100644 (file)
@@ -156,6 +156,8 @@ namespace creaImageIO
   /// Destructor
   WxGimmickView::~WxGimmickView()
   {
+       // stop the viewer before application exit.
+       mViewer->StopPlayer();
     GimmickDebugMessage(1,"WxGimmickView::~WxGimmickView"
                        <<std::endl);
   }
@@ -221,19 +223,31 @@ namespace creaImageIO
   }
 
   //======================================================================
-  /// Returns the selected Images so that they comply with the given parameter(4D)
   void WxGimmickView::GetSelectedImages(std::vector<vtkImageData*>& s, int dim)
   {
-       int level=GetTreeViewMap()["Local database"]->GetNumberOfLevels();
-       std::vector<tree::Node*> im=GetTreeViewMap()["Local database"]->GetSelected(level+1);
-       ReadImagesNotThreaded(s,im,dim);
+       std::vector<std::string> files;
+       GetTreeViewMap()["Local database"]->GetSelectedAsString(files);
+       ReadImagesNotThreaded(s,files,dim);
   }
   //======================================================================
-  /// Returns the selected Images so that they comply with the given parameter(4D)
+
+  //======================================================================
   void WxGimmickView::GetSelectedFiles(std::vector<std::string>& s)
   {
        GetTreeViewMap()["Local database"]->GetSelectedAsString(s);
   }
+  //======================================================================
+
+  //======================================================================
+  void WxGimmickView::GetImages(int dim, 
+                               const std::vector<std::string>& files, 
+                               std::vector<vtkImageData*>& s)
+  {
+       ReadImagesNotThreaded(s,files,dim);
+  }
+  //======================================================================
+
+
   //=================================================
   void WxGimmickView::CreateIconList()
   {
@@ -335,6 +349,7 @@ namespace creaImageIO
       {
        
        bool recurse = false;
+
        if (wxMessageBox(_T("Recurse into sub-directories ?"),
                         _T("Scan directory"),
                         wxYES_NO,this ) == wxYES)
@@ -371,7 +386,7 @@ namespace creaImageIO
   //=================================================
 
   //=================================================
-  void WxGimmickView::OnSelectionChange(std::vector<tree::Node*>& sel, bool isSelection, int selection, bool needProcess)
+  void WxGimmickView::OnSelectionChange(const std::vector<tree::Node*>& sel, bool isSelection, int selection, bool needProcess)
   {      
     GimmickDebugMessage(5,
                        "WxGimmickView::OnSelectionChange"
@@ -388,8 +403,8 @@ namespace creaImageIO
        }
        else if(needProcess)
        {
-               ClearStatus();
-               std::vector<tree::Node*>::iterator i;
+               ResetExtent();
+               std::vector<tree::Node*>::const_iterator i;
                for(i=sel.begin();i!=sel.end()&&valid;++i)
                {
                        valid= ValidateSelected((*i),
@@ -405,8 +420,8 @@ namespace creaImageIO
        }
        else
        {
-               ClearStatus();
-               std::vector<tree::Node*>::iterator i;
+               ResetExtent();
+               std::vector<tree::Node*>::const_iterator i;
                for(i=sel.begin();i!=sel.end()&&valid;++i)
                {
                        valid= ValidateSelected((*i),
@@ -433,7 +448,7 @@ namespace creaImageIO
 
   //==================================================
   ///Reads Images (Threaded)
-  void WxGimmickView::ReadImageThreaded(std::vector<tree::Node*> sel)
+  void WxGimmickView::ReadImageThreaded(const std::vector<tree::Node*>& sel)
   {    
    GimmickDebugMessage(5,
                       "ReadImageThreaded"
@@ -447,7 +462,7 @@ namespace creaImageIO
    mCurImageItemToShow = sel.front();
    pointers.clear();
    int index = 0;
-   std::vector<tree::Node*>::iterator selected;
+   std::vector<tree::Node*>::const_iterator selected;
    for(selected=sel.begin();selected!=sel.end();++selected)
      {
        GimmickDebugMessage(5,
@@ -537,7 +552,7 @@ namespace creaImageIO
        pointers.push_back(new ImagePointerHolder(GetDefaultImage()));
        mViewer->SetImageVector(pointers);
        mViewer->RefreshIfNecessary();
-       ClearStatus();
+       ResetExtent();
   }
   
   //=================================================
@@ -547,7 +562,8 @@ namespace creaImageIO
   {
        //TODO Select current tree handler       
     wxBusyCursor busy;
-    GetTreeViewMap()["Local database"]->RemoveSelected(1);
+    GetTreeViewMap()["Local database"]->RemoveSelected();
+
        ClearSelection();
   }
   //=================================================
@@ -558,7 +574,8 @@ namespace creaImageIO
   {
 
     char mess[200];
-    sprintf(mess,"%i dirs - %i files - %i handled - %i added",
+   
+       sprintf(mess,"%i dirs : %i files :\n            %i handled - %i added",
           p.GetNumberScannedDirs(),
           p.GetNumberScannedFiles(),
           p.GetNumberHandledFiles(),