0
0
mirror of https://github.com/fralx/LimeReport.git synced 2025-03-21 09:43:47 +03:00
LimeReport/limereport/objectinspector/propertyItems/lrcontentpropitem.cpp

48 lines
1.8 KiB
C++
Raw Normal View History

2016-02-17 10:18:19 +03:00
#include "lrcontentpropitem.h"
2016-02-17 10:18:19 +03:00
#include "editors/lrbuttonlineeditor.h"
#include "items/lrtextitemeditor.h"
#include "lrtextitem.h"
2016-02-17 10:18:19 +03:00
#include <QApplication>
namespace {
LimeReport::ObjectPropItem* createContentPropItem(QObject* object,
LimeReport::ObjectPropItem::ObjectsList* objects,
const QString& name, const QString& displayName,
const QVariant& data,
LimeReport::ObjectPropItem* parent, bool readonly)
{
return new LimeReport::ContentPropItem(object, objects, name, displayName, data, parent,
readonly);
}
bool VARIABLE_IS_NOT_USED registredContentProp
= LimeReport::ObjectPropFactory::instance().registerCreator(
LimeReport::APropIdent("content", "LimeReport::TextItem"), QObject::tr("content"),
createContentPropItem);
2016-02-17 10:18:19 +03:00
} // namespace
namespace LimeReport {
QWidget* ContentPropItem::createProperyEditor(QWidget* parent) const
2016-02-17 10:18:19 +03:00
{
return new ContentEditor(object(), object()->objectName() + "." + displayName(), parent);
2016-02-17 10:18:19 +03:00
}
void ContentEditor::editButtonClicked()
{
QDialog* dialog = new QDialog(QApplication::activeWindow());
dialog->setLayout(new QVBoxLayout());
dialog->layout()->setContentsMargins(1, 1, 1, 1);
2016-02-17 10:18:19 +03:00
dialog->setAttribute(Qt::WA_DeleteOnClose);
dialog->setWindowTitle(propertyName());
QWidget* editor = dynamic_cast<BaseDesignIntf*>(m_object)->defaultEditor();
dialog->layout()->addWidget(editor);
dialog->resize(editor->size());
connect(editor, SIGNAL(destroyed()), dialog, SLOT(close()));
connect(editor, SIGNAL(destroyed()), this, SIGNAL(editingFinished()));
2016-02-17 10:18:19 +03:00
dialog->exec();
}
} // namespace LimeReport