X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src%2FcreaImageIOWxGimmick.h;h=13cdaf8e3109fc01749d4877339eaf98f5b0ef7f;hb=29cfc2f238ce7c522d3c878e032982d3a52d1044;hp=062d8de3116d0de65f1a68653a4a76089dc518c2;hpb=684add23b4f64cb3c6e39e12a4af20d2c2500df6;p=creaImageIO.git diff --git a/src/creaImageIOWxGimmick.h b/src/creaImageIOWxGimmick.h index 062d8de..13cdaf8 100644 --- a/src/creaImageIOWxGimmick.h +++ b/src/creaImageIOWxGimmick.h @@ -35,48 +35,58 @@ namespace creaImageIO class WxGimmickDicomNodeData; //==================================================================== +#define GIMMICK_NO_IMAGE_SELECTION 0 +#define GIMMICK_2D_IMAGE_SELECTION 2 +#define GIMMICK_3D_IMAGE_SELECTION 3 +#define GIMMICK_4D_IMAGE_SELECTION 4 + //==================================================================== class CREAIMAGEIO_EXPORT WxGimmick : public wxPanel, - public MultiThreadImageReaderUser + public MultiThreadImageReaderUser { public: + WxGimmick(wxWindow *parent, const wxWindowID id, - const wxPoint& pos, const wxSize& size, - int number_of_threads = 0); + const wxPoint& pos, const wxSize& size, + int image_type = GIMMICK_3D_IMAGE_SELECTION, + int number_of_threads = 0); virtual ~WxGimmick(); + int GetSelectionSize() { return mTreeListCtrl->GetSelectionSize(); } + bool IsSelectionValid(); + void GetSelectedFiles(std::vector&); + void GetSelectedImages(std::vector&); + void GetSelectedDicomNodes(std::vector&); + void GetSelectedItems(std::vector&); + DicomNode* GetDicomNodeOfItem(const wxTreeItemId& i); + + static const int UserMenuFirstId; + + typedef WxGimmickSettings Settings; + const Settings& GetSettings() const { return mSettings; } + Settings& GetSettings() { return mSettings; } + + typedef WxGimmickEvent EventType; + typedef std::vector DicomDatabaseListType; - DicomDatabaseListType& GetDicomDatabaseList() { return mDicomDatabaseList; } - const DicomDatabaseListType& GetDicomDatabaseList() const { return mDicomDatabaseList; } + DicomDatabaseListType& GetDicomDatabaseList() + { return mDicomDatabaseList; } + const DicomDatabaseListType& GetDicomDatabaseList() const + { return mDicomDatabaseList; } wxTreeListCtrl* GetTreeListCtrl() { return mTreeListCtrl; } const wxTreeListCtrl* GetTreeListCtrl() const { return mTreeListCtrl; } void SetConfigurationFile(const std::string& filename) - { - mConfigurationFile = filename; - } + { mConfigurationFile = filename;} void LoadConfiguration(); void SaveConfiguration(); void SetSaveConfigurationOnClose(bool v) { mSaveConfigurationOnClose = v; } - void GetSelectedImages(std::vector&); - void GetSelectedDicomNodes(std::vector&); - void GetSelectedItems(std::vector&); - DicomNode* GetDicomNodeOfItem(const wxTreeItemId& i); - - - static const int UserMenuFirstId; - - typedef WxGimmickSettings Settings; - const Settings& GetSettings() const { return mSettings; } - Settings& GetSettings() { return mSettings; } - - typedef WxGimmickEvent EventType; protected: void RebuildView(); @@ -92,6 +102,7 @@ namespace creaImageIO void InsertDicomDatabase(wxTreeItemId& id, DicomDatabase* r); void DeleteDicomDatabase(wxTreeItemId& id, DicomDatabase* r); + void LoadChildren( wxTreeItemId& id ); friend class WxGimmickEvent; private: @@ -99,6 +110,10 @@ namespace creaImageIO WxGimmick() { } WxGimmick(const WxGimmick& ) { } + int mSelectionType; + int mSelectionMaxImageDimension; + int mCurrentSelectionImageSize[4]; + DicomDatabaseListType mDicomDatabaseList; wxTreeListCtrl* mTreeListCtrl; @@ -197,6 +212,7 @@ namespace creaImageIO void OnItemCollapsing(wxTreeEvent& event); void OnSelChanged(wxTreeEvent& event); void OnSelChanging(wxTreeEvent& event); + bool IsImageSelectable(DicomNode* node); void OnTreeKeyDown(wxTreeEvent& event); void OnItemActivated(wxTreeEvent& event); void OnItemRightClick(wxTreeEvent& event);