Files
qt5-legatus-legacy/Lts/Viewer/SituationMap/SymbologyGui/field_table_model.h
T
2026-08-13 18:33:10 +02:00

48 lines
1.4 KiB
C++
Executable File

/**
*
* @RDE_HEADER@
* Helper model for SymbolModificationWidget
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include <QAbstractTableModel>
#include <SituationMap/MapObjects/participant.h>
namespace AdvancedSymbology
{
namespace Gui
{
class FieldTableModel : public QAbstractTableModel
{
Q_OBJECT
public:
using QAbstractTableModel::QAbstractTableModel;
int columnCount(const QModelIndex &parent = QModelIndex()) const override;
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
const QMap<QString, QVariant> &fieldAttrMap() const { return m_fieldValueMap; }
bool setFieldAttrMap(const QMap<QString, QVariant> &fieldAttrMap);
void setFieldAttribute(const QString &key, const QString &value);
void setFieldAttribute(SituationMap::Participant::TextModifier textMod, const QString &value);
void removeFieldAttrMap(const QString &key);
QString fieldAttribute(const QString &key) const;
QString fieldAttribute(SituationMap::Participant::TextModifier textMod);
private:
static QString participantAttributeKey(SituationMap::Participant::TextModifier textMod);
private:
QStringList m_fieldKeys;
QMap<QString, QVariant> m_fieldValueMap;
}; // FieldTableModel
} // namespace Gui
} // namespace AdvancedSymbology