parent = GetItemParent( parent );
}
- EnsureVisible( itemId );
-
// ctrl press
if (unselect_others)
{
RefreshLine( m_current );
}
+ // This can cause idle processing to select the root
+ // if no item is selected, so it must be after the
+ // selection is set
+ EnsureVisible( itemId );
+
event.SetEventType(wxEVT_COMMAND_TREE_SEL_CHANGED);
GetEventHandler()->ProcessEvent( event );
}
wxTRANSPARENT_PEN;
wxColour colText;
- if ( item->IsSelected() )
+ if ( item->IsSelected()
+#ifdef __WXMAC__
+ // On wxMac, if the tree doesn't have the focus we draw an empty
+ // rectangle, so we want to make sure that the text is visible
+ // against the normal background, not the highlightbackground, so
+ // don't use the highlight text colour unless we have the focus.
+ && m_hasFocus
+#endif
+ )
{
colText = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHTTEXT);
}