AnnotationModel Class Reference
from PyKDE4.ktexteditor import *
Inherits: QObject
Namespace: KTextEditor
Detailed Description
An model for providing line annotation information
Introduction
AnnotationModel is a model-like interface that can be implemented to provide annotation information for each line in a document. It provides means to retrieve several kinds of data for a given line in the document.
Implementing a AnnotationModel
The public interface of this class is loosely based on the QAbstractItemModel interfaces. It only has a single method to override which is the data() method to provide the actual data for a line and role combination.
- Since:
- 4.1
- See also:
- KTextEditor.AnnotationInterface, KTextEditor.AnnotationViewInterface
Signals | |
lineChanged (int line) | |
reset () | |
Methods | |
QVariant | data (self, int line, Qt::ItemDataRole role) |
Signal Documentation
lineChanged | ( | int | line | |
) |
The model should emit the signal lineChanged() when a line has to be updated.
- Note:
- Kate Part implementation details: lineChanged() repaints the whole annotation border automatically.
- Signal syntax:
QObject.connect(source, SIGNAL("lineChanged(int)"), target_slot)
reset | ( | ) |
The model should emit the signal reset() when the text of almost all lines changes. In most cases it is enough to call lineChanged().
- Note:
- Kate Part implementation details: Whenever reset() is emitted Kate Part iterates over all lines of the document. Kate Part searches for the longest text to determine the annotation border's width.
- See also:
- lineChanged()
- Signal syntax:
QObject.connect(source, SIGNAL("reset()"), target_slot)
Method Documentation
QVariant data | ( | self, | ||
int | line, | |||
Qt::ItemDataRole | role | |||
) |
- Abstract method:
- This method is abstract and can be overridden but not called directly.
data() is used to retrieve the information needed to present the annotation information from the annotation model. The provider should return useful information for the line and the data role.
The following roles are supported: - Qt.DisplayRole - a short display text to be placed in the border - Qt.TooltipRole - a tooltip information, longer text possible - Qt.BackgroundRole - a brush to be used to paint the background on the border - Qt.ForegroundRole - a brush to be used to paint the text on the border
- Parameters:
-
line the line for which the data is to be retrieved
- Parameters:
-
role the role to identify which kind of annotation is to be retrieved
- Returns:
- a QVariant that contains the data for the given role.