X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src2%2FcreaImageIOGimmickView.h;h=751e5babab42e1e75c6094397151badcbfbac0c0;hb=b0bee282f8a6c60d5d86495b9bdbc0b89309bf1f;hp=86948c503100f9d4bec7769ffefb59954cadf35d;hpb=82026cc5a9a36392c481513cd86091714eca51d1;p=creaImageIO.git diff --git a/src2/creaImageIOGimmickView.h b/src2/creaImageIOGimmickView.h index 86948c5..751e5ba 100644 --- a/src2/creaImageIOGimmickView.h +++ b/src2/creaImageIOGimmickView.h @@ -30,7 +30,7 @@ namespace creaImageIO * \ingroup View */ - + class ImageExtent; //===================================================================== //===================================================================== @@ -38,7 +38,6 @@ namespace creaImageIO class GimmickView: public MultiThreadImageReaderUser { public: - /// Ctor GimmickView(Gimmick*, int number_of_threads = 0 ); /// Virtual destructor @@ -70,39 +69,28 @@ namespace creaImageIO virtual void GetSelectedFiles(std::vector& s) { GimmickError("INTERNAL ERROR : GetSelectedFiles not implemented"); } - virtual void OnSelectionChange(std::vector& s) + virtual void OnSelectionChange(std::vector& s, bool isSelection, int selection, bool mProcess) { GimmickError("INTERNAL ERROR : OnSelectionChange not implemented"); } virtual void ClearSelection() { GimmickError("INTERNAL ERROR : ClearSelection not implemented"); } ///Validates the dimension compliance of the images with the maximum and minimum given, and between their sizes - bool ValidateSelected (std::vector& sel, int min_dim, int max_dim); + bool ValidateSelected (tree::Node* sel, int min_dim, int max_dim); ///Reads the vector of nodes, builds images in the dimension required and returns them in the supplied vector. void ReadImagesNotThreaded(std::vector& s,std::vector im, int dim); ///Requests the reading of an image with priority and index in the /// current selection (-1 if not in selection) void RequestReading(tree::Node* n, int prio, int selection_index , ImagePointerHolder *p); - - ///Returns true if the ImageEventQueue is empty - bool IsQueueEmpty(){return mImageEventQueue.empty();} - ///Clears the queue - void ClearQueue(){mImageEventQueue.clear();} - ///Returns the next in line EventType's image - vtkImageData* GetNextImageQueued(){return mImageEventQueue.front().image;} - ///Returns the next in line EventType's node - tree::Node* GetNextNodeQueued(){return mImageEventQueue.front().node;} - ///Returns the next in line EventType's index in selection - int GetNextSelectionIndexQueued(){return mImageEventQueue.front().index;} - ///Unqueus the next in line EventType - void UnqueueNext(){mImageEventQueue.pop_front();} - + ///Obtains the message of the state std::string GetMessage(){return mMess;} ///Obtains the message of the state void SetMessage(std::string mess){mMess=mess;} + ///Resets the data of the extent and begins a new selection + void ResetExtent(); /// Create the tree views void CreateTreeViews(); @@ -140,6 +128,7 @@ namespace creaImageIO private: + /// Controller which manages the interaction with the model Gimmick* mGimmick; /// The views @@ -171,9 +160,16 @@ namespace creaImageIO ImageEventTypeMap mImageEventMap; // queue of image event typedef std::deque ImageEventQueueType; - ImageEventQueueType mImageEventQueue; + //ImageEventQueueType mImageEventQueue; + ///The current image extent + ImageExtent* mImageExtent; + ///The validation signal ValidationSignalType mValidationSignal; + ///Boolean that determines if the selection is valid + bool valid; + ///Boolean that determines if the reader has been started + bool mReaderStarted; }; // EO class GimmickView