]> git.lyx.org Git - lyx.git/blobdiff - src/WordList.cpp
tex2lyx/text.cpp: whitespace fix
[lyx.git] / src / WordList.cpp
index 7dc620e0898e2fba99101d23a546021b118982bf..191dc33b83ebc365a166ead16bd0dffa47091bde 100644 (file)
@@ -12,6 +12,8 @@
 
 #include "WordList.h"
 
+#include "Language.h"
+
 #include "support/convert.h"
 #include "support/debug.h"
 #include "support/docstring.h"
 
 #include "support/lassert.h"
 
+#include <map>
+
+using namespace std;
+
 namespace lyx {
 
 ///
-WordList theGlobalWordList;
+map<Language, WordList *> theGlobalWordList;
+
 
-WordList & theWordList()
+WordList * theWordList(Language const & lang)
 {
-       return theGlobalWordList;
+       map<Language, WordList *>::iterator it = theGlobalWordList.find(lang);
+       if (it != theGlobalWordList.end())
+               return it->second;
+       else
+               theGlobalWordList[lang] = new WordList();
+       return theGlobalWordList[lang];
 }
 
+
+void WordList::cleanupWordLists() {
+       map<Language, WordList *>::const_iterator it = theGlobalWordList.begin();
+       for (; it != theGlobalWordList.end(); ++it)
+               delete it->second;
+       theGlobalWordList.clear();
+}
+
+
 ///
 struct WordList::Impl {
        ///