]> git.saurik.com Git - wxWidgets.git/blame - include/wx/generic/dvrenderers.h
Rebake trunk after wxWebView merge and add missing project files for the wxWebView...
[wxWidgets.git] / include / wx / generic / dvrenderers.h
CommitLineData
6eec70b9
VZ
1///////////////////////////////////////////////////////////////////////////////
2// Name: wx/generic/dvrenderers.h
3// Purpose: All generic wxDataViewCtrl renderer classes
4// Author: Robert Roebling, Vadim Zeitlin
5// Created: 2009-11-07 (extracted from wx/generic/dataview.h)
b1153ed6 6// RCS-ID: $Id$
6eec70b9
VZ
7// Copyright: (c) 2006 Robert Roebling
8// (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
9// Licence: wxWindows licence
10///////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_GENERIC_DVRENDERERS_H_
13#define _WX_GENERIC_DVRENDERERS_H_
14
15// ---------------------------------------------------------
16// wxDataViewCustomRenderer
17// ---------------------------------------------------------
18
19class WXDLLIMPEXP_ADV wxDataViewCustomRenderer: public wxDataViewRenderer
20{
21public:
22 wxDataViewCustomRenderer( const wxString &varianttype = wxT("string"),
23 wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
24 int align = wxDVR_DEFAULT_ALIGNMENT );
25
dbc3aec1
VS
26
27 // see the explanation of the following WXOnXXX() methods in wx/generic/dvrenderer.h
28
548fa9c1 29 virtual bool WXOnActivate(const wxRect& cell,
dbc3aec1
VS
30 wxDataViewModel *model,
31 const wxDataViewItem& item,
32 unsigned int col)
33 {
34 return Activate(cell, model, item, col);
35 }
36
548fa9c1
VS
37 virtual bool WXOnLeftClick(const wxPoint& cursor,
38 const wxRect& cell,
dbc3aec1
VS
39 wxDataViewModel *model,
40 const wxDataViewItem &item,
41 unsigned int col)
42 {
43 return LeftClick(cursor, cell, model, item, col);
44 }
6eec70b9
VZ
45
46private:
47 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewCustomRenderer)
48};
49
50
51// ---------------------------------------------------------
52// wxDataViewTextRenderer
53// ---------------------------------------------------------
54
55class WXDLLIMPEXP_ADV wxDataViewTextRenderer: public wxDataViewRenderer
56{
57public:
58 wxDataViewTextRenderer( const wxString &varianttype = wxT("string"),
59 wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
60 int align = wxDVR_DEFAULT_ALIGNMENT );
61
62 bool SetValue( const wxVariant &value );
63 bool GetValue( wxVariant &value ) const;
64
62265c2c
VZ
65 virtual bool Render(wxRect cell, wxDC *dc, int state);
66 virtual wxSize GetSize() const;
6eec70b9
VZ
67
68 // in-place editing
69 virtual bool HasEditorCtrl() const;
64c70359
VS
70 virtual wxWindow* CreateEditorCtrl( wxWindow *parent, wxRect labelRect,
71 const wxVariant &value );
72 virtual bool GetValueFromEditorCtrl( wxWindow* editor, wxVariant &value );
6eec70b9
VZ
73
74protected:
75 wxString m_text;
76
77protected:
78 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewTextRenderer)
79};
80
81// ---------------------------------------------------------
82// wxDataViewBitmapRenderer
83// ---------------------------------------------------------
84
85class WXDLLIMPEXP_ADV wxDataViewBitmapRenderer: public wxDataViewRenderer
86{
87public:
88 wxDataViewBitmapRenderer( const wxString &varianttype = wxT("wxBitmap"),
89 wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
90 int align = wxDVR_DEFAULT_ALIGNMENT );
91
92 bool SetValue( const wxVariant &value );
93 bool GetValue( wxVariant &value ) const;
94
95 bool Render( wxRect cell, wxDC *dc, int state );
96 wxSize GetSize() const;
97
98private:
99 wxIcon m_icon;
100 wxBitmap m_bitmap;
101
102protected:
103 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewBitmapRenderer)
104};
105
106// ---------------------------------------------------------
107// wxDataViewToggleRenderer
108// ---------------------------------------------------------
109
110class WXDLLIMPEXP_ADV wxDataViewToggleRenderer: public wxDataViewRenderer
111{
112public:
113 wxDataViewToggleRenderer( const wxString &varianttype = wxT("bool"),
114 wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
115 int align = wxDVR_DEFAULT_ALIGNMENT );
116
117 bool SetValue( const wxVariant &value );
118 bool GetValue( wxVariant &value ) const;
119
120 bool Render( wxRect cell, wxDC *dc, int state );
6eec70b9
VZ
121 wxSize GetSize() const;
122
62186006 123 // Implementation only, don't use nor override
548fa9c1
VS
124 virtual bool WXOnLeftClick(const wxPoint& cursor,
125 const wxRect& cell,
d2425a43
VS
126 wxDataViewModel *model,
127 const wxDataViewItem& item,
128 unsigned int col);
297e2532
VS
129
130 virtual bool WXOnActivate(const wxRect& cell,
131 wxDataViewModel *model,
132 const wxDataViewItem& item,
133 unsigned int col);
6eec70b9
VZ
134private:
135 bool m_toggle;
136
137protected:
138 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewToggleRenderer)
139};
140
141// ---------------------------------------------------------
142// wxDataViewProgressRenderer
143// ---------------------------------------------------------
144
145class WXDLLIMPEXP_ADV wxDataViewProgressRenderer: public wxDataViewRenderer
146{
147public:
148 wxDataViewProgressRenderer( const wxString &label = wxEmptyString,
149 const wxString &varianttype = wxT("long"),
150 wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
151 int align = wxDVR_DEFAULT_ALIGNMENT );
152
153 bool SetValue( const wxVariant &value );
154 bool GetValue( wxVariant& value ) const;
155
62265c2c 156 virtual bool Render(wxRect cell, wxDC *dc, int state);
6eec70b9
VZ
157 virtual wxSize GetSize() const;
158
159private:
160 wxString m_label;
161 int m_value;
162
163protected:
164 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewProgressRenderer)
165};
166
167// ---------------------------------------------------------
168// wxDataViewIconTextRenderer
169// ---------------------------------------------------------
170
171class WXDLLIMPEXP_ADV wxDataViewIconTextRenderer: public wxDataViewRenderer
172{
173public:
174 wxDataViewIconTextRenderer( const wxString &varianttype = wxT("wxDataViewIconText"),
175 wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
176 int align = wxDVR_DEFAULT_ALIGNMENT );
177
178 bool SetValue( const wxVariant &value );
179 bool GetValue( wxVariant &value ) const;
180
62265c2c 181 virtual bool Render(wxRect cell, wxDC *dc, int state);
6eec70b9
VZ
182 virtual wxSize GetSize() const;
183
184 virtual bool HasEditorCtrl() const { return true; }
64c70359
VS
185 virtual wxWindow* CreateEditorCtrl( wxWindow *parent, wxRect labelRect,
186 const wxVariant &value );
187 virtual bool GetValueFromEditorCtrl( wxWindow* editor, wxVariant &value );
6eec70b9
VZ
188
189private:
190 wxDataViewIconText m_value;
191
192protected:
193 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewIconTextRenderer)
194};
195
196// ---------------------------------------------------------
197// wxDataViewDateRenderer
198// ---------------------------------------------------------
199
200class WXDLLIMPEXP_ADV wxDataViewDateRenderer: public wxDataViewRenderer
201{
202public:
203 wxDataViewDateRenderer( const wxString &varianttype = wxT("datetime"),
204 wxDataViewCellMode mode = wxDATAVIEW_CELL_ACTIVATABLE,
205 int align = wxDVR_DEFAULT_ALIGNMENT );
206
207 bool SetValue( const wxVariant &value );
208 bool GetValue( wxVariant& value ) const;
209
210 virtual bool Render( wxRect cell, wxDC *dc, int state );
211 virtual wxSize GetSize() const;
62186006
VZ
212
213 // Implementation only, don't use nor override
548fa9c1 214 virtual bool WXOnActivate(const wxRect& cell,
dbc3aec1 215 wxDataViewModel *model,
62186006
VZ
216 const wxDataViewItem& item,
217 unsigned int col);
6eec70b9
VZ
218
219private:
220 wxDateTime m_date;
221
222protected:
223 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewDateRenderer)
224};
225
226
227#endif // _WX_GENERIC_DVRENDERERS_H_
228