]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOGimmickView.cpp
*** empty log message ***
[creaImageIO.git] / src2 / creaImageIOGimmickView.cpp
index a587a8d2b825e1fc45c0bea1abbf95114657be42..ca9113c83c429aee0f13bcb13281efe1b8e97129 100644 (file)
@@ -269,8 +269,17 @@ namespace creaImageIO
       }
        
   }
+  //======================================================================
 
-
+  //======================================================================
+  ///Requests the reading of an image
+  void GimmickView::RequestReading(tree::Node* n, 
+                                  int prio, int selection_index)
+  {
+    ImageEventType t(n,0,selection_index);
+    mImageEventMap[n->GetAttribute("FullFileName")] = t;    
+    mReader.Request(this,n->GetAttribute("FullFileName"),prio);
+  }
   //======================================================================
 
   //======================================================================
@@ -289,14 +298,17 @@ namespace creaImageIO
        mImageEventQueue.push_back(ImageEventType(image));
        return;
       }
-    std::map<std::string,tree::Node*>::iterator i;
-    i = mImageFileNameToNode.find(filename);
-    if (i!=mImageFileNameToNode.end())
+    ImageEventTypeMap::iterator i;
+    i = mImageEventMap.find(filename);
+    if (i!=mImageEventMap.end())
       {
        GimmickDebugMessage(5,
-                           "Pushing image of file '"<<i->second<<"' in queue"
+                           "Pushing image of file '"<<filename<<"' in queue"
                            <<std::endl);
-       mImageEventQueue.push_back(ImageEventType(i->second,image));
+       ImageEventType e(i->second);
+       e.image = image;
+       mImageEventQueue.push_back(e);
+       mImageEventMap.erase(i);
       }
   }