]> git.lyx.org Git - lyx.git/blob - src/ParagraphParameters.C
fix typo that put too many include paths for most people
[lyx.git] / src / ParagraphParameters.C
1 #include <config.h>
2
3 #ifdef __GNUG__
4 #pragma implementation
5 #pragma implementation "ParameterStruct.h"
6 #endif
7
8 #include "ParagraphParameters.h"
9 #include "ParameterStruct.h"
10
11 // Initialize static member var.
12 ShareContainer<ParameterStruct> ParagraphParameters::container;
13
14 ParagraphParameters::ParagraphParameters()
15 {
16         ParameterStruct tmp;
17         set_from_struct(tmp);
18 }
19
20
21 void ParagraphParameters::clear()
22 {
23         ParameterStruct tmp(*param);
24         tmp.line_top = false;
25         tmp.line_bottom = false;
26         tmp.pagebreak_top = false;
27         tmp.pagebreak_bottom = false;
28         tmp.added_space_top = VSpace(VSpace::NONE);
29         tmp.added_space_bottom = VSpace(VSpace::NONE);
30         tmp.spacing.set(Spacing::Default);
31         tmp.align = LYX_ALIGN_LAYOUT;
32         tmp.depth = 0;
33         tmp.noindent = false;
34         tmp.labelstring.erase();
35         tmp.labelwidthstring.erase();
36         tmp.start_of_appendix = false;
37 #ifndef NO_PEXTRA_REALLY
38         //tmp.pextra_type = PEXTRA_NONE;
39         tmp.pextra_type = 0;
40         tmp.pextra_width.erase();
41         tmp.pextra_widthp.erase();
42         //tmp.pextra_alignment = MINIPAGE_ALIGN_TOP;
43         tmp.pextra_alignment = 0;
44         tmp.pextra_hfill = false;
45         tmp.pextra_start_minipage = false;
46 #endif
47         set_from_struct(tmp);
48 }
49
50
51 bool ParagraphParameters::sameLayout(ParagraphParameters const & pp) const
52 {
53         return param->align == pp.param->align &&
54                 param->line_bottom == pp.param->line_bottom &&
55                 param->pagebreak_bottom == pp.param->pagebreak_bottom &&
56                 param->added_space_bottom == pp.param->added_space_bottom &&
57
58                 param->line_top == pp.param->line_top &&
59                 param->pagebreak_top == pp.param->pagebreak_top &&
60                 param->added_space_top == pp.param->added_space_top &&
61                 param->spacing == pp.param->spacing &&
62 #ifndef NO_PEXTRA_REALLY
63                 param->pextra_type == pp.param->pextra_type &&
64                 param->pextra_width == pp.param->pextra_width &&
65                 param->pextra_widthp == pp.param->pextra_widthp &&
66                 param->pextra_alignment == pp.param->pextra_alignment &&
67                 param->pextra_hfill == pp.param->pextra_hfill &&
68                 param->pextra_start_minipage == pp.param->pextra_start_minipage &&
69 #endif
70                 param->noindent == pp.param->noindent &&
71                 param->depth == pp.param->depth;
72 }
73
74
75 void ParagraphParameters::set_from_struct(ParameterStruct const & ps)
76 {
77         // get new param from container with tmp as template
78         param = container.get(ps);
79 }
80
81
82 VSpace const & ParagraphParameters::spaceTop() const
83 {
84         return param->added_space_top;
85 }
86
87
88 void ParagraphParameters::spaceTop(VSpace const & vs)
89 {
90         ParameterStruct tmp(*param);
91         tmp.added_space_top = vs;
92         set_from_struct(tmp);
93 }
94
95
96 VSpace const & ParagraphParameters::spaceBottom() const
97 {
98         return param->added_space_bottom;
99 }
100
101
102 void ParagraphParameters::spaceBottom(VSpace const & vs)
103 {
104         ParameterStruct tmp(*param);
105         tmp.added_space_bottom = vs;
106         set_from_struct(tmp);
107 }
108
109
110 Spacing const & ParagraphParameters::spacing() const
111 {
112         return param->spacing;
113 }
114
115
116 void ParagraphParameters::spacing(Spacing const & s)
117 {
118         ParameterStruct tmp(*param);
119         tmp.spacing = s;
120         set_from_struct(tmp);
121 }
122
123
124 bool ParagraphParameters::noindent() const
125 {
126         return param->noindent;
127 }
128
129
130 void ParagraphParameters::noindent(bool ni)
131 {
132         ParameterStruct tmp(*param);
133         tmp.noindent = ni;
134         set_from_struct(tmp);
135 }
136
137
138 bool ParagraphParameters::lineTop() const
139 {
140         return param->line_top;
141 }
142
143
144 void ParagraphParameters::lineTop(bool lt)
145 {
146         ParameterStruct tmp(*param);
147         tmp.line_top = lt;
148         set_from_struct(tmp);
149 }
150
151
152 bool ParagraphParameters::lineBottom() const
153 {
154         return param->line_bottom;
155 }
156
157
158 void ParagraphParameters::lineBottom(bool lb)
159 {
160         ParameterStruct tmp(*param);
161         tmp.line_bottom = lb;
162         set_from_struct(tmp);
163 }
164
165
166 bool ParagraphParameters::pagebreakTop() const
167 {
168         return param->pagebreak_top;
169 }
170
171
172 void ParagraphParameters::pagebreakTop(bool pbt)
173 {
174         ParameterStruct tmp(*param);
175         tmp.pagebreak_top = pbt;
176         set_from_struct(tmp);
177 }
178
179
180 bool ParagraphParameters::pagebreakBottom() const
181 {
182         return param->pagebreak_bottom;
183 }
184
185
186 void ParagraphParameters::pagebreakBottom(bool pbb)
187 {
188         ParameterStruct tmp(*param);
189         tmp.pagebreak_bottom = pbb;
190         set_from_struct(tmp);
191 }
192
193
194 LyXAlignment ParagraphParameters::align() const
195 {
196         return param->align;
197 }
198
199
200 void ParagraphParameters::align(LyXAlignment la)
201 {
202         ParameterStruct tmp(*param);
203         tmp.align = la;
204         set_from_struct(tmp);
205 }
206
207
208 void ParagraphParameters::depth(depth_type d)
209 {
210         ParameterStruct tmp(*param);
211         tmp.depth = d;
212         set_from_struct(tmp);
213 }
214
215
216 bool ParagraphParameters::startOfAppendix() const
217 {
218         return param->start_of_appendix;
219 }
220
221
222 void ParagraphParameters::startOfAppendix(bool soa)
223 {
224         ParameterStruct tmp(*param);
225         tmp.start_of_appendix = soa;
226         set_from_struct(tmp);
227 }
228
229
230 bool ParagraphParameters::appendix() const
231 {
232         return param->appendix;
233 }
234
235
236 void ParagraphParameters::appendix(bool a)
237 {
238         ParameterStruct tmp(*param);
239         tmp.appendix = a;
240         set_from_struct(tmp);
241 }
242
243
244 string const & ParagraphParameters::labelString() const
245 {
246         return param->labelstring;
247 }
248
249
250 void ParagraphParameters::labelString(string const & ls)
251 {
252         ParameterStruct tmp(*param);
253         tmp.labelstring = ls;
254         set_from_struct(tmp);
255 }
256
257
258 string const & ParagraphParameters::labelWidthString() const
259 {
260         return param->labelwidthstring;
261 }
262
263
264 void ParagraphParameters::labelWidthString(string const & lws)
265 {
266         ParameterStruct tmp(*param);
267         tmp.labelwidthstring = lws;
268         set_from_struct(tmp);
269 }
270
271 #ifndef NO_PEXTRA_REALLY
272 int ParagraphParameters::pextraType() const
273 {
274         return param->pextra_type;
275 }
276
277
278 void ParagraphParameters::pextraType(int t)
279 {
280         ParameterStruct tmp(*param);
281         tmp.pextra_type = t;
282         set_from_struct(tmp);
283 }
284
285
286 string const & ParagraphParameters::pextraWidth() const
287 {
288         return param->pextra_width;
289 }
290
291
292 void ParagraphParameters::pextraWidth(string const & w)
293 {
294         ParameterStruct tmp(*param);
295         tmp.pextra_width = w;
296         set_from_struct(tmp);
297 }
298
299
300 string const & ParagraphParameters::pextraWidthp() const
301 {
302         return param->pextra_widthp;
303 }
304
305
306 void ParagraphParameters::pextraWidthp(string const & wp)
307 {
308         ParameterStruct tmp(*param);
309         tmp.pextra_widthp = wp;
310         set_from_struct(tmp);
311 }
312
313
314 int ParagraphParameters::pextraAlignment() const
315 {
316         return param->pextra_alignment;
317 }
318
319
320 void ParagraphParameters::pextraAlignment(int a)
321 {
322         ParameterStruct tmp(*param);
323         tmp.pextra_alignment = a;
324         set_from_struct(tmp);
325 }
326
327
328 bool ParagraphParameters::pextraHfill() const
329 {
330         return param->pextra_hfill;
331 }
332
333
334 void ParagraphParameters::pextraHfill(bool hf)
335 {
336         ParameterStruct tmp(*param);
337         tmp.pextra_hfill = hf;
338         set_from_struct(tmp);
339 }
340
341
342 bool ParagraphParameters::pextraStartMinipage() const
343 {
344         return param->pextra_start_minipage;
345 }
346
347
348 void ParagraphParameters::pextraStartMinipage(bool smp)
349 {
350         ParameterStruct tmp(*param);
351         tmp.pextra_start_minipage = smp;
352         set_from_struct(tmp);
353 }
354 #endif