#include <creaImageIOGimmickView.h>
#include <creaImageIOSystem.h>
+#include "boost/filesystem.hpp"
+
+namespace fs = boost::filesystem;
+
namespace creaImageIO
{
//======================================================================
<<std::endl);
// Start the threads ...
mReader.Start();
+
}
//======================================================================
}
//Dimention validation
- //Compatibility with maximum
+ //Compatibility with maximum and minimum
if(valid)
{
{
mMessage="Selection OK !";
}
+ mValidationSignal(valid);
SetMessage(mMessage);
return valid;
}
}
}
+ //======================================================================
+
+ //======================================================================
+ ///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);
+ }
+ //======================================================================
+
+ //======================================================================
+ void GimmickView::
+ OnMultiThreadImageReaderEvent(const std::string& filename,
+ MultiThreadImageReaderUser::EventType e,
+ vtkImageData* image)
+ {
+ GimmickDebugMessage(5,
+ "MultiThreadImageReader event : "<<e<<std::endl);
+ if (filename.size()==0)
+ {
+ GimmickDebugMessage(5,
+ "Pushing unknown image in queue"
+ <<std::endl);
+ mImageEventQueue.push_back(ImageEventType(image));
+ return;
+ }
+ ImageEventTypeMap::iterator i;
+ i = mImageEventMap.find(filename);
+ if (i!=mImageEventMap.end())
+ {
+ GimmickDebugMessage(5,
+ "Pushing image of file '"<<filename<<"' in queue"
+ <<std::endl);
+ ImageEventType e(i->second);
+ e.image = image;
+ mImageEventQueue.push_back(e);
+ mImageEventMap.erase(i);
+ }
+ }
+
+ //====================================================================
+
+ //====================================================================
+ void GimmickView::ConnectValidationObserver(ValidationCallbackType callback)
+ {
+ mValidationSignal.connect(callback);
+ }
} // EO namespace creaImageIO