From: Vadim Zeitlin Date: Sat, 24 Oct 2009 21:42:04 +0000 (+0000) Subject: Make wxDataViewModel::GetAttr() and GetAttrByRow() const. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/7fadac88725f90e0bfb6960e9fa00b75a625968c Make wxDataViewModel::GetAttr() and GetAttrByRow() const. This is an incompatible change but having to use a non-const model pointer to call a clearly logically const version was simply too ugly so change it while we still can. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/docs/changes.txt b/docs/changes.txt index 6360c90dce..2ff3c50211 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -390,6 +390,10 @@ INCOMPATIBLE CHANGE SINCE 2.9.0 2.9.0. Please use UseAppInfo(AppInfo_AppName | AppInfo_VendorName) explicitly to use the vendor name in the paths returned by wxStandardPaths. +- wxDataViewModel::GetAttr() is now const, as it should have been from the very + beginning. You will need to change it to be const in your derived model + class too if you override it. + All: diff --git a/include/wx/dataview.h b/include/wx/dataview.h index 5052a7c0e3..4088372096 100644 --- a/include/wx/dataview.h +++ b/include/wx/dataview.h @@ -210,8 +210,12 @@ public: } // Get text attribute, return false of default attributes should be used - virtual bool GetAttr( const wxDataViewItem &WXUNUSED(item), unsigned int WXUNUSED(col), wxDataViewItemAttr &WXUNUSED(attr) ) - { return false; } + virtual bool GetAttr(const wxDataViewItem &WXUNUSED(item), + unsigned int WXUNUSED(col), + wxDataViewItemAttr &WXUNUSED(attr)) const + { + return false; + } // define hierachy virtual wxDataViewItem GetParent( const wxDataViewItem &item ) const = 0; @@ -272,7 +276,7 @@ public: virtual bool GetAttrByRow(unsigned WXUNUSED(row), unsigned WXUNUSED(col), - wxDataViewItemAttr &WXUNUSED(attr)) + wxDataViewItemAttr &WXUNUSED(attr)) const { return false; } @@ -310,7 +314,7 @@ public: } virtual bool GetAttr(const wxDataViewItem &item, unsigned int col, - wxDataViewItemAttr &attr) + wxDataViewItemAttr &attr) const { return GetAttrByRow( GetRow(item), col, attr ); } diff --git a/interface/wx/dataview.h b/interface/wx/dataview.h index 669de4c1d6..d2a9202f37 100644 --- a/interface/wx/dataview.h +++ b/interface/wx/dataview.h @@ -135,10 +135,21 @@ public: Override this to indicate that the item has special font attributes. This only affects the wxDataViewTextRendererText renderer. + The base class version always simply returns @false. + @see wxDataViewItemAttr. + + @param item + The item for which the attribute is requested. + @param col + The column of the item for which the attribute is requested. + @param attr + The attribute to be filled in if the function returns @true. + @return + @true if this item has an attribute or @false otherwise. */ virtual bool GetAttr(const wxDataViewItem& item, unsigned int col, - wxDataViewItemAttr& attr); + wxDataViewItemAttr& attr) const; /** Override this so the control can query the child items of an item. @@ -339,10 +350,21 @@ public: Override this to indicate that the row has special font attributes. This only affects the wxDataViewTextRendererText() renderer. + The base class version always simply returns @false. + @see wxDataViewItemAttr. + + @param row + The row for which the attribute is requested. + @param col + The column for which the attribute is requested. + @param attr + The attribute to be filled in if the function returns @true. + @return + @true if this item has an attribute or @false otherwise. */ virtual bool GetAttrByRow(unsigned int row, unsigned int col, - wxDataViewItemAttr& attr); + wxDataViewItemAttr& attr) const; /** Returns the wxDataViewItem at the given @e row. diff --git a/samples/dataview/mymodels.cpp b/samples/dataview/mymodels.cpp index 11ee266e45..3c2f7f4f64 100644 --- a/samples/dataview/mymodels.cpp +++ b/samples/dataview/mymodels.cpp @@ -433,7 +433,7 @@ void MyListModel::GetValueByRow( wxVariant &variant, } bool MyListModel::GetAttrByRow( unsigned int row, unsigned int col, - wxDataViewItemAttr &attr ) + wxDataViewItemAttr &attr ) const { switch ( col ) { diff --git a/samples/dataview/mymodels.h b/samples/dataview/mymodels.h index a078c59150..01084a58c4 100644 --- a/samples/dataview/mymodels.h +++ b/samples/dataview/mymodels.h @@ -220,7 +220,8 @@ public: virtual void GetValueByRow( wxVariant &variant, unsigned int row, unsigned int col ) const; - virtual bool GetAttrByRow( unsigned int row, unsigned int col, wxDataViewItemAttr &attr ); + virtual bool GetAttrByRow( unsigned int row, unsigned int col, + wxDataViewItemAttr &attr ) const; virtual bool SetValueByRow( const wxVariant &variant, unsigned int row, unsigned int col );