X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7e59b88579c7a1e8b4da0827be75dc5d2a84ec73..d3fa4bc22e84e3ca4d88cc1772f2d414140a1017:/interface/wx/odcombo.h diff --git a/interface/wx/odcombo.h b/interface/wx/odcombo.h index a52627f528..0e639178c5 100644 --- a/interface/wx/odcombo.h +++ b/interface/wx/odcombo.h @@ -3,7 +3,7 @@ // Purpose: interface of wxOwnerDrawnComboBox // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -22,6 +22,27 @@ enum wxOwnerDrawnComboBoxPaintingFlags wxODCB_PAINTING_SELECTED = 0x0002 }; + +/** + New window styles for wxOwnerDrawnComboBox +*/ +enum +{ + /** + Double-clicking cycles item if wxCB_READONLY is also used. + */ + wxODCB_DCLICK_CYCLES = wxCC_SPECIAL_DCLICK, + + /** + If used, control itself is not custom paint using callback. + Even if this is not used, writable combo is never custom paint + until SetCustomPaintWidth is called + */ + wxODCB_STD_CONTROL_PAINT = 0x1000 +}; + + + /** @class wxOwnerDrawnComboBox @@ -45,9 +66,9 @@ enum wxOwnerDrawnComboBoxPaintingFlags @see wxComboCtrl window styles and @ref overview_windowstyles. - @beginEventTable{wxCommandEvent} + @beginEventEmissionTable{wxCommandEvent} @event{EVT_COMBOBOX(id, func)} - Process a wxEVT_COMMAND_COMBOBOX_SELECTED event, when an item on + Process a wxEVT_COMBOBOX event, when an item on the list is selected. Note that calling GetValue() returns the new value of selection. @endEventTable @@ -56,11 +77,11 @@ enum wxOwnerDrawnComboBoxPaintingFlags @library{wxadv} @category{ctrl} - @appearance{ownerdrawncombobox.png} + @appearance{ownerdrawncombobox} @see wxComboCtrl, wxComboBox, wxVListBox, wxCommandEvent */ -class wxOwnerDrawnComboBox : public wxComboCtrl +class wxOwnerDrawnComboBox : public wxComboCtrl, public wxItemContainer { public: /** @@ -68,7 +89,6 @@ public: */ wxOwnerDrawnComboBox(); - //@{ /** Constructor, creating and showing a owner-drawn combobox. @@ -97,11 +117,11 @@ public: @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, - const wxString[] choices = NULL, + const wxString choices[] = NULL, long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = "comboBox"); @@ -138,7 +158,6 @@ public: long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = "comboBox"); - //@} /** Destructor, destroying the owner-drawn combobox. @@ -152,22 +171,33 @@ public: @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); //@} /** @@ -180,6 +210,8 @@ public: */ virtual int GetWidestItemWidth(); +protected: + /** This method is used to draw the items background and, maybe, a border around it. @@ -189,8 +221,8 @@ public: @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 @@ -209,8 +241,8 @@ public: @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 @@ -219,7 +251,7 @@ public: 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 @@ -228,6 +260,6 @@ public: The default implementation returns -1. */ - wxCoord OnMeasureItemWidth(size_t item) const; + virtual wxCoord OnMeasureItemWidth(size_t item) const; };