Changeset View
Changeset View
Standalone View
Standalone View
src/common/KReportDocument.cpp
Show First 20 Lines • Show All 117 Lines • ▼ Show 20 Line(s) | 115 | if (sec.isElement()) { | |||
---|---|---|---|---|---|
118 | if (sn == QLatin1String("report:section")) { | 118 | if (sn == QLatin1String("report:section")) { | ||
119 | KReportSectionData * sd = new KReportSectionData(sec.toElement(), this); | 119 | KReportSectionData * sd = new KReportSectionData(sec.toElement(), this); | ||
120 | if (!sd->isValid()) { | 120 | if (!sd->isValid()) { | ||
121 | kreportDebug() << "Invalid section"; | 121 | kreportDebug() << "Invalid section"; | ||
122 | delete sd; | 122 | delete sd; | ||
123 | } else { | 123 | } else { | ||
124 | //kreportDebug() << "Adding section of type " << sd->type(); | 124 | //kreportDebug() << "Adding section of type " << sd->type(); | ||
125 | switch (sd->type()) { | 125 | switch (sd->type()) { | ||
126 | case KReportSectionData::PageHeaderFirst: | 126 | case KReportSectionData::Type::PageHeaderFirst: | ||
127 | m_pageHeaderFirst = sd; | 127 | m_pageHeaderFirst = sd; | ||
128 | break; | 128 | break; | ||
129 | case KReportSectionData::PageHeaderOdd: | 129 | case KReportSectionData::Type::PageHeaderOdd: | ||
130 | m_pageHeaderOdd = sd; | 130 | m_pageHeaderOdd = sd; | ||
131 | break; | 131 | break; | ||
132 | case KReportSectionData::PageHeaderEven: | 132 | case KReportSectionData::Type::PageHeaderEven: | ||
133 | m_pageHeaderEven = sd; | 133 | m_pageHeaderEven = sd; | ||
134 | break; | 134 | break; | ||
135 | case KReportSectionData::PageHeaderLast: | 135 | case KReportSectionData::Type::PageHeaderLast: | ||
136 | m_pageHeaderLast = sd; | 136 | m_pageHeaderLast = sd; | ||
137 | break; | 137 | break; | ||
138 | case KReportSectionData::PageHeaderAny: | 138 | case KReportSectionData::Type::PageHeaderAny: | ||
139 | m_pageHeaderAny = sd; | 139 | m_pageHeaderAny = sd; | ||
140 | break; | 140 | break; | ||
141 | case KReportSectionData::ReportHeader: | 141 | case KReportSectionData::Type::ReportHeader: | ||
142 | m_reportHeader = sd; | 142 | m_reportHeader = sd; | ||
143 | break; | 143 | break; | ||
144 | case KReportSectionData::ReportFooter: | 144 | case KReportSectionData::Type::ReportFooter: | ||
145 | m_reportFooter = sd; | 145 | m_reportFooter = sd; | ||
146 | break; | 146 | break; | ||
147 | case KReportSectionData::PageFooterFirst: | 147 | case KReportSectionData::Type::PageFooterFirst: | ||
148 | m_pageFooterFirst = sd; | 148 | m_pageFooterFirst = sd; | ||
149 | break; | 149 | break; | ||
150 | case KReportSectionData::PageFooterOdd: | 150 | case KReportSectionData::Type::PageFooterOdd: | ||
151 | m_pageFooterOdd = sd; | 151 | m_pageFooterOdd = sd; | ||
152 | break; | 152 | break; | ||
153 | case KReportSectionData::PageFooterEven: | 153 | case KReportSectionData::Type::PageFooterEven: | ||
154 | m_pageFooterEven = sd; | 154 | m_pageFooterEven = sd; | ||
155 | break; | 155 | break; | ||
156 | case KReportSectionData::PageFooterLast: | 156 | case KReportSectionData::Type::PageFooterLast: | ||
157 | m_pageFooterLast = sd; | 157 | m_pageFooterLast = sd; | ||
158 | break; | 158 | break; | ||
159 | case KReportSectionData::PageFooterAny: | 159 | case KReportSectionData::Type::PageFooterAny: | ||
160 | m_pageFooterAny = sd; | 160 | m_pageFooterAny = sd; | ||
161 | break; | 161 | break; | ||
162 | default: | 162 | default: | ||
163 | ; | 163 | ; | ||
164 | } | 164 | } | ||
165 | } | 165 | } | ||
166 | 166 | | |||
167 | } else if (sn == QLatin1String("report:detail")) { | 167 | } else if (sn == QLatin1String("report:detail")) { | ||
Show All 19 Lines | |||||
187 | KReportDocument::~KReportDocument() | 187 | KReportDocument::~KReportDocument() | ||
188 | { | 188 | { | ||
189 | delete d; | 189 | delete d; | ||
190 | } | 190 | } | ||
191 | 191 | | |||
192 | QList<KReportItemBase*> KReportDocument::objects() const | 192 | QList<KReportItemBase*> KReportDocument::objects() const | ||
193 | { | 193 | { | ||
194 | QList<KReportItemBase*> obs; | 194 | QList<KReportItemBase*> obs; | ||
195 | for (int i = 1; i <= KReportSectionData::PageFooterAny; i++) { | 195 | for (int i = static_cast<int>(KReportSectionData::Type::None) + 1; | ||
196 | KReportSectionData *sec = section((KReportSectionData::Section)i); | 196 | i <= static_cast<int>(KReportSectionData::Type::GroupFooter); i++) | ||
staniek: @piggz Change in logic but unsure here. Don't we want to iterate until PageFooterAny here? | |||||
GroupFooter is the last section type in the enum.....but yes, section() doesnt handle Group* sections anyway, so will ignore the last 2. piggz: GroupFooter is the last section type in the enum.....but yes, section() doesnt handle Group*… | |||||
197 | { | ||||
198 | KReportSectionData *sec = section(static_cast<KReportSectionData::Type>(i)); | ||||
197 | if (sec) { | 199 | if (sec) { | ||
198 | obs << sec->objects(); | 200 | obs << sec->objects(); | ||
199 | } | 201 | } | ||
200 | } | 202 | } | ||
201 | 203 | | |||
202 | if (m_detailSection) { | 204 | if (m_detailSection) { | ||
203 | //kreportDebug() << "Number of groups: " << m_detailSection->m_groupList.count(); | 205 | //kreportDebug() << "Number of groups: " << m_detailSection->m_groupList.count(); | ||
204 | foreach(KReportDetailGroupSectionData* g, m_detailSection->groupList) { | 206 | foreach(KReportDetailGroupSectionData* g, m_detailSection->groupList) { | ||
Show All 25 Lines | 229 | foreach(KReportItemBase* o, obs) { | |||
230 | } | 232 | } | ||
231 | } | 233 | } | ||
232 | return nullptr; | 234 | return nullptr; | ||
233 | } | 235 | } | ||
234 | 236 | | |||
235 | QList<KReportSectionData*> KReportDocument::sections() const | 237 | QList<KReportSectionData*> KReportDocument::sections() const | ||
236 | { | 238 | { | ||
237 | QList<KReportSectionData*> secs; | 239 | QList<KReportSectionData*> secs; | ||
238 | for (int i = 0; i < 12 ; ++i) { | 240 | for (int i = static_cast<int>(KReportSectionData::Type::None) + 1; | ||
239 | KReportSectionData *sec = section((KReportSectionData::Section)(i + 1)); | 241 | i <= static_cast<int>(KReportSectionData::Type::GroupFooter); i++) | ||
staniek: Same question here - PageFooterAny? | |||||
piggz: Yes, section() will ignore Group* sections anyway. | |||||
242 | { | ||||
243 | KReportSectionData *sec = section(static_cast<KReportSectionData::Type>(i)); | ||||
240 | if (sec) { | 244 | if (sec) { | ||
241 | secs << sec; | 245 | secs << sec; | ||
242 | } | 246 | } | ||
243 | } | 247 | } | ||
244 | 248 | | |||
245 | if (m_detailSection) { | 249 | if (m_detailSection) { | ||
246 | //kreportDebug() << "Number of groups: " << m_detailSection->m_groupList.count(); | 250 | //kreportDebug() << "Number of groups: " << m_detailSection->m_groupList.count(); | ||
247 | foreach(KReportDetailGroupSectionData* g, m_detailSection->groupList) { | 251 | foreach(KReportDetailGroupSectionData* g, m_detailSection->groupList) { | ||
Show All 18 Lines | 267 | { | |||
266 | foreach(KReportSectionData *sec, secs) { | 270 | foreach(KReportSectionData *sec, secs) { | ||
267 | if (sec->name() == sn) { | 271 | if (sec->name() == sn) { | ||
268 | return sec; | 272 | return sec; | ||
269 | } | 273 | } | ||
270 | } | 274 | } | ||
271 | return nullptr; | 275 | return nullptr; | ||
272 | } | 276 | } | ||
273 | 277 | | |||
274 | KReportSectionData* KReportDocument::section(KReportSectionData::Section s) const | 278 | KReportSectionData* KReportDocument::section(KReportSectionData::Type type) const | ||
275 | { | 279 | { | ||
276 | KReportSectionData *sec; | 280 | KReportSectionData *sec; | ||
277 | switch (s) { | 281 | switch (type) { | ||
278 | case KReportSectionData::PageHeaderAny: | 282 | case KReportSectionData::Type::PageHeaderAny: | ||
279 | sec = m_pageHeaderAny; | 283 | sec = m_pageHeaderAny; | ||
280 | break; | 284 | break; | ||
281 | case KReportSectionData::PageHeaderEven: | 285 | case KReportSectionData::Type::PageHeaderEven: | ||
282 | sec = m_pageHeaderEven; | 286 | sec = m_pageHeaderEven; | ||
283 | break; | 287 | break; | ||
284 | case KReportSectionData::PageHeaderOdd: | 288 | case KReportSectionData::Type::PageHeaderOdd: | ||
285 | sec = m_pageHeaderOdd; | 289 | sec = m_pageHeaderOdd; | ||
286 | break; | 290 | break; | ||
287 | case KReportSectionData::PageHeaderFirst: | 291 | case KReportSectionData::Type::PageHeaderFirst: | ||
288 | sec = m_pageHeaderFirst; | 292 | sec = m_pageHeaderFirst; | ||
289 | break; | 293 | break; | ||
290 | case KReportSectionData::PageHeaderLast: | 294 | case KReportSectionData::Type::PageHeaderLast: | ||
291 | sec = m_pageHeaderLast; | 295 | sec = m_pageHeaderLast; | ||
292 | break; | 296 | break; | ||
293 | case KReportSectionData::PageFooterAny: | 297 | case KReportSectionData::Type::PageFooterAny: | ||
294 | sec = m_pageFooterAny; | 298 | sec = m_pageFooterAny; | ||
295 | break; | 299 | break; | ||
296 | case KReportSectionData::PageFooterEven: | 300 | case KReportSectionData::Type::PageFooterEven: | ||
297 | sec = m_pageFooterEven; | 301 | sec = m_pageFooterEven; | ||
298 | break; | 302 | break; | ||
299 | case KReportSectionData::PageFooterOdd: | 303 | case KReportSectionData::Type::PageFooterOdd: | ||
300 | sec = m_pageFooterOdd; | 304 | sec = m_pageFooterOdd; | ||
301 | break; | 305 | break; | ||
302 | case KReportSectionData::PageFooterFirst: | 306 | case KReportSectionData::Type::PageFooterFirst: | ||
303 | sec = m_pageFooterFirst; | 307 | sec = m_pageFooterFirst; | ||
304 | break; | 308 | break; | ||
305 | case KReportSectionData::PageFooterLast: | 309 | case KReportSectionData::Type::PageFooterLast: | ||
306 | sec = m_pageFooterLast; | 310 | sec = m_pageFooterLast; | ||
307 | break; | 311 | break; | ||
308 | case KReportSectionData::ReportHeader: | 312 | case KReportSectionData::Type::ReportHeader: | ||
309 | sec = m_reportHeader; | 313 | sec = m_reportHeader; | ||
310 | break; | 314 | break; | ||
311 | case KReportSectionData::ReportFooter: | 315 | case KReportSectionData::Type::ReportFooter: | ||
312 | sec = m_reportFooter; | 316 | sec = m_reportFooter; | ||
313 | break; | 317 | break; | ||
314 | default: | 318 | default: | ||
315 | sec = nullptr; | 319 | sec = nullptr; | ||
316 | } | 320 | } | ||
317 | return sec; | 321 | return sec; | ||
318 | } | 322 | } | ||
319 | 323 | | |||
▲ Show 20 Lines • Show All 56 Lines • ▼ Show 20 Line(s) | |||||
376 | { | 380 | { | ||
377 | return d->labelType; | 381 | return d->labelType; | ||
378 | } | 382 | } | ||
379 | 383 | | |||
380 | void KReportDocument::setLabelType(const QString& label) | 384 | void KReportDocument::setLabelType(const QString& label) | ||
381 | { | 385 | { | ||
382 | d->labelType = label; | 386 | d->labelType = label; | ||
383 | } | 387 | } | ||
384 | |
@piggz Change in logic but unsure here. Don't we want to iterate until PageFooterAny here?