]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/vlbox.cpp
set anti-aliasing ON by default
[wxWidgets.git] / src / generic / vlbox.cpp
index 3bd1a36e9928162a90e64de1d2beba589d49f5c3..7cdf248b6a21ef596425b6fdfb9d31156b87271d 100644 (file)
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        generic/vlbox.cpp
+// Name:        src/generic/vlbox.cpp
 // Purpose:     implementation of wxVListBox
 // Author:      Vadim Zeitlin
 // Modified by:
 // Purpose:     implementation of wxVListBox
 // Author:      Vadim Zeitlin
 // Modified by:
 
 #if wxUSE_LISTBOX
 
 
 #if wxUSE_LISTBOX
 
+#include "wx/vlbox.h"
+
 #ifndef WX_PRECOMP
     #include "wx/settings.h"
     #include "wx/dcclient.h"
 #ifndef WX_PRECOMP
     #include "wx/settings.h"
     #include "wx/dcclient.h"
+    #include "wx/listbox.h"
 #endif //WX_PRECOMP
 
 #endif //WX_PRECOMP
 
-#include "wx/vlbox.h"
 #include "wx/dcbuffer.h"
 #include "wx/selstore.h"
 
 #include "wx/dcbuffer.h"
 #include "wx/selstore.h"
 
@@ -92,7 +94,7 @@ bool wxVListBox::Create(wxWindow *parent,
 
 wxVListBox::~wxVListBox()
 {
 
 wxVListBox::~wxVListBox()
 {
-    delete m_doubleBuffer;    
+    delete m_doubleBuffer;
     delete m_selStore;
 }
 
     delete m_selStore;
 }
 
@@ -231,7 +233,7 @@ bool wxVListBox::DoSetCurrent(int current)
             // it is, indeed, only partly visible, so scroll it into view to
             // make it entirely visible
             while ( (size_t)m_current == GetLastVisibleLine() &&
             // it is, indeed, only partly visible, so scroll it into view to
             // make it entirely visible
             while ( (size_t)m_current == GetLastVisibleLine() &&
-                    ScrollToLine(GetVisibleBegin()+1) );
+                    ScrollToLine(GetVisibleBegin()+1) ) ;
 
             // but in any case refresh it as even if it was only partly visible
             // before we need to redraw it entirely as its background changed
 
             // but in any case refresh it as even if it was only partly visible
             // before we need to redraw it entirely as its background changed
@@ -262,7 +264,10 @@ void wxVListBox::SetSelection(int selection)
 
     if ( HasMultipleSelection() )
     {
 
     if ( HasMultipleSelection() )
     {
-        Select(selection);
+        if (selection != wxNOT_FOUND)
+            Select(selection);
+        else
+            DeselectAll();
         m_anchor = selection;
     }
 
         m_anchor = selection;
     }
 
@@ -380,8 +385,8 @@ void wxVListBox::OnPaint(wxPaintEvent& WXUNUSED(event))
     rectLine.width = clientSize.x;
 
     // iterate over all visible lines
     rectLine.width = clientSize.x;
 
     // iterate over all visible lines
-    const size_t lineMax = GetLastVisibleLine();
-    for ( size_t line = GetFirstVisibleLine(); line <= lineMax; line++ )
+    const size_t lineMax = GetVisibleEnd();
+    for ( size_t line = GetFirstVisibleLine(); line < lineMax; line++ )
     {
         const wxCoord hLine = OnGetLineHeight(line);
 
     {
         const wxCoord hLine = OnGetLineHeight(line);
 
@@ -636,7 +641,7 @@ void wxVListBox::OnLeftDClick(wxMouseEvent& eventMouse)
         {
             OnLeftDown(eventMouse);
         }
         {
             OnLeftDown(eventMouse);
         }
-    
+
     }
 }
 
     }
 }
 
@@ -645,8 +650,6 @@ void wxVListBox::OnLeftDClick(wxMouseEvent& eventMouse)
 // use the same default attributes as wxListBox
 // ----------------------------------------------------------------------------
 
 // use the same default attributes as wxListBox
 // ----------------------------------------------------------------------------
 
-#include "wx/listbox.h"
-
 //static
 wxVisualAttributes
 wxVListBox::GetClassDefaultAttributes(wxWindowVariant variant)
 //static
 wxVisualAttributes
 wxVListBox::GetClassDefaultAttributes(wxWindowVariant variant)