// We must finish regardless of success, otherwise we'll get
// focus problems:
Finish();
-
+
if ( !AcceptChanges() )
m_owner->OnRenameCancelled( m_itemEdited );
}
void wxGenericTreeCtrl::SetWindowStyle(const long styles)
{
- if (!HasFlag(wxTR_HIDE_ROOT) && (styles & wxTR_HIDE_ROOT))
+ // Do not try to expand the root node if it hasn't been created yet
+ if (m_anchor && !HasFlag(wxTR_HIDE_ROOT) && (styles & wxTR_HIDE_ROOT))
{
// if we will hide the root, make sure children are visible
m_anchor->SetHasPlus();
{
if ( select )
{
- DoSelectItem(itemId);
+ DoSelectItem(itemId, !HasFlag(wxTR_MULTIPLE));
}
else // deselect
{
{
wxColour colBg;
if ( attr && attr->HasBackgroundColour() )
- {
- drawItemBackground = true;
+ {
+ drawItemBackground = true;
colBg = attr->GetBackgroundColour();
- }
+ }
else
+ {
colBg = m_backgroundColour;
+ }
dc.SetBrush(wxBrush(colBg, wxSOLID));
}
{
// this facilitates multiple-item drag-and-drop
- if (item && HasFlag(wxTR_MULTIPLE))
+ if ( /* item && */ HasFlag(wxTR_MULTIPLE))
{
wxArrayTreeItemIds selections;
size_t count = GetSelections(selections);