]> git.saurik.com Git - wxWidgets.git/blame - include/wx/generic/dvrenderers.h
Added support for wxTEXT_ATTR_EFFECT_SMALL_CAPITALS.
[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
dc73d7f5
VS
29 virtual bool WXActivateCell(const wxRect& cell,
30 wxDataViewModel *model,
31 const wxDataViewItem& item,
32 unsigned int col,
33 const wxMouseEvent *mouseEvent)
dbc3aec1 34 {
dc73d7f5 35 return ActivateCell(cell, model, item, col, mouseEvent);
dbc3aec1 36 }
6eec70b9
VZ
37
38private:
39 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewCustomRenderer)
40};
41
42
43// ---------------------------------------------------------
44// wxDataViewTextRenderer
45// ---------------------------------------------------------
46
47class WXDLLIMPEXP_ADV wxDataViewTextRenderer: public wxDataViewRenderer
48{
49public:
50 wxDataViewTextRenderer( const wxString &varianttype = wxT("string"),
51 wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
52 int align = wxDVR_DEFAULT_ALIGNMENT );
53
54 bool SetValue( const wxVariant &value );
55 bool GetValue( wxVariant &value ) const;
56
62265c2c
VZ
57 virtual bool Render(wxRect cell, wxDC *dc, int state);
58 virtual wxSize GetSize() const;
6eec70b9
VZ
59
60 // in-place editing
61 virtual bool HasEditorCtrl() const;
64c70359
VS
62 virtual wxWindow* CreateEditorCtrl( wxWindow *parent, wxRect labelRect,
63 const wxVariant &value );
64 virtual bool GetValueFromEditorCtrl( wxWindow* editor, wxVariant &value );
6eec70b9
VZ
65
66protected:
67 wxString m_text;
68
69protected:
70 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewTextRenderer)
71};
72
73// ---------------------------------------------------------
74// wxDataViewBitmapRenderer
75// ---------------------------------------------------------
76
77class WXDLLIMPEXP_ADV wxDataViewBitmapRenderer: public wxDataViewRenderer
78{
79public:
80 wxDataViewBitmapRenderer( const wxString &varianttype = wxT("wxBitmap"),
81 wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
82 int align = wxDVR_DEFAULT_ALIGNMENT );
83
84 bool SetValue( const wxVariant &value );
85 bool GetValue( wxVariant &value ) const;
86
87 bool Render( wxRect cell, wxDC *dc, int state );
88 wxSize GetSize() const;
89
90private:
91 wxIcon m_icon;
92 wxBitmap m_bitmap;
93
94protected:
95 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewBitmapRenderer)
96};
97
98// ---------------------------------------------------------
99// wxDataViewToggleRenderer
100// ---------------------------------------------------------
101
102class WXDLLIMPEXP_ADV wxDataViewToggleRenderer: public wxDataViewRenderer
103{
104public:
105 wxDataViewToggleRenderer( const wxString &varianttype = wxT("bool"),
106 wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
107 int align = wxDVR_DEFAULT_ALIGNMENT );
108
109 bool SetValue( const wxVariant &value );
110 bool GetValue( wxVariant &value ) const;
111
112 bool Render( wxRect cell, wxDC *dc, int state );
6eec70b9
VZ
113 wxSize GetSize() const;
114
62186006 115 // Implementation only, don't use nor override
dc73d7f5
VS
116 virtual bool WXActivateCell(const wxRect& cell,
117 wxDataViewModel *model,
118 const wxDataViewItem& item,
119 unsigned int col,
120 const wxMouseEvent *mouseEvent);
6eec70b9
VZ
121private:
122 bool m_toggle;
123
124protected:
125 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewToggleRenderer)
126};
127
128// ---------------------------------------------------------
129// wxDataViewProgressRenderer
130// ---------------------------------------------------------
131
132class WXDLLIMPEXP_ADV wxDataViewProgressRenderer: public wxDataViewRenderer
133{
134public:
135 wxDataViewProgressRenderer( const wxString &label = wxEmptyString,
136 const wxString &varianttype = wxT("long"),
137 wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
138 int align = wxDVR_DEFAULT_ALIGNMENT );
139
140 bool SetValue( const wxVariant &value );
141 bool GetValue( wxVariant& value ) const;
142
62265c2c 143 virtual bool Render(wxRect cell, wxDC *dc, int state);
6eec70b9
VZ
144 virtual wxSize GetSize() const;
145
146private:
147 wxString m_label;
148 int m_value;
149
150protected:
151 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewProgressRenderer)
152};
153
154// ---------------------------------------------------------
155// wxDataViewIconTextRenderer
156// ---------------------------------------------------------
157
158class WXDLLIMPEXP_ADV wxDataViewIconTextRenderer: public wxDataViewRenderer
159{
160public:
161 wxDataViewIconTextRenderer( const wxString &varianttype = wxT("wxDataViewIconText"),
162 wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
163 int align = wxDVR_DEFAULT_ALIGNMENT );
164
165 bool SetValue( const wxVariant &value );
166 bool GetValue( wxVariant &value ) const;
167
62265c2c 168 virtual bool Render(wxRect cell, wxDC *dc, int state);
6eec70b9
VZ
169 virtual wxSize GetSize() const;
170
171 virtual bool HasEditorCtrl() const { return true; }
64c70359
VS
172 virtual wxWindow* CreateEditorCtrl( wxWindow *parent, wxRect labelRect,
173 const wxVariant &value );
174 virtual bool GetValueFromEditorCtrl( wxWindow* editor, wxVariant &value );
6eec70b9
VZ
175
176private:
177 wxDataViewIconText m_value;
178
179protected:
180 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewIconTextRenderer)
181};
182
6eec70b9
VZ
183#endif // _WX_GENERIC_DVRENDERERS_H_
184