QAbstractTextDocumentLayout

Inherited by: QPlainTextDocumentLayout

Synopsis

Functions

Virtual functions

Signals

Detailed Description

The PySide.QtGui.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 PySide.QtGui.QAbstractTextDocumentLayout to provide custom layout behavior for your text documents.

An instance of the PySide.QtGui.QAbstractTextDocumentLayout subclass can be installed on a PySide.QtGui.QTextDocument object with the PySide.QtGui.QTextDocument.setDocumentLayout() function.

You can insert custom objects into a PySide.QtGui.QTextDocument ; see the PySide.QtGui.QTextObjectInterface class description for details.

class PySide.QtGui.QAbstractTextDocumentLayout(doc)
Parameters:docPySide.QtGui.QTextDocument

Creates a new text document layout for the given document .

PySide.QtGui.QAbstractTextDocumentLayout.anchorAt(pos)
Parameters:posPySide.QtCore.QPointF
Return type:unicode

Returns the reference of the anchor the given position , or an empty string if no anchor exists at that point.

PySide.QtGui.QAbstractTextDocumentLayout.blockBoundingRect(block)
Parameters:blockPySide.QtGui.QTextBlock
Return type:PySide.QtCore.QRectF

Returns the bounding rectangle of block .

PySide.QtGui.QAbstractTextDocumentLayout.document()
Return type:PySide.QtGui.QTextDocument

Returns the text document that this layout is operating on.

PySide.QtGui.QAbstractTextDocumentLayout.documentChanged(from, charsRemoved, charsAdded)
Parameters:
  • fromPySide.QtCore.int
  • charsRemovedPySide.QtCore.int
  • charsAddedPySide.QtCore.int

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 PySide.QtGui.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:

PySide.QtGui.QAbstractTextDocumentLayout.documentSize()
Return type:PySide.QtCore.QSizeF

Returns the total size of the document’s layout.

This information can be used by display widgets to update their scroll bars correctly.

PySide.QtGui.QAbstractTextDocumentLayout.documentSizeChanged(newSize)
Parameters:newSizePySide.QtCore.QSizeF
PySide.QtGui.QAbstractTextDocumentLayout.draw(painter, context)
Parameters:

Draws the layout with the given painter using the given context .

PySide.QtGui.QAbstractTextDocumentLayout.drawInlineObject(painter, rect, object, posInDocument, format)
Parameters:

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.

PySide.QtGui.QAbstractTextDocumentLayout.format(pos)
Parameters:posPySide.QtCore.int
Return type:PySide.QtGui.QTextCharFormat

Returns the character format that is applicable at the given position .

PySide.QtGui.QAbstractTextDocumentLayout.formatIndex(pos)
Parameters:posPySide.QtCore.int
Return type:PySide.QtCore.int

Returns the index of the format at position pos .

PySide.QtGui.QAbstractTextDocumentLayout.frameBoundingRect(frame)
Parameters:framePySide.QtGui.QTextFrame
Return type:PySide.QtCore.QRectF

Returns the bounding rectangle of frame .

PySide.QtGui.QAbstractTextDocumentLayout.handlerForObject(objectType)
Parameters:objectTypePySide.QtCore.int
Return type:PySide.QtGui.QTextObjectInterface

Returns a handler for objects of the given objectType .

PySide.QtGui.QAbstractTextDocumentLayout.hitTest(point, accuracy)
Parameters:
Return type:

PySide.QtCore.int

PySide.QtGui.QAbstractTextDocumentLayout.pageCount()
Return type:PySide.QtCore.int

Returns the number of pages contained in the layout.

PySide.QtGui.QAbstractTextDocumentLayout.pageCountChanged(newPages)
Parameters:newPagesPySide.QtCore.int
PySide.QtGui.QAbstractTextDocumentLayout.paintDevice()
Return type:PySide.QtGui.QPaintDevice

Returns the paint device used to render the document’s layout.

PySide.QtGui.QAbstractTextDocumentLayout.positionInlineObject(item, posInDocument, format)
Parameters:

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.

PySide.QtGui.QAbstractTextDocumentLayout.registerHandler(objectType, component)
Parameters:

Registers the given component as a handler for items of the given objectType .

Note

PySide.QtGui.QAbstractTextDocumentLayout.registerHandler() has to be called once for each object type. This means that there is only one handler for multiple replacement characters of the same object type.

PySide.QtGui.QAbstractTextDocumentLayout.resizeInlineObject(item, posInDocument, format)
Parameters:

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.

PySide.QtGui.QAbstractTextDocumentLayout.setPaintDevice(device)
Parameters:devicePySide.QtGui.QPaintDevice

Sets the paint device used for rendering the document’s layout to the given device .

PySide.QtGui.QAbstractTextDocumentLayout.update([arg__1=QRectF(0., 0., 1000000000., 1000000000.)])
Parameters:arg__1PySide.QtCore.QRectF
PySide.QtGui.QAbstractTextDocumentLayout.updateBlock(block)
Parameters:blockPySide.QtGui.QTextBlock