src/linetypes/metacommand.cpp

Tue, 28 Sep 2021 23:07:23 +0300

author
Teemu Piippo <teemu@hecknology.net>
date
Tue, 28 Sep 2021 23:07:23 +0300
changeset 145
4dea24d3eda0
parent 141
185eb297dc1e
child 158
5bd755eaa5a8
permissions
-rw-r--r--

Use QSaveFile to save the file more safely

#include "metacommand.h"

ldraw::MetaCommand::MetaCommand(QStringView text) :
	Object{},
	storedText{text.toString()} {}

QVariant ldraw::MetaCommand::getProperty(Property property) const
{
	switch (property)
	{
	case Property::Text:
		return storedText;
	default:
		return Object::getProperty(property);
	}
}

void ldraw::MetaCommand::setProperty(ldraw::Object::SetPropertyResult* result, const PropertyKeyValue& pair)
{
	LDRAW_OBJECT_HANDLE_SET_PROPERTY(Text, {this->storedText = value;});
	BaseClass::setProperty(result, pair);
}

QString ldraw::MetaCommand::textRepresentation() const
{
	return this->storedText;
}

ldraw::Object::Type ldraw::MetaCommand::typeIdentifier() const
{
	return Type::MetaCommand;
}

/**
 * @brief @overload ldraw::Object::serialize
 * @param stream
 * @return stream
 */
QDataStream& ldraw::MetaCommand::serialize(QDataStream& stream) const
{
	return ldraw::Object::serialize(stream) << this->storedText;
}

/**
 * @brief @overload ldraw::Object::deserialize
 * @param stream
 * @return stream
 */
QDataStream& ldraw::MetaCommand::deserialize(QDataStream& stream)
{
	return ldraw::Object::deserialize(stream) >> this->storedText;
}

QString ldraw::MetaCommand::toLDrawCode() const
{
	return "0 " + this->storedText;
}

mercurial