1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: wx/osx/dvrenderers.h
3 // Purpose: All OS X wxDataViewCtrl renderer classes
4 // Author: Vadim Zeitlin
5 // Created: 2009-11-07 (extracted from wx/osx/dataview.h)
6 // RCS-ID: $Id: wxhead.h,v 1.11 2009-06-29 10:23:04 zeitlin Exp $
7 // Copyright: (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
8 // Licence: wxWindows licence
9 ///////////////////////////////////////////////////////////////////////////////
11 #ifndef _WX_OSX_DVRENDERERS_H_
12 #define _WX_OSX_DVRENDERERS_H_
14 // ---------------------------------------------------------
15 // wxDataViewCustomRenderer
16 // ---------------------------------------------------------
18 class WXDLLIMPEXP_ADV wxDataViewCustomRenderer
: public wxDataViewCustomRendererBase
21 wxDataViewCustomRenderer(const wxString
& varianttype
= "string",
22 wxDataViewCellMode mode
= wxDATAVIEW_CELL_INERT
,
23 int align
= wxDVR_DEFAULT_ALIGNMENT
);
25 virtual ~wxDataViewCustomRenderer();
28 // implementation only
29 // -------------------
31 virtual bool MacRender();
33 virtual void OSXApplyAttr(const wxDataViewItemAttr
& attr
);
35 virtual wxDC
* GetDC(); // creates a device context and keeps it
36 void SetDC(wxDC
* newDCPtr
); // this method takes ownership of the pointer
39 wxControl
* m_editorCtrlPtr
; // pointer to an in-place editor control
43 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewCustomRenderer
)
46 // ---------------------------------------------------------
47 // wxDataViewTextRenderer
48 // ---------------------------------------------------------
50 class WXDLLIMPEXP_ADV wxDataViewTextRenderer
: public wxDataViewRenderer
53 wxDataViewTextRenderer(const wxString
& varianttype
= "string",
54 wxDataViewCellMode mode
= wxDATAVIEW_CELL_INERT
,
55 int align
= wxDVR_DEFAULT_ALIGNMENT
);
57 virtual bool MacRender();
59 virtual void OSXOnCellChanged(NSObject
*value
,
60 const wxDataViewItem
& item
,
64 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewTextRenderer
)
67 // ---------------------------------------------------------
68 // wxDataViewBitmapRenderer
69 // ---------------------------------------------------------
71 class WXDLLIMPEXP_ADV wxDataViewBitmapRenderer
: public wxDataViewRenderer
74 wxDataViewBitmapRenderer(const wxString
& varianttype
= "wxBitmap",
75 wxDataViewCellMode mode
= wxDATAVIEW_CELL_INERT
,
76 int align
= wxDVR_DEFAULT_ALIGNMENT
);
78 virtual bool MacRender();
81 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewBitmapRenderer
)
84 // -------------------------------------
85 // wxDataViewChoiceRenderer
86 // -------------------------------------
88 class WXDLLIMPEXP_ADV wxDataViewChoiceRenderer
: public wxDataViewRenderer
91 wxDataViewChoiceRenderer(const wxArrayString
& choices
,
92 wxDataViewCellMode mode
= wxDATAVIEW_CELL_EDITABLE
,
93 int alignment
= wxDVR_DEFAULT_ALIGNMENT
);
95 virtual bool MacRender();
97 wxString
GetChoice(size_t index
) const { return m_choices
[index
]; }
98 const wxArrayString
& GetChoices() const { return m_choices
; }
101 wxArrayString m_choices
;
103 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewChoiceRenderer
)
106 // ---------------------------------------------------------
107 // wxDataViewIconTextRenderer
108 // ---------------------------------------------------------
109 class WXDLLIMPEXP_ADV wxDataViewIconTextRenderer
: public wxDataViewRenderer
112 wxDataViewIconTextRenderer(const wxString
& varianttype
= "wxDataViewIconText",
113 wxDataViewCellMode mode
= wxDATAVIEW_CELL_INERT
,
114 int align
= wxDVR_DEFAULT_ALIGNMENT
);
116 virtual bool MacRender();
118 virtual void OSXOnCellChanged(NSObject
*value
,
119 const wxDataViewItem
& item
,
123 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewIconTextRenderer
)
126 // ---------------------------------------------------------
127 // wxDataViewToggleRenderer
128 // ---------------------------------------------------------
130 class WXDLLIMPEXP_ADV wxDataViewToggleRenderer
: public wxDataViewRenderer
133 wxDataViewToggleRenderer(const wxString
& varianttype
= "bool",
134 wxDataViewCellMode mode
= wxDATAVIEW_CELL_INERT
,
135 int align
= wxDVR_DEFAULT_ALIGNMENT
);
137 virtual bool MacRender();
139 virtual void OSXOnCellChanged(NSObject
*value
,
140 const wxDataViewItem
& item
,
144 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewToggleRenderer
)
147 // ---------------------------------------------------------
148 // wxDataViewProgressRenderer
149 // ---------------------------------------------------------
151 class WXDLLIMPEXP_ADV wxDataViewProgressRenderer
: public wxDataViewRenderer
154 wxDataViewProgressRenderer(const wxString
& label
= wxEmptyString
,
155 const wxString
& varianttype
= "long",
156 wxDataViewCellMode mode
= wxDATAVIEW_CELL_INERT
,
157 int align
= wxDVR_DEFAULT_ALIGNMENT
);
159 virtual bool MacRender();
161 virtual void OSXOnCellChanged(NSObject
*value
,
162 const wxDataViewItem
& item
,
166 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewProgressRenderer
)
169 // ---------------------------------------------------------
170 // wxDataViewDateRenderer
171 // ---------------------------------------------------------
173 class WXDLLIMPEXP_ADV wxDataViewDateRenderer
: public wxDataViewRenderer
176 wxDataViewDateRenderer(const wxString
& varianttype
= "datetime",
177 wxDataViewCellMode mode
= wxDATAVIEW_CELL_ACTIVATABLE
,
178 int align
= wxDVR_DEFAULT_ALIGNMENT
);
180 virtual bool MacRender();
182 virtual void OSXOnCellChanged(NSObject
*value
,
183 const wxDataViewItem
& item
,
187 DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewDateRenderer
)
190 #endif // _WX_OSX_DVRENDERERS_H_