129 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        xlocale.h
 | 
						|
// Purpose:     interface of wxXLocale
 | 
						|
// Author:      wxWidgets team
 | 
						|
// Licence:     wxWindows licence
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
    @class wxXLocale
 | 
						|
 | 
						|
    This class represents a locale object used by so-called xlocale API.
 | 
						|
 | 
						|
    Unlike wxLocale it doesn't provide any non-trivial operations but simply
 | 
						|
    provides a portable wrapper for POSIX @c locale_t type.
 | 
						|
 | 
						|
    It exists solely to be provided as an argument to various @c wxFoo_l() functions
 | 
						|
    which are the extensions of the standard locale-dependent functions (hence the
 | 
						|
    name xlocale). These functions do exactly the same thing as the corresponding
 | 
						|
    standard @c foo() except that instead of using the global program locale
 | 
						|
    they use the provided wxXLocale object.
 | 
						|
 | 
						|
    See @ref group_funcmacro_locale for a list of wxXLocale-enabled functions.
 | 
						|
 | 
						|
    Conversely, if a program wanted to output the number in French locale, even if
 | 
						|
    the current locale is different, it could use wxXLocale(wxLANGUAGE_FRENCH).
 | 
						|
 | 
						|
 | 
						|
    @section xlocale_avail Availability
 | 
						|
 | 
						|
    This class is fully implemented only under the platforms where xlocale POSIX
 | 
						|
    API or equivalent is available. Currently the xlocale API is available under
 | 
						|
    most of the recent Unix systems (including Linux, various BSD and OS X) and
 | 
						|
    Microsoft Visual C++ standard library provides a similar API starting from
 | 
						|
    version 8 (Visual Studio 2005).
 | 
						|
 | 
						|
    If neither POSIX API nor Microsoft proprietary equivalent are available, this
 | 
						|
    class is still available but works in degraded mode: the only supported locale
 | 
						|
    is the C one and attempts to create wxXLocale object for any other locale will
 | 
						|
    fail. You can use the preprocessor macro @c wxHAS_XLOCALE_SUPPORT to test if
 | 
						|
    full xlocale API is available or only skeleton C locale support is present.
 | 
						|
 | 
						|
    Notice that wxXLocale is new in wxWidgets 2.9.0 and is not compiled in if
 | 
						|
    @c wxUSE_XLOCALE was set to 0 during the library compilation.
 | 
						|
 | 
						|
 | 
						|
    @library{wxbase}
 | 
						|
    @category{cfg}
 | 
						|
 | 
						|
    @stdobjects
 | 
						|
    @li ::wxNullXLocale
 | 
						|
    
 | 
						|
    @see wxLocale
 | 
						|
*/
 | 
						|
class wxXLocale
 | 
						|
{
 | 
						|
public:
 | 
						|
    /**
 | 
						|
        Creates an uninitialized locale object, IsOk() method will return @false.
 | 
						|
    */
 | 
						|
    wxXLocale();
 | 
						|
 | 
						|
    /**
 | 
						|
        Creates the locale object corresponding to the specified language.
 | 
						|
    */
 | 
						|
    wxXLocale(wxLanguage lang);
 | 
						|
 | 
						|
    /**
 | 
						|
        Creates the locale object corresponding to the specified locale string.
 | 
						|
        The locale string is system-dependent, use constructor taking wxLanguage
 | 
						|
        for better portability.
 | 
						|
    */
 | 
						|
    wxXLocale(const char* loc);
 | 
						|
 | 
						|
    /**
 | 
						|
        Returns the global object representing the "C" locale.
 | 
						|
        For an even shorter access to this object a global @c wxCLocale variable
 | 
						|
        (implemented as a macro) is provided and can be used instead of calling
 | 
						|
        this method.
 | 
						|
    */
 | 
						|
    static wxXLocale& GetCLocale();
 | 
						|
 | 
						|
    /**
 | 
						|
        Returns @true if this object is initialized, i.e.\ represents a valid locale
 | 
						|
        or @false otherwise.
 | 
						|
    */
 | 
						|
    bool IsOk() const;
 | 
						|
    
 | 
						|
    /**
 | 
						|
        Comparison operator.
 | 
						|
    */
 | 
						|
    bool operator==(const wxXLocale& loc) const;
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    An empty and invalid wxXLocale object.
 | 
						|
*/
 | 
						|
wxXLocale wxNullXLocale;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
// ============================================================================
 | 
						|
// Global functions/macros
 | 
						|
// ============================================================================
 | 
						|
 | 
						|
/** @addtogroup group_funcmacro_locale */
 | 
						|
//@{
 | 
						|
 | 
						|
int wxIsalnum_l(wchar_t c, const wxXLocale& loc);
 | 
						|
int wxIsalpha_l(wchar_t c, const wxXLocale& loc);
 | 
						|
int wxIscntrl_l(wchar_t c, const wxXLocale& loc);
 | 
						|
int wxIsdigit_l(wchar_t c, const wxXLocale& loc);
 | 
						|
int wxIsgraph_l(wchar_t c, const wxXLocale& loc);
 | 
						|
int wxIslower_l(wchar_t c, const wxXLocale& loc);
 | 
						|
int wxIsprint_l(wchar_t c, const wxXLocale& loc);
 | 
						|
int wxIspunct_l(wchar_t c, const wxXLocale& loc);
 | 
						|
int wxIsspace_l(wchar_t c, const wxXLocale& loc);
 | 
						|
int wxIsupper_l(wchar_t c, const wxXLocale& loc);
 | 
						|
int wxIsxdigit_l(wchar_t c, const wxXLocale& loc);
 | 
						|
wchar_t wxTolower_l(wchar_t c, const wxXLocale& loc);
 | 
						|
wchar_t wxToupper_l(wchar_t c, const wxXLocale& loc);
 | 
						|
 | 
						|
double wxStrtod_l(const wchar_t *c, wchar_t **endptr, const wxXLocale& loc);
 | 
						|
long wxStrtol_l(const wchar_t *c, wchar_t **endptr, int base, const wxXLocale& loc);
 | 
						|
unsigned long wxStrtoul_l(const wchar_t *c, wchar_t **endptr, int base, const wxXLocale& loc);
 | 
						|
 | 
						|
//@}
 | 
						|
 |