digiKam
Digikam::GroupIndicatorOverlay Class Reference
+ Inheritance diagram for Digikam::GroupIndicatorOverlay:

Signals

void hideNotification ()
 
void requestNotification (const QModelIndex &index, const QString &message)
 
void showButtonContextMenu (const QModelIndex &index, QContextMenuEvent *event)
 
void toggleGroupOpen (const QModelIndex &index)
 
void update (const QModelIndex &index)
 

Public Member Functions

virtual bool acceptsDelegate (QAbstractItemDelegate *) const
 
GroupIndicatorOverlayWidgetbuttonWidget () const
 
QAbstractItemDelegate * delegate () const
 
 GroupIndicatorOverlay (QObject *const parent)
 
virtual void mouseMoved (QMouseEvent *e, const QRect &visualRect, const QModelIndex &index)
 
virtual void paint (QPainter *p, const QStyleOptionViewItem &option, const QModelIndex &index)
 
void setDelegate (QAbstractItemDelegate *delegate)
 
void setView (QAbstractItemView *view)
 
QAbstractItemView * view () const
 

Protected Slots

void slotButtonClicked ()
 
void slotButtonContextMenu (QContextMenuEvent *event)
 
virtual void slotLayoutChanged ()
 
virtual void slotReset ()
 
virtual void slotRowsRemoved (const QModelIndex &parent, int start, int end)
 
virtual void slotViewportEntered ()
 

Protected Member Functions

QList< QModelIndex > affectedIndexes (const QModelIndex &index) const
 
bool affectsMultiple (const QModelIndex &index) const
 
bool checkIndex (const QModelIndex &index) const override
 
bool checkIndexOnEnter (const QModelIndex &index) const
 
QWidget * createWidget () override
 
bool eventFilter (QObject *obj, QEvent *event) override
 
virtual void hide ()
 
virtual QString notifyMultipleMessage (const QModelIndex &, int number)
 
int numberOfAffectedIndexes (const QModelIndex &index) const
 
QWidget * parentWidget () const
 
void setActive (bool) override
 
void slotEntered (const QModelIndex &index) override
 
void updatePosition ()
 
void updateRating ()
 
bool viewHasMultiSelection () const
 
virtual void viewportLeaveEvent (QObject *obj, QEvent *event)
 
void visualChange () override
 
virtual void widgetEnterEvent ()
 
void widgetEnterNotifyMultiple (const QModelIndex &index)
 
virtual void widgetLeaveEvent ()
 
void widgetLeaveNotifyMultiple ()
 

Protected Attributes

QAbstractItemDelegate * m_delegate
 
QPersistentModelIndex m_index
 
bool m_mouseButtonPressedOnWidget
 
QAbstractItemView * m_view
 
QWidget * m_widget
 

Constructor & Destructor Documentation

◆ GroupIndicatorOverlay()

Digikam::GroupIndicatorOverlay::GroupIndicatorOverlay ( QObject *const  parent)
explicit

Member Function Documentation

◆ acceptsDelegate()

virtual bool Digikam::ItemDelegateOverlay::acceptsDelegate ( QAbstractItemDelegate *  ) const
inlinevirtualinherited

◆ affectedIndexes()

◆ affectsMultiple()

bool Digikam::ItemDelegateOverlay::affectsMultiple ( const QModelIndex &  index) const
protectedinherited

For the context that an overlay can affect multiple items: Assuming the currently overlayed index is given. Will an operation affect only the single item, or multiple? If multiple, retrieve the affected selection.

References Digikam::ItemDelegateOverlay::view(), and Digikam::ItemDelegateOverlay::viewHasMultiSelection().

Referenced by Digikam::ItemDelegateOverlay::affectedIndexes(), Digikam::ItemDelegateOverlay::numberOfAffectedIndexes(), and Digikam::AbstractWidgetDelegateOverlay::widgetEnterNotifyMultiple().

◆ buttonWidget()

GroupIndicatorOverlayWidget * Digikam::GroupIndicatorOverlay::buttonWidget ( ) const

◆ checkIndex()

bool Digikam::GroupIndicatorOverlay::checkIndex ( const QModelIndex &  index) const
overrideprotectedvirtual

◆ checkIndexOnEnter()

bool Digikam::AbstractWidgetDelegateOverlay::checkIndexOnEnter ( const QModelIndex &  index) const
protectedinherited

◆ createWidget()

QWidget * Digikam::GroupIndicatorOverlay::createWidget ( )
overrideprotectedvirtual

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

Implements Digikam::AbstractWidgetDelegateOverlay.

References Digikam::AbstractWidgetDelegateOverlay::parentWidget().

◆ delegate()

◆ eventFilter()

◆ hide()

◆ hideNotification

void Digikam::ItemDelegateOverlay::hideNotification ( )
signalinherited

◆ mouseMoved()

void Digikam::ItemDelegateOverlay::mouseMoved ( QMouseEvent *  e,
const QRect &  visualRect,
const QModelIndex &  index 
)
virtualinherited

Only these two methods are implemented as virtual methods. For all other events, connect to the view's signals. There are a few signals specifically for overlays and all QAbstractItemView standard signals.

Referenced by Digikam::ItemDelegateOverlayContainer::mouseMoved().

◆ notifyMultipleMessage()

QString Digikam::AbstractWidgetDelegateOverlay::notifyMultipleMessage ( const QModelIndex &  ,
int  number 
)
protectedvirtualinherited

◆ numberOfAffectedIndexes()

int Digikam::ItemDelegateOverlay::numberOfAffectedIndexes ( const QModelIndex &  index) const
protectedinherited

◆ paint()

void Digikam::ItemDelegateOverlay::paint ( QPainter *  p,
const QStyleOptionViewItem &  option,
const QModelIndex &  index 
)
virtualinherited

◆ parentWidget()

◆ requestNotification

void Digikam::ItemDelegateOverlay::requestNotification ( const QModelIndex &  index,
const QString &  message 
)
signalinherited

◆ setActive()

void Digikam::GroupIndicatorOverlay::setActive ( bool  active)
overrideprotectedvirtual

Called when the overlay was installed and shall begin working, and before it is removed and shall stop. Setup your connections to view and delegate here. You will be disconnected automatically on removal.

Reimplemented from Digikam::ItemDelegateOverlay.

References buttonWidget(), Digikam::AbstractWidgetDelegateOverlay::setActive(), slotButtonClicked(), and slotButtonContextMenu().

◆ setDelegate()

◆ setView()

◆ showButtonContextMenu

void Digikam::GroupIndicatorOverlay::showButtonContextMenu ( const QModelIndex &  index,
QContextMenuEvent *  event 
)
signal

Referenced by slotButtonContextMenu().

◆ slotButtonClicked

void Digikam::GroupIndicatorOverlay::slotButtonClicked ( )
protectedslot

References m_index, and toggleGroupOpen().

Referenced by setActive().

◆ slotButtonContextMenu

void Digikam::GroupIndicatorOverlay::slotButtonContextMenu ( QContextMenuEvent *  event)
protectedslot

References m_index, and showButtonContextMenu().

Referenced by setActive().

◆ slotEntered()

void Digikam::GroupIndicatorOverlay::slotEntered ( const QModelIndex &  index)
overrideprotectedvirtual

Default implementation shows the widget iff the index is valid and checkIndex returns true.

Reimplemented from Digikam::AbstractWidgetDelegateOverlay.

References m_index, Digikam::AbstractWidgetDelegateOverlay::slotEntered(), and updatePosition().

◆ slotLayoutChanged

void Digikam::AbstractWidgetDelegateOverlay::slotLayoutChanged ( )
protectedvirtualslotinherited

◆ slotReset

void Digikam::AbstractWidgetDelegateOverlay::slotReset ( )
protectedvirtualslotinherited

◆ slotRowsRemoved

void Digikam::AbstractWidgetDelegateOverlay::slotRowsRemoved ( const QModelIndex &  parent,
int  start,
int  end 
)
protectedvirtualslotinherited

◆ slotViewportEntered

void Digikam::AbstractWidgetDelegateOverlay::slotViewportEntered ( )
protectedvirtualslotinherited

◆ toggleGroupOpen

void Digikam::GroupIndicatorOverlay::toggleGroupOpen ( const QModelIndex &  index)
signal

Referenced by slotButtonClicked().

◆ update

void Digikam::ItemDelegateOverlay::update ( const QModelIndex &  index)
signalinherited

◆ updatePosition()

void Digikam::GroupIndicatorOverlay::updatePosition ( )
protected

◆ updateRating()

void Digikam::GroupIndicatorOverlay::updateRating ( )
protected

◆ view()

◆ viewHasMultiSelection()

bool Digikam::ItemDelegateOverlay::viewHasMultiSelection ( ) const
protectedinherited

◆ viewportLeaveEvent()

void Digikam::AbstractWidgetDelegateOverlay::viewportLeaveEvent ( QObject *  obj,
QEvent *  event 
)
protectedvirtualinherited

◆ visualChange()

void Digikam::GroupIndicatorOverlay::visualChange ( )
overrideprotectedvirtual

Called when any change from the delegate occurs - when the overlay is installed, when size hints, styles or fonts change

Reimplemented from Digikam::ItemDelegateOverlay.

References Digikam::AbstractWidgetDelegateOverlay::m_widget, and updatePosition().

◆ widgetEnterEvent()

void Digikam::AbstractWidgetDelegateOverlay::widgetEnterEvent ( )
protectedvirtualinherited

Called when a QEvent::Enter resp. QEvent::Leave event for the widget is received. The default implementation does nothing.

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

Referenced by Digikam::AbstractWidgetDelegateOverlay::eventFilter().

◆ widgetEnterNotifyMultiple()

◆ widgetLeaveEvent()

◆ widgetLeaveNotifyMultiple()

Member Data Documentation

◆ m_delegate

QAbstractItemDelegate* Digikam::ItemDelegateOverlay::m_delegate
protectedinherited

◆ m_index

QPersistentModelIndex Digikam::GroupIndicatorOverlay::m_index
protected

◆ m_mouseButtonPressedOnWidget

bool Digikam::AbstractWidgetDelegateOverlay::m_mouseButtonPressedOnWidget
protectedinherited

◆ m_view

◆ m_widget

QWidget* Digikam::AbstractWidgetDelegateOverlay::m_widget
protectedinherited

Referenced by Digikam::TagsLineEditOverlay::addTagsLineEdit(), Digikam::HoverButtonDelegateOverlay::button(), buttonWidget(), Digikam::ItemCoordinatesOverlay::buttonWidget(), ShowFoto::ShowfotoCoordinatesOverlay::buttonWidget(), Digikam::ImportCoordinatesOverlay::buttonWidget(), Digikam::ImportLockOverlay::buttonWidget(), Digikam::ImportDownloadOverlay::buttonWidget(), checkIndex(), Digikam::ItemCoordinatesOverlay::checkIndex(), ShowFoto::ShowfotoCoordinatesOverlay::checkIndex(), Digikam::ImportCoordinatesOverlay::checkIndex(), Digikam::ImportLockOverlay::checkIndex(), Digikam::ImportDownloadOverlay::checkIndex(), Digikam::AbstractWidgetDelegateOverlay::eventFilter(), Digikam::AbstractWidgetDelegateOverlay::hide(), Digikam::TagsLineEditOverlay::hide(), Digikam::PersistentWidgetDelegateOverlay::hide(), Digikam::ItemRatingOverlay::ratingWidget(), Digikam::ImportRatingOverlay::ratingWidget(), Digikam::AbstractWidgetDelegateOverlay::setActive(), Digikam::PersistentWidgetDelegateOverlay::setFocusOnWidget(), Digikam::ItemRatingOverlay::slotDataChanged(), Digikam::ImportRatingOverlay::slotDataChanged(), Digikam::AbstractWidgetDelegateOverlay::slotEntered(), Digikam::ItemRatingOverlay::slotEntered(), Digikam::TagsLineEditOverlay::slotEntered(), Digikam::PersistentWidgetDelegateOverlay::slotEntered(), Digikam::ImportRatingOverlay::slotEntered(), Digikam::ItemRatingOverlay::slotRatingChanged(), Digikam::ImportRatingOverlay::slotRatingChanged(), Digikam::TagsLineEditOverlay::slotTagChanged(), Digikam::AssignNameOverlay::updatePosition(), updatePosition(), Digikam::ItemCoordinatesOverlay::updatePosition(), Digikam::ItemRatingOverlay::updatePosition(), Digikam::TagsLineEditOverlay::updatePosition(), ShowFoto::ShowfotoCoordinatesOverlay::updatePosition(), Digikam::ImportCoordinatesOverlay::updatePosition(), Digikam::ImportLockOverlay::updatePosition(), Digikam::ImportDownloadOverlay::updatePosition(), Digikam::ImportRatingOverlay::updatePosition(), Digikam::ItemRatingOverlay::updateRating(), Digikam::ImportRatingOverlay::updateRating(), Digikam::AssignNameOverlay::viewportLeaveEvent(), Digikam::AssignNameOverlay::visualChange(), visualChange(), Digikam::ItemCoordinatesOverlay::visualChange(), Digikam::ItemRatingOverlay::visualChange(), Digikam::TagsLineEditOverlay::visualChange(), Digikam::HoverButtonDelegateOverlay::visualChange(), ShowFoto::ShowfotoCoordinatesOverlay::visualChange(), Digikam::ImportCoordinatesOverlay::visualChange(), Digikam::ImportLockOverlay::visualChange(), Digikam::ImportDownloadOverlay::visualChange(), and Digikam::ImportRatingOverlay::visualChange().


The documentation for this class was generated from the following files: