X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/95a4630380511f5e747b1465bf4834e5fac3d515..15b8afdcb8732a17679c08a9c23ebe1c0226eaf6:/include/wx/generic/bmpcbox.h diff --git a/include/wx/generic/bmpcbox.h b/include/wx/generic/bmpcbox.h index 263cfbe02c..3ea404a5e4 100644 --- a/include/wx/generic/bmpcbox.h +++ b/include/wx/generic/bmpcbox.h @@ -4,7 +4,7 @@ // Author: Jaakko Salli // Modified by: // Created: Aug-30-2006 -// RCS-ID: $Id: +// RCS-ID: $Id$ // Copyright: (c) Jaakko Salli // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -15,13 +15,8 @@ #define wxGENERIC_BITMAPCOMBOBOX 1 -#if !wxUSE_ODCOMBOBOX - #error "Generic wxBitmapComboBox depends on wxOwnerDrawnComboBox" -#endif - #include "wx/odcombo.h" - // ---------------------------------------------------------------------------- // wxBitmapComboBox: a wxComboBox that allows images to be shown // in front of string items. @@ -91,28 +86,13 @@ public: virtual ~wxBitmapComboBox(); // Adds item with image to the end of the combo box. - int Append(const wxString& item, const wxBitmap& bitmap = wxNullBitmap) - { return DoAppendWithImage(item, bitmap); } - - int Append(const wxString& item, const wxBitmap& bitmap, void *clientData) - { int n = DoAppendWithImage(item, bitmap); SetClientData(n, clientData); return n; } - int Append(const wxString& item, const wxBitmap& bitmap, wxClientData *clientData) - { int n = DoAppendWithImage(item, bitmap); SetClientObject(n, clientData); return n; } - - // Returns size of image used in list. - virtual wxSize GetBitmapSize() const - { - return m_usedImgSize; - } - - // Returns the image of the item with the given index. - virtual wxBitmap GetItemBitmap(unsigned int n) const; + int Append(const wxString& item, const wxBitmap& bitmap = wxNullBitmap); + int Append(const wxString& item, const wxBitmap& bitmap, void *clientData); + int Append(const wxString& item, const wxBitmap& bitmap, wxClientData *clientData); - // Inserts item with image into the list before pos. Not valid for wxCB_SORT or wxCB_SORT + // Inserts item with image into the list before pos. Not valid for wxCB_SORT // styles, use Append instead. - int Insert(const wxString& item, const wxBitmap& bitmap, unsigned int pos) - { return DoInsertWithImage(item, bitmap, pos); } - + int Insert(const wxString& item, const wxBitmap& bitmap, unsigned int pos); int Insert(const wxString& item, const wxBitmap& bitmap, unsigned int pos, void *clientData); int Insert(const wxString& item, const wxBitmap& bitmap, @@ -120,9 +100,7 @@ public: // Sets the image for the given item. virtual void SetItemBitmap(unsigned int n, const wxBitmap& bitmap); - - virtual void Clear(); - virtual void Delete(unsigned int n); + virtual bool SetFont(const wxFont& font); protected: @@ -131,47 +109,29 @@ protected: virtual wxCoord OnMeasureItem(size_t item) const; virtual wxCoord OnMeasureItemWidth(size_t item) const; - virtual int DoAppendWithImage(const wxString& item, const wxBitmap& bitmap); - virtual int DoInsertWithImage(const wxString& item, const wxBitmap& bitmap, - unsigned int pos); - - virtual int DoAppend(const wxString& item); - virtual int DoInsert(const wxString& item, unsigned int pos); - - virtual bool SetFont(const wxFont& font); - - virtual wxSize DoGetBestSize() const; - // Event handlers - void OnResize(wxSizeEvent& event); - - // Recalculates amount of empty space needed in front of - // text in control itself. - void DetermineIndent(); - - bool OnAddBitmap(const wxBitmap& bitmap); + void OnSize(wxSizeEvent& event); - // Adds image to position - called in Append/Insert before - // string is added. - bool DoInsertBitmap(const wxBitmap& image, unsigned int pos); + virtual wxSize DoGetBestSize() const; + virtual wxItemContainer* GetItemContainer() { return this; } + virtual wxWindow* GetControl() { return this; } - wxArrayPtrVoid m_bitmaps; // Images associated with items - wxSize m_usedImgSize; // Size of bitmaps + // wxItemContainer implementation + virtual int DoInsertItems(const wxArrayStringsAdapter & items, + unsigned int pos, + void **clientData, wxClientDataType type); + virtual void DoClear(); + virtual void DoDeleteOneItem(unsigned int n); private: - int m_imgAreaWidth; // Width and height of area next to text field - int m_fontHeight; bool m_inResize; void Init(); - void PostCreate(); DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(wxBitmapComboBox) }; - -#endif - // _WX_GENERIC_BMPCBOX_H_ +#endif // _WX_GENERIC_BMPCBOX_H_