digiKam Developer Documentation
Professional Photo Management with the Power of Open Source
Loading...
Searching...
No Matches
Digikam::ItemViewDelegate Class Referenceabstract
Inheritance diagram for Digikam::ItemViewDelegate:

Signals

void hideNotification ()
void requestNotification (const QModelIndex &index, const QString &message)
Signals inherited from Digikam::DItemDelegate
void gridSizeChanged (const QSize &newSize)
void visualChange ()

Public Member Functions

 ItemViewDelegate (QWidget *const parent)
bool acceptsActivation (const QPoint &pos, const QRect &visualRect, const QModelIndex &index, QRect *activationRect=nullptr) const override
bool acceptsToolTip (const QPoint &pos, const QRect &visualRect, const QModelIndex &index, QRect *tooltipRect=nullptr) const override
 These methods take four parameters: The position on viewport, the rect on viewport, the index, and optionally a parameter into which, if the return value is true, a rectangle can be written for which the return value will be true as well.
double displayRatio () const
QSize gridSize () const override
 Returns the gridsize to be set by the view.
virtual QRect imageInformationRect () const
 Returns the area where the image information is drawn, or null if empty / not supported.
void mouseMoved (QMouseEvent *e, const QRect &visualRect, const QModelIndex &index) override
virtual QRect pixmapRect () const
 Returns the area where the pixmap is drawn, or null if not supported.
virtual QRect ratingRect () const
 Returns the rectangle where the rating is drawn, or a null rectangle if not supported.
QRect rect () const
void setDefaultViewOptions (const QStyleOptionViewItem &option) override
 Style option with standard values to use for cached rendering.
void setRatingEdited (const QModelIndex &index)
 Can be used to temporarily disable drawing of the rating.
void setSpacing (int spacing) override
void setThumbnailSize (const ThumbnailSize &thumbSize) override
 You must set these options from the view.
QSize sizeHint (const QStyleOptionViewItem &option, const QModelIndex &index) const override
int spacing () const
ThumbnailSize thumbnailSize () const
Public Member Functions inherited from Digikam::DItemDelegate
 DItemDelegate (QObject *const parent=nullptr)
virtual QPixmap pixmapForDrag (const QStyleOptionViewItem &option, const QList< QModelIndex > &indexes) const =0
Public Member Functions inherited from Digikam::ItemDelegateOverlayContainer
 ItemDelegateOverlayContainer ()=default
 This is a sample implementation for delegate management methods, to be inherited by a delegate.
void installOverlay (ItemDelegateOverlay *overlay)
void mouseMoved (QMouseEvent *e, const QRect &visualRect, const QModelIndex &index)
QList< ItemDelegateOverlay * > overlays () const
void removeAllOverlays ()
void removeOverlay (ItemDelegateOverlay *overlay)
void setAllOverlaysActive (bool active)
void setViewOnAllOverlays (QAbstractItemView *view)

Protected Slots

void overlayDestroyed (QObject *o) override
void slotSetupChanged ()
void slotThemeChanged ()

Protected Member Functions

 ItemViewDelegate (ItemViewDelegatePrivate &dd, QWidget *const parent)
QAbstractItemDelegate * asDelegate () override
void drawAspectRatio (QPainter *p, const QRect &dimsRect, const QSize &dims) const
void drawColorLabelLine (QPainter *p, const QRect &pixRect, int colorId) const
void drawComments (QPainter *p, const QRect &commentsRect, const QString &comments) const
void drawCreationDate (QPainter *p, const QRect &dateRect, const QDateTime &date) const
void drawFileSize (QPainter *p, const QRect &r, qlonglong bytes) const
void drawFocusRect (QPainter *p, const QStyleOptionViewItem &option, bool isSelected) const
void drawGeolocationIndicator (QPainter *p, const QRect &r) const
void drawGroupedRect (QPainter *p, const QStyleOptionViewItem &option) const
void drawGroupIndicator (QPainter *p, const QRect &r, int numberOfGroupedImages, bool open) const
void drawImageFormat (QPainter *p, const QRect &r, const QString &f, bool drawTop) const
void drawImageSize (QPainter *p, const QRect &dimsRect, const QSize &dims) const
void drawModificationDate (QPainter *p, const QRect &dateRect, const QDateTime &date) const
void drawMouseOverRect (QPainter *p, const QStyleOptionViewItem &option) const
void drawName (QPainter *p, const QRect &nameRect, const QString &name) const
void drawPanelSideIcon (QPainter *p, bool left, bool right) const
void drawPickLabelIcon (QPainter *p, const QRect &r, int pickLabel) const
void drawRating (QPainter *p, const QModelIndex &index, const QRect &ratingRect, int rating, bool isSelected) const
void drawSpecialInfo (QPainter *p, const QRect &r, const QString &text) const
void drawTags (QPainter *p, const QRect &r, const QString &tagsString, bool isSelected) const
QRect drawThumbnail (QPainter *p, const QRect &thumbRect, const QPixmap &background, const QPixmap &thumbnail, bool isGrouped) const
 Use the tool methods for painting in subclasses.
void drawTitle (QPainter *p, const QRect &titleRect, const QString &title) const
virtual void invalidatePaintingCache ()
void prepareBackground ()
void prepareFonts ()
void prepareMetrics (int maxWidth)
void prepareRatingPixmaps (bool composeOverBackground=true)
QPixmap ratingPixmap (int rating, bool selected) const
 Returns the relevant pixmap from the cached rating pixmaps.
virtual void updateSizeRectsAndPixmaps ()=0
Protected Member Functions inherited from Digikam::DItemDelegate
virtual void clearCaches ()
QString squeezedTextCached (QPainter *const p, int width, const QString &text) const
QPixmap thumbnailBorderPixmap (const QSize &pixSize, bool isGrouped=false) const
Protected Member Functions inherited from Digikam::ItemDelegateOverlayContainer
virtual void drawOverlays (QPainter *p, const QStyleOptionViewItem &option, const QModelIndex &index) const
virtual void overlayDestroyed (QObject *o)
 Declare as slot in the derived class calling this method.

Protected Attributes

ItemViewDelegatePrivate *const d_ptr = nullptr
Protected Attributes inherited from Digikam::ItemDelegateOverlayContainer
QList< ItemDelegateOverlay * > m_overlays

Additional Inherited Members

Static Public Member Functions inherited from Digikam::DItemDelegate
static QPixmap makeDragPixmap (const QStyleOptionViewItem &option, const QList< QModelIndex > &indexes, double displayRatio, const QPixmap &suggestedPixmap=QPixmap())
static QString squeezedText (const QFontMetrics &fm, int width, const QString &text)

Member Function Documentation

◆ acceptsActivation()

bool Digikam::ItemViewDelegate::acceptsActivation ( const QPoint & pos,
const QRect & visualRect,
const QModelIndex & index,
QRect * activationRect = nullptr ) const
overridevirtual

◆ acceptsToolTip()

bool Digikam::ItemViewDelegate::acceptsToolTip ( const QPoint & pos,
const QRect & visualRect,
const QModelIndex & index,
QRect * tooltipRect = nullptr ) const
overridevirtual

◆ asDelegate()

QAbstractItemDelegate * Digikam::ItemViewDelegate::asDelegate ( )
overrideprotectedvirtual
Returns
the delegate, typically, the derived class

Implements Digikam::ItemDelegateOverlayContainer.

◆ gridSize()

QSize Digikam::ItemViewDelegate::gridSize ( ) const
overridevirtual

It's sizeHint plus spacing.

Implements Digikam::DItemDelegate.

◆ imageInformationRect()

QRect Digikam::ItemViewDelegate::imageInformationRect ( ) const
virtual

The image information is textual or graphical information, but not the pixmap. The ratingRect() will e.g. typically be contained in this area.

Reimplemented in Digikam::ItemDelegate.

◆ mouseMoved()

void Digikam::ItemViewDelegate::mouseMoved ( QMouseEvent * e,
const QRect & visualRect,
const QModelIndex & index )
overridevirtual
Note
to be called by ItemViewCategorized only

Implements Digikam::DItemDelegate.

◆ pixmapRect()

QRect Digikam::ItemViewDelegate::pixmapRect ( ) const
virtual

Reimplemented in Digikam::ItemDelegate.

◆ setDefaultViewOptions()

void Digikam::ItemViewDelegate::setDefaultViewOptions ( const QStyleOptionViewItem & option)
overridevirtual

option.rect shall be the viewport rectangle. Call on resize, font change.

Implements Digikam::DItemDelegate.

◆ setRatingEdited()

void Digikam::ItemViewDelegate::setRatingEdited ( const QModelIndex & index)

Call with QModelIndex() afterwards.

◆ setSpacing()

void Digikam::ItemViewDelegate::setSpacing ( int spacing)
overridevirtual

◆ setThumbnailSize()

void Digikam::ItemViewDelegate::setThumbnailSize ( const ThumbnailSize & thumbSize)
overridevirtual