X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOWxGimmickView.h;h=fa2b3abcca4790b4d1d5664e6f305bb8b62350c8;hb=7c5180e6b19690ba9a264f2a66c04bc0a03c53ef;hp=4c0775b457aa7ee7c3a0e822138868f759141dbf;hpb=38604406ce28379632bff2d5ba97f399fe2b870d;p=creaImageIO.git diff --git a/src2/creaImageIOWxGimmickView.h b/src2/creaImageIOWxGimmickView.h index 4c0775b..fa2b3ab 100644 --- a/src2/creaImageIOWxGimmickView.h +++ b/src2/creaImageIOWxGimmickView.h @@ -4,6 +4,7 @@ #ifdef USE_WXWIDGETS #include +#include #include #include @@ -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 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& s); + /// Returns the selected Images so that they comply with the given parameter(4D) + //(overloaded from GimmickView) + void GetSelectedImages(std::vector& s, int dim); + /// Callback called when a selection from a TreeView has changed + //(overloaded from GimmickView) + void OnSelectionChange(std::vector& s); + + + + ///Sends a request to read the currently selected node and the ones that surround it. + void ReadImageThreaded(std::vector 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,12 +80,49 @@ namespace creaImageIO wxSplitterWindow* mSplitter; wxPanel* mBottomPanel; + wxStaticText * mText; wxNotebook* mNotebook; /// The list of icons wxImageList * mIcon; void CreateIconList(); + Gimmick * mGimmick; + /// Callback for adding files + 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; + + DECLARE_EVENT_TABLE() }; // EO class WxGimmickView //=====================================================================