17 #ifndef KDREPORTSREPORT_H
18 #define KDREPORTSREPORT_H
20 #include "KDReportsErrorDetails.h"
21 #include "KDReportsGlobal.h"
22 #include <QtCore/QSizeF>
25 #include <QTextOption>
27 #include <QtPrintSupport/QPrinter>
31 class QTextDocumentFragment;
35 class QAbstractItemModel;
48 class HeaderReportBuilder;
50 typedef Header Footer;
54 class TableBreakingSettingsDialog;
55 class AutoTableElement;
56 class XmlElementHandler;
99 class KDREPORTS_EXPORT
Report : public QObject
102 Q_PROPERTY(QString documentName READ documentName WRITE setDocumentName)
188 const QColor& backgroundColor = QColor() );
307 void setMargins( qreal top, qreal left, qreal bottom, qreal right );
313 void getMargins( qreal* top, qreal* left, qreal* bottom, qreal* right )
const;
538 bool print( QPrinter* printer, QWidget* parent = 0 );
554 bool exportToImage(
const QSize& size,
const QString& fileName,
const char* format );
620 enum TableBreakingPageOrder { DownThenRight, RightThenDown };
676 void scaleTo(
int numPagesHorizontally,
int numPagesVertically );
731 const QColor& color = QColor( 204, 204, 204 ),
732 const QFont& font = QFont( QLatin1String(
"Helvetica" ), 48 ) );
812 QSizeF paperSize()
const;
822 int currentPosition()
const;
846 friend class ::ReportData;
847 friend class ::EditorData;
848 KDReports::TextDocument& doc()
const;
850 QString asHtml()
const;
852 void setupPrinter( QPrinter* printer );
856 friend class HeaderReportBuilder;
859 friend class XmlParser;
861 friend class PreviewDialogPrivate;
862 friend class PreviewWidgetPrivate;
863 friend class ReportPrivate;
864 ReportPrivate*
const d;
bool loadFromXML(const QDomDocument &doc, ErrorDetails *details=0)
void setPaperSize(const QSizeF &paperSize, QPrinter::Unit unit)
void setFooterLocation(HeaderLocations hl, Footer *footer)
void associateImageValue(const QString &id, const QPixmap &value)
void setHeaderBodySpacing(qreal spacing)
QFont watermarkFont() const
void regenerateAutoTableForModel(QAbstractItemModel *model)
Report(QObject *parent=0)
void setWatermarkPixmap(const QPixmap &pixmap, bool autoGrayOut=true)
void setDefaultFont(const QFont &font)
void setTableBreakingPageOrder(TableBreakingPageOrder pageOrder)
QTextOption::Tab rightAlignedTab() const
KDReports::HeaderLocations footerLocation(KDReports::Footer *footer) const
void setReportMode(ReportMode reportMode)
void paintPage(int pageNumber, QPainter &painter)
KDReports::HeaderLocations headerLocation(Header *header) const
void setFontScalingFactor(qreal factor)
Scale the fonts in the document by a given factor.
void setHeaderLocation(HeaderLocations hl, Header *header)
qreal topPageMargins() const
void addInlineElement(const Element &element)
void regenerateAutoTables()
void setBottomPageMargin(qreal bottom)
@ FirstPage
The first page of the report.
Definition: KDReportsReport.h:82
QList< KDReports::AutoTableElement * > autoTableElements() const
Definition: KDReportsAbstractTableElement.h:24
void setMargins(qreal top, qreal left, qreal bottom, qreal right)
Definition: KDReportsElement.h:40
QColor watermarkColor() const
int maximumNumberOfPagesForVerticalScaling() const
void setCurrentRow(const QAbstractItemModel *model, int row)
bool exportToFile(const QString &fileName, QWidget *parent=0)
void setLeftPageMargin(qreal left)
Definition: KDReportsXmlElementHandler.h:81
Definition: KDReportsReport.h:100
Footer & footer(HeaderLocations hl=AllPages)
QImage watermarkImage() const
void setWatermarkImage(const QImage &image)
void getMargins(qreal *top, qreal *left, qreal *bottom, qreal *right) const
int firstPageNumber() const
void setXmlElementHandler(KDReports::XmlElementHandler *handler)
@ AllPages
All pages (except first and last if FirstPage or LastPage have their own headers)
Definition: KDReportsReport.h:86
TableBreakingPageOrder tableBreakingPageOrder() const
HeaderLocation
Definition: KDReportsReport.h:81
@ EvenPages
The even pages of the report: 2, 4, 6 etc.
Definition: KDReportsReport.h:83
bool exportToHtml(const QString &fileName)
@ OddPages
The odd pages of the report: 1 (unless FirstPage has its own header), 3, 5, 7 etc.
Definition: KDReportsReport.h:84
Header & header(HeaderLocations hl=AllPages)
void setOrientation(QPrinter::Orientation orientation)
QString watermarkText() const
qreal footerBodySpacing() const
void associateImageValue(const QString &id, const QImage &value)
bool loadFromXML(QIODevice *iodevice, ErrorDetails *details=0)
int numberOfPages() const
qreal leftPageMargins() const
void setRightPageMargin(qreal right)
QPixmap watermarkPixmap() const
void setPageSize(const QPrinter::PageSize &size)
@ LastPage
The last page of the report.
Definition: KDReportsReport.h:85
QTextOption::Tab middleAlignedTab() const
void setTabPositions(const QList< QTextOption::Tab > &tabs)
Definition: KDReportsChartElement.h:40
void addFragment(const QTextDocumentFragment &fragment)
QPrinter::Orientation orientation() const
void addVerticalSpacing(qreal space)
QPrinter::PageSize pageSize() const
bool print(QPrinter *printer, QWidget *parent=0)
void addElement(const Element &element, Qt::AlignmentFlag horizontalAlignment=Qt::AlignLeft, const QColor &backgroundColor=QColor())
int watermarkRotation() const
void setTopPageMargin(qreal top)
void scaleTo(int numPagesHorizontally, int numPagesVertically)
Ensure that the report fits into a number of pages.
bool isTableBreakingEnabled() const
qreal headerBodySpacing() const
void associateModel(const QString &modelKey, QAbstractItemModel *model)
void setDocumentName(const QString &name)
Definition: KDReportsMainTable.h:45
void associateTextValue(const QString &id, const QString &value)
qreal bottomPageMargins() const
void setTableBreakingEnabled(bool tableBreakingEnabled)
Enable breaking of tables across multiple pages.
void setFixedRowHeight(qreal mm)
bool printWithDialog(QWidget *parent)
qreal rightPageMargins() const
Definition: KDReportsErrorDetails.h:31
void setParagraphMargins(qreal left, qreal top, qreal right, qreal bottom)
QFont defaultFont() const
void setWidthForEndlessPrinter(qreal widthMM)
void setWatermarkText(const QString &text, int rotation=0, const QColor &color=QColor(204, 204, 204), const QFont &font=QFont(QLatin1String("Helvetica"), 48))
qreal fontScalingFactor() const
Definition: KDReportsImageElement.h:36
int maximumNumberOfPagesForHorizontalScaling() const
QString documentName() const
MainTable * mainTable() const
Definition: KDReportsAbstractTableElement.h:30
void setFooterBodySpacing(qreal spacing)
void setFirstPageNumber(int num)
ReportMode reportMode() const
bool exportToImage(const QSize &size, const QString &fileName, const char *format)