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