+// ---------------------------------------------------------
+// wxDataViewRenderer
+// ---------------------------------------------------------
+
+class WXDLLIMPEXP_ADV wxDataViewRenderer: public wxDataViewRendererBase
+{
+public:
+ wxDataViewRenderer( const wxString &varianttype,
+ wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
+ int align = wxDVR_DEFAULT_ALIGNMENT );
+ virtual ~wxDataViewRenderer();
+
+ virtual bool Render( wxRect cell, wxDC *dc, int state ) = 0;
+ virtual wxSize GetSize() const = 0;
+
+ virtual void SetAlignment( int align );
+ virtual int GetAlignment() const;
+
+ virtual void SetMode( wxDataViewCellMode mode )
+ { m_mode=mode; }
+ virtual wxDataViewCellMode GetMode() const
+ { return m_mode; }
+
+ virtual bool Activate( wxRect WXUNUSED(cell),
+ wxDataViewModel *WXUNUSED(model),
+ const wxDataViewItem & WXUNUSED(item),
+ unsigned int WXUNUSED(col) )
+ { return false; }
+
+ virtual bool LeftClick( wxPoint WXUNUSED(cursor),
+ wxRect WXUNUSED(cell),
+ wxDataViewModel *WXUNUSED(model),
+ const wxDataViewItem & WXUNUSED(item),
+ unsigned int WXUNUSED(col) )
+ { return false; }
+ virtual bool RightClick( wxPoint WXUNUSED(cursor),
+ wxRect WXUNUSED(cell),
+ wxDataViewModel *WXUNUSED(model),
+ const wxDataViewItem & WXUNUSED(item),
+ unsigned int WXUNUSED(col) )
+ { return false; }
+ virtual bool StartDrag( wxPoint WXUNUSED(cursor),
+ wxRect WXUNUSED(cell),
+ wxDataViewModel *WXUNUSED(model),
+ const wxDataViewItem & WXUNUSED(item),
+ unsigned int WXUNUSED(col) )
+ { return false; }
+
+ // Create DC on request
+ virtual wxDC *GetDC();
+
+ void SetHasAttr( bool set ) { m_hasAttr = set; }
+ void SetAttr( const wxDataViewItemAttr &attr ) { m_attr = attr; }
+ bool GetWantsAttr() { return m_wantsAttr; }
+
+ // implementation
+ int CalculateAlignment() const;