]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOWxTreeView.h
For a given file, display all dicom tags.
[creaImageIO.git] / src2 / creaImageIOWxTreeView.h
index a0f6b658d062b032214c81f313bde350f1a98127..49dd62b9c3fc87344db462404c77767e9793fce0 100644 (file)
@@ -9,10 +9,25 @@
 #include <wx/listctrl.h>
 #include <wx/splitter.h>
 //#include <vector>
-
+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,9 @@ 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 on mouse click
       void OnMouseClick(wxMouseEvent& event);
@@ -82,6 +100,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 +110,6 @@ namespace creaImageIO
        wxListCtrl* wxCtrl;
        wxSplitterWindow* wxSplitter;
        std::vector<std::string> key;
-       //The vector of not shown attributes
-       std::vector<std::string> notShownAtts;
        // The vector of currently selected nodes of the level
        std::vector<tree::Node*> Selected;
        // True iff the vector Selected is up to date
@@ -102,7 +119,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<std::string> notShownAtts; 
       };
       /// The vector of levels : one for each level of the tree      
       std::vector<LevelType> mLevelList;
@@ -131,10 +149,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 
@@ -173,18 +187,34 @@ namespace creaImageIO
          int mAnonymizingID;
          int mLocalCopyID;
          int mEditFieldID;
+         int mDumpID;
          
       // 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