Instructs a builder object to create markup output.
More...
#include <grantlee/markupdirector.h>
|
| | MarkupDirector (AbstractMarkupBuilder *builder) |
| |
| virtual | ~MarkupDirector () |
| |
| virtual QTextFrame::iterator | processBlock (QTextFrame::iterator it, const QTextBlock &block) |
| |
| virtual QTextFrame::iterator | processBlockContents (QTextFrame::iterator it, const QTextBlock &block) |
| |
| virtual QPair< QTextFrame::iterator, QTextBlock > | processBlockGroup (QTextFrame::iterator it, const QTextBlock &block, QTextBlockGroup *textBlockGroup) |
| |
| virtual QTextBlock::iterator | processCharTextObject (QTextBlock::iterator it, const QTextFragment &fragment, QTextObject *textObject) |
| |
| virtual void | processCustomFragment (const QTextFragment &fragment, QTextDocument const *doc) |
| |
| virtual void | processDocument (QTextDocument *doc) |
| |
| virtual QTextBlock::iterator | processFragment (QTextBlock::iterator it, const QTextFragment &fragment, QTextDocument const *doc) |
| |
| virtual QTextFrame::iterator | processFrame (QTextFrame::iterator it, QTextFrame *frame) |
| |
| virtual QTextBlock::iterator | processImage (QTextBlock::iterator it, const QTextImageFormat &imageFormat, QTextDocument *doc) |
| |
| virtual QPair< QTextFrame::iterator, QTextBlock > | processList (QTextFrame::iterator it, const QTextBlock &block, QTextList *textList) |
| |
| virtual QTextFrame::iterator | processObject (QTextFrame::iterator it, const QTextBlock &block, QTextObject *textObject) |
| |
| virtual QTextFrame::iterator | processTable (QTextFrame::iterator it, QTextTable *table) |
| |
| virtual void | processTableCell (const QTextTableCell &tableCell, QTextTable *table) |
| |
|
| enum | OpenElementValues {
None
, SuperScript
, SubScript
, Anchor
,
SpanForeground
, SpanBackground
, SpanFontFamily
, SpanFontPointSize
,
Strong
, Emph
, Underline
, StrikeOut
} |
| |
The MarkupDirector is used with an implementation of AbstractMarkupBuilder to create a marked up document output.
Usage can be quite simple.
md->processDocument(
doc);
MarkupDirector(AbstractMarkupBuilder *builder)
int registerMetaType()
Registers the type RealType with the metatype system.
Or with a different builder:
md->processDocument(
doc);
Creates a simple marked up plain text document.
The MarkupDirector also provides API for processing just part of a QTextDocument, such as a QTextFrame or a QTextBlock. The appropriate method may then be called with an invalid iterator as appropriate.
md->processFrame(QTextFrame::iterator(),
frame);
The behaviour of the MarkupDirector can be customized by subclassing. Support for custom types can also be added by implementing the processCustomFragment method.
- See also
- Handling custom QTextObjects
- Author
- Stephen Kelly steve.nosp@m.ire@.nosp@m.gmail.nosp@m..com
Definition at line 92 of file markupdirector.h.
◆ OpenElementValues
Flags for the tags that may be open.
| Enumerator |
|---|
| SuperScript | No tags are open.
|
| SubScript | A superscript tag is open.
|
| Anchor | A subscript tag is open.
|
| SpanForeground | An anchor tag is open.
|
| SpanBackground | A foreground altering span tag is open.
|
| SpanFontFamily | A background altering span tag is open.
|
| SpanFontPointSize | A font family altering span tag is open.
|
| Strong | A font size altering span tag is open.
|
| Emph | A strong tag is open.
|
| Underline | A emphasis tag is open.
|
| StrikeOut | An underline tag is open.
|
Definition at line 273 of file markupdirector.h.
◆ MarkupDirector()
◆ ~MarkupDirector()
| virtual Grantlee::MarkupDirector::~MarkupDirector |
( |
| ) |
|
|
virtual |
◆ getElementsToClose()
| virtual QSet< int > Grantlee::MarkupDirector::getElementsToClose |
( |
QTextBlock::iterator | it | ) |
const |
|
protectedvirtual |
Returns the tags that should be closed at the position of it.
◆ getElementsToOpen()
| virtual QList< int > Grantlee::MarkupDirector::getElementsToOpen |
( |
QTextBlock::iterator | it | ) |
|
|
protectedvirtual |
Returns the tags that should be opened at the position of it.
◆ processBlock()
| virtual QTextFrame::iterator Grantlee::MarkupDirector::processBlock |
( |
QTextFrame::iterator | it, |
|
|
const QTextBlock & | block ) |
|
virtual |
Directs the builder to create output for the single block. If calling this method directly, an invalid QTextFrame::iterator may be used.
This method does not process the contents of the block, but uses the processBlockContents method to do so.
◆ processBlockContents()
| virtual QTextFrame::iterator Grantlee::MarkupDirector::processBlockContents |
( |
QTextFrame::iterator | it, |
|
|
const QTextBlock & | block ) |
|
virtual |
Directs the builder to create output for the contents of the single block. If calling this method directly, an invalid QTextFrame::iterator may be used.
◆ processBlockGroup()
Directs the builder to create output for the single textBlockGroup. If calling this method directly, an invalid QTextFrame::iterator may be used.
The block block is the first block in the textBlockGroup.
◆ processCharTextObject()
Directs the builder to create output for the contents of the single textObject. The textObject is represented in the QTextDocument with the QTextFragment fragment.
If calling this method directly, an invalid QTextBlock::iterator may be used.
◆ processClosingElements()
| virtual void Grantlee::MarkupDirector::processClosingElements |
( |
QTextBlock::iterator | it | ) |
|
|
protectedvirtual |
Directs the builder to close the appropriate tags at the position of it.
◆ processCustomFragment()
Hook for instructing the builder to create output for the fragemnt with a custom type. doc is the document the fragment is in.
◆ processDocument()
Constructs the output by directing the builder to create the markup.
◆ processDocumentContents()
| void Grantlee::MarkupDirector::processDocumentContents |
( |
QTextFrame::iterator | begin, |
|
|
QTextFrame::iterator | end ) |
|
protected |
Processes the document between begin and end
◆ processFragment()
Directs the builder to create output for the contents of the single fragment. If calling this method directly, an invalid QTextBlock::iterator may be used. doc is the document the fragment is in.
◆ processFrame()
| virtual QTextFrame::iterator Grantlee::MarkupDirector::processFrame |
( |
QTextFrame::iterator | it, |
|
|
QTextFrame * | frame ) |
|
virtual |
Directs the builder to create output for the single frame. If calling this method directly, an invalid QTextFrame::iterator may be used.
◆ processImage()
Directs the builder to create output for the image represented by the imageFormat.
If calling this method directly, an invalid QTextBlock::iterator may be used. doc is the document the fragment is in.
◆ processList()
Directs the builder to create output for the single textList. If calling this method directly, an invalid QTextFrame::iterator may be used.
The block block is the first block in the textList.
◆ processObject()
Directs the builder to create output for the single textObject. If calling this method directly, an invalid QTextFrame::iterator may be used.
The block block is the container of the textObject.
◆ processOpeningElements()
| virtual void Grantlee::MarkupDirector::processOpeningElements |
( |
QTextBlock::iterator | it | ) |
|
|
protectedvirtual |
Directs the builder to open the appropriate tags at the position of it.
◆ processTable()
| virtual QTextFrame::iterator Grantlee::MarkupDirector::processTable |
( |
QTextFrame::iterator | it, |
|
|
QTextTable * | table ) |
|
virtual |
Directs the builder to create output for the contents of the single table.
If calling this method directly, an invalid QTextFrame::iterator may be used.
◆ processTableCell()
Directs the builder to create output for the contents of the single tableCell. The tableCell is in the table.
◆ skipBlockGroup()
Iterates the iterator it to the first block after blockGroup. _block is any block in the blockGroup.
The return pair is the iterator pointing after the end of blockGroup and the first block after blockGroup.
◆ sortOpeningOrder()
| QList< int > Grantlee::MarkupDirector::sortOpeningOrder |
( |
QSet< int > | openingTags, |
|
|
QTextBlock::iterator | it ) const |
|
protected |
Returns a list of tags contained in openingTags sorted so they can be opened in order and will be closed in the correct order.
openingTags should be a set of tags opened at the fragment pointed to by it.
◆ m_builder