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 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 QString dateToString (const QDateTime &datetime)
 
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