22 #ifndef GRANTLEE_MARKUPDIRECTOR_H
23 #define GRANTLEE_MARKUPDIRECTOR_H
25 #include "abstractmarkupbuilder.h"
26 #include "grantlee_gui_export.h"
28 #include <QtGui/QTextDocument>
29 #include <QtGui/QTextFrame>
34 class QTextCharFormat;
39 class MarkupDirectorPrivate;
106 virtual void processDocument( QTextDocument* doc );
111 virtual QTextFrame::iterator processFrame( QTextFrame::iterator it, QTextFrame *frame );
118 virtual QTextFrame::iterator processBlock( QTextFrame::iterator it,
const QTextBlock &block );
125 virtual QTextFrame::iterator processObject( QTextFrame::iterator it,
const QTextBlock &block, QTextObject *textObject );
132 virtual QPair<QTextFrame::iterator, QTextBlock> processBlockGroup( QTextFrame::iterator it,
const QTextBlock &block, QTextBlockGroup *textBlockGroup );
139 virtual QPair<QTextFrame::iterator, QTextBlock> processList( QTextFrame::iterator it,
const QTextBlock &block, QTextList *textList );
144 virtual QTextFrame::iterator processBlockContents( QTextFrame::iterator it,
const QTextBlock &block );
149 virtual void processCustomFragment(
const QTextFragment &fragment, QTextDocument
const *doc );
154 virtual QTextBlock::iterator processFragment( QTextBlock::iterator it,
const QTextFragment &fragment, QTextDocument
const *doc );
161 virtual QTextBlock::iterator processCharTextObject( QTextBlock::iterator it,
const QTextFragment &fragment, QTextObject *textObject );
168 virtual QTextBlock::iterator processImage( QTextBlock::iterator it,
const QTextImageFormat &imageFormat, QTextDocument *doc );
175 virtual QTextFrame::iterator processTable( QTextFrame::iterator it, QTextTable *table );
180 virtual void processTableCell(
const QTextTableCell &tableCell, QTextTable *table );
186 void processDocumentContents( QTextFrame::iterator begin, QTextFrame::iterator end );
193 QPair<QTextFrame::iterator, QTextBlock> skipBlockGroup( QTextFrame::iterator it,
const QTextBlock &_block, QTextBlockGroup *blockGroup );
200 QList< int > sortOpeningOrder( QSet< int > openingTags, QTextBlock::iterator it )
const;
205 virtual void processClosingElements( QTextBlock::iterator it );
210 virtual void processOpeningElements( QTextBlock::iterator it );
215 virtual QSet< int > getElementsToClose( QTextBlock::iterator it )
const;
220 virtual QList< int > getElementsToOpen( QTextBlock::iterator it );
230 SpanForeground = 0x08,
231 SpanBackground = 0x10,
232 SpanFontFamily = 0x20,
233 SpanFontPointSize = 0x40,
242 MarkupDirectorPrivate *
const d_ptr;
The MarkupDirector class controls and instructs a builder object to create markup output...
AbstractMarkupBuilder * m_builder
The AbstractMarkupBuilder class serves as a base class for creating marked up plain text output...
The Grantlee namespace holds all public Grantlee API.