mirror of
https://github.com/python-LimeReport/LimeReport.git
synced 2024-12-23 20:22:58 +03:00
Merge branch 'master' into master
This commit is contained in:
commit
a2f72fdad7
174
.github/workflows/cmake.yml
vendored
Normal file
174
.github/workflows/cmake.yml
vendored
Normal file
@ -0,0 +1,174 @@
|
||||
name: CMake
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "master" ]
|
||||
pull_request:
|
||||
branches: [ "master" ]
|
||||
|
||||
env:
|
||||
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
|
||||
BUILD_TYPE: Release
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-${{ matrix.ubuntu_version }}
|
||||
name: Ubuntu-${{ matrix.ubuntu_version }}-Qt-${{ matrix.qt_version }}-static-${{ matrix.static }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
ubuntu_version: [20.04, 22.04]
|
||||
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}}
|
||||
|
||||
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}}
|
8
.idea/.gitignore
vendored
Normal file
8
.idea/.gitignore
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
1
.idea/.name
Normal file
1
.idea/.name
Normal file
@ -0,0 +1 @@
|
||||
limereport
|
2
.idea/LimeReport.iml
Normal file
2
.idea/LimeReport.iml
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module classpath="CMake" type="CPP_MODULE" version="4" />
|
4
.idea/misc.xml
Normal file
4
.idea/misc.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
|
||||
</project>
|
8
.idea/modules.xml
Normal file
8
.idea/modules.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/LimeReport.iml" filepath="$PROJECT_DIR$/.idea/LimeReport.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
7
.idea/vcs.xml
Normal file
7
.idea/vcs.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/3rdparty/qtxlsx" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
BIN
3rdparty/zint-2.10.0-src.tar.gz
vendored
Normal file
BIN
3rdparty/zint-2.10.0-src.tar.gz
vendored
Normal file
Binary file not shown.
@ -1,17 +1,20 @@
|
||||
project(limereport)
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
project(limereport)
|
||||
|
||||
set(LIMEREPORT_VERSION_MAJOR 1)
|
||||
set(LIMEREPORT_VERSION_MINOR 6)
|
||||
set(LIMEREPORT_VERSION_RELEASE 6)
|
||||
set(LIMEREPORT_VERSION_RELEASE 8)
|
||||
|
||||
option(ENABLE_ZINT "Enable libzint build for barcode support" OFF)
|
||||
option(LIMEREPORT_STATIC "Build LimeReport as static library" OFF)
|
||||
option(LIMEREPORT_DEMO "Build LimeReport demos" OFF)
|
||||
option(USE_QT6 "Use Qt6" OFF)
|
||||
|
||||
find_package(
|
||||
QT NAMES Qt6 Qt5
|
||||
COMPONENTS Core Widgets Sql Network Xml Svg Qml PrintSupport REQUIRED
|
||||
)
|
||||
if(USE_QT6)
|
||||
find_package(QT NAMES Qt6)
|
||||
else()
|
||||
find_package(QT NAMES Qt5)
|
||||
endif(USE_QT6)
|
||||
find_package(
|
||||
Qt${QT_VERSION_MAJOR}
|
||||
COMPONENTS Core Widgets Sql Network Xml Svg Qml PrintSupport REQUIRED
|
||||
@ -35,8 +38,11 @@ if (Qt${QT_VERSION_MAJOR}Widgets_FOUND)
|
||||
endif()
|
||||
|
||||
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_AUTOUIC ON)
|
||||
@ -77,12 +83,16 @@ ${PROJECT_NAME}/items/editors/lritemsborderseditorwidget.cpp
|
||||
${PROJECT_NAME}/items/editors/lrtextalignmenteditorwidget.cpp
|
||||
${PROJECT_NAME}/items/lrabstractlayout.cpp
|
||||
${PROJECT_NAME}/items/lralignpropitem.cpp
|
||||
${PROJECT_NAME}/items/lrborderframeeditor.cpp
|
||||
${PROJECT_NAME}/items/lrbordereditor.cpp
|
||||
${PROJECT_NAME}/items/lrchartitem.cpp
|
||||
${PROJECT_NAME}/items/lrchartaxiseditor.cpp
|
||||
${PROJECT_NAME}/items/lrchartitemeditor.cpp
|
||||
${PROJECT_NAME}/items/lrhorizontallayout.cpp
|
||||
${PROJECT_NAME}/items/lrimageitem.cpp
|
||||
${PROJECT_NAME}/items/lrimageitemeditor.cpp
|
||||
${PROJECT_NAME}/items/lrlayoutmarker.cpp
|
||||
${PROJECT_NAME}/items/lrpageeditor.cpp
|
||||
${PROJECT_NAME}/items/lrshapeitem.cpp
|
||||
${PROJECT_NAME}/items/lrsubitemparentpropitem.cpp
|
||||
${PROJECT_NAME}/items/lrsvgitem.cpp
|
||||
@ -188,13 +198,17 @@ ${PROJECT_NAME}/items/editors/lritemsborderseditorwidget.h
|
||||
${PROJECT_NAME}/items/editors/lrtextalignmenteditorwidget.h
|
||||
${PROJECT_NAME}/items/lrabstractlayout.h
|
||||
${PROJECT_NAME}/items/lralignpropitem.h
|
||||
${PROJECT_NAME}/items/lrborderframeeditor.h
|
||||
${PROJECT_NAME}/items/lrbordereditor.h
|
||||
${PROJECT_NAME}/items/lrchartitem.h
|
||||
${PROJECT_NAME}/items/lrchartaxiseditor.h
|
||||
${PROJECT_NAME}/items/lrchartitemeditor.h
|
||||
${PROJECT_NAME}/items/lreditableimageitemintf.h
|
||||
${PROJECT_NAME}/items/lrhorizontallayout.h
|
||||
${PROJECT_NAME}/items/lrimageitem.h
|
||||
${PROJECT_NAME}/items/lrimageitemeditor.h
|
||||
${PROJECT_NAME}/items/lrlayoutmarker.h
|
||||
${PROJECT_NAME}/items/lrpageeditor.h
|
||||
${PROJECT_NAME}/items/lrshapeitem.h
|
||||
${PROJECT_NAME}/items/lrsubitemparentpropitem.h
|
||||
${PROJECT_NAME}/items/lrsvgitem.h
|
||||
@ -284,8 +298,12 @@ ${PROJECT_NAME}/databrowser/lrdatabrowser.ui
|
||||
${PROJECT_NAME}/databrowser/lrsqleditdialog.ui
|
||||
${PROJECT_NAME}/databrowser/lrvariabledialog.ui
|
||||
${PROJECT_NAME}/dialogdesigner/templates/Dialog.ui
|
||||
${PROJECT_NAME}/items/lrborderframeeditor.ui
|
||||
${PROJECT_NAME}/items/lrbordereditor.ui
|
||||
${PROJECT_NAME}/items/lrchartitemeditor.ui
|
||||
${PROJECT_NAME}/items/lrchartaxiseditor.ui
|
||||
${PROJECT_NAME}/items/lrimageitemeditor.ui
|
||||
${PROJECT_NAME}/items/lrpageeditor.ui
|
||||
${PROJECT_NAME}/items/lrtextitemeditor.ui
|
||||
${PROJECT_NAME}/lraboutdialog.ui
|
||||
${PROJECT_NAME}/lrpreviewreportwidget.ui
|
||||
@ -340,13 +358,16 @@ set(GLOBAL_HEADERS
|
||||
${CMAKE_CURRENT_BINARY_DIR}/config.h
|
||||
)
|
||||
|
||||
set(PROJECT_NAME ${PROJECT_NAME}-qt${QT_VERSION_MAJOR})
|
||||
|
||||
if (LIMEREPORT_STATIC)
|
||||
message(STATUS "STATIC LIBRARY")
|
||||
add_library(${PROJECT_NAME} STATIC ${EXTRA_FILES} ${LIMEREPORT_SOURCES})
|
||||
message(STATUS "STATIC LIBRARY")
|
||||
add_library(${PROJECT_NAME} STATIC ${EXTRA_FILES} ${LIMEREPORT_SOURCES})
|
||||
target_compile_definitions( ${PROJECT_NAME} PUBLIC -DHAVE_STATIC_BUILD)
|
||||
else()
|
||||
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()
|
||||
|
||||
target_compile_definitions(${PROJECT_NAME} PUBLIC -DCMAKE_CONFIG)
|
||||
@ -385,16 +406,16 @@ target_include_directories( ${PROJECT_NAME} PRIVATE
|
||||
limereport/serializators
|
||||
limereport/scripteditor )
|
||||
|
||||
target_include_directories( ${PROJECT_NAME} INTERFACE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
|
||||
list (APPEND GLOBAL_HEADERS ${EXTRA_FILES})
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${GLOBAL_HEADERS}")
|
||||
|
||||
install(TARGETS
|
||||
${PROJECT_NAME}
|
||||
ARCHIVE DESTINATION lib
|
||||
LIBRARY DESTINATION lib
|
||||
RUNTIME DESTINATION bin)
|
||||
RUNTIME DESTINATION bin
|
||||
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/limereport)
|
||||
|
||||
install(FILES
|
||||
${EXTRA_FILES}
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}")
|
||||
|
||||
install(FILES
|
||||
${GLOBAL_HEADERS}
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}")
|
||||
|
35
README.md
35
README.md
@ -1,5 +1,5 @@
|
||||
|
||||
# LimeReport v1.5.87 [![Build Status](https://app.travis-ci.com/fralx/LimeReport.svg?branch=master)](https://app.travis-ci.com/fralx/LimeReport) [![Build status](https://ci.appveyor.com/api/projects/status/wna5429pix7ilcmo/branch/master?svg=true)](https://ci.appveyor.com/project/fralx/limereport/branch/master) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/bc31412ea4814f30825b5ed3723e9a70)](https://app.codacy.com/app/fralx/LimeReport?utm_source=github.com&utm_medium=referral&utm_content=fralx/LimeReport&utm_campaign=Badge_Grade_Dashboard)
|
||||
# LimeReport v1.5.87 [![Build status](https://ci.appveyor.com/api/projects/status/wna5429pix7ilcmo/branch/master?svg=true)](https://ci.appveyor.com/project/fralx/limereport/branch/master) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/bc31412ea4814f30825b5ed3723e9a70)](https://app.codacy.com/app/fralx/LimeReport?utm_source=github.com&utm_medium=referral&utm_content=fralx/LimeReport&utm_campaign=Badge_Grade_Dashboard) ![Cmake Build Status](https://github.com/fralx/limereport/actions/workflows/cmake.yml/badge.svg)
|
||||
|
||||
## Official LimeReport web site [http://limereport.ru](http://limereport.ru)
|
||||
|
||||
@ -23,8 +23,37 @@
|
||||
|
||||
### How to use it
|
||||
|
||||
1. Build limereport.pro. It will create a limereport shared library
|
||||
2. In your project connect the limereport library then in source code add:
|
||||
#### QMake
|
||||
|
||||
- Build limereport.pro. It will create a limereport shared library
|
||||
- In your project connect the limereport library
|
||||
|
||||
#### CMake
|
||||
|
||||
To use in your application without installation
|
||||
|
||||
There are 2 possible ways:
|
||||
|
||||
- Use cmake subdirectory in your CMakeLists.txt:
|
||||
|
||||
```cmake
|
||||
add_subdirectory(LimeReport)
|
||||
target_link_libraries(myapp PRIVATE limereport-qt${QT_VERSION_MAJOR})
|
||||
```
|
||||
- Use cmake FetchContent in your CMakeLists.txt:
|
||||
|
||||
```cmake
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
LimeReport
|
||||
GIT_REPOSITORY https://github.com/fralx/LimeReport.git
|
||||
GIT_TAG sha-of-the-commit
|
||||
)
|
||||
FetchContent_MakeAvailable(LimeReport)
|
||||
target_link_libraries(myapp PRIVATE limereport-qt${QT_VERSION_MAJOR})
|
||||
```
|
||||
|
||||
- Then in source code add:
|
||||
|
||||
```cpp
|
||||
#include "lrreportengine.h" to add report engine
|
||||
|
@ -141,7 +141,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc
|
||||
|
||||
LIMEREPORT_VERSION_MAJOR = 1
|
||||
LIMEREPORT_VERSION_MINOR = 6
|
||||
LIMEREPORT_VERSION_RELEASE = 0
|
||||
LIMEREPORT_VERSION_RELEASE = 8
|
||||
|
||||
LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}'
|
||||
DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\"
|
||||
|
8
demo_r1/.idea/.gitignore
vendored
Normal file
8
demo_r1/.idea/.gitignore
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
2
demo_r1/.idea/demo_r1.iml
Normal file
2
demo_r1/.idea/demo_r1.iml
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module classpath="CMake" type="CPP_MODULE" version="4" />
|
4
demo_r1/.idea/misc.xml
Normal file
4
demo_r1/.idea/misc.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
|
||||
</project>
|
8
demo_r1/.idea/modules.xml
Normal file
8
demo_r1/.idea/modules.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/demo_r1.iml" filepath="$PROJECT_DIR$/.idea/demo_r1.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
6
demo_r1/.idea/vcs.xml
Normal file
6
demo_r1/.idea/vcs.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
||||
</component>
|
||||
</project>
|
@ -1,3 +1,5 @@
|
||||
project(demo_r1)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
@ -9,15 +11,14 @@ set(PROJECT_SOURCES
|
||||
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(demo_r1 PRIVATE
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE
|
||||
Qt${QT_VERSION_MAJOR}::Core
|
||||
Qt${QT_VERSION_MAJOR}::Widgets
|
||||
Qt${QT_VERSION_MAJOR}::PrintSupport
|
||||
Qt${QT_VERSION_MAJOR}::Qml
|
||||
Qt${QT_VERSION_MAJOR}::Sql
|
||||
${PROJECT_NAME}
|
||||
limereport-qt${QT_VERSION_MAJOR}
|
||||
)
|
||||
|
||||
|
BIN
demo_r1/demo_reports/1.4/test.zip
Normal file
BIN
demo_r1/demo_reports/1.4/test.zip
Normal file
Binary file not shown.
3020
demo_r1/demo_reports/BL détaillé.lrxml
Normal file
3020
demo_r1/demo_reports/BL détaillé.lrxml
Normal file
File diff suppressed because it is too large
Load Diff
3020
demo_r1/demo_reports/BL détaillé_upd.lrxml
Normal file
3020
demo_r1/demo_reports/BL détaillé_upd.lrxml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
demo_r1/demo_reports/BL détaillé_upd.zip
Normal file
BIN
demo_r1/demo_reports/BL détaillé_upd.zip
Normal file
Binary file not shown.
BIN
demo_r1/demo_reports/BL.detaille.zip
Normal file
BIN
demo_r1/demo_reports/BL.detaille.zip
Normal file
Binary file not shown.
492
demo_r1/demo_reports/DataSource_to_Column.lrxml
Normal file
492
demo_r1/demo_reports/DataSource_to_Column.lrxml
Normal file
@ -0,0 +1,492 @@
|
||||
<?xml version="1.0" encoding="UTF8"?>
|
||||
<Report>
|
||||
<object ClassName="LimeReport::ReportEnginePrivate" Type="Object">
|
||||
<objectName Type="QString"></objectName>
|
||||
<pages Type="Collection">
|
||||
<item ClassName="LimeReport::PageDesignIntf" Type="Object">
|
||||
<objectName Type="QString">page1</objectName>
|
||||
<sceneRect y="-50" Type="QRect" x="-50" width="2200" height="3075"/>
|
||||
<bspTreeDepth Value="5" Type="int"/>
|
||||
<font weight="50" italic="0" underline="0" Type="QFont" family="MS Shell Dlg 2" pointSize="8"/>
|
||||
<sortCacheEnabled Value="0" Type="bool"/>
|
||||
<stickyFocus Value="0" Type="bool"/>
|
||||
<minimumRenderSize Value="0" Type="qreal"/>
|
||||
<focusOnTouch Value="1" Type="bool"/>
|
||||
<pageItem ClassName="PageItem" Type="Object">
|
||||
<objectName Type="QString">Reportpage1</objectName>
|
||||
<geometry y="0" Type="QRect" x="0" width="2100" height="2970"/>
|
||||
<children Type="Collection">
|
||||
<item ClassName="Data" Type="Object">
|
||||
<objectName Type="QString">DataBand1</objectName>
|
||||
<geometry y="184" Type="QRect" x="50" width="2000" height="100"/>
|
||||
<children Type="Collection">
|
||||
<item ClassName="HLayout" Type="Object">
|
||||
<objectName Type="QString">HorizontalLayout9</objectName>
|
||||
<geometry y="26" Type="QRect" x="46" width="644" height="50"/>
|
||||
<children Type="Collection">
|
||||
<item ClassName="TextItem" Type="Object">
|
||||
<objectName Type="QString">TextItem3</objectName>
|
||||
<geometry y="0" Type="QRect" x="0" width="200" height="50"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="-1" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">HorizontalLayout9</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="0" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">$S{if (!datasources.get("d1")) $D{d1.1}; else ""}</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="36" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font weight="50" italic="0" underline="0" Type="QFont" family="Arial" pointSize="10"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
<item ClassName="TextItem" Type="Object">
|
||||
<objectName Type="QString">TextItem4</objectName>
|
||||
<geometry y="0" Type="QRect" x="200" width="244" height="50"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="-1" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">HorizontalLayout9</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="0" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">$S{if (!datasources.get("d2")) $D{d2.1}; else ""}</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="36" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font weight="50" italic="0" underline="0" Type="QFont" family="Arial" pointSize="10"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
<item ClassName="TextItem" Type="Object">
|
||||
<objectName Type="QString">TextItem5</objectName>
|
||||
<geometry y="0" Type="QRect" x="444" width="200" height="50"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="-1" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">HorizontalLayout9</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="0" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">$S{if (!datasources.get("d3")) $D{d3.1}; else ""}</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="36" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font weight="50" italic="0" underline="0" Type="QFont" family="Arial" pointSize="10"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">DataBand1</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="0" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<hideEmptyItems Value="0" Type="bool"/>
|
||||
<layoutSpacing Value="0" Type="int"/>
|
||||
<layoutType Value="0" Type="enumAndFlags"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">Reportpage1</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<autoHeight Value="1" Type="bool"/>
|
||||
<bandIndex Value="2" Type="int"/>
|
||||
<keepBottomSpace Value="0" Type="bool"/>
|
||||
<keepTopSpace Value="1" Type="bool"/>
|
||||
<parentBand Type="QString"></parentBand>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<printIfEmpty Value="0" Type="bool"/>
|
||||
<backgroundMode Value="0" Type="enumAndFlags"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<shiftItems Value="0" Type="int"/>
|
||||
<datasource Type="QString">d3</datasource>
|
||||
<keepSubdetailTogether Value="0" Type="bool"/>
|
||||
<splittable Value="0" Type="bool"/>
|
||||
<keepFooterTogether Value="0" Type="bool"/>
|
||||
<sliceLastRow Value="0" Type="bool"/>
|
||||
<columnsCount Value="1" Type="int"/>
|
||||
<columnsFillDirection Value="0" Type="enumAndFlags"/>
|
||||
<startNewPage Value="0" Type="bool"/>
|
||||
<startFromNewPage Value="0" Type="bool"/>
|
||||
<alternateBackgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<useAlternateBackgroundColor Value="0" Type="bool"/>
|
||||
</item>
|
||||
<item ClassName="DataHeader" Type="Object">
|
||||
<objectName Type="QString">DataHeaderBand5</objectName>
|
||||
<geometry y="50" Type="QRect" x="50" width="2000" height="134"/>
|
||||
<children Type="Collection">
|
||||
<item ClassName="HLayout" Type="Object">
|
||||
<objectName Type="QString">HorizontalLayout8</objectName>
|
||||
<geometry y="28" Type="QRect" x="44" width="644" height="82"/>
|
||||
<children Type="Collection">
|
||||
<item ClassName="TextItem" Type="Object">
|
||||
<objectName Type="QString">TextItem6</objectName>
|
||||
<geometry y="0" Type="QRect" x="0" width="200" height="82"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="-1" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">HorizontalLayout8</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="0" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">Datasource "d1"</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="36" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font weight="50" italic="0" underline="0" Type="QFont" family="Arial" pointSize="10"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
<item ClassName="TextItem" Type="Object">
|
||||
<objectName Type="QString">TextItem7</objectName>
|
||||
<geometry y="0" Type="QRect" x="200" width="244" height="82"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="-1" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">HorizontalLayout8</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="0" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">Datasource "d2"</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="36" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font weight="50" italic="0" underline="0" Type="QFont" family="Arial" pointSize="10"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
<item ClassName="TextItem" Type="Object">
|
||||
<objectName Type="QString">TextItem8</objectName>
|
||||
<geometry y="0" Type="QRect" x="444" width="200" height="82"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="-1" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">HorizontalLayout8</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="0" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">Datasource "d3"</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="36" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font weight="50" italic="0" underline="0" Type="QFont" family="Arial" pointSize="10"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">DataHeaderBand5</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="0" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<hideEmptyItems Value="0" Type="bool"/>
|
||||
<layoutSpacing Value="0" Type="int"/>
|
||||
<layoutType Value="0" Type="enumAndFlags"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">Reportpage1</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<autoHeight Value="1" Type="bool"/>
|
||||
<bandIndex Value="1" Type="int"/>
|
||||
<keepBottomSpace Value="0" Type="bool"/>
|
||||
<keepTopSpace Value="1" Type="bool"/>
|
||||
<parentBand Type="QString">DataBand1</parentBand>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<printIfEmpty Value="0" Type="bool"/>
|
||||
<backgroundMode Value="0" Type="enumAndFlags"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<shiftItems Value="0" Type="int"/>
|
||||
<reprintOnEachPage Value="0" Type="bool"/>
|
||||
<columnsCount Value="1" Type="int"/>
|
||||
<columnsFillDirection Value="0" Type="enumAndFlags"/>
|
||||
<printAlways Value="0" Type="bool"/>
|
||||
<repeatOnEachRow Value="0" Type="bool"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString"></parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<topMargin Value="5" Type="int"/>
|
||||
<bottomMargin Value="5" Type="int"/>
|
||||
<rightMargin Value="5" Type="int"/>
|
||||
<leftMargin Value="5" Type="int"/>
|
||||
<pageOrientation Value="0" Type="enumAndFlags"/>
|
||||
<pageSize Value="0" Type="enumAndFlags"/>
|
||||
<gridStep Value="1" Type="int"/>
|
||||
<fullPage Value="0" Type="bool"/>
|
||||
<oldPrintMode Value="0" Type="bool"/>
|
||||
<resetPageNumber Value="0" Type="bool"/>
|
||||
<isExtendedInDesignMode Value="0" Type="bool"/>
|
||||
<extendedHeight Value="1000" Type="int"/>
|
||||
<pageIsTOC Value="0" Type="bool"/>
|
||||
<setPageSizeToPrinter Value="0" Type="bool"/>
|
||||
<endlessHeight Value="0" Type="bool"/>
|
||||
<printable Value="1" Type="bool"/>
|
||||
<printerName Type="QString"></printerName>
|
||||
<units Value="0" Type="enumAndFlags"/>
|
||||
<printBehavior Value="1" Type="enumAndFlags"/>
|
||||
<dropPrinterMargins Value="0" Type="bool"/>
|
||||
<notPrintIfEmpty Value="0" Type="bool"/>
|
||||
<mixWithPriorPage Value="0" Type="bool"/>
|
||||
</pageItem>
|
||||
</item>
|
||||
</pages>
|
||||
<datasourcesManager ClassName="LimeReport::DataSourceManager" Type="Object">
|
||||
<objectName Type="QString">datasources</objectName>
|
||||
<connections Type="Collection"/>
|
||||
<queries Type="Collection"/>
|
||||
<subqueries Type="Collection"/>
|
||||
<subproxies Type="Collection"/>
|
||||
<variables Type="Collection">
|
||||
<item ClassName="LimeReport::VarDesc" Type="Object">
|
||||
<objectName Type="QString"></objectName>
|
||||
<name Type="QString">base_ds</name>
|
||||
<value Type="QString">d2</value>
|
||||
<isMandatory Value="0" Type="bool"/>
|
||||
<dataType Value="0" Type="int"/>
|
||||
</item>
|
||||
</variables>
|
||||
<csvs Type="Collection">
|
||||
<item ClassName="LimeReport::CSVDesc" Type="Object">
|
||||
<objectName Type="QString"></objectName>
|
||||
<name Type="QString">d1</name>
|
||||
<csvText Type="QString">1;2
|
||||
2;4</csvText>
|
||||
<separator Type="QString">;</separator>
|
||||
<firstRowIsHeader Value="0" Type="bool"/>
|
||||
</item>
|
||||
<item ClassName="LimeReport::CSVDesc" Type="Object">
|
||||
<objectName Type="QString"></objectName>
|
||||
<name Type="QString">d3</name>
|
||||
<csvText Type="QString">4;4
|
||||
5;8
|
||||
1;9</csvText>
|
||||
<separator Type="QString">;</separator>
|
||||
<firstRowIsHeader Value="0" Type="bool"/>
|
||||
</item>
|
||||
<item ClassName="LimeReport::CSVDesc" Type="Object">
|
||||
<objectName Type="QString"></objectName>
|
||||
<name Type="QString">d2</name>
|
||||
<csvText Type="QString">3;5
|
||||
2;8
|
||||
4;1
|
||||
6;8</csvText>
|
||||
<separator Type="QString">;</separator>
|
||||
<firstRowIsHeader Value="0" Type="bool"/>
|
||||
</item>
|
||||
</csvs>
|
||||
</datasourcesManager>
|
||||
<scriptContext ClassName="LimeReport::ScriptEngineContext" Type="Object">
|
||||
<objectName Type="QString"></objectName>
|
||||
<dialogs Type="Collection"/>
|
||||
<initScript Type="QString">Reportpage1_DataBand1.afterRender.connect(AF)
|
||||
Reportpage1_DataBand1.datasource = getVariable("base_ds")
|
||||
|
||||
var ds_names = ["d1","d2","d3"]
|
||||
var datasources = new Map()
|
||||
|
||||
for (name of ds_names){ datasources.set(name, false) }
|
||||
|
||||
function AF(){
|
||||
for (ds of datasources){
|
||||
if (ds[0] !== getVariable("base_ds")){
|
||||
DatasourceFunctions.next(ds[0])
|
||||
datasources.set(ds[0], DatasourceFunctions.isEOF(ds[0]))
|
||||
}
|
||||
}
|
||||
}</initScript>
|
||||
</scriptContext>
|
||||
<suppressFieldAndVarError Value="0" Type="bool"/>
|
||||
<translation Type="Translation"/>
|
||||
</object>
|
||||
</Report>
|
2893
demo_r1/demo_reports/Facture.lrxml
Normal file
2893
demo_r1/demo_reports/Facture.lrxml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
demo_r1/demo_reports/db.sqlite3
Normal file
BIN
demo_r1/demo_reports/db.sqlite3
Normal file
Binary file not shown.
BIN
demo_r1/demo_reports/form.lrd
Normal file
BIN
demo_r1/demo_reports/form.lrd
Normal file
Binary file not shown.
1554
demo_r1/demo_reports/ladder.lrxml
Normal file
1554
demo_r1/demo_reports/ladder.lrxml
Normal file
File diff suppressed because it is too large
Load Diff
2891
demo_r1/demo_reports/lr_git_test.lrxml
Normal file
2891
demo_r1/demo_reports/lr_git_test.lrxml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
demo_r1/demo_reports/multimote/db.sqlite3
Normal file
BIN
demo_r1/demo_reports/multimote/db.sqlite3
Normal file
Binary file not shown.
617
demo_r1/demo_reports/multimote/test.lrxml
Normal file
617
demo_r1/demo_reports/multimote/test.lrxml
Normal file
@ -0,0 +1,617 @@
|
||||
<?xml version="1.0" encoding="UTF8"?>
|
||||
<Report>
|
||||
<object Type="Object" ClassName="LimeReport::ReportEnginePrivate">
|
||||
<objectName Type="QString"></objectName>
|
||||
<pages Type="Collection">
|
||||
<item Type="Object" ClassName="LimeReport::PageDesignIntf">
|
||||
<objectName Type="QString">page1</objectName>
|
||||
<itemIndexMethod Type="enumAndFlags" Value="0"/>
|
||||
<sceneRect Type="QRect" x="-50" y="-50" width="2200" height="3075"/>
|
||||
<bspTreeDepth Type="int" Value="5"/>
|
||||
<font Type="QFont" weight="50" pointSize="8" italic="0" family="MS Shell Dlg 2" underline="0"/>
|
||||
<sortCacheEnabled Type="bool" Value="0"/>
|
||||
<stickyFocus Type="bool" Value="0"/>
|
||||
<minimumRenderSize Type="qreal" Value="0"/>
|
||||
<focusOnTouch Type="bool" Value="1"/>
|
||||
<pageItem Type="Object" ClassName="PageItem">
|
||||
<objectName Type="QString">Reportpage1</objectName>
|
||||
<geometry Type="QRect" x="0" y="0" width="2100" height="2970"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="Data">
|
||||
<objectName Type="QString">DataBand1</objectName>
|
||||
<geometry Type="QRect" x="50" y="210" width="2000" height="60"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem1</objectName>
|
||||
<geometry Type="QRect" x="730" y="0" width="200" height="50"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Type="qreal" Value="-1"/>
|
||||
<borders Type="enumAndFlags" Value="15"/>
|
||||
<parentName Type="QString">DataBand1</parentName>
|
||||
<borderLineSize Type="int" Value="1"/>
|
||||
<isVisible Type="bool" Value="1"/>
|
||||
<borderColor Type="QColor" Value="#000000"/>
|
||||
<geometryLocked Type="bool" Value="0"/>
|
||||
<itemLocation Type="enumAndFlags" Value="0"/>
|
||||
<stretchToMaxHeight Type="bool" Value="0"/>
|
||||
<itemAlign Type="enumAndFlags" Value="4"/>
|
||||
<content Type="QString">$D{test.first}</content>
|
||||
<margin Type="int" Value="4"/>
|
||||
<alignment Type="enumAndFlags" Value="33"/>
|
||||
<autoWidth Type="enumAndFlags" Value="0"/>
|
||||
<autoHeight Type="bool" Value="0"/>
|
||||
<font Type="QFont" weight="50" pointSize="10" italic="0" family="Arial" underline="0"/>
|
||||
<backgroundOpacity Type="int" Value="100"/>
|
||||
<backgroundMode Type="enumAndFlags" Value="1"/>
|
||||
<backgroundColor Type="QColor" Value="#ffffff"/>
|
||||
<fontColor Type="QColor" Value="#000000"/>
|
||||
<angle Type="enumAndFlags" Value="0"/>
|
||||
<foregroundOpacity Type="int" Value="100"/>
|
||||
<underlines Type="bool" Value="0"/>
|
||||
<adaptFontToSize Type="bool" Value="1"/>
|
||||
<trimValue Type="bool" Value="1"/>
|
||||
<lineSpacing Type="int" Value="1"/>
|
||||
<underlineLineSize Type="int" Value="1"/>
|
||||
<allowHTML Type="bool" Value="0"/>
|
||||
<allowHTMLInFields Type="bool" Value="0"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Type="enumAndFlags" Value="0"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Type="enumAndFlags" Value="1"/>
|
||||
<textIndent Type="qreal" Value="0"/>
|
||||
<textLayoutDirection Type="enumAndFlags" Value="2"/>
|
||||
<fillInSecondPass Type="bool" Value="0"/>
|
||||
<watermark Type="bool" Value="0"/>
|
||||
<replaceCRwithBR Type="bool" Value="0"/>
|
||||
<hideIfEmpty Type="bool" Value="0"/>
|
||||
<fontLetterSpacing Type="int" Value="0"/>
|
||||
</item>
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem4</objectName>
|
||||
<geometry Type="QRect" x="1130" y="0" width="200" height="50"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Type="qreal" Value="-1"/>
|
||||
<borders Type="enumAndFlags" Value="15"/>
|
||||
<parentName Type="QString">DataBand1</parentName>
|
||||
<borderLineSize Type="int" Value="1"/>
|
||||
<isVisible Type="bool" Value="1"/>
|
||||
<borderColor Type="QColor" Value="#000000"/>
|
||||
<geometryLocked Type="bool" Value="0"/>
|
||||
<itemLocation Type="enumAndFlags" Value="0"/>
|
||||
<stretchToMaxHeight Type="bool" Value="0"/>
|
||||
<itemAlign Type="enumAndFlags" Value="4"/>
|
||||
<content Type="QString">$D{test.summ}</content>
|
||||
<margin Type="int" Value="4"/>
|
||||
<alignment Type="enumAndFlags" Value="33"/>
|
||||
<autoWidth Type="enumAndFlags" Value="0"/>
|
||||
<autoHeight Type="bool" Value="0"/>
|
||||
<font Type="QFont" weight="50" pointSize="10" italic="0" family="Arial" underline="0"/>
|
||||
<backgroundOpacity Type="int" Value="100"/>
|
||||
<backgroundMode Type="enumAndFlags" Value="1"/>
|
||||
<backgroundColor Type="QColor" Value="#ffffff"/>
|
||||
<fontColor Type="QColor" Value="#000000"/>
|
||||
<angle Type="enumAndFlags" Value="0"/>
|
||||
<foregroundOpacity Type="int" Value="100"/>
|
||||
<underlines Type="bool" Value="0"/>
|
||||
<adaptFontToSize Type="bool" Value="1"/>
|
||||
<trimValue Type="bool" Value="1"/>
|
||||
<lineSpacing Type="int" Value="1"/>
|
||||
<underlineLineSize Type="int" Value="1"/>
|
||||
<allowHTML Type="bool" Value="0"/>
|
||||
<allowHTMLInFields Type="bool" Value="0"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Type="enumAndFlags" Value="0"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Type="enumAndFlags" Value="1"/>
|
||||
<textIndent Type="qreal" Value="0"/>
|
||||
<textLayoutDirection Type="enumAndFlags" Value="2"/>
|
||||
<fillInSecondPass Type="bool" Value="0"/>
|
||||
<watermark Type="bool" Value="0"/>
|
||||
<replaceCRwithBR Type="bool" Value="0"/>
|
||||
<hideIfEmpty Type="bool" Value="0"/>
|
||||
<fontLetterSpacing Type="int" Value="0"/>
|
||||
</item>
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem2</objectName>
|
||||
<geometry Type="QRect" x="930" y="0" width="200" height="50"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Type="qreal" Value="-1"/>
|
||||
<borders Type="enumAndFlags" Value="15"/>
|
||||
<parentName Type="QString">DataBand1</parentName>
|
||||
<borderLineSize Type="int" Value="1"/>
|
||||
<isVisible Type="bool" Value="1"/>
|
||||
<borderColor Type="QColor" Value="#000000"/>
|
||||
<geometryLocked Type="bool" Value="0"/>
|
||||
<itemLocation Type="enumAndFlags" Value="0"/>
|
||||
<stretchToMaxHeight Type="bool" Value="0"/>
|
||||
<itemAlign Type="enumAndFlags" Value="4"/>
|
||||
<content Type="QString">$D{test.sec}</content>
|
||||
<margin Type="int" Value="4"/>
|
||||
<alignment Type="enumAndFlags" Value="33"/>
|
||||
<autoWidth Type="enumAndFlags" Value="0"/>
|
||||
<autoHeight Type="bool" Value="0"/>
|
||||
<font Type="QFont" weight="50" pointSize="10" italic="0" family="Arial" underline="0"/>
|
||||
<backgroundOpacity Type="int" Value="100"/>
|
||||
<backgroundMode Type="enumAndFlags" Value="1"/>
|
||||
<backgroundColor Type="QColor" Value="#ffffff"/>
|
||||
<fontColor Type="QColor" Value="#000000"/>
|
||||
<angle Type="enumAndFlags" Value="0"/>
|
||||
<foregroundOpacity Type="int" Value="100"/>
|
||||
<underlines Type="bool" Value="0"/>
|
||||
<adaptFontToSize Type="bool" Value="1"/>
|
||||
<trimValue Type="bool" Value="1"/>
|
||||
<lineSpacing Type="int" Value="1"/>
|
||||
<underlineLineSize Type="int" Value="1"/>
|
||||
<allowHTML Type="bool" Value="0"/>
|
||||
<allowHTMLInFields Type="bool" Value="0"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Type="enumAndFlags" Value="0"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Type="enumAndFlags" Value="1"/>
|
||||
<textIndent Type="qreal" Value="0"/>
|
||||
<textLayoutDirection Type="enumAndFlags" Value="2"/>
|
||||
<fillInSecondPass Type="bool" Value="0"/>
|
||||
<watermark Type="bool" Value="0"/>
|
||||
<replaceCRwithBR Type="bool" Value="0"/>
|
||||
<hideIfEmpty Type="bool" Value="0"/>
|
||||
<fontLetterSpacing Type="int" Value="0"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Type="qreal" Value="0"/>
|
||||
<borders Type="enumAndFlags" Value="0"/>
|
||||
<parentName Type="QString">Reportpage1</parentName>
|
||||
<borderLineSize Type="int" Value="1"/>
|
||||
<isVisible Type="bool" Value="1"/>
|
||||
<borderColor Type="QColor" Value="#000000"/>
|
||||
<geometryLocked Type="bool" Value="0"/>
|
||||
<autoHeight Type="bool" Value="1"/>
|
||||
<bandIndex Type="int" Value="6"/>
|
||||
<keepBottomSpace Type="bool" Value="0"/>
|
||||
<keepTopSpace Type="bool" Value="1"/>
|
||||
<parentBand Type="QString"></parentBand>
|
||||
<backgroundColor Type="QColor" Value="#ffffff"/>
|
||||
<backgroundBrushStyle Type="enumAndFlags" Value="1"/>
|
||||
<printIfEmpty Type="bool" Value="0"/>
|
||||
<backgroundMode Type="enumAndFlags" Value="0"/>
|
||||
<backgroundOpacity Type="int" Value="100"/>
|
||||
<shiftItems Type="int" Value="0"/>
|
||||
<datasource Type="QString">test</datasource>
|
||||
<keepSubdetailTogether Type="bool" Value="0"/>
|
||||
<splittable Type="bool" Value="0"/>
|
||||
<keepFooterTogether Type="bool" Value="0"/>
|
||||
<sliceLastRow Type="bool" Value="0"/>
|
||||
<columnsCount Type="int" Value="1"/>
|
||||
<columnsFillDirection Type="enumAndFlags" Value="0"/>
|
||||
<startNewPage Type="bool" Value="0"/>
|
||||
<startFromNewPage Type="bool" Value="0"/>
|
||||
<alternateBackgroundColor Type="QColor" Value="#ffffff"/>
|
||||
<useAlternateBackgroundColor Type="bool" Value="0"/>
|
||||
</item>
|
||||
<item Type="Object" ClassName="GroupHeader">
|
||||
<objectName Type="QString">GroupBandHeader4</objectName>
|
||||
<geometry Type="QRect" x="50" y="100" width="2000" height="110"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem5</objectName>
|
||||
<geometry Type="QRect" x="730" y="60" width="200" height="50"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Type="qreal" Value="0"/>
|
||||
<borders Type="enumAndFlags" Value="0"/>
|
||||
<parentName Type="QString">GroupBandHeader4</parentName>
|
||||
<borderLineSize Type="int" Value="1"/>
|
||||
<isVisible Type="bool" Value="1"/>
|
||||
<borderColor Type="QColor" Value="#000000"/>
|
||||
<geometryLocked Type="bool" Value="0"/>
|
||||
<itemLocation Type="enumAndFlags" Value="0"/>
|
||||
<stretchToMaxHeight Type="bool" Value="0"/>
|
||||
<itemAlign Type="enumAndFlags" Value="4"/>
|
||||
<content Type="QString">Start first $D{test.first}</content>
|
||||
<margin Type="int" Value="4"/>
|
||||
<alignment Type="enumAndFlags" Value="33"/>
|
||||
<autoWidth Type="enumAndFlags" Value="0"/>
|
||||
<autoHeight Type="bool" Value="0"/>
|
||||
<font Type="QFont" weight="50" pointSize="10" italic="0" family="Arial" underline="0"/>
|
||||
<backgroundOpacity Type="int" Value="100"/>
|
||||
<backgroundMode Type="enumAndFlags" Value="1"/>
|
||||
<backgroundColor Type="QColor" Value="#ffffff"/>
|
||||
<fontColor Type="QColor" Value="#000000"/>
|
||||
<angle Type="enumAndFlags" Value="0"/>
|
||||
<foregroundOpacity Type="int" Value="100"/>
|
||||
<underlines Type="bool" Value="0"/>
|
||||
<adaptFontToSize Type="bool" Value="1"/>
|
||||
<trimValue Type="bool" Value="1"/>
|
||||
<lineSpacing Type="int" Value="1"/>
|
||||
<underlineLineSize Type="int" Value="1"/>
|
||||
<allowHTML Type="bool" Value="0"/>
|
||||
<allowHTMLInFields Type="bool" Value="0"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Type="enumAndFlags" Value="0"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Type="enumAndFlags" Value="1"/>
|
||||
<textIndent Type="qreal" Value="0"/>
|
||||
<textLayoutDirection Type="enumAndFlags" Value="2"/>
|
||||
<fillInSecondPass Type="bool" Value="0"/>
|
||||
<watermark Type="bool" Value="0"/>
|
||||
<replaceCRwithBR Type="bool" Value="0"/>
|
||||
<hideIfEmpty Type="bool" Value="0"/>
|
||||
<fontLetterSpacing Type="int" Value="0"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Type="qreal" Value="0"/>
|
||||
<borders Type="enumAndFlags" Value="0"/>
|
||||
<parentName Type="QString">Reportpage1</parentName>
|
||||
<borderLineSize Type="int" Value="1"/>
|
||||
<isVisible Type="bool" Value="1"/>
|
||||
<borderColor Type="QColor" Value="#000000"/>
|
||||
<geometryLocked Type="bool" Value="0"/>
|
||||
<autoHeight Type="bool" Value="1"/>
|
||||
<bandIndex Type="int" Value="3"/>
|
||||
<keepBottomSpace Type="bool" Value="0"/>
|
||||
<keepTopSpace Type="bool" Value="1"/>
|
||||
<parentBand Type="QString">DataBand1</parentBand>
|
||||
<backgroundColor Type="QColor" Value="#ffffff"/>
|
||||
<backgroundBrushStyle Type="enumAndFlags" Value="1"/>
|
||||
<printIfEmpty Type="bool" Value="0"/>
|
||||
<backgroundMode Type="enumAndFlags" Value="0"/>
|
||||
<backgroundOpacity Type="int" Value="100"/>
|
||||
<shiftItems Type="int" Value="0"/>
|
||||
<groupFieldName Type="QString">first</groupFieldName>
|
||||
<splittable Type="bool" Value="0"/>
|
||||
<keepGroupTogether Type="bool" Value="0"/>
|
||||
<startNewPage Type="bool" Value="0"/>
|
||||
<resetPageNumber Type="bool" Value="0"/>
|
||||
<reprintOnEachPage Type="bool" Value="0"/>
|
||||
<condition Type="QString"></condition>
|
||||
</item>
|
||||
<item Type="Object" ClassName="GroupFooter">
|
||||
<objectName Type="QString">GroupBandFooter4</objectName>
|
||||
<geometry Type="QRect" x="50" y="270" width="2000" height="60"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem62</objectName>
|
||||
<geometry Type="QRect" x="1130" y="10" width="470" height="50"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Type="qreal" Value="-1"/>
|
||||
<borders Type="enumAndFlags" Value="0"/>
|
||||
<parentName Type="QString">GroupBandFooter4</parentName>
|
||||
<borderLineSize Type="int" Value="1"/>
|
||||
<isVisible Type="bool" Value="1"/>
|
||||
<borderColor Type="QColor" Value="#000000"/>
|
||||
<geometryLocked Type="bool" Value="0"/>
|
||||
<itemLocation Type="enumAndFlags" Value="0"/>
|
||||
<stretchToMaxHeight Type="bool" Value="0"/>
|
||||
<itemAlign Type="enumAndFlags" Value="4"/>
|
||||
<content Type="QString">$S{SUM("$D{test.summ}", "DataBand1")}</content>
|
||||
<margin Type="int" Value="4"/>
|
||||
<alignment Type="enumAndFlags" Value="33"/>
|
||||
<autoWidth Type="enumAndFlags" Value="0"/>
|
||||
<autoHeight Type="bool" Value="0"/>
|
||||
<font Type="QFont" weight="50" pointSize="10" italic="0" family="Arial" underline="0"/>
|
||||
<backgroundOpacity Type="int" Value="100"/>
|
||||
<backgroundMode Type="enumAndFlags" Value="1"/>
|
||||
<backgroundColor Type="QColor" Value="#ffffff"/>
|
||||
<fontColor Type="QColor" Value="#000000"/>
|
||||
<angle Type="enumAndFlags" Value="0"/>
|
||||
<foregroundOpacity Type="int" Value="100"/>
|
||||
<underlines Type="bool" Value="0"/>
|
||||
<adaptFontToSize Type="bool" Value="1"/>
|
||||
<trimValue Type="bool" Value="1"/>
|
||||
<lineSpacing Type="int" Value="1"/>
|
||||
<underlineLineSize Type="int" Value="1"/>
|
||||
<allowHTML Type="bool" Value="0"/>
|
||||
<allowHTMLInFields Type="bool" Value="0"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Type="enumAndFlags" Value="0"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Type="enumAndFlags" Value="1"/>
|
||||
<textIndent Type="qreal" Value="0"/>
|
||||
<textLayoutDirection Type="enumAndFlags" Value="2"/>
|
||||
<fillInSecondPass Type="bool" Value="0"/>
|
||||
<watermark Type="bool" Value="0"/>
|
||||
<replaceCRwithBR Type="bool" Value="0"/>
|
||||
<hideIfEmpty Type="bool" Value="0"/>
|
||||
<fontLetterSpacing Type="int" Value="0"/>
|
||||
</item>
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem65</objectName>
|
||||
<geometry Type="QRect" x="730" y="10" width="200" height="50"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Type="qreal" Value="-1"/>
|
||||
<borders Type="enumAndFlags" Value="0"/>
|
||||
<parentName Type="QString">GroupBandFooter4</parentName>
|
||||
<borderLineSize Type="int" Value="1"/>
|
||||
<isVisible Type="bool" Value="1"/>
|
||||
<borderColor Type="QColor" Value="#000000"/>
|
||||
<geometryLocked Type="bool" Value="0"/>
|
||||
<itemLocation Type="enumAndFlags" Value="0"/>
|
||||
<stretchToMaxHeight Type="bool" Value="0"/>
|
||||
<itemAlign Type="enumAndFlags" Value="4"/>
|
||||
<content Type="QString">End first $D{test.first}</content>
|
||||
<margin Type="int" Value="4"/>
|
||||
<alignment Type="enumAndFlags" Value="33"/>
|
||||
<autoWidth Type="enumAndFlags" Value="0"/>
|
||||
<autoHeight Type="bool" Value="0"/>
|
||||
<font Type="QFont" weight="50" pointSize="10" italic="0" family="Arial" underline="0"/>
|
||||
<backgroundOpacity Type="int" Value="100"/>
|
||||
<backgroundMode Type="enumAndFlags" Value="1"/>
|
||||
<backgroundColor Type="QColor" Value="#ffffff"/>
|
||||
<fontColor Type="QColor" Value="#000000"/>
|
||||
<angle Type="enumAndFlags" Value="0"/>
|
||||
<foregroundOpacity Type="int" Value="100"/>
|
||||
<underlines Type="bool" Value="0"/>
|
||||
<adaptFontToSize Type="bool" Value="1"/>
|
||||
<trimValue Type="bool" Value="1"/>
|
||||
<lineSpacing Type="int" Value="1"/>
|
||||
<underlineLineSize Type="int" Value="1"/>
|
||||
<allowHTML Type="bool" Value="0"/>
|
||||
<allowHTMLInFields Type="bool" Value="0"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Type="enumAndFlags" Value="0"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Type="enumAndFlags" Value="1"/>
|
||||
<textIndent Type="qreal" Value="0"/>
|
||||
<textLayoutDirection Type="enumAndFlags" Value="2"/>
|
||||
<fillInSecondPass Type="bool" Value="0"/>
|
||||
<watermark Type="bool" Value="0"/>
|
||||
<replaceCRwithBR Type="bool" Value="0"/>
|
||||
<hideIfEmpty Type="bool" Value="0"/>
|
||||
<fontLetterSpacing Type="int" Value="0"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Type="qreal" Value="0"/>
|
||||
<borders Type="enumAndFlags" Value="0"/>
|
||||
<parentName Type="QString">Reportpage1</parentName>
|
||||
<borderLineSize Type="int" Value="1"/>
|
||||
<isVisible Type="bool" Value="1"/>
|
||||
<borderColor Type="QColor" Value="#000000"/>
|
||||
<geometryLocked Type="bool" Value="0"/>
|
||||
<autoHeight Type="bool" Value="1"/>
|
||||
<bandIndex Type="int" Value="9"/>
|
||||
<keepBottomSpace Type="bool" Value="0"/>
|
||||
<keepTopSpace Type="bool" Value="1"/>
|
||||
<parentBand Type="QString">GroupBandHeader4</parentBand>
|
||||
<backgroundColor Type="QColor" Value="#ffffff"/>
|
||||
<backgroundBrushStyle Type="enumAndFlags" Value="1"/>
|
||||
<printIfEmpty Type="bool" Value="0"/>
|
||||
<backgroundMode Type="enumAndFlags" Value="0"/>
|
||||
<backgroundOpacity Type="int" Value="100"/>
|
||||
<shiftItems Type="int" Value="0"/>
|
||||
</item>
|
||||
<item Type="Object" ClassName="DataHeader">
|
||||
<objectName Type="QString">DataHeaderBand1</objectName>
|
||||
<geometry Type="QRect" x="50" y="50" width="2000" height="50"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem3</objectName>
|
||||
<geometry Type="QRect" x="930" y="0" width="200" height="50"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Type="qreal" Value="-1"/>
|
||||
<borders Type="enumAndFlags" Value="15"/>
|
||||
<parentName Type="QString">DataHeaderBand1</parentName>
|
||||
<borderLineSize Type="int" Value="1"/>
|
||||
<isVisible Type="bool" Value="1"/>
|
||||
<borderColor Type="QColor" Value="#000000"/>
|
||||
<geometryLocked Type="bool" Value="0"/>
|
||||
<itemLocation Type="enumAndFlags" Value="0"/>
|
||||
<stretchToMaxHeight Type="bool" Value="0"/>
|
||||
<itemAlign Type="enumAndFlags" Value="4"/>
|
||||
<content Type="QString">sec</content>
|
||||
<margin Type="int" Value="4"/>
|
||||
<alignment Type="enumAndFlags" Value="132"/>
|
||||
<autoWidth Type="enumAndFlags" Value="0"/>
|
||||
<autoHeight Type="bool" Value="0"/>
|
||||
<font Type="QFont" weight="50" pointSize="10" italic="0" family="Arial" underline="0"/>
|
||||
<backgroundOpacity Type="int" Value="100"/>
|
||||
<backgroundMode Type="enumAndFlags" Value="1"/>
|
||||
<backgroundColor Type="QColor" Value="#ffffff"/>
|
||||
<fontColor Type="QColor" Value="#000000"/>
|
||||
<angle Type="enumAndFlags" Value="0"/>
|
||||
<foregroundOpacity Type="int" Value="100"/>
|
||||
<underlines Type="bool" Value="0"/>
|
||||
<adaptFontToSize Type="bool" Value="1"/>
|
||||
<trimValue Type="bool" Value="1"/>
|
||||
<lineSpacing Type="int" Value="1"/>
|
||||
<underlineLineSize Type="int" Value="1"/>
|
||||
<allowHTML Type="bool" Value="0"/>
|
||||
<allowHTMLInFields Type="bool" Value="0"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Type="enumAndFlags" Value="0"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Type="enumAndFlags" Value="1"/>
|
||||
<textIndent Type="qreal" Value="0"/>
|
||||
<textLayoutDirection Type="enumAndFlags" Value="2"/>
|
||||
<fillInSecondPass Type="bool" Value="0"/>
|
||||
<watermark Type="bool" Value="0"/>
|
||||
<replaceCRwithBR Type="bool" Value="0"/>
|
||||
<hideIfEmpty Type="bool" Value="0"/>
|
||||
<fontLetterSpacing Type="int" Value="0"/>
|
||||
</item>
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem6</objectName>
|
||||
<geometry Type="QRect" x="1130" y="0" width="200" height="50"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Type="qreal" Value="-1"/>
|
||||
<borders Type="enumAndFlags" Value="15"/>
|
||||
<parentName Type="QString">DataHeaderBand1</parentName>
|
||||
<borderLineSize Type="int" Value="1"/>
|
||||
<isVisible Type="bool" Value="1"/>
|
||||
<borderColor Type="QColor" Value="#000000"/>
|
||||
<geometryLocked Type="bool" Value="0"/>
|
||||
<itemLocation Type="enumAndFlags" Value="0"/>
|
||||
<stretchToMaxHeight Type="bool" Value="0"/>
|
||||
<itemAlign Type="enumAndFlags" Value="4"/>
|
||||
<content Type="QString">summ</content>
|
||||
<margin Type="int" Value="4"/>
|
||||
<alignment Type="enumAndFlags" Value="132"/>
|
||||
<autoWidth Type="enumAndFlags" Value="0"/>
|
||||
<autoHeight Type="bool" Value="0"/>
|
||||
<font Type="QFont" weight="50" pointSize="10" italic="0" family="Arial" underline="0"/>
|
||||
<backgroundOpacity Type="int" Value="100"/>
|
||||
<backgroundMode Type="enumAndFlags" Value="1"/>
|
||||
<backgroundColor Type="QColor" Value="#ffffff"/>
|
||||
<fontColor Type="QColor" Value="#000000"/>
|
||||
<angle Type="enumAndFlags" Value="0"/>
|
||||
<foregroundOpacity Type="int" Value="100"/>
|
||||
<underlines Type="bool" Value="0"/>
|
||||
<adaptFontToSize Type="bool" Value="1"/>
|
||||
<trimValue Type="bool" Value="1"/>
|
||||
<lineSpacing Type="int" Value="1"/>
|
||||
<underlineLineSize Type="int" Value="1"/>
|
||||
<allowHTML Type="bool" Value="0"/>
|
||||
<allowHTMLInFields Type="bool" Value="0"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Type="enumAndFlags" Value="0"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Type="enumAndFlags" Value="1"/>
|
||||
<textIndent Type="qreal" Value="0"/>
|
||||
<textLayoutDirection Type="enumAndFlags" Value="2"/>
|
||||
<fillInSecondPass Type="bool" Value="0"/>
|
||||
<watermark Type="bool" Value="0"/>
|
||||
<replaceCRwithBR Type="bool" Value="0"/>
|
||||
<hideIfEmpty Type="bool" Value="0"/>
|
||||
<fontLetterSpacing Type="int" Value="0"/>
|
||||
</item>
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem7</objectName>
|
||||
<geometry Type="QRect" x="730" y="0" width="200" height="50"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Type="qreal" Value="-1"/>
|
||||
<borders Type="enumAndFlags" Value="15"/>
|
||||
<parentName Type="QString">DataHeaderBand1</parentName>
|
||||
<borderLineSize Type="int" Value="1"/>
|
||||
<isVisible Type="bool" Value="1"/>
|
||||
<borderColor Type="QColor" Value="#000000"/>
|
||||
<geometryLocked Type="bool" Value="0"/>
|
||||
<itemLocation Type="enumAndFlags" Value="0"/>
|
||||
<stretchToMaxHeight Type="bool" Value="0"/>
|
||||
<itemAlign Type="enumAndFlags" Value="4"/>
|
||||
<content Type="QString">first</content>
|
||||
<margin Type="int" Value="4"/>
|
||||
<alignment Type="enumAndFlags" Value="132"/>
|
||||
<autoWidth Type="enumAndFlags" Value="0"/>
|
||||
<autoHeight Type="bool" Value="0"/>
|
||||
<font Type="QFont" weight="50" pointSize="10" italic="0" family="Arial" underline="0"/>
|
||||
<backgroundOpacity Type="int" Value="100"/>
|
||||
<backgroundMode Type="enumAndFlags" Value="1"/>
|
||||
<backgroundColor Type="QColor" Value="#ffffff"/>
|
||||
<fontColor Type="QColor" Value="#000000"/>
|
||||
<angle Type="enumAndFlags" Value="0"/>
|
||||
<foregroundOpacity Type="int" Value="100"/>
|
||||
<underlines Type="bool" Value="0"/>
|
||||
<adaptFontToSize Type="bool" Value="1"/>
|
||||
<trimValue Type="bool" Value="1"/>
|
||||
<lineSpacing Type="int" Value="1"/>
|
||||
<underlineLineSize Type="int" Value="1"/>
|
||||
<allowHTML Type="bool" Value="0"/>
|
||||
<allowHTMLInFields Type="bool" Value="0"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Type="enumAndFlags" Value="0"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Type="enumAndFlags" Value="1"/>
|
||||
<textIndent Type="qreal" Value="0"/>
|
||||
<textLayoutDirection Type="enumAndFlags" Value="2"/>
|
||||
<fillInSecondPass Type="bool" Value="0"/>
|
||||
<watermark Type="bool" Value="0"/>
|
||||
<replaceCRwithBR Type="bool" Value="0"/>
|
||||
<hideIfEmpty Type="bool" Value="0"/>
|
||||
<fontLetterSpacing Type="int" Value="0"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Type="qreal" Value="0"/>
|
||||
<borders Type="enumAndFlags" Value="0"/>
|
||||
<parentName Type="QString">Reportpage1</parentName>
|
||||
<borderLineSize Type="int" Value="1"/>
|
||||
<isVisible Type="bool" Value="1"/>
|
||||
<borderColor Type="QColor" Value="#000000"/>
|
||||
<geometryLocked Type="bool" Value="0"/>
|
||||
<autoHeight Type="bool" Value="1"/>
|
||||
<bandIndex Type="int" Value="2"/>
|
||||
<keepBottomSpace Type="bool" Value="0"/>
|
||||
<keepTopSpace Type="bool" Value="1"/>
|
||||
<parentBand Type="QString">DataBand1</parentBand>
|
||||
<backgroundColor Type="QColor" Value="#ffffff"/>
|
||||
<backgroundBrushStyle Type="enumAndFlags" Value="1"/>
|
||||
<printIfEmpty Type="bool" Value="0"/>
|
||||
<backgroundMode Type="enumAndFlags" Value="0"/>
|
||||
<backgroundOpacity Type="int" Value="100"/>
|
||||
<shiftItems Type="int" Value="0"/>
|
||||
<reprintOnEachPage Type="bool" Value="0"/>
|
||||
<columnsCount Type="int" Value="1"/>
|
||||
<columnsFillDirection Type="enumAndFlags" Value="0"/>
|
||||
<printAlways Type="bool" Value="0"/>
|
||||
<repeatOnEachRow Type="bool" Value="0"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Type="qreal" Value="0"/>
|
||||
<borders Type="enumAndFlags" Value="0"/>
|
||||
<parentName Type="QString"></parentName>
|
||||
<borderLineSize Type="int" Value="1"/>
|
||||
<isVisible Type="bool" Value="1"/>
|
||||
<borderColor Type="QColor" Value="#000000"/>
|
||||
<geometryLocked Type="bool" Value="0"/>
|
||||
<topMargin Type="int" Value="5"/>
|
||||
<bottomMargin Type="int" Value="5"/>
|
||||
<rightMargin Type="int" Value="5"/>
|
||||
<leftMargin Type="int" Value="5"/>
|
||||
<pageOrientation Type="enumAndFlags" Value="0"/>
|
||||
<pageSize Type="enumAndFlags" Value="0"/>
|
||||
<gridStep Type="int" Value="10"/>
|
||||
<fullPage Type="bool" Value="0"/>
|
||||
<oldPrintMode Type="bool" Value="0"/>
|
||||
<resetPageNumber Type="bool" Value="0"/>
|
||||
<isExtendedInDesignMode Type="bool" Value="0"/>
|
||||
<extendedHeight Type="int" Value="1000"/>
|
||||
<pageIsTOC Type="bool" Value="0"/>
|
||||
<setPageSizeToPrinter Type="bool" Value="0"/>
|
||||
<endlessHeight Type="bool" Value="0"/>
|
||||
<printable Type="bool" Value="1"/>
|
||||
<printerName Type="QString"></printerName>
|
||||
<units Type="enumAndFlags" Value="0"/>
|
||||
<printBehavior Type="enumAndFlags" Value="1"/>
|
||||
<dropPrinterMargins Type="bool" Value="0"/>
|
||||
<notPrintIfEmpty Type="bool" Value="0"/>
|
||||
<mixWithPriorPage Type="bool" Value="0"/>
|
||||
</pageItem>
|
||||
</item>
|
||||
</pages>
|
||||
<datasourcesManager Type="Object" ClassName="LimeReport::DataSourceManager">
|
||||
<objectName Type="QString">datasources</objectName>
|
||||
<connections Type="Collection">
|
||||
<item Type="Object" ClassName="LimeReport::ConnectionDesc">
|
||||
<objectName Type="QString"></objectName>
|
||||
<name Type="QString">db</name>
|
||||
<driver Type="QString">QSQLITE</driver>
|
||||
<databaseName Type="QString">./db.sqlite3</databaseName>
|
||||
<userName Type="QString"></userName>
|
||||
<password Type="QString" Value=""/>
|
||||
<host Type="QString"></host>
|
||||
<autoconnect Type="bool" Value="0"/>
|
||||
<keepDBCredentials Type="bool" Value="1"/>
|
||||
<port Type="QString"></port>
|
||||
</item>
|
||||
</connections>
|
||||
<queries Type="Collection">
|
||||
<item Type="Object" ClassName="LimeReport::QueryDesc">
|
||||
<objectName Type="QString"></objectName>
|
||||
<queryName Type="QString">test</queryName>
|
||||
<queryText Type="QString">SELECT first, sec, SUM(summ) AS summ
|
||||
FROM test_table
|
||||
GROUP BY first, sec
|
||||
ORDER BY first, sec</queryText>
|
||||
<connectionName Type="QString">db</connectionName>
|
||||
</item>
|
||||
</queries>
|
||||
<subqueries Type="Collection"/>
|
||||
<subproxies Type="Collection"/>
|
||||
<variables Type="Collection"/>
|
||||
<csvs Type="Collection"/>
|
||||
</datasourcesManager>
|
||||
<scriptContext Type="Object" ClassName="LimeReport::ScriptEngineContext">
|
||||
<objectName Type="QString"></objectName>
|
||||
<dialogs Type="Collection"/>
|
||||
<initScript Type="QString"></initScript>
|
||||
</scriptContext>
|
||||
<suppressFieldAndVarError Type="bool" Value="0"/>
|
||||
<translation Type="Translation"/>
|
||||
</object>
|
||||
</Report>
|
3524
demo_r1/demo_reports/template.lrxml
Normal file
3524
demo_r1/demo_reports/template.lrxml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
demo_r1/demo_reports/test.zip
Normal file
BIN
demo_r1/demo_reports/test.zip
Normal file
Binary file not shown.
BIN
demo_r1/demo_reports/test/test.db
Normal file
BIN
demo_r1/demo_reports/test/test.db
Normal file
Binary file not shown.
432
demo_r1/demo_reports/test/test.lrxml
Normal file
432
demo_r1/demo_reports/test/test.lrxml
Normal file
@ -0,0 +1,432 @@
|
||||
<?xml version="1.0" encoding="UTF8"?>
|
||||
<Report>
|
||||
<object Type="Object" ClassName="LimeReport::ReportEnginePrivate">
|
||||
<objectName Type="QString"></objectName>
|
||||
<pages Type="Collection">
|
||||
<item Type="Object" ClassName="LimeReport::PageDesignIntf">
|
||||
<objectName Type="QString">page1</objectName>
|
||||
<itemIndexMethod Value="0" Type="enumAndFlags"/>
|
||||
<sceneRect y="-50" x="-50" Type="QRect" height="3075" width="2200"/>
|
||||
<bspTreeDepth Value="5" Type="int"/>
|
||||
<font underline="0" Type="QFont" weight="50" italic="0" pointSize="9" family="SimSun"/>
|
||||
<sortCacheEnabled Value="0" Type="bool"/>
|
||||
<stickyFocus Value="0" Type="bool"/>
|
||||
<minimumRenderSize Value="0" Type="qreal"/>
|
||||
<focusOnTouch Value="1" Type="bool"/>
|
||||
<pageItem Type="Object" ClassName="PageItem">
|
||||
<objectName Type="QString">Reportpage1</objectName>
|
||||
<geometry y="0" x="0" Type="QRect" height="2970" width="2100"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="PageHeader">
|
||||
<objectName Type="QString">PageHeader1</objectName>
|
||||
<geometry y="50" x="50" Type="QRect" height="234" width="2000"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem4</objectName>
|
||||
<geometry y="17" x="541" Type="QRect" height="205" width="361"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">PageHeader1</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="0" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">test</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="33" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font underline="0" Type="QFont" weight="50" italic="0" pointSize="10" family="宋体"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">Reportpage1</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<autoHeight Value="1" Type="bool"/>
|
||||
<bandIndex Value="0" Type="int"/>
|
||||
<keepBottomSpace Value="0" Type="bool"/>
|
||||
<keepTopSpace Value="1" Type="bool"/>
|
||||
<parentBand Type="QString"></parentBand>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<printIfEmpty Value="0" Type="bool"/>
|
||||
<backgroundMode Value="0" Type="enumAndFlags"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<shiftItems Value="0" Type="int"/>
|
||||
<printOnFirstPage Value="1" Type="bool"/>
|
||||
<printOnLastPage Value="1" Type="bool"/>
|
||||
</item>
|
||||
<item Type="Object" ClassName="Data">
|
||||
<objectName Type="QString">DataBand1</objectName>
|
||||
<geometry y="284" x="50" Type="QRect" height="50" width="2000"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem1</objectName>
|
||||
<geometry y="0" x="57" Type="QRect" height="49" width="945"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="15" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">DataBand1</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="1" Type="bool"/>
|
||||
<itemLocation Value="0" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">$D{test.1}</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="33" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font underline="0" Type="QFont" weight="50" italic="0" pointSize="10" family="宋体"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">Reportpage1</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<autoHeight Value="1" Type="bool"/>
|
||||
<bandIndex Value="1" Type="int"/>
|
||||
<keepBottomSpace Value="0" Type="bool"/>
|
||||
<keepTopSpace Value="1" Type="bool"/>
|
||||
<parentBand Type="QString"></parentBand>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<printIfEmpty Value="0" Type="bool"/>
|
||||
<backgroundMode Value="0" Type="enumAndFlags"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<shiftItems Value="0" Type="int"/>
|
||||
<datasource Type="QString">test</datasource>
|
||||
<keepSubdetailTogether Value="0" Type="bool"/>
|
||||
<splittable Value="0" Type="bool"/>
|
||||
<keepFooterTogether Value="1" Type="bool"/>
|
||||
<sliceLastRow Value="0" Type="bool"/>
|
||||
<columnsCount Value="1" Type="int"/>
|
||||
<columnsFillDirection Value="0" Type="enumAndFlags"/>
|
||||
<startNewPage Value="0" Type="bool"/>
|
||||
<startFromNewPage Value="0" Type="bool"/>
|
||||
<alternateBackgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<useAlternateBackgroundColor Value="0" Type="bool"/>
|
||||
</item>
|
||||
<item Type="Object" ClassName="PageFooter">
|
||||
<objectName Type="QString">PageFooter1</objectName>
|
||||
<geometry y="2819" x="50" Type="QRect" height="100" width="2000"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem5</objectName>
|
||||
<geometry y="9" x="460" Type="QRect" height="75" width="256"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">PageFooter1</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="0" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">page footer</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="33" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font underline="0" Type="QFont" weight="50" italic="0" pointSize="10" family="宋体"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">Reportpage1</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<bandIndex Value="3" Type="int"/>
|
||||
<keepBottomSpace Value="0" Type="bool"/>
|
||||
<keepTopSpace Value="1" Type="bool"/>
|
||||
<parentBand Type="QString"></parentBand>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<printIfEmpty Value="0" Type="bool"/>
|
||||
<backgroundMode Value="0" Type="enumAndFlags"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<shiftItems Value="0" Type="int"/>
|
||||
<printOnFirstPage Value="1" Type="bool"/>
|
||||
<printOnLastPage Value="1" Type="bool"/>
|
||||
<removeGap Value="0" Type="bool"/>
|
||||
</item>
|
||||
<item Type="Object" ClassName="DataFooter">
|
||||
<objectName Type="QString">DataFooterBand6</objectName>
|
||||
<geometry y="334" x="50" Type="QRect" height="2485" width="2000"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem6</objectName>
|
||||
<geometry y="1" x="57" Type="QRect" height="2446" width="945"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="14" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">DataFooterBand6</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="1" Type="bool"/>
|
||||
<itemLocation Value="0" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString"></content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="33" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font underline="0" Type="QFont" weight="50" italic="0" pointSize="10" family="宋体"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem7</objectName>
|
||||
<geometry y="20" x="74" Type="QRect" height="86" width="867"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">DataFooterBand6</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="0" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">note: follow up the last row in databand</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="33" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font underline="0" Type="QFont" weight="50" italic="0" pointSize="10" family="宋体"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">Reportpage1</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<autoHeight Value="1" Type="bool"/>
|
||||
<bandIndex Value="2" Type="int"/>
|
||||
<keepBottomSpace Value="0" Type="bool"/>
|
||||
<keepTopSpace Value="1" Type="bool"/>
|
||||
<parentBand Type="QString">DataBand1</parentBand>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<printIfEmpty Value="0" Type="bool"/>
|
||||
<backgroundMode Value="0" Type="enumAndFlags"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<shiftItems Value="0" Type="int"/>
|
||||
<columnsCount Value="1" Type="int"/>
|
||||
<splittable Value="0" Type="bool"/>
|
||||
<columnsFillDirection Value="0" Type="enumAndFlags"/>
|
||||
<printAlways Value="0" Type="bool"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString"></parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<topMargin Value="5" Type="int"/>
|
||||
<bottomMargin Value="5" Type="int"/>
|
||||
<rightMargin Value="5" Type="int"/>
|
||||
<leftMargin Value="5" Type="int"/>
|
||||
<pageOrientation Value="0" Type="enumAndFlags"/>
|
||||
<pageSize Value="0" Type="enumAndFlags"/>
|
||||
<gridStep Value="1" Type="int"/>
|
||||
<fullPage Value="0" Type="bool"/>
|
||||
<oldPrintMode Value="0" Type="bool"/>
|
||||
<resetPageNumber Value="0" Type="bool"/>
|
||||
<isExtendedInDesignMode Value="0" Type="bool"/>
|
||||
<extendedHeight Value="1000" Type="int"/>
|
||||
<pageIsTOC Value="0" Type="bool"/>
|
||||
<setPageSizeToPrinter Value="0" Type="bool"/>
|
||||
<endlessHeight Value="0" Type="bool"/>
|
||||
<printable Value="1" Type="bool"/>
|
||||
<printerName Type="QString"></printerName>
|
||||
<units Value="0" Type="enumAndFlags"/>
|
||||
<printBehavior Value="1" Type="enumAndFlags"/>
|
||||
<dropPrinterMargins Value="0" Type="bool"/>
|
||||
<notPrintIfEmpty Value="0" Type="bool"/>
|
||||
<mixWithPriorPage Value="0" Type="bool"/>
|
||||
</pageItem>
|
||||
</item>
|
||||
</pages>
|
||||
<datasourcesManager Type="Object" ClassName="LimeReport::DataSourceManager">
|
||||
<objectName Type="QString">datasources</objectName>
|
||||
<connections Type="Collection"/>
|
||||
<queries Type="Collection"/>
|
||||
<subqueries Type="Collection"/>
|
||||
<subproxies Type="Collection"/>
|
||||
<variables Type="Collection"/>
|
||||
<csvs Type="Collection">
|
||||
<item Type="Object" ClassName="LimeReport::CSVDesc">
|
||||
<objectName Type="QString"></objectName>
|
||||
<name Type="QString">test</name>
|
||||
<csvText Type="QString">12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
45
|
||||
67
|
||||
59</csvText>
|
||||
<separator Type="QString">;</separator>
|
||||
<firstRowIsHeader Value="0" Type="bool"/>
|
||||
</item>
|
||||
</csvs>
|
||||
</datasourcesManager>
|
||||
<scriptContext Type="Object" ClassName="LimeReport::ScriptEngineContext">
|
||||
<objectName Type="QString"></objectName>
|
||||
<dialogs Type="Collection"/>
|
||||
<initScript Type="QString">Reportpage1_DataBand1.afterRender.connect(rr)
|
||||
function rr(){
|
||||
Reportpage1_DataFooterBand6.setItemHeight(253-Reportpage1_DataBand1.geometry.height/10.0);
|
||||
Reportpage1_TextItem6.setItemHeight(248-Reportpage1_DataBand1.geometry.height/10.0);
|
||||
}</initScript>
|
||||
</scriptContext>
|
||||
<suppressFieldAndVarError Value="0" Type="bool"/>
|
||||
<translation Type="Translation"/>
|
||||
</object>
|
||||
</Report>
|
843
demo_r1/demo_reports/test/test1.lrxml
Normal file
843
demo_r1/demo_reports/test/test1.lrxml
Normal file
@ -0,0 +1,843 @@
|
||||
<?xml version="1.0" encoding="UTF8"?>
|
||||
<Report>
|
||||
<object Type="Object" ClassName="LimeReport::ReportEnginePrivate">
|
||||
<objectName Type="QString"></objectName>
|
||||
<pages Type="Collection">
|
||||
<item Type="Object" ClassName="LimeReport::PageDesignIntf">
|
||||
<objectName Type="QString">page1</objectName>
|
||||
<itemIndexMethod Value="0" Type="enumAndFlags"/>
|
||||
<sceneRect y="-50" height="3075" Type="QRect" x="-50" width="2200"/>
|
||||
<bspTreeDepth Value="5" Type="int"/>
|
||||
<font italic="0" family="SimSun" pointSize="9" underline="0" Type="QFont" weight="50"/>
|
||||
<sortCacheEnabled Value="0" Type="bool"/>
|
||||
<stickyFocus Value="0" Type="bool"/>
|
||||
<minimumRenderSize Value="0" Type="qreal"/>
|
||||
<focusOnTouch Value="1" Type="bool"/>
|
||||
<pageItem Type="Object" ClassName="PageItem">
|
||||
<objectName Type="QString">Reportpage1</objectName>
|
||||
<geometry y="0" height="2970" Type="QRect" x="0" width="2100"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem1</objectName>
|
||||
<geometry y="600" height="288" Type="QRect" x="466" width="556"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">Reportpage1</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="1" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">test1</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="33" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font italic="0" family="宋体" pointSize="10" underline="0" Type="QFont" weight="50"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString"></parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<topMargin Value="5" Type="int"/>
|
||||
<bottomMargin Value="5" Type="int"/>
|
||||
<rightMargin Value="5" Type="int"/>
|
||||
<leftMargin Value="5" Type="int"/>
|
||||
<pageOrientation Value="0" Type="enumAndFlags"/>
|
||||
<pageSize Value="0" Type="enumAndFlags"/>
|
||||
<gridStep Value="1" Type="int"/>
|
||||
<fullPage Value="0" Type="bool"/>
|
||||
<oldPrintMode Value="0" Type="bool"/>
|
||||
<resetPageNumber Value="0" Type="bool"/>
|
||||
<isExtendedInDesignMode Value="0" Type="bool"/>
|
||||
<extendedHeight Value="1000" Type="int"/>
|
||||
<pageIsTOC Value="0" Type="bool"/>
|
||||
<setPageSizeToPrinter Value="0" Type="bool"/>
|
||||
<endlessHeight Value="0" Type="bool"/>
|
||||
<printable Value="1" Type="bool"/>
|
||||
<printerName Type="QString"></printerName>
|
||||
<units Value="0" Type="enumAndFlags"/>
|
||||
<printBehavior Value="1" Type="enumAndFlags"/>
|
||||
<dropPrinterMargins Value="0" Type="bool"/>
|
||||
<notPrintIfEmpty Value="0" Type="bool"/>
|
||||
<mixWithPriorPage Value="0" Type="bool"/>
|
||||
</pageItem>
|
||||
</item>
|
||||
<item Type="Object" ClassName="LimeReport::PageDesignIntf">
|
||||
<objectName Type="QString">page2</objectName>
|
||||
<itemIndexMethod Value="0" Type="enumAndFlags"/>
|
||||
<sceneRect y="-50" height="3075" Type="QRect" x="-50" width="2200"/>
|
||||
<bspTreeDepth Value="5" Type="int"/>
|
||||
<font italic="0" family="SimSun" pointSize="9" underline="0" Type="QFont" weight="50"/>
|
||||
<sortCacheEnabled Value="0" Type="bool"/>
|
||||
<stickyFocus Value="0" Type="bool"/>
|
||||
<minimumRenderSize Value="0" Type="qreal"/>
|
||||
<focusOnTouch Value="1" Type="bool"/>
|
||||
<pageItem Type="Object" ClassName="PageItem">
|
||||
<objectName Type="QString">Reportpage2</objectName>
|
||||
<geometry y="0" height="2970" Type="QRect" x="0" width="2100"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem1</objectName>
|
||||
<geometry y="1006" height="468" Type="QRect" x="552" width="958"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">Reportpage2</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="1" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">test2</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="33" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font italic="0" family="Arial" pointSize="10" underline="0" Type="QFont" weight="50"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString"></parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<topMargin Value="5" Type="int"/>
|
||||
<bottomMargin Value="5" Type="int"/>
|
||||
<rightMargin Value="5" Type="int"/>
|
||||
<leftMargin Value="5" Type="int"/>
|
||||
<pageOrientation Value="0" Type="enumAndFlags"/>
|
||||
<pageSize Value="0" Type="enumAndFlags"/>
|
||||
<gridStep Value="1" Type="int"/>
|
||||
<fullPage Value="0" Type="bool"/>
|
||||
<oldPrintMode Value="0" Type="bool"/>
|
||||
<resetPageNumber Value="0" Type="bool"/>
|
||||
<isExtendedInDesignMode Value="0" Type="bool"/>
|
||||
<extendedHeight Value="1000" Type="int"/>
|
||||
<pageIsTOC Value="0" Type="bool"/>
|
||||
<setPageSizeToPrinter Value="0" Type="bool"/>
|
||||
<endlessHeight Value="0" Type="bool"/>
|
||||
<printable Value="1" Type="bool"/>
|
||||
<printerName Type="QString"></printerName>
|
||||
<units Value="0" Type="enumAndFlags"/>
|
||||
<printBehavior Value="1" Type="enumAndFlags"/>
|
||||
<dropPrinterMargins Value="0" Type="bool"/>
|
||||
<notPrintIfEmpty Value="0" Type="bool"/>
|
||||
<mixWithPriorPage Value="0" Type="bool"/>
|
||||
</pageItem>
|
||||
</item>
|
||||
<item Type="Object" ClassName="LimeReport::PageDesignIntf">
|
||||
<objectName Type="QString">page3</objectName>
|
||||
<itemIndexMethod Value="0" Type="enumAndFlags"/>
|
||||
<sceneRect y="-50" height="3075" Type="QRect" x="-50" width="2200"/>
|
||||
<bspTreeDepth Value="5" Type="int"/>
|
||||
<font italic="0" family="SimSun" pointSize="9" underline="0" Type="QFont" weight="50"/>
|
||||
<sortCacheEnabled Value="0" Type="bool"/>
|
||||
<stickyFocus Value="0" Type="bool"/>
|
||||
<minimumRenderSize Value="0" Type="qreal"/>
|
||||
<focusOnTouch Value="1" Type="bool"/>
|
||||
<pageItem Type="Object" ClassName="PageItem">
|
||||
<objectName Type="QString">TOC</objectName>
|
||||
<geometry y="0" height="2970" Type="QRect" x="0" width="2100"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem1</objectName>
|
||||
<geometry y="620" height="456" Type="QRect" x="272" width="1276"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">TOC</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="1" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">index</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="33" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font italic="0" family="Arial" pointSize="10" underline="0" Type="QFont" weight="50"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString"></parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<topMargin Value="5" Type="int"/>
|
||||
<bottomMargin Value="5" Type="int"/>
|
||||
<rightMargin Value="5" Type="int"/>
|
||||
<leftMargin Value="5" Type="int"/>
|
||||
<pageOrientation Value="0" Type="enumAndFlags"/>
|
||||
<pageSize Value="0" Type="enumAndFlags"/>
|
||||
<gridStep Value="1" Type="int"/>
|
||||
<fullPage Value="0" Type="bool"/>
|
||||
<oldPrintMode Value="0" Type="bool"/>
|
||||
<resetPageNumber Value="0" Type="bool"/>
|
||||
<isExtendedInDesignMode Value="0" Type="bool"/>
|
||||
<extendedHeight Value="1000" Type="int"/>
|
||||
<pageIsTOC Value="1" Type="bool"/>
|
||||
<setPageSizeToPrinter Value="0" Type="bool"/>
|
||||
<endlessHeight Value="0" Type="bool"/>
|
||||
<printable Value="1" Type="bool"/>
|
||||
<printerName Type="QString"></printerName>
|
||||
<units Value="0" Type="enumAndFlags"/>
|
||||
<printBehavior Value="1" Type="enumAndFlags"/>
|
||||
<dropPrinterMargins Value="0" Type="bool"/>
|
||||
<notPrintIfEmpty Value="0" Type="bool"/>
|
||||
<mixWithPriorPage Value="0" Type="bool"/>
|
||||
</pageItem>
|
||||
</item>
|
||||
<item Type="Object" ClassName="LimeReport::PageDesignIntf">
|
||||
<objectName Type="QString">page4</objectName>
|
||||
<itemIndexMethod Value="0" Type="enumAndFlags"/>
|
||||
<sceneRect y="-50" height="3075" Type="QRect" x="-50" width="2200"/>
|
||||
<bspTreeDepth Value="5" Type="int"/>
|
||||
<font italic="0" family="SimSun" pointSize="9" underline="0" Type="QFont" weight="50"/>
|
||||
<sortCacheEnabled Value="0" Type="bool"/>
|
||||
<stickyFocus Value="0" Type="bool"/>
|
||||
<minimumRenderSize Value="0" Type="qreal"/>
|
||||
<focusOnTouch Value="1" Type="bool"/>
|
||||
<pageItem Type="Object" ClassName="PageItem">
|
||||
<objectName Type="QString">Reportpage4</objectName>
|
||||
<geometry y="0" height="2970" Type="QRect" x="0" width="2100"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem1</objectName>
|
||||
<geometry y="754" height="502" Type="QRect" x="276" width="830"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">Reportpage4</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="1" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">test4</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="33" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font italic="0" family="Arial" pointSize="10" underline="0" Type="QFont" weight="50"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString"></parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<topMargin Value="5" Type="int"/>
|
||||
<bottomMargin Value="5" Type="int"/>
|
||||
<rightMargin Value="5" Type="int"/>
|
||||
<leftMargin Value="5" Type="int"/>
|
||||
<pageOrientation Value="0" Type="enumAndFlags"/>
|
||||
<pageSize Value="0" Type="enumAndFlags"/>
|
||||
<gridStep Value="1" Type="int"/>
|
||||
<fullPage Value="0" Type="bool"/>
|
||||
<oldPrintMode Value="0" Type="bool"/>
|
||||
<resetPageNumber Value="0" Type="bool"/>
|
||||
<isExtendedInDesignMode Value="0" Type="bool"/>
|
||||
<extendedHeight Value="1000" Type="int"/>
|
||||
<pageIsTOC Value="0" Type="bool"/>
|
||||
<setPageSizeToPrinter Value="0" Type="bool"/>
|
||||
<endlessHeight Value="0" Type="bool"/>
|
||||
<printable Value="1" Type="bool"/>
|
||||
<printerName Type="QString"></printerName>
|
||||
<units Value="0" Type="enumAndFlags"/>
|
||||
<printBehavior Value="1" Type="enumAndFlags"/>
|
||||
<dropPrinterMargins Value="0" Type="bool"/>
|
||||
<notPrintIfEmpty Value="0" Type="bool"/>
|
||||
<mixWithPriorPage Value="0" Type="bool"/>
|
||||
</pageItem>
|
||||
</item>
|
||||
<item Type="Object" ClassName="LimeReport::PageDesignIntf">
|
||||
<objectName Type="QString">page5</objectName>
|
||||
<itemIndexMethod Value="0" Type="enumAndFlags"/>
|
||||
<sceneRect y="-50" height="3075" Type="QRect" x="-50" width="2200"/>
|
||||
<bspTreeDepth Value="5" Type="int"/>
|
||||
<font italic="0" family="SimSun" pointSize="9" underline="0" Type="QFont" weight="50"/>
|
||||
<sortCacheEnabled Value="0" Type="bool"/>
|
||||
<stickyFocus Value="0" Type="bool"/>
|
||||
<minimumRenderSize Value="0" Type="qreal"/>
|
||||
<focusOnTouch Value="1" Type="bool"/>
|
||||
<pageItem Type="Object" ClassName="PageItem">
|
||||
<objectName Type="QString">Reportpage5</objectName>
|
||||
<geometry y="0" height="2970" Type="QRect" x="0" width="2100"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem1</objectName>
|
||||
<geometry y="838" height="494" Type="QRect" x="440" width="908"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">Reportpage5</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="1" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">test5</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="33" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font italic="0" family="Arial" pointSize="10" underline="0" Type="QFont" weight="50"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString"></parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<topMargin Value="5" Type="int"/>
|
||||
<bottomMargin Value="5" Type="int"/>
|
||||
<rightMargin Value="5" Type="int"/>
|
||||
<leftMargin Value="5" Type="int"/>
|
||||
<pageOrientation Value="0" Type="enumAndFlags"/>
|
||||
<pageSize Value="0" Type="enumAndFlags"/>
|
||||
<gridStep Value="1" Type="int"/>
|
||||
<fullPage Value="0" Type="bool"/>
|
||||
<oldPrintMode Value="0" Type="bool"/>
|
||||
<resetPageNumber Value="0" Type="bool"/>
|
||||
<isExtendedInDesignMode Value="0" Type="bool"/>
|
||||
<extendedHeight Value="1000" Type="int"/>
|
||||
<pageIsTOC Value="0" Type="bool"/>
|
||||
<setPageSizeToPrinter Value="0" Type="bool"/>
|
||||
<endlessHeight Value="0" Type="bool"/>
|
||||
<printable Value="0" Type="bool"/>
|
||||
<printerName Type="QString"></printerName>
|
||||
<units Value="0" Type="enumAndFlags"/>
|
||||
<printBehavior Value="1" Type="enumAndFlags"/>
|
||||
<dropPrinterMargins Value="0" Type="bool"/>
|
||||
<notPrintIfEmpty Value="0" Type="bool"/>
|
||||
<mixWithPriorPage Value="0" Type="bool"/>
|
||||
</pageItem>
|
||||
</item>
|
||||
<item Type="Object" ClassName="LimeReport::PageDesignIntf">
|
||||
<objectName Type="QString">page6</objectName>
|
||||
<itemIndexMethod Value="0" Type="enumAndFlags"/>
|
||||
<sceneRect y="-50" height="3075" Type="QRect" x="-50" width="2200"/>
|
||||
<bspTreeDepth Value="5" Type="int"/>
|
||||
<font italic="0" family="SimSun" pointSize="9" underline="0" Type="QFont" weight="50"/>
|
||||
<sortCacheEnabled Value="0" Type="bool"/>
|
||||
<stickyFocus Value="0" Type="bool"/>
|
||||
<minimumRenderSize Value="0" Type="qreal"/>
|
||||
<focusOnTouch Value="1" Type="bool"/>
|
||||
<pageItem Type="Object" ClassName="PageItem">
|
||||
<objectName Type="QString">Reportpage6</objectName>
|
||||
<geometry y="0" height="2970" Type="QRect" x="0" width="2100"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem1</objectName>
|
||||
<geometry y="774" height="746" Type="QRect" x="226" width="1116"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">Reportpage6</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="1" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">test6</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="33" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font italic="0" family="Arial" pointSize="10" underline="0" Type="QFont" weight="50"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString"></parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<topMargin Value="5" Type="int"/>
|
||||
<bottomMargin Value="5" Type="int"/>
|
||||
<rightMargin Value="5" Type="int"/>
|
||||
<leftMargin Value="5" Type="int"/>
|
||||
<pageOrientation Value="0" Type="enumAndFlags"/>
|
||||
<pageSize Value="0" Type="enumAndFlags"/>
|
||||
<gridStep Value="1" Type="int"/>
|
||||
<fullPage Value="0" Type="bool"/>
|
||||
<oldPrintMode Value="0" Type="bool"/>
|
||||
<resetPageNumber Value="0" Type="bool"/>
|
||||
<isExtendedInDesignMode Value="0" Type="bool"/>
|
||||
<extendedHeight Value="1000" Type="int"/>
|
||||
<pageIsTOC Value="0" Type="bool"/>
|
||||
<setPageSizeToPrinter Value="0" Type="bool"/>
|
||||
<endlessHeight Value="0" Type="bool"/>
|
||||
<printable Value="1" Type="bool"/>
|
||||
<printerName Type="QString"></printerName>
|
||||
<units Value="0" Type="enumAndFlags"/>
|
||||
<printBehavior Value="1" Type="enumAndFlags"/>
|
||||
<dropPrinterMargins Value="0" Type="bool"/>
|
||||
<notPrintIfEmpty Value="0" Type="bool"/>
|
||||
<mixWithPriorPage Value="0" Type="bool"/>
|
||||
</pageItem>
|
||||
</item>
|
||||
<item Type="Object" ClassName="LimeReport::PageDesignIntf">
|
||||
<objectName Type="QString">page7</objectName>
|
||||
<itemIndexMethod Value="0" Type="enumAndFlags"/>
|
||||
<sceneRect y="-50" height="3075" Type="QRect" x="-50" width="2200"/>
|
||||
<bspTreeDepth Value="5" Type="int"/>
|
||||
<font italic="0" family="SimSun" pointSize="9" underline="0" Type="QFont" weight="50"/>
|
||||
<sortCacheEnabled Value="0" Type="bool"/>
|
||||
<stickyFocus Value="0" Type="bool"/>
|
||||
<minimumRenderSize Value="0" Type="qreal"/>
|
||||
<focusOnTouch Value="1" Type="bool"/>
|
||||
<pageItem Type="Object" ClassName="PageItem">
|
||||
<objectName Type="QString">Reportpage7</objectName>
|
||||
<geometry y="0" height="2970" Type="QRect" x="0" width="2100"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem1</objectName>
|
||||
<geometry y="594" height="694" Type="QRect" x="222" width="824"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">Reportpage7</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="1" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">test7</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="33" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font italic="0" family="Arial" pointSize="10" underline="0" Type="QFont" weight="50"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString"></parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<topMargin Value="5" Type="int"/>
|
||||
<bottomMargin Value="5" Type="int"/>
|
||||
<rightMargin Value="5" Type="int"/>
|
||||
<leftMargin Value="5" Type="int"/>
|
||||
<pageOrientation Value="0" Type="enumAndFlags"/>
|
||||
<pageSize Value="0" Type="enumAndFlags"/>
|
||||
<gridStep Value="1" Type="int"/>
|
||||
<fullPage Value="0" Type="bool"/>
|
||||
<oldPrintMode Value="0" Type="bool"/>
|
||||
<resetPageNumber Value="0" Type="bool"/>
|
||||
<isExtendedInDesignMode Value="0" Type="bool"/>
|
||||
<extendedHeight Value="1000" Type="int"/>
|
||||
<pageIsTOC Value="0" Type="bool"/>
|
||||
<setPageSizeToPrinter Value="0" Type="bool"/>
|
||||
<endlessHeight Value="0" Type="bool"/>
|
||||
<printable Value="1" Type="bool"/>
|
||||
<printerName Type="QString"></printerName>
|
||||
<units Value="0" Type="enumAndFlags"/>
|
||||
<printBehavior Value="1" Type="enumAndFlags"/>
|
||||
<dropPrinterMargins Value="0" Type="bool"/>
|
||||
<notPrintIfEmpty Value="0" Type="bool"/>
|
||||
<mixWithPriorPage Value="0" Type="bool"/>
|
||||
</pageItem>
|
||||
</item>
|
||||
<item Type="Object" ClassName="LimeReport::PageDesignIntf">
|
||||
<objectName Type="QString">page8</objectName>
|
||||
<itemIndexMethod Value="0" Type="enumAndFlags"/>
|
||||
<sceneRect y="-50" height="3075" Type="QRect" x="-50" width="2200"/>
|
||||
<bspTreeDepth Value="5" Type="int"/>
|
||||
<font italic="0" family="SimSun" pointSize="9" underline="0" Type="QFont" weight="50"/>
|
||||
<sortCacheEnabled Value="0" Type="bool"/>
|
||||
<stickyFocus Value="0" Type="bool"/>
|
||||
<minimumRenderSize Value="0" Type="qreal"/>
|
||||
<focusOnTouch Value="1" Type="bool"/>
|
||||
<pageItem Type="Object" ClassName="PageItem">
|
||||
<objectName Type="QString">Reportpage8</objectName>
|
||||
<geometry y="0" height="2970" Type="QRect" x="0" width="2100"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem1</objectName>
|
||||
<geometry y="506" height="556" Type="QRect" x="336" width="1172"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">Reportpage8</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="1" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">test8</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="33" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font italic="0" family="Arial" pointSize="10" underline="0" Type="QFont" weight="50"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString"></parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<topMargin Value="5" Type="int"/>
|
||||
<bottomMargin Value="5" Type="int"/>
|
||||
<rightMargin Value="5" Type="int"/>
|
||||
<leftMargin Value="5" Type="int"/>
|
||||
<pageOrientation Value="0" Type="enumAndFlags"/>
|
||||
<pageSize Value="0" Type="enumAndFlags"/>
|
||||
<gridStep Value="1" Type="int"/>
|
||||
<fullPage Value="0" Type="bool"/>
|
||||
<oldPrintMode Value="0" Type="bool"/>
|
||||
<resetPageNumber Value="0" Type="bool"/>
|
||||
<isExtendedInDesignMode Value="0" Type="bool"/>
|
||||
<extendedHeight Value="1000" Type="int"/>
|
||||
<pageIsTOC Value="0" Type="bool"/>
|
||||
<setPageSizeToPrinter Value="0" Type="bool"/>
|
||||
<endlessHeight Value="0" Type="bool"/>
|
||||
<printable Value="1" Type="bool"/>
|
||||
<printerName Type="QString"></printerName>
|
||||
<units Value="0" Type="enumAndFlags"/>
|
||||
<printBehavior Value="1" Type="enumAndFlags"/>
|
||||
<dropPrinterMargins Value="0" Type="bool"/>
|
||||
<notPrintIfEmpty Value="0" Type="bool"/>
|
||||
<mixWithPriorPage Value="0" Type="bool"/>
|
||||
</pageItem>
|
||||
</item>
|
||||
<item Type="Object" ClassName="LimeReport::PageDesignIntf">
|
||||
<objectName Type="QString">page9</objectName>
|
||||
<itemIndexMethod Value="0" Type="enumAndFlags"/>
|
||||
<sceneRect y="-50" height="3075" Type="QRect" x="-50" width="2200"/>
|
||||
<bspTreeDepth Value="5" Type="int"/>
|
||||
<font italic="0" family="SimSun" pointSize="9" underline="0" Type="QFont" weight="50"/>
|
||||
<sortCacheEnabled Value="0" Type="bool"/>
|
||||
<stickyFocus Value="0" Type="bool"/>
|
||||
<minimumRenderSize Value="0" Type="qreal"/>
|
||||
<focusOnTouch Value="1" Type="bool"/>
|
||||
<pageItem Type="Object" ClassName="PageItem">
|
||||
<objectName Type="QString">Reportpage9</objectName>
|
||||
<geometry y="0" height="2970" Type="QRect" x="0" width="2100"/>
|
||||
<children Type="Collection">
|
||||
<item Type="Object" ClassName="TextItem">
|
||||
<objectName Type="QString">TextItem1</objectName>
|
||||
<geometry y="424" height="592" Type="QRect" x="268" width="902"/>
|
||||
<children Type="Collection"/>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString">Reportpage9</parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<itemLocation Value="1" Type="enumAndFlags"/>
|
||||
<stretchToMaxHeight Value="0" Type="bool"/>
|
||||
<itemAlign Value="4" Type="enumAndFlags"/>
|
||||
<content Type="QString">test1</content>
|
||||
<margin Value="4" Type="int"/>
|
||||
<alignment Value="33" Type="enumAndFlags"/>
|
||||
<autoWidth Value="0" Type="enumAndFlags"/>
|
||||
<autoHeight Value="0" Type="bool"/>
|
||||
<font italic="0" family="Arial" pointSize="10" underline="0" Type="QFont" weight="50"/>
|
||||
<backgroundOpacity Value="100" Type="int"/>
|
||||
<backgroundMode Value="1" Type="enumAndFlags"/>
|
||||
<backgroundColor Value="#ffffff" Type="QColor"/>
|
||||
<fontColor Value="#000000" Type="QColor"/>
|
||||
<angle Value="0" Type="enumAndFlags"/>
|
||||
<foregroundOpacity Value="100" Type="int"/>
|
||||
<underlines Value="0" Type="bool"/>
|
||||
<adaptFontToSize Value="0" Type="bool"/>
|
||||
<trimValue Value="1" Type="bool"/>
|
||||
<lineSpacing Value="1" Type="int"/>
|
||||
<underlineLineSize Value="1" Type="int"/>
|
||||
<allowHTML Value="0" Type="bool"/>
|
||||
<allowHTMLInFields Value="0" Type="bool"/>
|
||||
<format Type="QString"></format>
|
||||
<valueType Value="0" Type="enumAndFlags"/>
|
||||
<followTo Type="QString"></followTo>
|
||||
<backgroundBrushStyle Value="1" Type="enumAndFlags"/>
|
||||
<textIndent Value="0" Type="qreal"/>
|
||||
<textLayoutDirection Value="2" Type="enumAndFlags"/>
|
||||
<fillInSecondPass Value="0" Type="bool"/>
|
||||
<watermark Value="0" Type="bool"/>
|
||||
<replaceCRwithBR Value="0" Type="bool"/>
|
||||
<hideIfEmpty Value="0" Type="bool"/>
|
||||
<fontLetterSpacing Value="0" Type="int"/>
|
||||
</item>
|
||||
</children>
|
||||
<zOrder Value="0" Type="qreal"/>
|
||||
<borders Value="0" Type="enumAndFlags"/>
|
||||
<parentName Type="QString"></parentName>
|
||||
<borderLineSize Value="1" Type="int"/>
|
||||
<isVisible Value="1" Type="bool"/>
|
||||
<borderColor Value="#000000" Type="QColor"/>
|
||||
<geometryLocked Value="0" Type="bool"/>
|
||||
<topMargin Value="5" Type="int"/>
|
||||
<bottomMargin Value="5" Type="int"/>
|
||||
<rightMargin Value="5" Type="int"/>
|
||||
<leftMargin Value="5" Type="int"/>
|
||||
<pageOrientation Value="0" Type="enumAndFlags"/>
|
||||
<pageSize Value="0" Type="enumAndFlags"/>
|
||||
<gridStep Value="1" Type="int"/>
|
||||
<fullPage Value="0" Type="bool"/>
|
||||
<oldPrintMode Value="0" Type="bool"/>
|
||||
<resetPageNumber Value="0" Type="bool"/>
|
||||
<isExtendedInDesignMode Value="0" Type="bool"/>
|
||||
<extendedHeight Value="1000" Type="int"/>
|
||||
<pageIsTOC Value="0" Type="bool"/>
|
||||
<setPageSizeToPrinter Value="0" Type="bool"/>
|
||||
<endlessHeight Value="0" Type="bool"/>
|
||||
<printable Value="1" Type="bool"/>
|
||||
<printerName Type="QString"></printerName>
|
||||
<units Value="0" Type="enumAndFlags"/>
|
||||
<printBehavior Value="1" Type="enumAndFlags"/>
|
||||
<dropPrinterMargins Value="0" Type="bool"/>
|
||||
<notPrintIfEmpty Value="0" Type="bool"/>
|
||||
<mixWithPriorPage Value="0" Type="bool"/>
|
||||
</pageItem>
|
||||
</item>
|
||||
</pages>
|
||||
<datasourcesManager Type="Object" ClassName="LimeReport::DataSourceManager">
|
||||
<objectName Type="QString">datasources</objectName>
|
||||
<connections Type="Collection"/>
|
||||
<queries Type="Collection"/>
|
||||
<subqueries Type="Collection"/>
|
||||
<subproxies Type="Collection"/>
|
||||
<variables Type="Collection"/>
|
||||
<csvs Type="Collection"/>
|
||||
</datasourcesManager>
|
||||
<scriptContext Type="Object" ClassName="LimeReport::ScriptEngineContext">
|
||||
<objectName Type="QString"></objectName>
|
||||
<dialogs Type="Collection"/>
|
||||
<initScript Type="QString"></initScript>
|
||||
</scriptContext>
|
||||
<suppressFieldAndVarError Value="0" Type="bool"/>
|
||||
<translation Type="Translation"/>
|
||||
</object>
|
||||
</Report>
|
1908
demo_r1/demo_reports/test/test2.lrxml
Normal file
1908
demo_r1/demo_reports/test/test2.lrxml
Normal file
File diff suppressed because it is too large
Load Diff
1907
demo_r1/demo_reports/test/test2_changed.lrxml
Normal file
1907
demo_r1/demo_reports/test/test2_changed.lrxml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
demo_r1/demo_reports/test/test2_changed.zip
Normal file
BIN
demo_r1/demo_reports/test/test2_changed.zip
Normal file
Binary file not shown.
1907
demo_r1/demo_reports/test/test3_changed.lrxml
Normal file
1907
demo_r1/demo_reports/test/test3_changed.lrxml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
demo_r1/demo_reports/test1.zip
Normal file
BIN
demo_r1/demo_reports/test1.zip
Normal file
Binary file not shown.
BIN
demo_r1/demo_reports/test3.zip
Normal file
BIN
demo_r1/demo_reports/test3.zip
Normal file
Binary file not shown.
1156
demo_r1/demo_reports/testqrcode.lrxml
Normal file
1156
demo_r1/demo_reports/testqrcode.lrxml
Normal file
File diff suppressed because one or more lines are too long
BIN
demo_r1/demo_reports/testqrcode.zip
Normal file
BIN
demo_r1/demo_reports/testqrcode.zip
Normal file
Binary file not shown.
2893
demo_r2/demo_reports/Facture.lrxml
Normal file
2893
demo_r2/demo_reports/Facture.lrxml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
demo_r2/demo_reports/invoice.zip
Normal file
BIN
demo_r2/demo_reports/invoice.zip
Normal file
Binary file not shown.
@ -1,3 +1,5 @@
|
||||
project(LRDesigner)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
set(LRDESIGNER_FILES
|
||||
@ -7,12 +9,12 @@ set(LRDESIGNER_FILES
|
||||
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(LRDesigner PUBLIC
|
||||
target_link_libraries(${PROJECT_NAME} PUBLIC
|
||||
Qt${QT_VERSION_MAJOR}::Core
|
||||
Qt${QT_VERSION_MAJOR}::Widgets
|
||||
${PROJECT_NAME}
|
||||
Qt${QT_VERSION_MAJOR}::PrintSupport
|
||||
Qt${QT_VERSION_MAJOR}::Qml
|
||||
limereport-qt${QT_VERSION_MAJOR}
|
||||
)
|
||||
|
@ -104,7 +104,7 @@ namespace Const{
|
||||
QString extractClassName(QString className);
|
||||
QString escapeSimbols(const QString& value);
|
||||
QString replaceHTMLSymbols(const QString &value);
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 3)
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 1)
|
||||
QVector<QString> normalizeCaptures(const QRegularExpressionMatch ®);
|
||||
#else
|
||||
QVector<QString> normalizeCaptures(const QRegExp ®);
|
||||
@ -125,12 +125,12 @@ namespace Const{
|
||||
Q_DECLARE_FLAGS(PreviewHints, PreviewHint)
|
||||
Q_FLAGS(PreviewHints)
|
||||
|
||||
class ReportError : public std::runtime_error{
|
||||
class LIMEREPORT_EXPORT ReportError : public std::runtime_error{
|
||||
public:
|
||||
ReportError(const QString& message);
|
||||
};
|
||||
|
||||
class ReportSettings{
|
||||
class LIMEREPORT_EXPORT ReportSettings{
|
||||
public:
|
||||
ReportSettings():m_suppressAbsentFieldsAndVarsWarnings(false){}
|
||||
void setDefaultValues(){m_suppressAbsentFieldsAndVarsWarnings = false;}
|
||||
@ -140,13 +140,13 @@ namespace Const{
|
||||
bool m_suppressAbsentFieldsAndVarsWarnings;
|
||||
};
|
||||
|
||||
class IExternalPainter{
|
||||
class LIMEREPORT_EXPORT IExternalPainter{
|
||||
public:
|
||||
virtual void paintByExternalPainter(const QString& objectName, QPainter* painter, const QStyleOptionGraphicsItem* options) = 0;
|
||||
virtual ~IExternalPainter();
|
||||
};
|
||||
|
||||
class IPainterProxy{
|
||||
class LIMEREPORT_EXPORT IPainterProxy{
|
||||
public:
|
||||
virtual void setExternalPainter(IExternalPainter* externalPainter) = 0;
|
||||
virtual ~IPainterProxy();
|
||||
@ -157,8 +157,18 @@ namespace Const{
|
||||
#else
|
||||
typedef QStyleOptionViewItem StyleOptionViewItem;
|
||||
#endif
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 1)
|
||||
QRegularExpression getRegEx(QString expression);
|
||||
QRegularExpression getVariableRegEx();
|
||||
QRegularExpression getFieldRegEx();
|
||||
QRegularExpression getScriptRegEx();
|
||||
QRegularExpression getGroupFunctionRegEx(QString functionName);
|
||||
QRegularExpression getGroupFunctionNameRegEx(QString functionName);
|
||||
QRegularExpression getNamedVariableRegEx(QString variableName);
|
||||
#endif
|
||||
|
||||
class Enums
|
||||
|
||||
class LIMEREPORT_EXPORT Enums
|
||||
{
|
||||
public:
|
||||
enum VariableDataType {Undefined, String, Bool, Int, Real, Date, Time, DateTime};
|
||||
|
@ -36,7 +36,11 @@ namespace LimeReport {
|
||||
DataBrowserTree::DataBrowserTree(QWidget *parent) :
|
||||
QTreeWidget(parent){}
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6,0,0)
|
||||
QMimeData *DataBrowserTree::mimeData(const QList<QTreeWidgetItem *> &items) const
|
||||
#else
|
||||
QMimeData *DataBrowserTree::mimeData(const QList<QTreeWidgetItem *> items) const
|
||||
#endif
|
||||
{
|
||||
QMimeData* result = QTreeWidget::mimeData(items);
|
||||
if (items.at(0)->type()==Row){
|
||||
|
@ -42,7 +42,11 @@ public:
|
||||
enum NodeType{Connection, Table, Row, Category, Variable, ExternalVariable};
|
||||
explicit DataBrowserTree(QWidget *parent = 0);
|
||||
protected:
|
||||
QMimeData* mimeData(const QList<QTreeWidgetItem *> items) const;
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6,0,0)
|
||||
virtual QMimeData *mimeData(const QList<QTreeWidgetItem *> &items) const;
|
||||
#else
|
||||
virtual QMimeData *mimeData(const QList<QTreeWidgetItem*> items) const;
|
||||
#endif
|
||||
|
||||
public slots:
|
||||
|
||||
|
@ -28,20 +28,18 @@
|
||||
* GNU General Public License for more details. *
|
||||
****************************************************************************/
|
||||
#include "lrsqleditdialog.h"
|
||||
#include "ui_lrsqleditdialog.h"
|
||||
#include "lrreportengine_p.h"
|
||||
#include "ui_lrsqleditdialog.h"
|
||||
|
||||
#include <QDebug>
|
||||
#include <QSqlDatabase>
|
||||
#include <QMessageBox>
|
||||
#include <QSqlDatabase>
|
||||
|
||||
namespace LimeReport{
|
||||
namespace LimeReport {
|
||||
|
||||
SQLEditDialog::SQLEditDialog(QWidget *parent, LimeReport::DataSourceManager *dataSources, SQLDialogMode dialogMode) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::SQLEditDialog),m_datasources(dataSources),m_dialogMode(dialogMode), m_oldDatasourceName(""),
|
||||
m_settings(0), m_ownedSettings(false)
|
||||
{
|
||||
SQLEditDialog::SQLEditDialog(QWidget *parent, LimeReport::DataSourceManager *dataSources, SQLDialogMode dialogMode)
|
||||
: QDialog(parent), ui(new Ui::SQLEditDialog), m_datasources(dataSources), m_dialogMode(dialogMode),
|
||||
m_oldDatasourceName(""), m_settings(0), m_ownedSettings(false) {
|
||||
ui->setupUi(this);
|
||||
m_masterDatasources = new QCompleter(this);
|
||||
ui->leMaster->setCompleter(m_masterDatasources);
|
||||
@ -54,72 +52,72 @@ SQLEditDialog::SQLEditDialog(QWidget *parent, LimeReport::DataSourceManager *dat
|
||||
ui->rbSubQuery->setVisible(false);
|
||||
ui->leMaster->setVisible(false);
|
||||
ui->lbMaster->setVisible(false);
|
||||
ui->fieldsMap->setHorizontalHeaderItem(0,new QTableWidgetItem("master"));
|
||||
ui->fieldsMap->setHorizontalHeaderItem(1,new QTableWidgetItem("detail"));
|
||||
ui->fieldsMap->setHorizontalHeaderItem(0, new QTableWidgetItem("master"));
|
||||
ui->fieldsMap->setHorizontalHeaderItem(1, new QTableWidgetItem("detail"));
|
||||
|
||||
#ifdef HAVE_QT5
|
||||
ui->fieldsMap->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
||||
#else
|
||||
ui->fieldsMap->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
|
||||
#endif
|
||||
|
||||
ui->pnlChildDatasource->setVisible(false);
|
||||
connect(ui->pbPreview, SIGNAL(pressed()), this, SLOT(slotPreviewData()));
|
||||
connect(ui->pbHidePreview, SIGNAL(pressed()), this, SLOT(slotHidePreview()));
|
||||
}
|
||||
|
||||
SQLEditDialog::~SQLEditDialog()
|
||||
{
|
||||
SQLEditDialog::~SQLEditDialog() {
|
||||
delete ui;
|
||||
if (m_settings && m_ownedSettings)
|
||||
delete m_settings;
|
||||
}
|
||||
|
||||
QSettings *SQLEditDialog::settings(){
|
||||
if (m_settings){
|
||||
QSettings *SQLEditDialog::settings() {
|
||||
if (m_settings) {
|
||||
return m_settings;
|
||||
} else {
|
||||
m_settings = new QSettings("LimeReport",QCoreApplication::applicationName());
|
||||
m_settings = new QSettings("LimeReport", QCoreApplication::applicationName());
|
||||
m_ownedSettings = true;
|
||||
return m_settings;
|
||||
}
|
||||
}
|
||||
|
||||
void SQLEditDialog::setSettings(QSettings *value, bool owned){
|
||||
if (m_settings && m_ownedSettings) delete m_settings;
|
||||
void SQLEditDialog::setSettings(QSettings *value, bool owned) {
|
||||
if (m_settings && m_ownedSettings)
|
||||
delete m_settings;
|
||||
m_settings = value;
|
||||
m_ownedSettings = owned;
|
||||
}
|
||||
|
||||
void SQLEditDialog::accept()
|
||||
{
|
||||
void SQLEditDialog::accept() {
|
||||
SQLEditResult result;
|
||||
|
||||
if (ui->tabWidget->currentIndex() == 1){
|
||||
if (ui->tabWidget->currentIndex() == 1) {
|
||||
result.resultMode = SQLEditResult::CSVText;
|
||||
} else if (!ui->cbSubdetail->isChecked()){
|
||||
result.resultMode=SQLEditResult::Query;
|
||||
} else if (!ui->cbSubdetail->isChecked()) {
|
||||
result.resultMode = SQLEditResult::Query;
|
||||
} else {
|
||||
if (ui->rbSubQuery->isChecked()) result.resultMode = SQLEditResult::SubQuery;
|
||||
else result.resultMode=SQLEditResult::SubProxy;
|
||||
if (ui->rbSubQuery->isChecked())
|
||||
result.resultMode = SQLEditResult::SubQuery;
|
||||
else
|
||||
result.resultMode = SQLEditResult::SubProxy;
|
||||
}
|
||||
|
||||
result.connectionName = ConnectionDesc::connectionNameForReport(ui->cbbConnection->currentText());
|
||||
result.datasourceName=ui->leDatasourceName->text();
|
||||
result.datasourceName = ui->leDatasourceName->text();
|
||||
result.sql = ui->sqlText->toPlainText();
|
||||
result.csv = ui->csvText->toPlainText();
|
||||
result.dialogMode = m_dialogMode;
|
||||
result.oldDatasourceName = m_oldDatasourceName;
|
||||
result.subdetail = ui->cbSubdetail->isChecked();
|
||||
result.masterDatasource=ui->leMaster->text();
|
||||
result.childDataSource=ui->leChild->text();
|
||||
result.masterDatasource = ui->leMaster->text();
|
||||
result.childDataSource = ui->leChild->text();
|
||||
result.separator = ui->leSeparator->text();
|
||||
result.firstRowIsHeader = ui->cbUseFirstRowAsHeader->isChecked();
|
||||
|
||||
if (ui->fieldsMap->rowCount() > 0){
|
||||
for(int i=0; i< ui->fieldsMap->rowCount(); ++i){
|
||||
if (ui->fieldsMap->rowCount() > 0) {
|
||||
for (int i = 0; i < ui->fieldsMap->rowCount(); ++i) {
|
||||
LimeReport::FieldsCorrelation fieldsCorrelation;
|
||||
fieldsCorrelation.master = ui->fieldsMap->item(i,0) ? ui->fieldsMap->item(i,0)->data(Qt::DisplayRole).toString() : "";
|
||||
fieldsCorrelation.detail = ui->fieldsMap->item(i,1) ? ui->fieldsMap->item(i,1)->data(Qt::DisplayRole).toString() : "";
|
||||
fieldsCorrelation.master =
|
||||
ui->fieldsMap->item(i, 0) ? ui->fieldsMap->item(i, 0)->data(Qt::DisplayRole).toString() : "";
|
||||
fieldsCorrelation.detail =
|
||||
ui->fieldsMap->item(i, 1) ? ui->fieldsMap->item(i, 1)->data(Qt::DisplayRole).toString() : "";
|
||||
result.fieldMap.append(fieldsCorrelation);
|
||||
}
|
||||
}
|
||||
@ -128,87 +126,83 @@ void SQLEditDialog::accept()
|
||||
check();
|
||||
emit signalSqlEditingFinished(result);
|
||||
QDialog::accept();
|
||||
}catch(LimeReport::ReportError &exception){
|
||||
QMessageBox::critical(this,tr("Error"),exception.what());
|
||||
} catch (LimeReport::ReportError &exception) {
|
||||
QMessageBox::critical(this, tr("Error"), exception.what());
|
||||
}
|
||||
}
|
||||
|
||||
void SQLEditDialog::showEvent(QShowEvent *)
|
||||
{
|
||||
void SQLEditDialog::showEvent(QShowEvent *) {
|
||||
ui->lblInfo->setVisible(false);
|
||||
initConnections();
|
||||
readSettings();
|
||||
}
|
||||
|
||||
void SQLEditDialog::closeEvent(QCloseEvent *)
|
||||
{
|
||||
writeSetting();
|
||||
}
|
||||
void SQLEditDialog::closeEvent(QCloseEvent *) { writeSetting(); }
|
||||
|
||||
void SQLEditDialog::hideEvent(QHideEvent *)
|
||||
{
|
||||
writeSetting();
|
||||
}
|
||||
void SQLEditDialog::hideEvent(QHideEvent *) { writeSetting(); }
|
||||
|
||||
void SQLEditDialog::check()
|
||||
{
|
||||
if (ui->leDatasourceName->text().isEmpty()) throw LimeReport::ReportError(tr("Datasource Name is empty!"));
|
||||
if (ui->sqlText->toPlainText().isEmpty() && (!ui->rbProxy) ) throw LimeReport::ReportError(tr("SQL is empty!"));
|
||||
if (m_dialogMode==AddMode){
|
||||
if (m_datasources->containsDatasource(ui->leDatasourceName->text())){
|
||||
throw LimeReport::ReportError(QString(tr("Datasource with name: \"%1\" already exists!")).arg(ui->leDatasourceName->text()));
|
||||
void SQLEditDialog::check() {
|
||||
if (ui->leDatasourceName->text().isEmpty())
|
||||
throw LimeReport::ReportError(tr("Datasource Name is empty!"));
|
||||
if (ui->sqlText->toPlainText().isEmpty() && (!ui->rbProxy))
|
||||
throw LimeReport::ReportError(tr("SQL is empty!"));
|
||||
if (m_dialogMode == AddMode) {
|
||||
if (m_datasources->containsDatasource(ui->leDatasourceName->text())) {
|
||||
throw LimeReport::ReportError(
|
||||
QString(tr("Datasource with name: \"%1\" already exists!")).arg(ui->leDatasourceName->text()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void SQLEditDialog::initConnections()
|
||||
{
|
||||
foreach(QString connectionName, QSqlDatabase::connectionNames()){
|
||||
ui->cbbConnection->addItem(QIcon(":/databrowser/images/plug-connect.png"),ConnectionDesc::connectionNameForUser(connectionName));
|
||||
void SQLEditDialog::initConnections() {
|
||||
foreach (QString connectionName, QSqlDatabase::connectionNames()) {
|
||||
ui->cbbConnection->addItem(QIcon(":/databrowser/images/plug-connect.png"),
|
||||
ConnectionDesc::connectionNameForUser(connectionName));
|
||||
}
|
||||
|
||||
foreach(QString connectionName, m_datasources->connectionNames()){
|
||||
connectionName = (connectionName.compare(QSqlDatabase::defaultConnection)==0) ?
|
||||
tr("defaultConnection") : connectionName;
|
||||
if (ui->cbbConnection->findText(connectionName,Qt::MatchExactly )==-1)
|
||||
ui->cbbConnection->addItem(QIcon(":/databrowser/images/plug-disconnect.png"),ConnectionDesc::connectionNameForUser(connectionName));
|
||||
foreach (QString connectionName, m_datasources->connectionNames()) {
|
||||
connectionName =
|
||||
(connectionName.compare(QSqlDatabase::defaultConnection) == 0) ? tr("defaultConnection") : connectionName;
|
||||
if (ui->cbbConnection->findText(connectionName, Qt::MatchExactly) == -1)
|
||||
ui->cbbConnection->addItem(QIcon(":/databrowser/images/plug-disconnect.png"),
|
||||
ConnectionDesc::connectionNameForUser(connectionName));
|
||||
}
|
||||
|
||||
ui->cbbConnection->setCurrentIndex(ui->cbbConnection->findText(m_defaultConnection));
|
||||
if (!m_oldDatasourceName.isEmpty()){
|
||||
ui->cbbConnection->setCurrentIndex(ui->cbbConnection->findText(ConnectionDesc::connectionNameForUser(m_datasources->connectionName(m_oldDatasourceName))));
|
||||
if (!m_oldDatasourceName.isEmpty()) {
|
||||
ui->cbbConnection->setCurrentIndex(ui->cbbConnection->findText(
|
||||
ConnectionDesc::connectionNameForUser(m_datasources->connectionName(m_oldDatasourceName))));
|
||||
}
|
||||
}
|
||||
|
||||
void SQLEditDialog::setDataSources(LimeReport::DataSourceManager *dataSources, QString datasourceName)
|
||||
{
|
||||
m_datasources=dataSources;
|
||||
if (!datasourceName.isEmpty()){
|
||||
void SQLEditDialog::setDataSources(LimeReport::DataSourceManager *dataSources, QString datasourceName) {
|
||||
m_datasources = dataSources;
|
||||
if (!datasourceName.isEmpty()) {
|
||||
ui->cbSubdetail->setEnabled(true);
|
||||
m_oldDatasourceName=datasourceName;
|
||||
m_oldDatasourceName = datasourceName;
|
||||
ui->leDatasourceName->setText(datasourceName);
|
||||
ui->sqlText->setText(dataSources->queryText(datasourceName));
|
||||
if (dataSources->isQuery(datasourceName)){
|
||||
if (dataSources->isQuery(datasourceName)) {
|
||||
initQueryMode();
|
||||
}
|
||||
if (dataSources->isSubQuery(datasourceName)){
|
||||
if (dataSources->isSubQuery(datasourceName)) {
|
||||
initSubQueryMode();
|
||||
ui->leMaster->setText(dataSources->subQueryByName(datasourceName)->master());
|
||||
}
|
||||
if (dataSources->isProxy(datasourceName)){
|
||||
if (dataSources->isProxy(datasourceName)) {
|
||||
initProxyMode();
|
||||
LimeReport::ProxyDesc* proxyDesc = dataSources->proxyByName(datasourceName);
|
||||
LimeReport::ProxyDesc *proxyDesc = dataSources->proxyByName(datasourceName);
|
||||
ui->leChild->setText(proxyDesc->child());
|
||||
ui->leMaster->setText(proxyDesc->master());
|
||||
int curIndex=0;
|
||||
foreach(LimeReport::FieldMapDesc* fields, *proxyDesc->fieldsMap()){
|
||||
ui->fieldsMap->setRowCount(curIndex+1);
|
||||
ui->fieldsMap->setItem(curIndex,0,new QTableWidgetItem(fields->master()));
|
||||
ui->fieldsMap->setItem(curIndex,1,new QTableWidgetItem(fields->detail()));
|
||||
int curIndex = 0;
|
||||
foreach (LimeReport::FieldMapDesc *fields, *proxyDesc->fieldsMap()) {
|
||||
ui->fieldsMap->setRowCount(curIndex + 1);
|
||||
ui->fieldsMap->setItem(curIndex, 0, new QTableWidgetItem(fields->master()));
|
||||
ui->fieldsMap->setItem(curIndex, 1, new QTableWidgetItem(fields->detail()));
|
||||
curIndex++;
|
||||
}
|
||||
}
|
||||
if (dataSources->isCSV(datasourceName)){
|
||||
if (dataSources->isCSV(datasourceName)) {
|
||||
ui->csvText->setPlainText(dataSources->csvByName(datasourceName)->csvText());
|
||||
ui->leSeparator->setText(dataSources->csvByName(datasourceName)->separator());
|
||||
ui->cbUseFirstRowAsHeader->setChecked(dataSources->csvByName(datasourceName)->firstRowIsHeader());
|
||||
@ -217,59 +211,55 @@ void SQLEditDialog::setDataSources(LimeReport::DataSourceManager *dataSources, Q
|
||||
}
|
||||
}
|
||||
|
||||
void SQLEditDialog::setDefaultConnection(QString defaultConnection)
|
||||
{
|
||||
void SQLEditDialog::setDefaultConnection(QString defaultConnection) {
|
||||
m_defaultConnection = ConnectionDesc::connectionNameForUser(defaultConnection);
|
||||
}
|
||||
|
||||
void SQLEditDialog::slotDataSourceNameEditing()
|
||||
{
|
||||
if (m_dialogMode==AddMode){
|
||||
QPalette palette=ui->leDatasourceName->palette();
|
||||
if (m_datasources->containsDatasource(ui->leDatasourceName->text())){
|
||||
palette.setColor(QPalette::Text,Qt::red);
|
||||
void SQLEditDialog::slotDataSourceNameEditing() {
|
||||
if (m_dialogMode == AddMode) {
|
||||
QPalette palette = ui->leDatasourceName->palette();
|
||||
if (m_datasources->containsDatasource(ui->leDatasourceName->text())) {
|
||||
palette.setColor(QPalette::Text, Qt::red);
|
||||
ui->leDatasourceName->setPalette(palette);
|
||||
ui->lblInfo->setText(QString(tr("Datasource with name %1 already exist")).arg(ui->leDatasourceName->text()));
|
||||
ui->lblInfo->setText(
|
||||
QString(tr("Datasource with name %1 already exist")).arg(ui->leDatasourceName->text()));
|
||||
ui->lblInfo->setVisible(true);
|
||||
} else {
|
||||
palette.setColor(QPalette::Text,QApplication::palette().text().color());
|
||||
palette.setColor(QPalette::Text, QApplication::palette().text().color());
|
||||
ui->leDatasourceName->setPalette(palette);
|
||||
ui->lblInfo->setVisible(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void SQLEditDialog::on_cbSubdetail_clicked(bool checked)
|
||||
{
|
||||
if (checked){
|
||||
m_masterDatasources->setModel(new QStringListModel(m_datasources->dataSourceNames(),m_datasources));
|
||||
void SQLEditDialog::on_cbSubdetail_clicked(bool checked) {
|
||||
if (checked) {
|
||||
m_masterDatasources->setModel(new QStringListModel(m_datasources->dataSourceNames(), m_datasources));
|
||||
}
|
||||
ui->leMaster->setEnabled(checked);
|
||||
ui->rbProxy->setEnabled(checked);
|
||||
ui->rbSubQuery->setEnabled(checked);
|
||||
if ((checked)&&(ui->rbProxy->isChecked())) initProxyMode();
|
||||
if ((checked)&&(ui->rbSubQuery->isChecked())) initSubQueryMode();
|
||||
if (!checked) initQueryMode();
|
||||
if ((checked) && (ui->rbProxy->isChecked()))
|
||||
initProxyMode();
|
||||
if ((checked) && (ui->rbSubQuery->isChecked()))
|
||||
initSubQueryMode();
|
||||
if (!checked)
|
||||
initQueryMode();
|
||||
}
|
||||
|
||||
void SQLEditDialog::on_rbProxy_clicked(bool checked)
|
||||
{
|
||||
if (checked) initProxyMode();
|
||||
void SQLEditDialog::on_rbProxy_clicked(bool checked) {
|
||||
if (checked)
|
||||
initProxyMode();
|
||||
}
|
||||
|
||||
void SQLEditDialog::on_rbSubQuery_clicked(bool checked)
|
||||
{
|
||||
if (checked) initSubQueryMode();
|
||||
void SQLEditDialog::on_rbSubQuery_clicked(bool checked) {
|
||||
if (checked)
|
||||
initSubQueryMode();
|
||||
}
|
||||
|
||||
void SQLEditDialog::on_pbAddField_clicked()
|
||||
{
|
||||
ui->fieldsMap->setRowCount(ui->fieldsMap->rowCount()+1);
|
||||
}
|
||||
void SQLEditDialog::on_pbAddField_clicked() { ui->fieldsMap->setRowCount(ui->fieldsMap->rowCount() + 1); }
|
||||
|
||||
|
||||
void SQLEditDialog::initQueryMode()
|
||||
{
|
||||
void SQLEditDialog::initQueryMode() {
|
||||
ui->gbSQL->setVisible(true);
|
||||
ui->gbFieldsMap->setVisible(false);
|
||||
ui->pnlChildDatasource->setVisible(false);
|
||||
@ -278,12 +268,11 @@ void SQLEditDialog::initQueryMode()
|
||||
ui->cbSubdetail->setChecked(false);
|
||||
ui->leMaster->setVisible(false);
|
||||
ui->lbMaster->setVisible(false);
|
||||
//ui->tabWidget->removeTab(1);
|
||||
// ui->tabWidget->removeTab(1);
|
||||
ui->tabWidget->addTab(ui->csvTab, tr("CSV"));
|
||||
}
|
||||
|
||||
void SQLEditDialog::initSubQueryMode()
|
||||
{
|
||||
void SQLEditDialog::initSubQueryMode() {
|
||||
ui->gbSQL->setVisible(true);
|
||||
ui->gbFieldsMap->setVisible(false);
|
||||
ui->pnlChildDatasource->setVisible(false);
|
||||
@ -297,8 +286,7 @@ void SQLEditDialog::initSubQueryMode()
|
||||
ui->tabWidget->removeTab(1);
|
||||
}
|
||||
|
||||
void SQLEditDialog::initProxyMode()
|
||||
{
|
||||
void SQLEditDialog::initProxyMode() {
|
||||
ui->gbSQL->setVisible(false);
|
||||
ui->gbFieldsMap->setVisible(true);
|
||||
ui->pnlChildDatasource->setVisible(true);
|
||||
@ -313,23 +301,17 @@ void SQLEditDialog::initProxyMode()
|
||||
ui->tabWidget->removeTab(1);
|
||||
}
|
||||
|
||||
void SQLEditDialog::initCSVMode()
|
||||
{
|
||||
ui->tabWidget->setCurrentWidget(ui->csvTab);
|
||||
}
|
||||
void SQLEditDialog::initCSVMode() { ui->tabWidget->setCurrentWidget(ui->csvTab); }
|
||||
|
||||
void SQLEditDialog::slotPreviewData()
|
||||
{
|
||||
if (ui->cbbConnection->currentText().isEmpty()){
|
||||
QMessageBox::critical(this,tr("Attention"),tr("Connection is not specified"));
|
||||
void SQLEditDialog::slotPreviewData() {
|
||||
if (ui->cbbConnection->currentText().isEmpty()) {
|
||||
QMessageBox::critical(this, tr("Attention"), tr("Connection is not specified"));
|
||||
return;
|
||||
}
|
||||
m_previewModel = m_datasources->previewSQL(
|
||||
ConnectionDesc::connectionNameForReport(ui->cbbConnection->currentText()),
|
||||
ui->sqlText->toPlainText(),
|
||||
ui->leMaster->text()
|
||||
);
|
||||
if (m_previewModel){
|
||||
m_previewModel =
|
||||
m_datasources->previewSQL(ConnectionDesc::connectionNameForReport(ui->cbbConnection->currentText()),
|
||||
ui->sqlText->toPlainText(), ui->leMaster->text());
|
||||
if (m_previewModel) {
|
||||
ui->tvPreview->setModel(m_previewModel.data());
|
||||
ui->gbDataPreview->setVisible(true);
|
||||
ui->pbPreview->setText(tr("Refresh"));
|
||||
@ -337,49 +319,37 @@ void SQLEditDialog::slotPreviewData()
|
||||
} else {
|
||||
if (ui->gbDataPreview->isVisible())
|
||||
hidePreview();
|
||||
QMessageBox::critical(this,tr("Attention"),m_datasources->lastError());
|
||||
QMessageBox::critical(this, tr("Attention"), m_datasources->lastError());
|
||||
}
|
||||
}
|
||||
|
||||
void SQLEditDialog::slotHidePreview()
|
||||
{
|
||||
hidePreview();
|
||||
}
|
||||
void SQLEditDialog::slotHidePreview() { hidePreview(); }
|
||||
|
||||
void SQLEditDialog::writeSetting()
|
||||
{
|
||||
if (settings()!=0){
|
||||
void SQLEditDialog::writeSetting() {
|
||||
if (settings() != 0) {
|
||||
settings()->beginGroup("SQLEditor");
|
||||
settings()->setValue("Geometry",saveGeometry());
|
||||
settings()->setValue("Geometry", saveGeometry());
|
||||
settings()->endGroup();
|
||||
}
|
||||
}
|
||||
|
||||
void SQLEditDialog::readSettings()
|
||||
{
|
||||
if (settings()==0) return;
|
||||
void SQLEditDialog::readSettings() {
|
||||
if (settings() == 0)
|
||||
return;
|
||||
settings()->beginGroup("SQLEditor");
|
||||
QVariant v = settings()->value("Geometry");
|
||||
if (v.isValid()){
|
||||
if (v.isValid()) {
|
||||
restoreGeometry(v.toByteArray());
|
||||
}
|
||||
settings()->endGroup();
|
||||
}
|
||||
|
||||
void SQLEditDialog::hidePreview()
|
||||
{
|
||||
void SQLEditDialog::hidePreview() {
|
||||
ui->gbDataPreview->setVisible(false);
|
||||
ui->pbPreview->setText(tr("Preview"));
|
||||
ui->pbHidePreview->setVisible(false);
|
||||
}
|
||||
|
||||
void SQLEditDialog::on_pbDelField_clicked()
|
||||
{
|
||||
ui->fieldsMap->removeRow(ui->fieldsMap->currentRow());
|
||||
}
|
||||
void SQLEditDialog::on_pbDelField_clicked() { ui->fieldsMap->removeRow(ui->fieldsMap->currentRow()); }
|
||||
|
||||
} // namespace LimeReport
|
||||
|
||||
|
||||
|
||||
|
||||
|
BIN
limereport/images/border_settings.png
Normal file
BIN
limereport/images/border_settings.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.7 KiB |
@ -1,287 +0,0 @@
|
||||
#include "borderframeeditor.h"
|
||||
#include "ui_borderframeeditor.h"
|
||||
#include <QPainter>
|
||||
#include <QGraphicsLineItem>
|
||||
#include <QDebug>
|
||||
#include <QMouseEvent>
|
||||
#include "lrbasedesignintf.h"
|
||||
#include "lrbordereditor.h"
|
||||
using namespace LimeReport;
|
||||
BorderFrameEditor::BorderFrameEditor(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
, ui(new Ui::BorderFrameEditor)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
scene = new QGraphicsScene(ui->graphicsView);
|
||||
|
||||
QRect vRect = rect();
|
||||
|
||||
//Draw corder lines
|
||||
//topLeft
|
||||
scene->addLine(10,5, 10,10,QPen(Qt::gray));
|
||||
scene->addLine(5,10, 10,10,QPen(Qt::gray));
|
||||
//bottomLeft
|
||||
scene->addLine(10,vRect.bottom() -5, 10,vRect.bottom()-10,QPen(Qt::gray));
|
||||
scene->addLine(5,vRect.bottom()-10,10,vRect.bottom()-10,QPen(Qt::gray));
|
||||
//bottomRight
|
||||
scene->addLine(vRect.right()-10,vRect.bottom() -5,vRect.right()- 10,vRect.bottom()-10,QPen(Qt::gray));
|
||||
scene->addLine(vRect.right()-5,vRect.bottom()-10,vRect.right()-10,vRect.bottom()-10,QPen(Qt::gray));
|
||||
//topRight
|
||||
scene->addLine(vRect.width()-10,5,vRect.width()- 10,10,QPen(Qt::gray));
|
||||
scene->addLine(vRect.width()-5,10, vRect.width()-10,10,QPen(Qt::gray));
|
||||
scene->setSceneRect(vRect);
|
||||
ui->graphicsView->setScene(scene);
|
||||
QGraphicsSimpleTextItem * io = new QGraphicsSimpleTextItem();
|
||||
io->setAcceptedMouseButtons(Qt::LeftButton);
|
||||
io->setPos(scene->sceneRect().center());
|
||||
io->setText(tr("Text"));
|
||||
scene->addItem(io);
|
||||
|
||||
QRectF bR = io->sceneBoundingRect();
|
||||
io->setPos( scene->sceneRect().center().x() - bR.width()/2, scene->sceneRect().center().y() - bR.height()/2 );
|
||||
connect(this,SIGNAL(borderSideClicked(int, bool)),this,SLOT(SlotBorderSideClicked(int,bool)));
|
||||
|
||||
}
|
||||
|
||||
BorderFrameEditor::~BorderFrameEditor()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void BorderFrameEditor::setPen(QPen pen)
|
||||
{
|
||||
m_pen = pen;
|
||||
updateBorders();
|
||||
|
||||
}
|
||||
|
||||
QPen BorderFrameEditor::pen()
|
||||
{
|
||||
return m_pen;
|
||||
}
|
||||
|
||||
void BorderFrameEditor::setAllLines()
|
||||
{
|
||||
|
||||
topLine = scene->addLine(QLineF(10,10,rect().width() - 10,10),m_pen);
|
||||
|
||||
|
||||
leftLine = scene->addLine(QLineF(10,10,10,rect().height() - 10),m_pen);
|
||||
|
||||
bottomLine = scene->addLine(QLineF(10,rect().bottom() -10,rect().width() - 10
|
||||
,rect().bottom() - 10),m_pen);
|
||||
|
||||
|
||||
|
||||
rightLine = scene->addLine(QLineF(rect().width() - 10,10
|
||||
,rect().width() - 10,rect().height() - 10),m_pen);
|
||||
|
||||
|
||||
}
|
||||
|
||||
void BorderFrameEditor::unSetAllLines()
|
||||
{
|
||||
if(topLine)
|
||||
{
|
||||
scene->removeItem(topLine);
|
||||
|
||||
}
|
||||
if(leftLine)
|
||||
{
|
||||
scene->removeItem(leftLine);
|
||||
|
||||
}
|
||||
if(bottomLine)
|
||||
{
|
||||
scene->removeItem(bottomLine);
|
||||
|
||||
|
||||
|
||||
}
|
||||
if(rightLine)
|
||||
{
|
||||
scene->removeItem(rightLine);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void BorderFrameEditor::mousePressEvent(QMouseEvent *event)
|
||||
{
|
||||
|
||||
if(event->x() >= 10 && event->y() <30)//Draw top border
|
||||
{
|
||||
|
||||
if(!topLine)
|
||||
{
|
||||
|
||||
emit borderSideClicked(1,true);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
emit borderSideClicked(1,false);
|
||||
}
|
||||
}
|
||||
|
||||
if((event->x() >= 10 && event->x() < 30) && (event->y() > 10)) //Draw border left
|
||||
{
|
||||
if(!leftLine)
|
||||
{
|
||||
|
||||
emit borderSideClicked(4,true);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
emit borderSideClicked(4,false);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if(event->x() >= 10 && (event->y() >80 && event->y() < rect().bottom())) //Draw bottom border
|
||||
{
|
||||
if(!bottomLine)
|
||||
{
|
||||
|
||||
emit borderSideClicked(2,true);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
|
||||
emit borderSideClicked(2,false);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if((event->x() >= 130 && event->x() < rect().width()) && event->y() > 10) //Draw border right
|
||||
{
|
||||
if(!rightLine)
|
||||
{
|
||||
|
||||
emit borderSideClicked(8,true);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
emit borderSideClicked(8,false);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
void BorderFrameEditor::SlotBorderSideClicked(int side, bool show)
|
||||
{
|
||||
|
||||
switch(side)
|
||||
{
|
||||
case BaseDesignIntf::BorderSide::TopLine:
|
||||
{
|
||||
if(show)
|
||||
{
|
||||
topLine = scene->addLine(QLineF(10,10,rect().width() - 10,10),m_pen);
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
scene->removeItem(topLine);
|
||||
topLine = NULL;
|
||||
|
||||
}
|
||||
}break;
|
||||
case BaseDesignIntf::LeftLine:
|
||||
{
|
||||
if(show)
|
||||
{
|
||||
leftLine = scene->addLine(QLineF(10,10,10,rect().height() - 10),m_pen);
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
scene->removeItem(leftLine);
|
||||
leftLine = NULL;
|
||||
|
||||
|
||||
}
|
||||
}break;
|
||||
case BaseDesignIntf::BottomLine:
|
||||
{
|
||||
if(show)
|
||||
{
|
||||
bottomLine = scene->addLine(QLineF(10,rect().bottom() -10,rect().width() - 10
|
||||
,rect().bottom() - 10),m_pen);
|
||||
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
scene->removeItem(bottomLine);
|
||||
bottomLine = NULL;
|
||||
|
||||
|
||||
}
|
||||
}break;
|
||||
case BaseDesignIntf::RightLine:
|
||||
{
|
||||
if(show)
|
||||
{
|
||||
rightLine = scene->addLine(QLineF(rect().width() - 10,10
|
||||
,rect().width() - 10,rect().height() - 10),m_pen);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
scene->removeItem(rightLine);
|
||||
rightLine = NULL;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
updateBorders();
|
||||
}
|
||||
|
||||
void BorderFrameEditor::updateBorders()
|
||||
{
|
||||
//if a line is set we redraw it
|
||||
if(topLine)
|
||||
{
|
||||
scene->removeItem(topLine);
|
||||
topLine = scene->addLine(QLineF(10,10,rect().width() - 10,10),m_pen);
|
||||
|
||||
}
|
||||
if(leftLine)
|
||||
{
|
||||
scene->removeItem(leftLine);
|
||||
leftLine = scene->addLine(QLineF(10,10,10,rect().height() - 10),m_pen);
|
||||
|
||||
}
|
||||
if(bottomLine)
|
||||
{
|
||||
scene->removeItem(bottomLine);
|
||||
|
||||
bottomLine = scene->addLine(QLineF(10,rect().bottom() -10,rect().width() - 10
|
||||
,rect().bottom() - 10),m_pen);
|
||||
|
||||
}
|
||||
if(rightLine)
|
||||
{
|
||||
scene->removeItem(rightLine);
|
||||
|
||||
rightLine = scene->addLine(QLineF(rect().width() - 10,10
|
||||
,rect().width() - 10,rect().height() - 10),m_pen);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ void ItemsBordersEditorWidget::setItemEvent(BaseDesignIntf* item)
|
||||
updateValues((BaseDesignIntf::BorderLines)borders.toInt());
|
||||
setEnabled(true);
|
||||
}
|
||||
itm = item;
|
||||
m_item = item;
|
||||
}
|
||||
|
||||
void ItemsBordersEditorWidget::properyChangedEvent(const QString& property, const QVariant& oldValue, const QVariant& newValue)
|
||||
@ -72,21 +72,18 @@ void ItemsBordersEditorWidget::allBordesClicked()
|
||||
updateValues((BaseDesignIntf::BorderLines)borders);
|
||||
}
|
||||
|
||||
void ItemsBordersEditorWidget::buttonClicked(bool)
|
||||
{
|
||||
|
||||
}
|
||||
void ItemsBordersEditorWidget::buttonClicked(bool){}
|
||||
|
||||
void ItemsBordersEditorWidget::editBorderClicked()
|
||||
{
|
||||
lrbordereditor be;
|
||||
be.loadItem(itm);
|
||||
if(be.exec() == QDialog::Rejected)return;
|
||||
BorderEditor be;
|
||||
be.loadItem(m_item);
|
||||
if ( be.exec() == QDialog::Rejected ) return;
|
||||
updateValues(be.borderSides());
|
||||
itm->setBorderLinesFlags(be.borderSides());
|
||||
itm->setBorderLineSize(be.border_width());
|
||||
itm->setBorderStyle((LimeReport::BaseDesignIntf::BorderStyle)be.border_style());
|
||||
itm->setBorderColor(be.borderColor());
|
||||
m_item->setBorderLinesFlags(be.borderSides());
|
||||
m_item->setBorderLineSize(be.borderWidth());
|
||||
m_item->setBorderStyle((LimeReport::BaseDesignIntf::BorderStyle)be.borderStyle());
|
||||
m_item->setBorderColor(be.borderColor());
|
||||
}
|
||||
|
||||
void ItemsBordersEditorWidget::initEditor()
|
||||
@ -129,7 +126,7 @@ void ItemsBordersEditorWidget::initEditor()
|
||||
addAction(m_allLines);
|
||||
addSeparator();
|
||||
m_BorderEditor = new QAction(tr("Edit border"),this);
|
||||
m_BorderEditor->setIcon(QIcon(":/report/images/allLines"));
|
||||
m_BorderEditor->setIcon(QIcon(":/report/images/borderEditor"));
|
||||
connect(m_BorderEditor,SIGNAL(triggered()),this,SLOT(editBorderClicked()));
|
||||
addAction(m_BorderEditor);
|
||||
|
||||
@ -140,20 +137,20 @@ void ItemsBordersEditorWidget::initEditor()
|
||||
void ItemsBordersEditorWidget::updateValues(BaseDesignIntf::BorderLines borders)
|
||||
{
|
||||
m_changing = true;
|
||||
m_topLine->setChecked(borders&BaseDesignIntf::TopLine);
|
||||
m_bottomLine->setChecked(borders&BaseDesignIntf::BottomLine);
|
||||
m_leftLine->setChecked(borders&BaseDesignIntf::LeftLine);
|
||||
m_rightLine->setChecked(borders&BaseDesignIntf::RightLine);
|
||||
m_topLine->setChecked(borders & BaseDesignIntf::TopLine);
|
||||
m_bottomLine->setChecked(borders & BaseDesignIntf::BottomLine);
|
||||
m_leftLine->setChecked(borders & BaseDesignIntf::LeftLine);
|
||||
m_rightLine->setChecked(borders & BaseDesignIntf::RightLine);
|
||||
m_changing = false;
|
||||
}
|
||||
|
||||
BaseDesignIntf::BorderLines ItemsBordersEditorWidget::createBorders()
|
||||
{
|
||||
int borders = 0;
|
||||
borders += (m_topLine->isChecked())?BaseDesignIntf::TopLine:0;
|
||||
borders += (m_bottomLine->isChecked())?BaseDesignIntf::BottomLine:0;
|
||||
borders += (m_leftLine->isChecked())?BaseDesignIntf::LeftLine:0;
|
||||
borders += (m_rightLine->isChecked())?BaseDesignIntf::RightLine:0;
|
||||
borders += (m_topLine->isChecked()) ? BaseDesignIntf::TopLine:0;
|
||||
borders += (m_bottomLine->isChecked()) ? BaseDesignIntf::BottomLine:0;
|
||||
borders += (m_leftLine->isChecked()) ? BaseDesignIntf::LeftLine:0;
|
||||
borders += (m_rightLine->isChecked()) ? BaseDesignIntf::RightLine:0;
|
||||
return (BaseDesignIntf::BorderLines)borders;
|
||||
}
|
||||
|
||||
@ -180,6 +177,21 @@ void ItemsBordersEditorWidgetForDesigner::allBordesClicked()
|
||||
ItemsBordersEditorWidget::allBordesClicked();
|
||||
m_reportEditor->setBorders(createBorders());
|
||||
}
|
||||
|
||||
void ItemsBordersEditorWidgetForDesigner::editBorderClicked()
|
||||
{
|
||||
BorderEditor be;
|
||||
be.loadItem(m_item);
|
||||
if ( be.exec() == QDialog::Rejected ) return;
|
||||
|
||||
m_reportEditor->setBordersExt(
|
||||
be.borderSides(),
|
||||
be.borderWidth(),
|
||||
(LimeReport::BaseDesignIntf::BorderStyle)be.borderStyle(),
|
||||
be.borderColor()
|
||||
);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
} //namespace LimeReport
|
||||
|
@ -49,11 +49,12 @@ protected slots:
|
||||
virtual void noBordesClicked();
|
||||
virtual void allBordesClicked();
|
||||
virtual void buttonClicked(bool);
|
||||
void editBorderClicked();
|
||||
virtual void editBorderClicked();
|
||||
protected:
|
||||
void setItemEvent(BaseDesignIntf *item);
|
||||
void properyChangedEvent(const QString &property, const QVariant &oldValue, const QVariant &newValue);
|
||||
BaseDesignIntf::BorderLines createBorders();
|
||||
BaseDesignIntf *m_item;
|
||||
private:
|
||||
void initEditor();
|
||||
void updateValues(BaseDesignIntf::BorderLines borders);
|
||||
@ -66,7 +67,7 @@ private:
|
||||
QAction* m_BorderEditor;
|
||||
bool m_changing;
|
||||
int m_borders;
|
||||
BaseDesignIntf *itm;
|
||||
|
||||
};
|
||||
|
||||
#ifdef HAVE_REPORT_DESIGNER
|
||||
@ -79,6 +80,7 @@ protected slots:
|
||||
void buttonClicked(bool);
|
||||
void noBordesClicked();
|
||||
void allBordesClicked();
|
||||
void editBorderClicked();
|
||||
private:
|
||||
ReportDesignWidget* m_reportEditor;
|
||||
|
||||
|
BIN
limereport/items/images/border_settings.png
Normal file
BIN
limereport/items/images/border_settings.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.7 KiB |
@ -2,181 +2,155 @@
|
||||
#include "ui_lrbordereditor.h"
|
||||
#include <QColorDialog>
|
||||
#include "lrbasedesignintf.h"
|
||||
lrbordereditor::lrbordereditor(QWidget *parent) :
|
||||
|
||||
namespace LimeReport{
|
||||
|
||||
BorderEditor::BorderEditor(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::lrbordereditor)
|
||||
ui(new Ui::BorderEditor),
|
||||
m_borderStyle(1),
|
||||
m_borderWidth(1)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
connect(ui->borderFrame,SIGNAL(borderSideClicked(int, bool)), this, SLOT(checkToolButtons(int, bool)));
|
||||
connect(
|
||||
ui->borderFrame, SIGNAL(borderSideClicked(LimeReport::BaseDesignIntf::BorderSide, bool)),
|
||||
this, SLOT(checkToolButtons(LimeReport::BaseDesignIntf::BorderSide, bool))
|
||||
);
|
||||
}
|
||||
|
||||
void lrbordereditor::loadItem(LimeReport::BaseDesignIntf *i)
|
||||
void BorderEditor::loadItem(LimeReport::BaseDesignIntf *item)
|
||||
{
|
||||
item = i;
|
||||
if(item->borderLines() & LimeReport::BaseDesignIntf::TopLine)
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine,true);
|
||||
m_item = item;
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine,
|
||||
item->borderLines() & LimeReport::BaseDesignIntf::TopLine);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine,
|
||||
item->borderLines() & LimeReport::BaseDesignIntf::LeftLine);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine,
|
||||
item->borderLines() & LimeReport::BaseDesignIntf::RightLine);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine,
|
||||
item->borderLines() & LimeReport::BaseDesignIntf::BottomLine);
|
||||
|
||||
}
|
||||
if(item->borderLines() & LimeReport::BaseDesignIntf::LeftLine)
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine,true);
|
||||
|
||||
}
|
||||
if(item->borderLines() & LimeReport::BaseDesignIntf::RightLine)
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine,true);
|
||||
|
||||
}
|
||||
if(item->borderLines() & LimeReport::BaseDesignIntf::BottomLine)
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine,true);
|
||||
}
|
||||
QPen pen;
|
||||
pen.setWidthF(item->borderLineSize());
|
||||
pen.setColor(item->borderColor());
|
||||
pen.setStyle((Qt::PenStyle)item->borderStyle());
|
||||
ui->borderFrame->setPen(pen);
|
||||
border_color = item->borderColor().name();
|
||||
m_borderColor = item->borderColor().name();
|
||||
ui->listWidget->setCurrentRow((Qt::PenStyle)item->borderStyle());
|
||||
ui->comboBox->setCurrentText(QString::number(item->borderLineSize()));
|
||||
borderWidth = ui->comboBox->currentText().toDouble();
|
||||
borderStyle =ui->listWidget->currentRow();
|
||||
ui->pushButton->setStyleSheet(QString("#pushButton{background-color:%1;}").arg(border_color));
|
||||
m_borderWidth = ui->comboBox->currentText().toDouble();
|
||||
m_borderStyle =ui->listWidget->currentRow();
|
||||
ui->colorIndicator->setStyleSheet(QString("background-color:%1;").arg(m_borderColor));
|
||||
}
|
||||
|
||||
LimeReport::BaseDesignIntf::BorderLines lrbordereditor::borderSides()
|
||||
LimeReport::BaseDesignIntf::BorderLines BorderEditor::borderSides()
|
||||
{
|
||||
int borders = 0;
|
||||
borders += (ui->topLine->isChecked())?LimeReport::BaseDesignIntf::TopLine:0;
|
||||
borders += (ui->bottomLine->isChecked())?LimeReport::BaseDesignIntf::BottomLine:0;
|
||||
borders += (ui->leftLine->isChecked())?LimeReport::BaseDesignIntf::LeftLine:0;
|
||||
borders += (ui->rightLine->isChecked())?LimeReport::BaseDesignIntf::RightLine:0;
|
||||
return (LimeReport::BaseDesignIntf::BorderLines)borders;
|
||||
borders += (ui->topLine->isChecked()) ? LimeReport::BaseDesignIntf::TopLine : 0;
|
||||
borders += (ui->bottomLine->isChecked()) ? LimeReport::BaseDesignIntf::BottomLine : 0;
|
||||
borders += (ui->leftLine->isChecked()) ? LimeReport::BaseDesignIntf::LeftLine : 0;
|
||||
borders += (ui->rightLine->isChecked()) ? LimeReport::BaseDesignIntf::RightLine : 0;
|
||||
return (LimeReport::BaseDesignIntf::BorderLines) borders;
|
||||
}
|
||||
|
||||
LimeReport::BaseDesignIntf::BorderStyle lrbordereditor::border_style()
|
||||
LimeReport::BaseDesignIntf::BorderStyle BorderEditor::borderStyle()
|
||||
{
|
||||
return (LimeReport::BaseDesignIntf::BorderStyle)borderStyle;
|
||||
return (LimeReport::BaseDesignIntf::BorderStyle) m_borderStyle;
|
||||
}
|
||||
|
||||
QString lrbordereditor::borderColor()
|
||||
QString BorderEditor::borderColor()
|
||||
{
|
||||
return border_color;
|
||||
return m_borderColor;
|
||||
}
|
||||
|
||||
double lrbordereditor::border_width()
|
||||
double BorderEditor::borderWidth()
|
||||
{
|
||||
return borderWidth;
|
||||
return m_borderWidth;
|
||||
}
|
||||
|
||||
lrbordereditor::~lrbordereditor()
|
||||
BorderEditor::~BorderEditor()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void lrbordereditor::on_listWidget_currentRowChanged(int currentRow)
|
||||
void BorderEditor::on_listWidget_currentRowChanged(int currentRow)
|
||||
{
|
||||
QPen pen = ui->borderFrame->pen();
|
||||
pen.setStyle((Qt::PenStyle)currentRow);
|
||||
borderStyle = currentRow;
|
||||
m_borderStyle = currentRow;
|
||||
ui->borderFrame->setPen(pen);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void lrbordereditor::on_comboBox_currentTextChanged(const QString &arg1)
|
||||
void BorderEditor::on_comboBox_currentTextChanged(const QString &arg1)
|
||||
{
|
||||
QPen pen = ui->borderFrame->pen();
|
||||
pen.setWidthF(arg1.toDouble());
|
||||
ui->borderFrame->setPen(pen);
|
||||
borderWidth = arg1.toDouble();
|
||||
m_borderWidth = arg1.toDouble();
|
||||
}
|
||||
|
||||
|
||||
void lrbordereditor::on_pushButton_clicked()
|
||||
void BorderEditor::checkToolButtons(LimeReport::BaseDesignIntf::BorderSide side, bool check)
|
||||
{
|
||||
QColorDialog cd(this);
|
||||
if(cd.exec() == QDialog::Rejected)return;
|
||||
QPen pen = ui->borderFrame->pen();
|
||||
pen.setColor(cd.selectedColor().name());
|
||||
border_color = pen.color().name();
|
||||
|
||||
ui->pushButton->setStyleSheet(QString("#pushButton{background-color:%1;}").arg(border_color));
|
||||
ui->borderFrame->setPen(pen);
|
||||
}
|
||||
|
||||
|
||||
void lrbordereditor::on_toolButton_4_clicked()
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine,true);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine,true);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine,true);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine,true);
|
||||
QPen pen = ui->borderFrame->pen();
|
||||
|
||||
ui->borderFrame->setPen(pen);
|
||||
}
|
||||
|
||||
|
||||
void lrbordereditor::on_noLines_clicked()
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine,false);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine,false);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine,false);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine,false);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void lrbordereditor::on_topLine_clicked()
|
||||
{
|
||||
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine,ui->topLine->isChecked());
|
||||
|
||||
}
|
||||
|
||||
void lrbordereditor::checkToolButtons(int side, bool check)
|
||||
{
|
||||
|
||||
switch(side)
|
||||
{
|
||||
case LimeReport::BaseDesignIntf::BorderSide::TopLine:
|
||||
{
|
||||
ui->topLine->setChecked(check);
|
||||
}break;
|
||||
case LimeReport::BaseDesignIntf::BorderSide::BottomLine:
|
||||
{
|
||||
ui->bottomLine->setChecked(check);
|
||||
}break;
|
||||
case LimeReport::BaseDesignIntf::BorderSide::LeftLine:
|
||||
{
|
||||
ui->leftLine->setChecked(check);
|
||||
}break;
|
||||
case LimeReport::BaseDesignIntf::BorderSide::RightLine:
|
||||
{
|
||||
ui->rightLine->setChecked(check);
|
||||
}break;
|
||||
case BaseDesignIntf::BorderSide::TopLine:
|
||||
ui->topLine->setChecked(check);
|
||||
break;
|
||||
case BaseDesignIntf::BorderSide::BottomLine:
|
||||
ui->bottomLine->setChecked(check);
|
||||
break;
|
||||
case BaseDesignIntf::BorderSide::LeftLine:
|
||||
ui->leftLine->setChecked(check);
|
||||
break;
|
||||
case BaseDesignIntf::BorderSide::RightLine:
|
||||
ui->rightLine->setChecked(check);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void BorderEditor::on_topLine_clicked(bool checked){
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine, checked);
|
||||
}
|
||||
|
||||
void lrbordereditor::on_bottomLine_clicked()
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine,ui->bottomLine->isChecked());
|
||||
void BorderEditor::on_bottomLine_clicked(bool checked){
|
||||
emit ui->borderFrame->borderSideClicked(BaseDesignIntf::BorderSide::BottomLine, checked);
|
||||
}
|
||||
|
||||
void BorderEditor::on_leftLine_clicked(bool checked){
|
||||
emit ui->borderFrame->borderSideClicked(BaseDesignIntf::BorderSide::LeftLine, checked);
|
||||
}
|
||||
|
||||
void BorderEditor::on_rightLine_clicked(bool checked){
|
||||
emit ui->borderFrame->borderSideClicked(BaseDesignIntf::BorderSide::RightLine, checked);
|
||||
}
|
||||
|
||||
|
||||
void lrbordereditor::on_leftLine_clicked()
|
||||
void BorderEditor::on_allLines_clicked()
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine,ui->leftLine->isChecked());
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine, true);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine, true);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine, true);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine, true);
|
||||
}
|
||||
|
||||
void BorderEditor::on_noLines_clicked()
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::TopLine, false);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::BottomLine, false);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::LeftLine, false);
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine, false);
|
||||
}
|
||||
|
||||
|
||||
void lrbordereditor::on_toolButton_3_clicked()
|
||||
void BorderEditor::on_selectColor_clicked()
|
||||
{
|
||||
emit ui->borderFrame->borderSideClicked(LimeReport::BaseDesignIntf::BorderSide::RightLine,ui->rightLine->isChecked());
|
||||
QColorDialog cd(this);
|
||||
if(cd.exec() == QDialog::Rejected) return;
|
||||
QPen pen = ui->borderFrame->pen();
|
||||
pen.setColor(cd.selectedColor().name());
|
||||
m_borderColor = pen.color().name();
|
||||
ui->colorIndicator->setStyleSheet(QString("background-color:%1;").arg(m_borderColor));
|
||||
ui->borderFrame->setPen(pen);
|
||||
}
|
||||
|
||||
} // namespace LimeReport
|
||||
|
@ -3,54 +3,47 @@
|
||||
|
||||
#include <QDialog>
|
||||
#include "lrbasedesignintf.h"
|
||||
|
||||
namespace LimeReport{
|
||||
|
||||
namespace Ui {
|
||||
class lrbordereditor;
|
||||
class BorderEditor;
|
||||
}
|
||||
|
||||
class lrbordereditor : public QDialog
|
||||
|
||||
class LIMEREPORT_EXPORT BorderEditor : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit lrbordereditor(QWidget *parent = nullptr);
|
||||
void loadItem(LimeReport::BaseDesignIntf *i);
|
||||
explicit BorderEditor(QWidget *parent = nullptr);
|
||||
void loadItem(LimeReport::BaseDesignIntf *item);
|
||||
LimeReport::BaseDesignIntf::BorderLines borderSides();
|
||||
LimeReport::BaseDesignIntf::BorderStyle border_style();
|
||||
LimeReport::BaseDesignIntf::BorderStyle borderStyle();
|
||||
QString borderColor();
|
||||
double border_width();
|
||||
|
||||
|
||||
~lrbordereditor();
|
||||
double borderWidth();
|
||||
~BorderEditor();
|
||||
|
||||
private slots:
|
||||
void on_listWidget_currentRowChanged(int currentRow);
|
||||
|
||||
void on_comboBox_currentTextChanged(const QString &arg1);
|
||||
|
||||
void on_pushButton_clicked();
|
||||
|
||||
void on_toolButton_4_clicked();
|
||||
|
||||
void on_noLines_clicked();
|
||||
|
||||
void on_topLine_clicked();
|
||||
void checkToolButtons(int side, bool check);
|
||||
|
||||
void on_bottomLine_clicked();
|
||||
|
||||
void on_leftLine_clicked();
|
||||
|
||||
void on_toolButton_3_clicked();
|
||||
void on_topLine_clicked(bool checked);
|
||||
void on_bottomLine_clicked(bool checked);
|
||||
void on_leftLine_clicked(bool checked);
|
||||
void on_rightLine_clicked(bool checked);
|
||||
void on_allLines_clicked();
|
||||
void checkToolButtons(LimeReport::BaseDesignIntf::BorderSide side, bool check);
|
||||
void on_selectColor_clicked();
|
||||
|
||||
private:
|
||||
Ui::lrbordereditor *ui;
|
||||
LimeReport::BaseDesignIntf *item;
|
||||
QString border_color;
|
||||
int borderStyle = 1;
|
||||
double borderWidth = 1;
|
||||
|
||||
|
||||
Ui::BorderEditor *ui;
|
||||
LimeReport::BaseDesignIntf *m_item;
|
||||
QString m_borderColor;
|
||||
int m_borderStyle;
|
||||
double m_borderWidth;
|
||||
};
|
||||
|
||||
} // namespace LimeReport
|
||||
|
||||
#endif // LRBORDEREDITOR_H
|
||||
|
@ -1,13 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>lrbordereditor</class>
|
||||
<widget class="QDialog" name="lrbordereditor">
|
||||
<class>LimeReport::BorderEditor</class>
|
||||
<widget class="QDialog" name="LimeReport::BorderEditor">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>381</width>
|
||||
<height>311</height>
|
||||
<height>352</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@ -31,7 +31,7 @@
|
||||
<string>No lines</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../report.qrc">
|
||||
<iconset>
|
||||
<normaloff>:/report/images/noLines</normaloff>:/report/images/noLines</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
@ -46,12 +46,12 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="toolButton_4">
|
||||
<widget class="QToolButton" name="allLines">
|
||||
<property name="text">
|
||||
<string>Outline</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../report.qrc">
|
||||
<iconset>
|
||||
<normaloff>:/report/images/allLines</normaloff>:/report/images/allLines</iconset>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
@ -81,7 +81,7 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../report.qrc">
|
||||
<iconset>
|
||||
<normaloff>:/report/images/topLine</normaloff>:/report/images/topLine</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
@ -108,7 +108,7 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../report.qrc">
|
||||
<iconset>
|
||||
<normaloff>:/report/images/bottomLine</normaloff>:/report/images/bottomLine</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
@ -119,7 +119,7 @@
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="BorderFrameEditor" name="borderFrame" native="true"/>
|
||||
<widget class="LimeReport::BorderFrameEditor" name="borderFrame" native="true"/>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
@ -129,7 +129,7 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../report.qrc">
|
||||
<iconset>
|
||||
<normaloff>:/report/images/leftLine</normaloff>:/report/images/leftLine</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
@ -156,7 +156,7 @@
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../report.qrc">
|
||||
<iconset>
|
||||
<normaloff>:/report/images/rightLine</normaloff>:/report/images/rightLine</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
@ -319,14 +319,34 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">#pushButton{background-color: black;}</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Select...</string>
|
||||
</property>
|
||||
</widget>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QWidget" name="colorIndicator" native="true">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="baseSize">
|
||||
<size>
|
||||
<width>10</width>
|
||||
<height>10</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(0, 0, 0);</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="selectColor">
|
||||
<property name="text">
|
||||
<string>Select</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
@ -342,46 +362,43 @@
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>BorderFrameEditor</class>
|
||||
<class>LimeReport::BorderFrameEditor</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>borderframeeditor.h</header>
|
||||
<header>lrborderframeeditor.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../report.qrc"/>
|
||||
<include location="../report.qrc"/>
|
||||
</resources>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>lrbordereditor</receiver>
|
||||
<receiver>LimeReport::BorderEditor</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>253</x>
|
||||
<y>255</y>
|
||||
<x>119</x>
|
||||
<y>322</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>219</x>
|
||||
<y>275</y>
|
||||
<x>377</x>
|
||||
<y>309</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>lrbordereditor</receiver>
|
||||
<receiver>LimeReport::BorderEditor</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>316</x>
|
||||
<y>258</y>
|
||||
<x>48</x>
|
||||
<y>334</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>345</x>
|
||||
<y>277</y>
|
||||
<x>66</x>
|
||||
<y>348</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
|
181
limereport/items/lrborderframeeditor.cpp
Normal file
181
limereport/items/lrborderframeeditor.cpp
Normal file
@ -0,0 +1,181 @@
|
||||
#include "lrborderframeeditor.h"
|
||||
#include "ui_lrborderframeeditor.h"
|
||||
#include <QPainter>
|
||||
#include <QGraphicsLineItem>
|
||||
#include <QDebug>
|
||||
#include <QMouseEvent>
|
||||
#include "lrbasedesignintf.h"
|
||||
#include "lrbordereditor.h"
|
||||
|
||||
namespace LimeReport{
|
||||
|
||||
BorderFrameEditor::BorderFrameEditor(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
, ui(new Ui::BorderFrameEditor)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
scene = new QGraphicsScene(ui->graphicsView);
|
||||
|
||||
QRect vRect = rect();
|
||||
|
||||
//Draw corder lines
|
||||
//topLeft
|
||||
scene->addLine(10, 5, 10, 10, QPen(Qt::gray));
|
||||
scene->addLine(5, 10, 10, 10, QPen(Qt::gray));
|
||||
//bottomLeft
|
||||
scene->addLine(10,vRect.bottom() -5, 10, vRect.bottom()-10, QPen(Qt::gray));
|
||||
scene->addLine(5,vRect.bottom()-10, 10, vRect.bottom()-10, QPen(Qt::gray));
|
||||
//bottomRight
|
||||
scene->addLine(vRect.right() - 10, vRect.bottom() - 5, vRect.right()- 10, vRect.bottom() - 10, QPen(Qt::gray));
|
||||
scene->addLine(vRect.right() - 5, vRect.bottom() - 10, vRect.right() - 10, vRect.bottom() - 10, QPen(Qt::gray));
|
||||
//topRight
|
||||
scene->addLine(vRect.width() - 10, 5, vRect.width() - 10, 10, QPen(Qt::gray));
|
||||
scene->addLine(vRect.width() - 5, 10, vRect.width() - 10, 10, QPen(Qt::gray));
|
||||
scene->setSceneRect(vRect);
|
||||
ui->graphicsView->setScene(scene);
|
||||
QGraphicsSimpleTextItem * io = new QGraphicsSimpleTextItem();
|
||||
io->setAcceptedMouseButtons(Qt::LeftButton);
|
||||
io->setPos(scene->sceneRect().center());
|
||||
io->setText(tr("Text"));
|
||||
scene->addItem(io);
|
||||
|
||||
QRectF bR = io->sceneBoundingRect();
|
||||
io->setPos( scene->sceneRect().center().x() - bR.width()/2, scene->sceneRect().center().y() - bR.height()/2 );
|
||||
connect(
|
||||
this, SIGNAL(borderSideClicked(LimeReport::BaseDesignIntf::BorderSide, bool)),
|
||||
this, SLOT(slotBorderSideClicked(LimeReport::BaseDesignIntf::BorderSide, bool))
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
BorderFrameEditor::~BorderFrameEditor()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void BorderFrameEditor::setPen(QPen pen)
|
||||
{
|
||||
m_pen = pen;
|
||||
updateBorders();
|
||||
}
|
||||
|
||||
QPen BorderFrameEditor::pen()
|
||||
{
|
||||
return m_pen;
|
||||
}
|
||||
|
||||
void BorderFrameEditor::setAllLines()
|
||||
{
|
||||
if (!topLine)
|
||||
topLine = createSideLine(LimeReport::BaseDesignIntf::BorderSide::TopLine);
|
||||
if (!leftLine)
|
||||
leftLine = createSideLine(LimeReport::BaseDesignIntf::BorderSide::LeftLine);
|
||||
if (!bottomLine)
|
||||
bottomLine = createSideLine(LimeReport::BaseDesignIntf::BorderSide::BottomLine);
|
||||
if (!rightLine)
|
||||
rightLine = createSideLine(LimeReport::BaseDesignIntf::BorderSide::RightLine);
|
||||
}
|
||||
|
||||
void BorderFrameEditor::unSetAllLines()
|
||||
{
|
||||
if (topLine){
|
||||
scene->removeItem(topLine);
|
||||
topLine = NULL;
|
||||
}
|
||||
if (leftLine){
|
||||
scene->removeItem(leftLine);
|
||||
leftLine = NULL;
|
||||
}
|
||||
if (bottomLine){
|
||||
scene->removeItem(bottomLine);
|
||||
bottomLine = NULL;
|
||||
}
|
||||
if (rightLine){
|
||||
scene->removeItem(rightLine);
|
||||
rightLine = NULL;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void BorderFrameEditor::mousePressEvent(QMouseEvent *event)
|
||||
{
|
||||
if (event->x() >= 10 && event->y() <30)
|
||||
emit borderSideClicked(BaseDesignIntf::BorderSide::TopLine, !topLine);
|
||||
|
||||
if ((event->x() >= 10 && event->x() < 30) && (event->y() > 10))
|
||||
emit borderSideClicked(BaseDesignIntf::BorderSide::LeftLine, !leftLine);
|
||||
|
||||
if (event->x() >= 10 && (event->y() >80 && event->y() < rect().bottom()))
|
||||
emit borderSideClicked(BaseDesignIntf::BorderSide::BottomLine, !bottomLine);
|
||||
|
||||
if ((event->x() >= 130 && event->x() < rect().width()) && event->y() > 10)
|
||||
emit borderSideClicked(BaseDesignIntf::BorderSide::RightLine, !rightLine);
|
||||
}
|
||||
|
||||
void BorderFrameEditor::slotBorderSideClicked(BaseDesignIntf::BorderSide side, bool show)
|
||||
{
|
||||
|
||||
switch(side){
|
||||
|
||||
case BaseDesignIntf::BorderSide::TopLine:
|
||||
if (show){
|
||||
if (!topLine) topLine = createSideLine(side);
|
||||
} else {
|
||||
if (topLine) scene->removeItem(topLine);
|
||||
topLine = NULL;
|
||||
}
|
||||
break;
|
||||
|
||||
case BaseDesignIntf::LeftLine:
|
||||
if (show){
|
||||
if (!leftLine) leftLine = createSideLine(side);
|
||||
} else {
|
||||
if (leftLine) scene->removeItem(leftLine);
|
||||
leftLine = NULL;
|
||||
}
|
||||
break;
|
||||
|
||||
case BaseDesignIntf::BottomLine:
|
||||
if (show){
|
||||
if (!bottomLine) bottomLine = createSideLine(side);
|
||||
} else {
|
||||
if (bottomLine) scene->removeItem(bottomLine);
|
||||
bottomLine = NULL;
|
||||
}
|
||||
break;
|
||||
|
||||
case BaseDesignIntf::RightLine:
|
||||
if (show){
|
||||
if (!rightLine) rightLine = createSideLine(side);
|
||||
} else {
|
||||
if(rightLine) scene->removeItem(rightLine);
|
||||
rightLine = NULL;
|
||||
}
|
||||
|
||||
}
|
||||
updateBorders();
|
||||
}
|
||||
|
||||
QGraphicsLineItem *BorderFrameEditor::createSideLine(LimeReport::BaseDesignIntf::BorderSide side)
|
||||
{
|
||||
switch(side){
|
||||
case BaseDesignIntf::BorderSide::TopLine:
|
||||
return scene->addLine(QLineF(10, 10, rect().width() - 10, 10), m_pen);
|
||||
case BaseDesignIntf::BorderSide::LeftLine:
|
||||
return scene->addLine(QLineF(10, 10, 10, rect().height() - 10), m_pen);
|
||||
case BaseDesignIntf::BorderSide::RightLine:
|
||||
return scene->addLine(QLineF(rect().width() - 10, 10 ,rect().width() - 10, rect().height() - 10), m_pen);
|
||||
case BaseDesignIntf::BorderSide::BottomLine:
|
||||
return scene->addLine(QLineF(10, rect().bottom() - 10, rect().width() - 10, rect().bottom() - 10), m_pen);
|
||||
}
|
||||
}
|
||||
|
||||
void BorderFrameEditor::updateBorders()
|
||||
{
|
||||
if (topLine) topLine->setPen(m_pen);
|
||||
if (leftLine) leftLine->setPen(m_pen);
|
||||
if (bottomLine) bottomLine->setPen(m_pen);
|
||||
if (rightLine) rightLine->setPen(m_pen);
|
||||
}
|
||||
|
||||
} //namespace LimeReport
|
@ -5,9 +5,9 @@
|
||||
#include <QGraphicsScene>
|
||||
#include <QGraphicsLineItem>
|
||||
#include "lrbasedesignintf.h"
|
||||
QT_BEGIN_NAMESPACE
|
||||
namespace LimeReport{
|
||||
|
||||
namespace Ui { class BorderFrameEditor; }
|
||||
QT_END_NAMESPACE
|
||||
|
||||
class BorderFrameEditor : public QWidget
|
||||
{
|
||||
@ -23,20 +23,24 @@ public:
|
||||
protected:
|
||||
void mousePressEvent(QMouseEvent *event);
|
||||
signals:
|
||||
void borderSideClicked(int side,bool show);
|
||||
void borderSideClicked(LimeReport::BaseDesignIntf::BorderSide side, bool show);
|
||||
private slots:
|
||||
void SlotBorderSideClicked(int side, bool show);
|
||||
void slotBorderSideClicked(LimeReport::BaseDesignIntf::BorderSide side, bool show);
|
||||
|
||||
private:
|
||||
QGraphicsLineItem *createSideLine(LimeReport::BaseDesignIntf::BorderSide side);
|
||||
void updateBorders();
|
||||
private:
|
||||
Ui::BorderFrameEditor *ui;
|
||||
QGraphicsScene *scene;
|
||||
QGraphicsLineItem *topLine = NULL
|
||||
QGraphicsScene *scene;
|
||||
QGraphicsLineItem *topLine = NULL
|
||||
,*bottomLine = NULL
|
||||
,*leftLine = NULL
|
||||
,*rightLine = NULL;
|
||||
QPen m_pen;
|
||||
void updateBorders();
|
||||
QPen m_pen;
|
||||
|
||||
|
||||
|
||||
};
|
||||
} // namespace LimeReport
|
||||
#endif // WIDGET
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>BorderFrameEditor</class>
|
||||
<widget class="QWidget" name="BorderFrameEditor">
|
||||
<class>LimeReport::BorderFrameEditor</class>
|
||||
<widget class="QWidget" name="LimeReport::BorderFrameEditor">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
@ -61,8 +61,13 @@ BaseDesignIntf *ImageItem::createSameTypeItem(QObject *owner, QGraphicsItem *par
|
||||
}
|
||||
|
||||
void ImageItem::loadPictureFromVariant(QVariant& data){
|
||||
//TODO: Migrate to QMetaType
|
||||
if (data.isValid()){
|
||||
if (data.type()==QVariant::Image){
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
if (data.typeId() == QMetaType::QImage){
|
||||
#else
|
||||
if (data.type() == QVariant::Image){
|
||||
#endif
|
||||
m_picture = data.value<QImage>();
|
||||
} else {
|
||||
switch (m_format) {
|
||||
@ -106,14 +111,14 @@ void ImageItem::processPopUpAction(QAction *action)
|
||||
ItemDesignIntf::processPopUpAction(action);
|
||||
}
|
||||
|
||||
QImage getFileByResourcePath(QString resourcePath){
|
||||
QImage getFileByResourcePath(QString resourcePath) {
|
||||
QFileInfo resourceFile(resourcePath);
|
||||
if (resourceFile.exists())
|
||||
return QImage(resourcePath);
|
||||
return QImage();
|
||||
}
|
||||
|
||||
QImage ImageItem::drawImage()
|
||||
QImage ImageItem::drawImage() const
|
||||
{
|
||||
if (image().isNull())
|
||||
return getFileByResourcePath(m_resourcePath);
|
||||
@ -178,11 +183,22 @@ void ImageItem::updateItemSize(DataSourceManager* dataManager, RenderPass pass,
|
||||
m_resourcePath = expandDataFields(m_resourcePath, NoEscapeSymbols, dataManager);
|
||||
m_picture = QImage(m_resourcePath);
|
||||
} else if (!m_variable.isEmpty()){
|
||||
//TODO: Migrate to QMetaType
|
||||
QVariant data = dataManager->variable(m_variable);
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
if (data.typeId() == QMetaType::QString){
|
||||
#else
|
||||
if (data.type() == QVariant::String){
|
||||
#endif
|
||||
m_picture = QImage(data.toString());
|
||||
} else if (data.type() == QVariant::Image){
|
||||
loadPictureFromVariant(data);
|
||||
} else {
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
if (data.typeId() == QMetaType::QImage){
|
||||
#else
|
||||
if (data.type() == QVariant::Image){
|
||||
#endif
|
||||
loadPictureFromVariant(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -348,7 +364,7 @@ void ImageItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
|
||||
}
|
||||
|
||||
if (shiftHeight > 0){
|
||||
point.setY(point.x()+shiftHeight/2);
|
||||
point.setY(point.y()+shiftHeight/2);
|
||||
} else {
|
||||
cutY = fabs(shiftHeight/2);
|
||||
cutHeigth += shiftHeight;
|
||||
@ -394,7 +410,7 @@ void ImageItem::setImage(QImage value)
|
||||
}
|
||||
}
|
||||
|
||||
QImage ImageItem::image(){
|
||||
QImage ImageItem::image() const{
|
||||
return m_picture;
|
||||
}
|
||||
|
||||
@ -423,3 +439,8 @@ void ImageItem::setFormat(Format format)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
bool LimeReport::ImageItem::isEmpty() const
|
||||
{
|
||||
return drawImage().isNull();
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ public:
|
||||
ImageItem(QObject *owner, QGraphicsItem *parent);
|
||||
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
|
||||
void setImage(QImage value);
|
||||
QImage image();
|
||||
QImage image() const;
|
||||
void setResourcePath(const QString &value);
|
||||
QString resourcePath() const;
|
||||
QString datasource() const;
|
||||
@ -108,7 +108,7 @@ protected:
|
||||
void loadPictureFromVariant(QVariant& data);
|
||||
void preparePopUpMenu(QMenu &menu);
|
||||
void processPopUpAction(QAction *action);
|
||||
QImage drawImage();
|
||||
QImage drawImage() const;
|
||||
private:
|
||||
QImage m_picture;
|
||||
bool m_useExternalPainter;
|
||||
@ -121,8 +121,12 @@ private:
|
||||
bool m_keepAspectRatio;
|
||||
bool m_center;
|
||||
Format m_format;
|
||||
QString m_variable;
|
||||
QString m_variable;
|
||||
|
||||
|
||||
// BaseDesignIntf interface
|
||||
public:
|
||||
bool isEmpty() const override;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -1,11 +1,15 @@
|
||||
#include "lrpageeditor.h"
|
||||
#include "ui_lrpageeditor.h"
|
||||
#include "lrpagedesignintf.h"
|
||||
#include "lrpageitemdesignintf.h"
|
||||
#include <QPushButton>
|
||||
#include <QPageSize>
|
||||
lrpageeditor::lrpageeditor(QWidget *parent, LimeReport::PageItemDesignIntf *page) :
|
||||
|
||||
namespace LimeReport{
|
||||
|
||||
PageEditor::PageEditor(QWidget *parent, LimeReport::PageItemDesignIntf *page) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::lrpageeditor)
|
||||
ui(new Ui::PageEditor)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
m_page = page;
|
||||
@ -16,8 +20,8 @@ lrpageeditor::lrpageeditor(QWidget *parent, LimeReport::PageItemDesignIntf *page
|
||||
ui->format->addItem(pageSizes.key(i));
|
||||
}
|
||||
ui->format->setCurrentIndex(m_page->pageSize());
|
||||
ui->width->setValue(m_page->width() / LimeReport::Const::mmFACTOR);
|
||||
ui->height->setValue(m_page->height() / LimeReport::Const::mmFACTOR);
|
||||
ui->width->setValue(m_page->width() / m_page->unitFactor());
|
||||
ui->height->setValue(m_page->height() / m_page->unitFactor());
|
||||
ui->portrait->setChecked(m_page->pageOrientation() == LimeReport::PageItemDesignIntf::Portrait);
|
||||
ui->landscape->setChecked(m_page->pageOrientation() == LimeReport::PageItemDesignIntf::Landscape);
|
||||
//Margins
|
||||
@ -33,18 +37,17 @@ lrpageeditor::lrpageeditor(QWidget *parent, LimeReport::PageItemDesignIntf *page
|
||||
ui->fullPage->setChecked(m_page->fullPage());
|
||||
}
|
||||
|
||||
lrpageeditor::~lrpageeditor()
|
||||
PageEditor::~PageEditor()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void lrpageeditor::applyChanges()
|
||||
void PageEditor::applyChanges()
|
||||
{
|
||||
m_page->setPageSize(static_cast<LimeReport::PageItemDesignIntf::PageSize>(ui->format->currentIndex()));
|
||||
m_page->setWidth(ui->width->value()* LimeReport::Const::mmFACTOR);
|
||||
m_page->setHeight(ui->height->value()* LimeReport::Const::mmFACTOR);
|
||||
m_page->setPageOrientation(ui->portrait->isChecked()?LimeReport::PageItemDesignIntf::Portrait : LimeReport::PageItemDesignIntf::Landscape);
|
||||
|
||||
m_page->setWidth(ui->width->value() * LimeReport::Const::mmFACTOR);
|
||||
m_page->setHeight(ui->height->value() * LimeReport::Const::mmFACTOR);
|
||||
m_page->setPageOrientation(ui->portrait->isChecked()? LimeReport::PageItemDesignIntf::Portrait : LimeReport::PageItemDesignIntf::Landscape);
|
||||
m_page->setTopMargin(ui->marginTop->value());
|
||||
m_page->setBottomMargin(ui->marginBottom->value());
|
||||
m_page->setRightMargin(ui->marginRight->value());
|
||||
@ -52,53 +55,56 @@ void lrpageeditor::applyChanges()
|
||||
m_page->setDropPrinterMargins(ui->dropPrinterMargins->isChecked());
|
||||
ui->endlessHeight->setChecked(ui->endlessHeight->isChecked());
|
||||
m_page->setExtendedHeight(ui->extendedHeight->value());
|
||||
ui->width->setValue(m_page->getItemWidth());
|
||||
ui->height->setValue(m_page->getItemHeight());
|
||||
}
|
||||
|
||||
void lrpageeditor::on_buttonBox_accepted()
|
||||
QSizeF PageEditor::getRectByPageSize(const LimeReport::PageItemDesignIntf::PageSize& size)
|
||||
{
|
||||
applyChanges();
|
||||
accept();
|
||||
|
||||
}
|
||||
|
||||
QSizeF lrpageeditor::getRectByPageSize(const LimeReport::PageItemDesignIntf::PageSize& size)
|
||||
{
|
||||
if (size != LimeReport::PageItemDesignIntf::Custom) {
|
||||
if (size != PageItemDesignIntf::Custom) {
|
||||
QPrinter printer;
|
||||
printer.setOutputFormat(QPrinter::PdfFormat);
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 1))
|
||||
printer.setOrientation(ui->portrait->isChecked()?QPrinter::Portrait : QPrinter::Landscape);
|
||||
printer.setOrientation(ui->portrait->isChecked() ? QPrinter::Portrait : QPrinter::Landscape);
|
||||
printer.setPaperSize((QPrinter::PageSize)size);
|
||||
return QSizeF(printer.paperSize(QPrinter::Millimeter).width() * 10,
|
||||
printer.paperSize(QPrinter::Millimeter).height() * 10);
|
||||
return QSizeF(printer.paperSize(QPrinter::Millimeter).width() * m_page->unitFactor(),
|
||||
printer.paperSize(QPrinter::Millimeter).height() * m_page->unitFactor());
|
||||
|
||||
#else
|
||||
QPageSize pageSize = QPageSize((QPageSize::PageSizeId)size);
|
||||
qreal width = pageSize.size(QPageSize::Millimeter).width() * 10;
|
||||
qreal height = pageSize.size(QPageSize::Millimeter).height() * 10;
|
||||
return QSizeF(pageOrientation() == Portrait ? width : height,
|
||||
pageOrientation() == Portrait ? height : width);
|
||||
|
||||
// printer.setPageOrientation((QPageLayout::Orientation)pageOrientation());
|
||||
// printer.setPageSize(QPageSize((QPageSize::PageSizeId)size));
|
||||
// return QSizeF(printer.pageLayout().pageSize().size(QPageSize::Millimeter).width() * 10,
|
||||
// printer.pageLayout().pageSize().size(QPageSize::Millimeter).height() * 10);
|
||||
printer.setPageOrientation((QPageLayout::Orientation)m_page->pageOrientation());
|
||||
printer.setPageSize(QPageSize((QPageSize::PageSizeId)size));
|
||||
return QSizeF(printer.pageLayout().pageSize().size(QPageSize::Millimeter).width() * m_page->unitFactor(),
|
||||
printer.pageLayout().pageSize().size(QPageSize::Millimeter).height() * m_page->unitFactor());
|
||||
#endif
|
||||
}
|
||||
|
||||
else {
|
||||
return QSizeF(width(),height());
|
||||
} else {
|
||||
return QSizeF(m_page->getItemWidth(), m_page->getItemHeight());
|
||||
}
|
||||
}
|
||||
void lrpageeditor::on_format_currentIndexChanged(int index)
|
||||
|
||||
void PageEditor::on_format_currentIndexChanged(int index)
|
||||
{
|
||||
QPageSize ps = *new QPageSize();
|
||||
if(ui->format->currentText() != "Custom")
|
||||
{
|
||||
QSizeF pageSize = getRectByPageSize(static_cast<LimeReport::PageItemDesignIntf::PageSize>(index));
|
||||
ui->width->setValue(pageSize.width()/10);
|
||||
ui->height->setValue(pageSize.height()/10);
|
||||
ui->width->setValue(pageSize.width() / m_page->unitFactor());
|
||||
ui->height->setValue(pageSize.height() / m_page->unitFactor());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void PageEditor::on_buttonBox_clicked(QAbstractButton *button)
|
||||
{
|
||||
switch(ui->buttonBox->buttonRole(button)){
|
||||
case QDialogButtonBox::ApplyRole:
|
||||
applyChanges();
|
||||
break;
|
||||
case QDialogButtonBox::AcceptRole:
|
||||
applyChanges();
|
||||
accept();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
@ -4,28 +4,33 @@
|
||||
#include <QDialog>
|
||||
#include "lrpageitemdesignintf.h"
|
||||
#include <QPushButton>
|
||||
namespace LimeReport{
|
||||
|
||||
namespace Ui {
|
||||
class lrpageeditor;
|
||||
class PageEditor;
|
||||
}
|
||||
|
||||
class lrpageeditor : public QDialog
|
||||
class LIMEREPORT_EXPORT PageEditor : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit lrpageeditor(QWidget *parent = nullptr,LimeReport::PageItemDesignIntf *page = nullptr);
|
||||
~lrpageeditor();
|
||||
explicit PageEditor(QWidget *parent = nullptr,LimeReport::PageItemDesignIntf *page = nullptr);
|
||||
~PageEditor();
|
||||
|
||||
private slots:
|
||||
void on_buttonBox_accepted();
|
||||
// void on_buttonBox_accepted();
|
||||
void on_format_currentIndexChanged(int index);
|
||||
void on_buttonBox_clicked(QAbstractButton *button);
|
||||
|
||||
private:
|
||||
Ui::lrpageeditor *ui;
|
||||
Ui::PageEditor *ui;
|
||||
LimeReport::PageItemDesignIntf* m_page;
|
||||
|
||||
void applyChanges();
|
||||
QSizeF getRectByPageSize(const LimeReport::PageItemDesignIntf::PageSize& size);
|
||||
};
|
||||
|
||||
} // namespace LimeReport
|
||||
|
||||
#endif // LRPAGEEDITOR_H
|
||||
|
@ -1,13 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>lrpageeditor</class>
|
||||
<widget class="QDialog" name="lrpageeditor">
|
||||
<class>LimeReport::PageEditor</class>
|
||||
<widget class="QDialog" name="LimeReport::PageEditor">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>306</width>
|
||||
<height>322</height>
|
||||
<height>356</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@ -131,6 +131,19 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_2">
|
||||
@ -297,7 +310,7 @@
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
<set>QDialogButtonBox::Apply|QDialogButtonBox::Close|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -305,22 +318,6 @@
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>lrpageeditor</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>325</x>
|
||||
<y>312</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>286</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>endlessHeight</sender>
|
||||
<signal>clicked(bool)</signal>
|
||||
@ -328,12 +325,12 @@
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>60</x>
|
||||
<y>50</y>
|
||||
<x>72</x>
|
||||
<y>81</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>130</x>
|
||||
<y>85</y>
|
||||
<x>131</x>
|
||||
<y>134</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
|
@ -107,11 +107,22 @@ void SVGItem::updateItemSize(DataSourceManager *dataManager, RenderPass pass, in
|
||||
m_resourcePath = expandDataFields(m_resourcePath, NoEscapeSymbols, dataManager);
|
||||
m_image = imageFromResource(m_resourcePath);
|
||||
} else if (!m_variable.isEmpty()){
|
||||
//TODO: Migrate to QMetaType
|
||||
QVariant data = dataManager->variable(m_variable);
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
if (data.typeId() == QMetaType::QString){
|
||||
#else
|
||||
if (data.type() == QVariant::String){
|
||||
#endif
|
||||
m_image = imageFromResource(data.toString());
|
||||
} else if (data.type() == QVariant::ByteArray) {
|
||||
m_image = data.value<QByteArray>() ;
|
||||
} else {
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
if (data.typeId() == QMetaType::QByteArray) {
|
||||
#else
|
||||
if (data.type() == QVariant::ByteArray) {
|
||||
#endif
|
||||
m_image = data.value<QByteArray>() ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -276,10 +276,6 @@ void TextItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* style, Q
|
||||
BaseDesignIntf::paint(painter, style, widget);
|
||||
}
|
||||
|
||||
QString TextItem::content() const{
|
||||
return m_strText;
|
||||
}
|
||||
|
||||
void TextItem::Init()
|
||||
{
|
||||
m_autoWidth = NoneAutoWidth;
|
||||
@ -299,14 +295,8 @@ void TextItem::setContent(const QString &value)
|
||||
{
|
||||
if (m_strText.compare(value)!=0){
|
||||
QString oldValue = m_strText;
|
||||
if (m_trimValue)
|
||||
m_strText=value.trimmed();
|
||||
else
|
||||
m_strText=value;
|
||||
|
||||
// if (itemMode() == DesignMode && (autoHeight())){
|
||||
// initTextSizes();
|
||||
// }
|
||||
m_strText = value;
|
||||
|
||||
if (!isLoading()){
|
||||
if (autoHeight() || autoWidth() || hasFollower())
|
||||
@ -317,6 +307,10 @@ void TextItem::setContent(const QString &value)
|
||||
}
|
||||
}
|
||||
|
||||
QString TextItem::content() const{
|
||||
return m_strText;
|
||||
}
|
||||
|
||||
void TextItem::updateItemSize(DataSourceManager* dataManager, RenderPass pass, int maxHeight)
|
||||
{
|
||||
|
||||
@ -395,6 +389,7 @@ void TextItem::setTextFont(TextPtr text, const QFont& value) const {
|
||||
void TextItem::adaptFontSize(TextPtr text) const{
|
||||
QFont _font = transformToSceneFont(font());
|
||||
do{
|
||||
// qApp->processEvents();
|
||||
setTextFont(text,_font);
|
||||
if (_font.pixelSize()>2)
|
||||
_font.setPixelSize(_font.pixelSize()-1);
|
||||
@ -493,29 +488,43 @@ QString TextItem::formatFieldValue()
|
||||
}
|
||||
}
|
||||
|
||||
#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
|
||||
switch (value.type()) {
|
||||
case QVariant::Date:
|
||||
case QVariant::DateTime:
|
||||
return formatDateTime(value.toDateTime());
|
||||
case QVariant::Double:
|
||||
return formatNumber(value.toDouble());
|
||||
default:
|
||||
return value.toString();
|
||||
case QVariant::Date:
|
||||
case QVariant::DateTime:
|
||||
return formatDateTime(value.toDateTime());
|
||||
case QVariant::Double:
|
||||
return formatNumber(value.toDouble());
|
||||
default:
|
||||
return value.toString();
|
||||
}
|
||||
#else
|
||||
switch (value.typeId()) {
|
||||
case QMetaType::QDate:
|
||||
case QMetaType::QDateTime:
|
||||
return formatDateTime(value.toDateTime());
|
||||
case QMetaType::Double:
|
||||
return formatNumber(value.toDouble());
|
||||
default:
|
||||
return value.toString();
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
TextItem::TextPtr TextItem::textDocument() const
|
||||
{
|
||||
TextPtr text(new QTextDocument);
|
||||
QString content = m_trimValue ? m_strText.trimmed() : m_strText;
|
||||
|
||||
if (allowHTML())
|
||||
if (isReplaceCarriageReturns()){
|
||||
text->setHtml(replaceReturns(m_strText));
|
||||
text->setHtml(replaceReturns(content));
|
||||
} else {
|
||||
text->setHtml(m_strText);
|
||||
text->setHtml(content);
|
||||
}
|
||||
else
|
||||
text->setPlainText(m_strText);
|
||||
text->setPlainText(content);
|
||||
|
||||
QTextOption to;
|
||||
to.setAlignment(m_alignment);
|
||||
@ -785,6 +794,7 @@ void TextItem::setTrimValue(bool value)
|
||||
{
|
||||
bool oldValue = m_trimValue;
|
||||
m_trimValue = value;
|
||||
update();
|
||||
notify("trimValue",oldValue,value);
|
||||
}
|
||||
|
||||
@ -827,7 +837,7 @@ void TextItem::expandContent(DataSourceManager* dataManager, RenderPass pass)
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 1))
|
||||
QRegExp rx(QString(Const::NAMED_VARIABLE_RX).arg(variableName));
|
||||
#else
|
||||
QRegularExpression rx(QString(Const::NAMED_VARIABLE_RX).arg(variableName));
|
||||
QRegularExpression rx = getNamedVariableRegEx(variableName);
|
||||
#endif
|
||||
if (context.contains(rx) && pass == FirstPass){
|
||||
backupContent();
|
||||
|
@ -80,7 +80,7 @@ SOURCES += \
|
||||
$$REPORT_PATH/lraxisdata.cpp \
|
||||
$$REPORT_PATH/lrpreparedpages.cpp \
|
||||
$$REPORT_PATH/items/lrpageeditor.cpp \
|
||||
$$REPORT_PATH/items/borderframeeditor.cpp \
|
||||
$$REPORT_PATH/items/lrborderframeeditor.cpp \
|
||||
$$REPORT_PATH/items/lrbordereditor.cpp
|
||||
|
||||
CONFIG(staticlib) {
|
||||
@ -181,7 +181,7 @@ HEADERS += \
|
||||
$$REPORT_PATH/lraxisdata.h \
|
||||
$$REPORT_PATH/lrpreparedpagesintf.h \
|
||||
$$REPORT_PATH/items/lrpageeditor.h \
|
||||
$$REPORT_PATH/items/borderframeeditor.h \
|
||||
$$REPORT_PATH/items/lrborderframeeditor.h \
|
||||
$$REPORT_PATH/items/lrbordereditor.h
|
||||
|
||||
CONFIG(staticlib) {
|
||||
@ -207,7 +207,7 @@ FORMS += \
|
||||
$$REPORT_PATH/items/lrimageitemeditor.ui \
|
||||
$$REPORT_PATH/scripteditor/lrscripteditor.ui \
|
||||
$$REPORT_PATH/items/lrpageeditor.ui \
|
||||
$$REPORT_PATH/items/borderframeeditor.ui \
|
||||
$$REPORT_PATH/items/lrborderframeeditor.ui \
|
||||
$$REPORT_PATH/items/lrbordereditor.ui
|
||||
|
||||
RESOURCES += \
|
||||
|
@ -261,7 +261,6 @@ public:
|
||||
void setAlternateBackgroundColor(const QColor &alternateBackgroundColor);
|
||||
bool useAlternateBackgroundColor() const;
|
||||
void setUseAlternateBackgroundColor(bool useAlternateBackgroundColor);
|
||||
void replaceGroupsFunction(BandDesignIntf *band);
|
||||
qreal bottomSpace() const;
|
||||
void setBackgroundModeProperty(BGMode value);
|
||||
void setBackgroundOpacity(int value);
|
||||
|
@ -431,7 +431,7 @@ void BaseDesignIntf::paint(QPainter *ppainter, const QStyleOptionGraphicsItem *o
|
||||
setupPainter(ppainter);
|
||||
drawBorder(ppainter, rect());
|
||||
if(m_shadow)
|
||||
drawShadow(ppainter, rect());
|
||||
drawShadow(ppainter, rect(), 6);
|
||||
// if (m_joinMarkerOn) { drawMarker(ppainter, Const::JOIN_COLOR);}
|
||||
// if (isSelected() && !m_joinMarkerOn) {drawMarker(ppainter, Const::SELECTION_COLOR);}
|
||||
drawResizeZone(ppainter);
|
||||
@ -1145,10 +1145,9 @@ void BaseDesignIntf::drawBorder(QPainter *painter, QRectF rect) const
|
||||
painter->restore();
|
||||
}
|
||||
|
||||
void BaseDesignIntf::drawShadow(QPainter *painter, QRectF rect) const
|
||||
void BaseDesignIntf::drawShadow(QPainter *painter, QRectF rect, qreal shadowSize) const
|
||||
{
|
||||
|
||||
qreal shWidth = rect.width()/100;
|
||||
qreal shWidth = shadowSize;
|
||||
QRectF rshadow(rect.topRight() + QPointF(0, shWidth),
|
||||
rect.bottomRight() + QPointF(shWidth, 0));
|
||||
QLinearGradient rgrad(rshadow.topLeft(), rshadow.topRight());
|
||||
@ -1167,8 +1166,6 @@ void BaseDesignIntf::drawShadow(QPainter *painter, QRectF rect) const
|
||||
cgrad.setColorAt(0.0, QColor(0,0,0,255));
|
||||
cgrad.setColorAt(1.0, QColor(0,0,0,0));
|
||||
painter->fillRect(cshadow, QBrush(cgrad));
|
||||
|
||||
|
||||
}
|
||||
|
||||
void BaseDesignIntf::setGeometry(QRectF rect)
|
||||
@ -1446,18 +1443,27 @@ void BaseDesignIntf::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||
|
||||
QAction* lockGeometryAction = menu.addAction(tr("Lock item geometry"));
|
||||
lockGeometryAction->setCheckable(true);
|
||||
lockGeometryAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_L));
|
||||
|
||||
lockGeometryAction->setChecked(isGeometryLocked());
|
||||
menu.addSeparator();
|
||||
|
||||
QAction* copyAction = menu.addAction(QIcon(":/report/images/copy"), tr("Copy"));
|
||||
copyAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_C));
|
||||
QAction* cutAction = menu.addAction(QIcon(":/report/images/cut"), tr("Cut"));
|
||||
cutAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_X));
|
||||
QAction* cutAction = menu.addAction(QIcon(":/report/images/cut"), tr("Cut"));
|
||||
QAction* pasteAction = menu.addAction(QIcon(":/report/images/paste"), tr("Paste"));
|
||||
pasteAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_V));
|
||||
pasteAction->setEnabled(false);
|
||||
|
||||
#if QT_VERSION >=QT_VERSION_CHECK(5,0,0)
|
||||
lockGeometryAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_L));
|
||||
copyAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_C));
|
||||
cutAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_X));
|
||||
pasteAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_V));
|
||||
#else
|
||||
lockGeometryAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_L));
|
||||
copyAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_C));
|
||||
cutAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_X));
|
||||
pasteAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_V));
|
||||
#endif
|
||||
|
||||
QClipboard *clipboard = QApplication::clipboard();
|
||||
ItemsReaderIntf::Ptr reader = StringXMLreader::create(clipboard->text());
|
||||
if (reader->first() && reader->itemType() == "Object"){
|
||||
@ -1477,7 +1483,7 @@ void BaseDesignIntf::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||
menu.addSeparator();
|
||||
QAction* noBordersAction = menu.addAction(QIcon(":/report/images/noLines"), tr("No borders"));
|
||||
QAction* allBordersAction = menu.addAction(QIcon(":/report/images/allLines"), tr("All borders"));
|
||||
QAction* editBorderAction = menu.addAction(QIcon(":/report/images/allLines"), tr("Edit borders..."));
|
||||
QAction* editBorderAction = menu.addAction(QIcon(":/report/images/borderEditor"), tr("Edit borders..."));
|
||||
preparePopUpMenu(menu);
|
||||
QAction* a = menu.exec(event->screenPos());
|
||||
if (a){
|
||||
@ -1498,15 +1504,12 @@ void BaseDesignIntf::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||
page->setBorders(BaseDesignIntf::NoLine);
|
||||
if (a == allBordersAction)
|
||||
page->setBorders(BaseDesignIntf::AllLines);
|
||||
if(a == editBorderAction)
|
||||
if (a == editBorderAction)
|
||||
{
|
||||
lrbordereditor be;
|
||||
BorderEditor be;
|
||||
be.loadItem(this);
|
||||
if(be.exec() == QDialog::Rejected)return;
|
||||
setBorderLinesFlags(be.borderSides());
|
||||
setBorderLineSize(be.border_width());
|
||||
setBorderStyle((LimeReport::BaseDesignIntf::BorderStyle)be.border_style());
|
||||
setBorderColor(be.borderColor());
|
||||
if (be.exec() == QDialog::Rejected) return;
|
||||
page->setBordersExt(be.borderSides(), be.borderWidth(), (LimeReport::BaseDesignIntf::BorderStyle)be.borderStyle(), be.borderColor());
|
||||
}
|
||||
if (a == createHLayout)
|
||||
page->addHLayout();
|
||||
|
@ -49,7 +49,7 @@ class ReportEnginePrivate;
|
||||
class PageDesignIntf;
|
||||
class BaseDesignIntf;
|
||||
|
||||
class Marker : public QGraphicsItem{
|
||||
class LIMEREPORT_EXPORT Marker : public QGraphicsItem{
|
||||
public:
|
||||
Marker(QGraphicsItem* parent = 0, BaseDesignIntf* owner = 0): QGraphicsItem(parent), m_owner(owner){}
|
||||
QRectF boundingRect() const;
|
||||
@ -65,7 +65,7 @@ private:
|
||||
BaseDesignIntf* m_owner;
|
||||
};
|
||||
|
||||
class SelectionMarker : public Marker{
|
||||
class LIMEREPORT_EXPORT SelectionMarker : public Marker{
|
||||
public:
|
||||
SelectionMarker(QGraphicsItem* parent=0, BaseDesignIntf* owner = 0);
|
||||
QColor color() const;
|
||||
@ -80,7 +80,7 @@ protected:
|
||||
class DataSourceManager;
|
||||
class ReportRender;
|
||||
|
||||
class BaseDesignIntf :
|
||||
class LIMEREPORT_EXPORT BaseDesignIntf :
|
||||
public QObject, public QGraphicsItem, public ICollectionContainer, public ObjectLoadingStateIntf {
|
||||
Q_OBJECT
|
||||
Q_INTERFACES(QGraphicsItem)
|
||||
@ -389,7 +389,7 @@ protected:
|
||||
|
||||
|
||||
void drawBorder(QPainter* painter, QRectF rect) const;
|
||||
void drawShadow(QPainter* painter, QRectF rect) const;
|
||||
void drawShadow(QPainter* painter, QRectF rect, qreal shadowSize) const;
|
||||
void drawDesignModeBorder(QPainter* painter, QRectF rect) const;
|
||||
void drawRenderModeBorder(QPainter *painter, QRectF rect) const;
|
||||
void drawResizeZone(QPainter*);
|
||||
@ -515,7 +515,7 @@ signals:
|
||||
void afterRender();
|
||||
};
|
||||
|
||||
class BookmarkContainerDesignIntf: public BaseDesignIntf{
|
||||
class LIMEREPORT_EXPORT BookmarkContainerDesignIntf: public BaseDesignIntf{
|
||||
Q_OBJECT
|
||||
public:
|
||||
BookmarkContainerDesignIntf(const QString& storageTypeName, QObject* owner = 0, QGraphicsItem* parent = 0)
|
||||
|
@ -35,7 +35,7 @@
|
||||
|
||||
#include "lrglobal.h"
|
||||
|
||||
class ACollectionProperty{
|
||||
class LIMEREPORT_EXPORT ACollectionProperty{
|
||||
public:
|
||||
ACollectionProperty(){}
|
||||
ACollectionProperty(const ACollectionProperty& ){}
|
||||
@ -45,8 +45,8 @@ Q_DECLARE_METATYPE(ACollectionProperty)
|
||||
|
||||
namespace LimeReport{
|
||||
|
||||
const int COLLECTION_TYPE_ID = qMetaTypeId<ACollectionProperty>();
|
||||
class ICollectionContainer{
|
||||
const int inline COLLECTION_TYPE_ID = qMetaTypeId<ACollectionProperty>();
|
||||
class LIMEREPORT_EXPORT ICollectionContainer{
|
||||
public:
|
||||
virtual QObject* createElement(const QString& collectionName,const QString& elementType)=0;
|
||||
virtual int elementsCount(const QString& collectionName)=0;
|
||||
|
@ -85,7 +85,12 @@ bool QueryHolder::runQuery(IDataSource::DatasourceMode mode)
|
||||
query.exec();
|
||||
|
||||
QSqlQueryModel *model = new QSqlQueryModel;
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 2, 0)
|
||||
model->setQuery(std::move(query));
|
||||
#else
|
||||
model->setQuery(query);
|
||||
#endif
|
||||
|
||||
while (model->canFetchMore())
|
||||
model->fetchMore();
|
||||
|
@ -392,7 +392,13 @@ QSharedPointer<QAbstractItemModel>DataSourceManager::previewSQL(const QString &c
|
||||
}
|
||||
|
||||
query.exec();
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 2, 0)
|
||||
model->setQuery(std::move(query));
|
||||
#else
|
||||
model->setQuery(query);
|
||||
#endif
|
||||
|
||||
m_lastError = model->lastError().text();
|
||||
putError(m_lastError);
|
||||
if (model->query().isActive())
|
||||
@ -423,8 +429,8 @@ QString DataSourceManager::extractField(QString source)
|
||||
}
|
||||
|
||||
QString DataSourceManager::replaceVariables(QString value){
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 3)
|
||||
QRegularExpression rx(Const::VARIABLE_RX);
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 1)
|
||||
QRegularExpression rx = getVariableRegEx();
|
||||
QRegularExpressionMatchIterator iter = rx.globalMatch(value);
|
||||
qsizetype pos = 0;
|
||||
QString result;
|
||||
@ -443,7 +449,6 @@ QString DataSourceManager::replaceVariables(QString value){
|
||||
}
|
||||
result += value.mid(pos);
|
||||
return result;
|
||||
// TODO: Qt6 port - done
|
||||
#else
|
||||
QRegExp rx(Const::VARIABLE_RX);
|
||||
|
||||
@ -468,8 +473,8 @@ QString DataSourceManager::replaceVariables(QString value){
|
||||
|
||||
QString DataSourceManager::replaceVariables(QString query, QMap<QString,QString> &aliasesToParam)
|
||||
{
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 3)
|
||||
QRegularExpression rx(Const::VARIABLE_RX);
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 1)
|
||||
QRegularExpression rx = getVariableRegEx();
|
||||
int curentAliasIndex = 0;
|
||||
if (query.contains(rx)){
|
||||
int pos = -1;
|
||||
@ -508,7 +513,6 @@ QString DataSourceManager::replaceVariables(QString query, QMap<QString,QString>
|
||||
match = rx.match(query);
|
||||
}
|
||||
}
|
||||
// TODO: Qt6 port - done
|
||||
#else
|
||||
QRegExp rx(Const::VARIABLE_RX);
|
||||
int curentAliasIndex = 0;
|
||||
@ -553,9 +557,8 @@ QString DataSourceManager::replaceVariables(QString query, QMap<QString,QString>
|
||||
|
||||
QString DataSourceManager::replaceFields(QString query, QMap<QString,QString> &aliasesToParam, QString masterDatasource)
|
||||
{
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 3)
|
||||
|
||||
QRegularExpression rx(Const::FIELD_RX);
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 1)
|
||||
QRegularExpression rx = getFieldRegEx();
|
||||
int curentAliasIndex = 0;
|
||||
if (query.contains(rx)){
|
||||
int pos = -1;
|
||||
@ -583,7 +586,6 @@ QString DataSourceManager::replaceFields(QString query, QMap<QString,QString> &a
|
||||
match = rx.match(query);
|
||||
}
|
||||
}
|
||||
// TODO: Qt6 port - done
|
||||
#else
|
||||
QRegExp rx(Const::FIELD_RX);
|
||||
if (query.contains(rx)){
|
||||
@ -1498,7 +1500,7 @@ void DataSourceManager::invalidateQueriesContainsVariable(const QString& variabl
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 1))
|
||||
QRegExp rx(QString(Const::NAMED_VARIABLE_RX).arg(variableName));
|
||||
#else
|
||||
QRegularExpression rx(QString(Const::NAMED_VARIABLE_RX).arg(variableName));
|
||||
QRegularExpression rx = getNamedVariableRegEx(variableName);
|
||||
#endif
|
||||
if (holder->queryText().contains(rx)){
|
||||
holder->invalidate(designTime() ? IDataSource::DESIGN_MODE : IDataSource::RENDER_MODE);
|
||||
|
@ -165,7 +165,7 @@ void initReportItems(){
|
||||
|
||||
#ifdef HAVE_SVG
|
||||
DesignElementsFactory::instance().registerCreator(
|
||||
"BarcodeItem",
|
||||
"SVGItem",
|
||||
LimeReport::ItemAttribs(QObject::tr("SVG Item"),"Item"),
|
||||
createSVGItem
|
||||
);
|
||||
|
@ -67,7 +67,7 @@ QString replaceHTMLSymbols(const QString &value)
|
||||
return result;
|
||||
}
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 3)
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 1)
|
||||
QVector<QString> normalizeCaptures(const QRegularExpressionMatch& reg){
|
||||
#else
|
||||
QVector<QString> normalizeCaptures(const QRegExp& reg){
|
||||
@ -93,4 +93,53 @@ ReportError::ReportError(const QString& message):std::runtime_error(message.toSt
|
||||
IExternalPainter::~IExternalPainter(){}
|
||||
IPainterProxy::~IPainterProxy(){}
|
||||
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 1)
|
||||
QRegularExpression getRegEx(QString expression){
|
||||
return QRegularExpression(expression, QRegularExpression::DotMatchesEverythingOption);
|
||||
}
|
||||
QRegularExpression getVariableRegEx(){
|
||||
return QRegularExpression(
|
||||
Const::VARIABLE_RX,
|
||||
QRegularExpression::DotMatchesEverythingOption |
|
||||
QRegularExpression::CaseInsensitiveOption
|
||||
);
|
||||
}
|
||||
QRegularExpression getFieldRegEx(){
|
||||
return QRegularExpression(
|
||||
Const::FIELD_RX,
|
||||
QRegularExpression::DotMatchesEverythingOption |
|
||||
QRegularExpression::CaseInsensitiveOption
|
||||
);
|
||||
}
|
||||
QRegularExpression getScriptRegEx(){
|
||||
return QRegularExpression(
|
||||
Const::SCRIPT_RX,
|
||||
QRegularExpression::DotMatchesEverythingOption |
|
||||
QRegularExpression::CaseInsensitiveOption
|
||||
);
|
||||
}
|
||||
QRegularExpression getGroupFunctionRegEx(QString functionName){
|
||||
return QRegularExpression(
|
||||
QString(Const::GROUP_FUNCTION_RX).arg(functionName),
|
||||
QRegularExpression::DotMatchesEverythingOption |
|
||||
QRegularExpression::InvertedGreedinessOption
|
||||
);
|
||||
}
|
||||
QRegularExpression getGroupFunctionNameRegEx(QString functionName){
|
||||
return QRegularExpression(
|
||||
QString(Const::GROUP_FUNCTION_NAME_RX).arg(functionName),
|
||||
QRegularExpression::DotMatchesEverythingOption |
|
||||
QRegularExpression::InvertedGreedinessOption
|
||||
);
|
||||
}
|
||||
QRegularExpression getNamedVariableRegEx(QString variableName){
|
||||
return QRegularExpression(
|
||||
QString(Const::NAMED_VARIABLE_RX).arg(variableName),
|
||||
QRegularExpression::DotMatchesEverythingOption
|
||||
);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
} //namespace LimeReport
|
||||
|
@ -104,7 +104,7 @@ namespace Const{
|
||||
QString extractClassName(QString className);
|
||||
QString escapeSimbols(const QString& value);
|
||||
QString replaceHTMLSymbols(const QString &value);
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 3)
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 1)
|
||||
QVector<QString> normalizeCaptures(const QRegularExpressionMatch ®);
|
||||
#else
|
||||
QVector<QString> normalizeCaptures(const QRegExp ®);
|
||||
@ -125,12 +125,12 @@ namespace Const{
|
||||
Q_DECLARE_FLAGS(PreviewHints, PreviewHint)
|
||||
Q_FLAGS(PreviewHints)
|
||||
|
||||
class ReportError : public std::runtime_error{
|
||||
class LIMEREPORT_EXPORT ReportError : public std::runtime_error{
|
||||
public:
|
||||
ReportError(const QString& message);
|
||||
};
|
||||
|
||||
class ReportSettings{
|
||||
class LIMEREPORT_EXPORT ReportSettings{
|
||||
public:
|
||||
ReportSettings():m_suppressAbsentFieldsAndVarsWarnings(false){}
|
||||
void setDefaultValues(){m_suppressAbsentFieldsAndVarsWarnings = false;}
|
||||
@ -140,13 +140,13 @@ namespace Const{
|
||||
bool m_suppressAbsentFieldsAndVarsWarnings;
|
||||
};
|
||||
|
||||
class IExternalPainter{
|
||||
class LIMEREPORT_EXPORT IExternalPainter{
|
||||
public:
|
||||
virtual void paintByExternalPainter(const QString& objectName, QPainter* painter, const QStyleOptionGraphicsItem* options) = 0;
|
||||
virtual ~IExternalPainter();
|
||||
};
|
||||
|
||||
class IPainterProxy{
|
||||
class LIMEREPORT_EXPORT IPainterProxy{
|
||||
public:
|
||||
virtual void setExternalPainter(IExternalPainter* externalPainter) = 0;
|
||||
virtual ~IPainterProxy();
|
||||
@ -157,8 +157,18 @@ namespace Const{
|
||||
#else
|
||||
typedef QStyleOptionViewItem StyleOptionViewItem;
|
||||
#endif
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 1)
|
||||
QRegularExpression getRegEx(QString expression);
|
||||
QRegularExpression getVariableRegEx();
|
||||
QRegularExpression getFieldRegEx();
|
||||
QRegularExpression getScriptRegEx();
|
||||
QRegularExpression getGroupFunctionRegEx(QString functionName);
|
||||
QRegularExpression getGroupFunctionNameRegEx(QString functionName);
|
||||
QRegularExpression getNamedVariableRegEx(QString variableName);
|
||||
#endif
|
||||
|
||||
class Enums
|
||||
|
||||
class LIMEREPORT_EXPORT Enums
|
||||
{
|
||||
public:
|
||||
enum VariableDataType {Undefined, String, Bool, Int, Real, Date, Time, DateTime};
|
||||
|
@ -48,8 +48,8 @@ void GroupFunction::slotBandRendered(BandDesignIntf *band)
|
||||
QRegExp rxField(Const::FIELD_RX);
|
||||
QRegExp rxVar(Const::VARIABLE_RX);
|
||||
#else
|
||||
QRegularExpression rxField(Const::FIELD_RX);
|
||||
QRegularExpression rxVar(Const::VARIABLE_RX);
|
||||
QRegularExpression rxField = getFieldRegEx();
|
||||
QRegularExpression rxVar = getVariableRegEx();
|
||||
#endif
|
||||
|
||||
switch (m_dataType){
|
||||
@ -154,9 +154,9 @@ GroupFunction::GroupFunction(const QString &expression, const QString &dataBandN
|
||||
QRegExp rxVariable(Const::VARIABLE_RX,Qt::CaseInsensitive);
|
||||
QRegExp rxScript(Const::SCRIPT_RX,Qt::CaseInsensitive);
|
||||
#else
|
||||
QRegularExpression rxField(Const::FIELD_RX, QRegularExpression::CaseInsensitiveOption);
|
||||
QRegularExpression rxVariable(Const::VARIABLE_RX, QRegularExpression::CaseInsensitiveOption);
|
||||
QRegularExpression rxScript(Const::SCRIPT_RX, QRegularExpression::CaseInsensitiveOption);
|
||||
QRegularExpression rxField = getFieldRegEx();
|
||||
QRegularExpression rxVariable = getVariableRegEx();
|
||||
QRegularExpression rxScript = getScriptRegEx();
|
||||
#endif
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 1))
|
||||
if (rxScript.indexIn(expression) != -1){
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
namespace LimeReport{
|
||||
|
||||
class Segment{
|
||||
class LIMEREPORT_EXPORT Segment{
|
||||
public:
|
||||
Segment(qreal segmentStart,qreal segmentEnd):m_begin(segmentStart),m_end(segmentEnd){}
|
||||
bool intersect(Segment value);
|
||||
@ -15,17 +15,17 @@ private:
|
||||
qreal m_end;
|
||||
};
|
||||
|
||||
class VSegment : public Segment{
|
||||
class LIMEREPORT_EXPORT VSegment : public Segment{
|
||||
public:
|
||||
VSegment(QRectF rect):Segment(rect.top(),rect.bottom()){}
|
||||
};
|
||||
|
||||
struct HSegment :public Segment{
|
||||
struct LIMEREPORT_EXPORT HSegment :public Segment{
|
||||
public:
|
||||
HSegment(QRectF rect):Segment(rect.left(),rect.right()){}
|
||||
};
|
||||
|
||||
struct ItemSortContainer {
|
||||
struct LIMEREPORT_EXPORT ItemSortContainer {
|
||||
QRectF m_rect;
|
||||
BaseDesignIntf * m_item;
|
||||
ItemSortContainer(BaseDesignIntf *item){
|
||||
@ -35,9 +35,9 @@ struct ItemSortContainer {
|
||||
};
|
||||
|
||||
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
|
||||
public:
|
||||
ItemsContainerDesignInft(const QString& xmlTypeName, QObject* owner = 0, QGraphicsItem* parent=0):
|
||||
|
@ -753,7 +753,6 @@ ReportEnginePrivate *PageDesignIntf::reportEditor()
|
||||
|
||||
void PageDesignIntf::dragEnterEvent(QGraphicsSceneDragDropEvent *event)
|
||||
{
|
||||
|
||||
if (!event->mimeData()->text().isEmpty()){
|
||||
event->setDropAction(Qt::CopyAction);
|
||||
event->accept();
|
||||
@ -782,7 +781,7 @@ void PageDesignIntf::dropEvent(QGraphicsSceneDragDropEvent* event)
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 1))
|
||||
if (isVar) data = data.remove(QRegExp(" \\[.*\\]"));
|
||||
#else
|
||||
if (isVar) data = data.remove(QRegularExpression(" \\[.*\\]"));
|
||||
if (isVar) data = data.remove(QRegularExpression(" \\[.*\\]", QRegularExpression::DotMatchesEverythingOption));
|
||||
#endif
|
||||
ti->setContent(data);
|
||||
if (!isVar){
|
||||
@ -794,7 +793,7 @@ void PageDesignIntf::dropEvent(QGraphicsSceneDragDropEvent* event)
|
||||
parentBand->setProperty("datasource",dataSource.cap(1));
|
||||
}
|
||||
#else
|
||||
QRegularExpression dataSource("(?:\\$D\\{\\s*(.*)\\..*\\})");
|
||||
QRegularExpression dataSource("(?:\\$D\\{\\s*(.*)\\..*\\})", QRegularExpression::DotMatchesEverythingOption);
|
||||
QRegularExpressionMatch match = dataSource.match(data);
|
||||
if(match.hasMatch()){
|
||||
parentBand->setProperty("datasource", match.captured(1));
|
||||
@ -1853,6 +1852,20 @@ void PageDesignIntf::setBorders(const BaseDesignIntf::BorderLines& border)
|
||||
changeSelectedGroupProperty("borders", (int)border);
|
||||
}
|
||||
|
||||
void PageDesignIntf::setBordersExt(
|
||||
const BaseDesignIntf::BorderLines& border,
|
||||
const double borderWidth,
|
||||
const LimeReport::BaseDesignIntf::BorderStyle style,
|
||||
const QString color
|
||||
|
||||
)
|
||||
{
|
||||
changeSelectedGroupProperty("borders", (int)border);
|
||||
changeSelectedGroupProperty("borderLineSize", borderWidth);
|
||||
changeSelectedGroupProperty("borderStyle", style);
|
||||
changeSelectedGroupProperty("borderColor", color);
|
||||
}
|
||||
|
||||
void PageDesignIntf::lockSelectedItems()
|
||||
{
|
||||
foreach(QGraphicsItem* graphicItem, selectedItems()){
|
||||
|
@ -254,6 +254,11 @@ namespace LimeReport {
|
||||
void setFont(const QFont &font);
|
||||
void setTextAlign(const Qt::Alignment& alignment);
|
||||
void setBorders(const BaseDesignIntf::BorderLines& border);
|
||||
void setBordersExt(const BaseDesignIntf::BorderLines &border,
|
||||
const double borderWidth,
|
||||
const BaseDesignIntf::BorderStyle style,
|
||||
const QString color
|
||||
);
|
||||
void lockSelectedItems();
|
||||
void unlockSelectedItems();
|
||||
void selectOneLevelItems();
|
||||
|
@ -98,38 +98,10 @@ void PageItemDesignIntf::paint(QPainter *ppainter, const QStyleOptionGraphicsIte
|
||||
paintGrid(ppainter, rect);
|
||||
ppainter->setPen(gridColor());
|
||||
ppainter->drawRect(boundingRect());
|
||||
//Draw shadow
|
||||
qreal shWidth = boundingRect().width()/100;
|
||||
QRectF rshadow(boundingRect().topRight() + QPointF(0, shWidth),
|
||||
boundingRect().bottomRight() + QPointF(shWidth, 0));
|
||||
QLinearGradient rgrad(rshadow.topLeft(), rshadow.topRight());
|
||||
rgrad.setColorAt(0.0, QColor(0,0,0,255));
|
||||
rgrad.setColorAt(1.0, QColor(0,0,0,0));
|
||||
ppainter->fillRect(rshadow, QBrush(rgrad));
|
||||
QRectF bshadow(boundingRect().bottomLeft() + QPointF(shWidth, 0),
|
||||
boundingRect().bottomRight() + QPointF(0, shWidth));
|
||||
QLinearGradient bgrad(bshadow.topLeft(), bshadow.bottomLeft());
|
||||
bgrad.setColorAt(0.0, QColor(0,0,0,255));
|
||||
bgrad.setColorAt(1.0, QColor(0,0,0,0));
|
||||
ppainter->fillRect(bshadow, QBrush(bgrad));
|
||||
QRectF cshadow(boundingRect().bottomRight(),
|
||||
boundingRect().bottomRight() + QPointF(shWidth, shWidth));
|
||||
QRadialGradient cgrad(cshadow.topLeft(), shWidth, cshadow.topLeft());
|
||||
cgrad.setColorAt(0.0, QColor(0,0,0,255));
|
||||
cgrad.setColorAt(1.0, QColor(0,0,0,0));
|
||||
ppainter->fillRect(cshadow, QBrush(cgrad));
|
||||
if (m_isExtendedInDesignMode){
|
||||
QPen pen;
|
||||
pen.setColor(Qt::red);
|
||||
pen.setStyle(Qt::DashLine);
|
||||
pen.setWidth(2);
|
||||
ppainter->setPen(pen);
|
||||
ppainter->drawLine(pageRect().bottomLeft(),pageRect().bottomRight());
|
||||
}
|
||||
drawShadow(ppainter, boundingRect(), 10);
|
||||
ppainter->restore();
|
||||
}
|
||||
|
||||
|
||||
if (itemMode() & PreviewMode) {
|
||||
ppainter->save();
|
||||
ppainter->fillRect(rect(), Qt::white);
|
||||
@ -145,8 +117,6 @@ void PageItemDesignIntf::paint(QPainter *ppainter, const QStyleOptionGraphicsIte
|
||||
BaseDesignIntf::paint(ppainter,option,widget);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
BaseDesignIntf *PageItemDesignIntf::createSameTypeItem(QObject *owner, QGraphicsItem *parent)
|
||||
@ -828,7 +798,7 @@ void PageItemDesignIntf::processPopUpAction(QAction *action)
|
||||
}
|
||||
if(action->text() == tr("Edit"))
|
||||
{
|
||||
lrpageeditor pageEdit(NULL,this);
|
||||
PageEditor pageEdit(NULL,this);
|
||||
pageEdit.exec();
|
||||
}
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
||||
namespace LimeReport{
|
||||
|
||||
class ReportRender;
|
||||
class PageItemDesignIntf : public ItemsContainerDesignInft
|
||||
class LIMEREPORT_EXPORT PageItemDesignIntf : public ItemsContainerDesignInft
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(int topMargin READ topMargin WRITE setTopMargin)
|
||||
|
@ -704,6 +704,16 @@ void ReportDesignWidget::setBorders(const BaseDesignIntf::BorderLines& borders)
|
||||
activePage()->setBorders(borders);
|
||||
}
|
||||
|
||||
void ReportDesignWidget::setBordersExt(
|
||||
const BaseDesignIntf::BorderLines& border,
|
||||
const double borderWidth,
|
||||
const LimeReport::BaseDesignIntf::BorderStyle style,
|
||||
const QString color
|
||||
){
|
||||
if (activePage())
|
||||
activePage()->setBordersExt(border, borderWidth, style, color);
|
||||
}
|
||||
|
||||
void ReportDesignWidget::prepareReport()
|
||||
{
|
||||
m_report->scriptContext()->setInitScript(m_scriptEditor->toPlainText());
|
||||
|
@ -194,6 +194,8 @@ public slots:
|
||||
void setFont(const QFont &font);
|
||||
void setTextAlign(const bool &horizontalAlign, const Qt::AlignmentFlag &alignment);
|
||||
void setBorders(const BaseDesignIntf::BorderLines& borders);
|
||||
void setBordersExt(const BaseDesignIntf::BorderLines &border, const double borderWidth,
|
||||
const LimeReport::BaseDesignIntf::BorderStyle style, const QString color);
|
||||
void editSetting();
|
||||
void setUseGrid(bool value);
|
||||
void previewReport();
|
||||
|
@ -196,13 +196,11 @@ void ReportRender::analizeItem(ContentItemDesignIntf* contentItem, BandDesignInt
|
||||
QString content = contentItem->content();
|
||||
QVector<QString> functions;
|
||||
foreach(const QString &functionName, m_datasources->groupFunctionNames()){
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 3)
|
||||
QRegularExpression rx(QString(Const::GROUP_FUNCTION_RX).arg(functionName));
|
||||
rx.setPatternOptions(rx.InvertedGreedinessOption);
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 1)
|
||||
QRegularExpression rx = getGroupFunctionRegEx(functionName);
|
||||
if(content.indexOf(rx)>=0){
|
||||
functions.append(functionName);
|
||||
}
|
||||
// TODO: Qt6 port - done
|
||||
#else
|
||||
QRegExp rx(QString(Const::GROUP_FUNCTION_RX).arg(functionName));
|
||||
rx.setMinimal(true);
|
||||
@ -368,13 +366,11 @@ void ReportRender::clearPageMap()
|
||||
bool checkContentItem(ContentItemDesignIntf* item, DataSourceManager* datasources){
|
||||
QString content = item->content();
|
||||
foreach(QString functionName, datasources->groupFunctionNames()){
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 3)
|
||||
QRegularExpression rx(QString(Const::GROUP_FUNCTION_RX).arg(functionName));
|
||||
rx.setPatternOptions(rx.InvertedGreedinessOption);
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 1)
|
||||
QRegularExpression rx = getGroupFunctionRegEx(functionName);
|
||||
if(content.indexOf(rx)>=0){
|
||||
return true;
|
||||
}
|
||||
// TODO: Qt6 port - done
|
||||
#else
|
||||
QRegExp rx(QString(Const::GROUP_FUNCTION_RX).arg(functionName));
|
||||
if (rx.indexIn(content)>=0){
|
||||
@ -400,16 +396,14 @@ bool ReportRender::containsGroupFunctions(BaseDesignIntf *container){
|
||||
}
|
||||
|
||||
void ReportRender::extractGroupFuntionsFromItem(ContentItemDesignIntf* contentItem, BandDesignIntf* band){
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 3)
|
||||
|
||||
if ( contentItem && contentItem->content().contains(QRegularExpression("\\$S\\s*\\{.*\\}"))){
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 1)
|
||||
if ( contentItem && contentItem->content().contains(getScriptRegEx())){
|
||||
foreach(const QString &functionName, m_datasources->groupFunctionNames()){
|
||||
QRegularExpression rx(QString(Const::GROUP_FUNCTION_RX).arg(functionName));
|
||||
rx.setPatternOptions(rx.InvertedGreedinessOption);
|
||||
QRegularExpression rxName(QString(Const::GROUP_FUNCTION_NAME_RX).arg(functionName));
|
||||
rxName.setPatternOptions(rx.InvertedGreedinessOption);
|
||||
|
||||
QRegularExpression rx = getGroupFunctionRegEx(functionName);
|
||||
QRegularExpression rxName = getGroupFunctionNameRegEx(functionName);
|
||||
QRegularExpressionMatch match = rx.match(contentItem->content());
|
||||
|
||||
if (match.hasMatch()){
|
||||
|
||||
QRegularExpressionMatchIterator iter = rx.globalMatch(contentItem->content());
|
||||
@ -437,31 +431,7 @@ void ReportRender::extractGroupFuntionsFromItem(ContentItemDesignIntf* contentIt
|
||||
}
|
||||
}
|
||||
}
|
||||
// int pos = 0;
|
||||
// while ( (pos = match.capturedStart()) != -1){
|
||||
// QVector<QString> captures = normalizeCaptures(match);
|
||||
// if (captures.size() >= 3){
|
||||
// int dsIndex = captures.size() == 3 ? Const::DATASOURCE_INDEX - 1 : Const::DATASOURCE_INDEX;
|
||||
// BandDesignIntf* dataBand = m_patternPageItem->bandByName(captures.at(dsIndex));
|
||||
// if (dataBand){
|
||||
// GroupFunction* gf = datasources()->addGroupFunction(
|
||||
// functionName, captures.at(Const::VALUE_INDEX), band->objectName(), dataBand->objectName()
|
||||
// );
|
||||
// if (gf){
|
||||
// connect(dataBand, SIGNAL(bandRendered(BandDesignIntf*)),
|
||||
// gf, SLOT(slotBandRendered(BandDesignIntf*)));
|
||||
// connect(dataBand, SIGNAL(bandReRendered(BandDesignIntf*, BandDesignIntf*)),
|
||||
// gf, SLOT(slotBandReRendered(BandDesignIntf*, BandDesignIntf*)));
|
||||
// }
|
||||
// } else {
|
||||
// GroupFunction* gf = datasources()->addGroupFunction(
|
||||
// functionName, captures.at(Const::VALUE_INDEX), band->objectName(), captures.at(dsIndex)
|
||||
// );
|
||||
// gf->setInvalid(tr("Databand \"%1\" not found").arg(captures.at(dsIndex)));
|
||||
// }
|
||||
// }
|
||||
// match = rx.match(contentItem->content(), pos + match.capturedLength());
|
||||
// }
|
||||
|
||||
} else if (contentItem->content().indexOf(rxName)>=0){
|
||||
match = rxName.match(contentItem->content());
|
||||
GroupFunction* gf = datasources()->addGroupFunction(functionName, match.captured(1), band->objectName(), "");
|
||||
@ -470,7 +440,6 @@ void ReportRender::extractGroupFuntionsFromItem(ContentItemDesignIntf* contentIt
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Qt6 port - done
|
||||
#else
|
||||
if ( contentItem && contentItem->content().contains(QRegExp("\\$S\\s*\\{.*\\}"))){
|
||||
foreach(const QString &functionName, m_datasources->groupFunctionNames()){
|
||||
@ -529,10 +498,8 @@ void ReportRender::replaceGroupFunctionsInItem(ContentItemDesignIntf* contentIte
|
||||
if (m_groupfunctionItems.contains(contentItem->patternName())){
|
||||
QString content = contentItem->content();
|
||||
foreach(QString functionName, m_groupfunctionItems.value(contentItem->patternName())){
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 3)
|
||||
|
||||
QRegularExpression rx(QString(Const::GROUP_FUNCTION_RX).arg(functionName));
|
||||
rx.setPatternOptions(rx.InvertedGreedinessOption);
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 1)
|
||||
QRegularExpression rx = getGroupFunctionRegEx(functionName);
|
||||
QRegularExpressionMatch match = rx.match(content);
|
||||
|
||||
if (match.capturedStart() != -1){
|
||||
@ -556,7 +523,6 @@ void ReportRender::replaceGroupFunctionsInItem(ContentItemDesignIntf* contentIte
|
||||
match = rx.match(content, pos + match.capturedLength());
|
||||
}
|
||||
}
|
||||
// TODO: Qt6 port - done
|
||||
#else
|
||||
QRegExp rx(QString(Const::GROUP_FUNCTION_RX).arg(functionName));
|
||||
rx.setMinimal(true);
|
||||
|
@ -398,7 +398,7 @@ QString ScriptEngineManager::expandUserVariables(QString context, RenderPass /*
|
||||
}
|
||||
return context;
|
||||
#else
|
||||
QRegularExpression rx(Const::VARIABLE_RX);
|
||||
QRegularExpression rx = getVariableRegEx();
|
||||
if (context.contains(rx)){
|
||||
int pos = 0;
|
||||
QRegularExpressionMatch match = rx.match(context, pos);
|
||||
@ -504,8 +504,7 @@ QString ScriptEngineManager::expandDataFields(QString context, ExpandType expand
|
||||
|
||||
return context;
|
||||
#else
|
||||
QRegularExpression rx(Const::FIELD_RX);
|
||||
|
||||
QRegularExpression rx = getFieldRegEx();
|
||||
if (context.contains(rx)){
|
||||
QRegularExpressionMatch match = rx.match(context);
|
||||
while (match.hasMatch()){
|
||||
@ -520,17 +519,32 @@ QString ScriptEngineManager::expandDataFields(QString context, ExpandType expand
|
||||
fieldValue="\"\"";
|
||||
} else {
|
||||
fieldValue = escapeSimbols(varValue.toString());
|
||||
switch (dataManager()->fieldData(field).type()) {
|
||||
case QVariant::Char:
|
||||
case QVariant::String:
|
||||
case QVariant::StringList:
|
||||
case QVariant::Date:
|
||||
case QVariant::DateTime:
|
||||
fieldValue = "\""+fieldValue+"\"";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
//TODO: Migrate to QMetaType
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
switch (dataManager()->fieldData(field).typeId()) {
|
||||
case QMetaType::QChar:
|
||||
case QMetaType::QString:
|
||||
case QMetaType::QStringList:
|
||||
case QMetaType::QDate:
|
||||
case QMetaType::QDateTime:
|
||||
fieldValue = "\""+fieldValue+"\"";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
#else
|
||||
switch (dataManager()->fieldData(field).type()) {
|
||||
case QVariant::Char:
|
||||
case QVariant::String:
|
||||
case QVariant::StringList:
|
||||
case QVariant::Date:
|
||||
case QVariant::DateTime:
|
||||
fieldValue = "\""+fieldValue+"\"";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
} else {
|
||||
if (expandType == ReplaceHTMLSymbols)
|
||||
@ -567,8 +581,7 @@ QString ScriptEngineManager::expandScripts(QString context, QVariant& varValue,
|
||||
|
||||
if (context.contains(rx)){
|
||||
#else
|
||||
QRegularExpression rx(Const::SCRIPT_RX, QRegularExpression::DotMatchesEverythingOption);
|
||||
|
||||
QRegularExpression rx = getScriptRegEx();
|
||||
if(context.contains(rx)){
|
||||
#endif
|
||||
|
||||
@ -636,8 +649,8 @@ QVariant ScriptEngineManager::evaluateScript(const QString& script){
|
||||
QVariant varValue;
|
||||
|
||||
if (script.contains(rx)){
|
||||
#else
|
||||
QRegularExpression rx(Const::SCRIPT_RX);
|
||||
#else
|
||||
QRegularExpression rx = getScriptRegEx();
|
||||
QVariant varValue;
|
||||
|
||||
if (script.contains(rx)){
|
||||
@ -694,7 +707,6 @@ int ScriptEngineManager::getPageFreeSpace(PageItemDesignIntf* page){
|
||||
if (page){
|
||||
int height = 0;
|
||||
foreach(BandDesignIntf* band, page->bands()){
|
||||
|
||||
if(band->type() == BandDesignIntf::Data)
|
||||
{
|
||||
height += band->geometry().height() * m_dataManager->dataSource(band->datasourceName())->model()->rowCount();
|
||||
@ -1115,7 +1127,7 @@ bool ScriptExtractor::parse()
|
||||
|
||||
bool ScriptExtractor::parse(int &curPos, const State& state, ScriptNode::Ptr scriptNode)
|
||||
{
|
||||
while (curPos<m_context.length()){
|
||||
while (curPos < m_context.length()){
|
||||
switch (state) {
|
||||
case OpenBracketFound:
|
||||
if (m_context[curPos]=='}'){
|
||||
@ -1431,6 +1443,8 @@ DialogDescriber* ScriptEngineContext::findDialogContainer(const QString& dialogN
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
TableOfContents* ScriptEngineContext::tableOfContents() const
|
||||
{
|
||||
return m_tableOfContents;
|
||||
@ -1462,6 +1476,8 @@ void ScriptEngineContext::setCurrentBand(BandDesignIntf* currentBand)
|
||||
m_currentBand = currentBand;
|
||||
}
|
||||
|
||||
#ifdef HAVE_UI_LOADER
|
||||
|
||||
QDialog* ScriptEngineContext::getDialog(const QString& dialogName)
|
||||
{
|
||||
QDialog* dialog = findDialog(dialogName);
|
||||
@ -1685,11 +1701,10 @@ QVariant ScriptFunctionsManager::calcGroupFunction(const QString &name, const QS
|
||||
if (gf){
|
||||
if (gf->isValid()){
|
||||
return gf->calculate(pageItem);
|
||||
}else{
|
||||
} else{
|
||||
return gf->error();
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return QString(QObject::tr("Function %1 not found or have wrong arguments").arg(name));
|
||||
}
|
||||
} else {
|
||||
|
@ -402,7 +402,11 @@ private:
|
||||
class ScriptNode{
|
||||
public:
|
||||
typedef QSharedPointer<ScriptNode> Ptr;
|
||||
QString body(){return m_body;}
|
||||
QString body(){
|
||||
if (m_body.isEmpty() && m_children.count() > 0)
|
||||
return m_children.at(0)->body();
|
||||
return m_body;
|
||||
}
|
||||
void setBody(const QString& body){ m_body = body;}
|
||||
void setStartLex(const QString startLex){ m_startLex = startLex;}
|
||||
QString script(){return m_startLex + m_body + '}';}
|
||||
|
@ -56,7 +56,12 @@ ComboBoxEditor::ComboBoxEditor(QWidget *parent, bool clearable) :
|
||||
connect(m_buttonClear,SIGNAL(clicked()),this,SLOT(slotClearButtonClicked()));
|
||||
}
|
||||
|
||||
connect(m_comboBox,SIGNAL(currentIndexChanged(QString)),this,SLOT(slotCurrentIndexChanged(QString)));
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
|
||||
connect(m_comboBox, SIGNAL(currentTextChanged(QString)), this, SLOT(slotCurrentIndexChanged(QString)));
|
||||
#else
|
||||
connect(m_comboBox, SIGNAL(currentIndexChanged(QString)), this, SLOT(slotCurrentIndexChanged(QString)));
|
||||
#endif
|
||||
|
||||
m_comboBox->installEventFilter(this);
|
||||
QHBoxLayout *layout = new QHBoxLayout(this);
|
||||
layout->addWidget(m_comboBox);
|
||||
|
@ -85,6 +85,17 @@ LimeReport::RectPropItem::RectPropItem(QObject *object, ObjectsList* objects, co
|
||||
|
||||
QString LimeReport::RectPropItem::displayValue() const
|
||||
{
|
||||
//TODO: Migrate to QMetaType
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
switch(propertyValue().typeId()){
|
||||
case QMetaType::QRect:
|
||||
return rectToString(propertyValue().toRect());
|
||||
case QMetaType::QRectF:
|
||||
return rectToString(propertyValue().toRect());
|
||||
default :
|
||||
return ObjectPropItem::displayValue();
|
||||
}
|
||||
#else
|
||||
switch(propertyValue().type()){
|
||||
case QVariant::Rect:
|
||||
return rectToString(propertyValue().toRect());
|
||||
@ -93,6 +104,7 @@ QString LimeReport::RectPropItem::displayValue() const
|
||||
default :
|
||||
return ObjectPropItem::displayValue();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
LimeReport::RectUnitPropItem::RectUnitPropItem(QObject *object, ObjectsList* objects, const QString &name, const QString &displayName, const QVariant &value, ObjectPropItem *parent, bool /*readonly*/):
|
||||
|
@ -186,5 +186,6 @@
|
||||
<file alias="/images/logo32">images/designer.png</file>
|
||||
<file alias="/images/lock">images/lock.png</file>
|
||||
<file>images/unlock.png</file>
|
||||
<file alias="/images/borderEditor">images/border_settings.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
@ -30,6 +30,7 @@
|
||||
#ifndef LRSTORAGEINTF_H
|
||||
#define LRSTORAGEINTF_H
|
||||
|
||||
#include "lrglobal.h"
|
||||
#include <QSharedPointer>
|
||||
|
||||
class QString;
|
||||
@ -37,14 +38,14 @@ class QObject;
|
||||
|
||||
namespace LimeReport{
|
||||
|
||||
class ObjectLoadingStateIntf{
|
||||
class LIMEREPORT_EXPORT ObjectLoadingStateIntf{
|
||||
public:
|
||||
virtual bool isLoading() = 0;
|
||||
virtual void objectLoadStarted() = 0;
|
||||
virtual void objectLoadFinished() = 0;
|
||||
};
|
||||
|
||||
class ItemsWriterIntf
|
||||
class LIMEREPORT_EXPORT ItemsWriterIntf
|
||||
{
|
||||
public:
|
||||
virtual void putItem(QObject* item) = 0;
|
||||
@ -55,7 +56,7 @@ public:
|
||||
virtual ~ItemsWriterIntf(){}
|
||||
};
|
||||
|
||||
class ItemsReaderIntf
|
||||
class LIMEREPORT_EXPORT ItemsReaderIntf
|
||||
{
|
||||
public:
|
||||
typedef QSharedPointer<ItemsReaderIntf> Ptr;
|
||||
|
@ -193,13 +193,23 @@ bool XMLWriter::enumOrFlag(QString name, QObject *item)
|
||||
bool XMLWriter::isCollection(QString propertyName, QObject* item)
|
||||
{
|
||||
QMetaProperty prop=item->metaObject()->property(item->metaObject()->indexOfProperty(propertyName.toLatin1()));
|
||||
return QMetaType::type(prop.typeName())==COLLECTION_TYPE_ID;
|
||||
//TODO: Migrate to QMetaType
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
return QMetaType::fromName(prop.typeName()).id() == COLLECTION_TYPE_ID;
|
||||
#else
|
||||
return QMetaType::type(prop.typeName()) == COLLECTION_TYPE_ID;
|
||||
#endif
|
||||
}
|
||||
|
||||
bool XMLWriter::isTranslation(QString propertyName, QObject* item)
|
||||
{
|
||||
QMetaProperty prop=item->metaObject()->property(item->metaObject()->indexOfProperty(propertyName.toLatin1()));
|
||||
return QMetaType::type(prop.typeName())==TRANSLATION_TYPE_ID;
|
||||
//TODO: Migrate to QMetaType
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
return QMetaType::fromName(prop.typeName()).id() == TRANSLATION_TYPE_ID;
|
||||
#else
|
||||
return QMetaType::type(prop.typeName()) == TRANSLATION_TYPE_ID;
|
||||
#endif
|
||||
}
|
||||
|
||||
void XMLWriter::saveCollection(QString propertyName, QObject *item, QDomElement *node)
|
||||
@ -254,7 +264,13 @@ void XMLWriter::saveTranslation(QString propertyName, QObject* item, QDomElement
|
||||
bool XMLWriter::isQObject(QString propertyName, QObject *item)
|
||||
{
|
||||
QMetaProperty prop=item->metaObject()->property(item->metaObject()->indexOfProperty(propertyName.toLatin1()));
|
||||
return QMetaType::type(prop.typeName())==QMetaType::QObjectStar;
|
||||
//TODO: Migrate to QMetaType
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
return QMetaType::fromName(prop.typeName()).id() == QMetaType::QObjectStar;
|
||||
#else
|
||||
return QMetaType::type(prop.typeName()) == QMetaType::QObjectStar;
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
bool XMLWriter::replaceNode(QDomElement node, QObject* item)
|
||||
|
@ -8,18 +8,20 @@ namespace Ui {
|
||||
class LanguageSelectDialog;
|
||||
}
|
||||
|
||||
class LanguageSelectDialog : public QDialog
|
||||
{
|
||||
class LanguageSelectDialog : public QDialog {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
public:
|
||||
explicit LanguageSelectDialog(QWidget *parent = 0);
|
||||
~LanguageSelectDialog();
|
||||
QLocale::Language getSelectedLanguage();
|
||||
private:
|
||||
|
||||
private:
|
||||
Ui::LanguageSelectDialog *ui;
|
||||
};
|
||||
|
||||
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
|
||||
Q_DECLARE_METATYPE(QLocale::Language)
|
||||
#endif
|
||||
|
||||
#endif // LANGUAGESELECTDIALOG_H
|
||||
|
@ -29,7 +29,11 @@ TranslationEditor::TranslationEditor(QWidget *parent) :
|
||||
ui->tbStrings->setHorizontalHeaderItem(1,new QTableWidgetItem(tr("Report Item")));
|
||||
ui->tbStrings->setHorizontalHeaderItem(2,new QTableWidgetItem(tr("Property")));
|
||||
ui->tbStrings->setHorizontalHeaderItem(3,new QTableWidgetItem(tr("Source text")));
|
||||
new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Return), this, SLOT(slotItemChecked()));
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
|
||||
m_clrReturn = new QShortcut(QKeySequence(Qt::CTRL | Qt::Key_Return), this, SLOT(slotItemChecked()));
|
||||
#else
|
||||
m_clrReturn = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Return), this, SLOT(slotItemChecked()));
|
||||
#endif
|
||||
//ui->tbStrings->setSortingEnabled(true);
|
||||
|
||||
}
|
||||
@ -50,6 +54,7 @@ void TranslationEditor::setReportEngine(ITranslationContainer* translationContai
|
||||
TranslationEditor::~TranslationEditor()
|
||||
{
|
||||
delete ui;
|
||||
delete m_clrReturn;
|
||||
}
|
||||
|
||||
QLocale::Language TranslationEditor::getLanguageByName(const QString& languageName){
|
||||
|
@ -4,6 +4,7 @@
|
||||
#include <QWidget>
|
||||
#include <QLocale>
|
||||
#include <QTreeWidgetItem>
|
||||
#include <QShortcut>
|
||||
#include "lrreporttranslation.h"
|
||||
|
||||
namespace LimeReport {
|
||||
@ -46,6 +47,7 @@ private:
|
||||
PageTranslation* m_currentPageTranslation;
|
||||
PropertyTranslation* m_currentPropertyTranslation;
|
||||
bool m_translationChanging;
|
||||
QShortcut* m_clrReturn;
|
||||
};
|
||||
|
||||
} //namespace LimeReport
|
||||
|
@ -8,17 +8,6 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BorderFrameEditor</name>
|
||||
<message>
|
||||
<source>BorderFrameEditor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartAxisEditor</name>
|
||||
<message>
|
||||
@ -1366,6 +1355,93 @@ p, li { white-space: pre-wrap; }
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::PageEditor</name>
|
||||
<message>
|
||||
<source>Page setup</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Paper</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format</source>
|
||||
<translation type="unfinished">الصيغة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dimension</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> mm</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Orientation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Portrait</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Landscape</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Margins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Drop printer margins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height options</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Endless Height</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extended Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Full page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::PageFooter</name>
|
||||
<message>
|
||||
@ -3408,194 +3484,4 @@ This preview is no longer valid.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>lrbordereditor</name>
|
||||
<message>
|
||||
<source>Style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Solid</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Presets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No lines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>0.25</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>0.5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1.5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>4</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>6</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Color:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash dot dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>lrpageeditor</name>
|
||||
<message>
|
||||
<source>Paper</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format</source>
|
||||
<translation type="unfinished">الصيغة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dimension</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> mm</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Orientation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Portrait</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Landscape</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Margins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Drop printer margins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height options</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Endless Height</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extended Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Full page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Page setup</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
@ -8,17 +8,6 @@
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BorderFrameEditor</name>
|
||||
<message>
|
||||
<source>BorderFrameEditor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartAxisEditor</name>
|
||||
<message>
|
||||
@ -649,6 +638,7 @@ p, li { white-space: pre-wrap; }
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
||||
<name>LimeReport::BorderFrameEditor</name>
|
||||
<message>
|
||||
<source>BorderFrameEditor</source>
|
||||
@ -1494,6 +1484,93 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Exportar a PDF</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::PageEditor</name>
|
||||
<message>
|
||||
<source>Page setup</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Paper</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format</source>
|
||||
<translation type="unfinished">Formato</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dimension</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> mm</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Orientation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Portrait</source>
|
||||
<translation type="unfinished">Retrato</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Landscape</source>
|
||||
<translation type="unfinished">Apaisado (Horizontal)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Margins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Drop printer margins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height options</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Endless Height</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extended Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Full page</source>
|
||||
<translation type="unfinished">Página completa</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::PageFooter</name>
|
||||
<message>
|
||||
@ -3538,194 +3615,4 @@ Esta vista previa ya no es válida.</translation>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>lrbordereditor</name>
|
||||
<message>
|
||||
<source>Style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Solid</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Presets</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No lines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>0.25</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>0.5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1.5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>4</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>6</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Color:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dash dot dot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>lrpageeditor</name>
|
||||
<message>
|
||||
<source>Paper</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format</source>
|
||||
<translation type="unfinished">Formato</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dimension</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> mm</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Orientation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Portrait</source>
|
||||
<translation type="unfinished">Retrato</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Landscape</source>
|
||||
<translation type="unfinished">Apaisado (Horizontal)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Margins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Drop printer margins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Other</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height options</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Endless Height</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extended Height:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Full page</source>
|
||||
<translation type="unfinished">Página completa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Page setup</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user