// You must override these functions in a derived table class
//
+
+ // return the number of rows and columns in this table
virtual int GetNumberRows() = 0;
virtual int GetNumberCols() = 0;
+
+ // the methods above are unfortunately non-const even though they should
+ // have been const -- but changing it now is not possible any longer as it
+ // would break the existing code overriding them, so instead we provide
+ // these const synonyms which can be used from const-correct code
+ int GetRowsCount() const
+ { return wx_const_cast(wxGridTableBase *, this)->GetNumberRows(); }
+ int GetColsCount() const
+ { return wx_const_cast(wxGridTableBase *, this)->GetNumberCols(); }
+
+
virtual bool IsEmptyCell( int row, int col ) = 0;
bool IsEmpty(const wxGridCellCoords& coord)
/// Destructor frees the attribute provider if it was created.
virtual ~wxGridTableBase();
- /// Must be overridden to return the number of rows in the table.
+ /**
+ Must be overridden to return the number of rows in the table.
+
+ For backwards compatibility reasons, this method is not const.
+ Use GetRowsCount() instead of it in const methods of derived table
+ classes.
+ */
virtual int GetNumberRows() = 0;
- /// Must be overridden to return the number of columns in the table.
+ /**
+ Must be overridden to return the number of columns in the table.
+
+ For backwards compatibility reasons, this method is not const.
+ Use GetColsCount() instead of it in const methods of derived table
+ classes,
+ */
virtual int GetNumberCols() = 0;
+ /**
+ Return the number of rows in the table.
+
+ This method is not virtual and is only provided as a convenience for
+ the derived classes which can't call GetNumberRows() without a @c
+ const_cast from their const methods.
+ */
+ int GetRowsCount() const;
+
+ /**
+ Return the number of columns in the table.
+
+ This method is not virtual and is only provided as a convenience for
+ the derived classes which can't call GetNumberCols() without a @c
+ const_cast from their const methods.
+ */
+ int GetColsCount() const;
+
/**
Accessing table cells.