+ wxDataViewProgressRenderer(const wxString& label = wxEmptyString,
+ const wxString& varianttype = "long",
+ wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
+ int align = wxDVR_DEFAULT_ALIGNMENT );
+};
+
+
+
+/**
+ @class wxDataViewSpinRenderer
+ @wxheader{dataview.h}
+
+ This is a specialized renderer for rendering integer values. It
+ supports modifying the values in-place by using a wxSpinCtrl.
+ The renderer only support variants of type @e long.
+
+ @library{wxbase}
+ @category{dvc}
+*/
+class wxDataViewSpinRenderer : public wxDataViewCustomRenderer
+{
+public:
+ /**
+ Constructor. @a min and @a max indicate the minimum und
+ maximum values of for the wxSpinCtrl.
+ */
+ wxDataViewSpinRenderer(int min, int max,
+ wxDataViewCellMode mode = wxDATAVIEW_CELL_EDITABLE,
+ int align = wxDVR_DEFAULT_ALIGNMENT);
+};
+
+
+
+/**
+ @class wxDataViewToggleRenderer
+ @wxheader{dataview.h}
+
+ wxDataViewToggleRenderer
+
+ @library{wxadv}
+ @category{dvc}
+*/
+class wxDataViewToggleRenderer : public wxDataViewRenderer
+{
+public:
+ /**
+
+ */
+ wxDataViewToggleRenderer(const wxString& varianttype = "bool",
+ wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT);
+};
+
+
+
+/**
+ @class wxDataViewDateRenderer
+ @wxheader{dataview.h}
+
+ wxDataViewDateRenderer
+
+ @library{wxadv}
+ @category{dvc}
+*/
+class wxDataViewDateRenderer : public wxDataViewRenderer
+{
+public:
+ /**
+
+ */
+ wxDataViewDateRenderer(const wxString& varianttype = "datetime",
+ wxDataViewCellMode mode = wxDATAVIEW_CELL_ACTIVATABLE);
+};
+
+
+
+/**
+ @class wxDataViewTextRendererAttr
+ @wxheader{dataview.h}
+
+ The same as wxDataViewTextRenderer but with
+ support for font attributes. Font attributes are currently only supported
+ under GTK+ and MSW.
+
+ See also wxDataViewModel::GetAttr and
+ wxDataViewItemAttr.
+
+ @library{wxadv}
+ @category{dvc}
+*/
+class wxDataViewTextRendererAttr : public wxDataViewTextRenderer
+{
+public:
+ /**
+
+ */
+ wxDataViewTextRendererAttr(const wxString& varianttype = "string",
+ wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
+ int align = wxDVR_DEFAULT_ALIGNMENT);
+};
+
+
+
+/**
+ @class wxDataViewCustomRenderer
+ @wxheader{dataview.h}
+
+ You need to derive a new class from wxDataViewCustomRenderer in
+ order to write a new renderer. You need to override at least
+ wxDataViewRenderer::SetValue,
+ wxDataViewRenderer::GetValue,
+ wxDataViewCustomRenderer::GetSize
+ and wxDataViewCustomRenderer::Render.
+
+ If you want your renderer to support in-place editing then you
+ also need to override
+ wxDataViewCustomRenderer::HasEditorCtrl,
+ wxDataViewCustomRenderer::CreateEditorCtrl
+ and wxDataViewCustomRenderer::GetValueFromEditorCtrl.
+ Note that a special event handler will be pushed onto that
+ editor control which handles ENTER and focus out events
+ in order to end the editing.
+
+ @library{wxadv}
+ @category{dvc}
+*/
+class wxDataViewCustomRenderer : public wxDataViewRenderer
+{
+public:
+ /**
+ Constructor.
+ */
+ wxDataViewCustomRenderer(const wxString& varianttype = "string",
+ wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
+ int align = wxDVR_DEFAULT_ALIGNMENT );
+
+ /**
+ Destructor.
+ */
+ ~wxDataViewCustomRenderer();
+
+ /**
+ Override this to react to double clicks or ENTER. This method will
+ only be called in wxDATAVIEW_CELL_ACTIVATABLE mode.
+ */
+ virtual bool Activate( wxRect cell,
+ wxDataViewModel* model,
+ const wxDataViewItem & item,
+ unsigned int col );
+
+ /**
+ Override this to create the actual editor control once editing
+ is about to start. @a parent is the parent of the editor
+ control, @a labelRect indicates the position and
+ size of the editor control and @a value is its initial value:
+ */
+ virtual wxControl* CreateEditorCtrl(wxWindow* parent,
+ wxRect labelRect,
+ const wxVariant& value);
+
+ /**
+ Create DC on request. Internal.
+ */
+ virtual wxDC* GetDC();
+
+ /**
+ Return size required to show content.
+ */
+ virtual wxSize GetSize();
+
+ /**
+ Overrride this so that the renderer can get the value
+ from the editor control (pointed to by @e editor):
+ */
+ virtual bool GetValueFromEditorCtrl(wxControl* editor,
+ wxVariant& value);
+
+ /**
+ Override this and make it return @e @true in order to
+ indicate that this renderer supports in-place editing.
+ */
+ virtual bool HasEditorCtrl();
+
+ /**
+ Overrride this to react to a left click. This method will
+ only be called in wxDATAVIEW_CELL_ACTIVATABLE mode.
+ */
+ virtual bool LeftClick( wxPoint cursor,
+ wxRect cell,
+ wxDataViewModel * model,
+ const wxDataViewItem & item,
+ unsigned int col );
+
+ /**
+ Override this to render the cell. Before this is called,
+ wxDataViewRenderer::SetValue was called
+ so that this instance knows what to render.
+ */
+ virtual bool Render(wxRect cell, wxDC* dc, int state);
+
+ /**
+ This method should be called from within Render()
+ whenever you need to render simple text. This will ensure that the
+ correct colour, font and vertical alignment will be chosen so the
+ text will look the same as text drawn by native renderers.
+ */
+ bool RenderText(const wxString& text, int xoffset, wxRect cell,
+ wxDC* dc, int state);
+
+ /**
+ Overrride this to start a drag operation. Not yet
+ supported
+ */
+ virtual bool StartDrag(wxPoint cursor, wxRect cell,
+ wxDataViewModel* model,
+ const wxDataViewItem & item,
+ unsigned int col);
+};
+
+
+
+/**
+ @class wxDataViewBitmapRenderer
+ @wxheader{dataview.h}
+
+ wxDataViewBitmapRenderer
+
+ @library{wxadv}
+ @category{dvc}
+*/
+class wxDataViewBitmapRenderer : public wxDataViewRenderer
+{
+public:
+ /**
+
+ */
+ wxDataViewBitmapRenderer(const wxString& varianttype = "wxBitmap",
+ wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
+ int align = wxDVR_DEFAULT_ALIGNMENT,
+};
+
+
+
+/**
+ @class wxDataViewColumn
+ @wxheader{dataview.h}
+
+ This class represents a column in a wxDataViewCtrl.
+ One wxDataViewColumn is bound to one column in the data model,
+ to which the wxDataViewCtrl has been associated.
+
+ An instance of wxDataViewRenderer is used by
+ this class to render its data.
+
+ @library{wxadv}
+ @category{dvc}
+*/
+class wxDataViewColumn : public wxObject
+{
+public:
+ //@{
+ /**
+ Constructors.
+ */
+ wxDataViewColumn(const wxString& title,
+ wxDataViewRenderer* renderer,
+ unsigned int model_column,
+ int width = wxDVC_DEFAULT_WIDTH,
+ wxAlignment align = wxALIGN_CENTRE,
+ int flags = wxDATAVIEW_COL_RESIZABLE);
+ wxDataViewColumn(const wxBitmap& bitmap,
+ wxDataViewRenderer* renderer,
+ unsigned int model_column,
+ int width = wxDVC_DEFAULT_WIDTH,
+ wxAlignment align = wxALIGN_CENTRE,
+ int flags = wxDATAVIEW_COL_RESIZABLE);
+ //@}
+
+ /**
+ Destructor.
+ */
+ ~wxDataViewColumn();
+
+ /**
+ Returns the bitmap in the header of the column, if any.
+ */
+ const wxBitmap GetBitmap();
+
+ /**
+ Returns the index of the column of the model, which this
+ wxDataViewColumn is displaying.
+ */
+ unsigned int GetModelColumn();
+
+ /**
+ Returns the owning wxDataViewCtrl.
+ */
+ wxDataViewCtrl* GetOwner() const;