]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOWxTreeView.cpp
Added field edition capability.
[creaImageIO.git] / src2 / creaImageIOWxTreeView.cpp
index 58ddc631421d889b5a5c0a89466056af3a4007a9..ef99f2848427de7bb6c76584908b494b6f556644 100644 (file)
@@ -695,9 +695,8 @@ namespace creaImageIO
       }
          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;
+         mLastRightLevel=level;
+         mLastRightSelected=GetCtrl(level)->HitTest(wxPoint(0,clientpt.y-8),flag,ptr);
     PopupMenu(menuItem, clientpt);
     
   }
@@ -837,9 +836,24 @@ namespace creaImageIO
    //================================================================
   void WxTreeView::OnEditField(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->GetFlags()==creaImageIO::tree::AttributeDescriptor::EDITABLE)
+           {
+                       names.push_back(a->GetName());
+                       keys.push_back(a->GetKey());
+               }
+       }
+       GetGimmickView()->CreateEditFieldsDialog(node,names,keys);
+       }
   }
   //================================================================