21 : m_contentDocument(contentDocument)
55 charFormat.
setFont(m_defaultFont);
60 setupBlockFormat(blockFormat);
73 if (!m_tabPositions.isEmpty()) {
86 const int charPosition = cursor.
position();
100 element.
build(*
this);
133 addInlineElement(element);
138 addBlockElement(element, horizontalAlignment, backgroundColor);
143 addVariable(variable);
148 addVerticalSpacing(space);
156 m_cursor.setBlockFormat(blockFormat);
161 m_cursor.insertFragment(fragment);
166 m_tabPositions = tabs;
170 m_contentDocument.setUsesTabPositions(
true);
175 m_tabPositions = parentBuilder.m_tabPositions;
176 m_leftMargin = parentBuilder.m_leftMargin;
177 m_rightMargin = parentBuilder.m_rightMargin;
178 m_topMargin = parentBuilder.m_topMargin;
179 m_bottomMargin = parentBuilder.m_bottomMargin;
180 m_defaultFont = parentBuilder.m_defaultFont;
185 static const char *types[] = {
"LeftTab",
"RightTab",
"CenterTab",
"DelimiterTab"};
186 dbg.
space() <<
'(' << types[tab.type] << tab.position <<
"px" <<
')';
211 return m_cursor.position();
QDebug operator<<(QDebug &dbg, QTextOption::Tab tab)
virtual void build(ReportBuilder &) const =0
ReportBuilder(KDReports::TextDocumentData &contentDocument, const QTextCursor &cursor, Report *report)
void setTabPositions(const QList< QTextOption::Tab > &tabs)
virtual void insertFragmentPublic(const QTextDocumentFragment &fragment)
virtual void addVerticalSpacingPublic(qreal space)
virtual void addPageBreakPublic()
virtual void addBlockElementPublic(const Element &element, Qt::AlignmentFlag horizontalAlignment, const QColor &backgroundColor=QColor())
virtual void addVariablePublic(KDReports::VariableType variable)
virtual void addVerticalSpacing(qreal space)
static QTextCharFormat::VerticalAlignment toVerticalAlignment(Qt::Alignment alignment)
virtual void addInlineElementPublic(const Element &element)
void setupBlockFormat(QTextBlockFormat &blockFormat) const
virtual void addBlockElement(const Element &element, Qt::AlignmentFlag horizontalAlignment, const QColor &backgroundColor=QColor())
void setParagraphMargins(qreal left, qreal top, qreal right, qreal bottom)
virtual void addVariable(KDReports::VariableType variable)
virtual void addInlineElement(const Element &element)
void copyStateFrom(const ReportBuilder &parentBuilder)
void build(ReportBuilder &builder) const override
QString variableValue(int pageNumber, KDReports::Report *report, VariableType type)
KDREPORTS_EXPORT qreal mmToPixels(qreal mm)
void setVariableMarker(QTextDocument &textDoc, int pos, KDReports::VariableType variableType, int valueLength)
bool isValid() const const
int count(const T &value) const const
QTextBlockFormat blockFormat() const const
int blockNumber() const const
bool isValid() const const
QTextBlock next() const const
void setAlignment(Qt::Alignment alignment)
void setBottomMargin(qreal margin)
void setLeftMargin(qreal margin)
void setPageBreakPolicy(QTextFormat::PageBreakFlags policy)
void setRightMargin(qreal margin)
void setTabPositions(const QList< QTextOption::Tab > &tabs)
void setTopMargin(qreal margin)
QList< QTextOption::Tab > tabPositions() const const
void setFont(const QFont &font, QTextCharFormat::FontPropertiesInheritanceBehavior behavior)
void setFontPointSize(qreal size)
QTextCharFormat charFormat() const const
QTextDocument * document() const const
void insertText(const QString &text)
int position() const const
void setBlockFormat(const QTextBlockFormat &format)
void setCharFormat(const QTextCharFormat &format)
void setPosition(int pos, QTextCursor::MoveMode m)
QTextBlock firstBlock() const const
void setBackground(const QBrush &brush)