• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdelibs API Reference
  • KDE Home
  • Contact Us
 

KTextEditor

  • KTextEditor
  • AnnotationModel
Signals | Public Member Functions | List of all members
KTextEditor::AnnotationModel Class Referenceabstract

#include <annotationinterface.h>

Inheritance diagram for KTextEditor::AnnotationModel:
Inheritance graph
[legend]

Signals

void lineChanged (int line)
 
void reset ()
 

Public Member Functions

virtual ~AnnotationModel ()
 
virtual QVariant data (int line, Qt::ItemDataRole role) const =0
 

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

Definition at line 53 of file annotationinterface.h.

Constructor & Destructor Documentation

virtual KTextEditor::AnnotationModel::~AnnotationModel ( )
inlinevirtual

Definition at line 58 of file annotationinterface.h.

Member Function Documentation

virtual QVariant KTextEditor::AnnotationModel::data ( int  line,
Qt::ItemDataRole  role 
) const
pure virtual

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
linethe line for which the data is to be retrieved
rolethe role to identify which kind of annotation is to be retrieved
Returns
a QVariant that contains the data for the given role.
void KTextEditor::AnnotationModel::lineChanged ( int  line)
signal

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.
void KTextEditor::AnnotationModel::reset ( )
signal

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()

The documentation for this class was generated from the following file:
  • annotationinterface.h
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:52:20 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KTextEditor

Skip menu "KTextEditor"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdelibs API Reference

Skip menu "kdelibs API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  • kjsembed
  •   WTF
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Nepomuk-Core
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal