]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/listctrl.cpp
added and documented wxTE_NOHIDESEL
[wxWidgets.git] / src / generic / listctrl.cpp
index b3680c13d5f44e13a2013eb8dae0fab933238662..35d5d712b8ab4183277220b46443f4be0e1d9b5f 100644 (file)
@@ -1879,7 +1879,7 @@ void wxListHeaderWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
 
     int numColumns = m_owner->GetColumnCount();
     wxListItem item;
-    for (int i = 0; i < numColumns; i++)
+    for ( int i = 0; i < numColumns && x < w; i++ )
     {
         m_owner->GetColumn( i, item );
         int wCol = item.m_width;
@@ -1923,11 +1923,9 @@ void wxListHeaderWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
         dc.DrawText( item.GetText(),
                      x + EXTRA_WIDTH, HEADER_OFFSET_Y + EXTRA_HEIGHT );
 
-        if ( x > w - wCol + 5 )
-            break;
-
         x += wCol;
     }
+
     dc.EndDrawing();
 }
 
@@ -2648,7 +2646,7 @@ void wxListMainWindow::RefreshSelected()
 
     for ( size_t line = from; line <= to; line++ )
     {
-        if ( IsHighlighted(line) )
+        if ( IsHighlighted(line) || (line == m_current) )
         {
             if ( line < selMin )
                 selMin = line;
@@ -3393,16 +3391,16 @@ void wxListMainWindow::OnSetFocus( wxFocusEvent &WXUNUSED(event) )
     // EVT_KILL_FOCUS before which means that we finish by redrawing the items
     // which are already drawn correctly resulting in horrible flicker - avoid
     // it
-    if ( m_hasFocus )
-        return;
+    if ( !m_hasFocus )
+    {
+        m_hasFocus = TRUE;
 
-    m_hasFocus = TRUE;
+        RefreshSelected();
+    }
 
-    if (!GetParent())
+    if ( !GetParent() )
         return;
 
-    RefreshSelected();
-
 #ifdef __WXGTK__
     g_focusWindow = GetParent();
 #endif
@@ -4904,7 +4902,7 @@ bool wxListCtrl::DeleteAllColumns()
 {
     size_t count = m_mainWin->m_columns.GetCount();
     for ( size_t n = 0; n < count; n++ )
-        DeleteColumn(n);
+        DeleteColumn(0);
 
     return TRUE;
 }