X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src2%2FcreaImageIOWxTreeView.cpp;h=7f2826049c77f19aa56bf9a3290d51c32ddfa38f;hb=139340305dd41bfdfff00f02a8c8c59241d14cb1;hp=cd6e9600a272cc2d637f6423d99b265f8068ac63;hpb=8c3672abfbaf237583f46ba0c1feb660b0f65973;p=creaImageIO.git diff --git a/src2/creaImageIOWxTreeView.cpp b/src2/creaImageIOWxTreeView.cpp index cd6e960..7f28260 100644 --- a/src2/creaImageIOWxTreeView.cpp +++ b/src2/creaImageIOWxTreeView.cpp @@ -44,21 +44,35 @@ namespace creaImageIO // Create the columns : one for each attribute of the level int col = 0; + //ctrl->InsertItem(0, "1"); + tree::LevelDescriptor::AttributeDescriptorListType::const_iterator a; for (a = handler->GetTree().GetAttributeDescriptorList(i).begin(); a != handler->GetTree().GetAttributeDescriptorList(i).end(); ++a) { - GimmickDebugMessage(5,"Creating column "<InsertColumn(col, _("Children"), col_style); + //ctrl->InsertItem(0, "1"); + //level.key.push_back(_("Children")); + //level.key.push_back(handler->GetTree().GetChildrenList().size()); + col++; + } + + GimmickDebugMessage(5,"Creating column "<GetName() <InsertColumn(col, - crea::std2wx(a->GetName()), - col_style); - level.key.push_back(a->GetKey()); - // ctrl->SetColumnWidth(col, wxLIST_AUTOSIZE ); - col++; + ctrl->InsertColumn(col, + crea::std2wx(a->GetName()), + col_style); + level.key.push_back(a->GetKey()); + // ctrl->SetColumnWidth(col, wxLIST_AUTOSIZE ); + col++; + + } + mLevelList.push_back(level); sizer->Add( ctrl ,1, wxGROW ,0); } @@ -94,6 +108,7 @@ namespace creaImageIO int l = level - 1; // the selection of upper level std::vector sel; + if (level == 1) { sel.push_back(GetTreeHandler()->GetTree().GetTree()); @@ -111,6 +126,7 @@ namespace creaImageIO } } } + return sel; } @@ -120,19 +136,28 @@ namespace creaImageIO 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); + bool erase=false; + if (wxMessageBox(_T("Delete file(s) ?"), + _T("Remove Files"), + wxYES_NO,this ) == wxYES) + { + erase = true; + } + if(erase) + { + std::vector::iterator i; + for (i=sel.begin(); i!=sel.end(); ++i) + { + GimmickDebugMessage(2, + "deleting '" + <<(*i)->GetLabel() + <<"'"<Remove(*i); + } + + UpdateLevel(level); } - - UpdateLevel(level); } @@ -150,7 +175,6 @@ namespace creaImageIO < sel=GetSelected(level); int l = level - 1; @@ -168,6 +192,7 @@ namespace creaImageIO <<"'"<LoadChildren(*i,1); tree::Node::ChildrenListType::reverse_iterator j; for (j = (*i)->GetChildrenList().rbegin(); @@ -187,14 +212,26 @@ namespace creaImageIO data->node = *j; item.SetData(data); + long id = GetCtrl(l)->InsertItem(item); - for (int k=0; kGetColumnCount(); k++) + std::ostringstream oss; + + int n= GetTreeHandler()->GetNumberOfChildren(*j); + + oss << n; + std::string s(oss.str()); + + GetCtrl(l)->SetItem(id,0, crea::std2wx(s)); + GetCtrl(l)->SetColumnWidth(0, wxLIST_AUTOSIZE ); + + for (int k=1; kGetColumnCount(); k++) { - std::string val = (*j)->GetAttribute(mLevelList[l].key[k]); + std::string val = (*j)->GetAttribute(mLevelList[l].key[k-1]); if (val.size()==0) val = "?"; GetCtrl(l)->SetItem(id,k, crea::std2wx(val)); GetCtrl(l)->SetColumnWidth(k, wxLIST_AUTOSIZE ); + } }