X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5276b0a53cef4815230e39b54d2ecda14f72cbd1..4fe83b93a517ca229ff6503eacf81c1177d088e0:/src/osx/listbox_osx.cpp diff --git a/src/osx/listbox_osx.cpp b/src/osx/listbox_osx.cpp index 2e33ac3de6..624eb806ff 100644 --- a/src/osx/listbox_osx.cpp +++ b/src/osx/listbox_osx.cpp @@ -4,7 +4,7 @@ // Author: Stefan Csomor // Modified by: // Created: 1998-01-01 -// RCS-ID: $Id: listbox.cpp 54820 2008-07-29 20:04:11Z SC $ +// RCS-ID: $Id$ // Copyright: (c) Stefan Csomor // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -24,8 +24,6 @@ #include "wx/dcclient.h" #endif -IMPLEMENT_DYNAMIC_CLASS(wxListBox, wxControlWithItems) - BEGIN_EVENT_TABLE(wxListBox, wxControl) END_EVENT_TABLE() @@ -207,6 +205,11 @@ int wxListBox::GetSelection() const return GetListPeer()->ListGetSelection(); } +int wxListBox::DoListHitTest(const wxPoint& inpoint) const +{ + return GetListPeer()->DoListHitTest( inpoint ); +} + // ---------------------------------------------------------------------------- // display // ---------------------------------------------------------------------------- @@ -352,6 +355,14 @@ int wxListBox::DoInsertItems(const wxArrayStringsAdapter& items, GetListPeer()->UpdateLineToEnd(startpos); + // Inserting the items may scroll the listbox down to show the last + // selected one but we don't want to do it as it could result in e.g. the + // first items of a listbox be hidden immediately after its creation so + // show the first selected item instead. Ideal would probably be to + // preserve the old selection unchanged, in fact, but I don't know how to + // get the first visible item so for now do at least this. + SetFirstItem(startpos); + UpdateOldSelections(); return idx;