Fixed wxGridCellFloatEditor::Clone
Changed wxGridCellEditor::GetString to use %f instead of %g to match the Renderer, otherwise it would truncate/round the value to m_precision significant digits instead of m_precision digits after the decimal point. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16745 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -477,7 +477,7 @@ public:
|
|||||||
virtual void StartingKey(wxKeyEvent& event);
|
virtual void StartingKey(wxKeyEvent& event);
|
||||||
|
|
||||||
virtual wxGridCellEditor *Clone() const
|
virtual wxGridCellEditor *Clone() const
|
||||||
{ return new wxGridCellFloatEditor; }
|
{ return new wxGridCellFloatEditor(m_width, m_precision); }
|
||||||
|
|
||||||
// parameters string format is "width,precision"
|
// parameters string format is "width,precision"
|
||||||
virtual void SetParameters(const wxString& params);
|
virtual void SetParameters(const wxString& params);
|
||||||
|
@@ -1049,16 +1049,16 @@ wxString wxGridCellFloatEditor::GetString() const
|
|||||||
if ( m_width == -1 )
|
if ( m_width == -1 )
|
||||||
{
|
{
|
||||||
// default width/precision
|
// default width/precision
|
||||||
fmt = _T("%g");
|
fmt = _T("%f");
|
||||||
}
|
}
|
||||||
else if ( m_precision == -1 )
|
else if ( m_precision == -1 )
|
||||||
{
|
{
|
||||||
// default precision
|
// default precision
|
||||||
fmt.Printf(_T("%%%d.g"), m_width);
|
fmt.Printf(_T("%%%d.f"), m_width);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fmt.Printf(_T("%%%d.%dg"), m_width, m_precision);
|
fmt.Printf(_T("%%%d.%df"), m_width, m_precision);
|
||||||
}
|
}
|
||||||
|
|
||||||
return wxString::Format(fmt, m_valueOld);
|
return wxString::Format(fmt, m_valueOld);
|
||||||
|
Reference in New Issue
Block a user