48 lines
1.4 KiB
C++
Executable File
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
|