File indexing completed on 2024-06-16 04:46:58
0001 /* 0002 SPDX-FileCopyrightText: 2014-2016 Christian Dávid <christian-david@web.de> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 #ifndef IBANBICITEMDELEGATE_H 0007 #define IBANBICITEMDELEGATE_H 0008 0009 #include "kmm_base_widgets_export.h" 0010 0011 #include <QStyledItemDelegate> 0012 0013 #include "payeeidentifier/payeeidentifiertyped.h" 0014 #include "payeeidentifier/ibanbic/ibanbic.h" 0015 0016 class KMM_BASE_WIDGETS_EXPORT ibanBicItemDelegate : public QStyledItemDelegate 0017 { 0018 Q_OBJECT 0019 0020 public: 0021 explicit ibanBicItemDelegate(QObject* parent = nullptr, const QVariantList& args = QVariantList()); 0022 void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const override; 0023 QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const override; 0024 QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index) const override; 0025 void setEditorData(QWidget* editor, const QModelIndex& index) const override; 0026 void setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const override; 0027 void updateEditorGeometry(QWidget* editor, const QStyleOptionViewItem& option, const QModelIndex& index) const override; 0028 0029 private: 0030 inline payeeIdentifierTyped<payeeIdentifiers::ibanBic> ibanBicByIndex(const QModelIndex& index) const; 0031 }; 0032 0033 #endif // IBANBICITEMDELEGATE_H