Correct sorting order for doubles and wxDateTime in wxDataViewModel.

They were compared inconsistently with the numbers and strings, -1 is supposed
to be returned if the first element is less than the second one, not 1.

Closes #15406.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74949 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2013-10-07 09:58:46 +00:00
parent 1efdf9cd65
commit 1fd9d44670

View File

@@ -330,27 +330,28 @@ int wxDataViewModel::Compare( const wxDataViewItem &item1, const wxDataViewItem
{
long l1 = value1.GetLong();
long l2 = value2.GetLong();
long res = l1-l2;
if (res)
return res;
if (l1 < l2)
return -1;
else if (l1 > l2)
return 1;
}
else if (value1.GetType() == wxT("double"))
{
double d1 = value1.GetDouble();
double d2 = value2.GetDouble();
if (d1 < d2)
return 1;
if (d1 > d2)
return -1;
else if (d1 > d2)
return 1;
}
else if (value1.GetType() == wxT("datetime"))
{
wxDateTime dt1 = value1.GetDateTime();
wxDateTime dt2 = value2.GetDateTime();
if (dt1.IsEarlierThan(dt2))
return 1;
if (dt2.IsEarlierThan(dt1))
return -1;
if (dt2.IsEarlierThan(dt1))
return 1;
}
else if (value1.GetType() == wxT("bool"))
{