]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/listbox.cpp
adding style to constructors
[wxWidgets.git] / src / univ / listbox.cpp
index f0f783992aded7340d6910ae1737ecb7954881c0..33ba2ea3a3be78055803a791c131716c8b147ebf 100644 (file)
@@ -17,7 +17,7 @@
 // headers
 // ----------------------------------------------------------------------------
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma implementation "univlistbox.h"
 #endif
 
@@ -49,8 +49,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxListBox, wxControl)
 
 BEGIN_EVENT_TABLE(wxListBox, wxListBoxBase)
     EVT_SIZE(wxListBox::OnSize)
-
-    EVT_IDLE(wxListBox::OnIdle)
 END_EVENT_TABLE()
 
 // ----------------------------------------------------------------------------
@@ -108,7 +106,7 @@ bool wxListBox::Create(wxWindow *parent,
 #endif
 
     if ( !wxControl::Create(parent, id, pos, size, style, 
-                            wxDefaultValidator, name) )
+                            validator, name) )
         return FALSE;
 
     SetWindow(this);
@@ -127,6 +125,8 @@ bool wxListBox::Create(wxWindow *parent,
 
 wxListBox::~wxListBox()
 {
+    // call this just to free the client data -- and avoid leaking memory
+    DoClear();
 }
 
 // ----------------------------------------------------------------------------
@@ -272,7 +272,8 @@ void wxListBox::Clear()
 
 void wxListBox::Delete(int n)
 {
-    wxCHECK_RET( n < GetCount(), _T("invalid index in wxListBox::Delete") );
+    wxCHECK_RET( n >= 0 && n < GetCount(),
+                 _T("invalid index in wxListBox::Delete") );
 
     // do it before removing the index as otherwise the last item will not be
     // refreshed (as GetCount() will be decremented)
@@ -598,7 +599,7 @@ void wxListBox::UpdateItems()
     }
 }
 
-void wxListBox::OnIdle(wxIdleEvent& event)
+void wxListBox::OnInternalIdle()
 {
     if ( m_updateScrollbarY || m_updateScrollbarX )
     {
@@ -621,8 +622,7 @@ void wxListBox::OnIdle(wxIdleEvent& event)
 
         m_updateCount = 0;
     }
-
-    event.Skip();
+    wxListBoxBase::OnInternalIdle();
 }
 
 // ----------------------------------------------------------------------------
@@ -770,7 +770,7 @@ void wxListBox::DoSetSize(int x, int y,
         height = ((height - hBorders + hLine - 1) / hLine)*hLine + hBorders;
     }
 
-    wxListBoxBase::DoSetSize(x, y, width, height);
+    wxListBoxBase::DoSetSize(x, y, width, height, sizeFlags);
 }
 
 wxSize wxListBox::DoGetBestClientSize() const