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

KDEUI

Public Member Functions | Protected Member Functions | List of all members
KWidgetItemDelegate Class Referenceabstract

#include <kwidgetitemdelegate.h>

Inherits QAbstractItemDelegate.

Public Member Functions

 KWidgetItemDelegate (QAbstractItemView *itemView, QObject *parent=0)
 
virtual ~KWidgetItemDelegate ()
 
QPersistentModelIndex focusedIndex () const
 
QAbstractItemView * itemView () const
 

Protected Member Functions

QList< QEvent::Type > blockedEventTypes (QWidget *widget) const
 
virtual QList< QWidget * > createItemWidgets () const =0
 
void paintWidgets (QPainter *painter, const QStyleOptionViewItem &option, const QPersistentModelIndex &index) const
 
void setBlockedEventTypes (QWidget *widget, QList< QEvent::Type > types) const
 
virtual void updateItemWidgets (const QList< QWidget * > widgets, const QStyleOptionViewItem &option, const QPersistentModelIndex &index) const =0
 

Detailed Description

This class allows to create item delegates embedding simple widgets to interact with items.

For instance you can add push buttons, line edits, etc. to your delegate and use them to modify the state of your model.

Since
4.1

Definition at line 49 of file kwidgetitemdelegate.h.

Constructor & Destructor Documentation

KWidgetItemDelegate::KWidgetItemDelegate ( QAbstractItemView *  itemView,
QObject *  parent = 0 
)
explicit

Creates a new ItemDelegate to be used with a given itemview.

Private class that helps to provide binary compatibility between releases.

Parameters
itemViewthe item view the new delegate will monitor
parentthe parent of this delegate

Definition at line 182 of file kwidgetitemdelegate.cpp.

KWidgetItemDelegate::~KWidgetItemDelegate ( )
virtual

Destroys an ItemDelegate.

Definition at line 204 of file kwidgetitemdelegate.cpp.

Member Function Documentation

QList< QEvent::Type > KWidgetItemDelegate::blockedEventTypes ( QWidget *  widget) const
protected

Retrieves the list of blocked event types for the given widget.

Parameters
widgetthe specified widget.
Returns
the list of blocked event types, can be empty if no events are blocked.

Definition at line 308 of file kwidgetitemdelegate.cpp.

virtual QList<QWidget*> KWidgetItemDelegate::createItemWidgets ( ) const
protectedpure virtual

Creates the list of widgets needed for an item.

Note
No initialization of the widgets is supposed to happen here. The widgets will be initialized based on needs for a given item.
If you want to connect some widget signals to any slot, you should do it here.
If you want to know the index for which you are creating widgets, it is available as a QModelIndex Q_PROPERTY called "goya:creatingWidgetsForIndex". Ensure to add Q_DECLARE_METATYPE(QModelIndex) before your method definition to tell QVariant about QModelIndex.
Returns
the list of newly created widgets which will be used to interact with an item.
See also
updateItemWidgets()
QPersistentModelIndex KWidgetItemDelegate::focusedIndex ( ) const

Retrieves the currently focused index.

An invalid index if none is focused.

Returns
the current focused index, or QPersistentModelIndex() if none is focused.

Definition at line 214 of file kwidgetitemdelegate.cpp.

QAbstractItemView * KWidgetItemDelegate::itemView ( ) const

Retrieves the item view this delegate is monitoring.

Returns
the item view this delegate is monitoring

Definition at line 209 of file kwidgetitemdelegate.cpp.

void KWidgetItemDelegate::paintWidgets ( QPainter *  painter,
const QStyleOptionViewItem &  option,
const QPersistentModelIndex &  index 
) const
protected

Paint the widgets of the item.

This method is meant to be used in the paint() method of your item delegate implementation.

Parameters
painterthe painter the widgets will be painted on.
optionthe current set of style options for the view.
indexthe model index of the item currently painted.
Warning
since 4.2 this method is not longer needed to be called. All widgets will kept updated without the need of calling paintWidgets() in your paint() event. For the widgets of a certain index to be updated your model has to emit dataChanged() on the indexes that want to be updated.

Definition at line 226 of file kwidgetitemdelegate.cpp.

void KWidgetItemDelegate::setBlockedEventTypes ( QWidget *  widget,
QList< QEvent::Type >  types 
) const
protected

Sets the list of event types that a widget will block.

Blocked events are not passed to the view. This way you can prevent an item from being selected when a button is clicked for instance.

Parameters
widgetthe widget which must block events
typesthe list of event types the widget must block

Definition at line 303 of file kwidgetitemdelegate.cpp.

virtual void KWidgetItemDelegate::updateItemWidgets ( const QList< QWidget * >  widgets,
const QStyleOptionViewItem &  option,
const QPersistentModelIndex &  index 
) const
protectedpure virtual

Updates a list of widgets for its use inside of the delegate (painting or event handling).

Note
All the positioning and sizing should be done in item coordinates.
Warning
Do not make widget connections in here, since this method will be called very regularly.
Parameters
widgetsthe widgets to update
optionthe current set of style options for the view.
indexthe model index of the item currently manipulated.

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

KDE's Doxygen guidelines are available online.

KDEUI

Skip menu "KDEUI"
  • 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