]> git.lyx.org Git - lyx.git/blob - src/ParagraphParameters.C
move pasteParagraph to global scope
[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         set_from_struct(tmp);
38 }
39
40
41 bool ParagraphParameters::sameLayout(ParagraphParameters const & pp) const
42 {
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 &&
47
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;
54 }
55
56
57 void ParagraphParameters::set_from_struct(ParameterStruct const & ps)
58 {
59         // get new param from container with tmp as template
60         param = container.get(ps);
61 }
62
63
64 VSpace const & ParagraphParameters::spaceTop() const
65 {
66         return param->added_space_top;
67 }
68
69
70 void ParagraphParameters::spaceTop(VSpace const & vs)
71 {
72         ParameterStruct tmp(*param);
73         tmp.added_space_top = vs;
74         set_from_struct(tmp);
75 }
76
77
78 VSpace const & ParagraphParameters::spaceBottom() const
79 {
80         return param->added_space_bottom;
81 }
82
83
84 void ParagraphParameters::spaceBottom(VSpace const & vs)
85 {
86         ParameterStruct tmp(*param);
87         tmp.added_space_bottom = vs;
88         set_from_struct(tmp);
89 }
90
91
92 Spacing const & ParagraphParameters::spacing() const
93 {
94         return param->spacing;
95 }
96
97
98 void ParagraphParameters::spacing(Spacing const & s)
99 {
100         ParameterStruct tmp(*param);
101         tmp.spacing = s;
102         set_from_struct(tmp);
103 }
104
105
106 bool ParagraphParameters::noindent() const
107 {
108         return param->noindent;
109 }
110
111
112 void ParagraphParameters::noindent(bool ni)
113 {
114         ParameterStruct tmp(*param);
115         tmp.noindent = ni;
116         set_from_struct(tmp);
117 }
118
119
120 bool ParagraphParameters::lineTop() const
121 {
122         return param->line_top;
123 }
124
125
126 void ParagraphParameters::lineTop(bool lt)
127 {
128         ParameterStruct tmp(*param);
129         tmp.line_top = lt;
130         set_from_struct(tmp);
131 }
132
133
134 bool ParagraphParameters::lineBottom() const
135 {
136         return param->line_bottom;
137 }
138
139
140 void ParagraphParameters::lineBottom(bool lb)
141 {
142         ParameterStruct tmp(*param);
143         tmp.line_bottom = lb;
144         set_from_struct(tmp);
145 }
146
147
148 bool ParagraphParameters::pagebreakTop() const
149 {
150         return param->pagebreak_top;
151 }
152
153
154 void ParagraphParameters::pagebreakTop(bool pbt)
155 {
156         ParameterStruct tmp(*param);
157         tmp.pagebreak_top = pbt;
158         set_from_struct(tmp);
159 }
160
161
162 bool ParagraphParameters::pagebreakBottom() const
163 {
164         return param->pagebreak_bottom;
165 }
166
167
168 void ParagraphParameters::pagebreakBottom(bool pbb)
169 {
170         ParameterStruct tmp(*param);
171         tmp.pagebreak_bottom = pbb;
172         set_from_struct(tmp);
173 }
174
175
176 LyXAlignment ParagraphParameters::align() const
177 {
178         return param->align;
179 }
180
181
182 void ParagraphParameters::align(LyXAlignment la)
183 {
184         ParameterStruct tmp(*param);
185         tmp.align = la;
186         set_from_struct(tmp);
187 }
188
189
190 void ParagraphParameters::depth(depth_type d)
191 {
192         ParameterStruct tmp(*param);
193         tmp.depth = d;
194         set_from_struct(tmp);
195 }
196
197
198 bool ParagraphParameters::startOfAppendix() const
199 {
200         return param->start_of_appendix;
201 }
202
203
204 void ParagraphParameters::startOfAppendix(bool soa)
205 {
206         ParameterStruct tmp(*param);
207         tmp.start_of_appendix = soa;
208         set_from_struct(tmp);
209 }
210
211
212 bool ParagraphParameters::appendix() const
213 {
214         return param->appendix;
215 }
216
217
218 void ParagraphParameters::appendix(bool a)
219 {
220         ParameterStruct tmp(*param);
221         tmp.appendix = a;
222         set_from_struct(tmp);
223 }
224
225
226 string const & ParagraphParameters::labelString() const
227 {
228         return param->labelstring;
229 }
230
231
232 void ParagraphParameters::labelString(string const & ls)
233 {
234         ParameterStruct tmp(*param);
235         tmp.labelstring = ls;
236         set_from_struct(tmp);
237 }
238
239
240 string const & ParagraphParameters::labelWidthString() const
241 {
242         return param->labelwidthstring;
243 }
244
245
246 void ParagraphParameters::labelWidthString(string const & lws)
247 {
248         ParameterStruct tmp(*param);
249         tmp.labelwidthstring = lws;
250         set_from_struct(tmp);
251 }
252
253
254
255 LyXLength const & ParagraphParameters::leftIndent() const
256 {
257         return param->leftindent;
258 }
259
260
261 void ParagraphParameters::leftIndent(LyXLength const & li)
262 {
263         ParameterStruct tmp(*param);
264         tmp.leftindent = li;
265         set_from_struct(tmp);
266 }