wxGridRowLabelWindow *rowLblWin,
wxGridColLabelWindow *colLblWin,
wxWindowID id, const wxPoint &pos, const wxSize &size )
- : wxPanel( parent, id, pos, size, wxSUNKEN_BORDER, "grid window" )
+ : wxPanel( parent, id, pos, size, 0, "grid window" )
{
m_owner = parent;
m_rowLabelWin = rowLblWin;
if ( m_numRows > 0 && m_numCols > 0 )
{
- int right = m_colRights[ m_numCols-1 ] + 20;
- int bottom = m_rowBottoms[ m_numRows-1 ] + 20;
+ int right = m_colRights[ m_numCols-1 ] + 50;
+ int bottom = m_rowBottoms[ m_numRows-1 ] + 50;
// TODO: restore the scroll position that we had before sizing
//
rect.height = ch - rect.y;
m_rowLabelWin->Refresh( TRUE, &rect );
rect.width = cw;
- m_gridWin->Refresh( TRUE, &rect );
+ m_gridWin->Refresh( FALSE, &rect );
}
ShowCellEditControl();
rect.height = m_colLabelHeight;
m_colLabelWin->Refresh( TRUE, &rect );
rect.height = ch;
- m_gridWin->Refresh( TRUE, &rect );
+ m_gridWin->Refresh( FALSE, &rect );
}
ShowCellEditControl();
{
wxRect r( SelectionToDeviceRect() );
ClearSelection();
- if ( !GetBatchCount() ) m_gridWin->Refresh( TRUE, &r );
+ if ( !GetBatchCount() ) m_gridWin->Refresh( FALSE, &r );
}
}
{
if ( m_rowHeights[row] <= 0 ) return;
- // draw the label's horizontal border (the vertical border is
- // provided by the cell area window margin)
- //
+ int rowTop = m_rowBottoms[row] - m_rowHeights[row];
+
dc.SetPen( *wxBLACK_PEN );
-
- dc.DrawLine( 0, m_rowBottoms[row]+1,
- m_rowLabelWidth, m_rowBottoms[row]+1 );
-
+ dc.DrawLine( m_rowLabelWidth-1, rowTop,
+ m_rowLabelWidth-1, m_rowBottoms[row]-1 );
+
+ dc.DrawLine( 0, m_rowBottoms[row]-1,
+ m_rowLabelWidth-1, m_rowBottoms[row]-1 );
+
dc.SetPen( *wxWHITE_PEN );
-
- dc.DrawLine( 0, m_rowBottoms[row]+2,
- m_rowLabelWidth, m_rowBottoms[row]+2 );
+ dc.DrawLine( 0, rowTop, 0, m_rowBottoms[row]-1 );
+ dc.DrawLine( 0, rowTop, m_rowLabelWidth-1, rowTop );
dc.SetBackgroundMode( wxTRANSPARENT );
dc.SetTextForeground( GetLabelTextColour() );
{
if ( m_colWidths[col] <= 0 ) return;
- // draw the label's vertical border (the horizontal border is
- // provided by the cell area window margin)
- //
+ int colLeft = m_colRights[col] - m_colWidths[col];
+
dc.SetPen( *wxBLACK_PEN );
-
- dc.DrawLine( m_colRights[col]+1, 0,
- m_colRights[col]+1, m_colLabelHeight );
-
+ dc.DrawLine( m_colRights[col]-1, 0,
+ m_colRights[col]-1, m_colLabelHeight-1 );
+
+ dc.DrawLine( colLeft, m_colLabelHeight-1,
+ m_colRights[col]-1, m_colLabelHeight-1 );
+
dc.SetPen( *wxWHITE_PEN );
+ dc.DrawLine( colLeft, 0, colLeft, m_colLabelHeight-1 );
+ dc.DrawLine( colLeft, 0, m_colRights[col]-1, 0 );
- dc.DrawLine( m_colRights[col]+2, 0,
- m_colRights[col]+2, m_colLabelHeight );
+ dc.SetBackgroundMode( wxTRANSPARENT );
+ dc.SetTextForeground( GetLabelTextColour() );
+ dc.SetFont( GetLabelFont() );
dc.SetBackgroundMode( wxTRANSPARENT );
dc.SetTextForeground( GetLabelTextColour() );
wxClientDC dc( m_gridWin );
PrepareDC( dc );
- DrawAllGridLines( dc );
+ DrawAllGridLines( dc, wxRegion() );
}
}
{
wxClientDC dc( m_gridWin );
PrepareDC( dc );
- DrawAllGridLines( dc );
+ DrawAllGridLines( dc, wxRegion() );
}
else
{
for (i = 0; i < 4; i++ )
if ( need_refresh[i] && rect[i] != wxGridNoCellRect )
- m_gridWin->Refresh( TRUE, &(rect[i]) );
+ m_gridWin->Refresh( FALSE, &(rect[i]) );
}
else
{
r = SelectionToDeviceRect();
ClearSelection();
- if ( r != wxGridNoCellRect ) m_gridWin->Refresh( TRUE, &r );
+ if ( r != wxGridNoCellRect ) m_gridWin->Refresh( FALSE, &r );
m_selectedTopLeft.Set( row, 0 );
m_selectedBottomRight.Set( row, m_numCols-1 );
r = SelectionToDeviceRect();
- m_gridWin->Refresh( TRUE, &r );
+ m_gridWin->Refresh( FALSE, &r );
}
wxGridRangeSelectEvent gridEvt( GetId(),
for (i = 0; i < 4; i++ )
if ( need_refresh[i] && rect[i] != wxGridNoCellRect )
- m_gridWin->Refresh( TRUE, &(rect[i]) );
+ m_gridWin->Refresh( FALSE, &(rect[i]) );
}
else
{
r = SelectionToDeviceRect();
ClearSelection();
- if ( r != wxGridNoCellRect ) m_gridWin->Refresh( TRUE, &r );
+ if ( r != wxGridNoCellRect ) m_gridWin->Refresh( FALSE, &r );
m_selectedTopLeft.Set( 0, col );
m_selectedBottomRight.Set( m_numRows-1, col );
r = SelectionToDeviceRect();
- m_gridWin->Refresh( TRUE, &r );
+ m_gridWin->Refresh( FALSE, &r );
}
wxGridRangeSelectEvent gridEvt( GetId(),
// various Refresh() calls
for (i = 0; i < 4; i++ )
if ( need_refresh[i] && rect[i] != wxGridNoCellRect )
- m_gridWin->Refresh( TRUE, &(rect[i]) );
+ m_gridWin->Refresh( FALSE, &(rect[i]) );
}
// only generate an event if the block is not being selected by