File indexing completed on 2024-04-28 05:48:38

0001 /***************************************************************************
0002  *   This file is part of Kate build plugin                                *
0003  *   SPDX-FileCopyrightText: 2014 Kåre Särs <kare.sars@iki.fi>             *
0004  *                                                                         *
0005  *   SPDX-License-Identifier: LGPL-2.0-or-later                            *
0006  ***************************************************************************/
0007 
0008 #pragma once
0009 
0010 #include <QStyledItemDelegate>
0011 
0012 class TargetHtmlDelegate : public QStyledItemDelegate
0013 {
0014     Q_OBJECT
0015 public:
0016     explicit TargetHtmlDelegate(QObject *parent);
0017     ~TargetHtmlDelegate() override;
0018 
0019     QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
0020     void setEditorData(QWidget *editor, const QModelIndex &index) const override;
0021     void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override;
0022 
0023     void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
0024 
0025     void paint(QPainter *, const QStyleOptionViewItem &, const QModelIndex &) const override;
0026     QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override;
0027 
0028     bool isEditing() const;
0029 
0030 public Q_SLOTS:
0031     void editStarted();
0032     void editEnded();
0033 
0034 Q_SIGNALS:
0035     void sendEditStart() const;
0036 
0037 private:
0038     bool m_isEditing;
0039 };