]> git.lyx.org Git - lyx.git/blob - src/LayoutEnums.h
Avoid full metrics computation with Update:FitCursor
[lyx.git] / src / LayoutEnums.h
1 // -*- C++ -*-
2 /**
3  * \file Layout.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author Lars Gullik Bjønnes
8  * \author Jean-Marc Lasgouttes
9  * \author André Pönitz
10  *
11  * Full author contact details are available in file CREDITS.
12  */
13
14 #ifndef LAYOUTENUMS_H
15 #define LAYOUTENUMS_H
16
17 // Do not include anything here
18
19 namespace lyx {
20
21 /// The different output types
22 enum OutputType {
23         ///
24         LATEX = 1,
25         ///
26         LITERATE
27 };
28
29
30 /// The different margin types
31 enum MarginType {
32         ///
33         MARGIN_MANUAL = 1,
34         ///
35         MARGIN_FIRST_DYNAMIC,
36         ///
37         MARGIN_DYNAMIC,
38         ///
39         MARGIN_STATIC,
40         ///
41         MARGIN_RIGHT_ADDRESS_BOX
42 };
43
44
45 ///
46 enum LyXAlignment {
47         ///
48         LYX_ALIGN_NONE = 0,
49         ///
50         LYX_ALIGN_BLOCK = 1,
51         ///
52         LYX_ALIGN_LEFT = 2,
53         ///
54         LYX_ALIGN_RIGHT = 4,
55         ///
56         LYX_ALIGN_CENTER = 8,
57         ///
58         LYX_ALIGN_LAYOUT = 16,
59         ///
60         LYX_ALIGN_SPECIAL = 32,
61         ///
62         LYX_ALIGN_DECIMAL = 64
63 };
64
65
66 /// Paragraph indendation control
67 enum ToggleIndentation {
68         /// Indentation can be toggled if document uses "indent" paragraph style
69         ITOGGLE_DOCUMENT_DEFAULT = 1,
70         /// Indentation cannot be toggled
71         ITOGGLE_NEVER,
72         /// Indentation can always be toggled
73         ITOGGLE_ALWAYS
74 };
75
76 ///
77 inline void operator|=(LyXAlignment & la1, LyXAlignment la2)
78 {
79         la1 = static_cast<LyXAlignment>(la1 | la2);
80 }
81
82
83 ///
84 inline LyXAlignment operator|(LyXAlignment la1, LyXAlignment la2)
85 {
86         return static_cast<LyXAlignment>(int(la1) | int(la2));
87 }
88
89
90 /// The different LaTeX-Types
91 enum LatexType {
92         ///
93         LATEX_PARAGRAPH = 1,
94         ///
95         LATEX_COMMAND,
96         ///
97         LATEX_ENVIRONMENT,
98         ///
99         LATEX_ITEM_ENVIRONMENT,
100         ///
101         LATEX_BIB_ENVIRONMENT,
102         ///
103         LATEX_LIST_ENVIRONMENT
104 };
105
106
107 /// The different title types
108 enum TitleLatexType {
109         ///
110         TITLE_COMMAND_AFTER = 1,
111         ///
112         TITLE_ENVIRONMENT
113 };
114
115
116 /// The different label types
117 enum LabelType {
118         ///
119         LABEL_NO_LABEL,
120         ///
121         LABEL_MANUAL,
122         ///
123         LABEL_BIBLIO,
124         ///
125         LABEL_ABOVE,
126         ///
127         LABEL_CENTERED,
128         ///
129         LABEL_STATIC,
130         ///
131         LABEL_SENSITIVE,
132         ///
133         LABEL_ENUMERATE,
134         ///
135         LABEL_ITEMIZE
136 };
137
138
139 ///
140 enum EndLabelType {
141         ///
142         END_LABEL_NO_LABEL,
143         ///
144         END_LABEL_BOX,
145         ///
146         END_LABEL_FILLED_BOX,
147         ///
148         END_LABEL_STATIC
149 };
150
151 ///
152 enum ArgPassThru {
153         ///
154         PT_INHERITED,
155         ///
156         PT_FALSE,
157         ///
158         PT_TRUE
159 };
160
161 } // namespace lyx
162
163 #endif