]> git.lyx.org Git - lyx.git/blob - src/insets/InsetLayout.h
477b0c2609eb4a4e11e4fb58acaa07d762aabcf5
[lyx.git] / src / insets / InsetLayout.h
1 // -*- C++ -*-
2 /**
3  * \file InsetLayout.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author Martin Vermeer
8  * \author Richard Heck
9  *
10  * Full author contact details are available in file CREDITS.
11  */
12
13 #ifndef INSET_LAYOUT_H
14 #define INSET_LAYOUT_H
15
16 #include "ColorCode.h"
17 #include "FontInfo.h"
18 #include "Lexer.h"
19
20 #include "support/docstring.h"
21
22 #include <set>
23 #include <string>
24
25 namespace lyx {
26
27 ///
28 class InsetLayout {
29 public:
30         ///
31         InsetLayout();
32         ///
33         bool read(Lexer & lexrc);
34         ///
35         docstring name() const { return name_; };
36         ///
37         std::string lyxtype() const { return lyxtype_; };
38         ///
39         docstring labelstring() const { return labelstring_; };
40         ///
41         //FIXME This could be an enum
42         std::string decoration() const { return decoration_; };
43         ///
44         std::string latextype() const { return latextype_; };
45         ///
46         std::string latexname() const { return latexname_; };
47         ///
48         std::string latexparam() const { return latexparam_; };
49         ///
50         FontInfo font() const { return font_; };
51         ///
52         FontInfo labelfont() const { return labelfont_; };
53         ///
54         ColorCode bgcolor() const { return bgcolor_; };
55         ///
56         std::string preamble() const { return preamble_; };
57         ///
58         std::set<std::string> requires() const { return requires_; };
59         ///
60         bool isMultiPar() const { return multipar_; };
61         ///
62         bool isPassThru() const { return passthru_; };
63         ///
64         bool isNeedProtect() const { return needprotect_; };
65         ///
66         bool isFreeSpacing() const { return freespacing_; };
67         ///
68         bool isKeepEmpty() const { return keepempty_; };
69         ///
70         bool isForceLtr() const { return forceltr_; };
71 private:
72         ///
73         docstring name_;
74         ///
75         std::string lyxtype_;
76         ///
77         docstring labelstring_;
78         ///
79         std::string decoration_;
80         ///
81         std::string latextype_;
82         ///
83         std::string latexname_;
84         ///
85         std::string latexparam_;
86         ///
87         FontInfo font_;
88         ///
89         FontInfo labelfont_;
90         ///
91         ColorCode bgcolor_;
92         ///
93         std::string preamble_;
94         ///
95         std::set<std::string> requires_;
96         ///
97         bool multipar_;
98         ///
99         bool passthru_;
100         ///
101         bool needprotect_;
102         ///
103         bool freespacing_;
104         ///
105         bool keepempty_;
106         ///
107         bool forceltr_;
108 };
109
110 } // namespace lyx
111
112 #endif