\membersection{wxGrid::BlockToDeviceRect}\label{wxgridblocktodevicerect}
-\func{wxRect}{BlockToDeviceRect}{\param{const wxGridCellCoords \& }{topLeft}, \param{const wxGridCellCoords \& }{bottomRight}}
+\constfunc{wxRect}{BlockToDeviceRect}{\param{const wxGridCellCoords \& }{topLeft}, \param{const wxGridCellCoords \& }{bottomRight}}
This function returns the rectangle that encloses the block of cells
limited by TopLeft and BottomRight cell in device coords and clipped
\membersection{wxGrid::CanDragColMove}\label{wxgridcandragcolmove}
-\func{bool}{CanDragColMove}{\void}
+\constfunc{bool}{CanDragColMove}{\void}
Returns true if columns can be moved by dragging with the mouse. Columns can be moved
by dragging on their labels.
\membersection{wxGrid::CanDragColSize}\label{wxgridcandragcolsize}
-\func{bool}{CanDragColSize}{\void}
+\constfunc{bool}{CanDragColSize}{\void}
Returns true if columns can be resized by dragging with the mouse. Columns can be resized
by dragging the edges of their labels. If grid line dragging is enabled they can also be
\membersection{wxGrid::CanDragRowSize}\label{wxgridcandragrowsize}
-\func{bool}{CanDragRowSize}{\void}
+\constfunc{bool}{CanDragRowSize}{\void}
Returns true if rows can be resized by dragging with the mouse. Rows can be resized
by dragging the edges of their labels. If grid line dragging is enabled they can also be
\membersection{wxGrid::CanDragGridSize}\label{wxgridcandraggridsize}
-\func{bool}{CanDragGridSize}{\void}
+\constfunc{bool}{CanDragGridSize}{\void}
Return true if the dragging of grid lines to resize rows and columns is enabled or false otherwise.
\membersection{wxGrid::CanHaveAttributes}\label{wxgridcanhaveattributes}
-\func{bool}{CanHaveAttributes}{\void}
+\constfunc{bool}{CanHaveAttributes}{\void}
Do we have some place to store attributes in?
\membersection{wxGrid::CellToRect}\label{wxgridcelltorect}
-\func{wxRect}{CellToRect}{\param{int }{row}, \param{int }{col}}
+\constfunc{wxRect}{CellToRect}{\param{int }{row}, \param{int }{col}}
-\func{wxRect}{CellToRect}{\param{const wxGridCellCoords\& }{coords}}
+\constfunc{wxRect}{CellToRect}{\param{const wxGridCellCoords\& }{coords}}
Return the rectangle corresponding to the grid cell's size and position in logical
coordinates.
\membersection{wxGrid::GetBatchCount}\label{wxgridgetbatchcount}
-\func{int}{GetBatchCount}{\void}
+\constfunc{int}{GetBatchCount}{\void}
Returns the number of times that \helpref{wxGrid::BeginBatch}{wxgridbeginbatch} has been called
without (yet) matching calls to \helpref{wxGrid::EndBatch}{wxgridendbatch}. While
\membersection{wxGrid::GetCellAlignment}\label{wxgridgetcellalignment}
-\func{void}{GetCellAlignment}{\param{int }{row}, \param{int }{col}, \param{int* }{horiz}, \param{int* }{vert}}
+\constfunc{void}{GetCellAlignment}{\param{int }{row}, \param{int }{col}, \param{int* }{horiz}, \param{int* }{vert}}
Sets the arguments to the horizontal and vertical text alignment values for the
grid cell at the specified location.
\membersection{wxGrid::GetCellBackgroundColour}\label{wxgridgetcellbackgroundcolour}
-\func{wxColour}{GetCellBackgroundColour}{\param{int }{row}, \param{int }{col}}
+\constfunc{wxColour}{GetCellBackgroundColour}{\param{int }{row}, \param{int }{col}}
Returns the background colour of the cell at the specified location.
\membersection{wxGrid::GetCellEditor}\label{wxgridgetcelleditor}
-\func{wxGridCellEditor*}{GetCellEditor}{\param{int }{row}, \param{int }{col}}
+\constfunc{wxGridCellEditor*}{GetCellEditor}{\param{int }{row}, \param{int }{col}}
Returns a pointer to the editor for the cell at the specified location.
\membersection{wxGrid::GetCellFont}\label{wxgridgetcellfont}
-\func{wxFont}{GetCellFont}{\param{int }{row}, \param{int }{col}}
+\constfunc{wxFont}{GetCellFont}{\param{int }{row}, \param{int }{col}}
Returns the font for text in the grid cell at the specified location.
\membersection{wxGrid::GetCellRenderer}\label{wxgridgetcellrenderer}
-\func{wxGridCellRenderer*}{GetCellRenderer}{\param{int }{row}, \param{int }{col}}
+\constfunc{wxGridCellRenderer*}{GetCellRenderer}{\param{int }{row}, \param{int }{col}}
Returns a pointer to the renderer for the grid cell at the specified location.
\membersection{wxGrid::GetCellTextColour}\label{wxgridgetcelltextcolour}
-\func{wxColour}{GetCellTextColour}{\param{int }{row}, \param{int }{col}}
+\constfunc{wxColour}{GetCellTextColour}{\param{int }{row}, \param{int }{col}}
Returns the text colour for the grid cell at the specified location.
\membersection{wxGrid::GetCellValue}\label{wxgridgetcellvalue}
-\func{wxString}{GetCellValue}{\param{int }{row}, \param{int }{col}}
+\constfunc{wxString}{GetCellValue}{\param{int }{row}, \param{int }{col}}
-\func{wxString}{GetCellValue}{\param{const wxGridCellCoords\&}{coords}}
+\constfunc{wxString}{GetCellValue}{\param{const wxGridCellCoords\&}{coords}}
Returns the string contained in the cell at the specified location. For simple applications where a
grid object automatically uses a default grid table of string values you use this function together
\membersection{wxGrid::GetColLabelAlignment}\label{wxgridgetcollabelalignment}
-\func{void}{GetColLabelAlignment}{\param{int* }{horiz}, \param{int* }{vert}}
+\constfunc{void}{GetColLabelAlignment}{\param{int* }{horiz}, \param{int* }{vert}}
Sets the arguments to the current column label alignment values.
\membersection{wxGrid::GetColLabelSize}\label{wxgridgetcollabelsize}
-\func{int}{GetColLabelSize}{\void}
+\constfunc{int}{GetColLabelSize}{\void}
Returns the current height of the column labels.
\membersection{wxGrid::GetColLabelValue}\label{wxgridgetcollabelvalue}
-\func{wxString}{GetColLabelValue}{\param{int }{col}}
+\constfunc{wxString}{GetColLabelValue}{\param{int }{col}}
Returns the specified column label. The default grid table class provides column labels of
the form A,B...Z,AA,AB...ZZ,AAA... If you are using a custom grid table you can override
\membersection{wxGrid::GetColMinimalAcceptableWidth}\label{wxgridgetcolminimalacceptablewidth}
-\func{int}{GetColMinimalAcceptableWidth}{}
+\constfunc{int}{GetColMinimalAcceptableWidth}{}
This returns the value of the lowest column width that can be handled correctly. See
member \helpref{SetColMinimalAcceptableWidth}{wxgridsetcolminimalacceptablewidth} for details.
\membersection{wxGrid::GetColSize}\label{wxgridgetcolsize}
-\func{int}{GetColSize}{\param{int }{col}}
+\constfunc{int}{GetColSize}{\param{int }{col}}
Returns the width of the specified column.
\membersection{wxGrid::GetDefaultCellAlignment}\label{wxgridgetdefaultcellalignment}
-\func{void}{GetDefaultCellAlignment}{\param{int* }{horiz}, \param{int* }{vert}}
+\constfunc{void}{GetDefaultCellAlignment}{\param{int* }{horiz}, \param{int* }{vert}}
Sets the arguments to the current default horizontal and vertical text alignment
values.
\membersection{wxGrid::GetDefaultCellBackgroundColour}\label{wxgridgetdefaultcellbackgroundcolour}
-\func{wxColour}{GetDefaultCellBackgroundColour}{\void}
+\constfunc{wxColour}{GetDefaultCellBackgroundColour}{\void}
Returns the current default background colour for grid cells.
\membersection{wxGrid::GetDefaultCellFont}\label{wxgridgetdefaultcellfont}
-\func{wxFont}{GetDefaultCellFont}{\void}
+\constfunc{wxFont}{GetDefaultCellFont}{\void}
Returns the current default font for grid cell text.
\membersection{wxGrid::GetDefaultCellTextColour}\label{wxgridgetdefaultcelltextcolour}
-\func{wxColour}{GetDefaultCellTextColour}{\void}
+\constfunc{wxColour}{GetDefaultCellTextColour}{\void}
Returns the current default colour for grid cell text.
\membersection{wxGrid::GetDefaultColLabelSize}\label{wxgridgetdefaultcollabelsize}
-\func{int}{GetDefaultColLabelSize}{\void}
+\constfunc{int}{GetDefaultColLabelSize}{\void}
Returns the default height for column labels.
\membersection{wxGrid::GetDefaultColSize}\label{wxgridgetdefaultcolsize}
-\func{int}{GetDefaultColSize}{\void}
+\constfunc{int}{GetDefaultColSize}{\void}
Returns the current default width for grid columns.
\membersection{wxGrid::GetDefaultRowLabelSize}\label{wxgridgetdefaultrowlabelsize}
-\func{int}{GetDefaultRowLabelSize}{\void}
+\constfunc{int}{GetDefaultRowLabelSize}{\void}
Returns the default width for the row labels.
\membersection{wxGrid::GetDefaultRowSize}\label{wxgridgetdefaultrowsize}
-\func{int}{GetDefaultRowSize}{\void}
+\constfunc{int}{GetDefaultRowSize}{\void}
Returns the current default height for grid rows.
\membersection{wxGrid::GetGridCursorCol}\label{wxgridgetgridcursorcol}
-\func{int}{GetGridCursorCol}{\void}
+\constfunc{int}{GetGridCursorCol}{\void}
Returns the current grid cell column position.
\membersection{wxGrid::GetGridCursorRow}\label{wxgridgetgridcursorrow}
-\func{int}{GetGridCursorRow}{\void}
+\constfunc{int}{GetGridCursorRow}{\void}
Returns the current grid cell row position.
\membersection{wxGrid::GetGridLineColour}\label{wxgridgetgridlinecolour}
-\func{wxColour}{GetGridLineColour}{\void}
+\constfunc{wxColour}{GetGridLineColour}{\void}
Returns the colour used for grid lines.
\membersection{wxGrid::GridLinesEnabled}\label{wxgridgridlinesenabled}
-\func{bool}{GridLinesEnabled}{\void}
+\constfunc{bool}{GridLinesEnabled}{\void}
Returns true if drawing of grid lines is turned on, false otherwise.
\membersection{wxGrid::GetLabelBackgroundColour}\label{wxgridgetlabelbackgroundcolour}
-\func{wxColour}{GetLabelBackgroundColour}{\void}
+\constfunc{wxColour}{GetLabelBackgroundColour}{\void}
Returns the colour used for the background of row and column labels.
\membersection{wxGrid::GetLabelFont}\label{wxgridgetlabelfont}
-\func{wxFont}{GetLabelFont}{\void}
+\constfunc{wxFont}{GetLabelFont}{\void}
Returns the font used for row and column labels.
\membersection{wxGrid::GetLabelTextColour}\label{wxgridgetlabeltextcolour}
-\func{wxColour}{GetLabelTextColour}{\void}
+\constfunc{wxColour}{GetLabelTextColour}{\void}
Returns the colour used for row and column label text.
\membersection{wxGrid::GetNumberCols}\label{wxgridgetnumbercols}
-\func{int}{GetNumberCols}{\void}
+\constfunc{int}{GetNumberCols}{\void}
Returns the total number of grid columns (actually the number of columns in the underlying grid
table).
\membersection{wxGrid::GetNumberRows}\label{wxgridgetnumberrows}
-\func{int}{GetNumberRows}{\void}
+\constfunc{int}{GetNumberRows}{\void}
Returns the total number of grid rows (actually the number of rows in the underlying grid table).
\membersection{wxGrid::GetRowMinimalAcceptableHeight}\label{wxgridgetrowminimalacceptableheight}
-\func{int}{GetRowMinimalAcceptableHeight}{}
+\constfunc{int}{GetRowMinimalAcceptableHeight}{}
This returns the value of the lowest row width that can be handled correctly. See
member \helpref{SetRowMinimalAcceptableHeight}{wxgridsetrowminimalacceptableheight} for details.
\membersection{wxGrid::GetRowLabelAlignment}\label{wxgridgetrowlabelalignment}
-\func{void}{GetRowLabelAlignment}{\param{int* }{horiz}, \param{int* }{vert}}
+\constfunc{void}{GetRowLabelAlignment}{\param{int* }{horiz}, \param{int* }{vert}}
Sets the arguments to the current row label alignment values.
\membersection{wxGrid::GetRowLabelSize}\label{wxgridgetrowlabelsize}
-\func{int}{GetRowLabelSize}{\void}
+\constfunc{int}{GetRowLabelSize}{\void}
Returns the current width of the row labels.
\membersection{wxGrid::GetRowLabelValue}\label{wxgridgetrowlabelvalue}
-\func{wxString}{GetRowLabelValue}{\param{int }{row}}
+\constfunc{wxString}{GetRowLabelValue}{\param{int }{row}}
Returns the specified row label. The default grid table class provides numeric row labels.
If you are using a custom grid table you can override
\membersection{wxGrid::GetRowSize}\label{wxgridgetrowsize}
-\func{int}{GetRowSize}{\param{int }{row}}
+\constfunc{int}{GetRowSize}{\param{int }{row}}
Returns the height of the specified row.
\membersection{wxGrid::GetViewWidth}\label{wxgridgetviewwidth}
-\func{int}{GetViewWidth}{\void}
+\constfunc{int}{GetViewWidth}{\void}
Returned number of whole cols visible.
\membersection{wxGrid::IsEditable}\label{wxgridiseditable}
-\func{bool}{IsEditable}{\void}
+\constfunc{bool}{IsEditable}{\void}
Returns false if the whole grid has been set as read-only or true otherwise.
See \helpref{wxGrid::EnableEditing}{wxgridenableediting} for more information about
\membersection{wxGrid::IsSelection}\label{wxgridisselection}
-\func{bool}{IsSelection}{\void}
+\constfunc{bool}{IsSelection}{\void}
Returns true if there are currently rows, columns or blocks of cells selected.
\membersection{wxGrid::IsVisible}\label{wxgridisvisible}
-\func{bool}{IsVisible}{\param{int }{row}, \param{int }{col}, \param{bool }{wholeCellVisible = true}}
+\constfunc{bool}{IsVisible}{\param{int }{row}, \param{int }{col}, \param{bool }{wholeCellVisible = true}}
-\func{bool}{IsVisible}{\param{const wxGridCellCoords\& }{coords}, \param{bool }{wholeCellVisible = true}}
+\constfunc{bool}{IsVisible}{\param{const wxGridCellCoords\& }{coords}, \param{bool }{wholeCellVisible = true}}
Returns true if a cell is either wholly visible (the default) or at least partially
visible in the grid window.
\membersection{wxGrid::SelectionToDeviceRect}\label{wxgridselectiontodevicerect}
-\func{wxRect}{SelectionToDeviceRect}{\void}
+\constfunc{wxRect}{SelectionToDeviceRect}{\void}
This function returns the rectangle that encloses the selected cells
in device coords and clipped to the client size of the grid window.
\membersection{wxGrid::XToCol}\label{wxgridxtocol}
-\func{int}{XToCol}{\param{int }{x}, \param{bool }{clipToMinMax = false}}
+\constfunc{int}{XToCol}{\param{int }{x}, \param{bool }{clipToMinMax = false}}
\wxheading{Parameters}
\docparam{x}{The x position to evaluate.}
\membersection{wxGrid::XToEdgeOfCol}\label{wxgridxtoedgeofcol}
-\func{int}{XToEdgeOfCol}{\param{int }{x}}
+\constfunc{int}{XToEdgeOfCol}{\param{int }{x}}
Returns the column whose right hand edge is close to the given logical x position.
If no column edge is near to this position {\tt wxNOT\_FOUND} is returned.
\membersection{wxGrid::YToEdgeOfRow}\label{wxgridytoedgeofrow}
-\func{int}{YToEdgeOfRow}{\param{int }{y}}
+\constfunc{int}{YToEdgeOfRow}{\param{int }{y}}
Returns the row whose bottom edge is close to the given logical y position.
If no row edge is near to this position {\tt wxNOT\_FOUND} is returned.
\membersection{wxGrid::YToRow}\label{wxgridytorow}
-\func{int}{YToRow}{\param{int }{y}}
+\constfunc{int}{YToRow}{\param{int }{y}}
Returns the grid row that corresponds to the logical y coordinate. Returns
{\tt wxNOT\_FOUND} if there is no row at the y position.
void GetSize(int *num_rows, int *num_cols) const;
bool GetOverflow() const
{ return m_overflow != SingleCell; }
- wxGridCellRenderer *GetRenderer(wxGrid* grid, int row, int col) const;
- wxGridCellEditor *GetEditor(wxGrid* grid, int row, int col) const;
+ wxGridCellRenderer *GetRenderer(const wxGrid* grid, int row, int col) const;
+ wxGridCellEditor *GetEditor(const wxGrid* grid, int row, int col) const;
bool IsReadOnly() const { return m_isReadOnly == wxGridCellAttr::ReadOnly; }
// ------ grid dimensions
//
- int GetNumberRows() { return m_numRows; }
- int GetNumberCols() { return m_numCols; }
+ int GetNumberRows() const { return m_numRows; }
+ int GetNumberCols() const { return m_numCols; }
// ------ display update functions
//
- wxArrayInt CalcRowLabelsExposed( const wxRegion& reg );
+ wxArrayInt CalcRowLabelsExposed( const wxRegion& reg ) const;
- wxArrayInt CalcColLabelsExposed( const wxRegion& reg );
- wxGridCellCoordsArray CalcCellsExposed( const wxRegion& reg );
+ wxArrayInt CalcColLabelsExposed( const wxRegion& reg ) const;
+ wxGridCellCoordsArray CalcCellsExposed( const wxRegion& reg ) const;
// ------ event handlers
int textOrientation = wxHORIZONTAL );
- // Split a string containing newline chararcters into an array of
+ // Split a string containing newline characters into an array of
// strings and return the number of lines
//
- void StringToLines( const wxString& value, wxArrayString& lines );
+ void StringToLines( const wxString& value, wxArrayString& lines ) const;
void GetTextBoxSize( const wxDC& dc,
const wxArrayString& lines,
- long *width, long *height );
+ long *width, long *height ) const;
// ------
// grid cells and labels so you will need to convert from device
// coordinates for mouse events etc.
//
- void XYToCell( int x, int y, wxGridCellCoords& );
- int YToRow( int y );
- int XToCol( int x, bool clipToMinMax = false );
+ void XYToCell( int x, int y, wxGridCellCoords& ) const;
+ int YToRow( int y ) const;
+ int XToCol( int x, bool clipToMinMax = false ) const;
- int YToEdgeOfRow( int y );
- int XToEdgeOfCol( int x );
+ int YToEdgeOfRow( int y ) const;
+ int XToEdgeOfCol( int x ) const;
- wxRect CellToRect( int row, int col );
- wxRect CellToRect( const wxGridCellCoords& coords )
+ wxRect CellToRect( int row, int col ) const;
+ wxRect CellToRect( const wxGridCellCoords& coords ) const
{ return CellToRect( coords.GetRow(), coords.GetCol() ); }
- int GetGridCursorRow() { return m_currentCellCoords.GetRow(); }
- int GetGridCursorCol() { return m_currentCellCoords.GetCol(); }
+ int GetGridCursorRow() const { return m_currentCellCoords.GetRow(); }
+ int GetGridCursorCol() const { return m_currentCellCoords.GetCol(); }
// check to see if a cell is either wholly visible (the default arg) or
// at least partially visible in the grid window
//
- bool IsVisible( int row, int col, bool wholeCellVisible = true );
- bool IsVisible( const wxGridCellCoords& coords, bool wholeCellVisible = true )
+ bool IsVisible( int row, int col, bool wholeCellVisible = true ) const;
+ bool IsVisible( const wxGridCellCoords& coords, bool wholeCellVisible = true ) const
{ return IsVisible( coords.GetRow(), coords.GetCol(), wholeCellVisible ); }
void MakeCellVisible( int row, int col );
void MakeCellVisible( const wxGridCellCoords& coords )
// ------ label and gridline formatting
//
- int GetDefaultRowLabelSize() { return WXGRID_DEFAULT_ROW_LABEL_WIDTH; }
- int GetRowLabelSize() { return m_rowLabelWidth; }
- int GetDefaultColLabelSize() { return WXGRID_DEFAULT_COL_LABEL_HEIGHT; }
- int GetColLabelSize() { return m_colLabelHeight; }
- wxColour GetLabelBackgroundColour() { return m_labelBackgroundColour; }
- wxColour GetLabelTextColour() { return m_labelTextColour; }
- wxFont GetLabelFont() { return m_labelFont; }
- void GetRowLabelAlignment( int *horiz, int *vert );
- void GetColLabelAlignment( int *horiz, int *vert );
- int GetColLabelTextOrientation();
- wxString GetRowLabelValue( int row );
- wxString GetColLabelValue( int col );
- wxColour GetGridLineColour() { return m_gridLineColour; }
+ int GetDefaultRowLabelSize() const { return WXGRID_DEFAULT_ROW_LABEL_WIDTH; }
+ int GetRowLabelSize() const { return m_rowLabelWidth; }
+ int GetDefaultColLabelSize() const { return WXGRID_DEFAULT_COL_LABEL_HEIGHT; }
+ int GetColLabelSize() const { return m_colLabelHeight; }
+ wxColour GetLabelBackgroundColour() const { return m_labelBackgroundColour; }
+ wxColour GetLabelTextColour() const { return m_labelTextColour; }
+ wxFont GetLabelFont() const { return m_labelFont; }
+ void GetRowLabelAlignment( int *horiz, int *vert ) const;
+ void GetColLabelAlignment( int *horiz, int *vert ) const;
+ int GetColLabelTextOrientation() const;
+ wxString GetRowLabelValue( int row ) const;
+ wxString GetColLabelValue( int col ) const;
+ wxColour GetGridLineColour() const { return m_gridLineColour; }
// these methods may be overridden to customize individual grid lines
// appearance
virtual wxPen GetDefaultGridLinePen();
virtual wxPen GetRowGridLinePen(int row);
virtual wxPen GetColGridLinePen(int col);
- wxColour GetCellHighlightColour() { return m_cellHighlightColour; }
- int GetCellHighlightPenWidth() { return m_cellHighlightPenWidth; }
- int GetCellHighlightROPenWidth() { return m_cellHighlightROPenWidth; }
+ wxColour GetCellHighlightColour() const { return m_cellHighlightColour; }
+ int GetCellHighlightPenWidth() const { return m_cellHighlightPenWidth; }
+ int GetCellHighlightROPenWidth() const { return m_cellHighlightROPenWidth; }
void SetRowLabelSize( int width );
void SetColLabelSize( int height );
void EnableDragRowSize( bool enable = true );
void DisableDragRowSize() { EnableDragRowSize( false ); }
- bool CanDragRowSize() { return m_canDragRowSize; }
+ bool CanDragRowSize() const { return m_canDragRowSize; }
void EnableDragColSize( bool enable = true );
void DisableDragColSize() { EnableDragColSize( false ); }
- bool CanDragColSize() { return m_canDragColSize; }
+ bool CanDragColSize() const { return m_canDragColSize; }
void EnableDragColMove( bool enable = true );
void DisableDragColMove() { EnableDragColMove( false ); }
- bool CanDragColMove() { return m_canDragColMove; }
+ bool CanDragColMove() const { return m_canDragColMove; }
void EnableDragGridSize(bool enable = true);
void DisableDragGridSize() { EnableDragGridSize(false); }
- bool CanDragGridSize() { return m_canDragGridSize; }
+ bool CanDragGridSize() const { return m_canDragGridSize; }
void EnableDragCell( bool enable = true );
void DisableDragCell() { EnableDragCell( false ); }
- bool CanDragCell() { return m_canDragCell; }
+ bool CanDragCell() const { return m_canDragCell; }
// this sets the specified attribute for this cell or in this row/col
void SetAttr(int row, int col, wxGridCellAttr *attr);
void SetColFormatCustom(int col, const wxString& typeName);
void EnableGridLines( bool enable = true );
- bool GridLinesEnabled() { return m_gridLinesEnabled; }
+ bool GridLinesEnabled() const { return m_gridLinesEnabled; }
// ------ row and col formatting
//
- int GetDefaultRowSize();
- int GetRowSize( int row );
- int GetDefaultColSize();
- int GetColSize( int col );
- wxColour GetDefaultCellBackgroundColour();
- wxColour GetCellBackgroundColour( int row, int col );
- wxColour GetDefaultCellTextColour();
- wxColour GetCellTextColour( int row, int col );
- wxFont GetDefaultCellFont();
- wxFont GetCellFont( int row, int col );
- void GetDefaultCellAlignment( int *horiz, int *vert );
- void GetCellAlignment( int row, int col, int *horiz, int *vert );
- bool GetDefaultCellOverflow();
- bool GetCellOverflow( int row, int col );
- void GetCellSize( int row, int col, int *num_rows, int *num_cols );
+ int GetDefaultRowSize() const;
+ int GetRowSize( int row ) const;
+ int GetDefaultColSize() const;
+ int GetColSize( int col ) const;
+ wxColour GetDefaultCellBackgroundColour() const;
+ wxColour GetCellBackgroundColour( int row, int col ) const;
+ wxColour GetDefaultCellTextColour() const;
+ wxColour GetCellTextColour( int row, int col ) const;
+ wxFont GetDefaultCellFont() const;
+ wxFont GetCellFont( int row, int col ) const;
+ void GetDefaultCellAlignment( int *horiz, int *vert ) const;
+ void GetCellAlignment( int row, int col, int *horiz, int *vert ) const;
+ bool GetDefaultCellOverflow() const;
+ bool GetCellOverflow( int row, int col ) const;
+ void GetCellSize( int row, int col, int *num_rows, int *num_cols ) const;
void SetDefaultRowSize( int height, bool resizeExistingRows = false );
void SetRowSize( int row, int height );
void SetDefaultRenderer(wxGridCellRenderer *renderer);
void SetCellRenderer(int row, int col, wxGridCellRenderer *renderer);
wxGridCellRenderer *GetDefaultRenderer() const;
- wxGridCellRenderer* GetCellRenderer(int row, int col);
+ wxGridCellRenderer* GetCellRenderer(int row, int col) const;
// takes ownership of the pointer
void SetDefaultEditor(wxGridCellEditor *editor);
void SetCellEditor(int row, int col, wxGridCellEditor *editor);
wxGridCellEditor *GetDefaultEditor() const;
- wxGridCellEditor* GetCellEditor(int row, int col);
+ wxGridCellEditor* GetCellEditor(int row, int col) const;
// ------ cell value accessors
//
- wxString GetCellValue( int row, int col )
+ wxString GetCellValue( int row, int col ) const
{
if ( m_table )
{
}
}
- wxString GetCellValue( const wxGridCellCoords& coords )
+ wxString GetCellValue( const wxGridCellCoords& coords ) const
{ return GetCellValue( coords.GetRow(), coords.GetCol() ); }
void SetCellValue( int row, int col, const wxString& s );
void SelectAll();
- bool IsSelection();
+ bool IsSelection() const;
// ------ deselect blocks or cells
//
// to the client size of the grid window.
//
wxRect BlockToDeviceRect( const wxGridCellCoords & topLeft,
- const wxGridCellCoords & bottomRight );
+ const wxGridCellCoords & bottomRight ) const;
// Access or update the selection fore/back colours
wxColour GetSelectionBackground() const
}
// Accessors for component windows
- wxWindow* GetGridWindow() { return (wxWindow*)m_gridWin; }
- wxWindow* GetGridRowLabelWindow() { return (wxWindow*)m_rowLabelWin; }
- wxWindow* GetGridColLabelWindow() { return (wxWindow*)m_colLabelWin; }
- wxWindow* GetGridCornerLabelWindow() { return (wxWindow*)m_cornerLabelWin; }
+ wxWindow* GetGridWindow() const { return (wxWindow*)m_gridWin; }
+ wxWindow* GetGridRowLabelWindow() const { return (wxWindow*)m_rowLabelWin; }
+ wxWindow* GetGridColLabelWindow() const { return (wxWindow*)m_colLabelWin; }
+ wxWindow* GetGridCornerLabelWindow() const { return (wxWindow*)m_cornerLabelWin; }
// Allow adjustment of scroll increment. The default is (15, 15).
void SetScrollLineX(int x) { m_scrollLineX = x; }
void UpdateDimensions()
{ CalcDimensions(); }
- int GetRows() { return GetNumberRows(); }
- int GetCols() { return GetNumberCols(); }
- int GetCursorRow() { return GetGridCursorRow(); }
- int GetCursorColumn() { return GetGridCursorCol(); }
+ int GetRows() const { return GetNumberRows(); }
+ int GetCols() const { return GetNumberCols(); }
+ int GetCursorRow() const { return GetGridCursorRow(); }
+ int GetCursorColumn() const { return GetGridCursorCol(); }
- int GetScrollPosX() { return 0; }
- int GetScrollPosY() { return 0; }
+ int GetScrollPosX() const { return 0; }
+ int GetScrollPosY() const { return 0; }
void SetScrollX( int WXUNUSED(x) ) { }
void SetScrollY( int WXUNUSED(y) ) { }
void SetColumnWidth( int col, int width )
{ SetColSize( col, width ); }
- int GetColumnWidth( int col )
+ int GetColumnWidth( int col ) const
{ return GetColSize( col ); }
void SetRowHeight( int row, int height )
// GetRowHeight() is below
- int GetViewHeight() // returned num whole rows visible
+ int GetViewHeight() const // returned num whole rows visible
{ return 0; }
- int GetViewWidth() // returned num whole cols visible
+ int GetViewWidth() const // returned num whole cols visible
{ return 0; }
void SetLabelSize( int orientation, int sz )
SetRowLabelSize( sz );
}
- int GetLabelSize( int orientation )
+ int GetLabelSize( int orientation ) const
{
if ( orientation == wxHORIZONTAL )
return GetColLabelSize();
SetRowLabelAlignment( align, -1 );
}
- int GetLabelAlignment( int orientation, int WXUNUSED(align) )
+ int GetLabelAlignment( int orientation, int WXUNUSED(align) ) const
{
int h, v;
if ( orientation == wxHORIZONTAL )
SetRowLabelValue( pos, val );
}
- wxString GetLabelValue( int orientation, int pos)
+ wxString GetLabelValue( int orientation, int pos) const
{
if ( orientation == wxHORIZONTAL )
return GetColLabelValue( pos );
void SetCellBackgroundColour(const wxColour& colour, int row, int col)
{ SetCellBackgroundColour( row, col, colour ); }
- bool GetEditable() { return IsEditable(); }
+ bool GetEditable() const { return IsEditable(); }
void SetEditable( bool edit = true ) { EnableEditing( edit ); }
- bool GetEditInPlace() { return IsCellEditControlEnabled(); }
+ bool GetEditInPlace() const { return IsCellEditControlEnabled(); }
void SetEditInPlace(bool WXUNUSED(edit) = true) { }
int GetRowMinimalHeight(int col) const;
// do we have some place to store attributes in?
- bool CanHaveAttributes();
+ bool CanHaveAttributes() const;
// cell attribute cache (currently we only cache 1, may be will do
// more/better later)
// looks for the attr in cache, if not found asks the table and caches the
// result
wxGridCellAttr *GetCellAttr(int row, int col) const;
- wxGridCellAttr *GetCellAttr(const wxGridCellCoords& coords )
+ wxGridCellAttr *GetCellAttr(const wxGridCellCoords& coords ) const
{ return GetCellAttr( coords.GetRow(), coords.GetCol() ); }
// the default cell attr object for cells that don't have their own
// NULL (because the table has a type that the grid does not have in its
// registry), then the grid's default editor or renderer is used.
-wxGridCellRenderer* wxGridCellAttr::GetRenderer(wxGrid* grid, int row, int col) const
+wxGridCellRenderer* wxGridCellAttr::GetRenderer(const wxGrid* grid, int row, int col) const
{
wxGridCellRenderer *renderer = NULL;
}
// same as above, except for s/renderer/editor/g
-wxGridCellEditor* wxGridCellAttr::GetEditor(wxGrid* grid, int row, int col) const
+wxGridCellEditor* wxGridCellAttr::GetEditor(const wxGrid* grid, int row, int col) const
{
wxGridCellEditor *editor = NULL;
return result;
}
-wxArrayInt wxGrid::CalcRowLabelsExposed( const wxRegion& reg )
+wxArrayInt wxGrid::CalcRowLabelsExposed( const wxRegion& reg ) const
{
wxRegionIterator iter( reg );
wxRect r;
return rowlabels;
}
-wxArrayInt wxGrid::CalcColLabelsExposed( const wxRegion& reg )
+wxArrayInt wxGrid::CalcColLabelsExposed( const wxRegion& reg ) const
{
wxRegionIterator iter( reg );
wxRect r;
return colLabels;
}
-wxGridCellCoordsArray wxGrid::CalcCellsExposed( const wxRegion& reg )
+wxGridCellCoordsArray wxGrid::CalcCellsExposed( const wxRegion& reg ) const
{
wxRegionIterator iter( reg );
wxRect r;
// Split multi-line text up into an array of strings.
// Any existing contents of the string array are preserved.
//
-void wxGrid::StringToLines( const wxString& value, wxArrayString& lines )
+void wxGrid::StringToLines( const wxString& value, wxArrayString& lines ) const
{
int startPos = 0;
int pos;
void wxGrid::GetTextBoxSize( const wxDC& dc,
const wxArrayString& lines,
- long *width, long *height )
+ long *width, long *height ) const
{
long w = 0;
long h = 0;
// coordinates for mouse events etc.
//
-void wxGrid::XYToCell( int x, int y, wxGridCellCoords& coords )
+void wxGrid::XYToCell( int x, int y, wxGridCellCoords& coords ) const
{
int row = YToRow(y);
int col = XToCol(x);
return i_max;
}
-int wxGrid::YToRow( int y )
+int wxGrid::YToRow( int y ) const
{
return CoordToRowOrCol(y, m_defaultRowHeight,
m_minAcceptableRowHeight, m_rowBottoms, m_numRows, false);
}
-int wxGrid::XToCol( int x, bool clipToMinMax )
+int wxGrid::XToCol( int x, bool clipToMinMax ) const
{
if (x < 0)
return clipToMinMax && (m_numCols > 0) ? GetColAt( 0 ) : -1;
- if (!m_defaultColWidth)
- m_defaultColWidth = 1;
+ wxASSERT_MSG(m_defaultColWidth > 0, wxT("Default column width can not be zero"));
int maxPos = x / m_defaultColWidth;
int minPos = 0;
// (b) resizing rows/columns (the thing for which edge detection is
// relevant at all) is enabled.
//
-int wxGrid::YToEdgeOfRow( int y )
+int wxGrid::YToEdgeOfRow( int y ) const
{
int i;
i = internalYToRow(y);
// -1 if not near an edge
// See comment at YToEdgeOfRow for conditions on edge detection.
//
-int wxGrid::XToEdgeOfCol( int x )
+int wxGrid::XToEdgeOfCol( int x ) const
{
int i;
i = internalXToCol(x);
return -1;
}
-wxRect wxGrid::CellToRect( int row, int col )
+wxRect wxGrid::CellToRect( int row, int col ) const
{
wxRect rect( -1, -1, -1, -1 );
return rect;
}
-bool wxGrid::IsVisible( int row, int col, bool wholeCellVisible )
+bool wxGrid::IsVisible( int row, int col, bool wholeCellVisible ) const
{
// get the cell rectangle in logical coords
//
// ------ Label values and formatting
//
-void wxGrid::GetRowLabelAlignment( int *horiz, int *vert )
+void wxGrid::GetRowLabelAlignment( int *horiz, int *vert ) const
{
if ( horiz )
*horiz = m_rowLabelHorizAlign;
*vert = m_rowLabelVertAlign;
}
-void wxGrid::GetColLabelAlignment( int *horiz, int *vert )
+void wxGrid::GetColLabelAlignment( int *horiz, int *vert ) const
{
if ( horiz )
*horiz = m_colLabelHorizAlign;
*vert = m_colLabelVertAlign;
}
-int wxGrid::GetColLabelTextOrientation()
+int wxGrid::GetColLabelTextOrientation() const
{
return m_colLabelTextOrientation;
}
-wxString wxGrid::GetRowLabelValue( int row )
+wxString wxGrid::GetRowLabelValue( int row ) const
{
if ( m_table )
{
}
}
-wxString wxGrid::GetColLabelValue( int col )
+wxString wxGrid::GetColLabelValue( int col ) const
{
if ( m_table )
{
}
}
-int wxGrid::GetDefaultRowSize()
+int wxGrid::GetDefaultRowSize() const
{
return m_defaultRowHeight;
}
-int wxGrid::GetRowSize( int row )
+int wxGrid::GetRowSize( int row ) const
{
wxCHECK_MSG( row >= 0 && row < m_numRows, 0, _T("invalid row index") );
return GetRowHeight(row);
}
-int wxGrid::GetDefaultColSize()
+int wxGrid::GetDefaultColSize() const
{
return m_defaultColWidth;
}
-int wxGrid::GetColSize( int col )
+int wxGrid::GetColSize( int col ) const
{
wxCHECK_MSG( col >= 0 && col < m_numCols, 0, _T("invalid column index") );
}
// ----------------------------------------------------------------------------
-// access to the default attrbiutes
+// access to the default attributes
// ----------------------------------------------------------------------------
-wxColour wxGrid::GetDefaultCellBackgroundColour()
+wxColour wxGrid::GetDefaultCellBackgroundColour() const
{
return m_defaultCellAttr->GetBackgroundColour();
}
-wxColour wxGrid::GetDefaultCellTextColour()
+wxColour wxGrid::GetDefaultCellTextColour() const
{
return m_defaultCellAttr->GetTextColour();
}
-wxFont wxGrid::GetDefaultCellFont()
+wxFont wxGrid::GetDefaultCellFont() const
{
return m_defaultCellAttr->GetFont();
}
-void wxGrid::GetDefaultCellAlignment( int *horiz, int *vert )
+void wxGrid::GetDefaultCellAlignment( int *horiz, int *vert ) const
{
m_defaultCellAttr->GetAlignment(horiz, vert);
}
-bool wxGrid::GetDefaultCellOverflow()
+bool wxGrid::GetDefaultCellOverflow() const
{
return m_defaultCellAttr->GetOverflow();
}
// access to cell attributes
// ----------------------------------------------------------------------------
-wxColour wxGrid::GetCellBackgroundColour(int row, int col)
+wxColour wxGrid::GetCellBackgroundColour(int row, int col) const
{
wxGridCellAttr *attr = GetCellAttr(row, col);
wxColour colour = attr->GetBackgroundColour();
return colour;
}
-wxColour wxGrid::GetCellTextColour( int row, int col )
+wxColour wxGrid::GetCellTextColour( int row, int col ) const
{
wxGridCellAttr *attr = GetCellAttr(row, col);
wxColour colour = attr->GetTextColour();
return colour;
}
-wxFont wxGrid::GetCellFont( int row, int col )
+wxFont wxGrid::GetCellFont( int row, int col ) const
{
wxGridCellAttr *attr = GetCellAttr(row, col);
wxFont font = attr->GetFont();
return font;
}
-void wxGrid::GetCellAlignment( int row, int col, int *horiz, int *vert )
+void wxGrid::GetCellAlignment( int row, int col, int *horiz, int *vert ) const
{
wxGridCellAttr *attr = GetCellAttr(row, col);
attr->GetAlignment(horiz, vert);
attr->DecRef();
}
-bool wxGrid::GetCellOverflow( int row, int col )
+bool wxGrid::GetCellOverflow( int row, int col ) const
{
wxGridCellAttr *attr = GetCellAttr(row, col);
bool allow = attr->GetOverflow();
return allow;
}
-void wxGrid::GetCellSize( int row, int col, int *num_rows, int *num_cols )
+void wxGrid::GetCellSize( int row, int col, int *num_rows, int *num_cols ) const
{
wxGridCellAttr *attr = GetCellAttr(row, col);
attr->GetSize( num_rows, num_cols );
attr->DecRef();
}
-wxGridCellRenderer* wxGrid::GetCellRenderer(int row, int col)
+wxGridCellRenderer* wxGrid::GetCellRenderer(int row, int col) const
{
wxGridCellAttr* attr = GetCellAttr(row, col);
wxGridCellRenderer* renderer = attr->GetRenderer(this, row, col);
return renderer;
}
-wxGridCellEditor* wxGrid::GetCellEditor(int row, int col)
+wxGridCellEditor* wxGrid::GetCellEditor(int row, int col) const
{
wxGridCellAttr* attr = GetCellAttr(row, col);
wxGridCellEditor* editor = attr->GetEditor(this, row, col);
// attribute support: cache, automatic provider creation, ...
// ----------------------------------------------------------------------------
-bool wxGrid::CanHaveAttributes()
+bool wxGrid::CanHaveAttributes() const
{
if ( !m_table )
{
void wxGrid::SetDefaultColSize( int width, bool resizeExistingCols )
{
- m_defaultColWidth = wxMax( width, m_minAcceptableColWidth );
+ // we dont allow zero default column width
+ m_defaultColWidth = wxMax( wxMax( width, m_minAcceptableColWidth ), 1 );
if ( resizeExistingCols )
{
m_selection->ToggleCellSelection(row, col);
}
-bool wxGrid::IsSelection()
+bool wxGrid::IsSelection() const
{
return ( m_selection && (m_selection->IsSelection() ||
( m_selectingTopLeft != wxGridNoCellCoords &&
// in device coords clipped to the client size of the grid window.
//
wxRect wxGrid::BlockToDeviceRect( const wxGridCellCoords &topLeft,
- const wxGridCellCoords &bottomRight )
+ const wxGridCellCoords &bottomRight ) const
{
wxRect rect( wxGridNoCellRect );
wxRect cellRect;