]> git.lyx.org Git - lyx.git/blob - src/language.h
remove defaults stuff, let Qt handle no toolbar
[lyx.git] / src / language.h
1 // -*- C++ -*-
2 /* This file is part of
3  * ======================================================
4  *
5  *           LyX, The Document Processor
6  *
7  *           Copyright 1995 Matthias Ettrich
8  *           Copyright 1995-2001 The LyX Team.
9  *
10  * ====================================================== */
11
12 #ifndef LANGUAGE_H
13 #define LANGUAGE_H
14
15 #include <map>
16 #include "LString.h"
17
18 class Encoding;
19
20 ///
21 class Language {
22 public:
23         ///
24         Language() : RightToLeft_(false) {}
25         ///
26         Language(string const & l, string const & b, string const & d,
27                  bool rtl, Encoding const * e, string const & c,
28                  string const & o)
29                 : lang_(l), babel_(b), display_(d), RightToLeft_(rtl),
30                   encoding_(e), code_(c), latex_options_(o)
31                 {}
32         ///
33         string const & lang() const {
34                 return lang_;
35         }
36         ///
37         string const & babel() const {
38                 return babel_;
39         }
40         ///
41         string const & display() const {
42                 return display_;
43         }
44         ///
45         bool RightToLeft() const {
46                 return RightToLeft_;
47         }
48         ///
49         Encoding const * encoding() const {
50                 return encoding_;
51         }
52         ///
53         string const & code() const {
54                 return code_;
55         }
56         ///
57         string const & latex_options() const {
58                 return latex_options_;
59         }
60 private:
61         ///
62         string lang_;
63         ///
64         string babel_;
65         ///
66         string display_;
67         ///
68         bool RightToLeft_;
69         ///
70         Encoding const * encoding_;
71         ///
72         string code_;
73         ///
74         string latex_options_;
75 };
76
77 class Languages
78 {
79 public:
80         ///
81         typedef std::map<string, Language> LanguageList;
82         ///
83         typedef LanguageList::const_iterator const_iterator;
84         ///
85         typedef LanguageList::size_type size_type;
86         ///
87         void read(string const & filename);
88         ///
89         Language const * getLanguage(string const & language) const;
90         ///
91         size_type size() const {
92                 return languagelist.size();
93         }
94         ///
95         const_iterator begin() const {
96                 return languagelist.begin();
97         }
98         ///
99         const_iterator end() const {
100                 return languagelist.end();
101         }
102         ///
103
104 private:
105         ///
106         LanguageList languagelist;
107 };
108
109 extern Languages languages;
110 extern Language const * default_language;
111 extern Language const * english_language;
112 extern Language const * ignore_language;
113 extern Language const * latex_language;
114
115 #endif