]> Creatis software - creaImageIO.git/blobdiff - bbtk/src/bbcreaImageIOGimmick.xml
#2500 creaImageIO Bug New Normal - Boost signals deprecated -> signals2 (cleanning...
[creaImageIO.git] / bbtk / src / bbcreaImageIOGimmick.xml
index f4043572a4e0d842ce804af3044e009278110076..8113d5c66fd6998b7ed4e15b9c74fc774ea1de8b 100644 (file)
 <!--========================================================================
     #include directives to be put in the .h generated
     There must be one tag per file to include -->
-<include>creaImageIOWxGimmickDialog.h</include>
+<include>creaImageIOWxGimmickReaderDialog.h</include>
  <!--========================================================================
     INPUTS/OUTPUTS DECLARATION -->
 
-  <input name="Title" type="std::string" description="Title of the dialog"/>
-  <input name="ImageDimension" type="int" description="The maximal dimensionality of the image to be selected, e.g. 2 for a 2D image, 3 for a 3D image,..."/>
- <output name="Out", type="vtkImageData*" description="The selected image"/>
+  <input name="Title"                type="std::string" description="Title of the dialog"/>
+  <input name="ImageMinDimension"    type="int"         description="The minimal dimensionality of the image to be selected, e.g. 2 for a 2D image, 3 for a 3D image,..."/>
+  <input name="ImageMaxDimension"    type="int"         description="The maximal dimensionality of the image to be selected, e.g. 2 for a 2D image, 3 for a 3D image,..."/>
+  <input name="ImageOutputDimension" type="int"         description="The dimensionality of the output image, e.g. 2 for a 2D image, 3 for a 3D image,..."/>
+  <input name="Output"               type="int"         description="What to output ? 0(default)=image and filenames/1=only filenames"/>
+
+  <typedef><PRE>typedef std::vector<std::string>   OutputFilesType; </PRE></typedef>
+  <typedef><PRE>typedef std::vector<vtkImageData*> OutputImagesType;</PRE></typedef>
+
+ <output name="Out"   type="vtkImageData*"    description="The first selected image"/>
+ <output name="Out2"  type="OutputImagesType" description="The selected images"/>
+ <output name="Files" type="OutputFilesType"  description="The selected files"/>
  
  <!--========================================================================
     PROCESS section -->
   <process><PRE>
    int threads = 1;
 
-   creaImageIO::WxGimmickDialog w(0,
+   creaImageIO::WxGimmickReaderDialog w(0,
                                   -1,
+                               "localdatabase_Descriptor.dscp", 
+                               "Local Database",
                                   crea::std2wx(bbGetInputTitle()),
                                   wxDefaultPosition,
                                   wxSize(1200,800),
-                                  bbGetInputImageDimension(),
+                                  bbGetInputImageMinDimension(),
+                                  bbGetInputImageMaxDimension(),
+                                  bbGetInputImageOutputDimension(),
                                   threads);
    w.ShowModal();
-   
+     
    if (w.GetReturnCode() == wxID_OK)
      {
-       std::vector<vtkImageData*> images;
-       w.GetSelectedImages(images);
-       bbSetOutputOut(images[0]);
-     }
+       if (bbGetInputOutput()==0) 
+         {
+           std::vector<vtkImageData*> images;
+           w.GetSelectedImages(images,bbGetInputImageOutputDimension());
+           bbSetOutputOut(images[0]);
+           bbSetOutputOut2(images);
+         }
+       std::vector<std::string> files;
+       w.GetSelectedFiles(files);
+       bbSetOutputFiles(files);
+     }   
    else if (w.GetReturnCode() == wxID_CANCEL)
      {
 //    if (bbGetOutputOut()!=0) 
 //     { 
- //       bbGetOutputOut()->Delete();    
+//       bbGetOutputOut()->Delete();
 //          bbSetOutputOut(0);
-// }
+//     }
      }
   </PRE></process>
 
- <!--======================================================================
-   CONSTRUCTORS / DESTRUCTORS (OPTIONAL) -->
-
-  <constructor><PRE> 
-    bbSetInputImageDimension(3);
-    bbSetInputTitle("Select image(s)");
-    bbSetOutputOut(0);
-  </PRE>
-  </constructor>
 
 
-  <!-- THE COPY-CONSTRUCTION METHOD BODY :
-    Here does nothing 
-    But this is where you should allocate the output pointers if any
-    and copy the pointed values (to avoid bug caused by multiple references) -->
-  <copyconstructor>
-  <PRE>
-    bbSetOutputOut(0);
-  </PRE>
-  </copyconstructor>
+    <!--========================================================================
+    CONSTRUCTORS / DESTRUCTORS (OPTIONAL) -->
+  <defaultValues><PRE> 
+    bbSetInputImageMinDimension(2);
+    bbSetInputImageMaxDimension(3);
+    bbSetInputImageOutputDimension(3);
+    bbSetInputTitle("Select image(s)");
+    bbSetInputOutput(0);
+       bbSetOutputOut(0);
 
-  <!-- THE DESTRUCTION METHOD BODY :
-    Here does nothing 
-    but this is where you should desallocate the output pointers if any -->
-  <destructor>
-  <PRE>
-    if (bbGetOutputOut()!=0) bbGetOutputOut()->Delete();
-  </PRE>
-  </destructor>
+  </PRE></defaultValues>    
+  
+  <initializeProcessing><PRE>
+  </PRE></initializeProcessing>    
+  
+  <finalizeProcessing><PRE>
+    std::vector<vtkImageData*>::iterator i;
+    for (i=bbGetOutputOut2().begin();i!=bbGetOutputOut2().end();++i) (*i)->Delete();
+  </PRE></finalizeProcessing>    
+  <!--=====================================================================-->