]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOWxTreeView.cpp
For a given file, display all dicom tags.
[creaImageIO.git] / src2 / creaImageIOWxTreeView.cpp
index 03c5b0d3d3dab15af21147d39eab9ca01d53d01d..9b1f54eb5ae88a7aff505c0774bbba38e7d0331a 100644 (file)
@@ -4,7 +4,10 @@
 #include <wx/splitter.h>
 #include <wx/gdicmn.h>
 #include <boost/date_time/gregorian/gregorian.hpp>
-
+#include <creaImageIOGimmick.h>
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
 //=====================================================================
 namespace creaImageIO
 {
@@ -106,7 +109,7 @@ namespace creaImageIO
     //    mSplitter = new wxSplitterWindow( this , -1);
 
     // Global sizer
-    wxBoxSizer *sizer = new wxBoxSizer(wxHORIZONTAL);
+    msizer = new wxBoxSizer(wxHORIZONTAL);
     
     int ctrl_style = wxLC_REPORT | wxLC_VRULES;
     int col_style = wxLIST_FORMAT_LEFT;
@@ -211,19 +214,22 @@ namespace creaImageIO
        wxMenuItem* m1Item=menuItem->Append(wxID_ANY, _T("&Anonymize"));
        wxMenuItem* m2Item=menuItem->Append(wxID_ANY, _T("&Local Copy"));
        wxMenuItem* m3Item=menuItem->Append(wxID_ANY, _T("&Edit Fields"));
-       
+       wxMenuItem* m4Item=menuItem->Append(wxID_ANY, _T("&Display Dicom Tags"));
+
        mAnonymizingID=m1Item->GetId();
        mLocalCopyID=m2Item->GetId();
        mEditFieldID=m3Item->GetId();
+       mDumpID=m4Item->GetId();
        //Connect( mAnonymizingID, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WxTreeView::OnAnonymize) );
        Connect( mLocalCopyID, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WxTreeView::OnLocalCopy) );
        Connect( mEditFieldID, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WxTreeView::OnEditField) );
+       Connect( mDumpID, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WxTreeView::OnDumpTags) );
        
        
 #endif // wxUSE_MENUS
        /// Initialize the first level splitter
          
-       sizer->Add( mLevelList[0].wxSplitter ,1, wxGROW  ,0);
+       msizer->Add( mLevelList[0].wxSplitter ,1, wxGROW  ,0);
        //      mColumnSelected=1;
        mLastSelected=0;
        mLastLevel=0;
@@ -234,7 +240,7 @@ namespace creaImageIO
        //CreateColorPalette();
     UpdateLevel(1);
 
-    SetSizer( sizer );     
+    SetSizer( msizer );     
     SetAutoLayout(true);
     Layout();
 
@@ -865,6 +871,29 @@ namespace creaImageIO
        GetGimmickView()->CreateEditFieldsDialog(node,names,keys);
        }
   }
+
+  void WxTreeView::OnDumpTags(wxCommandEvent &event)
+  {
+         if(mLastRightSelected!=-1)
+       {
+    tree::Node* node=((ItemData*)GetCtrl(mLastRightLevel)->GetItemData(mLastRightSelected))->node;
+       tree::LevelDescriptor::AttributeDescriptorListType::const_iterator a;
+       std::vector<std::string> names;
+       std::vector<std::string> keys;
+       for (a  = GetTreeHandler()->GetTree().GetAttributeDescriptorList(mLastRightLevel+1).begin();
+            a != GetTreeHandler()->GetTree().GetAttributeDescriptorList(mLastRightLevel+1).end();
+            ++a)
+       {
+               if(a->GetKey()=="FullFileName")
+           {
+                       GetGimmickView()->DumpTags(node->GetAttribute("FullFileName"));
+                       return;
+               }
+       }
+         }
+         
+  }
+
   //================================================================
 
   //================================================================