]> git.lyx.org Git - lyx.git/blob - src/layout.h
Point fix, earlier forgotten
[lyx.git] / src / layout.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  *
10  * Full author contact details are available in file CREDITS.
11  */
12
13 #ifndef LAYOUT_H
14 #define LAYOUT_H
15
16 /// The different output types
17 enum OutputType {
18         ///
19         LATEX = 1,
20         ///
21         LINUXDOC,
22         ///
23         DOCBOOK,
24         ///
25         LITERATE
26 };
27
28
29 /// The different margin types
30 enum LYX_MARGIN_TYPE {
31         ///
32         MARGIN_MANUAL = 1,
33         ///
34         MARGIN_FIRST_DYNAMIC,
35         ///
36         MARGIN_DYNAMIC,
37         ///
38         MARGIN_STATIC,
39         ///
40         MARGIN_RIGHT_ADDRESS_BOX
41 };
42
43
44 ///
45 enum LyXAlignment {
46         ///
47         LYX_ALIGN_NONE = 0,
48         ///
49         LYX_ALIGN_BLOCK = 1,
50         ///
51         LYX_ALIGN_LEFT = 2,
52         ///
53         LYX_ALIGN_RIGHT = 4,
54         ///
55         LYX_ALIGN_CENTER = 8,
56         ///
57         LYX_ALIGN_LAYOUT = 16,
58         ///
59         LYX_ALIGN_SPECIAL = 32
60 };
61
62 ///
63 inline
64 void operator|=(LyXAlignment & la1, LyXAlignment la2) {
65         la1 = static_cast<LyXAlignment>(la1 | la2);
66 }
67
68
69 /// The different LaTeX-Types
70 enum LYX_LATEX_TYPES {
71         ///
72         LATEX_PARAGRAPH = 1,
73         ///
74         LATEX_COMMAND,
75         ///
76         LATEX_ENVIRONMENT,
77         ///
78         LATEX_ITEM_ENVIRONMENT,
79         ///
80         LATEX_BIB_ENVIRONMENT,
81         ///
82         LATEX_LIST_ENVIRONMENT
83 };
84
85
86 /// The different title types
87 enum LYX_TITLE_LATEX_TYPES {
88         ///
89         TITLE_COMMAND_AFTER = 1,
90         ///
91         TITLE_ENVIRONMENT
92 };
93
94
95 /// The different label types
96 enum LYX_LABEL_TYPES {
97         ///
98         LABEL_NO_LABEL,
99         ///
100         LABEL_MANUAL,
101         ///
102         LABEL_BIBLIO,
103         ///
104         LABEL_TOP_ENVIRONMENT,
105         ///
106         LABEL_CENTERED_TOP_ENVIRONMENT,
107
108         // the flushright labels following now must start with LABEL_STATIC
109         ///
110         LABEL_STATIC,
111         ///
112         LABEL_SENSITIVE,
113         ///
114         LABEL_COUNTER_CHAPTER,
115         ///
116         LABEL_COUNTER_SECTION,
117         ///
118         LABEL_COUNTER_SUBSECTION,
119         ///
120         LABEL_COUNTER_SUBSUBSECTION,
121         ///
122         LABEL_COUNTER_PARAGRAPH,
123         ///
124         LABEL_COUNTER_SUBPARAGRAPH,
125         ///
126         LABEL_COUNTER_ENUMI,
127         ///
128         LABEL_COUNTER_ENUMII,
129         ///
130         LABEL_COUNTER_ENUMIII,
131         ///
132         LABEL_COUNTER_ENUMIV
133 };
134
135
136 ///
137 enum LYX_END_LABEL_TYPES {
138         ///
139         END_LABEL_NO_LABEL,
140         ///
141         END_LABEL_BOX,
142         ///
143         END_LABEL_FILLED_BOX,
144         ///
145         END_LABEL_STATIC,
146         ///
147         END_LABEL_ENUM_FIRST = END_LABEL_NO_LABEL,
148         ///
149         END_LABEL_ENUM_LAST = END_LABEL_STATIC
150 };
151
152 /* Fix labels are printed flushright, manual labels flushleft.
153  * MARGIN_MANUAL and MARGIN_FIRST_DYNAMIC are *only* for LABEL_MANUAL,
154  * MARGIN_DYNAMIC and MARGIN_STATIC are *not* for LABEL_MANUAL.
155  * This seems a funny restriction, but I think other combinations are
156  * not needed, so I will not change it yet.
157  * Correction: MARGIN_FIRST_DYNAMIC also usable with LABEL_STATIC
158  */
159
160
161 /* There is a parindent and a parskip. Which one is used depends on the
162  * paragraph_separation-flag of the text-object.
163  * BUT: parindent is only thrown away, if a parskip is defined! So if you
164  * want a space between the paragraphs and a parindent at the same time,
165  * you should set parskip to zero and use topsep, parsep and bottomsep.
166  *
167  * The standard layout is an exception: its parindent is only set, if the
168  * previous paragraph is standard too. Well, this is LateX and it is good!
169  */
170
171
172 #endif