12#include <QAbstractTextDocumentLayout>
19 , m_builder(m_textDocument.contentDocumentData(),
QTextCursor(&m_textDocument.contentDocument()), report)
30 painter.
translate(0, -pageNumber * m_textDocument.contentDocument().pageSize().height());
39 m_textDocument.contentDocument().documentLayout()->draw(&painter, ctx);
47 return m_textDocument.contentDocument().pageCount();
53 m_textDocument.setPageSize(size);
62 return m_textDocument.asHtml();
67 m_textDocument.layoutWithTextWidth(docWidth);
68 qreal docHeight = m_textDocument.contentDocument().
size().height();
74 QTextBlock block = m_textDocument.contentDocument().firstBlock();
86 setPageContentSize(
QSizeF(docWidth, docHeight));
87 qDebug() <<
"m_textDocument.layoutDocument().setPageSize" << docWidth <<
"x" << docHeight << numberOfPages() <<
"pages";
88 qreal newDocHeight = m_textDocument.contentDocument().size().height();
89 if (newDocHeight > docHeight) {
93 qDebug() <<
"newDocHeight=" << newDocHeight <<
"expected" << docHeight;
94 setPageContentSize(
QSizeF(docWidth, newDocHeight));
95 newDocHeight = m_textDocument.contentDocument().size().height();
96 qDebug() <<
"final newDocHeight=" << newDocHeight << numberOfPages() <<
"pages";
100 Q_ASSERT(numberOfPages() == 1);
106 m_textDocument.contentDocumentData().saveResourcesToFiles();
111 m_textDocument.contentDocument().setDefaultFont(font);
112 m_builder.setDefaultFont(font);
117 return m_textDocument.defaultFont();
122 m_textDocument.updateTextValue(
id, newValue);
129 return m_textDocument.contentDocument().idealWidth() + 1;
134 Q_UNUSED(numPagesHorizontally);
135 Q_UNUSED(numPagesVertically);
136 qWarning(
"scaleTo is only implemented in Spreadsheet mode currently");
143 qWarning(
"fixed row height is only implemented in Spreadsheet mode");
160 qWarning(
"font scaling is only implemented in Spreadsheet mode currently");
170 const QPointF posInPage = pos +
QPointF(0, pageNumber * m_textDocument.contentDocument().pageSize().height());
171 return m_textDocument.contentDocument().documentLayout()->anchorAt(posInPage);
TextDocReportLayout(KDReports::Report *report)
int maximumNumberOfPagesForHorizontalScaling() const override
Reimplemented for internal purposes. .
void ensureLayouted() override
Reimplemented for internal purposes. .
void finishHtmlExport() override
Reimplemented for internal purposes. .
void setFixedRowHeight(qreal height) override
Reimplemented for internal purposes. .
void setPageContentSize(QSizeF size) override
Reimplemented for internal purposes. .
bool scaleTo(int numPagesHorizontally, int numPagesVertically) override
Reimplemented for internal purposes. .
qreal userRequestedFontScalingFactor() const override
Reimplemented for internal purposes. .
QFont defaultFont() const override
Reimplemented for internal purposes. .
void setLayoutDirty() override
Reimplemented for internal purposes. .
void setDefaultFont(const QFont &font) override
Reimplemented for internal purposes. .
qreal layoutAsOnePage(qreal width) override
Reimplemented for internal purposes. .
qreal idealWidth() override
Reimplemented for internal purposes. .
int numberOfPages() override
Reimplemented for internal purposes. .
QString anchorAt(int pageNumber, QPoint pos) override
Reimplemented for internal purposes. .
void setUserRequestedFontScalingFactor(qreal factor) override
Reimplemented for internal purposes. .
void updateTextValue(const QString &id, const QString &newValue) override
Reimplemented for internal purposes. .
void paintPageContent(int pageNumber, QPainter &painter) override
Reimplemented for internal purposes. .
int maximumNumberOfPagesForVerticalScaling() const override
Reimplemented for internal purposes. .
QString toHtml() const override
Reimplemented for internal purposes. .
QRegion clipRegion() const const
void translate(const QPointF &offset)
QRect boundingRect() const const
QTextBlockFormat blockFormat() const const
bool isValid() const const
QTextBlock next() const const
int position() const const
QTextFormat::PageBreakFlags pageBreakPolicy() const const
void setPageBreakPolicy(QTextFormat::PageBreakFlags policy)
void setBlockFormat(const QTextBlockFormat &format)
void setPosition(int pos, QTextCursor::MoveMode m)