]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOGimmickView.cpp
set vectors of pointers (with many memory leak) as vectors of shared_ptr
[creaImageIO.git] / src2 / creaImageIOGimmickView.cpp
index e8fdb5595eb5da4c9bc245842dba254b34a0dd89..c8064d5f4312a8b946bef33e2182936e7456a288 100644 (file)
@@ -57,7 +57,7 @@ namespace creaImageIO
 
   //======================================================================
   // CTor
-  GimmickView::GimmickView(Gimmick* gimmick, int threads)
+  GimmickView::GimmickView(boost::shared_ptr<Gimmick> gimmick, int threads)
     : mGimmick(gimmick),
          mReader(threads)
   {
@@ -85,7 +85,6 @@ namespace creaImageIO
   /// 
   void GimmickView::Initialize()
   {
-       mImageExtent=0;
        mReaderStarted=false;
   }
   //======================================================================
@@ -142,7 +141,7 @@ namespace creaImageIO
   {
          if(mImageExtent!=0)
          {
-         mImageExtent=0;
+       //  mImageExtent=0;
          }
          valid=true;
   }
@@ -176,6 +175,19 @@ namespace creaImageIO
          }
   }
 
+  //======================================================================
+  /// No selected image
+  bool GimmickView::NoValidateSelected ()
+  {
+       GimmickDebugMessage(2,"Validating selected"<<std::endl);
+       std::string mMessage;
+       mMessage="Cannot have 0 images selected!";
+       valid=false;
+       modifyValidationSignal(valid);
+       SetMessage(mMessage);
+       return valid;
+  }
+
   //======================================================================
   ///Validates the dimension compliance of the images with the maximum and 
   ///minimum given, and between their sizes
@@ -191,10 +203,10 @@ namespace creaImageIO
        }
        else
        {
-       ImageExtent* ie=new ImageExtent((*sel).GetAttribute("D0028_0010"),
+               boost::shared_ptr<ImageExtent> ie=boost::shared_ptr<ImageExtent>(new ImageExtent((*sel).GetAttribute("D0028_0010"),
                                                 (*sel).GetAttribute("D0028_0011"),
                                                                         (*sel).GetAttribute("D0028_0012"), 
-                                                                        "");
+                                                                        ""));
        if(mImageExtent==0)
        {
                mImageExtent=ie;