X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src2%2FcreaImageIOWxGimmickView.h;h=314d1720b414b32bc66725f19e8d8e7ab9d54ed2;hb=b0bee282f8a6c60d5d86495b9bdbc0b89309bf1f;hp=08710e6620c80ac3567d2e33eafe9a7aed02a7ec;hpb=fcfe92562365cb738cf919d095d2f8d3608ec389;p=creaImageIO.git diff --git a/src2/creaImageIOWxGimmickView.h b/src2/creaImageIOWxGimmickView.h index 08710e6..314d172 100644 --- a/src2/creaImageIOWxGimmickView.h +++ b/src2/creaImageIOWxGimmickView.h @@ -4,8 +4,13 @@ #ifdef USE_WXWIDGETS #include +#include #include +#include +#include +#include +#include namespace creaImageIO { @@ -16,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 @@ -26,17 +33,97 @@ 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& 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, 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 sel); + + protected: + /// Creates the tool bar + void CreateToolBar(); + + /// Create the tree view for TreeHandler provided + /// (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; + wxToolBarToolBase* mToolAddDir; + wxToolBarToolBase* mToolRemove; + wxToolBarToolBase* mToolAddDatabase; + wxToolBarToolBase* mToolHelp; + + 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& ); + /// 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; + //Pointer holders for images to be shown + std::vector pointers; + + + wxString mCurrentDirectory; + + DECLARE_EVENT_TABLE() + }; // EO class WxGimmickView //=====================================================================