]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/grid.cpp
Applied patch [ 668155 ] Refresh problem when msgbox is shown
[wxWidgets.git] / src / generic / grid.cpp
index 2f12b4028e4fa2befab24167fec0a82e3aff4b55..a3390abd705c0d4ff3ad26dd0ffb6bb2ed6c7f85 100644 (file)
@@ -89,6 +89,10 @@ struct wxGridCellWithAttr
 
     wxGridCellCoords coords;
     wxGridCellAttr  *attr;
+
+// Cannot do this:
+//  DECLARE_NO_COPY_CLASS(wxGridCellWithAttr)
+// without rewriting the macros, which require a public copy constructor.
 };
 
 WX_DECLARE_EXPORTED_OBJARRAY(wxGridCellWithAttr, wxGridCellWithAttrArray);
@@ -141,6 +145,7 @@ private:
 
     DECLARE_DYNAMIC_CLASS(wxGridRowLabelWindow)
     DECLARE_EVENT_TABLE()
+    DECLARE_NO_COPY_CLASS(wxGridRowLabelWindow)
 };
 
 
@@ -162,6 +167,7 @@ private:
 
     DECLARE_DYNAMIC_CLASS(wxGridColLabelWindow)
     DECLARE_EVENT_TABLE()
+    DECLARE_NO_COPY_CLASS(wxGridColLabelWindow)
 };
 
 
@@ -183,6 +189,7 @@ private:
 
     DECLARE_DYNAMIC_CLASS(wxGridCornerLabelWindow)
     DECLARE_EVENT_TABLE()
+    DECLARE_NO_COPY_CLASS(wxGridCornerLabelWindow)
 };
 
 class WXDLLEXPORT wxGridWindow : public wxWindow
@@ -220,6 +227,7 @@ private:
 
     DECLARE_DYNAMIC_CLASS(wxGridWindow)
     DECLARE_EVENT_TABLE()
+    DECLARE_NO_COPY_CLASS(wxGridWindow)
 };
 
 
@@ -242,6 +250,7 @@ private:
     wxGridCellEditor*   m_editor;
     DECLARE_DYNAMIC_CLASS(wxGridCellEditorEvtHandler)
     DECLARE_EVENT_TABLE()
+    DECLARE_NO_COPY_CLASS(wxGridCellEditorEvtHandler)
 };
 
 
@@ -322,6 +331,8 @@ struct wxGridDataTypeInfo
     wxString            m_typeName;
     wxGridCellRenderer* m_renderer;
     wxGridCellEditor*   m_editor;
+
+    DECLARE_NO_COPY_CLASS(wxGridDataTypeInfo)
 };
 
 
@@ -912,7 +923,7 @@ void wxGridCellNumberEditor::StartingKey(wxKeyEvent& event)
 {
     if ( !HasRange() )
     {
-        int keycode = (int) event.KeyCode();
+        int keycode = event.GetKeyCode();
         if ( isdigit(keycode) || keycode == '+' || keycode == '-'
             || keycode ==  WXK_NUMPAD0
             || keycode ==  WXK_NUMPAD1
@@ -1052,7 +1063,7 @@ void wxGridCellFloatEditor::Reset()
 
 void wxGridCellFloatEditor::StartingKey(wxKeyEvent& event)
 {
-    int keycode = (int)event.KeyCode();
+    int keycode = event.GetKeyCode();
         if ( isdigit(keycode) || keycode == '+' || keycode == '-' || keycode == '.'
             || keycode ==  WXK_NUMPAD0
             || keycode ==  WXK_NUMPAD1
@@ -1227,14 +1238,14 @@ void wxGridCellBoolEditor::SetSize(const wxRect& r)
     int vAlign = wxALIGN_CENTRE;
     if (GetCellAttr())
         GetCellAttr()->GetAlignment(& hAlign, & vAlign);
-    
+
     int x = 0, y = 0;
     if (hAlign == wxALIGN_LEFT)
     {
         x = r.x + 2;
 #ifdef __WXMSW__
         x += 2;
-#endif        
+#endif
         y = r.y + r.height/2 - size.y/2;
     }
     else if (hAlign == wxALIGN_RIGHT)
@@ -1247,7 +1258,7 @@ void wxGridCellBoolEditor::SetSize(const wxRect& r)
         x = r.x + r.width/2 - size.x/2;
         y = r.y + r.height/2 - size.y/2;
     }
-    
+
     m_control->Move(x, y);
 }
 
@@ -1484,7 +1495,7 @@ wxString wxGridCellChoiceEditor::GetValue() const
 
 void wxGridCellEditorEvtHandler::OnKeyDown(wxKeyEvent& event)
 {
-    switch ( event.KeyCode() )
+    switch ( event.GetKeyCode() )
     {
         case WXK_ESCAPE:
             m_editor->Reset();
@@ -1509,7 +1520,7 @@ void wxGridCellEditorEvtHandler::OnKeyDown(wxKeyEvent& event)
 
 void wxGridCellEditorEvtHandler::OnChar(wxKeyEvent& event)
 {
-    switch ( event.KeyCode() )
+    switch ( event.GetKeyCode() )
     {
         case WXK_ESCAPE:
         case WXK_TAB:
@@ -1564,7 +1575,7 @@ void wxGridCellRenderer::Draw(wxGrid& grid,
       {
           dc.SetBrush( wxBrush(attr.GetBackgroundColour(), wxSOLID) );
       }
-    }  
+    }
     else
     {
       dc.SetBrush(wxBrush(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_BTNFACE), wxSOLID));
@@ -1984,7 +1995,7 @@ void wxGridCellBoolRenderer::Draw(wxGrid& grid,
     // draw a border around checkmark
     int vAlign, hAlign;
     attr.GetAlignment(& hAlign, &vAlign);
-    
+
     wxRect rectBorder;
     if (hAlign == wxALIGN_CENTRE)
     {
@@ -1998,14 +2009,14 @@ void wxGridCellBoolRenderer::Draw(wxGrid& grid,
         rectBorder.x = rect.x + 2;
         rectBorder.y = rect.y + rect.height/2 - size.y/2;
         rectBorder.width = size.x;
-        rectBorder.height = size.y;        
+        rectBorder.height = size.y;
     }
     else if (hAlign == wxALIGN_RIGHT)
     {
         rectBorder.x = rect.x + rect.width - size.x - 2;
         rectBorder.y = rect.y + rect.height/2 - size.y/2;
         rectBorder.width = size.x;
-        rectBorder.height = size.y;        
+        rectBorder.height = size.y;
     }
 
     bool value;
@@ -3952,8 +3963,7 @@ void wxGrid::Init()
     // TODO: something better than this ?
     //
     m_labelFont = this->GetFont();
-//    m_labelFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
-//    m_labelFont.SetWeight( m_labelFont.GetWeight() + 2 );
+    m_labelFont.SetWeight( wxBOLD );
 
     m_rowLabelHorizAlign = wxALIGN_CENTRE;
     m_rowLabelVertAlign  = wxALIGN_CENTRE;
@@ -3997,8 +4007,8 @@ void wxGrid::Init()
     m_selectingBottomRight = wxGridNoCellCoords;
 //  m_selectionBackground = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT);
 //  m_selectionForeground = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHTTEXT);
-    m_selectionBackground = *wxBLACK; 
-    m_selectionForeground = *wxWHITE; 
+    m_selectionBackground = *wxBLACK;
+    m_selectionForeground = *wxWHITE;
 
     m_editable = TRUE;  // default for whole grid
 
@@ -6072,7 +6082,7 @@ void wxGrid::OnKeyDown( wxKeyEvent& event )
 
         // try local handlers
         //
-        switch ( event.KeyCode() )
+        switch ( event.GetKeyCode() )
         {
             case WXK_UP:
                 if ( event.ControlDown() )
@@ -6237,7 +6247,7 @@ void wxGrid::OnKeyDown( wxKeyEvent& event )
 
                     // <F2> is special and will always start editing, for
                     // other keys - ask the editor itself
-                    if ( (event.KeyCode() == WXK_F2 && !event.HasModifiers())
+                    if ( (event.GetKeyCode() == WXK_F2 && !event.HasModifiers())
                          || editor->IsAcceptedKey(event) )
                     {
                         // ensure cell is visble
@@ -6275,7 +6285,7 @@ void wxGrid::OnKeyUp( wxKeyEvent& event )
 {
     // try local handlers
     //
-    if ( event.KeyCode() == WXK_SHIFT )
+    if ( event.GetKeyCode() == WXK_SHIFT )
     {
         if ( m_selectingTopLeft != wxGridNoCellCoords &&
              m_selectingBottomRight != wxGridNoCellCoords )