Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
\reentrant More...
#include <qabstracttextdocumentlayout.h>
Classes | |
class | PaintContext |
\reentrant \inmodule QtGui More... | |
class | Selection |
\variable QAbstractTextDocumentLayout::PaintContext::cursorPosition More... | |
Signals | |
void | update (const QRectF &=QRectF(0., 0., 1000000000., 1000000000.)) |
This signal is emitted when the rectangle rect has been updated. | |
void | updateBlock (const QTextBlock &block) |
void | documentSizeChanged (const QSizeF &newSize) |
This signal is emitted when the size of the document layout changes to newSize. | |
void | pageCountChanged (int newPages) |
This signal is emitted when the number of pages in the layout changes; newPages is the updated page count. | |
Signals inherited from QObject | |
void | destroyed (QObject *=nullptr) |
This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked. | |
void | objectNameChanged (const QString &objectName, QPrivateSignal) |
This signal is emitted after the object's name has been changed. | |
Public Member Functions | |
QAbstractTextDocumentLayout (QTextDocument *doc) | |
\variable QAbstractTextDocumentLayout::Selection::format | |
~QAbstractTextDocumentLayout () | |
virtual void | draw (QPainter *painter, const PaintContext &context)=0 |
Draws the layout with the given painter using the given context. | |
virtual int | hitTest (const QPointF &point, Qt::HitTestAccuracy accuracy) const =0 |
Returns the cursor position for the given point with the specified accuracy. | |
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. | |
QString | imageAt (const QPointF &pos) const |
QTextFormat | formatAt (const QPointF &pos) const |
QTextBlock | blockWithMarkerAt (const QPointF &pos) const |
virtual int | pageCount () const =0 |
Returns the number of pages contained in the layout. | |
virtual QSizeF | documentSize () const =0 |
Returns the total size of the document's layout. | |
virtual QRectF | frameBoundingRect (QTextFrame *frame) const =0 |
Returns the bounding rectangle of frame. | |
virtual QRectF | blockBoundingRect (const QTextBlock &block) const =0 |
Returns the bounding rectangle of block. | |
void | setPaintDevice (QPaintDevice *device) |
Sets the paint device used for rendering the document's layout to the given device. | |
QPaintDevice * | paintDevice () const |
Returns the paint device used to render the document's layout. | |
QTextDocument * | document () const |
Returns the text document that this layout is operating on. | |
void | registerHandler (int objectType, QObject *component) |
Registers the given component as a handler for items of the given objectType. | |
void | unregisterHandler (int objectType, QObject *component=nullptr) |
QTextObjectInterface * | handlerForObject (int objectType) const |
Returns a handler for objects of the given objectType. | |
Public Member Functions inherited from QObject | |
Q_INVOKABLE | QObject (QObject *parent=nullptr) |
Constructs an object with parent object parent. | |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. | |
virtual bool | event (QEvent *event) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. | |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
Filters events if this object has been installed as an event filter for the watched object. | |
QString | objectName () const |
Q_WEAK_OVERLOAD void | setObjectName (const QString &name) |
Sets the object's name to name. | |
void | setObjectName (QAnyStringView name) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QBindable< QString > | bindableObjectName () |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false . | |
bool | isWindowType () const |
Returns true if the object is a window; otherwise returns false . | |
bool | isQuickItemType () const |
Returns true if the object is a QQuickItem; otherwise returns false . | |
bool | signalsBlocked () const noexcept |
Returns true if signals are blocked; otherwise returns false . | |
bool | blockSignals (bool b) noexcept |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). | |
QThread * | thread () const |
Returns the thread in which the object lives. | |
bool | moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL) |
Changes the thread affinity for this object and its children and returns true on success. | |
int | startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer) |
This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds. | |
int | startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
void | killTimer (Qt::TimerId id) |
template<typename T > | |
T | findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object. | |
template<typename T > | |
QList< T > | findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) 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. | |
template<typename T > | |
T | findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
template<typename T > | |
QList< T > | findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
const QObjectList & | children () const |
Returns a list of child objects. | |
void | setParent (QObject *parent) |
Makes the object a child of parent. | |
void | installEventFilter (QObject *filterObj) |
Installs an event filter filterObj on this object. | |
void | removeEventFilter (QObject *obj) |
Removes an event filter object obj from this object. | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const |
bool | disconnect (const QObject *receiver, const char *member=nullptr) const |
void | dumpObjectTree () const |
Dumps a tree of children to the debug output. | |
void | dumpObjectInfo () const |
Dumps information about signal connections, etc. | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. | |
bool | setProperty (const char *name, QVariant &&value) |
QVariant | property (const char *name) const |
Returns the value of the object's name property. | |
QList< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () const |
Returns a pointer to the parent object. | |
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 . | |
Protected Member Functions | |
QAbstractTextDocumentLayout (QAbstractTextDocumentLayoutPrivate &, QTextDocument *) | |
virtual void | documentChanged (int from, int charsRemoved, int charsAdded)=0 |
This function is called whenever the contents of the document change. | |
virtual void | resizeInlineObject (QTextInlineObject item, int posInDocument, const QTextFormat &format) |
Sets the size of the inline object item corresponding to the text format. | |
virtual void | positionInlineObject (QTextInlineObject item, int posInDocument, const QTextFormat &format) |
Lays out the inline object item using the given text format. | |
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. | |
int | formatIndex (int pos) |
QTextCharFormat | format (int pos) |
Returns the character format that is applicable at the given position. | |
Protected Member Functions inherited from QObject | |
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 \nullptr. | |
int | senderSignalIndex () const |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. | |
bool | isSignalConnected (const QMetaMethod &signal) const |
virtual void | timerEvent (QTimerEvent *event) |
This event handler can be reimplemented in a subclass to receive timer events for the object. | |
virtual void | childEvent (QChildEvent *event) |
This event handler can be reimplemented in a subclass to receive child events. | |
virtual void | customEvent (QEvent *event) |
This event handler can be reimplemented in a subclass to receive custom events. | |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
QObject (QObjectPrivate &dd, QObject *parent=nullptr) | |
Friends | |
class | QWidgetTextControl |
class | QTextDocument |
class | QTextDocumentPrivate |
class | QTextEngine |
class | QTextLayout |
class | QTextLine |
Additional Inherited Members | |
Public Slots inherited from QObject | |
void | deleteLater () |
\threadsafe | |
Static Public Member Functions inherited from QObject | |
static QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
\threadsafe | |
static QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
\threadsafe | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static bool | disconnect (const QMetaObject::Connection &) |
Disconnect a connection. | |
template<typename Func1 , typename Func2 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot) |
template<typename Func1 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero) |
Protected Attributes inherited from QObject | |
QScopedPointer< QObjectData > | d_ptr |
Properties inherited from QObject | |
QString | objectName |
the name of this object | |
Related Symbols inherited from QObject | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) | |
\reentrant
The QAbstractTextDocumentLayout class is an abstract base class used to implement custom layouts for QTextDocuments. \inmodule QtGui
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 \l{QTextDocument::}{setDocumentLayout()} function.
You can insert custom objects into a QTextDocument; see the QTextObjectInterface class description for details.
Definition at line 22 of file qabstracttextdocumentlayout.h.
|
explicit |
\variable QAbstractTextDocumentLayout::Selection::format
the format of the selection
The default value is QTextFormat::InvalidFormat.
\variable QAbstractTextDocumentLayout::Selection::cursor
the selection's cursor
The default value is a null cursor.
Creates a new text document layout for the given document.
Definition at line 361 of file qabstracttextdocumentlayout.cpp.
QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout | ( | ) |
Definition at line 381 of file qabstracttextdocumentlayout.cpp.
|
protected |
Definition at line 371 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 569 of file qabstracttextdocumentlayout.cpp.
|
pure virtual |
Returns the bounding rectangle of block.
Implemented in QPlainTextDocumentLayout, and QTextDocumentLayout.
QTextBlock QAbstractTextDocumentLayout::blockWithMarkerAt | ( | const QPointF & | pos | ) | const |
Returns the block (probably a list item) whose \l{QTextBlockFormat::marker()}{marker} is found at the given position pos.
Definition at line 624 of file qabstracttextdocumentlayout.cpp.
QTextDocument * QAbstractTextDocumentLayout::document | ( | ) | const |
Returns the text document that this layout is operating on.
Definition at line 557 of file qabstracttextdocumentlayout.cpp.
|
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:
\list
Implemented in QPlainTextDocumentLayout, and QTextDocumentLayout.
|
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.
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.
|
pure virtual |
Draws the layout with the given painter using the given context.
Implemented in QPlainTextDocumentLayout, and QTextDocumentLayout.
|
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 504 of file qabstracttextdocumentlayout.cpp.
|
protected |
Returns the character format that is applicable at the given position.
Definition at line 545 of file qabstracttextdocumentlayout.cpp.
QTextFormat QAbstractTextDocumentLayout::formatAt | ( | const QPointF & | pos | ) | const |
Returns the text format at the given position pos.
Definition at line 592 of file qabstracttextdocumentlayout.cpp.
|
protected |
Returns the index of the format at position pos.
Definition at line 534 of file qabstracttextdocumentlayout.cpp.
|
pure virtual |
Returns the bounding rectangle of frame.
Implemented in QPlainTextDocumentLayout, and QTextDocumentLayout.
QTextObjectInterface * QAbstractTextDocumentLayout::handlerForObject | ( | int | objectType | ) | const |
Returns a handler for objects of the given objectType.
Definition at line 433 of file qabstracttextdocumentlayout.cpp.
|
pure virtual |
Returns the cursor position for the given point with the specified accuracy.
Returns -1 if no valid cursor position was found.
Implemented in QPlainTextDocumentLayout, and QTextDocumentLayout.
Returns the source of the image at the given position pos, or an empty string if no image exists at that point.
Definition at line 581 of file qabstracttextdocumentlayout.cpp.
|
pure virtual |
Returns the number of pages contained in the layout.
Implemented in QPlainTextDocumentLayout, and QTextDocumentLayout.
|
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.
QPaintDevice * QAbstractTextDocumentLayout::paintDevice | ( | ) | const |
Returns the paint device used to render the document's layout.
Definition at line 677 of file qabstracttextdocumentlayout.cpp.
|
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 482 of file qabstracttextdocumentlayout.cpp.
Registers the given component as a handler for items of the given objectType.
The text document layout does not take ownership of component
.
Definition at line 394 of file qabstracttextdocumentlayout.cpp.
|
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 455 of file qabstracttextdocumentlayout.cpp.
void QAbstractTextDocumentLayout::setPaintDevice | ( | QPaintDevice * | device | ) |
Sets the paint device used for rendering the document's layout to the given device.
Definition at line 666 of file qabstracttextdocumentlayout.cpp.
void QAbstractTextDocumentLayout::unregisterHandler | ( | int | objectType, |
QObject * | component = nullptr ) |
Unregisters the given component as a handler for items of the given objectType, or any handler if the component is not specified.
Definition at line 417 of file qabstracttextdocumentlayout.cpp.
|
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.
|
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.
|
friend |
Definition at line 91 of file qabstracttextdocumentlayout.h.
|
friend |
Definition at line 92 of file qabstracttextdocumentlayout.h.
|
friend |
Definition at line 93 of file qabstracttextdocumentlayout.h.
|
friend |
Definition at line 94 of file qabstracttextdocumentlayout.h.
|
friend |
Definition at line 95 of file qabstracttextdocumentlayout.h.
|
friend |
Definition at line 90 of file qabstracttextdocumentlayout.h.