#include "wx/wxprec.h"
#ifdef __BORLANDC__
-#pragma hdrstop
+ #pragma hdrstop
#endif
+#if wxUSE_TREECTRL
+
#include "wx/generic/treectlg.h"
#include "wx/imaglist.h"
#include "wx/settings.h"
SetValidator( validator );
#endif
-#ifndef __WXMAC__
SetBackgroundColour( wxSystemSettings::GetSystemColour( wxSYS_COLOUR_LISTBOX ) );
-#endif
// m_dottedPen = wxPen( "grey", 0, wxDOT ); too slow under XFree86
m_dottedPen = wxPen( "grey", 0, 0 );
if ( GetEventHandler()->ProcessEvent( event ) && !event.IsAllowed() )
return;
+ wxTreeItemId parent = GetParent( itemId );
+ while (parent.IsOk())
+ {
+ if (!IsExpanded(parent))
+ Expand( parent );
+
+ parent = GetParent( parent );
+ }
+
+ EnsureVisible( itemId );
+
// ctrl press
if (unselect_others)
{
int start_x = 0;
int start_y = 0;
- ViewStart( &start_x, &start_y );
+ GetViewStart( &start_x, &start_y );
start_y *= PIXELS_PER_UNIT;
int client_h = 0;
int exposed_x = dc.LogicalToDeviceX( 0 );
int exposed_y = dc.LogicalToDeviceY( item->GetY() );
- bool drawLines = (HasFlag(wxTR_NO_LINES) && !HasFlag(wxTR_MAC_BUTTONS));
+ bool drawLines = (!HasFlag(wxTR_NO_LINES) && !HasFlag(wxTR_MAC_BUTTONS));
if (IsExposed( exposed_x, exposed_y, 10000, GetLineHeight(item) )) // 10000 = very much
{
{
colText = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_HIGHLIGHTTEXT );
+#ifdef __WXMAC__
+ // no rect outline, we already have the background color
+ pen = wxTRANSPARENT_PEN;
+#else
if ( m_hasFocus )
pen = wxBLACK_PEN;
+#endif
}
else
Refresh( TRUE, &rect );
}
+#endif // wxUSE_TREECTRL