diff --git a/common.pri b/common.pri index f65f87b..399d606 100644 --- a/common.pri +++ b/common.pri @@ -3,6 +3,11 @@ CONFIG += zint CONFIG += qjsengine CONFIG += dialogdesigner +ZINT_PATH = $$PWD/3rdparty/zint-2.4.4 +contains(CONFIG,zint){ + DEFINES += HAVE_ZINT +} + greaterThan(QT_MAJOR_VERSION, 4) { QT += uitools } @@ -10,8 +15,6 @@ lessThan(QT_MAJOR_VERSION, 5){ CONFIG += uitools } -ZINT_PATH = $$PWD/3rdparty/zint-2.4.4 - CONFIG(release, debug|release){ message(Release) BUILD_TYPE = release @@ -88,3 +91,5 @@ lessThan(QT_MAJOR_VERSION, 5){ DEFINES += HAVE_UI_LOADER } } + + diff --git a/limereport/limereport.pri b/limereport/limereport.pri index 5d98aab..eedf850 100644 --- a/limereport/limereport.pri +++ b/limereport/limereport.pri @@ -72,6 +72,7 @@ SOURCES += \ $$REPORT_PATH/items/lrtextitemeditor.cpp \ $$REPORT_PATH/items/lrshapeitem.cpp \ $$REPORT_PATH/items/lrtextitem.cpp \ + $$REPORT_PATH/lrfactoryinitializer.cpp \ $$REPORT_PATH/lrbanddesignintf.cpp \ $$REPORT_PATH/lrpageitemdesignintf.cpp \ $$REPORT_PATH/lrpagedesignintf.cpp \ @@ -165,6 +166,7 @@ HEADERS += \ $$REPORT_PATH/items/lrshapeitem.h \ $$REPORT_PATH/items/lrimageitem.h \ $$REPORT_PATH/items/lrsimpletagparser.h \ + $$REPORT_PATH/lrfactoryinitializer.h \ $$REPORT_PATH/lrbanddesignintf.h \ $$REPORT_PATH/lrpageitemdesignintf.h \ $$REPORT_PATH/lrbandsmanager.h \ @@ -214,8 +216,6 @@ FORMS += \ $$REPORT_PATH/lrsettingdialog.ui \ $$REPORT_PATH/scriptbrowser/lrscriptbrowser.ui \ - - RESOURCES += \ $$REPORT_PATH/objectinspector/lobjectinspector.qrc \ $$REPORT_PATH/databrowser/lrdatabrowser.qrc \ diff --git a/limereport/limereport.pro b/limereport/limereport.pro index 6397a71..356cde3 100644 --- a/limereport/limereport.pro +++ b/limereport/limereport.pro @@ -3,6 +3,7 @@ TEMPLATE = lib CONFIG += lib CONFIG += dll +#CONFIG += staticlib CONFIG += create_prl CONFIG += link_prl @@ -12,7 +13,14 @@ macx{ CONFIG += plugin } -DEFINES += LIMEREPORT_EXPORTS +!staticlib:{ + DEFINES += LIMEREPORT_EXPORTS +} + +staticlib:{ + DEFINES += HAVE_STATIC_BUILD + message(STATIC_BUILD) +} EXTRA_FILES += \ $$PWD/lrglobal.cpp \ diff --git a/limereport/lrfactoryinitializer.cpp b/limereport/lrfactoryinitializer.cpp new file mode 100644 index 0000000..d607be5 --- /dev/null +++ b/limereport/lrfactoryinitializer.cpp @@ -0,0 +1,426 @@ +#include "bands/lrdataband.h" +#include "bands/lrgroupbands.h" +#include "bands/lrpagefooter.h" +#include "bands/lrpageheader.h" +#include "bands/lrreportheader.h" +#include "bands/lrreportfooter.h" +#include "bands/lrsubdetailband.h" +#include "bands/lrtearoffband.h" + + +#include "items/lrtextitem.h" +#include "items/lrbarcodeitem.h" +#include "items/lrhorizontallayout.h" +#include "items/lrimageitem.h" +#include "items/lrshapeitem.h" +#include "lrdesignelementsfactory.h" + + +#include "objectinspector/lrobjectpropitem.h" +#include "objectinspector/propertyItems/lrboolpropitem.h" +#include "objectinspector/propertyItems/lrcolorpropitem.h" +#include "objectinspector/propertyItems/lrcontentpropitem.h" +#include "objectinspector/propertyItems/lrdatasourcepropitem.h" +#include "objectinspector/propertyItems/lrenumpropitem.h" +#include "objectinspector/propertyItems/lrflagspropitem.h" +#include "objectinspector/propertyItems/lrfontpropitem.h" +#include "objectinspector/propertyItems/lrgroupfieldpropitem.h" +#include "objectinspector/propertyItems/lrimagepropitem.h" +#include "objectinspector/propertyItems/lrintpropitem.h" +#include "objectinspector/propertyItems/lrqrealpropitem.h" +#include "objectinspector/propertyItems/lrrectproptem.h" +#include "objectinspector/propertyItems/lrstringpropitem.h" +#include "items/lralignpropitem.h" +#include "items/lrsubitemparentpropitem.h" + +#include "serializators/lrxmlbasetypesserializators.h" +#include "serializators/lrxmlqrectserializator.h" +#include "serializators/lrxmlserializatorsfactory.h" + +inline void initResources(){ + Q_INIT_RESOURCE(report); + Q_INIT_RESOURCE(lobjectinspector); + Q_INIT_RESOURCE(lrdatabrowser); + Q_INIT_RESOURCE(items); + Q_INIT_RESOURCE(lrscriptbrowser); +} + +namespace LimeReport{ + +BaseDesignIntf * createDataBand(QObject* owner, LimeReport::BaseDesignIntf* parent){ + return new LimeReport::DataBand(owner,parent); +} +BaseDesignIntf * createHeaderDataBand(QObject* owner, LimeReport::BaseDesignIntf* parent){ + return new LimeReport::DataHeaderBand(owner,parent); +} +BaseDesignIntf * createFooterDataBand(QObject* owner, LimeReport::BaseDesignIntf* parent){ + return new LimeReport::DataFooterBand(owner,parent); +} + +BaseDesignIntf* createGroupHeaderBand(QObject* owner, LimeReport::BaseDesignIntf* parent){ + return new LimeReport::GroupBandHeader(owner,parent); +} + +BaseDesignIntf * createGroupFooterBand(QObject* owner, LimeReport::BaseDesignIntf* parent){ + return new LimeReport::GroupBandFooter(owner,parent); +} + +BaseDesignIntf * createPageHeaderBand(QObject* owner, LimeReport::BaseDesignIntf* parent){ + return new LimeReport::PageHeader(owner,parent); +} + +BaseDesignIntf * createPageFooterBand(QObject* owner, LimeReport::BaseDesignIntf* parent){ + return new LimeReport::PageFooter(owner,parent); +} + +BaseDesignIntf * createSubDetailBand(QObject* owner, LimeReport::BaseDesignIntf* parent){ + return new LimeReport::SubDetailBand(owner,parent); +} + +BaseDesignIntf * createSubDetailHeaderBand(QObject* owner, LimeReport::BaseDesignIntf* parent){ + return new LimeReport::SubDetailHeaderBand(owner,parent); +} + +BaseDesignIntf * createSubDetailFooterBand(QObject* owner, LimeReport::BaseDesignIntf* parent){ + return new LimeReport::SubDetailFooterBand(owner,parent); +} + +BaseDesignIntf * createTearOffBand(QObject* owner, LimeReport::BaseDesignIntf* parent){ + return new LimeReport::TearOffBand(owner,parent); +} + +BaseDesignIntf * createTextItem(QObject* owner, LimeReport::BaseDesignIntf* parent){ + return new LimeReport::TextItem(owner,parent); +} + +BaseDesignIntf * createBarcodeItem(QObject* owner, LimeReport::BaseDesignIntf* parent){ + return new BarcodeItem(owner,parent); +} + +BaseDesignIntf* createHLayout(QObject *owner, LimeReport::BaseDesignIntf *parent) +{ + return new HorizontalLayout(owner, parent); +} + +BaseDesignIntf * createImageItem(QObject* owner, LimeReport::BaseDesignIntf* parent){ + return new ImageItem(owner,parent); +} + +BaseDesignIntf * createShapeItem(QObject* owner, LimeReport::BaseDesignIntf* parent){ + return new ShapeItem(owner,parent); +} + +void initReportItems(){ + initResources(); + DesignElementsFactory::instance().registerCreator( + "TextItem", + LimeReport::ItemAttribs(QObject::tr("Text Item"),"TextItem"), + createTextItem + ); +#ifdef HAVE_ZINT + DesignElementsFactory::instance().registerCreator( + "BarcodeItem", + LimeReport::ItemAttribs(QObject::tr("Barcode Item"),"Item"), + createBarcodeItem + ); +#endif + DesignElementsFactory::instance().registerCreator( + "HLayout", + LimeReport::ItemAttribs(QObject::tr("HLayout"), LimeReport::Const::bandTAG), + createHLayout + ); + DesignElementsFactory::instance().registerCreator( + "ImageItem", LimeReport::ItemAttribs(QObject::tr("Image Item"),"Item"), createImageItem + ); + DesignElementsFactory::instance().registerCreator( + "ShapeItem", LimeReport::ItemAttribs(QObject::tr("Shape Item"),"Item"), createShapeItem + ); + DesignElementsFactory::instance().registerCreator( + "Data", + LimeReport::ItemAttribs(QObject::tr("Data"),LimeReport::Const::bandTAG), + createDataBand + ); + DesignElementsFactory::instance().registerCreator( + "DataHeader", + LimeReport::ItemAttribs(QObject::tr("DataHeader"),LimeReport::Const::bandTAG), + createHeaderDataBand + ); + DesignElementsFactory::instance().registerCreator( + "DataFooter", + LimeReport::ItemAttribs(QObject::tr("DataFooter"),LimeReport::Const::bandTAG), + createFooterDataBand + ); + DesignElementsFactory::instance().registerCreator( + "GroupHeader", + LimeReport::ItemAttribs(QObject::tr("GroupHeader"),LimeReport::Const::bandTAG), + createGroupHeaderBand + ); + DesignElementsFactory::instance().registerCreator( + "GroupFooter", + LimeReport::ItemAttribs(QObject::tr("GroupFooter"),LimeReport::Const::bandTAG), + createGroupFooterBand + ); + DesignElementsFactory::instance().registerCreator( + "PageFooter", + LimeReport::ItemAttribs(QObject::tr("Page Footer"),LimeReport::Const::bandTAG), + createPageFooterBand + ); + DesignElementsFactory::instance().registerCreator( + "PageHeader", + LimeReport::ItemAttribs(QObject::tr("Page Header"),LimeReport::Const::bandTAG), + createPageHeaderBand + ); + DesignElementsFactory::instance().registerCreator( + "SubDetail", + LimeReport::ItemAttribs(QObject::tr("SubDetail"),LimeReport::Const::bandTAG), + createSubDetailBand + ); + + DesignElementsFactory::instance().registerCreator( + "SubDetailHeader", + LimeReport::ItemAttribs(QObject::tr("SubDetailHeader"),LimeReport::Const::bandTAG), + createSubDetailHeaderBand + ); + DesignElementsFactory::instance().registerCreator( + "SubDetailFooter", + LimeReport::ItemAttribs(QObject::tr("SubDetailFooter"),LimeReport::Const::bandTAG), + createSubDetailFooterBand + ); + DesignElementsFactory::instance().registerCreator( + "TearOffBand", + LimeReport::ItemAttribs(QObject::tr("Tear-off Band"),LimeReport::Const::bandTAG), + createTearOffBand + ); + +} + +ObjectPropItem * createBoolPropItem( + QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly) +{ + return new LimeReport::BoolPropItem(object, objects, name, displayName, data, parent, readonly); +} + +ObjectPropItem * createColorPropItem( + QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly) +{ + return new ColorPropItem(object, objects, name, displayName, data, parent, readonly); +} + +ObjectPropItem * createContentPropItem( + QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly) +{ + return new ContentPropItem(object, objects, name, displayName, data, parent, readonly); +} + +ObjectPropItem * createDatasourcePropItem( + QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly) +{ + return new LimeReport::DatasourcePropItem(object, objects, name, displayName, data, parent, readonly); +} + +ObjectPropItem* createFieldPropItem(QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly){ + return new LimeReport::FieldPropItem(object, objects, name, displayName, data, parent, readonly); +} + +ObjectPropItem * createEnumPropItem( + QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly) +{ + return new LimeReport::EnumPropItem(object, objects, name, displayName, data, parent, readonly); +} + +ObjectPropItem * createFlagsPropItem( + QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly) +{ + return new LimeReport::FlagsPropItem(object, objects, name, displayName, data, parent, readonly); +} + +ObjectPropItem * createFontPropItem( + QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly) +{ + return new LimeReport::FontPropItem(object, objects, name, displayName, data, parent, readonly); +} + +ObjectPropItem* createGroupFieldPropItem(QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly){ + return new LimeReport::GroupFieldPropItem(object, objects, name, displayName, data, parent, readonly); +} + +ObjectPropItem * createImagePropItem( + QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly) +{ + return new LimeReport::ImagePropItem(object, objects, name, displayName, data, parent, readonly); +} + +ObjectPropItem * createIntPropItem( + QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly) +{ + return new LimeReport::IntPropItem(object, objects, name, displayName, data, parent, readonly); +} + +ObjectPropItem * createQRealPropItem( + QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly) +{ + return new LimeReport::QRealPropItem(object, objects, name, displayName, data, parent, readonly); +} + +ObjectPropItem * createReqtItem( + QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly +){ + return new LimeReport::RectPropItem(object, objects, name, displayName, data, parent, readonly); +} + +ObjectPropItem * createReqtMMItem( + QObject*object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly +){ + return new LimeReport::RectMMPropItem(object, objects, name, displayName, data, parent, readonly); +} + +ObjectPropItem * createStringPropItem( + QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly) +{ + return new LimeReport::StringPropItem(object, objects, name, displayName, data, parent, readonly); +} + +ObjectPropItem * createAlignItem( + QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly +){ + return new LimeReport::AlignmentPropItem(object, objects, name, displayName, data, parent, readonly); +} + +ObjectPropItem * createLocationPropItem( + QObject *object, LimeReport::ObjectPropItem::ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& data, LimeReport::ObjectPropItem* parent, bool readonly) +{ + return new LimeReport::ItemLocationPropItem(object, objects, name, displayName, data, parent, readonly); +} + +void initObjectInspectorProperties() +{ + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("bool",""),QObject::tr("bool"),createBoolPropItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("QColor",""),QObject::tr("QColor"),createColorPropItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("content","LimeReport::TextItem"),QObject::tr("content"),createContentPropItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("datasource","LimeReport::DataBandDesignIntf"),QObject::tr("datasource"),createDatasourcePropItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("datasource","LimeReport::ImageItem"),QObject::tr("datasource"),createDatasourcePropItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("field","LimeReport::ImageItem"),QObject::tr("field"),createFieldPropItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("enum",""),QObject::tr("enum"),createEnumPropItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("flags",""),QObject::tr("flags"),createFlagsPropItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("QFont",""),QObject::tr("QFont"),createFontPropItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("groupFieldName","LimeReport::GroupBandHeader"),QObject::tr("field"),createGroupFieldPropItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("QImage",""),QObject::tr("QImage"),createImagePropItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("int",""),QObject::tr("int"),createIntPropItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("qreal",""),QObject::tr("qreal"),createQRealPropItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("double",""),QObject::tr("qreal"),createQRealPropItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("QRect",""),QObject::tr("QRect"),createReqtItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("QRectF",""),QObject::tr("QRectF"),createReqtItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("geometry","LimeReport::BaseDesignIntf"),QObject::tr("geometry"),createReqtMMItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("QString",""),QObject::tr("QString"),createStringPropItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("alignment","LimeReport::TextItem"),QObject::tr("alignment"),createAlignItem + ); + ObjectPropFactory::instance().registerCreator( + LimeReport::APropIdent("itemLocation","LimeReport::ItemDesignIntf"),QObject::tr("itemLocation"),createLocationPropItem + ); + +} + +SerializatorIntf * createIntSerializator(QDomDocument *doc, QDomElement *node){ + return new LimeReport::XmlIntSerializator(doc,node); +} + +SerializatorIntf * createQRealSerializator(QDomDocument *doc, QDomElement *node){ + return new LimeReport::XmlQRealSerializator(doc,node); +} + +SerializatorIntf * createQStringSerializator(QDomDocument *doc, QDomElement *node){ + return new LimeReport::XmlQStringSerializator(doc,node); +} + +SerializatorIntf * createEnumAndFlagsSerializator(QDomDocument *doc, QDomElement *node){ + return new LimeReport::XmlEnumAndFlagsSerializator(doc,node); +} + +SerializatorIntf * createBoolSerializator(QDomDocument *doc, QDomElement *node){ + return new LimeReport::XmlBoolSerializator(doc,node); +} + +SerializatorIntf * createFontSerializator(QDomDocument *doc, QDomElement *node){ + return new LimeReport::XmlFontSerializator(doc,node); +} + +SerializatorIntf * createQSizeFSerializator(QDomDocument *doc, QDomElement *node){ + return new LimeReport::XmlQSizeFSerializator(doc,node); +} + +SerializatorIntf * createQImageSerializator(QDomDocument *doc, QDomElement *node){ + return new LimeReport::XmlQImageSerializator(doc,node); +} + +SerializatorIntf * createQColorSerializator(QDomDocument *doc, QDomElement *node){ + return new LimeReport::XmlColorSerializator(doc,node); +} + +SerializatorIntf* createQByteArraySerializator(QDomDocument *doc, QDomElement *node){ + return new LimeReport::XmlQByteArraySerializator(doc,node); +} + +SerializatorIntf* createQVariantSerializator(QDomDocument *doc, QDomElement *node){ + return new LimeReport::XmlQVariantSerializator(doc,node); +} + +SerializatorIntf * createQRectSerializator(QDomDocument *doc, QDomElement *node){ + return new LimeReport::XMLQRectSerializator(doc,node); +} + +void initSerializators() +{ + XMLAbstractSerializatorFactory::instance().registerCreator("QString", createQStringSerializator); + XMLAbstractSerializatorFactory::instance().registerCreator("int", createIntSerializator); + XMLAbstractSerializatorFactory::instance().registerCreator("enumAndFlags",createEnumAndFlagsSerializator); + XMLAbstractSerializatorFactory::instance().registerCreator("bool", createBoolSerializator); + XMLAbstractSerializatorFactory::instance().registerCreator("QFont", createFontSerializator); + XMLAbstractSerializatorFactory::instance().registerCreator("QSizeF", createQSizeFSerializator); + XMLAbstractSerializatorFactory::instance().registerCreator("QImage", createQImageSerializator); + XMLAbstractSerializatorFactory::instance().registerCreator("qreal", createQRealSerializator); + XMLAbstractSerializatorFactory::instance().registerCreator("double", createQRealSerializator); + XMLAbstractSerializatorFactory::instance().registerCreator("QColor", createQColorSerializator); + XMLAbstractSerializatorFactory::instance().registerCreator("QByteArray", createQByteArraySerializator); + XMLAbstractSerializatorFactory::instance().registerCreator("QVariant", createQVariantSerializator); + XMLAbstractSerializatorFactory::instance().registerCreator("QRect", createQRectSerializator); + XMLAbstractSerializatorFactory::instance().registerCreator("QRectF", createQRectSerializator); +} + +} //namespace LimeReport diff --git a/limereport/lrfactoryinitializer.h b/limereport/lrfactoryinitializer.h new file mode 100644 index 0000000..add7eab --- /dev/null +++ b/limereport/lrfactoryinitializer.h @@ -0,0 +1,5 @@ +namespace LimeReport{ + void initReportItems(); + void initObjectInspectorProperties(); + void initSerializators(); +} // namespace LimeReport diff --git a/limereport/lrreportengine.cpp b/limereport/lrreportengine.cpp index a6d3e50..9391836 100644 --- a/limereport/lrreportengine.cpp +++ b/limereport/lrreportengine.cpp @@ -51,7 +51,9 @@ #include "lrpreviewreportwindow.h" #include "lrpreviewreportwidget.h" #include "lrpreviewreportwidget_p.h" - +#ifdef HAVE_STATIC_BUILD +#include "lrfactoryinitializer.h" +#endif namespace LimeReport{ QSettings* ReportEngine::m_settings = 0; @@ -64,6 +66,11 @@ ReportEnginePrivate::ReportEnginePrivate(QObject *parent) : m_reportRendering(false), m_resultIsEditable(true), m_passPhrase("HjccbzHjlbyfCkjy"), m_fileWatcher( new QFileSystemWatcher( this ) ) { +#ifdef HAVE_STATIC_BUILD + initReportItems(); + initObjectInspectorProperties(); + initSerializators(); +#endif m_datasources = new DataSourceManager(this); m_datasources->setReportSettings(&m_reportSettings); m_scriptEngineContext = new ScriptEngineContext(this);