X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/65887bd0f15e2ed92f130dd7bca91636527e1540..a7cfad3ad6bc8080b33a0878a14b1c02ca33fe3e:/include/wx/dvrenderers.h?ds=sidebyside diff --git a/include/wx/dvrenderers.h b/include/wx/dvrenderers.h index 5b0ef20910..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); }; @@ -351,10 +367,10 @@ public: wxDataViewChoiceByIndexRenderer( const wxArrayString &choices, wxDataViewCellMode mode = wxDATAVIEW_CELL_EDITABLE, int alignment = wxDVR_DEFAULT_ALIGNMENT ); - + virtual wxControl* CreateEditorCtrl( wxWindow *parent, wxRect labelRect, const wxVariant &value ); virtual bool GetValueFromEditorCtrl( wxControl* editor, wxVariant &value ); - + virtual bool SetValue( const wxVariant &value ); virtual bool GetValue( wxVariant &value ) const; };