X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOWxTreeView.cpp;h=fbe6925391e10de2e25928d9c42c14513ebdabc1;hb=ff9cfd68812d5dd296fa71fbcc21e7e867d4da23;hp=a258ce88c0b082165b888018ebbf76189b8493ea;hpb=befba590823a2a6d3800ac9d026ec0f3888ba0aa;p=creaImageIO.git diff --git a/src2/creaImageIOWxTreeView.cpp b/src2/creaImageIOWxTreeView.cpp index a258ce8..fbe6925 100644 --- a/src2/creaImageIOWxTreeView.cpp +++ b/src2/creaImageIOWxTreeView.cpp @@ -56,7 +56,7 @@ namespace creaImageIO crea::std2wx(a->GetName()), col_style); level.key.push_back(a->GetKey()); - // ctrl->SetColumnWidth(col, wxLIST_AUTOSIZE ); + // ctrl->SetColumnWidth(col, wxLIST_AUTOSIZE ); col++; } mLevelList.push_back(level); @@ -87,16 +87,10 @@ namespace creaImageIO { tree::Node* node; }; + //===================================================================== - - //===================================================================== - /// - void WxTreeView::UpdateLevel( int level ) + std::vector WxTreeView::GetSelected(int level) { - GimmickDebugMessage(1, - GetTreeHandler()->GetTree().GetLabel() - <<" view : updating level "< sel; @@ -117,7 +111,49 @@ namespace creaImageIO } } } + return sel; + } + + //===================================================================== + + ///Removes selected nodes on given level + void WxTreeView::RemoveSelected( int level ) + { + std::vector sel=GetSelected(level+1); + + std::vector::iterator i; + for (i=sel.begin(); i!=sel.end(); ++i) + { + GimmickDebugMessage(2, + "deleting '" + <<(*i)->GetLabel() + <<"'"<Remove(*i); + } + + UpdateLevel(level); + + } + + + //===================================================================== + + //===================================================================== + + /// + void WxTreeView::UpdateLevel( int level ) + { + GimmickDebugMessage(1, + GetTreeHandler()->GetTree().GetLabel() + <<" view : updating level "< sel=GetSelected(level); + int l = level - 1; + // to speed up inserting we hide the control temporarily GetCtrl(l)->Hide(); GetCtrl(l)->DeleteAllItems(); @@ -154,10 +190,10 @@ namespace creaImageIO for (int k=0; kGetColumnCount(); k++) { - GetCtrl(l)->SetItem - (id,k, - crea::std2wx - ( (*j)->GetAttribute(mLevelList[l].key[k]) )); + std::string val = (*j)->GetAttribute(mLevelList[l].key[k]); + if (val.size()==0) val = "?"; + GetCtrl(l)->SetItem(id,k, crea::std2wx(val)); + GetCtrl(l)->SetColumnWidth(k, wxLIST_AUTOSIZE ); } }