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

KDEUI

Public Member Functions | Protected Member Functions

KWidgetItemDelegate Class Reference

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

#include <kwidgetitemdelegate.h>

Inherits QAbstractItemDelegate.

List of all members.

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 48 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 158 of file kwidgetitemdelegate.cpp.

KWidgetItemDelegate::~KWidgetItemDelegate ( ) [virtual]

Destroys an ItemDelegate.

Definition at line 180 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 264 of file kwidgetitemdelegate.cpp.

virtual QList<QWidget*> KWidgetItemDelegate::createItemWidgets ( ) const [protected, pure 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.
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 190 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 185 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 202 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 259 of file kwidgetitemdelegate.cpp.

virtual void KWidgetItemDelegate::updateItemWidgets ( const QList< QWidget * >  widgets,
const QStyleOptionViewItem &  option,
const QPersistentModelIndex &  index 
) const [protected, pure 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

KDEUI

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

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.7.3
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal