+ 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 )
+ { m_align=align; }
+ virtual int GetAlignment() const
+ { return m_align; }
+
+ virtual void SetMode( wxDataViewCellMode mode )
+ { m_mode=mode; }
+ virtual wxDataViewCellMode GetMode() const
+ { return m_mode; }
+
+ virtual bool Activate( wxRect WXUNUSED(cell),
+ wxDataViewListModel *WXUNUSED(model),
+ unsigned int WXUNUSED(col),
+ unsigned int WXUNUSED(row) )
+ { return false; }
+
+ virtual bool LeftClick( wxPoint WXUNUSED(cursor),
+ wxRect WXUNUSED(cell),
+ wxDataViewListModel *WXUNUSED(model),
+ unsigned int WXUNUSED(col),
+ unsigned int WXUNUSED(row) )
+ { return false; }
+ virtual bool RightClick( wxPoint WXUNUSED(cursor),
+ wxRect WXUNUSED(cell),
+ wxDataViewListModel *WXUNUSED(model),
+ unsigned int WXUNUSED(col),
+ unsigned int WXUNUSED(row) )
+ { return false; }
+ virtual bool StartDrag( wxPoint WXUNUSED(cursor),
+ wxRect WXUNUSED(cell),
+ wxDataViewListModel *WXUNUSED(model),
+ unsigned int WXUNUSED(col),
+ unsigned int WXUNUSED(row) )
+ { return false; }
+
+ // Create DC on request
+ virtual wxDC *GetDC();
+
+private:
+ wxDC *m_dc;
+ int m_align;
+ wxDataViewCellMode m_mode;