#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"
{
}
+#if wxUSE_TEXTCTRL
+
// ----------------------------------------------------------------------------
// wxGridCellTextEditor
// ----------------------------------------------------------------------------
return FALSE;
}
+#endif // wxUSE_TEXTCTRL
+
+#if wxUSE_CHECKBOX
+
// ----------------------------------------------------------------------------
// wxGridCellBoolEditor
// ----------------------------------------------------------------------------
return FALSE;
}
+#endif // wxUSE_CHECKBOX
+
+#if wxUSE_COMBOBOX
+
// ----------------------------------------------------------------------------
// wxGridCellChoiceEditor
// ----------------------------------------------------------------------------
}
}
+#endif // wxUSE_COMBOBOX
+
// ----------------------------------------------------------------------------
// wxGridCellEditorEvtHandler
// ----------------------------------------------------------------------------
{
// 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,
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;
}
{
for ( n = 0; n < numRows; n++ )
{
- m_data.Remove( pos );
+ m_data.RemoveAt( pos );
}
}
if ( GetView() )
{
for ( n = 0; n < numCols; n++ )
{
- m_data[row].Remove( pos );
+ m_data[row].RemoveAt( pos );
}
}
}
m_owner = parent;
m_rowLabelWin = rowLblWin;
m_colLabelWin = colLblWin;
- SetBackgroundColour( "WHITE" );
+ SetBackgroundColour(_T("WHITE"));
}
wxGrid::~wxGrid()
{
+ // Must do this or ~wxScrollHelper will pop the wrong event handler
+ SetTargetWindow(this);
ClearAttrCache();
wxSafeDecRef(m_defaultCellAttr);
}
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));
}
{
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;
{
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;
if ( resizeExistingRows )
{
InitRowHeights();
- if ( !GetBatchCount() )
- CalcDimensions();
+ if ( !GetBatchCount() )
+ CalcDimensions();
}
}
if ( resizeExistingCols )
{
InitColWidths();
- if ( !GetBatchCount() )
- CalcDimensions();
+ if ( !GetBatchCount() )
+ CalcDimensions();
}
}
}
}
- 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 )
{
}
-#endif // ifndef wxUSE_NEW_GRID
+#endif // !wxUSE_NEW_GRID/wxUSE_NEW_GRID
+
+#endif // wxUSE_GRID
+