Fix wxGrid::SetColSize for the native header

In case of the width of -1 for the native header the title width must be
calculated by the native header itself.
This commit is contained in:
Ilya Sinitsyn
2019-10-01 12:31:01 +07:00
parent f7e335c031
commit 6ed0443d2f

View File

@@ -9128,16 +9128,23 @@ void wxGrid::SetColSize( int col, int width )
// show the column back using its old size.
if ( width == -1 && GetColWidth(col) != 0 )
{
long w, h;
wxArrayString lines;
wxClientDC dc(m_colLabelWin);
dc.SetFont(GetLabelFont());
StringToLines(GetColLabelValue(col), lines);
if ( GetColLabelTextOrientation() == wxHORIZONTAL )
GetTextBoxSize( dc, lines, &w, &h );
if ( m_useNativeHeader )
{
width = GetGridColHeader()->GetColumnTitleWidth(col);
}
else
GetTextBoxSize( dc, lines, &h, &w );
width = w + 6;
{
long w, h;
wxArrayString lines;
wxClientDC dc(m_colLabelWin);
dc.SetFont(GetLabelFont());
StringToLines(GetColLabelValue(col), lines);
if ( GetColLabelTextOrientation() == wxHORIZONTAL )
GetTextBoxSize( dc, lines, &w, &h );
else
GetTextBoxSize( dc, lines, &h, &w );
width = w + 6;
}
// Check that it is not less than the minimal width and do use the
// possibly greater than minimal-acceptable-width minimal-width itself