]> git.lyx.org Git - lyx.git/blob - src/language.h
make doc++ able to generate the source documentation for lyx
[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-2000 The LyX Team.
9  *
10  * ====================================================== */
11
12 #ifndef LANGUAGE_H
13 #define LANGUAGE_H
14
15 #ifdef __GNUG__
16 #pragma interface
17 #endif
18
19 #include <map>
20 #include "LString.h"
21
22 class Encoding;
23
24 ///
25 class Language {
26 public:
27         ///
28         Language() : RightToLeft_(false) {}
29         ///
30         Language(string const & l, string const & d,
31                  bool rtl, Encoding const * e)
32                 : lang_(l), display_(d), RightToLeft_(rtl) , encoding_(e) {}
33         ///
34         string const & lang() const {
35                 return lang_;
36         }
37         ///
38         string const & display() const {
39                 return display_;
40         }
41         ///
42         bool RightToLeft() const {
43                 return RightToLeft_;
44         }
45         ///
46         Encoding const * encoding() const {
47                 return encoding_;
48         }
49 private:
50         ///
51         string lang_;
52         ///
53         string display_;
54         ///
55         bool RightToLeft_;
56         ///
57         Encoding const * encoding_;
58 };
59
60 #if 0
61 ///
62 bool operator==(Language const & l1, Language const & l2) 
63 {
64         return l1.lang == l2.lang
65                 && l1.display_ == l2.display_
66                 && l1.RightToLeft_ == l2.RightToLeft_
67                 && l1.encoding_ == l2.encoding_;
68 }
69
70 ///
71 bool operator!=(Language const l1, Language const & l2)
72 {
73         return !(l1 == l2);
74
75 }
76 #endif
77 ///
78 typedef std::map<string, Language> Languages;
79 ///
80 extern Languages languages;
81 ///
82 extern Language const * default_language;
83 ///
84 extern Language const *ignore_language;
85
86 #endif