]> git.saurik.com Git - wxWidgets.git/blame - include/wx/generic/bmpcbox.h
wxRTC: fixed guidelines overwriting adjacent cell borders; corrected capitalisation...
[wxWidgets.git] / include / wx / generic / bmpcbox.h
CommitLineData
95a46303
RR
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/generic/bmpcbox.h
3// Purpose: wxBitmapComboBox
4// Author: Jaakko Salli
5// Modified by:
6// Created: Aug-30-2006
95a46303
RR
7// Copyright: (c) Jaakko Salli
8// Licence: wxWindows licence
9/////////////////////////////////////////////////////////////////////////////
10
11#ifndef _WX_GENERIC_BMPCBOX_H_
12#define _WX_GENERIC_BMPCBOX_H_
13
14
15#define wxGENERIC_BITMAPCOMBOBOX 1
16
95a46303
RR
17#include "wx/odcombo.h"
18
95a46303
RR
19// ----------------------------------------------------------------------------
20// wxBitmapComboBox: a wxComboBox that allows images to be shown
21// in front of string items.
22// ----------------------------------------------------------------------------
23
24class WXDLLIMPEXP_ADV wxBitmapComboBox : public wxOwnerDrawnComboBox,
25 public wxBitmapComboBoxBase
26{
27public:
28
29 // ctors and such
30 wxBitmapComboBox() : wxOwnerDrawnComboBox(), wxBitmapComboBoxBase()
31 {
32 Init();
33 }
34
35 wxBitmapComboBox(wxWindow *parent,
36 wxWindowID id = wxID_ANY,
37 const wxString& value = wxEmptyString,
38 const wxPoint& pos = wxDefaultPosition,
39 const wxSize& size = wxDefaultSize,
40 int n = 0,
41 const wxString choices[] = NULL,
42 long style = 0,
43 const wxValidator& validator = wxDefaultValidator,
44 const wxString& name = wxBitmapComboBoxNameStr)
45 : wxOwnerDrawnComboBox(),
46 wxBitmapComboBoxBase()
47 {
48 Init();
49
50 (void)Create(parent, id, value, pos, size, n,
51 choices, style, validator, name);
52 }
53
54 wxBitmapComboBox(wxWindow *parent,
55 wxWindowID id,
56 const wxString& value,
57 const wxPoint& pos,
58 const wxSize& size,
59 const wxArrayString& choices,
60 long style,
61 const wxValidator& validator = wxDefaultValidator,
62 const wxString& name = wxBitmapComboBoxNameStr);
63
64 bool Create(wxWindow *parent,
65 wxWindowID id,
66 const wxString& value,
67 const wxPoint& pos,
68 const wxSize& size,
69 int n,
70 const wxString choices[],
71 long style = 0,
72 const wxValidator& validator = wxDefaultValidator,
73 const wxString& name = wxBitmapComboBoxNameStr);
74
75 bool Create(wxWindow *parent,
76 wxWindowID id,
77 const wxString& value,
78 const wxPoint& pos,
79 const wxSize& size,
80 const wxArrayString& choices,
81 long style = 0,
82 const wxValidator& validator = wxDefaultValidator,
83 const wxString& name = wxBitmapComboBoxNameStr);
84
85 virtual ~wxBitmapComboBox();
86
87 // Adds item with image to the end of the combo box.
a236aa20
VZ
88 int Append(const wxString& item, const wxBitmap& bitmap = wxNullBitmap);
89 int Append(const wxString& item, const wxBitmap& bitmap, void *clientData);
90 int Append(const wxString& item, const wxBitmap& bitmap, wxClientData *clientData);
95a46303 91
a236aa20
VZ
92 // Inserts item with image into the list before pos. Not valid for wxCB_SORT
93 // styles, use Append instead.
94 int Insert(const wxString& item, const wxBitmap& bitmap, unsigned int pos);
95 int Insert(const wxString& item, const wxBitmap& bitmap,
96 unsigned int pos, void *clientData);
97 int Insert(const wxString& item, const wxBitmap& bitmap,
98 unsigned int pos, wxClientData *clientData);
95a46303 99
95a46303
RR
100 // Sets the image for the given item.
101 virtual void SetItemBitmap(unsigned int n, const wxBitmap& bitmap);
1dff2537 102 virtual bool SetFont(const wxFont& font);
95a46303 103
95a46303
RR
104protected:
105
106 virtual void OnDrawBackground(wxDC& dc, const wxRect& rect, int item, int flags) const;
107 virtual void OnDrawItem(wxDC& dc, const wxRect& rect, int item, int flags) const;
108 virtual wxCoord OnMeasureItem(size_t item) const;
109 virtual wxCoord OnMeasureItemWidth(size_t item) const;
110
95a46303 111 // Event handlers
012967ef 112 void OnSize(wxSizeEvent& event);
95a46303 113
f696015c 114 virtual wxSize DoGetBestSize() const;
95a46303 115
f696015c
VZ
116 virtual wxItemContainer* GetItemContainer() { return this; }
117 virtual wxWindow* GetControl() { return this; }
95a46303 118
f696015c
VZ
119 // wxItemContainer implementation
120 virtual int DoInsertItems(const wxArrayStringsAdapter & items,
121 unsigned int pos,
122 void **clientData, wxClientDataType type);
123 virtual void DoClear();
124 virtual void DoDeleteOneItem(unsigned int n);
95a46303
RR
125
126private:
95a46303
RR
127 bool m_inResize;
128
129 void Init();
95a46303
RR
130
131 DECLARE_EVENT_TABLE()
132
133 DECLARE_DYNAMIC_CLASS(wxBitmapComboBox)
134};
135
8d37334f 136#endif // _WX_GENERIC_BMPCBOX_H_