]> git.lyx.org Git - lyx.git/blobdiff - src/language.h
fix typo that put too many include paths for most people
[lyx.git] / src / language.h
index 7015a59f79c7d120cb7c7de14844f12076c8de2f..01e0c74b901b4308a6ed3322d95fdaee645b0eb3 100644 (file)
@@ -1,11 +1,11 @@
 // -*- C++ -*-
 /* This file is part of
- * ====================================================== 
- * 
+ * ======================================================
+ *
  *           LyX, The Document Processor
- *        
+ *
  *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-2000 The LyX Team.
+ *           Copyright 1995-2001 The LyX Team.
  *
  * ====================================================== */
 
@@ -28,9 +28,10 @@ public:
        Language() : RightToLeft_(false) {}
        ///
        Language(string const & l, string const & b, string const & d,
-                bool rtl, Encoding const * e, string const & c)
+                bool rtl, Encoding const * e, string const & c,
+                string const & o)
                : lang_(l), babel_(b), display_(d), RightToLeft_(rtl),
-                 encoding_(e), code_(c)
+                 encoding_(e), code_(c), latex_options_(o)
                {}
        ///
        string const & lang() const {
@@ -56,6 +57,10 @@ public:
        string const & code() const {
                return code_;
        }
+       ///
+       string const & latex_options() const {
+               return latex_options_;
+       }
 private:
        ///
        string lang_;
@@ -69,32 +74,51 @@ private:
        Encoding const * encoding_;
        ///
        string code_;
+       ///
+       string latex_options_;
 };
 
-#if 0
-///
-bool operator==(Language const & l1, Language const & l2) 
+class Languages
 {
-       return l1.lang == l2.lang
-               && l1.display_ == l2.display_
-               && l1.RightToLeft_ == l2.RightToLeft_
-               && l1.encoding_ == l2.encoding_;
-}
+public:
+       ///
+       typedef std::map<string, Language> LanguageList;
+       ///
+       typedef LanguageList::const_iterator const_iterator;
+       ///
+       typedef LanguageList::size_type size_type;
+       ///
+       void read(string const & filename);
+       ///
+       void setDefaults();
+       ///
+       Language const * getLanguage(string const & language) const;
+       ///
+       size_type size() const {
+               return languagelist.size();
+       }
+       ///
+       const_iterator begin() const {
+               return languagelist.begin();
+       }
+       ///
+       const_iterator end() const {
+               return languagelist.end();
+       }
+       ///
 
-///
-bool operator!=(Language const l1, Language const & l2)
-{
-       return !(l1 == l2);
+private:
+       ///
+       LanguageList languagelist;
+};
 
-}
-#endif
-///
-typedef std::map<string, Language> Languages;
-///
 extern Languages languages;
-///
 extern Language const * default_language;
-///
-extern Language const *ignore_language;
+extern Language const * english_language;
+extern Language const * ignore_language;
+extern Language const * latex_language;
+#ifdef INHERIT_LANGUAGE
+extern Language const * inherit_language;
+#endif
 
 #endif