3 #include "ParagraphParameters.h"
4 #include "ParameterStruct.h"
6 // Initialize static member var.
7 ShareContainer<ParameterStruct> ParagraphParameters::container;
9 ParagraphParameters::ParagraphParameters()
16 void ParagraphParameters::clear()
18 ParameterStruct tmp(*param);
20 tmp.line_bottom = false;
21 tmp.pagebreak_top = false;
22 tmp.pagebreak_bottom = false;
23 tmp.added_space_top = VSpace(VSpace::NONE);
24 tmp.added_space_bottom = VSpace(VSpace::NONE);
25 tmp.spacing.set(Spacing::Default);
26 tmp.align = LYX_ALIGN_LAYOUT;
29 tmp.labelstring.erase();
30 tmp.labelwidthstring.erase();
31 tmp.start_of_appendix = false;
36 bool ParagraphParameters::sameLayout(ParagraphParameters const & pp) const
38 return param->align == pp.param->align &&
39 param->line_bottom == pp.param->line_bottom &&
40 param->pagebreak_bottom == pp.param->pagebreak_bottom &&
41 param->added_space_bottom == pp.param->added_space_bottom &&
43 param->line_top == pp.param->line_top &&
44 param->pagebreak_top == pp.param->pagebreak_top &&
45 param->added_space_top == pp.param->added_space_top &&
46 param->spacing == pp.param->spacing &&
47 param->noindent == pp.param->noindent &&
48 param->depth == pp.param->depth;
52 void ParagraphParameters::set_from_struct(ParameterStruct const & ps)
54 // get new param from container with tmp as template
55 param = container.get(ps);
59 VSpace const & ParagraphParameters::spaceTop() const
61 return param->added_space_top;
65 void ParagraphParameters::spaceTop(VSpace const & vs)
67 ParameterStruct tmp(*param);
68 tmp.added_space_top = vs;
73 VSpace const & ParagraphParameters::spaceBottom() const
75 return param->added_space_bottom;
79 void ParagraphParameters::spaceBottom(VSpace const & vs)
81 ParameterStruct tmp(*param);
82 tmp.added_space_bottom = vs;
87 Spacing const & ParagraphParameters::spacing() const
89 return param->spacing;
93 void ParagraphParameters::spacing(Spacing const & s)
95 ParameterStruct tmp(*param);
101 bool ParagraphParameters::noindent() const
103 return param->noindent;
107 void ParagraphParameters::noindent(bool ni)
109 ParameterStruct tmp(*param);
111 set_from_struct(tmp);
115 bool ParagraphParameters::lineTop() const
117 return param->line_top;
121 void ParagraphParameters::lineTop(bool lt)
123 ParameterStruct tmp(*param);
125 set_from_struct(tmp);
129 bool ParagraphParameters::lineBottom() const
131 return param->line_bottom;
135 void ParagraphParameters::lineBottom(bool lb)
137 ParameterStruct tmp(*param);
138 tmp.line_bottom = lb;
139 set_from_struct(tmp);
143 bool ParagraphParameters::pagebreakTop() const
145 return param->pagebreak_top;
149 void ParagraphParameters::pagebreakTop(bool pbt)
151 ParameterStruct tmp(*param);
152 tmp.pagebreak_top = pbt;
153 set_from_struct(tmp);
157 bool ParagraphParameters::pagebreakBottom() const
159 return param->pagebreak_bottom;
163 void ParagraphParameters::pagebreakBottom(bool pbb)
165 ParameterStruct tmp(*param);
166 tmp.pagebreak_bottom = pbb;
167 set_from_struct(tmp);
171 LyXAlignment ParagraphParameters::align() const
177 void ParagraphParameters::align(LyXAlignment la)
179 ParameterStruct tmp(*param);
181 set_from_struct(tmp);
185 void ParagraphParameters::depth(depth_type d)
187 ParameterStruct tmp(*param);
189 set_from_struct(tmp);
193 bool ParagraphParameters::startOfAppendix() const
195 return param->start_of_appendix;
199 void ParagraphParameters::startOfAppendix(bool soa)
201 ParameterStruct tmp(*param);
202 tmp.start_of_appendix = soa;
203 set_from_struct(tmp);
207 bool ParagraphParameters::appendix() const
209 return param->appendix;
213 void ParagraphParameters::appendix(bool a)
215 ParameterStruct tmp(*param);
217 set_from_struct(tmp);
221 string const & ParagraphParameters::labelString() const
223 return param->labelstring;
227 void ParagraphParameters::labelString(string const & ls)
229 ParameterStruct tmp(*param);
230 tmp.labelstring = ls;
231 set_from_struct(tmp);
235 string const & ParagraphParameters::labelWidthString() const
237 return param->labelwidthstring;
241 void ParagraphParameters::labelWidthString(string const & lws)
243 ParameterStruct tmp(*param);
244 tmp.labelwidthstring = lws;
245 set_from_struct(tmp);
250 LyXLength const & ParagraphParameters::leftIndent() const
252 return param->leftindent;
256 void ParagraphParameters::leftIndent(LyXLength const & li)
258 ParameterStruct tmp(*param);
260 set_from_struct(tmp);