#include </home/zeitlin/src/wx/github/interface/wx/odcombo.h>
wxOwnerDrawnComboBox is a combobox with owner-drawn list items.
In essence, it is a wxComboCtrl with wxVListBox popup and wxControlWithItems interface.
Implementing item drawing and measuring is similar to wxVListBox. Application needs to subclass wxOwnerDrawnComboBox and implement OnDrawItem(), OnMeasureItem() and OnMeasureItemWidth().
This class supports the following styles:
The following event handler macros redirect the events to member function handlers 'func' with prototypes like:
Event macros for events emitted by this class:
wxMSW appearance | wxGTK appearance | wxMac appearance |
Public Member Functions | |
wxOwnerDrawnComboBox () | |
Default constructor. | |
wxOwnerDrawnComboBox (wxWindow *parent, wxWindowID id, const wxString &value=wxEmptyString, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, int n=0, const wxString choices[]=NULL, long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name="comboBox") | |
Constructor, creating and showing a owner-drawn combobox. | |
wxOwnerDrawnComboBox (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") | |
Constructor, creating and showing a owner-drawn combobox. | |
virtual | ~wxOwnerDrawnComboBox () |
Destructor, destroying the owner-drawn combobox. | |
virtual int | GetWidestItem () |
Returns index to the widest item in the list. | |
virtual int | GetWidestItemWidth () |
Returns width of the widest item in the list. | |
bool | Create (wxWindow *parent, wxWindowID id, const wxString &value=wxEmptyString, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxComboBoxNameStr) |
Creates the combobox for two-step construction. | |
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) |
Creates the combobox for two-step construction. | |
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=wxComboBoxNameStr) |
Creates the combobox for two-step construction. | |
Protected Member Functions | |
virtual void | OnDrawBackground (wxDC &dc, const wxRect &rect, int item, int flags) const |
This method is used to draw the items background and, maybe, a border around it. | |
virtual void | OnDrawItem (wxDC &dc, const wxRect &rect, int item, int flags) const |
The derived class may implement this function to actually draw the item with the given index on the provided DC. | |
virtual wxCoord | OnMeasureItem (size_t item) const |
The derived class may implement this method to return the height of the specified item (in pixels). | |
virtual wxCoord | OnMeasureItemWidth (size_t item) const |
The derived class may implement this method to return the width of the specified item (in pixels). |
wxOwnerDrawnComboBox::wxOwnerDrawnComboBox | ( | ) |
Default constructor.
wxOwnerDrawnComboBox::wxOwnerDrawnComboBox | ( | wxWindow * | parent, |
wxWindowID | id, | ||
const wxString & | value = wxEmptyString , |
||
const wxPoint & | pos = wxDefaultPosition , |
||
const wxSize & | size = wxDefaultSize , |
||
int | n = 0 , |
||
const wxString | choices[] = NULL , |
||
long | style = 0 , |
||
const wxValidator & | validator = wxDefaultValidator , |
||
const wxString & | name = "comboBox" |
||
) |
Constructor, creating and showing a owner-drawn combobox.
parent | Parent window. Must not be NULL. |
id | Window identifier. The value wxID_ANY indicates a default value. |
value | Initial selection string. An empty string indicates no selection. |
pos | Window position. |
size | Window size. If wxDefaultSize is specified then the window is sized appropriately. |
n | Number of strings with which to initialise the control. |
choices | An array of strings with which to initialise the control. |
style | Window style. See wxOwnerDrawnComboBox. |
validator | Window validator. |
name | Window name. |
wxOwnerDrawnComboBox::wxOwnerDrawnComboBox | ( | 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" |
||
) |
Constructor, creating and showing a owner-drawn combobox.
parent | Parent window. Must not be NULL. |
id | Window identifier. The value wxID_ANY indicates a default value. |
value | Initial selection string. An empty string indicates no selection. |
pos | Window position. |
size | Window size. If wxDefaultSize is specified then the window is sized appropriately. |
choices | An array of strings with which to initialise the control. |
style | Window style. See wxOwnerDrawnComboBox. |
validator | Window validator. |
name | Window name. |
virtual wxOwnerDrawnComboBox::~wxOwnerDrawnComboBox | ( | ) | [virtual] |
Destructor, destroying the owner-drawn combobox.
bool wxOwnerDrawnComboBox::Create | ( | wxWindow * | parent, |
wxWindowID | id, | ||
const wxString & | value = wxEmptyString , |
||
const wxPoint & | pos = wxDefaultPosition , |
||
const wxSize & | size = wxDefaultSize , |
||
long | style = 0 , |
||
const wxValidator & | validator = wxDefaultValidator , |
||
const wxString & | name = wxComboBoxNameStr |
||
) |
Creates the combobox for two-step construction.
See wxOwnerDrawnComboBox() for further details.
Reimplemented from wxComboCtrl.
bool wxOwnerDrawnComboBox::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 |
||
) |
Creates the combobox for two-step construction.
See wxOwnerDrawnComboBox() for further details.
bool wxOwnerDrawnComboBox::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 = wxComboBoxNameStr |
||
) |
Creates the combobox for two-step construction.
See wxOwnerDrawnComboBox() for further details.
virtual int wxOwnerDrawnComboBox::GetWidestItem | ( | ) | [virtual] |
Returns index to the widest item in the list.
virtual int wxOwnerDrawnComboBox::GetWidestItemWidth | ( | ) | [virtual] |
Returns width of the widest item in the list.
virtual void wxOwnerDrawnComboBox::OnDrawBackground | ( | wxDC & | dc, |
const wxRect & | rect, | ||
int | item, | ||
int | flags | ||
) | const [protected, virtual] |
This method is used to draw the items background and, maybe, a border around it.
The base class version implements a reasonable default behaviour which consists in drawing the selected item with the standard background colour and drawing a border around the item if it is either selected or current.
virtual void wxOwnerDrawnComboBox::OnDrawItem | ( | wxDC & | dc, |
const wxRect & | rect, | ||
int | item, | ||
int | flags | ||
) | const [protected, virtual] |
The derived class may implement this function to actually draw the item with the given index on the provided DC.
If function is not implemented, the item text is simply drawn, as if the control was a normal combobox.
dc | The device context to use for drawing |
rect | The bounding rectangle for the item being drawn (DC clipping region is set to this rectangle before calling this function) |
item | The index of the item to be drawn |
flags | A combination of the wxOwnerDrawnComboBoxPaintingFlags enumeration values. |
virtual wxCoord wxOwnerDrawnComboBox::OnMeasureItem | ( | size_t | item | ) | const [protected, virtual] |
The derived class may implement this method to return the height of the specified item (in pixels).
The default implementation returns text height, as if this control was a normal combobox.
virtual wxCoord wxOwnerDrawnComboBox::OnMeasureItemWidth | ( | size_t | item | ) | const [protected, virtual] |
The derived class may implement this method to return the width of the specified item (in pixels).
If -1 is returned, then the item text width is used.
The default implementation returns -1.