X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b955766e883accfd019d7ebd8261afb8098213ef..58ce18f2fdadecffb21e27555115af708325cf18:/include/wx/dataview.h diff --git a/include/wx/dataview.h b/include/wx/dataview.h index 173039c072..46b5e997ab 100644 --- a/include/wx/dataview.h +++ b/include/wx/dataview.h @@ -125,7 +125,7 @@ public: virtual bool ItemsChanged( const wxDataViewItemArray &items ); virtual bool ValueChanged( const wxDataViewItem &item, unsigned int col ) = 0; virtual bool Cleared() = 0; - + // some platforms, such as GTK+, may need a two step procedure for ::Reset() virtual bool BeforeReset() { return true; } virtual bool AfterReset() { return Cleared(); } @@ -172,6 +172,9 @@ public: bool IsDefault() const { return !(HasColour() || HasFont()); } + // Return the font based on the given one with this attribute applied to it. + wxFont GetEffectiveFont(const wxFont& font) const; + private: wxColour m_colour; bool m_bold; @@ -231,6 +234,13 @@ public: return false; } + // Override this if you want to disable specific items + virtual bool IsEnabled(const wxDataViewItem &WXUNUSED(item), + unsigned int WXUNUSED(col)) const + { + return true; + } + // define hierachy virtual wxDataViewItem GetParent( const wxDataViewItem &item ) const = 0; virtual bool IsContainer( const wxDataViewItem &item ) const = 0; @@ -301,11 +311,17 @@ public: return false; } + virtual bool IsEnabledByRow(unsigned int WXUNUSED(row), + unsigned int WXUNUSED(col)) const + { + return true; + } + // helper methods provided by list models only virtual unsigned GetRow( const wxDataViewItem &item ) const = 0; - // returns the number of rows + // returns the number of rows virtual unsigned int GetCount() const = 0; // implement some base class pure virtual directly @@ -341,6 +357,11 @@ public: return GetAttrByRow( GetRow(item), col, attr ); } + virtual bool IsEnabled(const wxDataViewItem &item, unsigned int col) const + { + return IsEnabledByRow( GetRow(item), col ); + } + virtual bool IsListModel() const { return true; } }; @@ -1151,7 +1172,7 @@ public: wxDataViewItem GetNthChild( const wxDataViewItem& parent, unsigned int pos ) const; int GetChildCount( const wxDataViewItem& parent ) const; - + void SetItemText( const wxDataViewItem& item, const wxString &text ); wxString GetItemText( const wxDataViewItem& item ) const; void SetItemIcon( const wxDataViewItem& item, const wxIcon &icon );