Serializable
Qualified name: mv::util::Serializable
-
class Serializable
Serializable class.
Serialize objects using Qt variants.
- Author
Thomas Kroes
Subclassed by mv::AbstractManager, mv::Application, mv::BiMap, mv::CoreApplication, mv::KeyBasedSelectionGroup, mv::LinkedData, mv::OrderedMap, mv::Project, mv::SelectionMap, mv::SortFilterProxyModel, mv::StandardItemModel, mv::Task, mv::Workspace, mv::gui::ColorMapEditor1DNode, mv::gui::HierarchyWidget, mv::gui::WidgetAction, mv::util::Version
Public Types
Public Functions
-
Serializable(const QString &serializationName = "")
Construct with serialization name.
- Parameters:
serializationName – Serialization name
-
inline virtual ~Serializable()
Destructor.
-
QString getId(bool truncated = false) const
Get globally unique identifier, possibly
truncated.- Parameters:
truncated – Whether to only return the first six characters of the ID
- Returns:
Globally unique identifier of the serializable object
-
void setId(const QString &id)
Set globally unique identifier (only use this function when strictly necessary and when the ramifications are understood, undefined behaviour might happen otherwise)
- Parameters:
id – Globally unique identifier of the serializable object
-
QString getSerializationName() const
Get serialization name.
- Returns:
Serialization name
-
void setSerializationName(const QString &serializationName)
Set serialization name to
name.- Parameters:
serializationName – Serialization name
-
virtual void fromVariantMap(const QVariantMap &variantMap)
Load from variant map.
- Parameters:
variantMap – Variant map
-
virtual void fromParentVariantMap(const QVariantMap &parentVariantMap, bool ignoreLoadingErrors = false)
Load from variant map located in
parentVariantMapat the serialization name.- Parameters:
parentVariantMap – Parent variant map
ignoreLoadingErrors – Whether to ignore loading errors (default: false)
-
virtual QVariantMap toVariantMap() const
Save to variant map.
- Returns:
Variant map
-
void insertIntoVariantMap(QVariantMap &variantMap) const
Save into
variantMap.- Parameters:
variantMap – Variant map
-
void fromJsonDocument(const QJsonDocument &jsonDocument)
Load widget action from JSON document.
- Parameters:
jsonDocument – The JSON document
-
QJsonDocument toJsonDocument() const
Save widget action to JSON document.
- Returns:
JSON document
-
void fromJsonFile(const QString &filePath = "")
Load from JSON file.
- Parameters:
filePath – Path to the JSON file
-
void toJsonFile(const QString &filePath = "") const
Save to JSON file.
- Parameters:
filePath – Path to the JSON file
-
void makeUnique()
Assigns a fresh new identifier to the serializable object.
-
std::int32_t getSerializationCount(const Direction &direction) const
Get serialization count.
- Parameters:
direction – Serialization direction
- Returns:
Serialization count
-
std::int32_t getSerializationCountFrom() const
Get serialization count from.
- Returns:
Serialization count from
-
std::int32_t getSerializationCountTo() const
Get serialization count to.
- Returns:
Serialization count to
-
inline bool operator==(const Serializable &rhs) const
Equality operator.
- Parameters:
rhs – Right-hand-side operator
-
inline bool operator!=(const Serializable &rhs) const
Inequality operator.
- Parameters:
rhs – Right-hand-side operator
Public Static Functions
-
static QString createId()
Creates a new globally unique identifier for a serializable object.
- Returns:
Globally unique identifier
Protected Static Functions
-
static void fromVariantMap(Serializable *serializable, const QVariantMap &variantMap)
Load serializable object from variant map.
- Parameters:
serializable – Pointer to serializable object
variantMap – The Variant map
-
static void fromVariantMap(Serializable &serializable, const QVariantMap &variantMap, const QString &key)
Load from variant map.
- Parameters:
serializable – Reference to serializable object
variantMap – Variant map
key – Variant map key
-
static QVariantMap toVariantMap(const Serializable *serializable)
Save serializable object to variant map.
- Parameters:
serializable – Pointer to serializable object
- Returns:
Variant map
-
static void insertIntoVariantMap(const Serializable &serializable, QVariantMap &variantMap, const QString &key)
Save
serializableobject invariantMapwithkey.- Parameters:
serializable – Reference to serializable object
variantMap – Variant map
key – Variant map key
-
static void insertIntoVariantMap(const Serializable &serializable, QVariantMap &variantMap)
Save
serializableobject invariantMap.- Parameters:
serializable – Reference to serializable object
variantMap – Variant map