adding implementation for OSX

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59918 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor 2009-03-29 18:13:32 +00:00
parent cd8a8b45b9
commit e9e53eb1ef

View File

@ -75,6 +75,7 @@
#if defined(__WXOSX__)
#include "wx/osx/core/cfref.h"
#include <CoreFoundation/CFLocale.h>
#include <CoreFoundation/CFDateFormatter.h>
#include "wx/osx/core/cfstring.h"
#endif
@ -2909,8 +2910,34 @@ wxString wxLocale::GetInfo(wxLocaleInfo index, wxLocaleCategory WXUNUSED(cat))
case wxLOCALE_LONG_DATE_FMT:
case wxLOCALE_DATE_TIME_FMT:
case wxLOCALE_TIME_FMT:
// TODO
return wxString();
{
CFDateFormatterStyle dateStyle = kCFDateFormatterNoStyle;
CFDateFormatterStyle timeStyle = kCFDateFormatterNoStyle;
switch (index )
{
case wxLOCALE_SHORT_DATE_FMT:
dateStyle = kCFDateFormatterMediumStyle;
break;
case wxLOCALE_LONG_DATE_FMT:
dateStyle = kCFDateFormatterLongStyle;
break;
case wxLOCALE_DATE_TIME_FMT:
dateStyle = kCFDateFormatterMediumStyle;
timeStyle = kCFDateFormatterMediumStyle;
break;
case wxLOCALE_TIME_FMT:
timeStyle = kCFDateFormatterMediumStyle;
break;
default:
wxFAIL_MSG( "unexpected time locale" );
return wxString();
}
wxCFRef<CFDateFormatterRef> dateFormatter( CFDateFormatterCreate
(NULL, userLocaleRef, dateStyle, timeStyle));
wxCFStringRef cfs = wxCFRetain( CFDateFormatterGetFormat(dateFormatter ));
return TranslateFromUnicodeFormat(cfs.AsString());
}
break;
default:
wxFAIL_MSG( "Unknown locale info" );