swift
viewbaseitemdelegate.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2016 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
4 #include "viewbaseitemdelegate.h"
5 
6 #include "viewbase.h"
7 
8 namespace swift::gui::views
9 {
10  void CViewBaseItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
11  const QModelIndex &index) const
12  {
13  const bool isMouseOver = option.state & QStyle::State_MouseOver;
14  viewBase()->mouseOverCallback(index, isMouseOver);
15  QStyledItemDelegate::paint(painter, option, index);
16  }
17 
18  QSize CViewBaseItemDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
19  {
20  return QStyledItemDelegate::sizeHint(option, index);
21  }
22 
23  CViewBaseNonTemplate *CViewBaseItemDelegate::viewBase() const
24  {
25  return qobject_cast<CViewBaseNonTemplate *>(this->parent());
26  }
27 } // namespace swift::gui::views
virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
virtual QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
Non templated base class, allows Q_OBJECT and signals / slots to be used.
Definition: viewbase.h:87
virtual void mouseOverCallback(const QModelIndex &index, bool mouseOver)=0
From delegate indicating we are in mouse over state.
Views, mainly QTableView.