Cutelee  6.1.0
Public Member Functions | List of all members
Cutelee::AbstractMarkupBuilder Class Referenceabstract

Interface for creating marked-up text output. More...

#include <cutelee/abstractmarkupbuilder.h>

Inheritance diagram for Cutelee::AbstractMarkupBuilder:
Inheritance graph
[legend]

Public Member Functions

virtual ~AbstractMarkupBuilder ()
 
virtual void addNewline ()=0
 
virtual void appendLiteralText (const QString &text)=0
 
virtual void appendRawText (const QString &text)=0
 
virtual void beginAnchor (const QString &href={}, const QString &name={})=0
 
virtual void beginBackground (const QBrush &brush)=0
 
virtual void beginEmph ()=0
 
virtual void beginFontFamily (const QString &family)=0
 
virtual void beginFontPointSize (int size)=0
 
virtual void beginForeground (const QBrush &brush)=0
 
virtual void beginHeader (int level)=0
 
virtual void beginList (QTextListFormat::Style style)=0
 
virtual void beginListItem ()=0
 
virtual void beginParagraph (Qt::Alignment a=Qt::AlignLeft, qreal top=0.0, qreal bottom=0.0, qreal left=0.0, qreal right=0.0)=0
 
virtual void beginStrikeout ()=0
 
virtual void beginStrong ()=0
 
virtual void beginSubscript ()=0
 
virtual void beginSuperscript ()=0
 
virtual void beginTable (qreal cellpadding, qreal cellspacing, const QString &width)=0
 
virtual void beginTableCell (const QString &width, int colSpan, int rowSpan)=0
 
virtual void beginTableHeaderCell (const QString &width, int colSpan, int rowSpan)=0
 
virtual void beginTableRow ()=0
 
virtual void beginUnderline ()=0
 
virtual void endAnchor ()=0
 
virtual void endBackground ()=0
 
virtual void endEmph ()=0
 
virtual void endFontFamily ()=0
 
virtual void endFontPointSize ()=0
 
virtual void endForeground ()=0
 
virtual void endHeader (int level)=0
 
virtual void endList ()=0
 
virtual void endListItem ()=0
 
virtual void endParagraph ()=0
 
virtual void endStrikeout ()=0
 
virtual void endStrong ()=0
 
virtual void endSubscript ()=0
 
virtual void endSuperscript ()=0
 
virtual void endTable ()=0
 
virtual void endTableCell ()=0
 
virtual void endTableHeaderCell ()=0
 
virtual void endTableRow ()=0
 
virtual void endUnderline ()=0
 
virtual QString getResult ()=0
 
virtual void insertHorizontalRule (int width=-1)=0
 
virtual void insertImage (const QString &url, qreal width, qreal height)=0
 

Detailed Description

The AbstractMarkupBuilder is used by a MarkupDirector to create marked-up output such as html or markdown.

See PlainTextMarkupBuilder and TextHTMLBuilder for example implementations.

This interface can be extended to handle custom format types in a QTextDocument.

See also
Handling custom QTextObjects
Author
Stephen Kelly steve.nosp@m.ire@.nosp@m.gmail.nosp@m..com

Definition at line 51 of file abstractmarkupbuilder.h.

Constructor & Destructor Documentation

◆ ~AbstractMarkupBuilder()

virtual Cutelee::AbstractMarkupBuilder::~AbstractMarkupBuilder ( )
inlinevirtual

Destructor

Definition at line 55 of file abstractmarkupbuilder.h.

Member Function Documentation

◆ addNewline()

virtual void Cutelee::AbstractMarkupBuilder::addNewline ( )
pure virtual

◆ appendLiteralText()

virtual void Cutelee::AbstractMarkupBuilder::appendLiteralText ( const QString text)
pure virtual

Append the plain text text to the markup

Parameters
textThe text to append.

Implemented in Cutelee::TextHTMLBuilder, Cutelee::PlainTextMarkupBuilder, Cutelee::MediaWikiMarkupBuilder, and Cutelee::BBCodeBuilder.

Referenced by Cutelee::MarkupDirector::processFragment().

◆ appendRawText()

virtual void Cutelee::AbstractMarkupBuilder::appendRawText ( const QString text)
pure virtual

Append the raw text text to the markup. text is added unescaped

Implemented in Cutelee::TextHTMLBuilder, and Cutelee::PlainTextMarkupBuilder.

◆ beginAnchor()

virtual void Cutelee::AbstractMarkupBuilder::beginAnchor ( const QString href = {},
const QString name = {} 
)
pure virtual

Begin a url anchor element in the markup

Parameters
hrefThe href of the anchor.
nameThe name of the anchor.

Implemented in Cutelee::TextHTMLBuilder, Cutelee::PlainTextMarkupBuilder, Cutelee::MediaWikiMarkupBuilder, and Cutelee::BBCodeBuilder.

Referenced by Cutelee::MarkupDirector::processOpeningElements().

◆ beginBackground()

virtual void Cutelee::AbstractMarkupBuilder::beginBackground ( const QBrush &  brush)
pure virtual

Begin a decorarated background element in the markup (A text background color) using brush

Implemented in Cutelee::TextHTMLBuilder, and Cutelee::PlainTextMarkupBuilder.

Referenced by Cutelee::MarkupDirector::processOpeningElements().

◆ beginEmph()

virtual void Cutelee::AbstractMarkupBuilder::beginEmph ( )
pure virtual

◆ beginFontFamily()

virtual void Cutelee::AbstractMarkupBuilder::beginFontFamily ( const QString family)
pure virtual

Begin a new font familiy element in the markup

Parameters
familyThe name of the font family to begin.

Implemented in Cutelee::TextHTMLBuilder, and Cutelee::PlainTextMarkupBuilder.

Referenced by Cutelee::MarkupDirector::processOpeningElements().

◆ beginFontPointSize()

virtual void Cutelee::AbstractMarkupBuilder::beginFontPointSize ( int  size)
pure virtual

Begin a new font point size element in the markup

Parameters
sizeThe point size to begin.

Implemented in Cutelee::TextHTMLBuilder, Cutelee::PlainTextMarkupBuilder, and Cutelee::BBCodeBuilder.

Referenced by Cutelee::MarkupDirector::processOpeningElements().

◆ beginForeground()

virtual void Cutelee::AbstractMarkupBuilder::beginForeground ( const QBrush &  brush)
pure virtual

Begin a decorarated foreground element in the markup (A text color) using brush

Implemented in Cutelee::TextHTMLBuilder, Cutelee::PlainTextMarkupBuilder, and Cutelee::BBCodeBuilder.

Referenced by Cutelee::MarkupDirector::processOpeningElements().

◆ beginHeader()

virtual void Cutelee::AbstractMarkupBuilder::beginHeader ( int  level)
pure virtual

Begin a level level header

Parameters
levelAn integer between 1 and 6

Implemented in Cutelee::TextHTMLBuilder, Cutelee::PlainTextMarkupBuilder, and Cutelee::MediaWikiMarkupBuilder.

◆ beginList()

virtual void Cutelee::AbstractMarkupBuilder::beginList ( QTextListFormat::Style  style)
pure virtual

Begin a new list element in the markup. A list element contains list items, and may contain other lists.

Parameters
styleThe style of list to create.

Implemented in Cutelee::TextHTMLBuilder, Cutelee::MediaWikiMarkupBuilder, Cutelee::BBCodeBuilder, and Cutelee::PlainTextMarkupBuilder.

Referenced by Cutelee::MarkupDirector::processList().

◆ beginListItem()

virtual void Cutelee::AbstractMarkupBuilder::beginListItem ( )
pure virtual

◆ beginParagraph()

virtual void Cutelee::AbstractMarkupBuilder::beginParagraph ( Qt::Alignment  a = Qt::AlignLeft,
qreal  top = 0.0,
qreal  bottom = 0.0,
qreal  left = 0.0,
qreal  right = 0.0 
)
pure virtual

Begin a new paragraph in the markup

Parameters
aThe alignment of the new paragraph.
topThe top margin of the new paragraph.
bottomThe bottom margin of the new paragraph.
leftThe left margin of the new paragraph.
rightThe right margin of the new paragraph.

Implemented in Cutelee::TextHTMLBuilder, Cutelee::PlainTextMarkupBuilder, and Cutelee::BBCodeBuilder.

Referenced by Cutelee::MarkupDirector::processBlockContents(), and Cutelee::MarkupDirector::processFragment().

◆ beginStrikeout()

virtual void Cutelee::AbstractMarkupBuilder::beginStrikeout ( )
pure virtual

◆ beginStrong()

virtual void Cutelee::AbstractMarkupBuilder::beginStrong ( )
pure virtual

◆ beginSubscript()

virtual void Cutelee::AbstractMarkupBuilder::beginSubscript ( )
pure virtual

◆ beginSuperscript()

virtual void Cutelee::AbstractMarkupBuilder::beginSuperscript ( )
pure virtual

◆ beginTable()

virtual void Cutelee::AbstractMarkupBuilder::beginTable ( qreal  cellpadding,
qreal  cellspacing,
const QString width 
)
pure virtual

Begin a table element.

Parameters
cellpaddingThe padding attribute for the table.
cellspacingThe spacing attribute for the table.
widthThe width of the table. May be either an integer, or a percentage value.

Implemented in Cutelee::BBCodeBuilder, Cutelee::TextHTMLBuilder, and Cutelee::PlainTextMarkupBuilder.

Referenced by Cutelee::MarkupDirector::processTable().

◆ beginTableCell()

virtual void Cutelee::AbstractMarkupBuilder::beginTableCell ( const QString width,
int  colSpan,
int  rowSpan 
)
pure virtual

Begin a new table cell.

Parameters
widthThe width of the cell.
colSpanThe column span of the cell.
rowSpanThe row span of the cell.

Implemented in Cutelee::TextHTMLBuilder, and Cutelee::PlainTextMarkupBuilder.

Referenced by Cutelee::MarkupDirector::processTable().

◆ beginTableHeaderCell()

virtual void Cutelee::AbstractMarkupBuilder::beginTableHeaderCell ( const QString width,
int  colSpan,
int  rowSpan 
)
pure virtual

Begin a new table header cell.

Parameters
widthThe width of the cell.
colSpanThe column span of the cell.
rowSpanThe row span of the cell.

Implemented in Cutelee::TextHTMLBuilder, and Cutelee::PlainTextMarkupBuilder.

Referenced by Cutelee::MarkupDirector::processTable().

◆ beginTableRow()

virtual void Cutelee::AbstractMarkupBuilder::beginTableRow ( )
pure virtual

◆ beginUnderline()

virtual void Cutelee::AbstractMarkupBuilder::beginUnderline ( )
pure virtual

◆ endAnchor()

virtual void Cutelee::AbstractMarkupBuilder::endAnchor ( )
pure virtual

◆ endBackground()

virtual void Cutelee::AbstractMarkupBuilder::endBackground ( )
pure virtual

Close the decorarated background element in the markup

Implemented in Cutelee::TextHTMLBuilder, and Cutelee::PlainTextMarkupBuilder.

Referenced by Cutelee::MarkupDirector::processClosingElements().

◆ endEmph()

virtual void Cutelee::AbstractMarkupBuilder::endEmph ( )
pure virtual

◆ endFontFamily()

virtual void Cutelee::AbstractMarkupBuilder::endFontFamily ( )
pure virtual

◆ endFontPointSize()

virtual void Cutelee::AbstractMarkupBuilder::endFontPointSize ( )
pure virtual

◆ endForeground()

virtual void Cutelee::AbstractMarkupBuilder::endForeground ( )
pure virtual

Close the decorarated foreground element in the markup

Implemented in Cutelee::TextHTMLBuilder, Cutelee::PlainTextMarkupBuilder, and Cutelee::BBCodeBuilder.

Referenced by Cutelee::MarkupDirector::processClosingElements().

◆ endHeader()

virtual void Cutelee::AbstractMarkupBuilder::endHeader ( int  level)
pure virtual

End a level level header

Parameters
levelAn integer between 1 and 6

Implemented in Cutelee::TextHTMLBuilder, Cutelee::PlainTextMarkupBuilder, and Cutelee::MediaWikiMarkupBuilder.

◆ endList()

virtual void Cutelee::AbstractMarkupBuilder::endList ( )
pure virtual

◆ endListItem()

virtual void Cutelee::AbstractMarkupBuilder::endListItem ( )
pure virtual

◆ endParagraph()

virtual void Cutelee::AbstractMarkupBuilder::endParagraph ( )
pure virtual

◆ endStrikeout()

virtual void Cutelee::AbstractMarkupBuilder::endStrikeout ( )
pure virtual

◆ endStrong()

virtual void Cutelee::AbstractMarkupBuilder::endStrong ( )
pure virtual

◆ endSubscript()

virtual void Cutelee::AbstractMarkupBuilder::endSubscript ( )
pure virtual

◆ endSuperscript()

virtual void Cutelee::AbstractMarkupBuilder::endSuperscript ( )
pure virtual

◆ endTable()

virtual void Cutelee::AbstractMarkupBuilder::endTable ( )
pure virtual

◆ endTableCell()

virtual void Cutelee::AbstractMarkupBuilder::endTableCell ( )
pure virtual

◆ endTableHeaderCell()

virtual void Cutelee::AbstractMarkupBuilder::endTableHeaderCell ( )
pure virtual

End a table header cell

Implemented in Cutelee::TextHTMLBuilder, and Cutelee::PlainTextMarkupBuilder.

Referenced by Cutelee::MarkupDirector::processTable().

◆ endTableRow()

virtual void Cutelee::AbstractMarkupBuilder::endTableRow ( )
pure virtual

◆ endUnderline()

virtual void Cutelee::AbstractMarkupBuilder::endUnderline ( )
pure virtual

◆ getResult()

virtual QString Cutelee::AbstractMarkupBuilder::getResult ( )
pure virtual

Return the fully marked up result of the building process.

This may contain metadata etc, such as a head element in html.

Returns
The fully marked up text.

Implemented in Cutelee::TextHTMLBuilder, Cutelee::PlainTextMarkupBuilder, Cutelee::MediaWikiMarkupBuilder, and Cutelee::BBCodeBuilder.

◆ insertHorizontalRule()

virtual void Cutelee::AbstractMarkupBuilder::insertHorizontalRule ( int  width = -1)
pure virtual

Insert a horizontal rule into the markup.

Parameters
widthThe width of the rule. Default is full width.

Implemented in Cutelee::TextHTMLBuilder, and Cutelee::PlainTextMarkupBuilder.

Referenced by Cutelee::MarkupDirector::processBlockContents().

◆ insertImage()

virtual void Cutelee::AbstractMarkupBuilder::insertImage ( const QString url,
qreal  width,
qreal  height 
)
pure virtual

Insert a new image element into the markup.

Parameters
urlThe url of the image
widthThe width of the image
heightThe height of the image.

Implemented in Cutelee::TextHTMLBuilder, Cutelee::PlainTextMarkupBuilder, and Cutelee::BBCodeBuilder.

Referenced by Cutelee::MarkupDirector::processImage().