m_treeCtrl = CreateTreeCtrl(this, wxID_TREECTRL,
wxPoint(0,0), GetClientSize(), treeStyle);
- if (!filter.empty())
+ if (!filter.empty() && (style & wxDIRCTRL_SHOW_FILTERS))
m_filterListCtrl = new wxDirFilterListCtrl(this, wxID_FILTERLISTCTRL);
m_defaultPath = dir;
{
wxTreeEvent changedEvent(wxEVT_COMMAND_DIRCTRL_CHANGED, GetId());
+ changedEvent.SetEventObject(this);
changedEvent.SetItem(event.GetItem());
changedEvent.SetClientObject(m_treeCtrl->GetItemData(event.GetItem()));
- GetEventHandler()->SafelyProcessEvent(changedEvent);
- event.Skip();
+ if (GetEventHandler()->SafelyProcessEvent(changedEvent) && !changedEvent.IsAllowed())
+ {
+ event.Veto();
+ }
+ else
+ {
+ event.Skip();
+ }
}
void wxGenericDirCtrl::OnExpandItem(wxTreeEvent &event)
{
m_filter = filter;
- if (!filter.empty() && !m_filterListCtrl)
+ if (!filter.empty() && !m_filterListCtrl && HasFlag(wxDIRCTRL_SHOW_FILTERS))
m_filterListCtrl = new wxDirFilterListCtrl(this, wxID_FILTERLISTCTRL);
else if (filter.empty() && m_filterListCtrl)
{