break;
case cursorHand:
cursorId = wxCURSOR_HAND;
+ break;
default:
cursorId = wxCURSOR_ARROW;
break;
// Helper classes for ListBox
-// This is a simple subclass of wxLIstView that just resets focus to the
+// This is a simple subclass of wxListView that just resets focus to the
// parent when it gets it.
class wxSTCListBox : public wxListView {
public:
event.Skip();
}
+ void OnKillFocus(wxFocusEvent& event) {
+ // Do nothing. Prevents base class from resetting the colors...
+ }
+
private:
DECLARE_EVENT_TABLE()
};
BEGIN_EVENT_TABLE(wxSTCListBox, wxListView)
EVT_SET_FOCUS( wxSTCListBox::OnFocus)
+ EVT_KILL_FOCUS(wxSTCListBox::OnKillFocus)
END_EVENT_TABLE()
lv->SetCursor(wxCursor(wxCURSOR_ARROW));
lv->InsertColumn(0, wxEmptyString);
lv->InsertColumn(1, wxEmptyString);
+
+ // Eventhough we immediately reset the focus to the parent, this helps
+ // things to look right...
+ lv->SetFocus();
+
Hide();
}
+
+ // On OSX and (possibly others) there can still be pending
+ // messages/events for the list control when Scintilla wants to
+ // close it, so do a pending delete of it instead of destroying
+ // immediately.
+ bool Destroy() {
+ if ( !wxPendingDelete.Member(this) )
+ wxPendingDelete.Append(this);
+ return TRUE;
+ }
+
+
int IconWidth() {
wxImageList* il = lv->GetImageList(wxIMAGE_LIST_SMALL);
if (il != NULL) {
// wxListCtrl doesn't have a DoGetBestSize, so instead we kept track of
// the max size in Append and calculate it here...
int maxw = maxStrWidth;
- int maxh = 0;
+ int maxh ;
// give it a default if there are no lines, and/or add a bit more
if (maxw == 0) maxw = 100;