src/linetypes/errorline.cpp

Tue, 28 Sep 2021 22:14:00 +0300

author
Teemu Piippo <teemu@hecknology.net>
date
Tue, 28 Sep 2021 22:14:00 +0300
changeset 143
7b62c52835a1
parent 141
185eb297dc1e
child 158
5bd755eaa5a8
permissions
-rw-r--r--

Fix memory corruption involving document tools.
I don't think that the metaobject-initialization had anything to do with this
but it is a lot simpler without it anyway.

#include <QBrush>
#include "errorline.h"

ldraw::ErrorLine::ErrorLine(QStringView text, QStringView message) :
	text{text.toString()},
	message{message.toString()}
{
}

QVariant ldraw::ErrorLine::getProperty(Property property) const
{
	switch (property)
	{
	case Property::Text:
		return this->text;
	case Property::ErrorMessage:
		return this->message;
	default:
		return Object::getProperty(property);
	}
}

void ldraw::ErrorLine::setProperty(SetPropertyResult* result, const PropertyKeyValue& pair)
{
	LDRAW_OBJECT_HANDLE_SET_PROPERTY(Text, {this->text = value;});
	LDRAW_OBJECT_HANDLE_SET_PROPERTY(ErrorMessage, {this->message = value;});
	BaseClass::setProperty(result, pair);
}

QString ldraw::ErrorLine::textRepresentation() const
{
	return this->text;
}

QBrush ldraw::ErrorLine::textRepresentationForeground() const
{
	return QBrush{Qt::yellow};
}

QBrush ldraw::ErrorLine::textRepresentationBackground() const
{
	return QBrush{Qt::red};
}

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

QDataStream &ldraw::ErrorLine::serialize(QDataStream &stream) const
{
	return ldraw::Object::serialize(stream) << this->text;
}

QDataStream &ldraw::ErrorLine::deserialize(QDataStream &stream)
{
	return ldraw::Object::deserialize(stream) >> this->text;
}

QString ldraw::ErrorLine::toLDrawCode() const
{
	return this->text;
}

mercurial