/* uat_delegate.h * Delegates for editing various field types in a UAT record. * * Copyright 2016 Peter Wu * * Wireshark - Network traffic analyzer * By Gerald Combs * Copyright 1998 Gerald Combs * * SPDX-License-Identifier: GPL-2.0+*/ #ifndef UAT_DELEGATE_H #define UAT_DELEGATE_H #include #include #include #include #include class UatDelegate : public QStyledItemDelegate { Q_OBJECT public: UatDelegate(QObject *parent = 0); QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const; void setEditorData(QWidget *editor, const QModelIndex &index) const; void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const; void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const; private slots: void applyDirectory(const QModelIndex& index); void applyFilename(const QModelIndex& index); void applyColor(const QModelIndex& index); private: uat_field_t *indexToField(const QModelIndex &index) const; }; #endif // UAT_DELEGATE_H