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