X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/289532452089421ddadbd4726a8469511a19ab76..76015a6bb79156d8af1b5e8b4b8e46b4e192d18f:/src/common/lboxcmn.cpp diff --git a/src/common/lboxcmn.cpp b/src/common/lboxcmn.cpp index 7e8b2be8e4..4255232c43 100644 --- a/src/common/lboxcmn.cpp +++ b/src/common/lboxcmn.cpp @@ -31,9 +31,10 @@ #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 @@ -86,11 +87,11 @@ wxFLAGS_MEMBER(wxLB_NEEDED_SB) 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")) @@ -166,6 +167,14 @@ void wxListBoxBase::DeselectAll(int itemToLeaveSelected) 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. @@ -294,7 +303,7 @@ bool wxListBoxBase::CalcAndSendEvent() m_oldSelections = selections; - return SendEvent(wxEVT_COMMAND_LISTBOX_SELECTED, item, selected); + return SendEvent(wxEVT_LISTBOX, item, selected); } // ----------------------------------------------------------------------------