| digiKam Developer Documentation Professional Photo Management with the Power of Open Source

Loading...
Searching...
No Matches
Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes | List of all members
Digikam::AbstractWidgetDelegateOverlay Class Referenceabstract
Inheritance diagram for Digikam::AbstractWidgetDelegateOverlay:

## Public Member Functions
| AbstractWidgetDelegateOverlay (QObject *const parent)
| This class provides functionality for using a widget in an overlay.
void | setActive (bool active) override
| If active is true, this will call createWidget(), initialize the widget for use, and setup connections for the virtual slots.
Public Member Functions inherited from Digikam::ItemDelegateOverlay
| ItemDelegateOverlay (QObject *const parent=nullptr)
virtual bool | acceptsDelegate (QAbstractItemDelegate *) const
QAbstractItemDelegate * | delegate () const
virtual void | mouseMoved (QMouseEvent *e, const QRect &visualRect, const QModelIndex &index)
| Only these two methods are implemented as virtual methods.
virtual void | paint (QPainter *p, const QStyleOptionViewItem &option, const QModelIndex &index)
void | setDelegate (QAbstractItemDelegate *delegate)
void | setView (QAbstractItemView *view)
QAbstractItemView * | view () const

## Protected Slots
virtual void | slotEntered (const QModelIndex &index)
| Default implementation shows the widget iff the index is valid and checkIndex returns true.
virtual void | slotLayoutChanged ()
virtual void | slotReset ()
| Default implementations of these three slots call hide()
virtual void | slotRowsRemoved (const QModelIndex &parent, int start, int end)
virtual void | slotViewportEntered ()
Protected Slots inherited from Digikam::ItemDelegateOverlay
virtual void | visualChange ()
| Called when any change from the delegate occurs - when the overlay is installed, when size hints, styles or fonts change.

## Protected Member Functions
virtual bool | checkIndex (const QModelIndex &index) const
bool | checkIndexOnEnter (const QModelIndex &index) const
| Utility method called from slotEntered.
virtual QWidget * | createWidget ()=0
| Create your widget here.
bool | eventFilter (QObject *obj, QEvent *event) override
virtual void | hide ()
| Called when the widget shall be hidden (mouse cursor left index, viewport, uninstalled etc.).
virtual QString | notifyMultipleMessage (const QModelIndex &, int number)
QWidget * | parentWidget () const
virtual void | viewportLeaveEvent (QObject *obj, QEvent *event)
| Called when a QEvent::Leave of the viewport is received.
virtual void | widgetEnterEvent ()
| Called when a QEvent::Enter resp.
void | widgetEnterNotifyMultiple (const QModelIndex &index)
| A sample implementation for above methods.
virtual void | widgetLeaveEvent ()
void | widgetLeaveNotifyMultiple ()
Protected Member Functions inherited from Digikam::ItemDelegateOverlay
QList< QModelIndex > | affectedIndexes (const QModelIndex &index) const
bool | affectsMultiple (const QModelIndex &index) const
| For the context that an overlay can affect multiple items: Assuming the currently overlaid index is given.
int | numberOfAffectedIndexes (const QModelIndex &index) const
bool | viewHasMultiSelection () const
| Utility method.

## Protected Attributes
bool | m_mouseButtonPressedOnWidget = false
QWidget * | m_widget = nullptr
Protected Attributes inherited from Digikam::ItemDelegateOverlay
QAbstractItemDelegate * | m_delegate = nullptr
QAbstractItemView * | m_view = nullptr

## Additional Inherited Members
Signals inherited from Digikam::ItemDelegateOverlay
void | hideNotification ()
void | requestNotification (const QModelIndex &index, const QString &message)
void | update (const QModelIndex &index)

## Constructor & Destructor Documentation

## ◆ AbstractWidgetDelegateOverlay()

Digikam::AbstractWidgetDelegateOverlay::AbstractWidgetDelegateOverlay | ( | QObject *const | parent | ) |
| explicit

You must reimplement at least createWidget to return your widget. Per default it will be shown when the cursor enters an index and hidden when left. Reimplement slotEntered() and mouseMove() for more fine grained control.

## Member Function Documentation

## ◆ checkIndex()

bool Digikam::AbstractWidgetDelegateOverlay::checkIndex | ( | const QModelIndex & | index | ) | const
| protected virtual

Returns
  true here if you want to show the overlay for the given index. The default implementation returns true.

Reimplemented in Digikam::AssignNameOverlay, Digikam::FaceRejectionOverlay, Digikam::GroupIndicatorOverlay, Digikam::ItemCoordinatesOverlay, Digikam::ItemFullScreenOverlay, Digikam::ItemRotateOverlay, Digikam::ShowHideVersionsOverlay, Digikam::ActionVersionsOverlay, ShowFoto::ShowfotoCoordinatesOverlay, Digikam::ImportCoordinatesOverlay, Digikam::ImportLockOverlay, Digikam::ImportDownloadOverlay, and Digikam::ImportRotateOverlay.

## ◆ createWidget()

virtual QWidget * Digikam::AbstractWidgetDelegateOverlay::createWidget | ( |  | ) |
| protected pure virtual

When creating the object, pass parentWidget() as parent widget. Ownership of the object is passed. It will be deleted in setActive(false).

Implemented in Digikam::AssignNameOverlay, Digikam::GroupIndicatorOverlay, Digikam::ItemCoordinatesOverlay, Digikam::ItemRatingOverlay, Digikam::TagsLineEditOverlay, Digikam::HoverButtonDelegateOverlay, ShowFoto::ShowfotoCoordinatesOverlay, Digikam::ImportCoordinatesOverlay, Digikam::ImportLockOverlay, Digikam::ImportDownloadOverlay, and Digikam::ImportRatingOverlay.

## ◆ hide()

void Digikam::AbstractWidgetDelegateOverlay::hide | ( |  | ) |
| protected virtual

Default implementation hide()s m_widget.

Reimplemented in Digikam::ItemRatingOverlay, Digikam::TagsLineEditOverlay, Digikam::PersistentWidgetDelegateOverlay, and Digikam::ImportRatingOverlay.

## ◆ parentWidget()

QWidget * Digikam::AbstractWidgetDelegateOverlay::parentWidget | ( |  | ) | const
| protected

Returns
  the widget to be used as parent for your widget created in createWidget()

## ◆ setActive()

void Digikam::AbstractWidgetDelegateOverlay::setActive | ( | bool | active | ) |
| override virtual

If active is false, this will delete the widget and disconnect all signal from model and view to this object (!)

Reimplemented from Digikam::ItemDelegateOverlay.

Reimplemented in Digikam::FaceRejectionOverlay, Digikam::ItemCoordinatesOverlay, Digikam::ItemFullScreenOverlay, Digikam::ItemRotateOverlay, Digikam::ItemSelectionOverlay, Digikam::ShowHideVersionsOverlay, Digikam::ActionVersionsOverlay, Digikam::HoverButtonDelegateOverlay, Digikam::PersistentWidgetDelegateOverlay, ShowFoto::ShowfotoCoordinatesOverlay, Digikam::ImportCoordinatesOverlay, Digikam::ImportLockOverlay, Digikam::ImportDownloadOverlay, Digikam::ImportRotateOverlay, Digikam::AssignNameOverlay, Digikam::GroupIndicatorOverlay, Digikam::ItemRatingOverlay, Digikam::TagsLineEditOverlay, and Digikam::ImportRatingOverlay.

## ◆ slotEntered

void Digikam::AbstractWidgetDelegateOverlay::slotEntered | ( | const QModelIndex & | index | ) |
| protected virtual slot

Reimplemented in Digikam::GroupIndicatorOverlay, Digikam::ItemCoordinatesOverlay, Digikam::ItemRatingOverlay, Digikam::TagsLineEditOverlay, Digikam::PersistentWidgetDelegateOverlay, ShowFoto::ShowfotoCoordinatesOverlay, Digikam::ImportCoordinatesOverlay, Digikam::ImportLockOverlay, Digikam::ImportDownloadOverlay, and Digikam::ImportRatingOverlay.

## ◆ slotReset

void Digikam::AbstractWidgetDelegateOverlay::slotReset | ( |  | ) |
| protected virtual slot

Reimplemented in Digikam::PersistentWidgetDelegateOverlay.

## ◆ viewportLeaveEvent()

void Digikam::AbstractWidgetDelegateOverlay::viewportLeaveEvent | ( | QObject * | obj,
|  | QEvent * | event
| ) |  |
| protected virtual

The default implementation hide()s.

Reimplemented in Digikam::AssignNameOverlay, and Digikam::PersistentWidgetDelegateOverlay.

## ◆ widgetEnterEvent()

void Digikam::AbstractWidgetDelegateOverlay::widgetEnterEvent | ( |  | ) |
| protected virtual

QEvent::Leave event for the widget is received. The default implementation does nothing.

Reimplemented in Digikam::AssignNameOverlay, Digikam::FaceRejectionOverlay, Digikam::ItemFullScreenOverlay, Digikam::ItemRatingOverlay, Digikam::ItemRotateOverlay, Digikam::ImportRatingOverlay, and Digikam::ImportRotateOverlay.