0
0
mirror of https://github.com/fralx/LimeReport.git synced 2024-12-23 16:22:58 +03:00

Cmake fixes: non exported symbols, missing files, shared import, rewrite cmake for demo and designer

This commit is contained in:
Jihadist 2022-10-30 20:44:59 +03:00
parent f00f72efa9
commit e6ead26d31
13 changed files with 83 additions and 61 deletions

View File

@ -35,12 +35,12 @@ jobs:
- name: Configure CMake for Qt5 - name: Configure CMake for Qt5
if: "startsWith(matrix.qt_version, '5.')" if: "startsWith(matrix.qt_version, '5.')"
run: cmake -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -B "${{github.workspace}}/build" run: cmake -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -DLIMEREPORT_DEMO=ON -B "${{github.workspace}}/build"
- name: Configure CMake for Qt6 - name: Configure CMake for Qt6
if: "startsWith(matrix.qt_version, '6.')" if: "startsWith(matrix.qt_version, '6.')"
run: cmake -DUSE_QT6=ON -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -B "${{github.workspace}}/build" run: cmake -DUSE_QT6=ON -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -DLIMEREPORT_DEMO=ON -B "${{github.workspace}}/build"
- name: Build - name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
@ -69,12 +69,12 @@ jobs:
- name: Configure CMake for Qt5 - name: Configure CMake for Qt5
if: "startsWith(matrix.qt_version, '5.')" if: "startsWith(matrix.qt_version, '5.')"
run: cmake -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -B "${{github.workspace}}/build" run: cmake -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -DLIMEREPORT_DEMO=ON -B "${{github.workspace}}/build"
- name: Configure CMake for Qt6 - name: Configure CMake for Qt6
if: "startsWith(matrix.qt_version, '6.')" if: "startsWith(matrix.qt_version, '6.')"
run: cmake -DUSE_QT6=ON -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -B "${{github.workspace}}/build" run: cmake -DUSE_QT6=ON -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -DLIMEREPORT_DEMO=ON -B "${{github.workspace}}/build"
- name: Build - name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
@ -130,12 +130,12 @@ jobs:
- name: Configure CMake for Qt5 - name: Configure CMake for Qt5
if: "startsWith(matrix.qt_version, '5')" if: "startsWith(matrix.qt_version, '5')"
run: cmake -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -B "${{github.workspace}}/build" run: cmake -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -DLIMEREPORT_DEMO=ON -B "${{github.workspace}}/build"
- name: Configure CMake for Qt6 - name: Configure CMake for Qt6
if: "startsWith(matrix.qt_version, '6')" if: "startsWith(matrix.qt_version, '6')"
run: cmake -DUSE_QT6=ON -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -B "${{github.workspace}}/build" run: cmake -DUSE_QT6=ON -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -DLIMEREPORT_DEMO=ON -B "${{github.workspace}}/build"
- name: Build - name: Build
run: cmake --build '${{github.workspace}}/build' --config ${{env.BUILD_TYPE}} run: cmake --build '${{github.workspace}}/build' --config ${{env.BUILD_TYPE}}
@ -163,12 +163,12 @@ jobs:
- name: Configure CMake for Qt5 - name: Configure CMake for Qt5
if: "startsWith(matrix.qt_version, '5.')" if: "startsWith(matrix.qt_version, '5.')"
run: cmake -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -B "${{github.workspace}}/build" run: cmake -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -DLIMEREPORT_DEMO=ON -B "${{github.workspace}}/build"
- name: Configure CMake for Qt6 - name: Configure CMake for Qt6
if: "startsWith(matrix.qt_version, '6.')" if: "startsWith(matrix.qt_version, '6.')"
run: cmake -DUSE_QT6=ON -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -B "${{github.workspace}}/build" run: cmake -DUSE_QT6=ON -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -DLIMEREPORT_DEMO=ON -B "${{github.workspace}}/build"
- name: Build - name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

View File

@ -7,6 +7,7 @@ set(LIMEREPORT_VERSION_RELEASE 8)
option(ENABLE_ZINT "Enable libzint build for barcode support" OFF) option(ENABLE_ZINT "Enable libzint build for barcode support" OFF)
option(LIMEREPORT_STATIC "Build LimeReport as static library" OFF) option(LIMEREPORT_STATIC "Build LimeReport as static library" OFF)
option(LIMEREPORT_DEMO "Build LimeReport demos" OFF)
option(USE_QT6 "Use Qt6" OFF) option(USE_QT6 "Use Qt6" OFF)
if(USE_QT6) if(USE_QT6)
@ -37,8 +38,11 @@ if (Qt${QT_VERSION_MAJOR}Widgets_FOUND)
endif() endif()
add_subdirectory(3rdparty) add_subdirectory(3rdparty)
add_subdirectory(designer EXCLUDE_FROM_ALL)
add_subdirectory(demo_r1 EXCLUDE_FROM_ALL) if (LIMEREPORT_DEMO)
add_subdirectory(designer)
add_subdirectory(demo_r1)
endif()
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)
@ -79,6 +83,8 @@ ${PROJECT_NAME}/items/editors/lritemsborderseditorwidget.cpp
${PROJECT_NAME}/items/editors/lrtextalignmenteditorwidget.cpp ${PROJECT_NAME}/items/editors/lrtextalignmenteditorwidget.cpp
${PROJECT_NAME}/items/lrabstractlayout.cpp ${PROJECT_NAME}/items/lrabstractlayout.cpp
${PROJECT_NAME}/items/lralignpropitem.cpp ${PROJECT_NAME}/items/lralignpropitem.cpp
${PROJECT_NAME}/items/borderframeeditor.cpp
${PROJECT_NAME}/items/lrbordereditor.cpp
${PROJECT_NAME}/items/lrchartitem.cpp ${PROJECT_NAME}/items/lrchartitem.cpp
${PROJECT_NAME}/items/lrchartaxiseditor.cpp ${PROJECT_NAME}/items/lrchartaxiseditor.cpp
${PROJECT_NAME}/items/lrchartitemeditor.cpp ${PROJECT_NAME}/items/lrchartitemeditor.cpp
@ -86,6 +92,7 @@ ${PROJECT_NAME}/items/lrhorizontallayout.cpp
${PROJECT_NAME}/items/lrimageitem.cpp ${PROJECT_NAME}/items/lrimageitem.cpp
${PROJECT_NAME}/items/lrimageitemeditor.cpp ${PROJECT_NAME}/items/lrimageitemeditor.cpp
${PROJECT_NAME}/items/lrlayoutmarker.cpp ${PROJECT_NAME}/items/lrlayoutmarker.cpp
${PROJECT_NAME}/items/lrpageeditor.cpp
${PROJECT_NAME}/items/lrshapeitem.cpp ${PROJECT_NAME}/items/lrshapeitem.cpp
${PROJECT_NAME}/items/lrsubitemparentpropitem.cpp ${PROJECT_NAME}/items/lrsubitemparentpropitem.cpp
${PROJECT_NAME}/items/lrsvgitem.cpp ${PROJECT_NAME}/items/lrsvgitem.cpp
@ -191,6 +198,8 @@ ${PROJECT_NAME}/items/editors/lritemsborderseditorwidget.h
${PROJECT_NAME}/items/editors/lrtextalignmenteditorwidget.h ${PROJECT_NAME}/items/editors/lrtextalignmenteditorwidget.h
${PROJECT_NAME}/items/lrabstractlayout.h ${PROJECT_NAME}/items/lrabstractlayout.h
${PROJECT_NAME}/items/lralignpropitem.h ${PROJECT_NAME}/items/lralignpropitem.h
${PROJECT_NAME}/items/borderframeeditor.h
${PROJECT_NAME}/items/lrbordereditor.h
${PROJECT_NAME}/items/lrchartitem.h ${PROJECT_NAME}/items/lrchartitem.h
${PROJECT_NAME}/items/lrchartaxiseditor.h ${PROJECT_NAME}/items/lrchartaxiseditor.h
${PROJECT_NAME}/items/lrchartitemeditor.h ${PROJECT_NAME}/items/lrchartitemeditor.h
@ -199,6 +208,7 @@ ${PROJECT_NAME}/items/lrhorizontallayout.h
${PROJECT_NAME}/items/lrimageitem.h ${PROJECT_NAME}/items/lrimageitem.h
${PROJECT_NAME}/items/lrimageitemeditor.h ${PROJECT_NAME}/items/lrimageitemeditor.h
${PROJECT_NAME}/items/lrlayoutmarker.h ${PROJECT_NAME}/items/lrlayoutmarker.h
${PROJECT_NAME}/items/lrpageeditor.h
${PROJECT_NAME}/items/lrshapeitem.h ${PROJECT_NAME}/items/lrshapeitem.h
${PROJECT_NAME}/items/lrsubitemparentpropitem.h ${PROJECT_NAME}/items/lrsubitemparentpropitem.h
${PROJECT_NAME}/items/lrsvgitem.h ${PROJECT_NAME}/items/lrsvgitem.h
@ -288,9 +298,12 @@ ${PROJECT_NAME}/databrowser/lrdatabrowser.ui
${PROJECT_NAME}/databrowser/lrsqleditdialog.ui ${PROJECT_NAME}/databrowser/lrsqleditdialog.ui
${PROJECT_NAME}/databrowser/lrvariabledialog.ui ${PROJECT_NAME}/databrowser/lrvariabledialog.ui
${PROJECT_NAME}/dialogdesigner/templates/Dialog.ui ${PROJECT_NAME}/dialogdesigner/templates/Dialog.ui
${PROJECT_NAME}/items/borderframeeditor.ui
${PROJECT_NAME}/items/lrbordereditor.ui
${PROJECT_NAME}/items/lrchartitemeditor.ui ${PROJECT_NAME}/items/lrchartitemeditor.ui
${PROJECT_NAME}/items/lrchartaxiseditor.ui ${PROJECT_NAME}/items/lrchartaxiseditor.ui
${PROJECT_NAME}/items/lrimageitemeditor.ui ${PROJECT_NAME}/items/lrimageitemeditor.ui
${PROJECT_NAME}/items/lrpageeditor.ui
${PROJECT_NAME}/items/lrtextitemeditor.ui ${PROJECT_NAME}/items/lrtextitemeditor.ui
${PROJECT_NAME}/lraboutdialog.ui ${PROJECT_NAME}/lraboutdialog.ui
${PROJECT_NAME}/lrpreviewreportwidget.ui ${PROJECT_NAME}/lrpreviewreportwidget.ui
@ -348,12 +361,13 @@ set(GLOBAL_HEADERS
set(PROJECT_NAME ${PROJECT_NAME}-qt${QT_VERSION_MAJOR}) set(PROJECT_NAME ${PROJECT_NAME}-qt${QT_VERSION_MAJOR})
if (LIMEREPORT_STATIC) if (LIMEREPORT_STATIC)
message(STATUS "STATIC LIBRARY") message(STATUS "STATIC LIBRARY")
add_library(${PROJECT_NAME} STATIC ${EXTRA_FILES} ${LIMEREPORT_SOURCES}) add_library(${PROJECT_NAME} STATIC ${EXTRA_FILES} ${LIMEREPORT_SOURCES})
target_compile_definitions( ${PROJECT_NAME} PUBLIC -DHAVE_STATIC_BUILD) target_compile_definitions( ${PROJECT_NAME} PUBLIC -DHAVE_STATIC_BUILD)
else() else()
add_library(${PROJECT_NAME} SHARED ${EXTRA_FILES} ${LIMEREPORT_SOURCES}) add_library(${PROJECT_NAME} SHARED ${EXTRA_FILES} ${LIMEREPORT_SOURCES})
target_compile_definitions( ${PROJECT_NAME} PUBLIC -DLIMEREPORT_EXPORTS) target_compile_definitions( ${PROJECT_NAME} PRIVATE -DLIMEREPORT_EXPORTS)
target_compile_definitions( ${PROJECT_NAME} INTERFACE -DLIMEREPORT_IMPORTS)
endif() endif()
target_compile_definitions(${PROJECT_NAME} PUBLIC -DCMAKE_CONFIG) target_compile_definitions(${PROJECT_NAME} PUBLIC -DCMAKE_CONFIG)
@ -392,6 +406,9 @@ target_include_directories( ${PROJECT_NAME} PRIVATE
limereport/serializators limereport/serializators
limereport/scripteditor ) limereport/scripteditor )
target_include_directories( ${PROJECT_NAME} INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}/include)
install(TARGETS install(TARGETS
${PROJECT_NAME} ${PROJECT_NAME}
ARCHIVE DESTINATION lib ARCHIVE DESTINATION lib

View File

@ -1,3 +1,5 @@
project(demo_r1)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON) set(CMAKE_AUTORCC ON)
@ -9,15 +11,14 @@ set(PROJECT_SOURCES
mainwindow.ui mainwindow.ui
) )
add_executable(demo_r1 main.cpp ${PROJECT_SOURCES}) add_executable(${PROJECT_NAME} main.cpp ${PROJECT_SOURCES})
target_include_directories( demo_r1 PRIVATE ../include/ ) target_link_libraries(${PROJECT_NAME} PRIVATE
target_link_libraries(demo_r1 PRIVATE
Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Core
Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Widgets
Qt${QT_VERSION_MAJOR}::PrintSupport Qt${QT_VERSION_MAJOR}::PrintSupport
Qt${QT_VERSION_MAJOR}::Qml Qt${QT_VERSION_MAJOR}::Qml
Qt${QT_VERSION_MAJOR}::Sql Qt${QT_VERSION_MAJOR}::Sql
${PROJECT_NAME}-qt${QT_VERSION_MAJOR} limereport-qt${QT_VERSION_MAJOR}
) )

View File

@ -1,3 +1,5 @@
project(LRDesigner)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(LRDESIGNER_FILES set(LRDESIGNER_FILES
@ -7,14 +9,12 @@ set(LRDESIGNER_FILES
mainicon.rc mainicon.rc
) )
add_executable(LRDesigner ${LRDESIGNER_FILES}) add_executable(${PROJECT_NAME} ${LRDESIGNER_FILES})
target_include_directories(LRDesigner PUBLIC ${PROJECT_SOURCE_DIR}/include) target_link_libraries(${PROJECT_NAME} PUBLIC
target_link_libraries(LRDesigner PUBLIC
Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Core
Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Widgets
Qt${QT_VERSION_MAJOR}::PrintSupport Qt${QT_VERSION_MAJOR}::PrintSupport
Qt${QT_VERSION_MAJOR}::Qml Qt${QT_VERSION_MAJOR}::Qml
${PROJECT_NAME}-qt${QT_VERSION_MAJOR} limereport-qt${QT_VERSION_MAJOR}
) )

View File

@ -7,7 +7,7 @@ namespace Ui {
class lrbordereditor; class lrbordereditor;
} }
class lrbordereditor : public QDialog class LIMEREPORT_EXPORT lrbordereditor : public QDialog
{ {
Q_OBJECT Q_OBJECT

View File

@ -1,9 +1,12 @@
#include "lrpageeditor.h" #include "lrpageeditor.h"
#include "ui_lrpageeditor.h" #include "ui_lrpageeditor.h"
#include "lrpagedesignintf.h" #include "lrpageitemdesignintf.h"
#include <QPushButton> #include <QPushButton>
#include <QPageSize> #include <QPageSize>
lrpageeditor::lrpageeditor(QWidget *parent, LimeReport::PageItemDesignIntf *page) :
using namespace LimeReport;
lrpageeditor::lrpageeditor(QWidget *parent, PageItemDesignIntf *page) :
QDialog(parent), QDialog(parent),
ui(new Ui::lrpageeditor) ui(new Ui::lrpageeditor)
{ {
@ -16,10 +19,10 @@ lrpageeditor::lrpageeditor(QWidget *parent, LimeReport::PageItemDesignIntf *page
ui->format->addItem(pageSizes.key(i)); ui->format->addItem(pageSizes.key(i));
} }
ui->format->setCurrentIndex(m_page->pageSize()); ui->format->setCurrentIndex(m_page->pageSize());
ui->width->setValue(m_page->width() / LimeReport::Const::mmFACTOR); ui->width->setValue(m_page->width() / Const::mmFACTOR);
ui->height->setValue(m_page->height() / LimeReport::Const::mmFACTOR); ui->height->setValue(m_page->height() / Const::mmFACTOR);
ui->portrait->setChecked(m_page->pageOrientation() == LimeReport::PageItemDesignIntf::Portrait); ui->portrait->setChecked(m_page->pageOrientation() == PageItemDesignIntf::Portrait);
ui->landscape->setChecked(m_page->pageOrientation() == LimeReport::PageItemDesignIntf::Landscape); ui->landscape->setChecked(m_page->pageOrientation() == PageItemDesignIntf::Landscape);
//Margins //Margins
ui->marginTop->setValue(m_page->topMargin()); ui->marginTop->setValue(m_page->topMargin());
ui->marginRight->setValue(m_page->rightMargin()); ui->marginRight->setValue(m_page->rightMargin());
@ -40,10 +43,10 @@ lrpageeditor::~lrpageeditor()
void lrpageeditor::applyChanges() void lrpageeditor::applyChanges()
{ {
m_page->setPageSize(static_cast<LimeReport::PageItemDesignIntf::PageSize>(ui->format->currentIndex())); m_page->setPageSize(static_cast<PageItemDesignIntf::PageSize>(ui->format->currentIndex()));
m_page->setWidth(ui->width->value()* LimeReport::Const::mmFACTOR); m_page->setWidth(ui->width->value()* Const::mmFACTOR);
m_page->setHeight(ui->height->value()* LimeReport::Const::mmFACTOR); m_page->setHeight(ui->height->value()* Const::mmFACTOR);
m_page->setPageOrientation(ui->portrait->isChecked()?LimeReport::PageItemDesignIntf::Portrait : LimeReport::PageItemDesignIntf::Landscape); m_page->setPageOrientation(ui->portrait->isChecked()?PageItemDesignIntf::Portrait : PageItemDesignIntf::Landscape);
m_page->setTopMargin(ui->marginTop->value()); m_page->setTopMargin(ui->marginTop->value());
m_page->setBottomMargin(ui->marginBottom->value()); m_page->setBottomMargin(ui->marginBottom->value());
@ -61,9 +64,9 @@ void lrpageeditor::on_buttonBox_accepted()
} }
QSizeF lrpageeditor::getRectByPageSize(const LimeReport::PageItemDesignIntf::PageSize& size) QSizeF lrpageeditor::getRectByPageSize(const PageItemDesignIntf::PageSize& size)
{ {
if (size != LimeReport::PageItemDesignIntf::Custom) { if (size != PageItemDesignIntf::Custom) {
QPrinter printer; QPrinter printer;
printer.setOutputFormat(QPrinter::PdfFormat); printer.setOutputFormat(QPrinter::PdfFormat);
#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 1)) #if (QT_VERSION < QT_VERSION_CHECK(5, 15, 1))
@ -76,8 +79,8 @@ QSizeF lrpageeditor::getRectByPageSize(const LimeReport::PageItemDesignIntf::Pag
QPageSize pageSize = QPageSize((QPageSize::PageSizeId)size); QPageSize pageSize = QPageSize((QPageSize::PageSizeId)size);
qreal width = pageSize.size(QPageSize::Millimeter).width() * 10; qreal width = pageSize.size(QPageSize::Millimeter).width() * 10;
qreal height = pageSize.size(QPageSize::Millimeter).height() * 10; qreal height = pageSize.size(QPageSize::Millimeter).height() * 10;
return QSizeF(pageOrientation() == Portrait ? width : height, return QSizeF(m_page->pageOrientation() == PageItemDesignIntf::Portrait ? width : height,
pageOrientation() == Portrait ? height : width); m_page->pageOrientation() == PageItemDesignIntf::Orientation::Portrait ? height : width);
// printer.setPageOrientation((QPageLayout::Orientation)pageOrientation()); // printer.setPageOrientation((QPageLayout::Orientation)pageOrientation());
// printer.setPageSize(QPageSize((QPageSize::PageSizeId)size)); // printer.setPageSize(QPageSize((QPageSize::PageSizeId)size));
@ -95,7 +98,7 @@ void lrpageeditor::on_format_currentIndexChanged(int index)
QPageSize ps = *new QPageSize(); QPageSize ps = *new QPageSize();
if(ui->format->currentText() != "Custom") if(ui->format->currentText() != "Custom")
{ {
QSizeF pageSize = getRectByPageSize(static_cast<LimeReport::PageItemDesignIntf::PageSize>(index)); QSizeF pageSize = getRectByPageSize(static_cast<PageItemDesignIntf::PageSize>(index));
ui->width->setValue(pageSize.width()/10); ui->width->setValue(pageSize.width()/10);
ui->height->setValue(pageSize.height()/10); ui->height->setValue(pageSize.height()/10);
} }

View File

@ -8,7 +8,7 @@ namespace Ui {
class lrpageeditor; class lrpageeditor;
} }
class lrpageeditor : public QDialog class LIMEREPORT_EXPORT lrpageeditor : public QDialog
{ {
Q_OBJECT Q_OBJECT

View File

@ -49,7 +49,7 @@ class ReportEnginePrivate;
class PageDesignIntf; class PageDesignIntf;
class BaseDesignIntf; class BaseDesignIntf;
class Marker : public QGraphicsItem{ class LIMEREPORT_EXPORT Marker : public QGraphicsItem{
public: public:
Marker(QGraphicsItem* parent = 0, BaseDesignIntf* owner = 0): QGraphicsItem(parent), m_owner(owner){} Marker(QGraphicsItem* parent = 0, BaseDesignIntf* owner = 0): QGraphicsItem(parent), m_owner(owner){}
QRectF boundingRect() const; QRectF boundingRect() const;
@ -65,7 +65,7 @@ private:
BaseDesignIntf* m_owner; BaseDesignIntf* m_owner;
}; };
class SelectionMarker : public Marker{ class LIMEREPORT_EXPORT SelectionMarker : public Marker{
public: public:
SelectionMarker(QGraphicsItem* parent=0, BaseDesignIntf* owner = 0); SelectionMarker(QGraphicsItem* parent=0, BaseDesignIntf* owner = 0);
QColor color() const; QColor color() const;
@ -80,7 +80,7 @@ protected:
class DataSourceManager; class DataSourceManager;
class ReportRender; class ReportRender;
class BaseDesignIntf : class LIMEREPORT_EXPORT BaseDesignIntf :
public QObject, public QGraphicsItem, public ICollectionContainer, public ObjectLoadingStateIntf { public QObject, public QGraphicsItem, public ICollectionContainer, public ObjectLoadingStateIntf {
Q_OBJECT Q_OBJECT
Q_INTERFACES(QGraphicsItem) Q_INTERFACES(QGraphicsItem)
@ -515,7 +515,7 @@ signals:
void afterRender(); void afterRender();
}; };
class BookmarkContainerDesignIntf: public BaseDesignIntf{ class LIMEREPORT_EXPORT BookmarkContainerDesignIntf: public BaseDesignIntf{
Q_OBJECT Q_OBJECT
public: public:
BookmarkContainerDesignIntf(const QString& storageTypeName, QObject* owner = 0, QGraphicsItem* parent = 0) BookmarkContainerDesignIntf(const QString& storageTypeName, QObject* owner = 0, QGraphicsItem* parent = 0)

View File

@ -35,7 +35,7 @@
#include "lrglobal.h" #include "lrglobal.h"
class ACollectionProperty{ class LIMEREPORT_EXPORT ACollectionProperty{
public: public:
ACollectionProperty(){} ACollectionProperty(){}
ACollectionProperty(const ACollectionProperty& ){} ACollectionProperty(const ACollectionProperty& ){}
@ -45,8 +45,8 @@ Q_DECLARE_METATYPE(ACollectionProperty)
namespace LimeReport{ namespace LimeReport{
const int COLLECTION_TYPE_ID = qMetaTypeId<ACollectionProperty>(); const int inline COLLECTION_TYPE_ID = qMetaTypeId<ACollectionProperty>();
class ICollectionContainer{ class LIMEREPORT_EXPORT ICollectionContainer{
public: public:
virtual QObject* createElement(const QString& collectionName,const QString& elementType)=0; virtual QObject* createElement(const QString& collectionName,const QString& elementType)=0;
virtual int elementsCount(const QString& collectionName)=0; virtual int elementsCount(const QString& collectionName)=0;

View File

@ -125,12 +125,12 @@ namespace Const{
Q_DECLARE_FLAGS(PreviewHints, PreviewHint) Q_DECLARE_FLAGS(PreviewHints, PreviewHint)
Q_FLAGS(PreviewHints) Q_FLAGS(PreviewHints)
class ReportError : public std::runtime_error{ class LIMEREPORT_EXPORT ReportError : public std::runtime_error{
public: public:
ReportError(const QString& message); ReportError(const QString& message);
}; };
class ReportSettings{ class LIMEREPORT_EXPORT ReportSettings{
public: public:
ReportSettings():m_suppressAbsentFieldsAndVarsWarnings(false){} ReportSettings():m_suppressAbsentFieldsAndVarsWarnings(false){}
void setDefaultValues(){m_suppressAbsentFieldsAndVarsWarnings = false;} void setDefaultValues(){m_suppressAbsentFieldsAndVarsWarnings = false;}
@ -140,13 +140,13 @@ namespace Const{
bool m_suppressAbsentFieldsAndVarsWarnings; bool m_suppressAbsentFieldsAndVarsWarnings;
}; };
class IExternalPainter{ class LIMEREPORT_EXPORT IExternalPainter{
public: public:
virtual void paintByExternalPainter(const QString& objectName, QPainter* painter, const QStyleOptionGraphicsItem* options) = 0; virtual void paintByExternalPainter(const QString& objectName, QPainter* painter, const QStyleOptionGraphicsItem* options) = 0;
virtual ~IExternalPainter(); virtual ~IExternalPainter();
}; };
class IPainterProxy{ class LIMEREPORT_EXPORT IPainterProxy{
public: public:
virtual void setExternalPainter(IExternalPainter* externalPainter) = 0; virtual void setExternalPainter(IExternalPainter* externalPainter) = 0;
virtual ~IPainterProxy(); virtual ~IPainterProxy();
@ -168,7 +168,7 @@ namespace Const{
#endif #endif
class Enums class LIMEREPORT_EXPORT Enums
{ {
public: public:
enum VariableDataType {Undefined, String, Bool, Int, Real, Date, Time, DateTime}; enum VariableDataType {Undefined, String, Bool, Int, Real, Date, Time, DateTime};

View File

@ -5,7 +5,7 @@
namespace LimeReport{ namespace LimeReport{
class Segment{ class LIMEREPORT_EXPORT Segment{
public: public:
Segment(qreal segmentStart,qreal segmentEnd):m_begin(segmentStart),m_end(segmentEnd){} Segment(qreal segmentStart,qreal segmentEnd):m_begin(segmentStart),m_end(segmentEnd){}
bool intersect(Segment value); bool intersect(Segment value);
@ -15,17 +15,17 @@ private:
qreal m_end; qreal m_end;
}; };
class VSegment : public Segment{ class LIMEREPORT_EXPORT VSegment : public Segment{
public: public:
VSegment(QRectF rect):Segment(rect.top(),rect.bottom()){} VSegment(QRectF rect):Segment(rect.top(),rect.bottom()){}
}; };
struct HSegment :public Segment{ struct LIMEREPORT_EXPORT HSegment :public Segment{
public: public:
HSegment(QRectF rect):Segment(rect.left(),rect.right()){} HSegment(QRectF rect):Segment(rect.left(),rect.right()){}
}; };
struct ItemSortContainer { struct LIMEREPORT_EXPORT ItemSortContainer {
QRectF m_rect; QRectF m_rect;
BaseDesignIntf * m_item; BaseDesignIntf * m_item;
ItemSortContainer(BaseDesignIntf *item){ ItemSortContainer(BaseDesignIntf *item){
@ -35,9 +35,9 @@ struct ItemSortContainer {
}; };
typedef QSharedPointer< ItemSortContainer > PItemSortContainer; typedef QSharedPointer< ItemSortContainer > PItemSortContainer;
bool itemSortContainerLessThen(const PItemSortContainer c1, const PItemSortContainer c2); bool LIMEREPORT_EXPORT itemSortContainerLessThen(const PItemSortContainer c1, const PItemSortContainer c2);
class ItemsContainerDesignInft : public BookmarkContainerDesignIntf{ class LIMEREPORT_EXPORT ItemsContainerDesignInft : public BookmarkContainerDesignIntf{
Q_OBJECT Q_OBJECT
public: public:
ItemsContainerDesignInft(const QString& xmlTypeName, QObject* owner = 0, QGraphicsItem* parent=0): ItemsContainerDesignInft(const QString& xmlTypeName, QObject* owner = 0, QGraphicsItem* parent=0):

View File

@ -39,7 +39,7 @@
namespace LimeReport{ namespace LimeReport{
class ReportRender; class ReportRender;
class PageItemDesignIntf : public ItemsContainerDesignInft class LIMEREPORT_EXPORT PageItemDesignIntf : public ItemsContainerDesignInft
{ {
Q_OBJECT Q_OBJECT
Q_PROPERTY(int topMargin READ topMargin WRITE setTopMargin) Q_PROPERTY(int topMargin READ topMargin WRITE setTopMargin)

View File

@ -30,6 +30,7 @@
#ifndef LRSTORAGEINTF_H #ifndef LRSTORAGEINTF_H
#define LRSTORAGEINTF_H #define LRSTORAGEINTF_H
#include "lrglobal.h"
#include <QSharedPointer> #include <QSharedPointer>
class QString; class QString;
@ -37,14 +38,14 @@ class QObject;
namespace LimeReport{ namespace LimeReport{
class ObjectLoadingStateIntf{ class LIMEREPORT_EXPORT ObjectLoadingStateIntf{
public: public:
virtual bool isLoading() = 0; virtual bool isLoading() = 0;
virtual void objectLoadStarted() = 0; virtual void objectLoadStarted() = 0;
virtual void objectLoadFinished() = 0; virtual void objectLoadFinished() = 0;
}; };
class ItemsWriterIntf class LIMEREPORT_EXPORT ItemsWriterIntf
{ {
public: public:
virtual void putItem(QObject* item) = 0; virtual void putItem(QObject* item) = 0;
@ -55,7 +56,7 @@ public:
virtual ~ItemsWriterIntf(){} virtual ~ItemsWriterIntf(){}
}; };
class ItemsReaderIntf class LIMEREPORT_EXPORT ItemsReaderIntf
{ {
public: public:
typedef QSharedPointer<ItemsReaderIntf> Ptr; typedef QSharedPointer<ItemsReaderIntf> Ptr;