-// ---------------------------------------------------------
-// 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() const { return m_wantsAttr; }
-
- // implementation
- int CalculateAlignment() const;
-
-private:
- wxDC *m_dc;
- int m_align;
- wxDataViewCellMode m_mode;
-
-protected:
- bool m_wantsAttr;
- bool m_hasAttr;
- wxDataViewItemAttr m_attr;
-
-protected:
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewRenderer)
-};
-
-// ---------------------------------------------------------
-// wxDataViewCustomRenderer
-// ---------------------------------------------------------
-
-class WXDLLIMPEXP_ADV wxDataViewCustomRenderer: public wxDataViewRenderer
-{
-public:
- wxDataViewCustomRenderer( const wxString &varianttype = wxT("string"),
- wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
- int align = wxDVR_DEFAULT_ALIGNMENT );
-
- void RenderText( const wxString &text, int xoffset, wxRect cell, wxDC *dc, int state );
-
-protected:
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewCustomRenderer)
-};
-
-
-// ---------------------------------------------------------
-// wxDataViewTextRenderer
-// ---------------------------------------------------------
-
-class WXDLLIMPEXP_ADV wxDataViewTextRenderer: public wxDataViewCustomRenderer
-{
-public:
- wxDataViewTextRenderer( const wxString &varianttype = wxT("string"),
- wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
- int align = wxDVR_DEFAULT_ALIGNMENT );
-
- bool SetValue( const wxVariant &value );
- bool GetValue( wxVariant &value ) const;
-
- bool Render( wxRect cell, wxDC *dc, int state );
- wxSize GetSize() const;
-
- // in-place editing
- virtual bool HasEditorCtrl() const;
- virtual wxControl* CreateEditorCtrl( wxWindow *parent, wxRect labelRect,
- const wxVariant &value );
- virtual bool GetValueFromEditorCtrl( wxControl* editor, wxVariant &value );
-
-protected:
- wxString m_text;
-
-protected:
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewTextRenderer)
-};
-
-// ---------------------------------------------------------
-// wxDataViewTextRendererAttr
-// ---------------------------------------------------------
-
-class WXDLLIMPEXP_ADV wxDataViewTextRendererAttr: public wxDataViewTextRenderer
-{
-public:
- wxDataViewTextRendererAttr( const wxString &varianttype = wxT("string"),
- wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
- int align = wxDVR_DEFAULT_ALIGNMENT );
-
- bool Render( wxRect cell, wxDC *dc, int state );
-
-protected:
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewTextRendererAttr)
-};
-
-// ---------------------------------------------------------
-// wxDataViewBitmapRenderer
-// ---------------------------------------------------------
-
-class WXDLLIMPEXP_ADV wxDataViewBitmapRenderer: public wxDataViewCustomRenderer
-{
-public:
- wxDataViewBitmapRenderer( const wxString &varianttype = wxT("wxBitmap"),
- wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
- int align = wxDVR_DEFAULT_ALIGNMENT );
-
- bool SetValue( const wxVariant &value );
- bool GetValue( wxVariant &value ) const;
-
- bool Render( wxRect cell, wxDC *dc, int state );
- wxSize GetSize() const;
-
-private:
- wxIcon m_icon;
- wxBitmap m_bitmap;
-
-protected:
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewBitmapRenderer)
-};
-
-// ---------------------------------------------------------
-// wxDataViewToggleRenderer
-// ---------------------------------------------------------
-
-class WXDLLIMPEXP_ADV wxDataViewToggleRenderer: public wxDataViewCustomRenderer
-{
-public:
- wxDataViewToggleRenderer( const wxString &varianttype = wxT("bool"),
- wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
- int align = wxDVR_DEFAULT_ALIGNMENT );
-
- bool SetValue( const wxVariant &value );
- bool GetValue( wxVariant &value ) const;
-
- bool Render( wxRect cell, wxDC *dc, int state );
- bool Activate( wxRect cell, wxDataViewModel *model, const wxDataViewItem & item,
- unsigned int col );
- wxSize GetSize() const;
-
-private:
- bool m_toggle;
-
-protected:
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewToggleRenderer)
-};
-
-// ---------------------------------------------------------
-// wxDataViewProgressRenderer
-// ---------------------------------------------------------
-
-class WXDLLIMPEXP_ADV wxDataViewProgressRenderer: public wxDataViewCustomRenderer
-{
-public:
- wxDataViewProgressRenderer( const wxString &label = wxEmptyString,
- const wxString &varianttype = wxT("long"),
- wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
- int align = wxDVR_DEFAULT_ALIGNMENT );
- virtual ~wxDataViewProgressRenderer();
-
- bool SetValue( const wxVariant &value );
- bool GetValue( wxVariant& value ) const;
-
- virtual bool Render( wxRect cell, wxDC *dc, int state );
- virtual wxSize GetSize() const;
-
-private:
- wxString m_label;
- int m_value;
-
-protected:
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewProgressRenderer)
-};
-
-// ---------------------------------------------------------
-// wxDataViewIconTextRenderer
-// ---------------------------------------------------------
-
-class WXDLLIMPEXP_ADV wxDataViewIconTextRenderer: public wxDataViewCustomRenderer
-{
-public:
- wxDataViewIconTextRenderer( const wxString &varianttype = wxT("wxDataViewIconText"),
- wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
- int align = wxDVR_DEFAULT_ALIGNMENT );
- virtual ~wxDataViewIconTextRenderer();
-
- bool SetValue( const wxVariant &value );
- bool GetValue( wxVariant &value ) const;
-
- virtual bool Render( wxRect cell, wxDC *dc, int state );
- virtual wxSize GetSize() const;
-
- virtual bool HasEditorCtrl() { return true; }
- virtual wxControl* CreateEditorCtrl( wxWindow *parent, wxRect labelRect,
- const wxVariant &value );
- virtual bool GetValueFromEditorCtrl( wxControl* editor, wxVariant &value );
-
-private:
- wxDataViewIconText m_value;
-
-protected:
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewIconTextRenderer)
-};
-
-// ---------------------------------------------------------
-// wxDataViewDateRenderer
-// ---------------------------------------------------------
-
-class WXDLLIMPEXP_ADV wxDataViewDateRenderer: public wxDataViewCustomRenderer
-{
-public:
- wxDataViewDateRenderer( const wxString &varianttype = wxT("datetime"),
- wxDataViewCellMode mode = wxDATAVIEW_CELL_ACTIVATABLE,
- int align = wxDVR_DEFAULT_ALIGNMENT );
-
- bool SetValue( const wxVariant &value );
- bool GetValue( wxVariant& value ) const;
-
- virtual bool Render( wxRect cell, wxDC *dc, int state );
- virtual wxSize GetSize() const;
- virtual bool Activate( wxRect cell,
- wxDataViewModel *model,
- const wxDataViewItem& item,
- unsigned int col );
-
-private:
- wxDateTime m_date;
-
-protected:
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewDateRenderer)
-};
-