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

Plasma

  • Plasma
  • Delegate
Public Types | Public Member Functions | Protected Member Functions | List of all members
Plasma::Delegate Class Reference

#include <Plasma/Delegate>

Inheritance diagram for Plasma::Delegate:
Inheritance graph
[legend]

Public Types

enum  ColumnType { MainColumn = 1, SecondaryActionColumn = 2 }
 
enum  SpecificRoles { SubTitleRole = Qt::UserRole + 1, SubTitleMandatoryRole = Qt::UserRole + 2, ColumnTypeRole = Qt::UserRole + 3 }
 

Public Member Functions

 Delegate (QObject *parent=0)
 
 ~Delegate ()
 
virtual void paint (QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
 
int roleMapping (SpecificRoles role) const
 
void setRoleMapping (SpecificRoles role, int actual)
 
bool showToolTip () const
 

Protected Member Functions

QRect emptyRect (const QStyleOptionViewItem &option, const QModelIndex &index) const
 
QRect rectAfterSubTitle (const QStyleOptionViewItem &option, const QModelIndex &index) const
 
QRect rectAfterTitle (const QStyleOptionViewItem &option, const QModelIndex &index) const
 
virtual QSize sizeHint (const QStyleOptionViewItem &option, const QModelIndex &index) const
 

Detailed Description

Item delegate for rendering items in Plasma menus implemented with item views.

The delegate makes use of its own data roles that are: SubTitleRole: the text of the subtitle SubTitleMandatoryRole: if the subtitle is to always be displayed (as default the subtitle is displayed only on mouse over) NOTE: if model doesn't return a valid data for SubTitleMandatoryRole (i.e. if it returns QVaraint()) then subtitles will be shown for adjasent items with the same content and not shown otherwise.

ColumnTypeRole: if the column is a main column (with title and subtitle) or a secondary action column (only a little icon that appears on mouse over is displayed)

Definition at line 52 of file delegate.h.

Member Enumeration Documentation

enum Plasma::Delegate::ColumnType
Enumerator
MainColumn 
SecondaryActionColumn 

Definition at line 63 of file delegate.h.

enum Plasma::Delegate::SpecificRoles
Enumerator
SubTitleRole 
SubTitleMandatoryRole 
ColumnTypeRole 

Definition at line 57 of file delegate.h.

Constructor & Destructor Documentation

Plasma::Delegate::Delegate ( QObject *  parent = 0)

Definition at line 145 of file delegate.cpp.

Plasma::Delegate::~Delegate ( )

Definition at line 154 of file delegate.cpp.

Member Function Documentation

QRect Plasma::Delegate::emptyRect ( const QStyleOptionViewItem &  option,
const QModelIndex &  index 
) const
protected

Returns the empty area after both the title and the subtitle.

The height is the height of the item. It can be used by subclasses that wants to paint additional data

Parameters
optionoptions for the title and subtitle text
indexmodel index that we want to compute the free area

Definition at line 207 of file delegate.cpp.

void Plasma::Delegate::paint ( QPainter *  painter,
const QStyleOptionViewItem &  option,
const QModelIndex &  index 
) const
virtual

Definition at line 218 of file delegate.cpp.

QRect Plasma::Delegate::rectAfterSubTitle ( const QStyleOptionViewItem &  option,
const QModelIndex &  index 
) const
protected

Returns the empty area after the subtitle.

The height is the height of the subtitle. It can be used by subclasses, that wants to paint additional data.

Parameters
optionoptions for the subtitle text
indexmodel index that we want to compute the free area

Definition at line 188 of file delegate.cpp.

QRect Plasma::Delegate::rectAfterTitle ( const QStyleOptionViewItem &  option,
const QModelIndex &  index 
) const
protected

Returns the empty area after the title.

The height is the height of the subtitle. It can be used by subclasses that wants to paint additional data after calling the paint function of the superclass.

Parameters
optionoptions for the title text
indexmodel index that we want to compute the free area

Definition at line 169 of file delegate.cpp.

int Plasma::Delegate::roleMapping ( SpecificRoles  role) const

Definition at line 164 of file delegate.cpp.

void Plasma::Delegate::setRoleMapping ( SpecificRoles  role,
int  actual 
)

Maps an arbitrary role to a role belonging to SpecificRoles.

Using this function you can use any model with this delegate.

Parameters
rolea role belonging to SpecificRoles
actualan arbitrary role of the model we are using

Definition at line 159 of file delegate.cpp.

bool Plasma::Delegate::showToolTip ( ) const
Returns
true if a tooltip should be shown

Definition at line 485 of file delegate.cpp.

QSize Plasma::Delegate::sizeHint ( const QStyleOptionViewItem &  option,
const QModelIndex &  index 
) const
protectedvirtual

Definition at line 461 of file delegate.cpp.


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

KDE's Doxygen guidelines are available online.

Plasma

Skip menu "Plasma"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • 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