4namespace ehm_dal::database {
13namespace ehm_dal::schema {
55 inline virtual bool init() = 0;
59 inline virtual bool deletable()
const {
return false; }
60 template<IntegralNumber T>
61 QVariant fromHexVector(
const std::vector<T> &raw_data,
const qint32 role)
const;
68 QVariant
fromValue(
const QVariant &value,
const qint32 role)
const;
72template<IntegralNumber T>
73QVariant AbstractTableItem::fromHexVector(
const std::vector<T> &raw_data,
const qint32 role)
const
75 if (role != Qt::DisplayRole)
79 for (
const auto &itr : raw_data)
80 buffer << QString(
"%1").arg(
static_cast<quint8
>(itr), 2, 16, QLatin1Char(
'0'));
82 return buffer.join(QStringLiteral(
" "));
The DatabaseVersion class represents the database version number.
Definition: database_version.h:12
The AbstractTableItem class represents a row in a Table with no primary key (id/uid) field.
Definition: abstract_table_item.h:23
virtual ~AbstractTableItem()
Default destructor.
virtual bool init()=0
Initialises the table item members. This only needs to be called once per item.
QVariant fromValue(const QVariant &value, const qint32 role) const
Returns a value as a QVariant if the role is Qt::DisplayRole or Qt::EditRole. A blank QVariant is ret...
virtual bool read(QDataStream &in, ehm_dal::database::DatabaseVersion &version)
Reads a table row from the QDataStream.
virtual bool write(QDataStream &out, ehm_dal::database::DatabaseVersion &version)
Writes a table row to the QDataStream.
AbstractTableItem()
Default constructor.
Definition: abstract_table_item.h:16