X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ce00f59b5b169752d2f05ce3bb1a88ddc1b38b4c..412e6a10cb57e4872faa9e5ed8c792e383ee6e6a:/include/wx/dvrenderers.h diff --git a/include/wx/dvrenderers.h b/include/wx/dvrenderers.h index 248e4af121..717f73608a 100644 --- a/include/wx/dvrenderers.h +++ b/include/wx/dvrenderers.h @@ -116,8 +116,14 @@ public: virtual void SetAttr(const wxDataViewItemAttr& WXUNUSED(attr)) { } + virtual void SetEnabled(bool WXUNUSED(enabled)) { } + wxString GetVariantType() const { return m_variantType; } + // helper that calls SetValue and SetAttr: + void PrepareForItem(const wxDataViewModel *model, + const wxDataViewItem& item, unsigned column); + // renderer properties: virtual void SetMode( wxDataViewCellMode mode ) = 0; virtual wxDataViewCellMode GetMode() const = 0; @@ -257,6 +263,11 @@ public: virtual void SetAttr(const wxDataViewItemAttr& attr) { m_attr = attr; } const wxDataViewItemAttr& GetAttr() const { return m_attr; } + // Store the enabled state of the item so that it can be accessed from + // Render() via GetEnabled() if needed. + virtual void SetEnabled(bool enabled) { m_enabled = enabled; } + bool GetEnabled() const { return m_enabled; } + // Implementation only from now on @@ -267,8 +278,13 @@ public: // Prepare DC to use attributes and call Render(). void WXCallRender(wxRect rect, wxDC *dc, int state); +protected: + // helper for GetSize() implementations, respects attributes + wxSize GetTextExtent(const wxString& str) const; + private: wxDataViewItemAttr m_attr; + bool m_enabled; wxDECLARE_NO_COPY_CLASS(wxDataViewCustomRendererBase); };