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