Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QPlainTextDocumentLayout Class Reference

The QPlainTextDocumentLayout class implements a plain text layout for QTextDocument. More...

#include <qplaintextedit.h>

+ Inheritance diagram for QPlainTextDocumentLayout:
+ Collaboration diagram for QPlainTextDocumentLayout:

Public Member Functions

 QPlainTextDocumentLayout (QTextDocument *document)
 Constructs a plain text document layout for the text document.
 
 ~QPlainTextDocumentLayout ()
 Destructs a plain text document layout.
 
void draw (QPainter *, const PaintContext &) override
 \reimp
 
int hitTest (const QPointF &, Qt::HitTestAccuracy) const override
 \reimp
 
int pageCount () const override
 \reimp
 
QSizeF documentSize () const override
 \reimp
 
QRectF frameBoundingRect (QTextFrame *) const override
 \reimp
 
QRectF blockBoundingRect (const QTextBlock &block) const override
 \reimp
 
void ensureBlockLayout (const QTextBlock &block) const
 Ensures that block has a valid layout.
 
void setCursorWidth (int width)
 
int cursorWidth () const
 
void requestUpdate ()
 Requests a complete update on all views.
 
- Public Member Functions inherited from QAbstractTextDocumentLayout
 QAbstractTextDocumentLayout (QTextDocument *doc)
 \variable QAbstractTextDocumentLayout::Selection::format
 
 ~QAbstractTextDocumentLayout ()
 
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
 
void setPaintDevice (QPaintDevice *device)
 Sets the paint device used for rendering the document's layout to the given device.
 
QPaintDevicepaintDevice () const
 Returns the paint device used to render the document's layout.
 
QTextDocumentdocument () 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)
 
QTextObjectInterfacehandlerForObject (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< QStringbindableObjectName ()
 
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).
 
QThreadthread () 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 >
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 >
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 QObjectListchildren () 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< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () 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

void documentChanged (int from, int, int charsAdded) override
 \reimp
 
- Protected Member Functions inherited from QAbstractTextDocumentLayout
 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.
 
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
QObjectsender () 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)
 

Properties

int cursorWidth
 This property specifies the width of the cursor in pixels.
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Friends

class QPlainTextEdit
 
class QPlainTextEditPrivate
 

Additional Inherited Members

- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 
- Signals inherited from QAbstractTextDocumentLayout
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.
 
- 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< QObjectDatad_ptr
 

Detailed Description

The QPlainTextDocumentLayout class implements a plain text layout for QTextDocument.

Since
4.4

\inmodule QtWidgets

A QPlainTextDocumentLayout is required for text documents that can be display or edited in a QPlainTextEdit. See QTextDocument::setDocumentLayout().

QPlainTextDocumentLayout uses the QAbstractTextDocumentLayout API that QTextDocument requires, but redefines it partially in order to support plain text better. For instances, it does not operate on vertical pixels, but on paragraphs (called blocks) instead. The height of a document is identical to the number of paragraphs it contains. The layout also doesn't support tables or nested frames, or any sort of advanced text layout that goes beyond a list of paragraphs with syntax highlighting.

Definition at line 249 of file qplaintextedit.h.

Constructor & Destructor Documentation

◆ QPlainTextDocumentLayout()

QPlainTextDocumentLayout::QPlainTextDocumentLayout ( QTextDocument * document)

Constructs a plain text document layout for the text document.

Definition at line 108 of file qplaintextedit.cpp.

◆ ~QPlainTextDocumentLayout()

QPlainTextDocumentLayout::~QPlainTextDocumentLayout ( )

Destructs a plain text document layout.

Definition at line 114 of file qplaintextedit.cpp.

Member Function Documentation

◆ blockBoundingRect()

QRectF QPlainTextDocumentLayout::blockBoundingRect ( const QTextBlock & block) const
overridevirtual

\reimp

Implements QAbstractTextDocumentLayout.

Definition at line 164 of file qplaintextedit.cpp.

References QRectF::adjust(), QRectF::bottomRight(), QTextLayout::boundingRect(), QAbstractTextDocumentLayout::document(), QTextDocument::documentMargin, QTextBlock::isValid(), QTextBlock::isVisible(), QTextBlock::layout(), QTextLayout::lineAt(), QTextLayout::lineCount(), QTextLine::naturalTextWidth(), QTextBlock::next(), qMax(), QRectF::setWidth(), and QRectF::width().

Referenced by QPlainTextEdit::blockBoundingRect(), QPlainTextEditControl::blockBoundingRect(), documentChanged(), QPlainTextEditControl::hitTest(), and QPlainTextEditPrivate::verticalOffset().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cursorWidth()

int QPlainTextDocumentLayout::cursorWidth ( ) const

Definition at line 207 of file qplaintextedit.cpp.

References d.

◆ documentChanged()

◆ documentSize()

QSizeF QPlainTextDocumentLayout::documentSize ( ) const
overridevirtual

\reimp

Implements QAbstractTextDocumentLayout.

Definition at line 146 of file qplaintextedit.cpp.

References d, and QAbstractTextDocumentLayout::document().

Referenced by documentChanged().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ draw()

void QPlainTextDocumentLayout::draw ( QPainter * ,
const PaintContext &  )
overridevirtual

\reimp

Implements QAbstractTextDocumentLayout.

Definition at line 120 of file qplaintextedit.cpp.

◆ ensureBlockLayout()

void QPlainTextDocumentLayout::ensureBlockLayout ( const QTextBlock & block) const

Ensures that block has a valid layout.

Definition at line 187 of file qplaintextedit.cpp.

References QTextBlock::isValid(), QTextBlock::layout(), and QTextLayout::lineCount().

+ Here is the call graph for this function:

◆ frameBoundingRect()

QRectF QPlainTextDocumentLayout::frameBoundingRect ( QTextFrame * ) const
overridevirtual

\reimp

Implements QAbstractTextDocumentLayout.

Definition at line 155 of file qplaintextedit.cpp.

References d, and qMax().

+ Here is the call graph for this function:

◆ hitTest()

int QPlainTextDocumentLayout::hitTest ( const QPointF & ,
Qt::HitTestAccuracy  ) const
overridevirtual

\reimp

Implements QAbstractTextDocumentLayout.

Definition at line 127 of file qplaintextedit.cpp.

◆ pageCount()

int QPlainTextDocumentLayout::pageCount ( ) const
overridevirtual

\reimp

Implements QAbstractTextDocumentLayout.

Definition at line 140 of file qplaintextedit.cpp.

◆ requestUpdate()

void QPlainTextDocumentLayout::requestUpdate ( )

Requests a complete update on all views.

Definition at line 224 of file qplaintextedit.cpp.

References QAbstractTextDocumentLayout::document(), emit, and QAbstractTextDocumentLayout::update().

+ Here is the call graph for this function:

◆ setCursorWidth()

void QPlainTextDocumentLayout::setCursorWidth ( int width)

Definition at line 201 of file qplaintextedit.cpp.

References d.

Friends And Related Symbol Documentation

◆ QPlainTextEdit

friend class QPlainTextEdit
friend

Definition at line 287 of file qplaintextedit.h.

◆ QPlainTextEditPrivate

friend class QPlainTextEditPrivate
friend

Definition at line 288 of file qplaintextedit.h.

Property Documentation

◆ cursorWidth

QPlainTextDocumentLayout::cursorWidth
readwrite

This property specifies the width of the cursor in pixels.

The default value is 1.

Definition at line 253 of file qplaintextedit.h.


The documentation for this class was generated from the following files: