0
0
mirror of https://github.com/fralx/LimeReport.git synced 2025-03-13 22:03:47 +03:00
LimeReport/limereport/objectinspector/propertyItems/lrsvgpropitem.cpp

48 lines
1.7 KiB
C++
Raw Permalink Normal View History

2020-03-18 13:34:11 +03:00
#include "lrsvgpropitem.h"
2020-03-18 13:34:11 +03:00
#include "editors/lrsvgeditor.h"
namespace {
LimeReport::ObjectPropItem* createSvgPropItem(QObject* object,
LimeReport::ObjectPropItem::ObjectsList* objects,
const QString& name, const QString& displayName,
const QVariant& data,
LimeReport::ObjectPropItem* parent, bool readonly)
2020-03-18 13:34:11 +03:00
{
return new LimeReport::SvgPropItem(object, objects, name, displayName, data, parent, readonly);
}
bool VARIABLE_IS_NOT_USED registredImageProp
= LimeReport::ObjectPropFactory::instance().registerCreator(
LimeReport::APropIdent("image", "LimeReport::SVGItem"), QObject::tr("image"),
createSvgPropItem);
} // namespace
2020-03-18 13:34:11 +03:00
namespace LimeReport {
2020-03-18 13:34:11 +03:00
QWidget* SvgPropItem::createProperyEditor(QWidget* parent) const { return new SvgEditor(parent); }
2020-03-18 13:34:11 +03:00
QString SvgPropItem::displayValue() const
{
return (propertyValue().isNull()) ? "" : QObject::tr("image");
}
void SvgPropItem::setPropertyEditorData(QWidget* propertyEditor, const QModelIndex&) const
2020-03-18 13:34:11 +03:00
{
SvgEditor* editor = qobject_cast<SvgEditor*>(propertyEditor);
2020-03-18 13:34:11 +03:00
editor->setImage(propertyValue().value<QByteArray>());
}
void SvgPropItem::setModelData(QWidget* propertyEditor, QAbstractItemModel* model,
const QModelIndex& index)
2020-03-18 13:34:11 +03:00
{
model->setData(index, qobject_cast<SvgEditor*>(propertyEditor)->image());
object()->setProperty(propertyName().toLatin1(), propertyValue());
2020-03-18 13:34:11 +03:00
}
QIcon SvgPropItem::iconValue() const
{
return QIcon(QPixmap::fromImage(propertyValue().value<QImage>()));
}
} // namespace LimeReport