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