#include <wx/gdicmn.h>
#include <boost/date_time/gregorian/gregorian.hpp>
-const std::string empty_string("");
//=====================================================================
namespace creaImageIO
{
- //=====================================================================
- /// Data stored by the list items
- struct ItemData
- {
- ItemData() : node(0), id(-1), attr(&empty_string) {}
- // The corresponding Node
- tree::Node* node;
- // The id ?
- int id;
- // The pointer on the current attribute string to sort on
- const std::string* attr;
- // Was the item previously selected ?
- // Useful for reselecting the item after sort
- bool selected;
- };
+
//=====================================================================
}
//=====================================================================
{
GimmickDebugMessage(1,"WxTreeView::~WxTreeView"
<<std::endl);
+ delete menu;
+ delete menuItem;
+
}
//=====================================================================
//=====================================================================
const std::vector<tree::Node*>& WxTreeView::GetSelected(int level)
{
+ std::vector<tree::Node*>& sel = mLevelList[0].Selected;
// if (GetSelectedUpToDate(level))
int l = level - 1;
// the selection of upper level
- std::vector<tree::Node*>& sel(mLevelList[l].Selected);
- sel.clear();
+ if(mLevelList.size() == level -1)
+ sel = mLevelList.back().Selected;
+ else
+ sel= mLevelList[l].Selected;
+ if (sel.size() > 0)
+ {
+ sel.clear();
+ }
if (level == 1)
{
sel.push_back(GetTreeHandler()->GetTree().GetTree());
wxLIST_MASK_FORMAT
);
- ItemData* data = new ItemData;
+ ItemData* data = new ItemData();
data->node = *j;
data->id = _id;
-
+
item.SetId(_id);
item.SetData(data);
-
+
_id++;
GetCtrl(l)->InsertItem(item);
}
else
{
-
+ if (val.size()==0) val = "?";
}
- if (val.size()==0) val = "?";
+ if (val.size()==0) val = "X";
item.SetText( crea::std2wx(val));
item.SetColumn(k);
- GetCtrl(l)->SetItem(item);
- }
+
+ GetCtrl(l)->SetItem(item);
+ }
+ item.Clear();
}
}
GetGimmickView()->ClearSelection();
}
// Select all images if the selection is at series level
- if (level==mLevelList.size()-2) SelectAll(level+1);
+ if (level==mLevelList.size()-2)
+ SelectAll(level+1);
// Validate selected images if the selection is at image level
if (level==(mLevelList.size()-1)) //&&mProcess)
{
mIgnoreSelectedChanged = true;// mProcess=false;
}
GetCtrl(level)->SetItemState(item,wxLIST_STATE_SELECTED, wxLIST_MASK_STATE
- | wxLIST_MASK_TEXT |wxLIST_MASK_IMAGE | wxLIST_MASK_DATA | wxLIST_MASK_WIDTH | wxLIST_MASK_FORMAT);
+ | wxLIST_MASK_TEXT |wxLIST_MASK_IMAGE | wxLIST_MASK_DATA | wxLIST_MASK_WIDTH | wxLIST_MASK_FORMAT);
}
}