/**
@class wxOwnerDrawnComboBox
- @wxheader{odcombo.h}
wxOwnerDrawnComboBox is a combobox with owner-drawn list items.
In essence, it is a wxComboCtrl with wxVListBox popup and wxControlWithItems
@library{wxadv}
@category{ctrl}
- <!-- @appearance{ownerdrawncombobox.png} -->
+ @appearance{ownerdrawncombobox.png}
@see wxComboCtrl, wxComboBox, wxVListBox, wxCommandEvent
*/
@see Create(), wxValidator
*/
wxOwnerDrawnComboBox(wxWindow* parent, wxWindowID id,
- const wxString& value = "",
+ const wxString& value = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
int n = 0,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = "comboBox");
+ /**
+ Constructor, creating and showing a owner-drawn combobox.
+
+ @param parent
+ Parent window. Must not be @NULL.
+ @param id
+ Window identifier. The value @c wxID_ANY indicates a default value.
+ @param value
+ Initial selection string. An empty string indicates no selection.
+ @param pos
+ Window position.
+ @param size
+ Window size.
+ If ::wxDefaultSize is specified then the window is sized appropriately.
+ @param choices
+ An array of strings with which to initialise the control.
+ @param style
+ Window style. See wxOwnerDrawnComboBox.
+ @param validator
+ Window validator.
+ @param name
+ Window name.
+
+ @see Create(), wxValidator
+ */
wxOwnerDrawnComboBox(wxWindow* parent, wxWindowID id,
const wxString& value,
const wxPoint& pos,
/**
Destructor, destroying the owner-drawn combobox.
*/
- ~wxOwnerDrawnComboBox();
+ virtual ~wxOwnerDrawnComboBox();
//@{
/**
@remarks Derived classes should call or replace this function.
*/
- bool Create(wxWindow* parent, wxWindowID id,
- const wxString& value = "",
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxString& value = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
- int n, const wxString choices[],
long style = 0,
const wxValidator& validator = wxDefaultValidator,
- const wxString& name = "comboBox");
- bool Create(wxWindow* parent, wxWindowID id,
+ const wxString& name = wxComboBoxNameStr);
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxString& value,
+ const wxPoint& pos,
+ const wxSize& size,
+ int n,
+ const wxString choices[],
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxComboBoxNameStr);
+ bool Create(wxWindow *parent,
+ wxWindowID id,
const wxString& value,
const wxPoint& pos,
const wxSize& size,
const wxArrayString& choices,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
- const wxString& name = "comboBox");
+ const wxString& name = wxComboBoxNameStr);
//@}
/**
Returns index to the widest item in the list.
*/
- int GetWidestItem() const;
+ virtual int GetWidestItem();
/**
Returns width of the widest item in the list.
*/
- int GetWidestItemWidth() const;
+ virtual int GetWidestItemWidth();
+
+protected:
/**
This method is used to draw the items background and, maybe, a border around it.
@remarks flags has the same meaning as with OnDrawItem().
*/
- void OnDrawBackground(wxDC& dc, const wxRect& rect, int item,
- int flags) const;
+ virtual void OnDrawBackground(wxDC& dc, const wxRect& rect, int item,
+ int flags) const;
/**
The derived class may implement this function to actually draw the item
@param flags
A combination of the ::wxOwnerDrawnComboBoxPaintingFlags enumeration values.
*/
- void OnDrawItem(wxDC& dc, const wxRect& rect, int item,
- int flags) const;
+ virtual void OnDrawItem(wxDC& dc, const wxRect& rect, int item,
+ int flags) const;
/**
The derived class may implement this method to return the height of the
The default implementation returns text height, as if this control was
a normal combobox.
*/
- wxCoord OnMeasureItem(size_t item) const;
+ virtual wxCoord OnMeasureItem(size_t item) const;
/**
The derived class may implement this method to return the width of the
The default implementation returns -1.
*/
- wxCoord OnMeasureItemWidth(size_t item) const;
+ virtual wxCoord OnMeasureItemWidth(size_t item) const;
};