You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
954 B
C++
38 lines
954 B
C++
#ifndef CSM_WOLRD_REFIDADAPTER_H
|
|
#define CSM_WOLRD_REFIDADAPTER_H
|
|
|
|
#include <string>
|
|
|
|
class QVariant;
|
|
|
|
namespace CSMWorld
|
|
{
|
|
class RefIdColumn;
|
|
class RefIdData;
|
|
class RecordBase;
|
|
|
|
class RefIdAdapter
|
|
{
|
|
// not implemented
|
|
RefIdAdapter (const RefIdAdapter&);
|
|
RefIdAdapter& operator= (const RefIdAdapter&);
|
|
|
|
public:
|
|
|
|
RefIdAdapter();
|
|
|
|
virtual ~RefIdAdapter();
|
|
|
|
virtual QVariant getData (const RefIdColumn *column, const RefIdData& data, int idnex)
|
|
const = 0;
|
|
|
|
virtual void setData (const RefIdColumn *column, RefIdData& data, int index,
|
|
const QVariant& value) const = 0;
|
|
///< If the data type does not match an exception is thrown.
|
|
|
|
virtual std::string getId (const RecordBase& record) const = 0;
|
|
virtual void setId(RecordBase& record, const std::string& id) = 0;
|
|
};
|
|
}
|
|
|
|
#endif |