]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/grid.cpp
fix for BSD compilation
[wxWidgets.git] / src / generic / grid.cpp
index 6a9750f96f44e180704e44fa5b669da1ae6cbf98..96af491707ce9a55cdb4c1d605a44a797d16c33e 100644 (file)
     #pragma hdrstop
 #endif
 
+#if wxUSE_GRID
+
 #if !defined(wxUSE_NEW_GRID) || !(wxUSE_NEW_GRID)
-#include "gridg.cpp"
-#else
+    #include "gridg.cpp"
+#else // wxUSE_NEW_GRID
 
 #ifndef WX_PRECOMP
     #include "wx/utils.h"
@@ -518,6 +520,8 @@ void wxGridCellEditor::StartingClick()
 {
 }
 
+#if wxUSE_TEXTCTRL
+
 // ----------------------------------------------------------------------------
 // wxGridCellTextEditor
 // ----------------------------------------------------------------------------
@@ -1144,6 +1148,10 @@ bool wxGridCellFloatEditor::IsAcceptedKey(wxKeyEvent& event)
     return FALSE;
 }
 
+#endif // wxUSE_TEXTCTRL
+
+#if wxUSE_CHECKBOX
+
 // ----------------------------------------------------------------------------
 // wxGridCellBoolEditor
 // ----------------------------------------------------------------------------
@@ -1288,6 +1296,10 @@ bool wxGridCellBoolEditor::IsAcceptedKey(wxKeyEvent& event)
     return FALSE;
 }
 
+#endif // wxUSE_CHECKBOX
+
+#if wxUSE_COMBOBOX
+
 // ----------------------------------------------------------------------------
 // wxGridCellChoiceEditor
 // ----------------------------------------------------------------------------
@@ -1408,6 +1420,8 @@ void wxGridCellChoiceEditor::SetParameters(const wxString& params)
     }
 }
 
+#endif // wxUSE_COMBOBOX
+
 // ----------------------------------------------------------------------------
 // wxGridCellEditorEvtHandler
 // ----------------------------------------------------------------------------
@@ -2456,19 +2470,24 @@ int wxGridTypeRegistry::FindDataType(const wxString& typeName)
     {
         // check whether this is one of the standard ones, in which case
         // register it "on the fly"
+#if wxUSE_TEXTCTRL
         if ( typeName == wxGRID_VALUE_STRING )
         {
             RegisterDataType(wxGRID_VALUE_STRING,
                              new wxGridCellStringRenderer,
                              new wxGridCellTextEditor);
-        }
-        else if ( typeName == wxGRID_VALUE_BOOL )
+        } else
+#endif // wxUSE_TEXTCTRL
+#if wxUSE_CHECKBOX
+        if ( typeName == wxGRID_VALUE_BOOL )
         {
             RegisterDataType(wxGRID_VALUE_BOOL,
                              new wxGridCellBoolRenderer,
                              new wxGridCellBoolEditor);
-        }
-        else if ( typeName == wxGRID_VALUE_NUMBER )
+        } else
+#endif // wxUSE_CHECKBOX
+#if wxUSE_TEXTCTRL
+        if ( typeName == wxGRID_VALUE_NUMBER )
         {
             RegisterDataType(wxGRID_VALUE_NUMBER,
                              new wxGridCellNumberRenderer,
@@ -2479,14 +2498,16 @@ int wxGridTypeRegistry::FindDataType(const wxString& typeName)
             RegisterDataType(wxGRID_VALUE_FLOAT,
                              new wxGridCellFloatRenderer,
                              new wxGridCellFloatEditor);
-        }
-        else if ( typeName == wxGRID_VALUE_CHOICE )
+        } else
+#endif // wxUSE_TEXTCTRL
+#if wxUSE_COMBOBOX
+        if ( typeName == wxGRID_VALUE_CHOICE )
         {
             RegisterDataType(wxGRID_VALUE_CHOICE,
                              new wxGridCellStringRenderer,
                              new wxGridCellChoiceEditor);
-        }
-        else
+        } else
+#endif // wxUSE_COMBOBOX
         {
             return wxNOT_FOUND;
         }
@@ -3003,7 +3024,7 @@ bool wxGridStringTable::DeleteRows( size_t pos, size_t numRows )
     {
         for ( n = 0;  n < numRows;  n++ )
         {
-            m_data.Remove( pos );
+            m_data.RemoveAt( pos );
         }
     }
     if ( GetView() )
@@ -3119,7 +3140,7 @@ bool wxGridStringTable::DeleteCols( size_t pos, size_t numCols )
         {
             for ( n = 0;  n < numCols;  n++ )
             {
-                m_data[row].Remove( pos );
+                m_data[row].RemoveAt( pos );
             }
         }
     }
@@ -3414,7 +3435,7 @@ wxGridWindow::wxGridWindow( wxGrid *parent,
     m_owner = parent;
     m_rowLabelWin = rowLblWin;
     m_colLabelWin = colLblWin;
-    SetBackgroundColour( "WHITE" );
+    SetBackgroundColour(_T("WHITE"));
 }
 
 
@@ -3503,6 +3524,8 @@ wxGrid::wxGrid( wxWindow *parent,
 
 wxGrid::~wxGrid()
 {
+    // Must do this or ~wxScrollHelper will pop the wrong event handler
+    SetTargetWindow(this);
     ClearAttrCache();
     wxSafeDecRef(m_defaultCellAttr);
 
@@ -3829,24 +3852,24 @@ void wxGrid::CalcDimensions()
     }
     else
     {
-       w = (w + GRID_SCROLL_LINE - 1)/GRID_SCROLL_LINE;
-       if ( x >= w )
-           x = w - 1;
+        w = (w + GRID_SCROLL_LINE - 1)/GRID_SCROLL_LINE;
+        if ( x >= w )
+            x = w - 1;
     }
     if ( h <= ch )
     {
-       h = 0; y = 0;
+        h = 0; y = 0;
     }
     else
     {
-       h = (h + GRID_SCROLL_LINE - 1)/GRID_SCROLL_LINE;
-       if ( y >= h )
-           y = h - 1;
+        h = (h + GRID_SCROLL_LINE - 1)/GRID_SCROLL_LINE;
+        if ( y >= h )
+            y = h - 1;
     }
 
     // do set scrollbar parameters
     SetScrollbars( GRID_SCROLL_LINE, GRID_SCROLL_LINE,
-                  w, h, x, y, (GetBatchCount() != 0));
+                   w, h, x, y, (GetBatchCount() != 0));
 }
 
 
@@ -3987,8 +4010,8 @@ bool wxGrid::Redimension( wxGridTableMessage& msg )
             {
                 for ( i = 0;  i < numRows;  i++ )
                 {
-                    m_rowHeights.Remove( pos );
-                    m_rowBottoms.Remove( pos );
+                    m_rowHeights.RemoveAt( pos );
+                    m_rowBottoms.RemoveAt( pos );
                 }
 
                 int h = 0;
@@ -4123,8 +4146,8 @@ bool wxGrid::Redimension( wxGridTableMessage& msg )
             {
                 for ( i = 0;  i < numCols;  i++ )
                 {
-                    m_colWidths.Remove( pos );
-                    m_colRights.Remove( pos );
+                    m_colWidths.RemoveAt( pos );
+                    m_colRights.RemoveAt( pos );
                 }
 
                 int w = 0;
@@ -8217,8 +8240,8 @@ void wxGrid::SetDefaultRowSize( int height, bool resizeExistingRows )
     if ( resizeExistingRows )
     {
         InitRowHeights();
-       if ( !GetBatchCount() )
-           CalcDimensions();
+        if ( !GetBatchCount() )
+            CalcDimensions();
     }
 }
 
@@ -8252,8 +8275,8 @@ void wxGrid::SetDefaultColSize( int width, bool resizeExistingCols )
     if ( resizeExistingCols )
     {
         InitColWidths();
-       if ( !GetBatchCount() )
-           CalcDimensions();
+        if ( !GetBatchCount() )
+            CalcDimensions();
     }
 }
 
@@ -8381,33 +8404,35 @@ void wxGrid::AutoSizeColOrRow( int colOrRow, bool setAsMin, bool column )
         }
     }
 
-    if ( column ){
+    if ( column )
+    {
         SetColSize(col, extentMax);
         if ( !GetBatchCount() )
         {
-           int cw, ch, dummy;
-           m_gridWin->GetClientSize( &cw, &ch );
-           wxRect rect ( CellToRect( 0, col ) );
-           rect.y = 0;
-           CalcScrolledPosition(rect.x, 0, &rect.x, &dummy);
-           rect.width = cw - rect.x;
-           rect.height = m_colLabelHeight;
-           m_colLabelWin->Refresh( TRUE, &rect );
-       }
-    }
-    else{
+            int cw, ch, dummy;
+            m_gridWin->GetClientSize( &cw, &ch );
+            wxRect rect ( CellToRect( 0, col ) );
+            rect.y = 0;
+            CalcScrolledPosition(rect.x, 0, &rect.x, &dummy);
+            rect.width = cw - rect.x;
+            rect.height = m_colLabelHeight;
+            m_colLabelWin->Refresh( TRUE, &rect );
+        }
+    }
+    else
+    {
         SetRowSize(row, extentMax);
         if ( !GetBatchCount() )
         {
-           int cw, ch, dummy;
-           m_gridWin->GetClientSize( &cw, &ch );
-           wxRect rect ( CellToRect( row, 0 ) );
-           rect.x = 0;
-           CalcScrolledPosition(0, rect.y, &dummy, &rect.y);
-           rect.width = m_rowLabelWidth;
+            int cw, ch, dummy;
+            m_gridWin->GetClientSize( &cw, &ch );
+            wxRect rect ( CellToRect( row, 0 ) );
+            rect.x = 0;
+            CalcScrolledPosition(0, rect.y, &dummy, &rect.y);
+            rect.width = m_rowLabelWidth;
             rect.height = ch - rect.y;
-           m_rowLabelWin->Refresh( TRUE, &rect );
-       }
+            m_rowLabelWin->Refresh( TRUE, &rect );
+        }
     }
     if ( setAsMin )
     {
@@ -8753,4 +8778,7 @@ wxGridEditorCreatedEvent::wxGridEditorCreatedEvent(int id, wxEventType type,
 }
 
 
-#endif // ifndef wxUSE_NEW_GRID
+#endif // !wxUSE_NEW_GRID/wxUSE_NEW_GRID
+
+#endif // wxUSE_GRID
+