Consider the case where there is not any layout name.
[lyx.git] / src / layout.h
bloba83965daf2cde872f7434dbca5b3bb7d2d0fe7f8
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.
7 * \author Lars Gullik Bjønnes
8 * \author Jean-Marc Lasgouttes
10 * Full author contact details are available in file CREDITS.
13 #ifndef LAYOUT_H
14 #define LAYOUT_H
16 /// The different output types
17 enum OutputType {
18 ///
19 LATEX = 1,
20 ///
21 LINUXDOC,
22 ///
23 DOCBOOK,
24 ///
25 LITERATE
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
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
62 ///
63 inline
64 void operator|=(LyXAlignment & la1, LyXAlignment la2) {
65 la1 = static_cast<LyXAlignment>(la1 | la2);
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
86 /// The different title types
87 enum LYX_TITLE_LATEX_TYPES {
88 ///
89 TITLE_COMMAND_AFTER = 1,
90 ///
91 TITLE_ENVIRONMENT
95 /// The different label types
96 enum LYX_LABEL_TYPES {
97 ///
98 LABEL_NO_LABEL,
99 ///
100 LABEL_MANUAL,
102 LABEL_BIBLIO,
104 LABEL_TOP_ENVIRONMENT,
106 LABEL_CENTERED_TOP_ENVIRONMENT,
108 // the flushright labels following now must start with LABEL_STATIC
110 LABEL_STATIC,
112 LABEL_SENSITIVE,
114 LABEL_COUNTER,
116 LABEL_ENUMERATE,
118 LABEL_ITEMIZE
123 enum LYX_END_LABEL_TYPES {
125 END_LABEL_NO_LABEL,
127 END_LABEL_BOX,
129 END_LABEL_FILLED_BOX,
131 END_LABEL_STATIC,
133 END_LABEL_ENUM_FIRST = END_LABEL_NO_LABEL,
135 END_LABEL_ENUM_LAST = END_LABEL_STATIC
138 /* Fix labels are printed flushright, manual labels flushleft.
139 * MARGIN_MANUAL and MARGIN_FIRST_DYNAMIC are *only* for LABEL_MANUAL,
140 * MARGIN_DYNAMIC and MARGIN_STATIC are *not* for LABEL_MANUAL.
141 * This seems a funny restriction, but I think other combinations are
142 * not needed, so I will not change it yet.
143 * Correction: MARGIN_FIRST_DYNAMIC also usable with LABEL_STATIC
147 /* There is a parindent and a parskip. Which one is used depends on the
148 * paragraph_separation-flag of the text-object.
149 * BUT: parindent is only thrown away, if a parskip is defined! So if you
150 * want a space between the paragraphs and a parindent at the same time,
151 * you should set parskip to zero and use topsep, parsep and bottomsep.
153 * The standard layout is an exception: its parindent is only set, if the
154 * previous paragraph is standard too. Well, this is LateX and it is good!
158 #endif