5 #pragma implementation "ParameterStruct.h"
8 #include "ParagraphParameters.h"
9 #include "ParameterStruct.h"
11 // Initialize static member var.
12 ShareContainer<ParameterStruct> ParagraphParameters::container;
14 ParagraphParameters::ParagraphParameters()
21 void ParagraphParameters::clear()
23 ParameterStruct tmp(*param);
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;
34 tmp.labelstring.erase();
35 tmp.labelwidthstring.erase();
36 tmp.start_of_appendix = false;
41 bool ParagraphParameters::sameLayout(ParagraphParameters const & pp) const
43 return param->align == pp.param->align &&
44 param->line_bottom == pp.param->line_bottom &&
45 param->pagebreak_bottom == pp.param->pagebreak_bottom &&
46 param->added_space_bottom == pp.param->added_space_bottom &&
48 param->line_top == pp.param->line_top &&
49 param->pagebreak_top == pp.param->pagebreak_top &&
50 param->added_space_top == pp.param->added_space_top &&
51 param->spacing == pp.param->spacing &&
52 param->noindent == pp.param->noindent &&
53 param->depth == pp.param->depth;
57 void ParagraphParameters::set_from_struct(ParameterStruct const & ps)
59 // get new param from container with tmp as template
60 param = container.get(ps);
64 VSpace const & ParagraphParameters::spaceTop() const
66 return param->added_space_top;
70 void ParagraphParameters::spaceTop(VSpace const & vs)
72 ParameterStruct tmp(*param);
73 tmp.added_space_top = vs;
78 VSpace const & ParagraphParameters::spaceBottom() const
80 return param->added_space_bottom;
84 void ParagraphParameters::spaceBottom(VSpace const & vs)
86 ParameterStruct tmp(*param);
87 tmp.added_space_bottom = vs;
92 Spacing const & ParagraphParameters::spacing() const
94 return param->spacing;
98 void ParagraphParameters::spacing(Spacing const & s)
100 ParameterStruct tmp(*param);
102 set_from_struct(tmp);
106 bool ParagraphParameters::noindent() const
108 return param->noindent;
112 void ParagraphParameters::noindent(bool ni)
114 ParameterStruct tmp(*param);
116 set_from_struct(tmp);
120 bool ParagraphParameters::lineTop() const
122 return param->line_top;
126 void ParagraphParameters::lineTop(bool lt)
128 ParameterStruct tmp(*param);
130 set_from_struct(tmp);
134 bool ParagraphParameters::lineBottom() const
136 return param->line_bottom;
140 void ParagraphParameters::lineBottom(bool lb)
142 ParameterStruct tmp(*param);
143 tmp.line_bottom = lb;
144 set_from_struct(tmp);
148 bool ParagraphParameters::pagebreakTop() const
150 return param->pagebreak_top;
154 void ParagraphParameters::pagebreakTop(bool pbt)
156 ParameterStruct tmp(*param);
157 tmp.pagebreak_top = pbt;
158 set_from_struct(tmp);
162 bool ParagraphParameters::pagebreakBottom() const
164 return param->pagebreak_bottom;
168 void ParagraphParameters::pagebreakBottom(bool pbb)
170 ParameterStruct tmp(*param);
171 tmp.pagebreak_bottom = pbb;
172 set_from_struct(tmp);
176 LyXAlignment ParagraphParameters::align() const
182 void ParagraphParameters::align(LyXAlignment la)
184 ParameterStruct tmp(*param);
186 set_from_struct(tmp);
190 void ParagraphParameters::depth(depth_type d)
192 ParameterStruct tmp(*param);
194 set_from_struct(tmp);
198 bool ParagraphParameters::startOfAppendix() const
200 return param->start_of_appendix;
204 void ParagraphParameters::startOfAppendix(bool soa)
206 ParameterStruct tmp(*param);
207 tmp.start_of_appendix = soa;
208 set_from_struct(tmp);
212 bool ParagraphParameters::appendix() const
214 return param->appendix;
218 void ParagraphParameters::appendix(bool a)
220 ParameterStruct tmp(*param);
222 set_from_struct(tmp);
226 string const & ParagraphParameters::labelString() const
228 return param->labelstring;
232 void ParagraphParameters::labelString(string const & ls)
234 ParameterStruct tmp(*param);
235 tmp.labelstring = ls;
236 set_from_struct(tmp);
240 string const & ParagraphParameters::labelWidthString() const
242 return param->labelwidthstring;
246 void ParagraphParameters::labelWidthString(string const & lws)
248 ParameterStruct tmp(*param);
249 tmp.labelwidthstring = lws;
250 set_from_struct(tmp);
255 LyXLength const & ParagraphParameters::leftIndent() const
257 return param->leftindent;
261 void ParagraphParameters::leftIndent(LyXLength const & li)
263 ParameterStruct tmp(*param);
265 set_from_struct(tmp);