-// ---------------------------------------------------------
-// classes
-// ---------------------------------------------------------
-
-class WXDLLIMPEXP_ADV wxDataViewCtrl;
-class WXDLLIMPEXP_ADV wxDataViewMainWindow;
-class WXDLLIMPEXP_ADV wxDataViewHeaderWindow;
-
-//-----------------------------------------------------------------------------
-// wxDataViewEditorCtrlEvtHandler
-//-----------------------------------------------------------------------------
-
-class wxDataViewEditorCtrlEvtHandler: public wxEvtHandler
-{
-public:
- wxDataViewEditorCtrlEvtHandler( wxControl *editor, wxDataViewRenderer *owner );
-
- void AcceptChangesAndFinish();
-
-protected:
- void OnChar( wxKeyEvent &event );
- void OnKillFocus( wxFocusEvent &event );
-
-private:
- wxDataViewRenderer *m_owner;
- wxControl *m_editorCtrl;
- bool m_finished;
-
-private:
- DECLARE_EVENT_TABLE()
-};
-
-// ---------------------------------------------------------
-// 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 )
- { 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();
-
- // in-place editing
- virtual bool HasEditorCtrl()
- { return false; }
- virtual wxControl* CreateEditorCtrl( wxWindow *parent, wxRect labelRect, const wxVariant &value )
- { return NULL; }
- virtual bool GetValueFromEditorCtrl( wxControl* editor, wxVariant &value )
- { return false; }
-
- virtual bool StartEditing( unsigned int row, wxRect labelRect );
- virtual void CancelEditing();
- virtual bool FinishEditing();
-
-private:
- wxDC *m_dc;
- int m_align;
- wxDataViewCellMode m_mode;
- wxControl *m_editorCtrl;
- unsigned int m_row; // for m_editorCtrl
-
-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 );
-
-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();
- virtual wxControl* CreateEditorCtrl( wxWindow *parent, wxRect labelRect, const wxVariant &value );
- virtual bool GetValueFromEditorCtrl( wxControl* editor, wxVariant &value );
-
-private:
- wxString m_text;
-
-protected:
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewTextRenderer)
-};