]> git.lyx.org Git - lyx.git/blobdiff - src/messages.h
Fix inline collapsable inset set focus crash
[lyx.git] / src / messages.h
index 39c7246ecddf5f2fc3f527644ce0ca94447742d5..166f4601d01b28d232e64e298d7ddf14d536bbf8 100644 (file)
 
 #include "support/docstring.h"
 
-#include <boost/scoped_ptr.hpp>
+#include <map>
 #include <string>
 
-
 namespace lyx {
 
 ///
 class Messages {
 public:
-       /// messages in the language defined by the environment
-       Messages();
-       /// messages in the language \p l
-       Messages(std::string const & l);
-       ///
-       ~Messages();
+       /// messages in the language \p l.
+       /// If \p l is empty, the language will be defined by the environment.
+       Messages(std::string const & l = "");
        ///
        docstring const get(std::string const & msg) const;
 private:
-       class Pimpl;
-       boost::scoped_ptr<Pimpl> pimpl_;
+       ///
+       std::string lang_;
+       ///
+       typedef std::map<std::string, docstring> TranslationCache;
+       /// Internal cache for gettext translated strings.
+       /// This is needed for performance reason within \c updateLabels()
+       /// under Windows.
+       mutable TranslationCache cache_;
 };
 
+/// Access to the unique Messages object for the passed \p language.
+/// Implementation is in lyx_main.C.
+extern Messages & getMessages(std::string const & language);
+/// Access to the unique Messages object used for GUI element.
+/// Implementation is in lyx_main.C.
+extern Messages & getGuiMessages();
 
 } // namespace lyx