]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOWxGimmickView.h
*** empty log message ***
[creaImageIO.git] / src2 / creaImageIOWxGimmickView.h
index 4d0db8a4d48d290015ffb588f1a29c4f35f76499..63ac15473102d5ea7241763060b7f6ab8adf482f 100644 (file)
@@ -4,6 +4,7 @@
 #ifdef USE_WXWIDGETS
 
 #include <creaImageIOGimmickView.h>
+#include <creaImageIOWxViewer.h>
 #include <creaWx.h>
 
 #include <wx/splitter.h>
@@ -30,10 +31,30 @@ namespace creaImageIO
                    wxWindow *parent, 
                    const wxWindowID id,
                    const wxPoint& pos, const wxSize& size,
-                   int image_type = GIMMICK_3D_IMAGE_SELECTION,
+                   int min_dim = GIMMICK_2D_IMAGE_SELECTION,
+                       int max_dim = GIMMICK_3D_IMAGE_SELECTION,
                    int number_of_threads = 0);
       /// Virtual destructor
       virtual ~WxGimmickView();
+      
+      /// 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);
+      /// Callback called when a selection from a TreeView has changed 
+      //(overloaded from GimmickView)
+      void OnSelectionChange(std::vector<tree::Node*>& s);
+         ///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
@@ -43,7 +64,12 @@ namespace creaImageIO
       /// (overloaded from GimmickView)
       void CreateTreeView( TreeHandler* );
 
+
     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;
@@ -54,6 +80,7 @@ namespace creaImageIO
 
       wxSplitterWindow* mSplitter;
       wxPanel*          mBottomPanel;
+         wxStaticText *    mText;
       wxNotebook*       mNotebook;
 
       /// The list of icons 
@@ -65,12 +92,32 @@ namespace creaImageIO
       void OnAddFiles(wxCommandEvent& event);
       /// Callback for adding dir
       void OnAddDir(wxCommandEvent& event);
+         /// Callback for removing files
+      void OnRemove(wxCommandEvent& event);
+       
+         /// Display a message box with the last addition statistics
+      void DisplayAddSummary();
 
 
       /// 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();
+     
       /// Progress dialog
       wxProgressDialog* mProgressDialog;
+         ///The selection's maximum dimension
+         int mSelectionMaxDimension;
+         ///The selection's minimum dimension
+         int mSelectionMinDimension;
+         ///Image previewer
+         WxViewer* mViewer;
+         ///Currently Displayed Node
+         tree::Node* mCurImageItemToShow;
 
 
       wxString mCurrentDirectory;