#ifndef WX_PRECOMP
#include "wx/dynarray.h"
#include "wx/arrstr.h"
+ #include "wx/log.h"
#endif
-#include "wx/log.h"
+extern WXDLLEXPORT_DATA(const char) wxListBoxNameStr[] = "listBox";
// ============================================================================
// implementation
wxFLAGS_MEMBER(wxLB_SORT)
wxEND_FLAGS( wxListBoxStyle )
-wxIMPLEMENT_DYNAMIC_CLASS_XTI(wxListBox, wxControlWithItems, "wx/listbox.h")
+wxIMPLEMENT_DYNAMIC_CLASS_XTI(wxListBox, wxControl, "wx/listbox.h")
wxBEGIN_PROPERTIES_TABLE(wxListBox)
-wxEVENT_PROPERTY( Select, wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEvent )
-wxEVENT_PROPERTY( DoubleClick, wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEvent )
+wxEVENT_PROPERTY( Select, wxEVT_LISTBOX, wxCommandEvent )
+wxEVENT_PROPERTY( DoubleClick, wxEVT_LISTBOX_DCLICK, wxCommandEvent )
wxPROPERTY( Font, wxFont, SetFont, GetFont , wxEMPTY_PARAMETER_VALUE, 0 /*flags*/, \
wxT("Helpstring"), wxT("group"))
void wxListBoxBase::UpdateOldSelections()
{
+ // When the control becomes empty, any previously remembered selections are
+ // invalid anyhow, so just forget them.
+ if ( IsEmpty() )
+ {
+ m_oldSelections.clear();
+ return;
+ }
+
// We need to remember the selection even in single-selection case on
// Windows, so that we don't send an event when the user clicks on an
// already selected item.
m_oldSelections = selections;
- return SendEvent(wxEVT_COMMAND_LISTBOX_SELECTED, item, selected);
+ return SendEvent(wxEVT_LISTBOX, item, selected);
}
// ----------------------------------------------------------------------------