//copyright : (C) 2002-2004 InfoSiAL S.L. //email : [email protected] void MReportEngine::drawAddOnHeader(MPageCollection *pages, int level, QPtrList<QMemArray<double> > *gDT, QValueVector<QString> *gDTS) { MReportSection *header = findAddOnHeader(level); if (header) { QDomNode record = records.item(currRecord_); if (!header->mustBeDrawed(&record)) return; header->setPageNumber(currPage); header->setReportDate(currDate); if ((currY + header->getHeight()) > currHeight) newPage(pages); QString value; QDomNamedNodeMap fields = record.attributes(); for (int i = 0; i < header->getFieldCount(); i++) { value = fields.namedItem(header->getFieldName(i)).nodeValue(); header->setFieldData(i, value, &record, fillRecords_); } if (gDT && level > -1) header->setCalcFieldData(gDT, gDTS, &record, fillRecords_); header->setCalcFieldDataGT(grandTotal); int sectionHeight = header->getHeight(); header->draw(p, leftMargin, currY, sectionHeight); currY += sectionHeight; } }
//copyright : (C) 2002-2004 InfoSiAL S.L. //email : [email protected] void MReportEngine::drawDetailHeader(MPageCollection *pages, int level) { MReportSection *header = findDetailHeader(level); if (header) { QDomNode record = records.item(currRecord_); if (!header->mustBeDrawed(&record)) return; header->setPageNumber(currPage); header->setReportDate(currDate); if ((currY + header->getHeight()) > currHeight) newPage(pages); QString value; QDomNamedNodeMap fields = record.attributes(); for (int i = 0; i < header->getFieldCount(); i++) { value = fields.namedItem(header->getFieldName(i)).nodeValue(); header->setFieldData(i, value, &record, fillRecords_); } header->setCalcFieldData(0, 0, &record, fillRecords_); int sectionHeight = header->getHeight(); header->draw(p, leftMargin, currY, sectionHeight); header->setLastPageIndex(pages->getCurrentIndex()); header->setOnPage((QPicture *) p->painter()->device()); currY += sectionHeight; } }