#include "wx/filesys.h"
#if defined(__WXMAC__)
- #include "wx/mac/private.h" // includes mac headers
+ #include "wx/mac/private.h" // includes mac headers
+#endif
+
+#if defined(__DARWIN__)
+ #include "wx/mac/corefoundation/cfref.h"
+ #include <CoreFoundation/CFLocale.h>
+ #include "wx/mac/corefoundation/cfstring.h"
#endif
// ----------------------------------------------------------------------------
}
#elif defined(__WXMAC__)
TextEncoding encoding = 0 ;
-#if TARGET_CARBON
encoding = CFStringGetSystemEncoding() ;
-#else
- UpgradeScriptInfoToTextEncoding ( smSystemScript , kTextLanguageDontCare , kTextRegionDontCare , NULL , &encoding ) ;
-#endif
return wxMacGetFontEncFromSystemEnc( encoding ) ;
#elif defined(__UNIX_LIKE__) && wxUSE_FONTMAP
const wxString encname = GetSystemEncodingName();
// accessors for locale-dependent data
// ----------------------------------------------------------------------------
-#ifdef __WXMSW__
+#if defined(__WXMSW__)
/* static */
wxString wxLocale::GetInfo(wxLocaleInfo index, wxLocaleCategory WXUNUSED(cat))
return str;
}
-#else // !__WXMSW__
+#elif defined(__DARWIN__)
+
+/* static */
+wxString wxLocale::GetInfo(wxLocaleInfo index, wxLocaleCategory WXUNUSED(cat))
+{
+ wxCFRef<CFLocaleRef> userLocaleRef(CFLocaleCopyCurrent());
+ CFTypeRef cfstr;
+ switch ( index )
+ {
+ case wxLOCALE_THOUSANDS_SEP:
+ cfstr = CFLocaleGetValue(userLocaleRef, kCFLocaleGroupingSeparator);
+ break;
+
+ case wxLOCALE_DECIMAL_POINT:
+ cfstr = CFLocaleGetValue(userLocaleRef, kCFLocaleDecimalSeparator);
+ break;
+
+ default:
+ wxFAIL_MSG( "Unknown locale info" );
+ }
+
+ wxMacCFStringHolder
+ str(CFStringCreateCopy(NULL, static_cast<CFStringRef>(cfstr)));
+ return str.AsString();
+}
+
+#else // !__WXMSW__ && !__DARWIN__
/* static */
wxString wxLocale::GetInfo(wxLocaleInfo index, wxLocaleCategory cat)
}
}
-#endif // __WXMSW__/!__WXMSW__
+#endif // platform
// ----------------------------------------------------------------------------
// global functions and variables