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