]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOWxTreeView.cpp
Fixed a problem with the Listener
[creaImageIO.git] / src2 / creaImageIOWxTreeView.cpp
index 3289962d950f8333c85c91ea189aca3cd6ef3a58..58ddc631421d889b5a5c0a89466056af3a4007a9 100644 (file)
@@ -132,7 +132,6 @@ namespace creaImageIO
         i < handler->GetTree().GetNumberOfLevels() -1;
         ++i)
       {
-
        GimmickDebugMessage(5,"Creating view for level "<<i
                            <<std::endl);
        LevelType level;
@@ -227,11 +226,14 @@ namespace creaImageIO
        menuItem =new wxMenu;
        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"));
        
        mAnonymizingID=m1Item->GetId();
        mLocalCopyID=m2Item->GetId();
+       mEditFieldID=m3Item->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) );
        
        
 #endif // wxUSE_MENUS
@@ -270,10 +272,9 @@ namespace creaImageIO
   const std::vector<tree::Node*>& WxTreeView::GetSelected(int level)
   {
     //  if (GetSelectedUpToDate(level)) 
-    
     int l = level - 1;
     // the selection of upper level
-       std::vector<tree::Node*>& sel(mLevelList[level-1].Selected);
+       std::vector<tree::Node*>& sel(mLevelList[l].Selected);
     sel.clear();
          if (level == 1) 
       {
@@ -678,17 +679,25 @@ namespace creaImageIO
     
   }
 
+   //================================================================
+  //================================================================
+
   void WxTreeView::OnItemMenu(wxListEvent &event)
   {
         wxPoint clientpt;
     clientpt.x = wxGetMousePosition().x - this->GetScreenPosition().x;
     clientpt.y = wxGetMousePosition().y - this->GetScreenPosition().y;
-    senderCtrl = event.GetEventObject(); 
+    senderCtrl = event.GetEventObject();
     unsigned int level = 0;
     for (level = 0; level<mLevelList.size(); ++level)
       {
                if ( GetCtrl(level) == senderCtrl ) break;
       }
+         long* ptr=0;
+         int flag;
+         long itemId=GetCtrl(level)->HitTest(wxPoint(clientpt.x,clientpt.y-8),flag,ptr);
+         tree::Node* node=((ItemData*)GetCtrl(level)->GetItemData(itemId))->node;
+         std::cout<<node->GetLabel()<<std::endl;
     PopupMenu(menuItem, clientpt);
     
   }
@@ -822,6 +831,15 @@ namespace creaImageIO
        }
     
     
+  }
+  //================================================================
+
+   //================================================================
+  void WxTreeView::OnEditField(wxCommandEvent& event)
+  {
+    
+    
+    
   }
   //================================================================