"Fixed" bug no 500487 by limiting wxGrid::DoGetBestSize's return value by
DisplaySize.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16909
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// ------ edit control functions
//
// ------ edit control functions
//
- bool IsEditable() { return m_editable; }
+ bool IsEditable() const { return m_editable; }
void EnableEditing( bool edit );
void EnableCellEditControl( bool enable = TRUE );
void EnableEditing( bool edit );
void EnableCellEditControl( bool enable = TRUE );
- bool IsInSelection( int row, int col );
+ bool IsInSelection( int row, int col ) const;
- bool IsInSelection( const wxGridCellCoords& coords )
+ bool IsInSelection( const wxGridCellCoords& coords ) const
{ return IsInSelection( coords.GetRow(), coords.GetCol() ); }
{ return IsInSelection( coords.GetRow(), coords.GetCol() ); }
// don't set sizes, only calculate them
wxGrid *self = (wxGrid *)this; // const_cast
// don't set sizes, only calculate them
wxGrid *self = (wxGrid *)this; // const_cast
- return wxSize(self->SetOrCalcColumnSizes(TRUE),
- self->SetOrCalcRowSizes(TRUE));
+ int width, height;
+ width = self->SetOrCalcColumnSizes(TRUE);
+ height = self->SetOrCalcRowSizes(TRUE);
+
+ int maxwidth, maxheight;
+ wxDisplaySize( & maxwidth, & maxheight );
+
+ if ( width > maxwidth ) width = maxwidth;
+ if ( height > maxheight ) height = maxheight;
+
+ return wxSize( width, height );
m_selectingBottomRight != wxGridNoCellCoords) ) );
}
m_selectingBottomRight != wxGridNoCellCoords) ) );
}
-bool wxGrid::IsInSelection( int row, int col )
+bool wxGrid::IsInSelection( int row, int col ) const
{
return ( m_selection && (m_selection->IsInSelection( row, col ) ||
( row >= m_selectingTopLeft.GetRow() &&
{
return ( m_selection && (m_selection->IsInSelection( row, col ) ||
( row >= m_selectingTopLeft.GetRow() &&