#include <wx/gdicmn.h>
#include <boost/date_time/gregorian/gregorian.hpp>
-
-
-
-
const std::string empty_string("");
//=====================================================================
//=====================================================================
// CTor
WxTreeView::WxTreeView(TreeHandler* handler,
+ TimestampDatabaseHandler* tdh,
GimmickView* gimmick,
wxWindow* parent,
const wxWindowID id)
: wxPanel(parent,id),
- TreeView(handler,gimmick)
+ TreeView(handler, tdh, gimmick)
{
GimmickDebugMessage(1,"WxTreeView::WxTreeView"
<<std::endl);
ctrl_style);
level.wxCtrl = ctrl;
level.wxSplitter->Initialize(ctrl);
-
-
+
// Create the columns : one for each attribute of the level
int col = 0;
std::string title;
- tree::LevelDescriptor::AttributeDescriptorListType::const_iterator a;
+
+ tree::LevelDescriptor::AttributeDescriptorListType::const_iterator a;
for (a = handler->GetTree().GetAttributeDescriptorList(i+1).begin();
a != handler->GetTree().GetAttributeDescriptorList(i+1).end();
++a)
std::string temp = a->GetKey();
if (temp.compare("ID") != 0)
{
+
ctrl->InsertColumn(col,
crea::std2wx(title),
col_style);
col++;
}
level.key.push_back(a->GetKey());
-
- // ctrl->SetColumnWidth(col, wxLIST_AUTOSIZE );
-
-
}
}
}
if(erase)
{
+ GetGimmickView()->modifyValidationSignal(false);
bool needRefresh=false;
std::vector<tree::Node*>::const_iterator i;
for (i=sel.begin(); i!=sel.end(); ++i)
{
needRefresh=true;
}
+ GetTimestampDatabaseHandler()->RemoveNode("PATH",(*i));
GetTreeHandler()->Remove(*i);
}
}
- //=====================================================================
-
-
//=====================================================================
/// Updates a level of the view (adds or removes children, etc.)
void WxTreeView::UpdateLevel( int level )
GetCtrl(l)->InsertItem(item);
//Setting attributes
-
- for (int k=0; k<GetCtrl(l)->GetColumnCount(); k++)
+ for (int k=0; k<GetCtrl(l)->GetColumnCount(); ++k)
{
- std::string val = (*j)->GetAttribute(mLevelList[l].key[k]);
+ std::string val;
+ // Temporary correction : it works but no explanation about the problem FCY
+ if(k==0 && level <3)
+ val = (*j)->GetAttribute("NumberOfChildren");
+ else
+ val = (*j)->GetAttribute(mLevelList[l].key[k]);
if(((*j)->GetAttributeDescriptor(mLevelList[l].key[k])).isDateEntry()) // Date
{
boost::gregorian::date d1(boost::gregorian::from_undelimited_string(val));
if ( GetCtrl(level) == obj ) break;
}
SetSelectedUpToDate(level,false);
+ // to allow a first selection in images TreeView
+ if (level==mLevelList.size()-1)
+ OnItemSelected(event);
}
//================================================================
{
mLevelList[level].SortAscending = false;
}
-
+
SortLevel(level);
}
//================================================================
{
if(event.GetKeyCode() == WXK_DELETE)
{
- RemoveSelected();
- // ClearSelection();
+ wxBusyCursor busy;
+
+ RemoveSelected();
+ GetGimmickView()->ClearSelection();
}
}