]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/gridsel.cpp
disallow creation of wxDC objects and made wxDC an ABC; use wxDCTemp instead of wxDC...
[wxWidgets.git] / src / generic / gridsel.cpp
index d7487cb1df5d725f0db3e4f7c327051b6508b213..f1d62b07f64764a477ec5f4b0e6734188bb230a9 100644 (file)
 // headers
 // ----------------------------------------------------------------------------
 
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "gridsel.h"
-#endif
-
 // For compilers that support precompilation, includes "wx/wx.h".
 #include "wx/wxprec.h"
 
 // For compilers that support precompilation, includes "wx/wx.h".
 #include "wx/wxprec.h"
 
@@ -69,7 +65,7 @@ bool wxGridSelection::IsInSelection ( int row, int col )
         {
             wxGridCellCoords& coords = m_cellSelection[n];
             if ( row == coords.GetRow() && col == coords.GetCol() )
         {
             wxGridCellCoords& coords = m_cellSelection[n];
             if ( row == coords.GetRow() && col == coords.GetCol() )
-                return TRUE;
+                return true;
         }
     }
 
         }
     }
 
@@ -83,7 +79,7 @@ bool wxGridSelection::IsInSelection ( int row, int col )
         if ( BlockContainsCell(coords1.GetRow(), coords1.GetCol(),
                                coords2.GetRow(), coords2.GetCol(),
                                row, col ) )
         if ( BlockContainsCell(coords1.GetRow(), coords1.GetCol(),
                                coords2.GetRow(), coords2.GetCol(),
                                row, col ) )
-            return TRUE;
+            return true;
     }
 
     // Now check whether the given cell is
     }
 
     // Now check whether the given cell is
@@ -91,11 +87,11 @@ bool wxGridSelection::IsInSelection ( int row, int col )
     // (unless we are in column selection mode).
     if ( m_selectionMode != wxGrid::wxGridSelectColumns )
     {
     // (unless we are in column selection mode).
     if ( m_selectionMode != wxGrid::wxGridSelectColumns )
     {
-        size_t count = m_rowSelection.GetCount();
+        count = m_rowSelection.GetCount();
         for ( size_t n = 0; n < count; n++ )
         {
             if ( row == m_rowSelection[n] )
         for ( size_t n = 0; n < count; n++ )
         {
             if ( row == m_rowSelection[n] )
-              return TRUE;
+              return true;
         }
     }
 
         }
     }
 
@@ -104,14 +100,14 @@ bool wxGridSelection::IsInSelection ( int row, int col )
     // (unless we are in row selection mode).
     if ( m_selectionMode != wxGrid::wxGridSelectRows )
     {
     // (unless we are in row selection mode).
     if ( m_selectionMode != wxGrid::wxGridSelectRows )
     {
-        size_t count = m_colSelection.GetCount();
+        count = m_colSelection.GetCount();
         for ( size_t n = 0; n < count; n++ )
         {
             if ( col == m_colSelection[n] )
         for ( size_t n = 0; n < count; n++ )
         {
             if ( col == m_colSelection[n] )
-              return TRUE;
+              return true;
         }
     }
         }
     }
-    return FALSE;
+    return false;
 }
 
 // Change the selection mode
 }
 
 // Change the selection mode
@@ -165,7 +161,7 @@ void wxGridSelection::SetSelectionMode(wxGrid::wxGridSelectionModes selmode)
                     m_blockSelectionBottomRight.RemoveAt(n);
                     SelectBlock( topRow, 0,
                                  bottomRow, m_grid->GetNumberCols() - 1,
                     m_blockSelectionBottomRight.RemoveAt(n);
                     SelectBlock( topRow, 0,
                                  bottomRow, m_grid->GetNumberCols() - 1,
-                                 FALSE, FALSE, FALSE, FALSE, FALSE );
+                                 false, false, false, false, false );
                 }
             }
             else // selmode == wxGridSelectColumns)
                 }
             }
             else // selmode == wxGridSelectColumns)
@@ -176,7 +172,7 @@ void wxGridSelection::SetSelectionMode(wxGrid::wxGridSelectionModes selmode)
                     m_blockSelectionBottomRight.RemoveAt(n);
                     SelectBlock( 0, leftCol,
                                  m_grid->GetNumberRows() - 1, rightCol,
                     m_blockSelectionBottomRight.RemoveAt(n);
                     SelectBlock( 0, leftCol,
                                  m_grid->GetNumberRows() - 1, rightCol,
-                                 FALSE, FALSE, FALSE, FALSE, FALSE );
+                                 false, false, false, false, false );
                 }
             }
         }
                 }
             }
         }
@@ -210,7 +206,7 @@ void wxGridSelection::SelectRow( int row,
 
     // Simplify list of selected blocks (if possible)
     count = m_blockSelectionTopLeft.GetCount();
 
     // Simplify list of selected blocks (if possible)
     count = m_blockSelectionTopLeft.GetCount();
-    bool done = FALSE;
+    bool done = false;
     for ( n = 0; n < count; n++ )
     {
         wxGridCellCoords& coords1 = m_blockSelectionTopLeft[n];
     for ( n = 0; n < count; n++ )
     {
         wxGridCellCoords& coords1 = m_blockSelectionTopLeft[n];
@@ -233,12 +229,12 @@ void wxGridSelection::SelectRow( int row,
             else if ( coords1.GetRow() == row + 1)
             {
                 coords1.SetRow(row);
             else if ( coords1.GetRow() == row + 1)
             {
                 coords1.SetRow(row);
-                done = TRUE;
+                done = true;
             }
             else if ( coords2.GetRow() == row - 1)
             {
                 coords2.SetRow(row);
             }
             else if ( coords2.GetRow() == row - 1)
             {
                 coords2.SetRow(row);
-                done = TRUE;
+                done = true;
             }
         }
     }
             }
         }
     }
@@ -263,7 +259,7 @@ void wxGridSelection::SelectRow( int row,
     {
         wxRect r = m_grid->BlockToDeviceRect( wxGridCellCoords( row, 0 ),
                                               wxGridCellCoords( row, m_grid->GetNumberCols() - 1 ) );
     {
         wxRect r = m_grid->BlockToDeviceRect( wxGridCellCoords( row, 0 ),
                                               wxGridCellCoords( row, m_grid->GetNumberCols() - 1 ) );
-        ((wxWindow *)m_grid->m_gridWin)->Refresh( FALSE, &r );
+        ((wxWindow *)m_grid->m_gridWin)->Refresh( false, &r );
     }
 
     // Send Event
     }
 
     // Send Event
@@ -272,7 +268,7 @@ void wxGridSelection::SelectRow( int row,
                                     m_grid,
                                     wxGridCellCoords( row, 0 ),
                                     wxGridCellCoords( row, m_grid->GetNumberCols() - 1 ),
                                     m_grid,
                                     wxGridCellCoords( row, 0 ),
                                     wxGridCellCoords( row, m_grid->GetNumberCols() - 1 ),
-                                    TRUE,
+                                    true,
                                     ControlDown,  ShiftDown,
                                     AltDown, MetaDown );
 
                                     ControlDown,  ShiftDown,
                                     AltDown, MetaDown );
 
@@ -305,7 +301,7 @@ void wxGridSelection::SelectCol( int col,
 
     // Simplify list of selected blocks (if possible)
     count = m_blockSelectionTopLeft.GetCount();
 
     // Simplify list of selected blocks (if possible)
     count = m_blockSelectionTopLeft.GetCount();
-    bool done = FALSE;
+    bool done = false;
     for ( n = 0; n < count; n++ )
     {
         wxGridCellCoords& coords1 = m_blockSelectionTopLeft[n];
     for ( n = 0; n < count; n++ )
     {
         wxGridCellCoords& coords1 = m_blockSelectionTopLeft[n];
@@ -328,12 +324,12 @@ void wxGridSelection::SelectCol( int col,
             else if ( coords1.GetCol() == col + 1)
             {
                 coords1.SetCol(col);
             else if ( coords1.GetCol() == col + 1)
             {
                 coords1.SetCol(col);
-                done = TRUE;
+                done = true;
             }
             else if ( coords2.GetCol() == col - 1)
             {
                 coords2.SetCol(col);
             }
             else if ( coords2.GetCol() == col - 1)
             {
                 coords2.SetCol(col);
-                done = TRUE;
+                done = true;
             }
         }
     }
             }
         }
     }
@@ -358,7 +354,7 @@ void wxGridSelection::SelectCol( int col,
     {
         wxRect r = m_grid->BlockToDeviceRect( wxGridCellCoords( 0, col ),
                                               wxGridCellCoords( m_grid->GetNumberRows() - 1, col ) );
     {
         wxRect r = m_grid->BlockToDeviceRect( wxGridCellCoords( 0, col ),
                                               wxGridCellCoords( m_grid->GetNumberRows() - 1, col ) );
-        ((wxWindow *)m_grid->m_gridWin)->Refresh( FALSE, &r );
+        ((wxWindow *)m_grid->m_gridWin)->Refresh( false, &r );
     }
 
     // Send Event
     }
 
     // Send Event
@@ -367,7 +363,7 @@ void wxGridSelection::SelectCol( int col,
                                     m_grid,
                                     wxGridCellCoords( 0, col ),
                                     wxGridCellCoords( m_grid->GetNumberRows() - 1, col ),
                                     m_grid,
                                     wxGridCellCoords( 0, col ),
                                     wxGridCellCoords( m_grid->GetNumberRows() - 1, col ),
-                                    TRUE,
+                                    true,
                                     ControlDown,  ShiftDown,
                                     AltDown, MetaDown );
 
                                     ControlDown,  ShiftDown,
                                     AltDown, MetaDown );
 
@@ -443,14 +439,17 @@ void wxGridSelection::SelectBlock( int topRow, int leftCol,
                                coords2.GetRow(), coords2.GetCol(),
                                topRow, leftCol, bottomRow, rightCol ) )
         {
                                coords2.GetRow(), coords2.GetCol(),
                                topRow, leftCol, bottomRow, rightCol ) )
         {
-          case 1:
-            return;
-          case -1:
-            m_blockSelectionTopLeft.RemoveAt(n);
-            m_blockSelectionBottomRight.RemoveAt(n);
-            n--; count--;
-          default:
-            ;
+            case 1:
+                return;
+
+            case -1:
+                m_blockSelectionTopLeft.RemoveAt(n);
+                m_blockSelectionBottomRight.RemoveAt(n);
+                n--; count--;
+                break;
+
+            default:
+                break;
         }
     }
 
         }
     }
 
@@ -465,13 +464,16 @@ void wxGridSelection::SelectBlock( int topRow, int leftCol,
                                    m_rowSelection[n], m_grid->GetNumberCols()-1,
                                    topRow, leftCol, bottomRow, rightCol ) )
             {
                                    m_rowSelection[n], m_grid->GetNumberCols()-1,
                                    topRow, leftCol, bottomRow, rightCol ) )
             {
-              case 1:
-                return;
-              case -1:
-                m_rowSelection.RemoveAt(n);
-                n--; count--;
-              default:
-                ;
+                case 1:
+                    return;
+
+                case -1:
+                    m_rowSelection.RemoveAt(n);
+                    n--; count--;
+                    break;
+
+                default:
+                    break;
             }
         }
     }
             }
         }
     }
@@ -484,13 +486,16 @@ void wxGridSelection::SelectBlock( int topRow, int leftCol,
                                    m_grid->GetNumberRows()-1, m_colSelection[n],
                                    topRow, leftCol, bottomRow, rightCol ) )
             {
                                    m_grid->GetNumberRows()-1, m_colSelection[n],
                                    topRow, leftCol, bottomRow, rightCol ) )
             {
-              case 1:
-                return;
-              case -1:
-                m_colSelection.RemoveAt(n);
-                n--; count--;
-              default:
-                ;
+                case 1:
+                    return;
+
+                case -1:
+                    m_colSelection.RemoveAt(n);
+                    n--; count--;
+                    break;
+
+                default:
+                    break;
             }
         }
     }
             }
         }
     }
@@ -502,7 +507,7 @@ void wxGridSelection::SelectBlock( int topRow, int leftCol,
     {
         wxRect r = m_grid->BlockToDeviceRect( wxGridCellCoords( topRow, leftCol ),
                                               wxGridCellCoords( bottomRow, rightCol ) );
     {
         wxRect r = m_grid->BlockToDeviceRect( wxGridCellCoords( topRow, leftCol ),
                                               wxGridCellCoords( bottomRow, rightCol ) );
-        ((wxWindow *)m_grid->m_gridWin)->Refresh( FALSE, &r );
+        ((wxWindow *)m_grid->m_gridWin)->Refresh( false, &r );
     }
 
     // Send Event, if not disabled.
     }
 
     // Send Event, if not disabled.
@@ -513,7 +518,7 @@ void wxGridSelection::SelectBlock( int topRow, int leftCol,
                                         m_grid,
                                         wxGridCellCoords( topRow, leftCol ),
                                         wxGridCellCoords( bottomRow, rightCol ),
                                         m_grid,
                                         wxGridCellCoords( topRow, leftCol ),
                                         wxGridCellCoords( bottomRow, rightCol ),
-                                        TRUE,
+                                        true,
                                         ControlDown, ShiftDown,
                                         AltDown, MetaDown );
         m_grid->GetEventHandler()->ProcessEvent(gridEvt);
                                         ControlDown, ShiftDown,
                                         AltDown, MetaDown );
         m_grid->GetEventHandler()->ProcessEvent(gridEvt);
@@ -546,7 +551,7 @@ void wxGridSelection::SelectCell( int row, int col,
     {
         wxRect r = m_grid->BlockToDeviceRect( wxGridCellCoords( row, col ),
                                               wxGridCellCoords( row, col ) );
     {
         wxRect r = m_grid->BlockToDeviceRect( wxGridCellCoords( row, col ),
                                               wxGridCellCoords( row, col ) );
-        ((wxWindow *)m_grid->m_gridWin)->Refresh( FALSE, &r );
+        ((wxWindow *)m_grid->m_gridWin)->Refresh( false, &r );
     }
 
     // Send event
     }
 
     // Send event
@@ -557,7 +562,7 @@ void wxGridSelection::SelectCell( int row, int col,
                                         m_grid,
                                         wxGridCellCoords( row, col ),
                                         wxGridCellCoords( row, col ),
                                         m_grid,
                                         wxGridCellCoords( row, col ),
                                         wxGridCellCoords( row, col ),
-                                        TRUE,
+                                        true,
                                         ControlDown, ShiftDown,
                                         AltDown, MetaDown);
         m_grid->GetEventHandler()->ProcessEvent(gridEvt);
                                         ControlDown, ShiftDown,
                                         AltDown, MetaDown);
         m_grid->GetEventHandler()->ProcessEvent(gridEvt);
@@ -590,15 +595,15 @@ void wxGridSelection::ToggleCellSelection( int row, int col,
         count = m_cellSelection.GetCount();
         for ( n = 0; n < count; n++ )
         {
         count = m_cellSelection.GetCount();
         for ( n = 0; n < count; n++ )
         {
-            wxGridCellCoords& coords = m_cellSelection[n];
-            if ( row == coords.GetRow() && col == coords.GetCol() )
+            const wxGridCellCoords& sel = m_cellSelection[n];
+            if ( row == sel.GetRow() && col == sel.GetCol() )
             {
                 wxGridCellCoords coords = m_cellSelection[n];
                 m_cellSelection.RemoveAt(n);
                 if ( !m_grid->GetBatchCount() )
                 {
                     wxRect r = m_grid->BlockToDeviceRect( coords, coords );
             {
                 wxGridCellCoords coords = m_cellSelection[n];
                 m_cellSelection.RemoveAt(n);
                 if ( !m_grid->GetBatchCount() )
                 {
                     wxRect r = m_grid->BlockToDeviceRect( coords, coords );
-                    ((wxWindow *)m_grid->m_gridWin)->Refresh( FALSE, &r );
+                    ((wxWindow *)m_grid->m_gridWin)->Refresh( false, &r );
                 }
 
                 // Send event
                 }
 
                 // Send event
@@ -607,7 +612,7 @@ void wxGridSelection::ToggleCellSelection( int row, int col,
                                                 m_grid,
                                                 wxGridCellCoords( row, col ),
                                                 wxGridCellCoords( row, col ),
                                                 m_grid,
                                                 wxGridCellCoords( row, col ),
                                                 wxGridCellCoords( row, col ),
-                                                FALSE,
+                                                false,
                                                 ControlDown, ShiftDown,
                                                 AltDown, MetaDown );
                 m_grid->GetEventHandler()->ProcessEvent(gridEvt);
                                                 ControlDown, ShiftDown,
                                                 AltDown, MetaDown );
                 m_grid->GetEventHandler()->ProcessEvent(gridEvt);
@@ -656,19 +661,19 @@ void wxGridSelection::ToggleCellSelection( int row, int col,
             {
                 if ( topRow < row )
                     SelectBlock( topRow, leftCol, row - 1, rightCol,
             {
                 if ( topRow < row )
                     SelectBlock( topRow, leftCol, row - 1, rightCol,
-                                 FALSE, FALSE, FALSE, FALSE, FALSE );
+                                 false, false, false, false, false );
                 if ( bottomRow > row )
                     SelectBlock( row + 1, leftCol, bottomRow, rightCol,
                 if ( bottomRow > row )
                     SelectBlock( row + 1, leftCol, bottomRow, rightCol,
-                                 FALSE, FALSE, FALSE, FALSE, FALSE );
+                                 false, false, false, false, false );
             }
             if ( m_selectionMode != wxGrid::wxGridSelectRows )
             {
                 if ( leftCol < col )
                     SelectBlock( row, leftCol, row, col - 1,
             }
             if ( m_selectionMode != wxGrid::wxGridSelectRows )
             {
                 if ( leftCol < col )
                     SelectBlock( row, leftCol, row, col - 1,
-                                 FALSE, FALSE, FALSE, FALSE, FALSE );
+                                 false, false, false, false, false );
                 if ( rightCol > col )
                     SelectBlock( row, col + 1, row, rightCol,
                 if ( rightCol > col )
                     SelectBlock( row, col + 1, row, rightCol,
-                                 FALSE, FALSE, FALSE, FALSE, FALSE );
+                                 false, false, false, false, false );
             }
         }
     }
             }
         }
     }
@@ -687,11 +692,11 @@ void wxGridSelection::ToggleCellSelection( int row, int col,
                 {
                     if ( col > 0 )
                         SelectBlock( row, 0, row, col - 1,
                 {
                     if ( col > 0 )
                         SelectBlock( row, 0, row, col - 1,
-                                     FALSE, FALSE, FALSE, FALSE, FALSE );
+                                     false, false, false, false, false );
                     if ( col < m_grid->GetNumberCols() - 1 )
                         SelectBlock( row, col + 1,
                                      row, m_grid->GetNumberCols() - 1,
                     if ( col < m_grid->GetNumberCols() - 1 )
                         SelectBlock( row, col + 1,
                                      row, m_grid->GetNumberCols() - 1,
-                                     FALSE, FALSE, FALSE, FALSE, FALSE );
+                                     false, false, false, false, false );
                 }
             }
         }
                 }
             }
         }
@@ -711,11 +716,11 @@ void wxGridSelection::ToggleCellSelection( int row, int col,
                 {
                     if ( row > 0 )
                         SelectBlock( 0, col, row - 1, col,
                 {
                     if ( row > 0 )
                         SelectBlock( 0, col, row - 1, col,
-                                     FALSE, FALSE, FALSE, FALSE, FALSE );
+                                     false, false, false, false, false );
                     if ( row < m_grid->GetNumberRows() - 1 )
                         SelectBlock( row + 1, col,
                                      m_grid->GetNumberRows() - 1, col,
                     if ( row < m_grid->GetNumberRows() - 1 )
                         SelectBlock( row + 1, col,
                                      m_grid->GetNumberRows() - 1, col,
-                                     FALSE, FALSE, FALSE, FALSE, FALSE );
+                                     false, false, false, false, false );
                 }
             }
         }
                 }
             }
         }
@@ -732,7 +737,7 @@ void wxGridSelection::ToggleCellSelection( int row, int col,
           {
               r = m_grid->BlockToDeviceRect( wxGridCellCoords( row, col ),
                                              wxGridCellCoords( row, col ) );
           {
               r = m_grid->BlockToDeviceRect( wxGridCellCoords( row, col ),
                                              wxGridCellCoords( row, col ) );
-              ((wxWindow *)m_grid->m_gridWin)->Refresh( FALSE, &r );
+              ((wxWindow *)m_grid->m_gridWin)->Refresh( false, &r );
           }
 
           wxGridRangeSelectEvent gridEvt( m_grid->GetId(),
           }
 
           wxGridRangeSelectEvent gridEvt( m_grid->GetId(),
@@ -740,7 +745,7 @@ void wxGridSelection::ToggleCellSelection( int row, int col,
                                           m_grid,
                                           wxGridCellCoords( row, col ),
                                           wxGridCellCoords( row, col ),
                                           m_grid,
                                           wxGridCellCoords( row, col ),
                                           wxGridCellCoords( row, col ),
-                                          FALSE,
+                                          false,
                                           ControlDown, ShiftDown,
                                           AltDown, MetaDown );
           m_grid->GetEventHandler()->ProcessEvent(gridEvt);
                                           ControlDown, ShiftDown,
                                           AltDown, MetaDown );
           m_grid->GetEventHandler()->ProcessEvent(gridEvt);
@@ -752,7 +757,7 @@ void wxGridSelection::ToggleCellSelection( int row, int col,
           {
               r = m_grid->BlockToDeviceRect( wxGridCellCoords( row, 0 ),
                                              wxGridCellCoords( row, m_grid->GetNumberCols() - 1 ) );
           {
               r = m_grid->BlockToDeviceRect( wxGridCellCoords( row, 0 ),
                                              wxGridCellCoords( row, m_grid->GetNumberCols() - 1 ) );
-              ((wxWindow *)m_grid->m_gridWin)->Refresh( FALSE, &r );
+              ((wxWindow *)m_grid->m_gridWin)->Refresh( false, &r );
           }
 
           wxGridRangeSelectEvent gridEvt( m_grid->GetId(),
           }
 
           wxGridRangeSelectEvent gridEvt( m_grid->GetId(),
@@ -760,7 +765,7 @@ void wxGridSelection::ToggleCellSelection( int row, int col,
                                           m_grid,
                                           wxGridCellCoords( row, 0 ),
                                           wxGridCellCoords( row, m_grid->GetNumberCols() - 1 ),
                                           m_grid,
                                           wxGridCellCoords( row, 0 ),
                                           wxGridCellCoords( row, m_grid->GetNumberCols() - 1 ),
-                                          FALSE,
+                                          false,
                                           ControlDown, ShiftDown,
                                           AltDown, MetaDown );
           m_grid->GetEventHandler()->ProcessEvent(gridEvt);
                                           ControlDown, ShiftDown,
                                           AltDown, MetaDown );
           m_grid->GetEventHandler()->ProcessEvent(gridEvt);
@@ -772,7 +777,7 @@ void wxGridSelection::ToggleCellSelection( int row, int col,
           {
               r = m_grid->BlockToDeviceRect( wxGridCellCoords( 0, col ),
                                              wxGridCellCoords( m_grid->GetNumberRows() - 1, col ) );
           {
               r = m_grid->BlockToDeviceRect( wxGridCellCoords( 0, col ),
                                              wxGridCellCoords( m_grid->GetNumberRows() - 1, col ) );
-              ((wxWindow *)m_grid->m_gridWin)->Refresh( FALSE, &r );
+              ((wxWindow *)m_grid->m_gridWin)->Refresh( false, &r );
           }
 
           wxGridRangeSelectEvent gridEvt( m_grid->GetId(),
           }
 
           wxGridRangeSelectEvent gridEvt( m_grid->GetId(),
@@ -780,7 +785,7 @@ void wxGridSelection::ToggleCellSelection( int row, int col,
                                           m_grid,
                                           wxGridCellCoords( 0, col ),
                                           wxGridCellCoords( m_grid->GetNumberRows() - 1, col ),
                                           m_grid,
                                           wxGridCellCoords( 0, col ),
                                           wxGridCellCoords( m_grid->GetNumberRows() - 1, col ),
-                                          FALSE,
+                                          false,
                                           ControlDown, ShiftDown,
                                           AltDown, MetaDown );
           m_grid->GetEventHandler()->ProcessEvent(gridEvt);
                                           ControlDown, ShiftDown,
                                           AltDown, MetaDown );
           m_grid->GetEventHandler()->ProcessEvent(gridEvt);
@@ -806,7 +811,10 @@ void wxGridSelection::ClearSelection()
             if ( !m_grid->GetBatchCount() )
             {
                 r = m_grid->BlockToDeviceRect( coords1, coords1 );
             if ( !m_grid->GetBatchCount() )
             {
                 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
             }
         }
     }
             }
         }
     }
@@ -822,7 +830,10 @@ void wxGridSelection::ClearSelection()
         if ( !m_grid->GetBatchCount() )
         {
             r = m_grid->BlockToDeviceRect( coords1, coords2 );
         if ( !m_grid->GetBatchCount() )
         {
             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
         }
     }
 
         }
     }
 
@@ -838,7 +849,10 @@ void wxGridSelection::ClearSelection()
             {
                 r = m_grid->BlockToDeviceRect( wxGridCellCoords( row, 0 ),
                                                wxGridCellCoords( row, m_grid->GetNumberCols() - 1 ) );
             {
                 r = m_grid->BlockToDeviceRect( wxGridCellCoords( row, 0 ),
                                                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
             }
         }
     }
             }
         }
     }
@@ -855,7 +869,10 @@ void wxGridSelection::ClearSelection()
             {
                 r = m_grid->BlockToDeviceRect( wxGridCellCoords( 0, col ),
                                                wxGridCellCoords( m_grid->GetNumberRows() - 1, col ) );
             {
                 r = m_grid->BlockToDeviceRect( wxGridCellCoords( 0, 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
             }
         }
     }
             }
         }
     }
@@ -869,7 +886,7 @@ void wxGridSelection::ClearSelection()
                                     wxGridCellCoords( 0, 0 ),
                                     wxGridCellCoords( m_grid->GetNumberRows() - 1,
                                                       m_grid->GetNumberCols() - 1 ),
                                     wxGridCellCoords( 0, 0 ),
                                     wxGridCellCoords( m_grid->GetNumberRows() - 1,
                                                       m_grid->GetNumberCols() - 1 ),
-                                    FALSE );
+                                    false );
 
     m_grid->GetEventHandler()->ProcessEvent(gridEvt);
 }
 
     m_grid->GetEventHandler()->ProcessEvent(gridEvt);
 }