]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOWxGimmickView.h
Validate is now linear
[creaImageIO.git] / src2 / creaImageIOWxGimmickView.h
index c462e8443b0d2616291c38fd4014f60d03c76924..314d1720b414b32bc66725f19e8d8e7ab9d54ed2 100644 (file)
@@ -21,9 +21,11 @@ namespace creaImageIO
   
   //=====================================================================
   /// Concrete derivative of GimmickView which implements a wxWidgets-based view
+
   class WxGimmickView : public wxPanel, virtual public GimmickView
     {
     public:
+         
       typedef int EventType;
 
       /// Ctor
@@ -36,21 +38,25 @@ namespace creaImageIO
                    int number_of_threads = 0);
       /// Virtual destructor
       virtual ~WxGimmickView();
-
-         /// Returns the selected Images so that they comply with the given parameter(<4D)
-         ///(overloaded from GimmickView)
-         vtkImageData* GetSelectedImage(int dim);
-         /// Returns the selected files
-         ///(overloaded from GimmickView)
-         void GetSelectedFiles(std::vector<std::string>& s);
+      
+      /// Returns the selected files
+      ///(overloaded from GimmickView)
+      void GetSelectedFiles(std::vector<std::string>& s);
       /// Returns the selected Images so that they comply with the given parameter(4D)
       //(overloaded from GimmickView)
-         void GetSelectedImages(std::vector<vtkImageData*>& s, int dim);
-         /// Validates the selected images
-         bool ValidateSelection(void *);
-         ///Sends a request to read the currently selected node and the ones that surround it.
-         void ReadImageThreaded(std::vector<tree::Node*> sel);
+      void GetSelectedImages(std::vector<vtkImageData*>& s, int dim);
+      /// Callback called when a selection from a TreeView has changed 
+      //(overloaded from GimmickView)
+      void OnSelectionChange(std::vector<tree::Node*>& s, bool isSelection, int selection, bool mProcess);
+         ///Stops the player
+         void StopPlayer(){mViewer->StopPlayer();}
+         ///Resets the default image
+         void ClearSelection();
+
 
+      ///Sends a request to read the currently selected node and the ones that surround it.
+      void ReadImageThreaded(std::vector<tree::Node*> sel);
+      
 
     protected:
       /// Creates the tool bar
@@ -62,6 +68,10 @@ namespace creaImageIO
 
 
     private:
+      /// Is set to true at the end of constructor 
+      /// (in order to lock callbacks from threaded objects or event 
+      /// before everything is ok)
+      bool mConstructed;
       /// The ToolBar and the tools
       wxToolBar*         mToolBar;
       wxToolBarToolBase* mToolAddFile;
@@ -93,10 +103,6 @@ namespace creaImageIO
 
       /// AddProgress Gimmick callback
       void OnAddProgress( Gimmick::AddProgress& );
-         /// Processes the queue of image events 
-         /// Called in OnInternalIdle();
-      /// (locks the MultiThreadImageReaderEvent mutex)
-      void ProcessImageEvents();
       /// Called upon to refresh the viewer once there are no actions to be done
       void OnInternalIdle();
      
@@ -110,6 +116,8 @@ namespace creaImageIO
          WxViewer* mViewer;
          ///Currently Displayed Node
          tree::Node* mCurImageItemToShow;
+         //Pointer holders for images to be shown
+         std::vector<ImagePointerHolder*> pointers;
 
 
       wxString mCurrentDirectory;