// array classes
// ----------------------------------------------------------------------------
-WX_DEFINE_ARRAY_WITH_DECL_NO_PTR(wxGridCellAttr *, wxArrayAttrs,
+WX_DEFINE_ARRAY_WITH_DECL_PTR(wxGridCellAttr *, wxArrayAttrs,
class WXDLLIMPEXP_ADV);
struct wxGridCellWithAttr
};
-WX_DEFINE_ARRAY_WITH_DECL_NO_PTR(wxGridDataTypeInfo*, wxGridDataTypeInfoArray,
+WX_DEFINE_ARRAY_WITH_DECL_PTR(wxGridDataTypeInfo*, wxGridDataTypeInfoArray,
class WXDLLIMPEXP_ADV);
if ( !ms_sizeCheckMark.x )
{
// get checkbox size
- wxCoord checkSize = 0;
wxCheckBox *checkbox = new wxCheckBox(&grid, -1, wxEmptyString);
wxSize size = checkbox->GetBestSize();
- checkSize = size.y + 2*wxGRID_CHECKMARK_MARGIN;
+ wxCoord checkSize = size.y + 2*wxGRID_CHECKMARK_MARGIN;
// FIXME wxGTK::wxCheckBox::GetBestSize() gives "wrong" result
#if defined(__WXGTK__) || defined(__WXMOTIF__)
{
//Basicaly implement old version.
//Also check merge cache, so we don't have to re-merge every time..
- wxGridCellAttr *attrcell = (wxGridCellAttr *)NULL,
- *attrrow = (wxGridCellAttr *)NULL,
- *attrcol = (wxGridCellAttr *)NULL;
-
- attrcell = m_data->m_cellAttrs.GetAttr(row, col);
- attrcol = m_data->m_colAttrs.GetAttr(col);
- attrrow = m_data->m_rowAttrs.GetAttr(row);
+ wxGridCellAttr *attrcell = m_data->m_cellAttrs.GetAttr(row, col);
+ wxGridCellAttr *attrrow = m_data->m_rowAttrs.GetAttr(row);
+ wxGridCellAttr *attrcol = m_data->m_colAttrs.GetAttr(col);
if((attrcell != attrrow) && (attrrow !=attrcol) && (attrcell != attrcol)){
// Two or move are non NULL
wxMouseEvent& mouseEv )
{
bool claimed;
- bool vetoed= FALSE;
+ bool vetoed;
if ( type == wxEVT_GRID_ROW_SIZE || type == wxEVT_GRID_COL_SIZE )
{
int row, int col )
{
bool claimed;
- bool vetoed= FALSE;
+ bool vetoed;
if ( type == wxEVT_GRID_ROW_SIZE || type == wxEVT_GRID_COL_SIZE )
{
bool wxGrid::CanEnableCellControl() const
{
- return m_editable && !IsCurrentCellReadOnly();
+ return m_editable && (m_currentCellCoords != wxGridNoCellCoords) &&
+ !IsCurrentCellReadOnly();
+
}
bool wxGrid::IsCellEditControlEnabled() const
if ( coord >= BorderArray[i_max])
{
i_min = i_max;
- i_max = coord / minDist;
+ if (minDist)
+ i_max = coord / minDist;
+ else
+ i_max = BorderArray.GetCount() - 1;
}
if ( i_max >= BorderArray.GetCount())
i_max = BorderArray.GetCount() - 1;
void wxGrid::SetColFormatCustom(int col, const wxString& typeName)
{
- wxGridCellAttr *attr = (wxGridCellAttr *)NULL;
-
- attr = m_table->GetAttr(-1, col, wxGridCellAttr::Col );
+ wxGridCellAttr *attr = m_table->GetAttr(-1, col, wxGridCellAttr::Col );
if(!attr)
attr = new wxGridCellAttr;
wxGridCellRenderer *renderer = GetDefaultRendererForType(typeName);
void wxGrid::SetColMinimalAcceptableWidth( int width )
{
- if ( width<1 )
+ // We do allow a width of 0 since this gives us
+ // an easy way to temporarily hidding columns.
+ if ( width<0 )
return;
m_minAcceptableColWidth = width;
}
void wxGrid::SetRowMinimalAcceptableHeight( int height )
{
- if ( height<1 )
+ // We do allow a height of 0 since this gives us
+ // an easy way to temporarily hidding rows.
+ if ( height<0 )
return;
m_minAcceptableRowHeight = height;
};