mirror of
https://github.com/fralx/LimeReport.git
synced 2024-12-23 16:22:58 +03:00
commit
b1c67651c8
133
.github/workflows/cmake.yml
vendored
133
.github/workflows/cmake.yml
vendored
@ -18,7 +18,7 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
ubuntu_version: [20.04, 22.04]
|
ubuntu_version: [20.04, 22.04]
|
||||||
qt_version: [5.12.12, 5.15.2, 6.3.0]
|
qt_version: [5.15.2, 6.4.0]
|
||||||
static: [ON, OFF]
|
static: [ON, OFF]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@ -35,13 +35,140 @@ 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}}
|
||||||
|
|
||||||
|
MSVC:
|
||||||
|
name: windows-${{ matrix.win_version }}-Qt-${{ matrix.qt_version }}-static-${{ matrix.static }}
|
||||||
|
runs-on: windows-${{ matrix.win_version }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
win_version: [2019, 2022]
|
||||||
|
qt_version: [5.15.2, 6.4.0]
|
||||||
|
static: [ON, OFF]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install Qt
|
||||||
|
uses: jurplel/install-qt-action@v3
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.qt_version }}
|
||||||
|
cache: 'true'
|
||||||
|
cache-key-prefix: ${{ runner.os }}-Qt-Cache-${{ matrix.qt_version }}
|
||||||
|
dir: ${{ github.workspace }}/Qt
|
||||||
|
|
||||||
|
- name: Configure CMake for Qt5
|
||||||
|
if: "startsWith(matrix.qt_version, '5.')"
|
||||||
|
run: cmake -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -DLIMEREPORT_DEMO=ON -B "${{github.workspace}}/build"
|
||||||
|
|
||||||
|
|
||||||
|
- name: Configure CMake for Qt6
|
||||||
|
if: "startsWith(matrix.qt_version, '6.')"
|
||||||
|
run: cmake -DUSE_QT6=ON -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -DLIMEREPORT_DEMO=ON -B "${{github.workspace}}/build"
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
|
||||||
|
|
||||||
|
MinGW-w64:
|
||||||
|
runs-on: windows-2022
|
||||||
|
name: msys2-${{ matrix.msystem }}-Qt-${{ matrix.qt_version }}-static-${{ matrix.static }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
qt_version: [5, 6]
|
||||||
|
msystem: [UCRT64, CLANG64]
|
||||||
|
static: [ON, OFF]
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: msys2 {0}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install MinGW-w64 packages Qt5
|
||||||
|
if: "startsWith(matrix.qt_version, '5')"
|
||||||
|
uses: msys2/setup-msys2@v2
|
||||||
|
with:
|
||||||
|
msystem: ${{ matrix.msystem }}
|
||||||
|
release: false
|
||||||
|
update: true
|
||||||
|
pacboy: >-
|
||||||
|
cc:p
|
||||||
|
cmake:p
|
||||||
|
ninja:p
|
||||||
|
qt${{ matrix.qt_version }}-base:p
|
||||||
|
qt${{ matrix.qt_version }}-svg:p
|
||||||
|
qt${{ matrix.qt_version }}-tools:p
|
||||||
|
qt${{ matrix.qt_version }}-quickcontrols:p
|
||||||
|
|
||||||
|
- name: Install MinGW-w64 packages Qt6
|
||||||
|
if: "startsWith(matrix.qt_version, '6')"
|
||||||
|
uses: msys2/setup-msys2@v2
|
||||||
|
with:
|
||||||
|
msystem: ${{ matrix.msystem }}
|
||||||
|
release: false
|
||||||
|
update: true
|
||||||
|
pacboy: >-
|
||||||
|
cc:p
|
||||||
|
cmake:p
|
||||||
|
ninja:p
|
||||||
|
qt${{ matrix.qt_version }}-base:p
|
||||||
|
qt${{ matrix.qt_version }}-svg:p
|
||||||
|
qt${{ matrix.qt_version }}-tools:p
|
||||||
|
qt${{ matrix.qt_version }}-declarative:p
|
||||||
|
|
||||||
|
- name: Configure CMake for Qt5
|
||||||
|
if: "startsWith(matrix.qt_version, '5')"
|
||||||
|
run: cmake -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -DLIMEREPORT_DEMO=ON -B "${{github.workspace}}/build"
|
||||||
|
|
||||||
|
|
||||||
|
- name: Configure CMake for Qt6
|
||||||
|
if: "startsWith(matrix.qt_version, '6')"
|
||||||
|
run: cmake -DUSE_QT6=ON -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -DLIMEREPORT_DEMO=ON -B "${{github.workspace}}/build"
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: cmake --build '${{github.workspace}}/build' --config ${{env.BUILD_TYPE}}
|
||||||
|
macos:
|
||||||
|
runs-on: macos-${{ matrix.macos_version }}
|
||||||
|
name: macos-${{ matrix.macos_version }}-Qt-${{ matrix.qt_version }}-static-${{ matrix.static }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
macos_version: [11, 12]
|
||||||
|
qt_version: [5.15.2, 6.4.0]
|
||||||
|
static: [ON, OFF]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install Qt
|
||||||
|
uses: jurplel/install-qt-action@v3
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.qt_version }}
|
||||||
|
cache: 'true'
|
||||||
|
cache-key-prefix: ${{ runner.os }}-Qt-Cache-${{ matrix.qt_version }}
|
||||||
|
dir: ${{ github.workspace }}/Qt
|
||||||
|
|
||||||
|
- name: Configure CMake for Qt5
|
||||||
|
if: "startsWith(matrix.qt_version, '5.')"
|
||||||
|
run: cmake -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -DLIMEREPORT_DEMO=ON -B "${{github.workspace}}/build"
|
||||||
|
|
||||||
|
|
||||||
|
- name: Configure CMake for Qt6
|
||||||
|
if: "startsWith(matrix.qt_version, '6.')"
|
||||||
|
run: cmake -DUSE_QT6=ON -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -DLIMEREPORT_DEMO=ON -B "${{github.workspace}}/build"
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
|
@ -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
|
||||||
|
@ -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}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -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}
|
||||||
)
|
)
|
||||||
|
@ -7,7 +7,7 @@ namespace Ui {
|
|||||||
class lrbordereditor;
|
class lrbordereditor;
|
||||||
}
|
}
|
||||||
|
|
||||||
class lrbordereditor : public QDialog
|
class LIMEREPORT_EXPORT lrbordereditor : public QDialog
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ namespace Ui {
|
|||||||
class lrpageeditor;
|
class lrpageeditor;
|
||||||
}
|
}
|
||||||
|
|
||||||
class lrpageeditor : public QDialog
|
class LIMEREPORT_EXPORT lrpageeditor : public QDialog
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
@ -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)
|
||||||
|
@ -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;
|
||||||
|
@ -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};
|
||||||
|
@ -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):
|
||||||
|
@ -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)
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user