| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- ///////////////////////////////////////////////////////////////////////////////
- // Name: wx/generic/dvrenderers.h
- // Purpose: All generic wxDataViewCtrl renderer classes
- // Author: Robert Roebling, Vadim Zeitlin
- // Created: 2009-11-07 (extracted from wx/generic/dataview.h)
- // Copyright: (c) 2006 Robert Roebling
- // (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
- // Licence: wxWindows licence
- ///////////////////////////////////////////////////////////////////////////////
- #ifndef _WX_GENERIC_DVRENDERERS_H_
- #define _WX_GENERIC_DVRENDERERS_H_
- // ---------------------------------------------------------
- // wxDataViewCustomRenderer
- // ---------------------------------------------------------
- class WXDLLIMPEXP_ADV wxDataViewCustomRenderer: public wxDataViewRenderer
- {
- public:
- wxDataViewCustomRenderer( const wxString &varianttype = wxT("string"),
- wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
- int align = wxDVR_DEFAULT_ALIGNMENT );
- // see the explanation of the following WXOnXXX() methods in wx/generic/dvrenderer.h
- virtual bool WXActivateCell(const wxRect& cell,
- wxDataViewModel *model,
- const wxDataViewItem& item,
- unsigned int col,
- const wxMouseEvent *mouseEvent)
- {
- return ActivateCell(cell, model, item, col, mouseEvent);
- }
- private:
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewCustomRenderer)
- };
- // ---------------------------------------------------------
- // wxDataViewTextRenderer
- // ---------------------------------------------------------
- class WXDLLIMPEXP_ADV wxDataViewTextRenderer: public wxDataViewRenderer
- {
- 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;
- virtual bool Render(wxRect cell, wxDC *dc, int state);
- virtual wxSize GetSize() const;
- // in-place editing
- virtual bool HasEditorCtrl() const;
- virtual wxWindow* CreateEditorCtrl( wxWindow *parent, wxRect labelRect,
- const wxVariant &value );
- virtual bool GetValueFromEditorCtrl( wxWindow* editor, wxVariant &value );
- protected:
- wxString m_text;
- protected:
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewTextRenderer)
- };
- // ---------------------------------------------------------
- // wxDataViewBitmapRenderer
- // ---------------------------------------------------------
- class WXDLLIMPEXP_ADV wxDataViewBitmapRenderer: public wxDataViewRenderer
- {
- 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 wxDataViewRenderer
- {
- 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 );
- wxSize GetSize() const;
- // Implementation only, don't use nor override
- virtual bool WXActivateCell(const wxRect& cell,
- wxDataViewModel *model,
- const wxDataViewItem& item,
- unsigned int col,
- const wxMouseEvent *mouseEvent);
- private:
- bool m_toggle;
- protected:
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewToggleRenderer)
- };
- // ---------------------------------------------------------
- // wxDataViewProgressRenderer
- // ---------------------------------------------------------
- class WXDLLIMPEXP_ADV wxDataViewProgressRenderer: public wxDataViewRenderer
- {
- public:
- wxDataViewProgressRenderer( const wxString &label = wxEmptyString,
- const wxString &varianttype = wxT("long"),
- wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
- 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;
- private:
- wxString m_label;
- int m_value;
- protected:
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewProgressRenderer)
- };
- // ---------------------------------------------------------
- // wxDataViewIconTextRenderer
- // ---------------------------------------------------------
- class WXDLLIMPEXP_ADV wxDataViewIconTextRenderer: public wxDataViewRenderer
- {
- public:
- wxDataViewIconTextRenderer( const wxString &varianttype = wxT("wxDataViewIconText"),
- wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
- 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 HasEditorCtrl() const { return true; }
- virtual wxWindow* CreateEditorCtrl( wxWindow *parent, wxRect labelRect,
- const wxVariant &value );
- virtual bool GetValueFromEditorCtrl( wxWindow* editor, wxVariant &value );
- private:
- wxDataViewIconText m_value;
- protected:
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewIconTextRenderer)
- };
- #endif // _WX_GENERIC_DVRENDERERS_H_
|