some extra refreshing and updating on wxMac so the grid renders itself correctly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33800 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2005-04-21 19:53:51 +00:00
parent c26337bcb1
commit 7d75e6c6cf
2 changed files with 16 additions and 0 deletions

View File

@@ -7788,6 +7788,10 @@ void wxGrid::HideCellEditControl()
wxRect rect( CellToRect(row, col) ); wxRect rect( CellToRect(row, col) );
CalcScrolledPosition(rect.x, rect.y, &rect.x, &rect.y ); CalcScrolledPosition(rect.x, rect.y, &rect.x, &rect.y );
rect.width = m_gridWin->GetClientSize().GetWidth() - rect.x; rect.width = m_gridWin->GetClientSize().GetWidth() - rect.x;
#ifdef __WXMAC__
// ensure that the pixels under the focus ring get refreshed as well
rect.Inflate(10,10);
#endif
m_gridWin->Refresh( false, &rect ); m_gridWin->Refresh( false, &rect );
} }
} }

View File

@@ -807,6 +807,9 @@ void wxGridSelection::ClearSelection()
{ {
r = m_grid->BlockToDeviceRect( coords1, coords1 ); r = m_grid->BlockToDeviceRect( coords1, coords1 );
((wxWindow *)m_grid->m_gridWin)->Refresh( false, &r ); ((wxWindow *)m_grid->m_gridWin)->Refresh( false, &r );
#ifdef __WXMAC__
((wxWindow *)m_grid->m_gridWin)->Update();
#endif
} }
} }
} }
@@ -823,6 +826,9 @@ void wxGridSelection::ClearSelection()
{ {
r = m_grid->BlockToDeviceRect( coords1, coords2 ); r = m_grid->BlockToDeviceRect( coords1, coords2 );
((wxWindow *)m_grid->m_gridWin)->Refresh( false, &r ); ((wxWindow *)m_grid->m_gridWin)->Refresh( false, &r );
#ifdef __WXMAC__
((wxWindow *)m_grid->m_gridWin)->Update();
#endif
} }
} }
@@ -839,6 +845,9 @@ void wxGridSelection::ClearSelection()
r = m_grid->BlockToDeviceRect( wxGridCellCoords( row, 0 ), r = m_grid->BlockToDeviceRect( wxGridCellCoords( row, 0 ),
wxGridCellCoords( row, m_grid->GetNumberCols() - 1 ) ); wxGridCellCoords( row, m_grid->GetNumberCols() - 1 ) );
((wxWindow *)m_grid->m_gridWin)->Refresh( false, &r ); ((wxWindow *)m_grid->m_gridWin)->Refresh( false, &r );
#ifdef __WXMAC__
((wxWindow *)m_grid->m_gridWin)->Update();
#endif
} }
} }
} }
@@ -856,6 +865,9 @@ void wxGridSelection::ClearSelection()
r = m_grid->BlockToDeviceRect( wxGridCellCoords( 0, col ), r = m_grid->BlockToDeviceRect( wxGridCellCoords( 0, col ),
wxGridCellCoords( m_grid->GetNumberRows() - 1, col ) ); wxGridCellCoords( m_grid->GetNumberRows() - 1, col ) );
((wxWindow *)m_grid->m_gridWin)->Refresh( false, &r ); ((wxWindow *)m_grid->m_gridWin)->Refresh( false, &r );
#ifdef __WXMAC__
((wxWindow *)m_grid->m_gridWin)->Update();
#endif
} }
} }
} }