X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f0ccd2cbfa0b4ac110b81626da5a184b650b1080..706465df1f0d5b356424cc0aeee6c21ac403999e:/include/wx/dvrenderers.h diff --git a/include/wx/dvrenderers.h b/include/wx/dvrenderers.h index 1be414ffb7..97539bf19a 100644 --- a/include/wx/dvrenderers.h +++ b/include/wx/dvrenderers.h @@ -116,6 +116,8 @@ 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: @@ -157,6 +159,9 @@ public: wxControl *GetEditorCtrl() { return m_editorCtrl; } + virtual bool IsCustomRenderer() const { return false; } + + protected: // Called from {Cancel,Finish}Editing() to cleanup m_editorCtrl void DestroyEditControl(); @@ -261,6 +266,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 @@ -271,12 +281,15 @@ public: // Prepare DC to use attributes and call Render(). void WXCallRender(wxRect rect, wxDC *dc, int state); + virtual bool IsCustomRenderer() const { return true; } + 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); };