X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e4a197e4c60e461b8068b0619692ea083e30b8b..71aba8333cc915afff9e740c944f7fa7247abacb:/wxPython/src/fonts.i diff --git a/wxPython/src/fonts.i b/wxPython/src/fonts.i index dffe3ed4d2..289562f068 100644 --- a/wxPython/src/fonts.i +++ b/wxPython/src/fonts.i @@ -74,6 +74,7 @@ enum wxFontWeight }; + // font encodings enum wxFontEncoding { @@ -115,7 +116,7 @@ enum wxFontEncoding // and for Windows wxFONTENCODING_CP874, // WinThai wxFONTENCODING_CP932, // Japanese (shift-JIS) - wxFONTENCODING_CP936, // Chiniese simplified (GB) + wxFONTENCODING_CP936, // Chinese simplified (GB) wxFONTENCODING_CP949, // Korean (Hangul charset) wxFONTENCODING_CP950, // Chinese (traditional - Big5) wxFONTENCODING_CP1250, // WinLatin2 @@ -138,16 +139,15 @@ enum wxFontEncoding // Japanese (see http://zsigri.tripod.com/fontboard/cjk/jis.html) wxFONTENCODING_SHIFT_JIS = wxFONTENCODING_CP932, // Shift JIS - wxFONTENCODING_EUC_JP, // Extended Unix Codepage for Japanese + wxFONTENCODING_EUC_JP = wxFONTENCODING_UTF8 + 1, // Extended Unix Codepage + // for Japanese - wxFONTENCODING_UNICODE, // Unicode - currently used only by - // wxEncodingConverter class + wxFONTENCODING_UNICODE, // Unicode (for wxEncodingConverter only) wxFONTENCODING_MAX }; - //--------------------------------------------------------------------------- // wxNativeFontInfo is platform-specific font representation: this struct // should be considered as opaque font description only used by the native @@ -249,13 +249,40 @@ public: static wxFontMapper *Set(wxFontMapper *mapper); - // find an alternative for the given encoding (which is supposed to not be - // available on this system). If successful, return TRUE and rwxFontEcoding - // that can be used it wxFont ctor otherwise return FALSE - //bool GetAltForEncoding(wxFontEncoding encoding, - // wxFontEncoding *alt_encoding, - // const wxString& facename = wxPyEmptyString, - // bool interactive = TRUE); + // returns the encoding for the given charset (in the form of RFC 2046) or + // wxFONTENCODING_SYSTEM if couldn't decode it + // + // interactive parameter is ignored in the base class, we behave as if it + // were always false + virtual wxFontEncoding CharsetToEncoding(const wxString& charset, + bool interactive = true); + + + // get the number of font encodings we know about + static size_t GetSupportedEncodingsCount(); + + // get the n-th supported encoding + static wxFontEncoding GetEncoding(size_t n); + + // return internal string identifier for the encoding (see also + // GetEncodingDescription()) + static wxString GetEncodingName(wxFontEncoding encoding); + + // return user-readable string describing the given encoding + // + // NB: hard-coded now, but might change later (read it from config?) + static wxString GetEncodingDescription(wxFontEncoding encoding); + + + // set the config object to use (may be NULL to use default) + void SetConfig(wxConfigBase *config); + + // set the root config path to use (should be an absolute path) + void SetConfigPath(const wxString& prefix); + + // return default config path + static const wxChar *GetDefaultConfigPath(); + // Find an alternative for the given encoding (which is supposed to not be @@ -281,40 +308,12 @@ public: bool IsEncodingAvailable(wxFontEncoding encoding, const wxString& facename = wxPyEmptyString); - // returns the encoding for the given charset (in the form of RFC 2046) or - // wxFONTENCODING_SYSTEM if couldn't decode it - wxFontEncoding CharsetToEncoding(const wxString& charset, - bool interactive = TRUE); - - // return internal string identifier for the encoding (see also - // GetEncodingDescription()) - static wxString GetEncodingName(wxFontEncoding encoding); - - // return user-readable string describing the given encoding - // - // NB: hard-coded now, but might change later (read it from config?) - static wxString GetEncodingDescription(wxFontEncoding encoding); - // the parent window for modal dialogs - void SetDialogParent(wxWindow *parent); + void SetDialogParent(wxWindow *parent) { m_windowParent = parent; } // the title for the dialogs (note that default is quite reasonable) - void SetDialogTitle(const wxString& title); + void SetDialogTitle(const wxString& title) { m_titleDialog = title; } - // functions which allow to configure the config object used: by default, - // the global one (from wxConfigBase::Get() will be used) and the default - // root path for the config settings is the string returned by - // GetDefaultConfigPath() - - - // set the config object to use (may be NULL to use default) - void SetConfig(wxConfigBase *config); - - // set the root config path to use (should be an absolute path) - void SetConfigPath(const wxString& prefix); - - // return default config path - static wxString GetDefaultConfigPath(); }; @@ -374,6 +373,7 @@ public: static wxFontEncoding GetDefaultEncoding(); static void SetDefaultEncoding(wxFontEncoding encoding); + %pragma(python) addtoclass = "def __nonzero__(self): return self.Ok()" }; @@ -739,9 +739,9 @@ public: %pragma(python) addtoclass = " def Init(self, *_args, **_kwargs): if type(_args[0]) in [type(''), type(u'')]: - val = apply(self.Init1, _args, _kwargs) + val = self.Init1(*_args, **_kwargs) else: - val = apply(self.Init2, _args, _kwargs) + val = self.Init2(*_args, **_kwargs) return val " @@ -805,6 +805,17 @@ public: // Returns NULL if no info found, pointer must *not* be deleted by caller static const wxLanguageInfo *GetLanguageInfo(int lang); + // Returns language name in English or empty string if the language + // is not in database + static wxString GetLanguageName(int lang); + + // Find the language for the given locale string which may be either a + // canonical ISO 2 letter language code ("xx"), a language code followed by + // the country code ("xx_XX") or a Windows full language name ("Xxxxx...") + // + // Returns NULL if no info found, pointer must *not* be deleted by caller + static const wxLanguageInfo *FindLanguageInfo(const wxString& locale); + // Add custom language to the list of known languages. // Notes: 1) wxLanguageInfo contains platform-specific data // 2) must be called before Init to have effect @@ -962,6 +973,7 @@ public: // equivalent encodings, regardless the platform, including itself. static wxFontEncodingArray GetAllEquivalents(wxFontEncoding enc); + %pragma(python) addtoclass = "def __nonzero__(self): return self.IsOk()" };