]> git.saurik.com Git - wxWidgets.git/commitdiff
added wxLocale::GetLanguageInfo()
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 7 Sep 2002 22:53:04 +0000 (22:53 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 7 Sep 2002 22:53:04 +0000 (22:53 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/locale.tex
include/wx/intl.h
src/common/intl.cpp

index e19a83cc049aa00d38b020629fe189091ac9e3d9..bba0d754534a2c4f48d68beb88e23503fa6ccb7b 100644 (file)
@@ -419,6 +419,17 @@ Returns \helpref{wxLanguage}{wxlanguage} constant of current language.
 Note that you can call this function only if you used the form of
 \helpref{Init}{wxlocaleinit} that takes wxLanguage argument.
 
+\membersection{wxLocale::GetLanguageInfo}\label{wxlocalegetlanguageinfo}
+
+\constfunc{static wxLanguageInfo *}{GetLanguageInfo}{\param{int }{lang}}
+
+Returns a pointer to wxLanguageInfo structure containing information about the
+given language or {\tt NULL} if this language is unknown. Note that even if the
+returned pointer is valid, the caller should {\it not} delete it.
+
+See \helpref{AddLanguage}{wxlocaleaddlanguage} for the wxLanguageInfo
+description.
+
 
 \membersection{wxLocale::GetLocale}\label{wxlocalegetlocale}
 
index d73b1dcbcfa8d9d8b7b29de1a9eb8963122a2207..2c7023bb0164c64d05d733b622abfdd35f50d6ad 100644 (file)
@@ -450,6 +450,11 @@ public:
     // check if the given catalog is loaded
     bool IsLoaded(const wxChar *szDomain) const;
 
+    // Retrieve the language info struct for the given language
+    //
+    // Returns NULL if no info found, pointer must *not* be deleted by caller
+    static const wxLanguageInfo *GetLanguageInfo(int lang);
+
     // 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
index b5bd55ddea6ee81ed8ef19d038036a611d813019..3b26983d779b30e9e8777534b043678a78745f5f 100644 (file)
@@ -641,11 +641,7 @@ bool wxLocale::Init(const wxChar *szName,
 
 bool wxLocale::Init(int language, int flags)
 {
-    wxLanguageInfo *info = NULL;
     int lang = language;
-
-    CreateLanguagesDB();
-
     if (lang == wxLANGUAGE_DEFAULT)
     {
         // auto detect the language
@@ -658,17 +654,7 @@ bool wxLocale::Init(int language, int flags)
        return FALSE;
     }
 
-    if (lang != wxLANGUAGE_DEFAULT)
-    {
-        for (size_t i = 0; i < ms_languagesDB->GetCount(); i++)
-        {
-            if (ms_languagesDB->Item(i).Language == lang)
-            {
-                info = &ms_languagesDB->Item(i);
-                break;
-            }
-        }
-    }
+    const wxLanguageInfo *info = GetLanguageInfo(lang);
 
     // Unknown language:
     if (info == NULL)
@@ -1365,12 +1351,30 @@ wxFontEncoding wxLocale::GetSystemEncoding()
     return wxFONTENCODING_SYSTEM;
 }
 
-/*static*/ void wxLocale::AddLanguage(const wxLanguageInfo& info)
+/* static */
+void wxLocale::AddLanguage(const wxLanguageInfo& info)
 {
     CreateLanguagesDB();
     ms_languagesDB->Add(info);
 }
 
+/* static */
+const wxLanguageInfo *wxLocale::GetLanguageInfo(int lang)
+{
+    CreateLanguagesDB();
+
+    size_t count = ms_languagesDB->GetCount();
+    for ( size_t i = 0; i < count; i++ )
+    {
+        if ( ms_languagesDB->Item(i).Language == lang )
+        {
+            return &ms_languagesDB->Item(i);
+        }
+    }
+
+    return NULL;
+}
+
 wxString wxLocale::GetSysName() const
 {
     return wxSetlocale(LC_ALL, NULL);
@@ -2100,7 +2104,7 @@ void wxLocale::InitLanguagesDB()
    wxLanguageInfo info;
    wxStringTokenizer tkn;
 
-      LNG(wxLANGUAGE_ABKHAZIAN,                  "ab"   , 0              , 0                                 , "Abkhazian")
+   LNG(wxLANGUAGE_ABKHAZIAN,                  "ab"   , 0              , 0                                 , "Abkhazian")
    LNG(wxLANGUAGE_AFAR,                       "aa"   , 0              , 0                                 , "Afar")
    LNG(wxLANGUAGE_AFRIKAANS,                  "af_ZA", LANG_AFRIKAANS , SUBLANG_DEFAULT                   , "Afrikaans")
    LNG(wxLANGUAGE_ALBANIAN,                   "sq_AL", LANG_ALBANIAN  , SUBLANG_DEFAULT                   , "Albanian")