KDE 4.9 PyKDE API Reference
  • KDE's Python API
  • Overview
  • PyKDE Home
  • Sitemap
  • Contact Us
 

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.

  • Full Index

Modules

  • akonadi
  • dnssd
  • kdecore
  • kdeui
  • khtml
  • kio
  • knewstuff
  • kparts
  • kutils
  • nepomuk
  • phonon
  • plasma
  • polkitqt
  • solid
  • soprano
This documentation is maintained by Simon Edwards.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal