File indexing completed on 2024-05-12 05:17:28

0001 /*
0002     SPDX-FileCopyrightText: 2021 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef STANDARDITEMMODELHELPER_H
0008 #define STANDARDITEMMODELHELPER_H
0009 
0010 #include <cstdint>
0011 
0012 class QMetaObject;
0013 class QStandardItem;
0014 class QStandardItemModel;
0015 class QString;
0016 class QVariant;
0017 
0018 /** Utility functions for producing QStandardItemModel content. */
0019 namespace StandardItemModelHelper
0020 {
0021 
0022 void clearContent(QStandardItemModel *model);
0023 
0024 QStandardItem* addEntry(const QString &key, const QString &value, QStandardItem *parent);
0025 
0026 void fillFromGadget(const QVariant &value, QStandardItem *parent);
0027 void fillFromGadget(const QMetaObject *mo, const void *gadget, QStandardItem *parent);
0028 template <typename T>
0029 inline void fillFromGadget(const T &value, QStandardItem *parent)
0030 {
0031     return fillFromGadget(&T::staticMetaObject, &value, parent);
0032 }
0033 template <typename T>
0034 inline void fillFromGadget(const T *value, QStandardItem *parent)
0035 {
0036     return fillFromGadget(&T::staticMetaObject, value, parent);
0037 }
0038 
0039 QString dataToHex(const uint8_t *data, int size, int offset = 0);
0040 
0041 }
0042 
0043 #endif // STANDARDITEMMODELHELPER_H