/** * * @RDE_HEADER@ * Helper model for SymbolModificationWidget * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include 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 &fieldAttrMap() const { return m_fieldValueMap; } bool setFieldAttrMap(const QMap &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 m_fieldValueMap; }; // FieldTableModel } // namespace Gui } // namespace AdvancedSymbology