Qt 4.8
|
The QAbstractTextDocumentLayout class is an abstract base class used to implement custom layouts for QTextDocuments. More...
#include <qabstracttextdocumentlayout.h>
Classes | |
class | PaintContext |
The QAbstractTextDocumentLayout::PaintContext class is a convenience class defining the parameters used when painting a document's layout. More... | |
class | Selection |
The QAbstractTextDocumentLayout::Selection class is a convenience class defining the parameters of a selection. More... | |
Signals | |
void | documentSizeChanged (const QSizeF &newSize) |
This signal is emitted when the size of the document layout changes to newSize. More... | |
void | pageCountChanged (int newPages) |
This signal is emitted when the number of pages in the layout changes; newPages is the updated page count. More... | |
void | update (const QRectF &=QRectF(0., 0., 1000000000., 1000000000.)) |
This signal is emitted when the rectangle rect has been updated. More... | |
void | updateBlock (const QTextBlock &block) |
This signal is emitted when the specified block has been updated. More... | |
Signals inherited from QObject | |
void | destroyed (QObject *=0) |
This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More... | |
Public Functions | |
QString | anchorAt (const QPointF &pos) const |
Returns the reference of the anchor the given position, or an empty string if no anchor exists at that point. More... | |
virtual QRectF | blockBoundingRect (const QTextBlock &block) const =0 |
Returns the bounding rectangle of block. More... | |
QTextDocument * | document () const |
Returns the text document that this layout is operating on. More... | |
virtual QSizeF | documentSize () const =0 |
Returns the total size of the document's layout. More... | |
virtual void | draw (QPainter *painter, const PaintContext &context)=0 |
Draws the layout with the given painter using the given context. More... | |
virtual QRectF | frameBoundingRect (QTextFrame *frame) const =0 |
Returns the bounding rectangle of frame. More... | |
QTextObjectInterface * | handlerForObject (int objectType) const |
Returns a handler for objects of the given objectType. More... | |
virtual int | hitTest (const QPointF &point, Qt::HitTestAccuracy accuracy) const =0 |
Returns the cursor postion for the given point with the specified accuracy. More... | |
virtual int | pageCount () const =0 |
Returns the number of pages contained in the layout. More... | |
QPaintDevice * | paintDevice () const |
Returns the paint device used to render the document's layout. More... | |
QAbstractTextDocumentLayout (QTextDocument *doc) | |
Creates a new text document layout for the given document. More... | |
void | registerHandler (int objectType, QObject *component) |
Registers the given component as a handler for items of the given objectType. More... | |
void | setPaintDevice (QPaintDevice *device) |
Sets the paint device used for rendering the document's layout to the given device. More... | |
~QAbstractTextDocumentLayout () | |
Public Functions inherited from QObject | |
bool | blockSignals (bool b) |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More... | |
const QObjectList & | children () const |
Returns a list of child objects. More... | |
bool | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0) |
bool | disconnect (const QObject *receiver, const char *member=0) |
void | dumpObjectInfo () |
Dumps information about signal connections, etc. More... | |
void | dumpObjectTree () |
Dumps a tree of children to the debug output. More... | |
QList< QByteArray > | dynamicPropertyNames () const |
Returns the names of all properties that were dynamically added to the object using setProperty(). More... | |
virtual bool | event (QEvent *) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. More... | |
virtual bool | eventFilter (QObject *, QEvent *) |
Filters events if this object has been installed as an event filter for the watched object. More... | |
template<typename T > | |
T | findChild (const QString &aName=QString()) const |
Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More... | |
template<typename T > | |
QList< T > | findChildren (const QString &aName=QString()) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More... | |
template<typename T > | |
QList< T > | findChildren (const QRegExp &re) const |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More... | |
void | installEventFilter (QObject *) |
Installs an event filter filterObj on this object. More... | |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false. More... | |
void | killTimer (int id) |
Kills the timer with timer identifier, id. More... | |
virtual const QMetaObject * | metaObject () const |
Returns a pointer to the meta-object of this object. More... | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. More... | |
QString | objectName () const |
QObject * | parent () const |
Returns a pointer to the parent object. More... | |
QVariant | property (const char *name) const |
Returns the value of the object's name property. More... | |
Q_INVOKABLE | QObject (QObject *parent=0) |
Constructs an object with parent object parent. More... | |
void | removeEventFilter (QObject *) |
Removes an event filter object obj from this object. More... | |
void | setObjectName (const QString &name) |
void | setParent (QObject *) |
Makes the object a child of parent. More... | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. More... | |
void | setUserData (uint id, QObjectUserData *data) |
bool | signalsBlocked () const |
Returns true if signals are blocked; otherwise returns false. More... | |
int | startTimer (int interval) |
Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More... | |
QThread * | thread () const |
Returns the thread in which the object lives. More... | |
QObjectUserData * | userData (uint id) const |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. More... | |
Protected Functions | |
virtual void | documentChanged (int from, int charsRemoved, int charsAdded)=0 |
This function is called whenever the contents of the document change. More... | |
virtual void | drawInlineObject (QPainter *painter, const QRectF &rect, QTextInlineObject object, int posInDocument, const QTextFormat &format) |
This function is called to draw the inline object, object, with the given painter within the rectangle specified by rect using the specified text format. More... | |
QTextCharFormat | format (int pos) |
Returns the character format that is applicable at the given position. More... | |
int | formatIndex (int pos) |
Returns the index of the format at position pos. More... | |
virtual void | positionInlineObject (QTextInlineObject item, int posInDocument, const QTextFormat &format) |
Lays out the inline object item using the given text format. More... | |
QAbstractTextDocumentLayout (QAbstractTextDocumentLayoutPrivate &, QTextDocument *) | |
virtual void | resizeInlineObject (QTextInlineObject item, int posInDocument, const QTextFormat &format) |
Sets the size of the inline object item corresponding to the text format. More... | |
Protected Functions inherited from QObject | |
virtual void | childEvent (QChildEvent *) |
This event handler can be reimplemented in a subclass to receive child events. More... | |
virtual void | connectNotify (const char *signal) |
This virtual function is called when something has been connected to signal in this object. More... | |
virtual void | customEvent (QEvent *) |
This event handler can be reimplemented in a subclass to receive custom events. More... | |
virtual void | disconnectNotify (const char *signal) |
This virtual function is called when something has been disconnected from signal in this object. More... | |
QObject (QObjectPrivate &dd, QObject *parent=0) | |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. More... | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More... | |
int | senderSignalIndex () const |
virtual void | timerEvent (QTimerEvent *) |
This event handler can be reimplemented in a subclass to receive timer events for the object. More... | |
Friends | |
class | QTextControl |
class | QTextDocument |
class | QTextDocumentPrivate |
class | QTextEngine |
class | QTextLayout |
class | QTextLine |
Additional Inherited Members | |
Public Slots inherited from QObject | |
void | deleteLater () |
Schedules this object for deletion. More... | |
Static Public Functions inherited from QObject | |
static bool | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More... | |
static bool | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
Disconnects signal in object sender from method in object receiver. More... | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static uint | registerUserData () |
static QString | tr (const char *sourceText, const char *comment=0, int n=-1) |
static QString | trUtf8 (const char *sourceText, const char *comment=0, int n=-1) |
Static Public Variables inherited from QObject | |
static const QMetaObject | staticMetaObject |
This variable stores the meta-object for the class. More... | |
Protected Variables inherited from QObject | |
QScopedPointer< QObjectData > | d_ptr |
Static Protected Variables inherited from QObject | |
static const QMetaObject | staticQtMetaObject |
Related Functions inherited from QObject | |
T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QRegExp ®Exp)() |
T * | qobject_cast (QObject *object) |
QObjectList | |
void * | qt_find_obj_child (QObject *parent, const char *type, const QString &name) |
Returns a pointer to the object named name that inherits type and with a given parent. More... | |
The QAbstractTextDocumentLayout class is an abstract base class used to implement custom layouts for QTextDocuments.
The standard layout provided by Qt can handle simple word processing including inline images, lists and tables.
Some applications, e.g., a word processor or a DTP application might need more features than the ones provided by Qt's layout engine, in which case you can subclass QAbstractTextDocumentLayout to provide custom layout behavior for your text documents.
An instance of the QAbstractTextDocumentLayout subclass can be installed on a QTextDocument object with the QTextDocument::setDocumentLayout() function.
You can insert custom objects into a QTextDocument; see the QTextObjectInterface class description for details.
Definition at line 62 of file qabstracttextdocumentlayout.h.
|
explicit |
Creates a new text document layout for the given document.
Definition at line 442 of file qabstracttextdocumentlayout.cpp.
QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout | ( | ) |
Definition at line 462 of file qabstracttextdocumentlayout.cpp.
|
protected |
Definition at line 452 of file qabstracttextdocumentlayout.cpp.
Returns the reference of the anchor the given position, or an empty string if no anchor exists at that point.
Definition at line 639 of file qabstracttextdocumentlayout.cpp.
Referenced by QWhatsThat::mouseMoveEvent(), QWhatsThat::mousePressEvent(), and QWhatsThat::mouseReleaseEvent().
|
pure virtual |
Returns the bounding rectangle of block.
Implemented in QPlainTextDocumentLayout, and QTextDocumentLayout.
Referenced by QTextCursorPrivate::blockLayout(), and QAccessibleTextEdit::rect().
QTextDocument * QAbstractTextDocumentLayout::document | ( | ) | const |
Returns the text document that this layout is operating on.
Definition at line 624 of file qabstracttextdocumentlayout.cpp.
Referenced by QPlainTextDocumentLayout::blockBoundingRect(), QTextEngine::docLayout(), QTextDocumentLayout::documentChanged(), QPlainTextDocumentLayout::documentChanged(), QPlainTextDocumentLayout::documentSize(), drawInlineObject(), QPlainTextDocumentLayout::layoutBlock(), QPlainTextDocumentLayout::requestUpdate(), and resizeInlineObject().
|
protectedpure virtual |
This function is called whenever the contents of the document change.
A change occurs when text is inserted, removed, or a combination of these two. The change is specified by position, charsRemoved, and charsAdded corresponding to the starting character position of the change, the number of characters removed from the document, and the number of characters added.
For example, when inserting the text "Hello" into an empty document, charsRemoved would be 0 and charsAdded would be 5 (the length of the string).
Replacing text is a combination of removing and inserting. For example, if the text "Hello" gets replaced by "Hi", charsRemoved would be 5 and charsAdded would be 2.
For subclasses of QAbstractTextDocumentLayout, this is the central function where a large portion of the work to lay out and position document contents is done.
For example, in a subclass that only arranges blocks of text, an implementation of this function would have to do the following:
Implemented in QPlainTextDocumentLayout, and QTextDocumentLayout.
Referenced by QTextDocumentPrivate::clear(), QTextDocumentPrivate::finishEdit(), and QTextDocumentPrivate::setLayout().
|
pure virtual |
Returns the total size of the document's layout.
This information can be used by display widgets to update their scroll bars correctly.
Implemented in QPlainTextDocumentLayout, and QTextDocumentLayout.
Referenced by QTextDocument::adjustSize(), documentSize(), QPlainTextEdit::paintEvent(), and QTextEditPrivate::relayoutDocument().
|
signal |
This signal is emitted when the size of the document layout changes to newSize.
Subclasses of QAbstractTextDocumentLayout should emit this signal when the document's entire layout size changes. This signal is useful for widgets that display text documents since it enables them to update their scroll bars correctly.
Referenced by QTextDocumentLayout::documentChanged(), QPlainTextDocumentLayout::documentChanged(), QPlainTextDocumentLayout::layoutBlock(), and QTextDocumentLayout::timerEvent().
|
pure virtual |
Draws the layout with the given painter using the given context.
Implemented in QPlainTextDocumentLayout, and QTextDocumentLayout.
Referenced by QTextDocument::drawContents(), QLabel::paintEvent(), QWhatsThat::paintEvent(), and QStaticTextPrivate::paintText().
|
protectedvirtual |
This function is called to draw the inline object, object, with the given painter within the rectangle specified by rect using the specified text format.
posInDocument specifies the position of the object within the document.
The default implementation calls drawObject() on the object handlers. This function is called only within Qt. Subclasses can reimplement this function to customize the drawing of inline objects.
Reimplemented in QTextDocumentLayout.
Definition at line 565 of file qabstracttextdocumentlayout.cpp.
Referenced by QTextLine::draw(), and QTextDocumentLayout::drawInlineObject().
|
protected |
Returns the character format that is applicable at the given position.
Definition at line 612 of file qabstracttextdocumentlayout.cpp.
|
protected |
Returns the index of the format at position pos.
Definition at line 598 of file qabstracttextdocumentlayout.cpp.
|
pure virtual |
Returns the bounding rectangle of frame.
Implemented in QPlainTextDocumentLayout, and QTextDocumentLayout.
Referenced by boundingRectOfFloatsInSelection().
QTextObjectInterface * QAbstractTextDocumentLayout::handlerForObject | ( | int | objectType | ) | const |
Returns a handler for objects of the given objectType.
Definition at line 494 of file qabstracttextdocumentlayout.cpp.
|
pure virtual |
Returns the cursor postion for the given point with the specified accuracy.
Returns -1 if no valid cursor position was found.
Implemented in QPlainTextDocumentLayout, and QTextDocumentLayout.
Referenced by anchorAt(), and QAccessibleTextWidget::offsetAtPoint().
|
pure virtual |
Returns the number of pages contained in the layout.
Implemented in QPlainTextDocumentLayout, and QTextDocumentLayout.
Referenced by QTextDocument::pageCount().
|
signal |
This signal is emitted when the number of pages in the layout changes; newPages is the updated page count.
Subclasses of QAbstractTextDocumentLayout should emit this signal when the number of pages in the layout has changed. Changes to the page count are caused by changes to the layout or the document content itself.
Referenced by QTextDocumentLayout::timerEvent().
QPaintDevice * QAbstractTextDocumentLayout::paintDevice | ( | ) | const |
Returns the paint device used to render the document's layout.
Definition at line 683 of file qabstracttextdocumentlayout.cpp.
Referenced by QTextEngine::calculateTabWidth(), QTextEngine::font(), QTextEngine::fontEngine(), getImageSize(), getPixmapSize(), QTextDocumentLayoutPrivate::scaleToDevice(), and QScriptLine::setDefaultHeight().
|
protectedvirtual |
Lays out the inline object item using the given text format.
posInDocument specifies the position of the object within the document.
The default implementation does nothing. This function is called only within Qt. Subclasses can reimplement this function to customize the position of inline objects.
Reimplemented in QTextDocumentLayout.
Definition at line 543 of file qabstracttextdocumentlayout.cpp.
Referenced by QTextLine::layout_helper().
void QAbstractTextDocumentLayout::registerHandler | ( | int | objectType, |
QObject * | component | ||
) |
Registers the given component as a handler for items of the given objectType.
Definition at line 475 of file qabstracttextdocumentlayout.cpp.
Referenced by QTextDocumentLayout::QTextDocumentLayout().
|
protectedvirtual |
Sets the size of the inline object item corresponding to the text format.
posInDocument specifies the position of the object within the document.
The default implementation resizes the item to the size returned by the object handler's intrinsicSize() function. This function is called only within Qt. Subclasses can reimplement this function to customize the resizing of inline objects.
Reimplemented in QTextDocumentLayout.
Definition at line 516 of file qabstracttextdocumentlayout.cpp.
Referenced by QTextEngine::shape().
void QAbstractTextDocumentLayout::setPaintDevice | ( | QPaintDevice * | device | ) |
Sets the paint device used for rendering the document's layout to the given device.
Definition at line 672 of file qabstracttextdocumentlayout.cpp.
Referenced by QTextEditPrivate::init(), and QPlainTextEditPrivate::init().
|
signal |
This signal is emitted when the rectangle rect has been updated.
Subclasses of QAbstractTextDocumentLayout should emit this signal when the layout of the contents change in order to repaint.
Referenced by QTextDocumentLayout::documentChanged(), QPlainTextDocumentLayout::documentChanged(), and QPlainTextDocumentLayout::requestUpdate().
|
signal |
This signal is emitted when the specified block has been updated.
Subclasses of QAbstractTextDocumentLayout should emit this signal when the layout of block has changed in order to repaint.
Referenced by QPlainTextDocumentLayout::documentChanged().
|
friend |
Definition at line 125 of file qabstracttextdocumentlayout.h.
|
friend |
Definition at line 126 of file qabstracttextdocumentlayout.h.
|
friend |
Definition at line 127 of file qabstracttextdocumentlayout.h.
|
friend |
Definition at line 128 of file qabstracttextdocumentlayout.h.
|
friend |
Definition at line 129 of file qabstracttextdocumentlayout.h.
Definition at line 130 of file qabstracttextdocumentlayout.h.