X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOWxTreeView.h;h=e620a4a7b63ccb31d24e49a97fef8829c16bc0b3;hb=e79fb1c492e93cdd1a5a95ba0ab491b868cf5992;hp=a0f6b658d062b032214c81f313bde350f1a98127;hpb=381f766db11094bd9b96f9e948527cbec24f680a;p=creaImageIO.git diff --git a/src2/creaImageIOWxTreeView.h b/src2/creaImageIOWxTreeView.h index a0f6b65..e620a4a 100644 --- a/src2/creaImageIOWxTreeView.h +++ b/src2/creaImageIOWxTreeView.h @@ -9,10 +9,25 @@ #include #include //#include - +const std::string empty_string(""); namespace creaImageIO { + //===================================================================== + /// Data stored by the list items + struct ItemData + { + ItemData() : node(0), id(-1), attr(&empty_string) {} + // The corresponding Node + tree::Node* node; + // The id ? + int id; + // The pointer on the current attribute string to sort on + const std::string* attr; + // Was the item previously selected ? + // Useful for reselecting the item after sort + bool selected; + }; /** * \ingroup View */ @@ -34,7 +49,7 @@ namespace creaImageIO virtual void UpdateLevel( int ); ///Removes selected nodes on given level - virtual void RemoveSelected(); + virtual void RemoveSelected(std::string &i_save); ///Returns the last selected level virtual unsigned int GetLastSelectedLevel(){return mLastLevel;} @@ -59,6 +74,12 @@ namespace creaImageIO ///Callback when the user needs to edit a field void OnEditField(wxCommandEvent& event); + + ///Callback when the user needs to display alll dicom tags for a file + void OnDumpTags(wxCommandEvent &event); + + ///Callback when the user needs to transfer data from storage to storage + void OnExportToStorage(wxCommandEvent &event); ///Callback on mouse click void OnMouseClick(wxMouseEvent& event); @@ -82,6 +103,7 @@ namespace creaImageIO /// Called by OnItemSelected and OnItemDeSelected // void ProcessItem private: + wxBoxSizer *msizer; /// The struct holding the data for one level /// Holds the wx control and other data /// such as the vector of attribute keys corresponding to the columns @@ -91,8 +113,6 @@ namespace creaImageIO wxListCtrl* wxCtrl; wxSplitterWindow* wxSplitter; std::vector key; - //The vector of not shown attributes - std::vector notShownAtts; // The vector of currently selected nodes of the level std::vector Selected; // True iff the vector Selected is up to date @@ -102,7 +122,8 @@ namespace creaImageIO ///Boolean that defines the direction of the sort ///True is ascending order and false is descending bool SortAscending; - // + //The vector of not shown attributes + std::vector notShownAtts; }; /// The vector of levels : one for each level of the tree std::vector mLevelList; @@ -131,10 +152,6 @@ namespace creaImageIO /// Updates the view of a level given the selected items of upper level /// Recursive method virtual void RecursiveUpdateLevel( int ); - ///Sets the color of a selected item - void SetColor(int level, int item); - ///Creates the color palette for the first level - void CreateColorPalette(); ///Selects all the elements of a level void SelectAll(int level); ///UnSelects all the elements of a level @@ -170,21 +187,40 @@ namespace creaImageIO unsigned int mLastLevel; wxMenu* menuItem; + wxMenu *subExportMenu; int mAnonymizingID; int mLocalCopyID; int mEditFieldID; + int mDumpID; + int mExportID; + int mExport2StorageID; // If set to true then OnSelectedChanged returns immediately. // Used to do avoid useless process during multiple selections // or sorting bool mIgnoreSelectedChanged; - DECLARE_EVENT_TABLE() }; // EO class WxTreeView //===================================================================== + class RemoveAlertDlg : public wxDialog + { + public: + RemoveAlertDlg(wxWindow *parent, + wxString title, + const wxSize& size); + ~RemoveAlertDlg(); + + bool isChecked(); + + private : + void onCheck(wxCommandEvent &Event); + bool mSave; + wxCheckBox *mcheck; + + }; } // EO namespace creaImageIO