// Author: Jaakko Salli
// Modified by:
// Created: Apr-30-2006
-// RCS-ID: $Id$
// Copyright: (c) Jaakko Salli
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
virtual void OnComboCharEvent( wxKeyEvent& event );
virtual void OnComboDoubleClick();
virtual bool LazyCreate();
+ virtual bool FindItem(const wxString& item, wxString* trueItem);
// Item management
void SetSelection( int item );
// filter mouse move events happening outside the list box
// move selection with cursor
void OnMouseMove(wxMouseEvent& event);
- void OnMouseWheel(wxMouseEvent& event);
void OnKey(wxKeyEvent& event);
void OnChar(wxKeyEvent& event);
void OnLeftClick(wxMouseEvent& event);
// the wxComboCtrl.
// ----------------------------------------------------------------------------
-class WXDLLIMPEXP_ADV wxOwnerDrawnComboBox : public wxComboCtrl,
- public wxItemContainer
+class WXDLLIMPEXP_ADV wxOwnerDrawnComboBox :
+ public wxWindowWithItems<wxComboCtrl, wxItemContainer>
{
//friend class wxComboPopupWindow;
friend class wxVListBoxComboPopup;
public:
// ctors and such
- wxOwnerDrawnComboBox() : wxComboCtrl() { Init(); }
+ wxOwnerDrawnComboBox() { Init(); }
wxOwnerDrawnComboBox(wxWindow *parent,
wxWindowID id,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxComboBoxNameStr)
- : wxComboCtrl()
{
Init();
wxOwnerDrawnComboBox(wxWindow *parent,
wxWindowID id,
- const wxString& value,
- const wxPoint& pos,
- const wxSize& size,
- const wxArrayString& choices,
- long style,
+ const wxString& value = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ const wxArrayString& choices = wxArrayString(),
+ long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxComboBoxNameStr);
virtual int FindString(const wxString& s, bool bCase = false) const;
virtual void Select(int n);
virtual int GetSelection() const;
+
+ // Override these just to maintain consistency with virtual methods
+ // between classes.
+ virtual void Clear();
+ virtual void GetSelection(long *from, long *to) const;
+
virtual void SetSelection(int n) { Select(n); }
virtual bool IsSorted() const { return HasFlag(wxCB_SORT); }
- wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST
-
protected:
virtual void DoClear();
virtual void DoDeleteOneItem(unsigned int n);
// Callback for item width, or -1 for default/undetermined
virtual wxCoord OnMeasureItemWidth( size_t item ) const;
+ // override base implementation so we can return the size for the
+ // largest item
+ virtual wxSize DoGetBestSize() const;
+
// Callback for background drawing. Flags are same as with
// OnDrawItem.
virtual void OnDrawBackground( wxDC& dc, const wxRect& rect, int item, int flags ) const;