mirror of
https://github.com/fralx/LimeReport.git
synced 2024-12-23 16:22:58 +03:00
Merge branch 'fralx:master' into master
This commit is contained in:
commit
2b388b02fe
133
.github/workflows/cmake.yml
vendored
133
.github/workflows/cmake.yml
vendored
@ -18,7 +18,7 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
ubuntu_version: [20.04, 22.04]
|
||||
qt_version: [5.12.12, 5.15.2, 6.3.0]
|
||||
qt_version: [5.15.2, 6.4.0]
|
||||
static: [ON, OFF]
|
||||
|
||||
steps:
|
||||
@ -35,13 +35,140 @@ jobs:
|
||||
|
||||
- name: Configure CMake for Qt5
|
||||
if: "startsWith(matrix.qt_version, '5.')"
|
||||
run: cmake -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -B "${{github.workspace}}/build"
|
||||
run: cmake -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -DLIMEREPORT_DEMO=ON -B "${{github.workspace}}/build"
|
||||
|
||||
|
||||
- name: Configure CMake for Qt6
|
||||
if: "startsWith(matrix.qt_version, '6.')"
|
||||
run: cmake -DUSE_QT6=ON -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -B "${{github.workspace}}/build"
|
||||
run: cmake -DUSE_QT6=ON -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}" -DLIMEREPORT_STATIC=${{ matrix.static }} -DLIMEREPORT_DEMO=ON -B "${{github.workspace}}/build"
|
||||
|
||||
- name: Build
|
||||
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,5 +1,5 @@
|
||||
project(limereport)
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
project(limereport)
|
||||
|
||||
set(LIMEREPORT_VERSION_MAJOR 1)
|
||||
set(LIMEREPORT_VERSION_MINOR 6)
|
||||
@ -7,6 +7,7 @@ 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)
|
||||
|
||||
if(USE_QT6)
|
||||
@ -37,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)
|
||||
@ -79,6 +83,8 @@ ${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
|
||||
@ -86,6 +92,7 @@ ${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
|
||||
@ -191,6 +198,8 @@ ${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
|
||||
@ -199,6 +208,7 @@ ${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
|
||||
@ -288,9 +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
|
||||
@ -348,12 +361,13 @@ set(GLOBAL_HEADERS
|
||||
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)
|
||||
@ -392,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}")
|
||||
|
33
README.md
33
README.md
@ -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
|
||||
|
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}-qt${QT_VERSION_MAJOR}
|
||||
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,14 +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
|
||||
Qt${QT_VERSION_MAJOR}::PrintSupport
|
||||
Qt${QT_VERSION_MAJOR}::Qml
|
||||
${PROJECT_NAME}-qt${QT_VERSION_MAJOR}
|
||||
limereport-qt${QT_VERSION_MAJOR}
|
||||
)
|
||||
|
@ -7,13 +7,14 @@
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
|
||||
DesignerSettingManager manager;
|
||||
|
||||
QTranslator limeReportTranslator;
|
||||
QTranslator qtBaseTranslator;
|
||||
QTranslator qtDesignerTranslator;
|
||||
QTranslator qtLinguistTranslator;
|
||||
|
||||
QTranslator qtDesignerTranslator;
|
||||
QTranslator qtLinguistTranslator;
|
||||
|
||||
QString translationPath = QApplication::applicationDirPath();
|
||||
translationPath.append("/translations");
|
||||
Qt::LayoutDirection layoutDirection = QLocale::system().textDirection();
|
||||
@ -22,12 +23,12 @@ int main(int argc, char *argv[])
|
||||
|
||||
if (limeReportTranslator.load("limereport_"+designerTranslation, translationPath)){
|
||||
qtBaseTranslator.load("qtbase_" + designerTranslation, translationPath);
|
||||
qtDesignerTranslator.load("designer_"+designerTranslation,translationPath);
|
||||
|
||||
qtDesignerTranslator.load("designer_"+designerTranslation,translationPath);
|
||||
|
||||
a.installTranslator(&qtBaseTranslator);
|
||||
a.installTranslator(&qtDesignerTranslator);
|
||||
a.installTranslator(&qtDesignerTranslator);
|
||||
a.installTranslator(&limeReportTranslator);
|
||||
|
||||
|
||||
Qt::LayoutDirection layoutDirection = QLocale(manager.getCurrentDefaultLanguage()).textDirection();
|
||||
a.setLayoutDirection(layoutDirection);
|
||||
}
|
||||
|
@ -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();
|
||||
@ -168,7 +168,7 @@ namespace Const{
|
||||
#endif
|
||||
|
||||
|
||||
class Enums
|
||||
class LIMEREPORT_EXPORT Enums
|
||||
{
|
||||
public:
|
||||
enum VariableDataType {Undefined, String, Bool, Int, Real, Date, Time, DateTime};
|
||||
|
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 |
@ -29,16 +29,22 @@
|
||||
****************************************************************************/
|
||||
#include "lritemsborderseditorwidget.h"
|
||||
#include <QAction>
|
||||
|
||||
#include "lrbordereditor.h"
|
||||
namespace LimeReport{
|
||||
|
||||
void ItemsBordersEditorWidget::setItemEvent(BaseDesignIntf* item)
|
||||
{
|
||||
if(QString(item->metaObject()->className()) == "LimeReport::ShapeItem")
|
||||
{
|
||||
setDisabled(true);
|
||||
return;
|
||||
}
|
||||
QVariant borders=item->property("borders");
|
||||
if (borders.isValid()){
|
||||
updateValues((BaseDesignIntf::BorderLines)borders.toInt());
|
||||
setEnabled(true);
|
||||
}
|
||||
m_item = item;
|
||||
}
|
||||
|
||||
void ItemsBordersEditorWidget::properyChangedEvent(const QString& property, const QVariant& oldValue, const QVariant& newValue)
|
||||
@ -66,9 +72,18 @@ void ItemsBordersEditorWidget::allBordesClicked()
|
||||
updateValues((BaseDesignIntf::BorderLines)borders);
|
||||
}
|
||||
|
||||
void ItemsBordersEditorWidget::buttonClicked(bool)
|
||||
{
|
||||
void ItemsBordersEditorWidget::buttonClicked(bool){}
|
||||
|
||||
void ItemsBordersEditorWidget::editBorderClicked()
|
||||
{
|
||||
BorderEditor be;
|
||||
be.loadItem(m_item);
|
||||
if ( be.exec() == QDialog::Rejected ) return;
|
||||
updateValues(be.borderSides());
|
||||
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()
|
||||
@ -109,6 +124,11 @@ void ItemsBordersEditorWidget::initEditor()
|
||||
m_allLines->setIcon(QIcon(":/report/images/allLines"));
|
||||
connect(m_allLines,SIGNAL(triggered()),this,SLOT(allBordesClicked()));
|
||||
addAction(m_allLines);
|
||||
addSeparator();
|
||||
m_BorderEditor = new QAction(tr("Edit border"),this);
|
||||
m_BorderEditor->setIcon(QIcon(":/report/images/borderEditor"));
|
||||
connect(m_BorderEditor,SIGNAL(triggered()),this,SLOT(editBorderClicked()));
|
||||
addAction(m_BorderEditor);
|
||||
|
||||
setEnabled(false);
|
||||
|
||||
@ -117,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;
|
||||
}
|
||||
|
||||
@ -157,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,10 +49,12 @@ protected slots:
|
||||
virtual void noBordesClicked();
|
||||
virtual void allBordesClicked();
|
||||
virtual void buttonClicked(bool);
|
||||
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);
|
||||
@ -62,8 +64,10 @@ private:
|
||||
QAction* m_topLine;
|
||||
QAction* m_bottomLine;
|
||||
QAction* m_allLines;
|
||||
QAction* m_BorderEditor;
|
||||
bool m_changing;
|
||||
int m_borders;
|
||||
|
||||
};
|
||||
|
||||
#ifdef HAVE_REPORT_DESIGNER
|
||||
@ -76,8 +80,10 @@ protected slots:
|
||||
void buttonClicked(bool);
|
||||
void noBordesClicked();
|
||||
void allBordesClicked();
|
||||
void editBorderClicked();
|
||||
private:
|
||||
ReportDesignWidget* m_reportEditor;
|
||||
|
||||
};
|
||||
#endif
|
||||
|
||||
|
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 |
156
limereport/items/lrbordereditor.cpp
Normal file
156
limereport/items/lrbordereditor.cpp
Normal file
@ -0,0 +1,156 @@
|
||||
#include "lrbordereditor.h"
|
||||
#include "ui_lrbordereditor.h"
|
||||
#include <QColorDialog>
|
||||
#include "lrbasedesignintf.h"
|
||||
|
||||
namespace LimeReport{
|
||||
|
||||
BorderEditor::BorderEditor(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::BorderEditor),
|
||||
m_borderStyle(1),
|
||||
m_borderWidth(1)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
connect(
|
||||
ui->borderFrame, SIGNAL(borderSideClicked(LimeReport::BaseDesignIntf::BorderSide, bool)),
|
||||
this, SLOT(checkToolButtons(LimeReport::BaseDesignIntf::BorderSide, bool))
|
||||
);
|
||||
}
|
||||
|
||||
void BorderEditor::loadItem(LimeReport::BaseDesignIntf *item)
|
||||
{
|
||||
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);
|
||||
|
||||
QPen pen;
|
||||
pen.setWidthF(item->borderLineSize());
|
||||
pen.setColor(item->borderColor());
|
||||
pen.setStyle((Qt::PenStyle)item->borderStyle());
|
||||
ui->borderFrame->setPen(pen);
|
||||
m_borderColor = item->borderColor().name();
|
||||
ui->listWidget->setCurrentRow((Qt::PenStyle)item->borderStyle());
|
||||
ui->comboBox->setCurrentText(QString::number(item->borderLineSize()));
|
||||
m_borderWidth = ui->comboBox->currentText().toDouble();
|
||||
m_borderStyle =ui->listWidget->currentRow();
|
||||
ui->colorIndicator->setStyleSheet(QString("background-color:%1;").arg(m_borderColor));
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
LimeReport::BaseDesignIntf::BorderStyle BorderEditor::borderStyle()
|
||||
{
|
||||
return (LimeReport::BaseDesignIntf::BorderStyle) m_borderStyle;
|
||||
}
|
||||
|
||||
QString BorderEditor::borderColor()
|
||||
{
|
||||
return m_borderColor;
|
||||
}
|
||||
|
||||
double BorderEditor::borderWidth()
|
||||
{
|
||||
return m_borderWidth;
|
||||
}
|
||||
|
||||
BorderEditor::~BorderEditor()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void BorderEditor::on_listWidget_currentRowChanged(int currentRow)
|
||||
{
|
||||
QPen pen = ui->borderFrame->pen();
|
||||
pen.setStyle((Qt::PenStyle)currentRow);
|
||||
m_borderStyle = currentRow;
|
||||
ui->borderFrame->setPen(pen);
|
||||
}
|
||||
|
||||
void BorderEditor::on_comboBox_currentTextChanged(const QString &arg1)
|
||||
{
|
||||
QPen pen = ui->borderFrame->pen();
|
||||
pen.setWidthF(arg1.toDouble());
|
||||
ui->borderFrame->setPen(pen);
|
||||
m_borderWidth = arg1.toDouble();
|
||||
}
|
||||
|
||||
void BorderEditor::checkToolButtons(LimeReport::BaseDesignIntf::BorderSide side, bool check)
|
||||
{
|
||||
switch(side)
|
||||
{
|
||||
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 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 BorderEditor::on_allLines_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);
|
||||
}
|
||||
|
||||
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 BorderEditor::on_selectColor_clicked()
|
||||
{
|
||||
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
|
49
limereport/items/lrbordereditor.h
Normal file
49
limereport/items/lrbordereditor.h
Normal file
@ -0,0 +1,49 @@
|
||||
#ifndef LRBORDEREDITOR_H
|
||||
#define LRBORDEREDITOR_H
|
||||
|
||||
#include <QDialog>
|
||||
#include "lrbasedesignintf.h"
|
||||
|
||||
namespace LimeReport{
|
||||
|
||||
namespace Ui {
|
||||
class BorderEditor;
|
||||
}
|
||||
|
||||
|
||||
class LIMEREPORT_EXPORT BorderEditor : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit BorderEditor(QWidget *parent = nullptr);
|
||||
void loadItem(LimeReport::BaseDesignIntf *item);
|
||||
LimeReport::BaseDesignIntf::BorderLines borderSides();
|
||||
LimeReport::BaseDesignIntf::BorderStyle borderStyle();
|
||||
QString borderColor();
|
||||
double borderWidth();
|
||||
~BorderEditor();
|
||||
|
||||
private slots:
|
||||
void on_listWidget_currentRowChanged(int currentRow);
|
||||
void on_comboBox_currentTextChanged(const QString &arg1);
|
||||
void on_noLines_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::BorderEditor *ui;
|
||||
LimeReport::BaseDesignIntf *m_item;
|
||||
QString m_borderColor;
|
||||
int m_borderStyle;
|
||||
double m_borderWidth;
|
||||
};
|
||||
|
||||
} // namespace LimeReport
|
||||
|
||||
#endif // LRBORDEREDITOR_H
|
406
limereport/items/lrbordereditor.ui
Normal file
406
limereport/items/lrbordereditor.ui
Normal file
@ -0,0 +1,406 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>LimeReport::BorderEditor</class>
|
||||
<widget class="QDialog" name="LimeReport::BorderEditor">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>381</width>
|
||||
<height>352</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Edit border</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>Presets</string>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QToolButton" name="noLines">
|
||||
<property name="text">
|
||||
<string>No lines</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<normaloff>:/report/images/noLines</normaloff>:/report/images/noLines</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextUnderIcon</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="allLines">
|
||||
<property name="text">
|
||||
<string>Outline</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<normaloff>:/report/images/allLines</normaloff>:/report/images/allLines</iconset>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextUnderIcon</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Border</string>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QToolButton" name="topLine">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<normaloff>:/report/images/topLine</normaloff>:/report/images/topLine</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="bottomLine">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<normaloff>:/report/images/bottomLine</normaloff>:/report/images/bottomLine</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="LimeReport::BorderFrameEditor" name="borderFrame" native="true"/>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QToolButton" name="leftLine">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<normaloff>:/report/images/leftLine</normaloff>:/report/images/leftLine</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="rightLine">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<normaloff>:/report/images/rightLine</normaloff>:/report/images/rightLine</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Style</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QListWidget" name="listWidget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>125</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>125</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="currentRow">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>No style</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Solid</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Dash</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Dot</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Dash dot</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Dash dot dot</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Width:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBox">
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="currentText">
|
||||
<string>1</string>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>0.25</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>0.5</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>1</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>1.5</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>2</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>3</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>4</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>5</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>6</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Color:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<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>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>LimeReport::BorderFrameEditor</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>lrborderframeeditor.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>LimeReport::BorderEditor</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>119</x>
|
||||
<y>322</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>377</x>
|
||||
<y>309</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>LimeReport::BorderEditor</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>48</x>
|
||||
<y>334</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>66</x>
|
||||
<y>348</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
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
|
46
limereport/items/lrborderframeeditor.h
Normal file
46
limereport/items/lrborderframeeditor.h
Normal file
@ -0,0 +1,46 @@
|
||||
#ifndef WIDGET
|
||||
#define WIDGET
|
||||
|
||||
#include <QWidget>
|
||||
#include <QGraphicsScene>
|
||||
#include <QGraphicsLineItem>
|
||||
#include "lrbasedesignintf.h"
|
||||
namespace LimeReport{
|
||||
|
||||
namespace Ui { class BorderFrameEditor; }
|
||||
|
||||
class BorderFrameEditor : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
BorderFrameEditor(QWidget *parent = nullptr);
|
||||
~BorderFrameEditor();
|
||||
void setPen(QPen pen);
|
||||
QPen pen();
|
||||
void setAllLines();
|
||||
void unSetAllLines();
|
||||
protected:
|
||||
void mousePressEvent(QMouseEvent *event);
|
||||
signals:
|
||||
void borderSideClicked(LimeReport::BaseDesignIntf::BorderSide side, bool show);
|
||||
private slots:
|
||||
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
|
||||
,*bottomLine = NULL
|
||||
,*leftLine = NULL
|
||||
,*rightLine = NULL;
|
||||
QPen m_pen;
|
||||
|
||||
|
||||
|
||||
};
|
||||
} // namespace LimeReport
|
||||
#endif // WIDGET
|
73
limereport/items/lrborderframeeditor.ui
Normal file
73
limereport/items/lrborderframeeditor.ui
Normal file
@ -0,0 +1,73 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>LimeReport::BorderFrameEditor</class>
|
||||
<widget class="QWidget" name="LimeReport::BorderFrameEditor">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>150</width>
|
||||
<height>100</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>BorderFrameEditor</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QGraphicsView" name="graphicsView">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="baseSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="verticalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||
</property>
|
||||
<property name="horizontalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||
</property>
|
||||
<property name="sizeAdjustPolicy">
|
||||
<enum>QAbstractScrollArea::AdjustToContents</enum>
|
||||
</property>
|
||||
<property name="resizeAnchor">
|
||||
<enum>QGraphicsView::AnchorViewCenter</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
110
limereport/items/lrpageeditor.cpp
Normal file
110
limereport/items/lrpageeditor.cpp
Normal file
@ -0,0 +1,110 @@
|
||||
#include "lrpageeditor.h"
|
||||
#include "ui_lrpageeditor.h"
|
||||
#include "lrpagedesignintf.h"
|
||||
#include "lrpageitemdesignintf.h"
|
||||
#include <QPushButton>
|
||||
#include <QPageSize>
|
||||
|
||||
namespace LimeReport{
|
||||
|
||||
PageEditor::PageEditor(QWidget *parent, LimeReport::PageItemDesignIntf *page) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::PageEditor)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
m_page = page;
|
||||
//Paper
|
||||
QMetaEnum pageSizes = page->metaObject()->property(page->metaObject()->indexOfProperty("pageSize")).enumerator();
|
||||
|
||||
for (int i=0;i<pageSizes.keyCount();i++){
|
||||
ui->format->addItem(pageSizes.key(i));
|
||||
}
|
||||
ui->format->setCurrentIndex(m_page->pageSize());
|
||||
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
|
||||
ui->marginTop->setValue(m_page->topMargin());
|
||||
ui->marginRight->setValue(m_page->rightMargin());
|
||||
ui->marginLeft->setValue(m_page->leftMargin());
|
||||
ui->marginBottom->setValue(m_page->bottomMargin());
|
||||
ui->dropPrinterMargins->setChecked(m_page->dropPrinterMargins());
|
||||
|
||||
//Other
|
||||
ui->endlessHeight->setChecked(m_page->endlessHeight());
|
||||
ui->extendedHeight->setValue(m_page->extendedHeight());
|
||||
ui->fullPage->setChecked(m_page->fullPage());
|
||||
}
|
||||
|
||||
PageEditor::~PageEditor()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
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->setTopMargin(ui->marginTop->value());
|
||||
m_page->setBottomMargin(ui->marginBottom->value());
|
||||
m_page->setRightMargin(ui->marginRight->value());
|
||||
m_page->setLeftMargin(ui->marginLeft->value());
|
||||
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());
|
||||
}
|
||||
|
||||
QSizeF PageEditor::getRectByPageSize(const LimeReport::PageItemDesignIntf::PageSize& size)
|
||||
{
|
||||
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.setPaperSize((QPrinter::PageSize)size);
|
||||
return QSizeF(printer.paperSize(QPrinter::Millimeter).width() * m_page->unitFactor(),
|
||||
printer.paperSize(QPrinter::Millimeter).height() * m_page->unitFactor());
|
||||
|
||||
#else
|
||||
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(m_page->getItemWidth(), m_page->getItemHeight());
|
||||
}
|
||||
}
|
||||
|
||||
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() / 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
|
36
limereport/items/lrpageeditor.h
Normal file
36
limereport/items/lrpageeditor.h
Normal file
@ -0,0 +1,36 @@
|
||||
#ifndef LRPAGEEDITOR_H
|
||||
#define LRPAGEEDITOR_H
|
||||
|
||||
#include <QDialog>
|
||||
#include "lrpageitemdesignintf.h"
|
||||
#include <QPushButton>
|
||||
namespace LimeReport{
|
||||
|
||||
namespace Ui {
|
||||
class PageEditor;
|
||||
}
|
||||
|
||||
class LIMEREPORT_EXPORT PageEditor : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit PageEditor(QWidget *parent = nullptr,LimeReport::PageItemDesignIntf *page = nullptr);
|
||||
~PageEditor();
|
||||
|
||||
private slots:
|
||||
// void on_buttonBox_accepted();
|
||||
void on_format_currentIndexChanged(int index);
|
||||
void on_buttonBox_clicked(QAbstractButton *button);
|
||||
|
||||
private:
|
||||
Ui::PageEditor *ui;
|
||||
LimeReport::PageItemDesignIntf* m_page;
|
||||
|
||||
void applyChanges();
|
||||
QSizeF getRectByPageSize(const LimeReport::PageItemDesignIntf::PageSize& size);
|
||||
};
|
||||
|
||||
} // namespace LimeReport
|
||||
|
||||
#endif // LRPAGEEDITOR_H
|
338
limereport/items/lrpageeditor.ui
Normal file
338
limereport/items/lrpageeditor.ui
Normal file
@ -0,0 +1,338 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>LimeReport::PageEditor</class>
|
||||
<widget class="QDialog" name="LimeReport::PageEditor">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>306</width>
|
||||
<height>356</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Page setup</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>Paper</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Format</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="format"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Dimension</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Width:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QDoubleSpinBox" name="width">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="showGroupSeparator" stdset="0">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> mm</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>99999999999999991611392.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>10.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Height:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="height">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="showGroupSeparator" stdset="0">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> mm</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>99999999999999991611392.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>10.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Orientation</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="portrait">
|
||||
<property name="text">
|
||||
<string>Portrait</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="landscape">
|
||||
<property name="text">
|
||||
<string>Landscape</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</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">
|
||||
<attribute name="title">
|
||||
<string>Margins</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Bottom:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Top:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>Right:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QDoubleSpinBox" name="marginTop">
|
||||
<property name="suffix">
|
||||
<string> mm</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="marginLeft">
|
||||
<property name="suffix">
|
||||
<string> mm</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QDoubleSpinBox" name="marginRight">
|
||||
<property name="suffix">
|
||||
<string> mm</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Left:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QDoubleSpinBox" name="marginBottom">
|
||||
<property name="suffix">
|
||||
<string> mm</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="4">
|
||||
<widget class="Line" name="line">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="4">
|
||||
<widget class="QCheckBox" name="dropPrinterMargins">
|
||||
<property name="text">
|
||||
<string>Drop printer margins</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="4">
|
||||
<spacer name="verticalSpacer">
|
||||
<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_3">
|
||||
<attribute name="title">
|
||||
<string>Other</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>Height options</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="endlessHeight">
|
||||
<property name="text">
|
||||
<string>Endless Height</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QFrame" name="horizontalFrame">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="text">
|
||||
<string>Extended Height:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDoubleSpinBox" name="extendedHeight">
|
||||
<property name="maximum">
|
||||
<double>99999999.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="fullPage">
|
||||
<property name="text">
|
||||
<string>Full page</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<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>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Apply|QDialogButtonBox::Close|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>endlessHeight</sender>
|
||||
<signal>clicked(bool)</signal>
|
||||
<receiver>horizontalFrame</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>72</x>
|
||||
<y>81</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>131</x>
|
||||
<y>134</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
@ -89,6 +89,7 @@ void ShapeItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
|
||||
painter->setBrush(brush);
|
||||
painter->setBackground(QBrush(Qt::NoBrush));
|
||||
painter->setOpacity(qreal(opacity())/100);
|
||||
|
||||
QRectF rectangleRect = rect().adjusted((lineWidth() / 2),
|
||||
(lineWidth() / 2),
|
||||
-(lineWidth() / 2),
|
||||
@ -114,6 +115,7 @@ void ShapeItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
painter->restore();
|
||||
ItemDesignIntf::paint(painter,option,widget);
|
||||
|
||||
|
@ -78,12 +78,15 @@ SOURCES += \
|
||||
$$REPORT_PATH/lrreporttranslation.cpp \
|
||||
$$REPORT_PATH/exporters/lrpdfexporter.cpp \
|
||||
$$REPORT_PATH/lraxisdata.cpp \
|
||||
$$REPORT_PATH/lrpreparedpages.cpp
|
||||
$$REPORT_PATH/lrpreparedpages.cpp \
|
||||
$$REPORT_PATH/items/lrpageeditor.cpp \
|
||||
$$REPORT_PATH/items/lrborderframeeditor.cpp \
|
||||
$$REPORT_PATH/items/lrbordereditor.cpp
|
||||
|
||||
CONFIG(staticlib) {
|
||||
SOURCES += $$REPORT_PATH/lrfactoryinitializer.cpp
|
||||
}
|
||||
|
||||
|
||||
CONFIG(zint) {
|
||||
SOURCES += $$REPORT_PATH/items/lrbarcodeitem.cpp
|
||||
}
|
||||
@ -146,7 +149,7 @@ HEADERS += \
|
||||
$$REPORT_PATH/lrcollection.h \
|
||||
$$REPORT_PATH/lrpagedesignintf.h \
|
||||
$$REPORT_PATH/lrreportengine_p.h \
|
||||
$$REPORT_PATH/lrdatasourcemanager.h \
|
||||
$$REPORT_PATH/lrdatasourcemanager.h \
|
||||
$$REPORT_PATH/lrreportrender.h \
|
||||
$$REPORT_PATH/lrpreviewreportwindow.h \
|
||||
$$REPORT_PATH/lrpreviewreportwidget.h \
|
||||
@ -172,11 +175,14 @@ HEADERS += \
|
||||
$$REPORT_PATH/lrreporttranslation.h \
|
||||
$$REPORT_PATH/lrreportdesignwindowintrerface.h \
|
||||
$$REPORT_PATH/lrexporterintf.h \
|
||||
$$REPORT_PATH/lrexportersfactory.h \
|
||||
$$REPORT_PATH/lrexportersfactory.h \
|
||||
$$REPORT_PATH/exporters/lrpdfexporter.h \
|
||||
$$REPORT_PATH/lrpreparedpages.h \
|
||||
$$REPORT_PATH/lraxisdata.h \
|
||||
$$REPORT_PATH/lrpreparedpagesintf.h
|
||||
$$REPORT_PATH/lrpreparedpagesintf.h \
|
||||
$$REPORT_PATH/items/lrpageeditor.h \
|
||||
$$REPORT_PATH/items/lrborderframeeditor.h \
|
||||
$$REPORT_PATH/items/lrbordereditor.h
|
||||
|
||||
CONFIG(staticlib) {
|
||||
HEADERS += $$REPORT_PATH/lrfactoryinitializer.h
|
||||
@ -199,7 +205,10 @@ FORMS += \
|
||||
$$REPORT_PATH/items/lrchartitemeditor.ui \
|
||||
$$REPORT_PATH/items/lrchartaxiseditor.ui \
|
||||
$$REPORT_PATH/items/lrimageitemeditor.ui \
|
||||
$$REPORT_PATH/scripteditor/lrscripteditor.ui
|
||||
$$REPORT_PATH/scripteditor/lrscripteditor.ui \
|
||||
$$REPORT_PATH/items/lrpageeditor.ui \
|
||||
$$REPORT_PATH/items/lrborderframeeditor.ui \
|
||||
$$REPORT_PATH/items/lrbordereditor.ui
|
||||
|
||||
RESOURCES += \
|
||||
$$REPORT_PATH/report.qrc \
|
||||
|
@ -72,16 +72,16 @@ win32 {
|
||||
}
|
||||
QMAKE_POST_LINK += $$QMAKE_COPY_DIR \"$${DEST_INCLUDE_DIR}\" \"$${DESTDIR}\"
|
||||
} else {
|
||||
EXTRA_FILES ~= s,/,\\,g
|
||||
BUILD_DIR ~= s,/,\\,g
|
||||
DEST_DIR = $$DESTDIR/include
|
||||
DEST_DIR ~= s,/,\\,g
|
||||
DEST_INCLUDE_DIR ~= s,/,\\,g
|
||||
EXTRA_FILES ~= s,/,\\,g
|
||||
BUILD_DIR ~= s,/,\\,g
|
||||
DEST_DIR = $$DESTDIR/include
|
||||
DEST_DIR ~= s,/,\\,g
|
||||
DEST_INCLUDE_DIR ~= s,/,\\,g
|
||||
|
||||
for(FILE,EXTRA_FILES) {
|
||||
QMAKE_POST_LINK += $$QMAKE_COPY \"$$FILE\" \"$${DEST_INCLUDE_DIR}\" $$escape_expand(\\n\\t)
|
||||
}
|
||||
QMAKE_POST_LINK += $$QMAKE_COPY_DIR \"$${DEST_INCLUDE_DIR}\" \"$${DEST_DIR}\"
|
||||
QMAKE_POST_LINK += $$QMAKE_COPY \"$$FILE\" \"$${DEST_INCLUDE_DIR}\" $$escape_expand(\\n\\t)
|
||||
}
|
||||
QMAKE_POST_LINK += $$QMAKE_COPY_DIR \"$${DEST_INCLUDE_DIR}\" \"$${DEST_DIR}\"
|
||||
}
|
||||
}
|
||||
|
||||
@ -139,3 +139,4 @@ CONFIG(build_translations) {
|
||||
}
|
||||
|
||||
#### EN AUTOMATIC TRANSLATIONS
|
||||
|
||||
|
@ -60,7 +60,6 @@ void BandMarker::paint(QPainter *painter, const QStyleOptionGraphicsItem* /**opt
|
||||
boundingRect().bottomLeft().y()-4,
|
||||
boundingRect().width(),4), Qt::lightGray
|
||||
);
|
||||
|
||||
painter->setRenderHint(QPainter::Antialiasing);
|
||||
qreal size = (boundingRect().width()<boundingRect().height()) ? boundingRect().width() : boundingRect().height();
|
||||
QRectF r = QRectF(0,0,size,size);
|
||||
@ -186,7 +185,7 @@ BandDesignIntf::BandDesignIntf(BandsType bandType, const QString &xmlTypeName, Q
|
||||
m_bandMarker = new BandMarker(this);
|
||||
m_bandMarker->setColor(Qt::magenta);
|
||||
m_bandMarker->setHeight(height());
|
||||
m_bandMarker->setPos(pos().x()-m_bandMarker->width(),pos().y());
|
||||
m_bandMarker->setPos(pos().x()-m_bandMarker->width() - (itemMode() == ItemModes::PrintMode?boundingRect().width() : 0),pos().y());
|
||||
if (scene()) scene()->addItem(m_bandMarker);
|
||||
|
||||
m_bandNameLabel = new BandNameLabel(this);
|
||||
@ -818,7 +817,7 @@ BandDesignIntf* BandDesignIntf::findParentBand()
|
||||
void BandDesignIntf::updateBandMarkerGeometry()
|
||||
{
|
||||
if (parentItem() && m_bandMarker){
|
||||
m_bandMarker->setPos(pos().x()-m_bandMarker->width(),pos().y());
|
||||
m_bandMarker->setPos(pos().x()-m_bandMarker->width() - (itemMode() == ItemModes::PrintMode?boundingRect().width() : 0),pos().y());
|
||||
m_bandMarker->setHeight(rect().height());
|
||||
}
|
||||
}
|
||||
@ -839,7 +838,7 @@ QVariant BandDesignIntf::itemChange(QGraphicsItem::GraphicsItemChange change, co
|
||||
{
|
||||
if ((change==ItemPositionChange)&&((itemMode()&DesignMode)||(itemMode()&EditMode))){
|
||||
if (m_bandMarker){
|
||||
m_bandMarker->setPos((value.toPointF().x()-m_bandMarker->boundingRect().width()),
|
||||
m_bandMarker->setPos((value.toPointF().x()-m_bandMarker->boundingRect().width() - (itemMode() == ItemModes::PrintMode?boundingRect().width() : 0)),
|
||||
value.toPointF().y());
|
||||
}
|
||||
}
|
||||
@ -1142,7 +1141,7 @@ void BandDesignIntf::updateItemSize(DataSourceManager* dataManager, RenderPass p
|
||||
restoreLinks();
|
||||
snapshotItemsLayout();
|
||||
|
||||
arrangeSubItems(pass, dataManager);
|
||||
arrangeSubItems(pass, dataManager);
|
||||
if (autoHeight()){
|
||||
if (!keepTopSpace()) {
|
||||
qreal minTop = findMinTop() + m_shiftItems;
|
||||
|
@ -37,7 +37,7 @@
|
||||
#include "lrhorizontallayout.h"
|
||||
#include "serializators/lrstorageintf.h"
|
||||
#include "serializators/lrxmlreader.h"
|
||||
|
||||
#include "lrbordereditor.h"
|
||||
#include <memory>
|
||||
#include <QMetaObject>
|
||||
#include <QGraphicsSceneMouseEvent>
|
||||
@ -65,6 +65,7 @@ BaseDesignIntf::BaseDesignIntf(const QString &storageTypeName, QObject *owner, Q
|
||||
m_BGMode(OpaqueMode),
|
||||
m_opacity(100),
|
||||
m_borderLinesFlags(BorderLines()),
|
||||
m_borderStyle(BorderStyle::Solid),
|
||||
m_storageTypeName(storageTypeName),
|
||||
m_itemMode(DesignMode),
|
||||
m_objectState(ObjectCreated),
|
||||
@ -86,7 +87,9 @@ BaseDesignIntf::BaseDesignIntf(const QString &storageTypeName, QObject *owner, Q
|
||||
m_unitType(Millimeters),
|
||||
m_itemGeometryLocked(false),
|
||||
m_isChangingPos(false),
|
||||
m_isMoveable(false)
|
||||
m_isMoveable(false),
|
||||
m_shadow(false)
|
||||
|
||||
|
||||
{
|
||||
setGeometry(QRectF(0, 0, m_width, m_height));
|
||||
@ -101,7 +104,7 @@ BaseDesignIntf::BaseDesignIntf(const QString &storageTypeName, QObject *owner, Q
|
||||
QRectF BaseDesignIntf::boundingRect() const
|
||||
{
|
||||
qreal halfpw = pen().widthF() / 2;
|
||||
halfpw += 2;
|
||||
halfpw += 2;
|
||||
return rect().adjusted(-halfpw, -halfpw, halfpw, halfpw);
|
||||
}
|
||||
|
||||
@ -423,16 +426,19 @@ void BaseDesignIntf::paint(QPainter *ppainter, const QStyleOptionGraphicsItem *o
|
||||
{
|
||||
Q_UNUSED(option);
|
||||
Q_UNUSED(widget);
|
||||
|
||||
ppainter->save();
|
||||
setupPainter(ppainter);
|
||||
drawBorder(ppainter, rect());
|
||||
// if (m_joinMarkerOn) { drawMarker(ppainter, Const::JOIN_COLOR);}
|
||||
// if (isSelected() && !m_joinMarkerOn) {drawMarker(ppainter, Const::SELECTION_COLOR);}
|
||||
if(m_shadow)
|
||||
drawShadow(ppainter, rect(), 6);
|
||||
// if (m_joinMarkerOn) { drawMarker(ppainter, Const::JOIN_COLOR);}
|
||||
// if (isSelected() && !m_joinMarkerOn) {drawMarker(ppainter, Const::SELECTION_COLOR);}
|
||||
drawResizeZone(ppainter);
|
||||
ppainter->restore();
|
||||
// if (m_hovered) ppainter->drawImage(
|
||||
// QRectF(QPointF(rect().topRight().x()-24, rect().bottomLeft().y()-24),
|
||||
// QSizeF(24, 24)),QImage(":/items/images/settings.png"));
|
||||
// if (m_hovered) ppainter->drawImage(
|
||||
// QRectF(QPointF(rect().topRight().x()-24, rect().bottomLeft().y()-24),
|
||||
// QSizeF(24, 24)),QImage(":/items/images/settings.png"));
|
||||
}
|
||||
|
||||
QColor calcColor(QColor color){
|
||||
@ -442,9 +448,9 @@ QColor calcColor(QColor color){
|
||||
int B = color.blue();
|
||||
|
||||
if (0.222*R + 0.707*G + 0.071*B <= 127)
|
||||
return Qt::white;
|
||||
return Qt::white;
|
||||
else
|
||||
return Qt::black;
|
||||
return Qt::black;
|
||||
}
|
||||
|
||||
void BaseDesignIntf::prepareRect(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
|
||||
@ -485,22 +491,22 @@ void BaseDesignIntf::hoverMoveEvent(QGraphicsSceneHoverEvent *event)
|
||||
case ResizeRight:
|
||||
case ResizeLeft:
|
||||
setCursor(Qt::SizeHorCursor);
|
||||
break;
|
||||
break;
|
||||
case ResizeBottom:
|
||||
case ResizeTop:
|
||||
setCursor(Qt::SizeVerCursor);
|
||||
break;
|
||||
break;
|
||||
case ResizeRight | ResizeBottom:
|
||||
case ResizeLeft | ResizeTop:
|
||||
setCursor(Qt::SizeFDiagCursor);
|
||||
break;
|
||||
break;
|
||||
case ResizeLeft | ResizeBottom:
|
||||
case ResizeRight | ResizeTop:
|
||||
setCursor(Qt::SizeBDiagCursor);
|
||||
break;
|
||||
break;
|
||||
default:
|
||||
setCursor(Qt::ArrowCursor);
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -510,7 +516,7 @@ void BaseDesignIntf::hoverMoveEvent(QGraphicsSceneHoverEvent *event)
|
||||
void BaseDesignIntf::invalidateRects(QVector<QRectF *> rects)
|
||||
{
|
||||
foreach(QRectF * rect, rects)
|
||||
scene()->update(mapToScene(*rect).boundingRect());
|
||||
scene()->update(mapToScene(*rect).boundingRect());
|
||||
}
|
||||
|
||||
void BaseDesignIntf::hoverLeaveEvent(QGraphicsSceneHoverEvent *)
|
||||
@ -543,8 +549,8 @@ void BaseDesignIntf::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
||||
|
||||
if (m_resizeDirectionFlags & ResizeLeft) {
|
||||
if ((event->scenePos().x()) <= (mapToScene(0, 0).x() + (width() - Const::MINIMUM_ITEM_WIDTH)) &&
|
||||
(width() + (event->lastScenePos().x() - event->scenePos().x()) > Const::MINIMUM_ITEM_WIDTH)
|
||||
) {
|
||||
(width() + (event->lastScenePos().x() - event->scenePos().x()) > Const::MINIMUM_ITEM_WIDTH)
|
||||
) {
|
||||
qreal posRightCorner = mapToScene(0, 0).x() + width();
|
||||
qreal posLeftCorner = div(mapToParent(event->pos()).x(), hStep).quot * hStep;
|
||||
if (posLeftCorner < 0 )
|
||||
@ -556,15 +562,15 @@ void BaseDesignIntf::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
||||
|
||||
if (m_resizeDirectionFlags & ResizeRight) {
|
||||
if ((event->scenePos().x() >= (mapToScene(0, 0).x() + Const::MINIMUM_ITEM_WIDTH)) ||
|
||||
(event->scenePos().x() >= (mapToScene(0, 0).x() + width()))) {
|
||||
(event->scenePos().x() >= (mapToScene(0, 0).x() + width()))) {
|
||||
setWidth(div(event->scenePos().x() - mapToScene(0, 0).x(), hStep).quot * hStep);
|
||||
}
|
||||
}
|
||||
|
||||
if (m_resizeDirectionFlags & ResizeTop) {
|
||||
if ((event->scenePos().y()) <= (mapToScene(0, 0).y() + (height() - Const::MINIMUM_ITEM_HEIGHT)) &&
|
||||
(height() + (event->lastScenePos().y() - event->scenePos().y()) > Const::MINIMUM_ITEM_HEIGHT)
|
||||
) {
|
||||
(height() + (event->lastScenePos().y() - event->scenePos().y()) > Const::MINIMUM_ITEM_HEIGHT)
|
||||
) {
|
||||
qreal posBottomCorner = mapToScene(0, 0).y() + height();
|
||||
qreal posTopCorner = div(mapToParent(event->pos()).y(), vStep).quot * vStep;
|
||||
if (posTopCorner < 0 )
|
||||
@ -576,8 +582,8 @@ void BaseDesignIntf::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
||||
|
||||
if (m_resizeDirectionFlags & ResizeBottom) {
|
||||
if ((event->scenePos().y() > (mapToScene(0, 0).y() + height())) ||
|
||||
(event->scenePos().y() > (mapToScene(0, 0).y() + Const::MINIMUM_ITEM_HEIGHT))
|
||||
) {
|
||||
(event->scenePos().y() > (mapToScene(0, 0).y() + Const::MINIMUM_ITEM_HEIGHT))
|
||||
) {
|
||||
setHeight(div(event->scenePos().y() - mapToScene(0, 0).y(), vStep).quot * vStep);
|
||||
}
|
||||
}
|
||||
@ -653,11 +659,11 @@ Qt::CursorShape BaseDesignIntf::getPossibleCursor(int cursorFlags)
|
||||
if ((cursorFlags == Fixed) || (scene()->selectedItems().count() > 1)) return Qt::ArrowCursor;
|
||||
|
||||
if (((cursorFlags & ResizeRight) && (cursorFlags & ResizeTop)) ||
|
||||
((cursorFlags & ResizeLeft) && (cursorFlags & ResizeBottom))) {
|
||||
((cursorFlags & ResizeLeft) && (cursorFlags & ResizeBottom))) {
|
||||
return Qt::SizeBDiagCursor;
|
||||
}
|
||||
if (((cursorFlags & ResizeLeft) && (cursorFlags & ResizeTop)) ||
|
||||
((cursorFlags & ResizeRight) && (cursorFlags & ResizeBottom))) {
|
||||
((cursorFlags & ResizeRight) && (cursorFlags & ResizeBottom))) {
|
||||
return Qt::SizeFDiagCursor;
|
||||
}
|
||||
if ((cursorFlags & ResizeLeft) || (cursorFlags & ResizeRight)) { return Qt::SizeHorCursor; }
|
||||
@ -702,7 +708,7 @@ QPointF BaseDesignIntf::modifyPosForAlignedItem(const QPointF& pos){
|
||||
case ParentWidthItemAlign:
|
||||
result.setX(leftBorder);
|
||||
case DesignedItemAlign:
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
@ -750,7 +756,7 @@ void BaseDesignIntf::updatePossibleDirectionFlags(){
|
||||
setPossibleResizeDirectionFlags(ResizeBottom|ResizeTop);
|
||||
case CenterItemAlign:
|
||||
case DesignedItemAlign:
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -764,6 +770,26 @@ void BaseDesignIntf::setIsChangingPos(bool isChangingPos)
|
||||
m_isChangingPos = isChangingPos;
|
||||
}
|
||||
|
||||
bool BaseDesignIntf::isShapeItem() const
|
||||
{
|
||||
return QString(metaObject()->className()) == "LimeReport::ShapeItem";
|
||||
}
|
||||
|
||||
bool BaseDesignIntf::hasShadow()
|
||||
{
|
||||
return m_shadow;
|
||||
}
|
||||
|
||||
void BaseDesignIntf::setShadow(bool sh)
|
||||
{
|
||||
if (m_shadow != sh){
|
||||
bool oldValue = m_shadow;
|
||||
m_shadow = sh;
|
||||
notify("shadow",oldValue,m_shadow);
|
||||
update();
|
||||
}
|
||||
}
|
||||
|
||||
bool BaseDesignIntf::isGeometryLocked() const
|
||||
{
|
||||
return m_itemGeometryLocked;
|
||||
@ -943,14 +969,22 @@ void BaseDesignIntf::emitObjectNamePropertyChanged(const QString &oldName, const
|
||||
emit propertyObjectNameChanged(oldName,newName);
|
||||
}
|
||||
|
||||
int BaseDesignIntf::borderLineSize() const
|
||||
qreal BaseDesignIntf::borderLineSize() const
|
||||
{
|
||||
return m_borderLineSize;
|
||||
}
|
||||
|
||||
void BaseDesignIntf::setBorderLineSize(int value)
|
||||
void BaseDesignIntf::setBorderStyle(BorderStyle b)
|
||||
{
|
||||
int oldValue = m_borderLineSize;
|
||||
BorderStyle oldValue = m_borderStyle;
|
||||
m_borderStyle = b;
|
||||
update();
|
||||
notify("borderStyle",(BorderStyle)oldValue,(BorderStyle)b);
|
||||
}
|
||||
|
||||
void BaseDesignIntf::setBorderLineSize(qreal value)
|
||||
{
|
||||
qreal oldValue = m_borderLineSize;
|
||||
m_borderLineSize = value;
|
||||
update();
|
||||
notify("borderLineSize",oldValue,value);
|
||||
@ -980,7 +1014,7 @@ void BaseDesignIntf::moveUp()
|
||||
void BaseDesignIntf::sizeRight()
|
||||
{
|
||||
if ((m_possibleResizeDirectionFlags & ResizeLeft) ||
|
||||
(m_possibleResizeDirectionFlags & ResizeRight)) {
|
||||
(m_possibleResizeDirectionFlags & ResizeRight)) {
|
||||
if (page()) setWidth(width() + page()->horizontalGridStep());
|
||||
}
|
||||
}
|
||||
@ -988,7 +1022,7 @@ void BaseDesignIntf::sizeRight()
|
||||
void BaseDesignIntf::sizeLeft()
|
||||
{
|
||||
if ((m_possibleResizeDirectionFlags & ResizeLeft) ||
|
||||
(m_possibleResizeDirectionFlags & ResizeRight)) {
|
||||
(m_possibleResizeDirectionFlags & ResizeRight)) {
|
||||
if(page()) setWidth(width() - page()->horizontalGridStep());
|
||||
}
|
||||
}
|
||||
@ -996,7 +1030,7 @@ void BaseDesignIntf::sizeLeft()
|
||||
void BaseDesignIntf::sizeUp()
|
||||
{
|
||||
if ((m_possibleResizeDirectionFlags & ResizeTop) ||
|
||||
(m_possibleResizeDirectionFlags & ResizeBottom)) {
|
||||
(m_possibleResizeDirectionFlags & ResizeBottom)) {
|
||||
if (page()) setHeight(height() - page()->verticalGridStep());
|
||||
}
|
||||
}
|
||||
@ -1004,7 +1038,7 @@ void BaseDesignIntf::sizeUp()
|
||||
void BaseDesignIntf::sizeDown()
|
||||
{
|
||||
if ((m_possibleResizeDirectionFlags & ResizeTop) ||
|
||||
(m_possibleResizeDirectionFlags & ResizeBottom)) {
|
||||
(m_possibleResizeDirectionFlags & ResizeBottom)) {
|
||||
if (page()) setHeight(height() + page()->verticalGridStep());
|
||||
}
|
||||
}
|
||||
@ -1026,32 +1060,65 @@ BaseDesignIntf::BorderLines BaseDesignIntf::borderLines() const
|
||||
return m_borderLinesFlags;
|
||||
}
|
||||
|
||||
|
||||
void BaseDesignIntf::drawTopLine(QPainter *painter, QRectF rect) const
|
||||
{
|
||||
if(isShapeItem())
|
||||
return;
|
||||
painter->setPen(borderPen(TopLine));
|
||||
painter->drawLine(rect.x(), rect.y(), rect.width(), rect.y());
|
||||
if(borderStyle() == BorderStyle::Doubled)
|
||||
painter->drawLine(rect.x()+3+m_borderLineSize,
|
||||
rect.y()+3+m_borderLineSize,
|
||||
rect.width()-3-m_borderLineSize,
|
||||
rect.y()+3+m_borderLineSize);
|
||||
}
|
||||
|
||||
void BaseDesignIntf::drawBootomLine(QPainter *painter, QRectF rect) const
|
||||
{
|
||||
if(isShapeItem())
|
||||
return;
|
||||
|
||||
painter->setPen(borderPen(BottomLine));
|
||||
painter->drawLine(rect.x(), rect.height(), rect.width(), rect.height());
|
||||
if(borderStyle() == BorderStyle::Doubled)
|
||||
painter->drawLine(rect.x()+3+m_borderLineSize,
|
||||
rect.height()-3-m_borderLineSize,
|
||||
rect.width()-3-m_borderLineSize,
|
||||
rect.height()-3-m_borderLineSize);
|
||||
}
|
||||
|
||||
void BaseDesignIntf::drawRightLine(QPainter *painter, QRectF rect) const
|
||||
{
|
||||
if(isShapeItem())
|
||||
return;
|
||||
painter->setPen(borderPen(RightLine));
|
||||
|
||||
painter->drawLine(rect.width(), rect.y(), rect.width(), rect.height());
|
||||
if(borderStyle() == BorderStyle::Doubled)
|
||||
painter->drawLine(rect.width()-3 - m_borderLineSize,
|
||||
rect.y()+3+m_borderLineSize,
|
||||
rect.width()-3-m_borderLineSize,
|
||||
rect.height()-3-m_borderLineSize);
|
||||
}
|
||||
|
||||
void BaseDesignIntf::drawLeftLine(QPainter *painter, QRectF rect) const
|
||||
{
|
||||
if(isShapeItem())
|
||||
return;
|
||||
painter->setPen(borderPen(LeftLine));
|
||||
painter->drawLine(rect.x(), rect.y(), rect.x(), rect.height());
|
||||
if(borderStyle() == BorderStyle::Doubled)
|
||||
painter->drawLine(rect.x()+3+m_borderLineSize,
|
||||
rect.y()+3+m_borderLineSize,
|
||||
rect.x()+3+m_borderLineSize,
|
||||
rect.height()-3-m_borderLineSize);
|
||||
}
|
||||
|
||||
void BaseDesignIntf::drawDesignModeBorder(QPainter *painter, QRectF rect) const
|
||||
{
|
||||
if(isShapeItem())
|
||||
return;
|
||||
drawTopLine(painter, rect);
|
||||
drawBootomLine(painter, rect);
|
||||
drawLeftLine(painter, rect);
|
||||
@ -1060,7 +1127,8 @@ void BaseDesignIntf::drawDesignModeBorder(QPainter *painter, QRectF rect) const
|
||||
|
||||
void BaseDesignIntf::drawRenderModeBorder(QPainter *painter, QRectF rect) const
|
||||
{
|
||||
|
||||
if(isShapeItem())
|
||||
return;
|
||||
if (m_borderLinesFlags & RightLine) drawRightLine(painter, rect);
|
||||
if (m_borderLinesFlags & LeftLine) drawLeftLine(painter, rect);
|
||||
if (m_borderLinesFlags & TopLine ) drawTopLine(painter, rect);
|
||||
@ -1077,6 +1145,29 @@ void BaseDesignIntf::drawBorder(QPainter *painter, QRectF rect) const
|
||||
painter->restore();
|
||||
}
|
||||
|
||||
void BaseDesignIntf::drawShadow(QPainter *painter, QRectF rect, qreal shadowSize) const
|
||||
{
|
||||
qreal shWidth = shadowSize;
|
||||
QRectF rshadow(rect.topRight() + QPointF(0, shWidth),
|
||||
rect.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));
|
||||
painter->fillRect(rshadow, QBrush(rgrad));
|
||||
QRectF bshadow(rect.bottomLeft() + QPointF(shWidth, 0),
|
||||
rect.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));
|
||||
painter->fillRect(bshadow, QBrush(bgrad));
|
||||
QRectF cshadow(rect.bottomRight(),
|
||||
rect.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));
|
||||
painter->fillRect(cshadow, QBrush(cgrad));
|
||||
}
|
||||
|
||||
void BaseDesignIntf::setGeometry(QRectF rect)
|
||||
{
|
||||
if (m_rect == rect) return;
|
||||
@ -1138,8 +1229,11 @@ QPen BaseDesignIntf::borderPen(BorderSide side/*, bool selected*/) const
|
||||
QPen pen;
|
||||
if (m_borderLinesFlags & side) {
|
||||
pen.setColor(m_borderColor);
|
||||
pen.setStyle(Qt::SolidLine);
|
||||
pen.setWidth(m_borderLineSize);
|
||||
if(borderStyle() != BorderStyle::Doubled)
|
||||
pen.setStyle(static_cast<Qt::PenStyle>(m_borderStyle));
|
||||
//pen.setCosmetic(true);
|
||||
pen.setWidthF(m_borderLineSize+1); //To draw with point precision (By default: 2px = 1 pt)
|
||||
|
||||
} else {
|
||||
pen.setColor(Qt::darkGray);
|
||||
pen.setStyle(Qt::SolidLine);
|
||||
@ -1235,13 +1329,13 @@ void BaseDesignIntf::drawMarker(QPainter *painter, QColor color) const
|
||||
painter->drawRect(QRectF(rect().right()-markerSize,rect().top()-markerSize,markerSize*2,markerSize*2));
|
||||
painter->drawRect(QRectF(rect().left()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2));
|
||||
painter->drawRect(QRectF(rect().left()-markerSize,
|
||||
rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2));
|
||||
rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2));
|
||||
painter->drawRect(QRectF(rect().right()-markerSize,
|
||||
rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2));
|
||||
rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2));
|
||||
painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize,
|
||||
rect().top()-markerSize,markerSize*2,markerSize*2));
|
||||
rect().top()-markerSize,markerSize*2,markerSize*2));
|
||||
painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize,
|
||||
rect().bottom()-markerSize,markerSize*2,markerSize*2));
|
||||
rect().bottom()-markerSize,markerSize*2,markerSize*2));
|
||||
|
||||
pen.setStyle(Qt::DotLine);
|
||||
painter->setPen(pen);
|
||||
@ -1331,7 +1425,7 @@ void BaseDesignIntf::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
|
||||
{
|
||||
if (event->button() == Qt::LeftButton &&
|
||||
((itemMode()&EditMode)||(itemMode()&DesignMode))
|
||||
) {
|
||||
) {
|
||||
showEditorDialog();
|
||||
}
|
||||
QGraphicsItem::mouseDoubleClickEvent(event);
|
||||
@ -1389,6 +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/borderEditor"), tr("Edit borders..."));
|
||||
preparePopUpMenu(menu);
|
||||
QAction* a = menu.exec(event->screenPos());
|
||||
if (a){
|
||||
@ -1409,6 +1504,13 @@ void BaseDesignIntf::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||
page->setBorders(BaseDesignIntf::NoLine);
|
||||
if (a == allBordersAction)
|
||||
page->setBorders(BaseDesignIntf::AllLines);
|
||||
if (a == editBorderAction)
|
||||
{
|
||||
BorderEditor be;
|
||||
be.loadItem(this);
|
||||
if (be.exec() == QDialog::Rejected) return;
|
||||
page->setBordersExt(be.borderSides(), be.borderWidth(), (LimeReport::BaseDesignIntf::BorderStyle)be.borderStyle(), be.borderColor());
|
||||
}
|
||||
if (a == createHLayout)
|
||||
page->addHLayout();
|
||||
if (a == createVLayout)
|
||||
@ -1442,14 +1544,14 @@ void BaseDesignIntf::setMarginSize(int value)
|
||||
void BaseDesignIntf::drawResizeZone(QPainter* /*painter*/)
|
||||
{
|
||||
|
||||
// if (m_resizeAreas.count() > 0) {
|
||||
// painter->save();
|
||||
// painter->setPen(QPen(Const::RESIZE_ZONE_COLOR));
|
||||
// (isSelected()) ? painter->setOpacity(Const::SELECTED_RESIZE_ZONE_OPACITY) : painter->setOpacity(Const::RESIZE_ZONE_OPACITY);
|
||||
// painter->setBrush(QBrush(Qt::green, Qt::SolidPattern));
|
||||
// foreach(QRectF * resizeArea, m_resizeAreas) painter->drawRect(*resizeArea);
|
||||
// painter->restore();
|
||||
// }
|
||||
// if (m_resizeAreas.count() > 0) {
|
||||
// painter->save();
|
||||
// painter->setPen(QPen(Const::RESIZE_ZONE_COLOR));
|
||||
// (isSelected()) ? painter->setOpacity(Const::SELECTED_RESIZE_ZONE_OPACITY) : painter->setOpacity(Const::RESIZE_ZONE_OPACITY);
|
||||
// painter->setBrush(QBrush(Qt::green, Qt::SolidPattern));
|
||||
// foreach(QRectF * resizeArea, m_resizeAreas) painter->drawRect(*resizeArea);
|
||||
// painter->restore();
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
@ -1680,7 +1782,7 @@ void BaseDesignIntf::notify(const QString &propertyName, const QVariant& oldValu
|
||||
void BaseDesignIntf::notify(const QVector<QString>& propertyNames)
|
||||
{
|
||||
if (!isLoading())
|
||||
emit propertyesChanged(propertyNames);
|
||||
emit propertyesChanged(propertyNames);
|
||||
}
|
||||
|
||||
|
||||
@ -1719,17 +1821,18 @@ void Marker::paint(QPainter* painter, const QStyleOptionGraphicsItem*, QWidget*)
|
||||
painter->drawRect(rect());
|
||||
painter->setBrush(color());
|
||||
painter->setPen(Qt::transparent);
|
||||
|
||||
painter->setOpacity(1);
|
||||
painter->drawRect(QRectF(-markerSize,-markerSize,markerSize*2,markerSize*2));
|
||||
painter->drawRect(QRectF(rect().right()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2));
|
||||
painter->drawRect(QRectF(rect().right()-markerSize,rect().top()-markerSize,markerSize*2,markerSize*2));
|
||||
painter->drawRect(QRectF(rect().left()-markerSize,rect().bottom()-markerSize,markerSize*2,markerSize*2));
|
||||
painter->drawRect(QRectF(rect().left()-markerSize,
|
||||
rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2));
|
||||
rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2));
|
||||
painter->drawRect(QRectF(rect().right()-markerSize,
|
||||
rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2));
|
||||
rect().bottom()-rect().height()/2-markerSize,markerSize*2,markerSize*2));
|
||||
painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize,
|
||||
rect().top()-markerSize,markerSize*2,markerSize*2));
|
||||
rect().top()-markerSize,markerSize*2,markerSize*2));
|
||||
painter->drawRect(QRectF(rect().left()+rect().width()/2-markerSize,
|
||||
rect().bottom()-markerSize,markerSize*2,markerSize*2));
|
||||
}
|
||||
|
@ -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)
|
||||
@ -90,14 +90,25 @@ class BaseDesignIntf :
|
||||
Q_PROPERTY(qreal zOrder READ zValue WRITE setZValueProperty DESIGNABLE false)
|
||||
Q_PROPERTY(BorderLines borders READ borderLines WRITE setBorderLinesFlags)
|
||||
Q_PROPERTY(QString parentName READ parentReportItemName WRITE setParentReportItem DESIGNABLE false)
|
||||
Q_PROPERTY(int borderLineSize READ borderLineSize WRITE setBorderLineSize)
|
||||
Q_PROPERTY(qreal borderLineSize READ borderLineSize WRITE setBorderLineSize)
|
||||
Q_PROPERTY(bool isVisible READ isVisible WRITE setItemVisible DESIGNABLE false)
|
||||
Q_PROPERTY(bool shadow READ hasShadow WRITE setShadow)
|
||||
Q_PROPERTY(QColor borderColor READ borderColor WRITE setBorderColor)
|
||||
Q_PROPERTY(bool geometryLocked READ isGeometryLocked WRITE setGeometryLocked)
|
||||
Q_PROPERTY(BorderStyle borderStyle READ borderStyle WRITE setBorderStyle)
|
||||
|
||||
friend class ReportRender;
|
||||
public:
|
||||
enum BGMode { TransparentMode, OpaqueMode};
|
||||
enum BorderStyle { NoStyle = Qt::NoPen,
|
||||
Solid = Qt::SolidLine,
|
||||
Dashed = Qt::DashLine,
|
||||
Dot = Qt::DotLine,
|
||||
|
||||
DashDot = Qt::DashDotLine,
|
||||
DashDotDot = Qt::DashDotDotLine,
|
||||
Doubled = 7
|
||||
};
|
||||
|
||||
|
||||
enum BrushStyle{ NoBrush,
|
||||
@ -147,21 +158,25 @@ public:
|
||||
#if QT_VERSION >= 0x050500
|
||||
Q_ENUM(BGMode)
|
||||
Q_ENUM(BrushStyle)
|
||||
Q_ENUM(BorderStyle)
|
||||
Q_ENUM(ResizeFlags)
|
||||
Q_ENUM(MoveFlags)
|
||||
Q_ENUM(BorderSide)
|
||||
Q_ENUM(ObjectState)
|
||||
Q_ENUM(ItemAlign)
|
||||
Q_ENUM(UnitType)
|
||||
|
||||
#else
|
||||
Q_ENUMS(BGMode)
|
||||
Q_ENUMS(BrushStyle)
|
||||
Q_ENUM(BorderStyle)
|
||||
Q_ENUMS(ResizeFlags)
|
||||
Q_ENUMS(MoveFlags)
|
||||
Q_ENUMS(BorderSide)
|
||||
Q_ENUMS(ObjectState)
|
||||
Q_ENUMS(ItemAlign)
|
||||
Q_ENUMS(UnitType)
|
||||
|
||||
#endif
|
||||
// enum ExpandType {EscapeSymbols, NoEscapeSymbols, ReplaceHTMLSymbols};
|
||||
Q_DECLARE_FLAGS(BorderLines, BorderSide)
|
||||
@ -175,6 +190,7 @@ public:
|
||||
QString parentReportItemName() const;
|
||||
|
||||
BrushStyle backgroundBrushStyle() const {return m_backgroundBrushStyle;}
|
||||
BorderStyle borderStyle() const {return m_borderStyle;}
|
||||
void setBackgroundBrushStyle(BrushStyle value);
|
||||
QColor backgroundColor() const {return m_backgroundColor;}
|
||||
void setBackgroundColor(QColor value);
|
||||
@ -240,6 +256,7 @@ public:
|
||||
PageDesignIntf* page();
|
||||
|
||||
BorderLines borderLines() const;
|
||||
|
||||
QString storageTypeName() const {return m_storageTypeName;}
|
||||
ReportEnginePrivate *reportEditor();
|
||||
|
||||
@ -284,8 +301,9 @@ public:
|
||||
QString itemTypeName() const;
|
||||
void setItemTypeName(const QString &itemTypeName);
|
||||
|
||||
int borderLineSize() const;
|
||||
void setBorderLineSize(int value);
|
||||
qreal borderLineSize() const;
|
||||
void setBorderStyle(BorderStyle b);
|
||||
void setBorderLineSize(qreal value);
|
||||
void showEditorDialog();
|
||||
ItemAlign itemAlign() const;
|
||||
virtual void setItemAlign(const ItemAlign &itemAlign);
|
||||
@ -320,7 +338,9 @@ public:
|
||||
void setGeometryLocked(bool itemLocked);
|
||||
bool isChangingPos() const;
|
||||
void setIsChangingPos(bool isChangingPos);
|
||||
|
||||
bool isShapeItem() const;
|
||||
bool hasShadow();
|
||||
void setShadow(bool sh);
|
||||
Q_INVOKABLE QString setItemWidth(qreal width);
|
||||
Q_INVOKABLE QString setItemHeight(qreal height);
|
||||
Q_INVOKABLE qreal getItemWidth();
|
||||
@ -367,7 +387,9 @@ protected:
|
||||
void drawRightLine(QPainter *painter, QRectF rect) const;
|
||||
void drawLeftLine(QPainter *painter, QRectF rect) const;
|
||||
|
||||
|
||||
void drawBorder(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*);
|
||||
@ -425,7 +447,8 @@ private:
|
||||
QFont m_font;
|
||||
QColor m_fontColor;
|
||||
bool m_fixedPos;
|
||||
int m_borderLineSize;
|
||||
qreal m_borderLineSize;
|
||||
|
||||
|
||||
QRectF m_rect;
|
||||
mutable QRectF m_boundingRect;
|
||||
@ -434,6 +457,7 @@ private:
|
||||
BGMode m_BGMode;
|
||||
int m_opacity;
|
||||
BorderLines m_borderLinesFlags;
|
||||
BorderStyle m_borderStyle;
|
||||
|
||||
QRectF m_bottomRect;
|
||||
QRectF m_topRect;
|
||||
@ -470,6 +494,7 @@ private:
|
||||
bool m_itemGeometryLocked;
|
||||
bool m_isChangingPos;
|
||||
bool m_isMoveable;
|
||||
bool m_shadow;
|
||||
|
||||
signals:
|
||||
void geometryChanged(QObject* object, QRectF newGeometry, QRectF oldGeometry);
|
||||
@ -490,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& ){}
|
||||
@ -44,9 +44,12 @@ public:
|
||||
Q_DECLARE_METATYPE(ACollectionProperty)
|
||||
|
||||
namespace LimeReport{
|
||||
|
||||
#if __cplusplus >= 201703L
|
||||
const int inline COLLECTION_TYPE_ID = qMetaTypeId<ACollectionProperty>();
|
||||
#else
|
||||
const int COLLECTION_TYPE_ID = qMetaTypeId<ACollectionProperty>();
|
||||
class ICollectionContainer{
|
||||
#endif
|
||||
class LIMEREPORT_EXPORT ICollectionContainer{
|
||||
public:
|
||||
virtual QObject* createElement(const QString& collectionName,const QString& elementType)=0;
|
||||
virtual int elementsCount(const QString& collectionName)=0;
|
||||
|
@ -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();
|
||||
@ -168,7 +168,7 @@ namespace Const{
|
||||
#endif
|
||||
|
||||
|
||||
class Enums
|
||||
class LIMEREPORT_EXPORT Enums
|
||||
{
|
||||
public:
|
||||
enum VariableDataType {Undefined, String, Bool, Int, Real, Date, Time, DateTime};
|
||||
|
@ -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):
|
||||
|
@ -73,6 +73,7 @@ PageDesignIntf::PageDesignIntf(QObject *parent):
|
||||
m_itemInsertRect(0),
|
||||
m_itemMode(DesignMode),
|
||||
m_cutterBorder(0),
|
||||
// m_infoPosRect(0),
|
||||
m_currentCommand(-1),
|
||||
m_changeSizeMode(false),
|
||||
m_changePosMode(false),
|
||||
@ -93,11 +94,13 @@ PageDesignIntf::PageDesignIntf(QObject *parent):
|
||||
m_magneticMovement(false),
|
||||
m_reportSettings(0),
|
||||
m_currentPage(0)
|
||||
|
||||
{
|
||||
m_reportEditor = dynamic_cast<ReportEnginePrivate *>(parent);
|
||||
updatePageRect();
|
||||
connect(this, SIGNAL(selectionChanged()), this, SLOT(slotSelectionChanged()));
|
||||
setBackgroundBrush(QBrush(Qt::white));
|
||||
|
||||
}
|
||||
|
||||
PageDesignIntf::~PageDesignIntf()
|
||||
@ -313,6 +316,7 @@ void PageDesignIntf::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
||||
|
||||
void PageDesignIntf::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
||||
{
|
||||
PageItemDesignIntf* page = pageItem() ? pageItem() : getCurrentPage();
|
||||
|
||||
if (event->buttons() & Qt::LeftButton) {
|
||||
if (!m_changePosOrSizeMode) {
|
||||
@ -320,6 +324,24 @@ void PageDesignIntf::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
||||
saveSelectedItemsGeometry();
|
||||
m_changePosOrSizeMode = true;
|
||||
}
|
||||
// qreal posY = div(page->mapFromScene(event->scenePos()).y(), verticalGridStep()).quot * verticalGridStep();
|
||||
// qreal posX = div(page->mapFromScene(event->scenePos()).x(), verticalGridStep()).quot * horizontalGridStep();
|
||||
|
||||
// if(!m_infoPosRect)
|
||||
// {
|
||||
// m_infoPosRect = new QGraphicsTextItem();
|
||||
// m_infoPosRect->setDefaultTextColor(QColor(100,150,50));
|
||||
|
||||
// QFont font("Arial");
|
||||
// font.setPointSize(16);
|
||||
// font.setBold(true);
|
||||
// m_infoPosRect->setFont(font);
|
||||
// addItem(m_infoPosRect);
|
||||
// }
|
||||
|
||||
// m_infoPosRect->setPlainText("(x: "+QString::number(posX/100)+", y: "+QString::number(posY/100)+") cm");
|
||||
// m_infoPosRect->setPos(posX,posY+30);
|
||||
|
||||
}
|
||||
|
||||
if (event->buttons() & Qt::LeftButton && m_multiSelectStarted){
|
||||
@ -339,7 +361,6 @@ void PageDesignIntf::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
||||
m_selectionRect->setRect(selectionRect);
|
||||
}
|
||||
|
||||
PageItemDesignIntf* page = pageItem() ? pageItem() : getCurrentPage();
|
||||
if ((m_insertMode) && (page && page->rect().contains(page->mapFromScene(event->scenePos())))) {
|
||||
if (!m_itemInsertRect->isVisible()) m_itemInsertRect->setVisible(true);
|
||||
qreal posY = div(page->mapFromScene(event->scenePos()).y(), verticalGridStep()).quot * verticalGridStep();
|
||||
@ -355,7 +376,7 @@ void PageDesignIntf::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
||||
);
|
||||
}
|
||||
} else {
|
||||
if (m_insertMode) m_itemInsertRect->setVisible(false);
|
||||
if (m_insertMode) m_itemInsertRect->setVisible(false);
|
||||
}
|
||||
|
||||
QGraphicsScene::mouseMoveEvent(event);
|
||||
@ -401,6 +422,11 @@ void PageDesignIntf::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
||||
m_selectionRect = 0;
|
||||
m_multiSelectStarted = false;
|
||||
}
|
||||
// if(m_infoPosRect)
|
||||
// {
|
||||
// delete m_infoPosRect;
|
||||
// m_infoPosRect = 0;
|
||||
// }
|
||||
QGraphicsScene::mouseReleaseEvent(event);
|
||||
}
|
||||
|
||||
@ -750,7 +776,7 @@ void PageDesignIntf::dropEvent(QGraphicsSceneDragDropEvent* event)
|
||||
bool isVar = event->mimeData()->text().indexOf("variable:")==0;
|
||||
BaseDesignIntf* item = addReportItem("TextItem",event->scenePos(),QSize(250, 50));
|
||||
TextItem* ti = dynamic_cast<TextItem*>(item);
|
||||
QString data = event->mimeData()->text().remove(0,event->mimeData()->text().indexOf(":")+1);
|
||||
QString data = event->mimeData()->text().remove(0,event->mimeData()->text().indexOf(":")+1);
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 1))
|
||||
if (isVar) data = data.remove(QRegExp(" \\[.*\\]"));
|
||||
#else
|
||||
@ -943,7 +969,7 @@ CommandIf::Ptr PageDesignIntf::createChangePosCommand()
|
||||
newPos.pos = reportItem->pos();
|
||||
newPoses.append(newPos);
|
||||
}
|
||||
}
|
||||
}
|
||||
return PosChangedCommand::create(this, m_positionStamp, newPoses);
|
||||
}
|
||||
|
||||
@ -1825,6 +1851,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()){
|
||||
@ -2650,7 +2690,7 @@ bool BandMoveFromToCommand::doIt()
|
||||
void BandMoveFromToCommand::undoIt()
|
||||
{
|
||||
if (page() && page()->pageItem())
|
||||
page()->pageItem()->moveBandFromTo(reverceFrom, reverceTo);
|
||||
page()->pageItem()->moveBandFromTo(reverceFrom, reverceTo);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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();
|
||||
@ -295,6 +300,7 @@ namespace LimeReport {
|
||||
BaseDesignIntf::ItemMode m_itemMode;
|
||||
QGraphicsRectItem* m_cutterBorder;
|
||||
QGraphicsRectItem* m_pageRect;
|
||||
// QGraphicsTextItem* m_infoPosRect;
|
||||
QVector<CommandIf::Ptr> m_commandsList;
|
||||
QVector<ReportItemPos> m_positionStamp;
|
||||
QVector<ReportItemSize> m_geometryStamp;
|
||||
|
@ -34,7 +34,7 @@
|
||||
#include <QGraphicsScene>
|
||||
#include <QPrinter>
|
||||
#include <QMenu>
|
||||
|
||||
#include <lrpageeditor.h>
|
||||
namespace LimeReport {
|
||||
|
||||
bool bandSortBandLessThenByIndex(const BandDesignIntf *c1, const BandDesignIntf *c2){
|
||||
@ -98,14 +98,7 @@ void PageItemDesignIntf::paint(QPainter *ppainter, const QStyleOptionGraphicsIte
|
||||
paintGrid(ppainter, rect);
|
||||
ppainter->setPen(gridColor());
|
||||
ppainter->drawRect(boundingRect());
|
||||
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();
|
||||
}
|
||||
|
||||
@ -123,6 +116,7 @@ void PageItemDesignIntf::paint(QPainter *ppainter, const QStyleOptionGraphicsIte
|
||||
ppainter->restore();
|
||||
BaseDesignIntf::paint(ppainter,option,widget);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
BaseDesignIntf *PageItemDesignIntf::createSameTypeItem(QObject *owner, QGraphicsItem *parent)
|
||||
@ -746,10 +740,15 @@ void PageItemDesignIntf::initPageSize(const QSizeF& size)
|
||||
|
||||
void PageItemDesignIntf::preparePopUpMenu(QMenu &menu)
|
||||
{
|
||||
|
||||
|
||||
foreach (QAction* action, menu.actions()) {
|
||||
if (action->text().compare(tr("Paste")) != 0)
|
||||
action->setVisible(false);
|
||||
}
|
||||
menu.addSeparator();
|
||||
menu.addAction(tr("Edit"));
|
||||
|
||||
|
||||
menu.addSeparator();
|
||||
|
||||
@ -797,6 +796,11 @@ void PageItemDesignIntf::processPopUpAction(QAction *action)
|
||||
if (action->text().compare(tr("Mix with prior page")) == 0){
|
||||
page()->setPropertyToSelectedItems("mixWithPriorPage",action->isChecked());
|
||||
}
|
||||
if(action->text() == tr("Edit"))
|
||||
{
|
||||
PageEditor pageEdit(NULL,this);
|
||||
pageEdit.exec();
|
||||
}
|
||||
|
||||
}
|
||||
void PageItemDesignIntf::initPageSize(const PageItemDesignIntf::PageSize &size)
|
||||
|
@ -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)
|
||||
|
@ -21,7 +21,7 @@ namespace LimeReport {
|
||||
|
||||
bool PreviewReportWidgetPrivate::pageIsVisible(){
|
||||
QGraphicsView* view = q_ptr->ui->graphicsView;
|
||||
if ( m_currentPage-1 >= m_reportPages.size() || m_currentPage <= 0 )
|
||||
if ( m_currentPage-1 >= m_reportPages.size() || m_currentPage <= 0 )
|
||||
return false;
|
||||
PageItemDesignIntf::Ptr page = m_reportPages.at(m_currentPage-1);
|
||||
return page->mapToScene(page->rect()).boundingRect().intersects(
|
||||
@ -103,6 +103,7 @@ PreviewReportWidget::PreviewReportWidget(ReportEngine *report, QWidget *parent)
|
||||
d_ptr->m_zoomer = new GraphicsViewZoomer(ui->graphicsView);
|
||||
connect(d_ptr->m_zoomer, SIGNAL(zoomed(double)), this, SLOT(slotZoomed(double)));
|
||||
connect(&m_resizeTimer, SIGNAL(timeout()), this, SLOT(resizeDone()));
|
||||
|
||||
}
|
||||
|
||||
PreviewReportWidget::~PreviewReportWidget()
|
||||
@ -236,7 +237,7 @@ void PreviewReportWidget::printPages(QPrinter* printer)
|
||||
}
|
||||
|
||||
void PreviewReportWidget::print()
|
||||
{
|
||||
{
|
||||
QPrinterInfo pi;
|
||||
QPrinter lp(QPrinter::HighResolution);
|
||||
|
||||
@ -482,7 +483,7 @@ void PreviewReportWidget::reportEngineDestroyed(QObject *object)
|
||||
|
||||
void PreviewReportWidget::slotZoomed(double )
|
||||
{
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 1))
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 0))
|
||||
d_ptr->m_scalePercent = ui->graphicsView->matrix().m11()*100;
|
||||
#else
|
||||
d_ptr->m_scalePercent = ui->graphicsView->transform().m11()*100;
|
||||
|
@ -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());
|
||||
@ -1119,6 +1129,7 @@ bool PageView::viewportEvent(QEvent *event)
|
||||
m_verticalRuller->setGeometry(0, y+20, 20, (height - y));
|
||||
m_verticalRuller->update();
|
||||
m_horizontalRuller->update();
|
||||
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
@ -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();
|
||||
|
@ -407,7 +407,7 @@ bool ReportEnginePrivate::printReport(QPrinter* printer)
|
||||
if (printer&&printer->isValid()){
|
||||
try{
|
||||
bool designTime = dataManager()->designTime();
|
||||
dataManager()->setDesignTime(false);
|
||||
dataManager()->setDesignTime(false);
|
||||
ReportPages pages = renderToPages();
|
||||
dataManager()->setDesignTime(designTime);
|
||||
if (pages.count()>0){
|
||||
@ -536,7 +536,7 @@ bool ReportEnginePrivate::showPreviewWindow(ReportPages pages, PreviewHints hint
|
||||
}
|
||||
|
||||
void ReportEnginePrivate::previewReport(PreviewHints hints)
|
||||
{
|
||||
{
|
||||
previewReport(0, hints);
|
||||
}
|
||||
|
||||
@ -661,21 +661,21 @@ bool ReportEnginePrivate::slotLoadFromFile(const QString &fileName)
|
||||
{
|
||||
EASY_BLOCK("ReportEnginePrivate::slotLoadFromFile")
|
||||
PreviewReportWindow *currentPreview = qobject_cast<PreviewReportWindow *>(m_activePreview);
|
||||
|
||||
|
||||
if (!QFile::exists(fileName))
|
||||
{
|
||||
if ( hasActivePreview() )
|
||||
{
|
||||
{
|
||||
QMessageBox::information( NULL,
|
||||
tr( "Report File Change" ),
|
||||
tr( "The report file \"%1\" has changed names or been deleted.\n\nThis preview is no longer valid." ).arg( fileName )
|
||||
);
|
||||
|
||||
|
||||
clearReport();
|
||||
|
||||
|
||||
currentPreview->close();
|
||||
}
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -742,8 +742,8 @@ void ReportEnginePrivate::designReport(bool showModal)
|
||||
if (designerWindow){
|
||||
dataManager()->setDesignTime(true);
|
||||
connect(designerWindow, SIGNAL(destroyed(QObject*)), this, SLOT(slotDesignerWindowDestroyed(QObject*)));
|
||||
#ifdef Q_OS_WIN
|
||||
designerWindow->setWindowModality(Qt::ApplicationModal);
|
||||
#ifdef Q_OS_WIN
|
||||
designerWindow->setWindowModality(Qt::NonModal);
|
||||
#endif
|
||||
if (!showModal){
|
||||
designerWindow->show();;
|
||||
@ -856,7 +856,7 @@ bool ReportEnginePrivate::saveToFile(const QString &fileName)
|
||||
QScopedPointer< ItemsWriterIntf > writer(new XMLWriter());
|
||||
writer->setPassPhrase(m_passPhrase);
|
||||
writer->putItem(this);
|
||||
m_fileName=fn;
|
||||
m_fileName=fn;
|
||||
bool saved = writer->saveToFile(fn);
|
||||
|
||||
foreach (ConnectionDesc* connection, dataManager()->conections()) {
|
||||
@ -1419,7 +1419,7 @@ ReportEngine::ReportEngine(QObject *parent)
|
||||
connect(d, SIGNAL(loadFinished()), this, SIGNAL(loadFinished()));
|
||||
connect(d, SIGNAL(cleared()), this, SIGNAL(cleared()));
|
||||
connect(d, SIGNAL(printedToPDF(QString)), this, SIGNAL(printedToPDF(QString)));
|
||||
|
||||
|
||||
connect(d, SIGNAL(getAvailableDesignerLanguages(QList<QLocale::Language>*)),
|
||||
this, SIGNAL(getAvailableDesignerLanguages(QList<QLocale::Language>*)));
|
||||
connect(d, SIGNAL(currentDefaultDesignerLanguageChanged(QLocale::Language)),
|
||||
|
@ -53,8 +53,8 @@ Q_DECLARE_METATYPE(LimeReport::ScriptEngineManager *)
|
||||
#ifdef USE_QTSCRIPTENGINE
|
||||
QScriptValue constructColor(QScriptContext *context, QScriptEngine *engine)
|
||||
{
|
||||
QColor color(context->argument(0).toString());
|
||||
return engine->toScriptValue(color);
|
||||
QColor color(context->argument(0).toString());
|
||||
return engine->toScriptValue(color);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -71,7 +71,7 @@ ScriptEngineNode::~ScriptEngineNode()
|
||||
}
|
||||
|
||||
ScriptEngineNode*ScriptEngineNode::addChild(const QString& name, const QString& description,
|
||||
ScriptEngineNode::NodeType type, const QIcon& icon)
|
||||
ScriptEngineNode::NodeType type, const QIcon& icon)
|
||||
{
|
||||
ScriptEngineNode* res = new ScriptEngineNode(name, description, type,this,icon);
|
||||
m_childs.push_back(res);
|
||||
@ -218,12 +218,12 @@ ScriptEngineManager::~ScriptEngineManager()
|
||||
bool ScriptEngineManager::isFunctionExists(const QString &functionName) const
|
||||
{
|
||||
return m_functions.contains(functionName);
|
||||
// foreach (ScriptFunctionDesc desc, m_functions.values()) {
|
||||
// if (desc.name.compare(functionName,Qt::CaseInsensitive)==0){
|
||||
// return true;
|
||||
// }
|
||||
// }
|
||||
// return false;
|
||||
// foreach (ScriptFunctionDesc desc, m_functions.values()) {
|
||||
// if (desc.name.compare(functionName,Qt::CaseInsensitive)==0){
|
||||
// return true;
|
||||
// }
|
||||
// }
|
||||
// return false;
|
||||
}
|
||||
|
||||
void ScriptEngineManager::deleteFunction(const QString &functionsName)
|
||||
@ -244,7 +244,7 @@ bool ScriptEngineManager::addFunction(const JSFunctionDesc &functionDescriber)
|
||||
scriptEngine()->globalObject().setProperty(
|
||||
functionDescriber.managerName(),
|
||||
functionManager
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
if (functionManager.toQObject() == functionDescriber.manager()){
|
||||
@ -275,9 +275,9 @@ bool ScriptEngineManager::addFunction(const JSFunctionDesc &functionDescriber)
|
||||
Q_DECL_DEPRECATED
|
||||
#endif
|
||||
bool ScriptEngineManager::addFunction(const QString& name,
|
||||
QScriptEngine::FunctionSignature function,
|
||||
const QString& category,
|
||||
const QString& description)
|
||||
QScriptEngine::FunctionSignature function,
|
||||
const QString& category,
|
||||
const QString& description)
|
||||
{
|
||||
if (!isFunctionExists(name)){
|
||||
ScriptFunctionDesc funct;
|
||||
@ -310,7 +310,7 @@ bool ScriptEngineManager::addFunction(const QString& name, const QString& script
|
||||
funct.description = description;
|
||||
funct.type = ScriptFunctionDesc::Script;
|
||||
m_functions.insert(name, funct);
|
||||
m_model->updateModel();
|
||||
m_model->updateModel();
|
||||
return true;
|
||||
} else {
|
||||
m_lastError = functionValue.toString();
|
||||
@ -321,11 +321,11 @@ bool ScriptEngineManager::addFunction(const QString& name, const QString& script
|
||||
QStringList ScriptEngineManager::functionsNames()
|
||||
{
|
||||
return m_functions.keys();
|
||||
// QStringList res;
|
||||
// foreach(ScriptFunctionDesc func, m_functions){
|
||||
// res<<func.name;
|
||||
// }
|
||||
// return res;
|
||||
// QStringList res;
|
||||
// foreach(ScriptFunctionDesc func, m_functions){
|
||||
// res<<func.name;
|
||||
// }
|
||||
// return res;
|
||||
}
|
||||
|
||||
void ScriptEngineManager::setDataManager(DataSourceManager *dataManager){
|
||||
@ -334,18 +334,18 @@ void ScriptEngineManager::setDataManager(DataSourceManager *dataManager){
|
||||
if (m_dataManager){
|
||||
foreach(QString func, m_dataManager->groupFunctionNames()){
|
||||
JSFunctionDesc describer(
|
||||
func,
|
||||
tr("GROUP FUNCTIONS"),
|
||||
func+"(\""+tr("FieldName")+"\",\""+tr("BandName")+"\")",
|
||||
LimeReport::Const::FUNCTION_MANAGER_NAME,
|
||||
m_functionManager,
|
||||
QString("function %1(fieldName, bandName, pageitem){\
|
||||
if (typeof pageitem == 'undefined') return %2.calcGroupFunction(\"%1\", fieldName, bandName); \
|
||||
else return %2.calcGroupFunction(\"%1\", fieldName, bandName, pageitem);}"
|
||||
).arg(func)
|
||||
.arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
addFunction(describer);
|
||||
func,
|
||||
tr("GROUP FUNCTIONS"),
|
||||
func+"(\""+tr("FieldName")+"\",\""+tr("BandName")+"\")",
|
||||
LimeReport::Const::FUNCTION_MANAGER_NAME,
|
||||
m_functionManager,
|
||||
QString("function %1(fieldName, bandName, pageitem){\
|
||||
if (typeof pageitem == 'undefined') return %2.calcGroupFunction(\"%1\", fieldName, bandName); \
|
||||
else return %2.calcGroupFunction(\"%1\", fieldName, bandName, pageitem);}"
|
||||
).arg(func)
|
||||
.arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
addFunction(describer);
|
||||
}
|
||||
moveQObjectToScript(new DatasourceFunctions(dataManager), LimeReport::Const::DATAFUNCTIONS_MANAGER_NAME);
|
||||
}
|
||||
@ -368,13 +368,13 @@ QString ScriptEngineManager::expandUserVariables(QString context, RenderPass /*
|
||||
switch (expandType){
|
||||
case EscapeSymbols:
|
||||
context.replace(rx.cap(0),escapeSimbols(varValue.toString()));
|
||||
break;
|
||||
break;
|
||||
case NoEscapeSymbols:
|
||||
context.replace(rx.cap(0),varValue.toString());
|
||||
break;
|
||||
break;
|
||||
case ReplaceHTMLSymbols:
|
||||
context.replace(rx.cap(0),replaceHTMLSymbols(varValue.toString()));
|
||||
break;
|
||||
break;
|
||||
}
|
||||
pos=0;
|
||||
|
||||
@ -400,53 +400,53 @@ QString ScriptEngineManager::expandUserVariables(QString context, RenderPass /*
|
||||
#else
|
||||
QRegularExpression rx = getVariableRegEx();
|
||||
if (context.contains(rx)){
|
||||
int pos = 0;
|
||||
QRegularExpressionMatch match = rx.match(context, pos);
|
||||
while (match.hasMatch()){
|
||||
int pos = 0;
|
||||
QRegularExpressionMatch match = rx.match(context, pos);
|
||||
while (match.hasMatch()){
|
||||
|
||||
QString variable=match.captured(1);
|
||||
pos = match.capturedEnd();
|
||||
QString variable=match.captured(1);
|
||||
pos = match.capturedEnd();
|
||||
|
||||
if (dataManager()->containsVariable(variable) ){
|
||||
try {
|
||||
if (dataManager()->containsVariable(variable) ){
|
||||
try {
|
||||
|
||||
varValue = dataManager()->variable(variable);
|
||||
switch (expandType){
|
||||
case EscapeSymbols:
|
||||
context.replace(match.captured(0), escapeSimbols(varValue.toString()));
|
||||
break;
|
||||
case NoEscapeSymbols:
|
||||
context.replace(match.captured(0), varValue.toString());
|
||||
break;
|
||||
case ReplaceHTMLSymbols:
|
||||
context.replace(match.captured(0), replaceHTMLSymbols(varValue.toString()));
|
||||
break;
|
||||
}
|
||||
varValue = dataManager()->variable(variable);
|
||||
switch (expandType){
|
||||
case EscapeSymbols:
|
||||
context.replace(match.captured(0), escapeSimbols(varValue.toString()));
|
||||
break;
|
||||
case NoEscapeSymbols:
|
||||
context.replace(match.captured(0), varValue.toString());
|
||||
break;
|
||||
case ReplaceHTMLSymbols:
|
||||
context.replace(match.captured(0), replaceHTMLSymbols(varValue.toString()));
|
||||
break;
|
||||
}
|
||||
|
||||
pos = 0;
|
||||
pos = 0;
|
||||
|
||||
} catch (ReportError &e){
|
||||
dataManager()->putError(e.what());
|
||||
if (!dataManager()->reportSettings() || dataManager()->reportSettings()->suppressAbsentFieldsAndVarsWarnings())
|
||||
context.replace(match.captured(0), e.what());
|
||||
else
|
||||
context.replace(match.captured(0), "");
|
||||
}
|
||||
} else {
|
||||
} catch (ReportError &e){
|
||||
dataManager()->putError(e.what());
|
||||
if (!dataManager()->reportSettings() || dataManager()->reportSettings()->suppressAbsentFieldsAndVarsWarnings())
|
||||
context.replace(match.captured(0), e.what());
|
||||
else
|
||||
context.replace(match.captured(0), "");
|
||||
}
|
||||
} else {
|
||||
|
||||
QString error;
|
||||
error = tr("Variable %1 not found").arg(variable);
|
||||
dataManager()->putError(error);
|
||||
if (!dataManager()->reportSettings() || dataManager()->reportSettings()->suppressAbsentFieldsAndVarsWarnings())
|
||||
context.replace(match.captured(0), error);
|
||||
else
|
||||
context.replace(match.captured(0), "");
|
||||
}
|
||||
QString error;
|
||||
error = tr("Variable %1 not found").arg(variable);
|
||||
dataManager()->putError(error);
|
||||
if (!dataManager()->reportSettings() || dataManager()->reportSettings()->suppressAbsentFieldsAndVarsWarnings())
|
||||
context.replace(match.captured(0), error);
|
||||
else
|
||||
context.replace(match.captured(0), "");
|
||||
}
|
||||
|
||||
match = rx.match(context, pos);
|
||||
}
|
||||
}
|
||||
return context;
|
||||
match = rx.match(context, pos);
|
||||
}
|
||||
}
|
||||
return context;
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -707,9 +707,13 @@ int ScriptEngineManager::getPageFreeSpace(PageItemDesignIntf* page){
|
||||
if (page){
|
||||
int height = 0;
|
||||
foreach(BandDesignIntf* band, page->bands()){
|
||||
height += band->height();
|
||||
if(band->type() == BandDesignIntf::Data)
|
||||
{
|
||||
height += band->geometry().height() * m_dataManager->dataSource(band->datasourceName())->model()->rowCount();
|
||||
}
|
||||
else height += band->height();
|
||||
}
|
||||
return page->height() - height;
|
||||
return page->height() - height - (page->pageFooter()?page->pageFooter()->height() : 0);
|
||||
} else return -1;
|
||||
}
|
||||
|
||||
@ -730,7 +734,7 @@ void ScriptEngineManager::clearTableOfContents(){
|
||||
}
|
||||
|
||||
ScriptValueType ScriptEngineManager::moveQObjectToScript(QObject* object, const QString objectName)
|
||||
{
|
||||
{
|
||||
ScriptValueType obj = scriptEngine()->globalObject().property(objectName);
|
||||
if (!obj.isNull()) delete obj.toQObject();
|
||||
ScriptValueType result = scriptEngine()->newQObject(object);
|
||||
@ -775,7 +779,7 @@ bool ScriptEngineManager::createNumberFomatFunction()
|
||||
" if(typeof(precision)==='undefined') precision=2; "
|
||||
" if(typeof(locale)==='undefined') locale=\"\"; "
|
||||
"return %1.numberFormat(value,format,precision,locale);}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
@ -791,7 +795,7 @@ bool ScriptEngineManager::createDateFormatFunction(){
|
||||
fd.setScriptWrapper(QString("function dateFormat(value, format, locale){"
|
||||
" if(typeof(format)==='undefined') format = \"dd.MM.yyyy\"; "
|
||||
"return %1.dateFormat(value,format, locale);}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
@ -807,7 +811,7 @@ bool ScriptEngineManager::createTimeFormatFunction(){
|
||||
fd.setScriptWrapper(QString("function timeFormat(value, format){"
|
||||
" if(typeof(format)==='undefined') format = \"hh:mm\"; "
|
||||
"return %1.timeFormat(value,format);}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
@ -823,7 +827,7 @@ bool ScriptEngineManager::createDateTimeFormatFunction(){
|
||||
fd.setScriptWrapper(QString("function dateTimeFormat(value, format, locale){"
|
||||
" if(typeof(format)==='undefined') format = \"dd.MM.yyyy hh:mm\"; "
|
||||
"return %1.dateTimeFormat(value, format, locale);}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
@ -840,13 +844,13 @@ bool ScriptEngineManager::createSectotimeFormatFunction()
|
||||
fd.setScriptWrapper(QString("function sectotimeFormat(value, format){"
|
||||
" if(typeof(format)==='undefined') format = \"hh:mm:ss\"; "
|
||||
"return %1.sectotimeFormat(value,format);}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
|
||||
bool ScriptEngineManager::createDateFunction(){
|
||||
// addFunction("date",date,"DATE&TIME","date()");
|
||||
// addFunction("date",date,"DATE&TIME","date()");
|
||||
JSFunctionDesc fd;
|
||||
|
||||
fd.setManager(m_functionManager);
|
||||
@ -856,14 +860,14 @@ bool ScriptEngineManager::createDateFunction(){
|
||||
fd.setDescription("date()");
|
||||
fd.setScriptWrapper(QString("function date(){"
|
||||
"return %1.date();}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
|
||||
|
||||
bool ScriptEngineManager::createNowFunction(){
|
||||
// addFunction("now",now,"DATE&TIME","now()");
|
||||
// addFunction("now",now,"DATE&TIME","now()");
|
||||
JSFunctionDesc fd;
|
||||
|
||||
fd.setManager(m_functionManager);
|
||||
@ -873,13 +877,13 @@ bool ScriptEngineManager::createNowFunction(){
|
||||
fd.setDescription("now()");
|
||||
fd.setScriptWrapper(QString("function now(){"
|
||||
"return %1.now();}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
|
||||
bool ScriptEngineManager::createCurrencyFormatFunction(){
|
||||
// addFunction("currencyFormat",currencyFormat,"NUMBER","currencyFormat(\""+tr("Value")+"\",\""+tr("Locale")+"\")");
|
||||
// addFunction("currencyFormat",currencyFormat,"NUMBER","currencyFormat(\""+tr("Value")+"\",\""+tr("Locale")+"\")");
|
||||
JSFunctionDesc fd;
|
||||
|
||||
fd.setManager(m_functionManager);
|
||||
@ -890,13 +894,13 @@ bool ScriptEngineManager::createCurrencyFormatFunction(){
|
||||
fd.setScriptWrapper(QString("function currencyFormat(value, locale){"
|
||||
" if(typeof(locale)==='undefined') locale = \"\"; "
|
||||
"return %1.currencyFormat(value,locale);}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
|
||||
bool ScriptEngineManager::createCurrencyUSBasedFormatFunction(){
|
||||
// addFunction("currencyUSBasedFormat",currencyUSBasedFormat,"NUMBER","currencyUSBasedFormat(\""+tr("Value")+",\""+tr("CurrencySymbol")+"\")");
|
||||
// addFunction("currencyUSBasedFormat",currencyUSBasedFormat,"NUMBER","currencyUSBasedFormat(\""+tr("Value")+",\""+tr("CurrencySymbol")+"\")");
|
||||
JSFunctionDesc fd;
|
||||
|
||||
fd.setManager(m_functionManager);
|
||||
@ -907,13 +911,13 @@ bool ScriptEngineManager::createCurrencyUSBasedFormatFunction(){
|
||||
fd.setScriptWrapper(QString("function currencyUSBasedFormat(value, currencySymbol){"
|
||||
" if(typeof(currencySymbol)==='undefined') currencySymbol = \"\"; "
|
||||
"return %1.currencyUSBasedFormat(value,currencySymbol);}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
|
||||
bool ScriptEngineManager::createSetVariableFunction(){
|
||||
// addFunction("setVariable", setVariable, "GENERAL", "setVariable(\""+tr("Name")+"\",\""+tr("Value")+"\")");
|
||||
// addFunction("setVariable", setVariable, "GENERAL", "setVariable(\""+tr("Name")+"\",\""+tr("Value")+"\")");
|
||||
JSFunctionDesc fd;
|
||||
|
||||
fd.setManager(m_functionManager);
|
||||
@ -923,7 +927,7 @@ bool ScriptEngineManager::createSetVariableFunction(){
|
||||
fd.setDescription("setVariable(\""+tr("Name")+"\",\""+tr("Value")+"\")");
|
||||
fd.setScriptWrapper(QString("function setVariable(name, value){"
|
||||
"return %1.setVariable(name,value);}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
@ -938,7 +942,7 @@ bool ScriptEngineManager::createGetVariableFunction()
|
||||
fd.setDescription("getVariable(\""+tr("Name")+"\")");
|
||||
fd.setScriptWrapper(QString("function getVariable(name){"
|
||||
"return %1.getVariable(name);}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
@ -953,7 +957,7 @@ bool ScriptEngineManager::createGetFieldFunction()
|
||||
fd.setDescription("getField(\""+tr("Name")+"\")");
|
||||
fd.setScriptWrapper(QString("function getField(name){"
|
||||
"return %1.getField(name);}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
@ -969,10 +973,10 @@ bool ScriptEngineManager::createGetFieldByKeyFunction()
|
||||
tr("ValueField")+"\",\""+
|
||||
tr("KeyField")+"\", \""+
|
||||
tr("KeyFieldValue")+"\")"
|
||||
);
|
||||
);
|
||||
fd.setScriptWrapper(QString("function getFieldByKeyField(datasource, valueFieldName, keyFieldName, keyValue){"
|
||||
"return %1.getFieldByKeyField(datasource, valueFieldName, keyFieldName, keyValue);}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
@ -986,10 +990,10 @@ bool ScriptEngineManager::createGetFieldByRowIndex()
|
||||
fd.setName("getFieldByRowIndex");
|
||||
fd.setDescription("getFieldByRowIndex(\""+tr("FieldName")+"\", \""+
|
||||
tr("RowIndex")+"\")"
|
||||
);
|
||||
);
|
||||
fd.setScriptWrapper(QString("function getFieldByRowIndex(fieldName, rowIndex){"
|
||||
"return %1.getFieldByRowIndex(fieldName, rowIndex);}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
@ -1004,7 +1008,7 @@ bool ScriptEngineManager::createAddBookmarkFunction()
|
||||
fd.setDescription("addBookmark(\""+tr("Unique identifier")+" \""+tr("Content")+"\")");
|
||||
fd.setScriptWrapper(QString("function addBookmark(uniqKey, content){"
|
||||
"return %1.addBookmark(uniqKey, content);}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
@ -1019,7 +1023,7 @@ bool ScriptEngineManager::createFindPageIndexByBookmark()
|
||||
fd.setDescription("findPageIndexByBookmark(\""+tr("Unique identifier")+"\")");
|
||||
fd.setScriptWrapper(QString("function findPageIndexByBookmark(uniqKey){"
|
||||
"return %1.findPageIndexByBookmark(uniqKey);}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
@ -1034,7 +1038,7 @@ bool ScriptEngineManager::createAddTableOfContentsItemFunction()
|
||||
fd.setDescription("addTableOfContentsItem(\""+tr("Unique identifier")+" \""+tr("Content")+"\", \""+tr("Indent")+"\")");
|
||||
fd.setScriptWrapper(QString("function addTableOfContentsItem(uniqKey, content, indent){"
|
||||
"return %1.addTableOfContentsItem(uniqKey, content, indent);}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
@ -1049,7 +1053,7 @@ bool ScriptEngineManager::createClearTableOfContentsFunction()
|
||||
fd.setDescription("clearTableOfContents()");
|
||||
fd.setScriptWrapper(QString("function clearTableOfContents(){"
|
||||
"return %1.clearTableOfContents();}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
@ -1064,7 +1068,7 @@ bool ScriptEngineManager::createReopenDatasourceFunction()
|
||||
fd.setDescription("reopenDatasource(\""+tr("datasourceName")+"\")");
|
||||
fd.setScriptWrapper(QString("function reopenDatasource(datasourceName){"
|
||||
"return %1.reopenDatasource(datasourceName);}"
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
).arg(LimeReport::Const::FUNCTION_MANAGER_NAME)
|
||||
);
|
||||
return addFunction(fd);
|
||||
}
|
||||
@ -1077,7 +1081,7 @@ ScriptEngineManager::ScriptEngineManager()
|
||||
m_functionManager->setScriptEngineManager(this);
|
||||
#ifdef USE_QTSCRIPTENGINE
|
||||
m_scriptEngine->setDefaultPrototype(qMetaTypeId<QComboBox*>(),
|
||||
m_scriptEngine->newQObject(new ComboBoxPrototype()));
|
||||
m_scriptEngine->newQObject(new ComboBoxPrototype()));
|
||||
#endif
|
||||
createLineFunction();
|
||||
createNumberFomatFunction();
|
||||
@ -1130,7 +1134,7 @@ bool ScriptExtractor::parse(int &curPos, const State& state, ScriptNode::Ptr scr
|
||||
return true;
|
||||
} else {
|
||||
if (m_context[curPos]=='{')
|
||||
extractBracket(curPos, scriptNode);
|
||||
extractBracket(curPos, scriptNode);
|
||||
}
|
||||
case None:
|
||||
if (m_context[curPos]=='$'){
|
||||
@ -1439,6 +1443,8 @@ DialogDescriber* ScriptEngineContext::findDialogContainer(const QString& dialogN
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
TableOfContents* ScriptEngineContext::tableOfContents() const
|
||||
{
|
||||
return m_tableOfContents;
|
||||
@ -1470,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);
|
||||
@ -1535,16 +1543,16 @@ void ScriptEngineContext::qobjectToScript(const QString& name, QObject *item)
|
||||
{
|
||||
ScriptEngineType* engine = ScriptEngineManager::instance().scriptEngine();
|
||||
#ifdef USE_QJSENGINE
|
||||
ScriptValueType sItem = getJSValue(*engine, item);
|
||||
engine->globalObject().setProperty(name, sItem);
|
||||
ScriptValueType sItem = getJSValue(*engine, item);
|
||||
engine->globalObject().setProperty(name, sItem);
|
||||
#else
|
||||
ScriptValueType sItem = engine->globalObject().property(name);
|
||||
if (sItem.isValid()){
|
||||
engine->newQObject(sItem, item);
|
||||
} else {
|
||||
sItem = engine->newQObject(item);
|
||||
engine->globalObject().setProperty(name,sItem);
|
||||
}
|
||||
ScriptValueType sItem = engine->globalObject().property(name);
|
||||
if (sItem.isValid()){
|
||||
engine->newQObject(sItem, item);
|
||||
} else {
|
||||
sItem = engine->newQObject(item);
|
||||
engine->globalObject().setProperty(name,sItem);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -1587,17 +1595,17 @@ bool ScriptEngineContext::runInitScript(){
|
||||
#ifdef USE_QJSENGINE
|
||||
if (res.isError()){
|
||||
QMessageBox::critical(0,tr("Error"),
|
||||
QString("Line %1: %2 ").arg(res.property("lineNumber").toString())
|
||||
.arg(res.toString())
|
||||
);
|
||||
QString("Line %1: %2 ").arg(res.property("lineNumber").toString())
|
||||
.arg(res.toString())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
#else
|
||||
if (engine->hasUncaughtException()) {
|
||||
QMessageBox::critical(0,tr("Error"),
|
||||
QString("Line %1: %2 ").arg(engine->uncaughtExceptionLineNumber())
|
||||
.arg(engine->uncaughtException().toString())
|
||||
);
|
||||
QString("Line %1: %2 ").arg(engine->uncaughtExceptionLineNumber())
|
||||
.arg(engine->uncaughtException().toString())
|
||||
);
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
@ -1999,28 +2007,28 @@ void TableOfContents::slotOneSlotDS(CallbackInfo info, QVariant& data)
|
||||
columns << "Content" << "Page number" << "Content Key";
|
||||
|
||||
switch (info.dataType) {
|
||||
case LimeReport::CallbackInfo::RowCount:
|
||||
data = m_tableOfContents.count();
|
||||
break;
|
||||
case LimeReport::CallbackInfo::ColumnCount:
|
||||
data = columns.size();
|
||||
break;
|
||||
case LimeReport::CallbackInfo::ColumnHeaderData: {
|
||||
data = columns.at(info.index);
|
||||
break;
|
||||
case LimeReport::CallbackInfo::RowCount:
|
||||
data = m_tableOfContents.count();
|
||||
break;
|
||||
case LimeReport::CallbackInfo::ColumnCount:
|
||||
data = columns.size();
|
||||
break;
|
||||
case LimeReport::CallbackInfo::ColumnHeaderData: {
|
||||
data = columns.at(info.index);
|
||||
break;
|
||||
}
|
||||
case LimeReport::CallbackInfo::ColumnData:
|
||||
if (info.index < m_tableOfContents.count()){
|
||||
ContentItem* item = m_tableOfContents.at(info.index);
|
||||
if (info.columnName.compare("Content",Qt::CaseInsensitive) == 0)
|
||||
data = item->content.rightJustified(item->indent+item->content.size());
|
||||
if (info.columnName.compare("Content Key",Qt::CaseInsensitive) == 0)
|
||||
data = item->uniqKey;
|
||||
if (info.columnName.compare("Page number",Qt::CaseInsensitive) == 0)
|
||||
data = QString::number(item->pageNumber);
|
||||
}
|
||||
case LimeReport::CallbackInfo::ColumnData:
|
||||
if (info.index < m_tableOfContents.count()){
|
||||
ContentItem* item = m_tableOfContents.at(info.index);
|
||||
if (info.columnName.compare("Content",Qt::CaseInsensitive) == 0)
|
||||
data = item->content.rightJustified(item->indent+item->content.size());
|
||||
if (info.columnName.compare("Content Key",Qt::CaseInsensitive) == 0)
|
||||
data = item->uniqKey;
|
||||
if (info.columnName.compare("Page number",Qt::CaseInsensitive) == 0)
|
||||
data = QString::number(item->pageNumber);
|
||||
}
|
||||
break;
|
||||
default: break;
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2072,6 +2080,13 @@ bool DatasourceFunctions::isEOF(const QString &datasourceName)
|
||||
return true;
|
||||
}
|
||||
|
||||
int DatasourceFunctions::rowCount(const QString &datasourceName)
|
||||
{
|
||||
if (m_dataManager && m_dataManager->dataSource(datasourceName))
|
||||
return m_dataManager->dataSource(datasourceName)->model()->rowCount();
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool DatasourceFunctions::invalidate(const QString& datasourceName)
|
||||
{
|
||||
if (m_dataManager && m_dataManager->dataSource(datasourceName)){
|
||||
|
@ -209,7 +209,7 @@ public:
|
||||
bool hasChanges(){ return m_hasChanges;}
|
||||
ReportPages* reportPages() const;
|
||||
void setReportPages(ReportPages* value);
|
||||
#ifdef HAVE_UI_LOADER
|
||||
#ifdef HAVE_UI_LOADER
|
||||
signals:
|
||||
void dialogNameChanged(QString dialogName);
|
||||
void dialogDeleted(QString dialogName);
|
||||
@ -337,6 +337,7 @@ public:
|
||||
Q_INVOKABLE bool next(const QString& datasourceName);
|
||||
Q_INVOKABLE bool prior(const QString& datasourceName);
|
||||
Q_INVOKABLE bool isEOF(const QString& datasourceName);
|
||||
Q_INVOKABLE int rowCount(const QString& datasourceName);
|
||||
Q_INVOKABLE bool invalidate(const QString& datasourceName);
|
||||
Q_INVOKABLE QObject *createTableBuilder(QObject *horizontalLayout);
|
||||
private:
|
||||
@ -445,7 +446,7 @@ private:
|
||||
};
|
||||
|
||||
class ScriptEngineManager : public QObject, public Singleton<ScriptEngineManager>, public IScriptEngineManager
|
||||
{
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
friend class Singleton<ScriptEngineManager>;
|
||||
|
@ -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;
|
||||
|
@ -8,6 +8,49 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartAxisEditor</name>
|
||||
<message>
|
||||
<source>Axis editor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reverse direction</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable scale calculation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatic</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">إلغاء الأمر</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ok</source>
|
||||
<translation type="unfinished">موافق</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartItemEditor</name>
|
||||
<message>
|
||||
@ -54,6 +97,10 @@
|
||||
<source>Series name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X data field</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageItemEditor</name>
|
||||
@ -156,22 +203,6 @@ p, li { white-space: pre-wrap; }
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Report engine for </span><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;"> framework</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - multi-platform C++ library written using Qt framework and intended for software developers that would like to add into their application capability to form report or print forms generated using templates.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Official web site : </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Copyright 2015 Arin Alexander. All rights reserved.</span></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(c) 2015 Arin Alexander arin_a@bk.ru</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="SEC1"></a><span style=" font-family:'sans-serif'; font-weight:600;">G</span><span style=" font-family:'sans-serif'; font-weight:600;">NU LESSER GENERAL PUBLIC LICENSE</span></p>
|
||||
@ -284,6 +315,22 @@ p, li { white-space: pre-wrap; }
|
||||
<p style=" margin-top:19px; margin-bottom:19px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'sans-serif';">That's all there is to it!</span></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Report engine for </span><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;"> framework</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - multi-platform C++ library written using Qt framework and intended for software developers that would like to add into their application capability to form report or print forms generated using templates.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Official web site : </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Copyright 2021 Arin Alexander. All rights reserved.</span></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::AlignmentPropItem</name>
|
||||
@ -457,6 +504,21 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Create Vertical Layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit borders...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::BorderFrameEditor</name>
|
||||
<message>
|
||||
<source>BorderFrameEditor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::ConnectionDesc</name>
|
||||
@ -1241,6 +1303,10 @@ p, li { white-space: pre-wrap; }
|
||||
<source>All borders</source>
|
||||
<translation>محاط بإطار</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::MasterDetailProxyModel</name>
|
||||
@ -1289,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>
|
||||
@ -1333,6 +1486,14 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Set page size to printer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mix with prior page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished">تحرير</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::PreviewReportWidget</name>
|
||||
@ -2029,6 +2190,38 @@ p, li { white-space: pre-wrap; }
|
||||
<source>removeGap</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>xAxisField</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>seriesLineWidth</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>drawPoints</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>dropPrinterMargins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>notPrintIfEmpty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>gridChartLines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>horizontalAxisOnTop</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>mixWithPriorPage</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::RectPropItem</name>
|
||||
@ -2933,10 +3126,6 @@ This preview is no longer valid.</source>
|
||||
<source>Ctrl+Return</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::TranslationEditor</name>
|
||||
@ -3274,5 +3463,25 @@ This preview is no longer valid.</source>
|
||||
<source>Series</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
@ -8,6 +8,49 @@
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartAxisEditor</name>
|
||||
<message>
|
||||
<source>Axis editor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reverse direction</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable scale calculation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatic</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Cancelar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ok</source>
|
||||
<translation type="unfinished">Aceptar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartItemEditor</name>
|
||||
<message>
|
||||
@ -54,6 +97,10 @@
|
||||
<source>Series name</source>
|
||||
<translation>Nombre de la Serie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X data field</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageItemEditor</name>
|
||||
@ -156,34 +203,6 @@ p, li { white-space: pre-wrap; }
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Report engine for </span><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;"> framework</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - multi-platform C++ library written using Qt framework and intended for software developers that would like to add into their application capability to form report or print forms generated using templates.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Official web site : </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Copyright 2015 Arin Alexander. All rights reserved.</span></p></body></html></source>
|
||||
<translation><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Motor de informes para el entorno de trabajo de </span> <span style = "font-size: 12pt; font-weight: 600; color: # 7faa18;"> Qt </span> <span style = "font-size: 12pt; font-weight : 600; "></span> </p>
|
||||
<p align = "justify" style = "margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;" > <span style = "font-size: 11pt;"> LimeReport es una biblioteca de C ++ multiplataforma escrita para el entorno de trabajo de Qt y diseñada para desarrolladores de software que deseen agregar en su aplicación la capacidad para crear informes o imprimir formularios generados mediante plantillas. < / span> </p>
|
||||
<p align = "justify" style = "- qt -agraph-type: empty; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px; font-size: 11pt; "> <br /> </p>
|
||||
<p align = "justify" style = "- qt -agraph-type: empty; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px; font-size: 11pt; "> <br /> </p>
|
||||
<p align = "justify" style = "margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;" > <span style = "font-size: 11pt;"> Sitio web oficial: </span> <a href="www.limereport.ru"> <span style = "font-size: 11pt; text-decoration: underline ; color: # 0000ff; "> www.limereport.ru </span> </a> </p>
|
||||
<p align = "justify" style = "- qt -agraph-type: empty; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; texto-sangría: 0px; fuente-tamaño: 11 puntos; texto-decoración: subrayado; color: # 0000ff; "> <br /> </p>
|
||||
<p align = "justify" style = "margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;" > <span style = "font-size: 10pt; font-weight: 600;"> Esta biblioteca se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; sin ni siquiera la garantía implícita de COMERCIABILIDAD o APTITUD PARA UN PROPÓSITO PARTICULAR. </span> </p>
|
||||
<p align = "justify" style = "- qt -agraph-type: empty; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px; font-size: 10pt; font-weight: 600; color: # 000000; "> <br /> </p>
|
||||
<p align = "justify" style = "margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;" > <span style = "font-size: 10pt;">Derechos reservados 2015 Arin Alexander. Todos los derechos reservados.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(c) 2015 Arin Alexander arin_a@bk.ru</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="SEC1"></a><span style=" font-family:'sans-serif'; font-weight:600;">G</span><span style=" font-family:'sans-serif'; font-weight:600;">NU LESSER GENERAL PUBLIC LICENSE</span></p>
|
||||
@ -412,6 +431,34 @@ p, li { white-space: pre-wrap; }
|
||||
<p style = "margin-top: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;"> <span style = "font-family: 'monospace';"> Ty Coon, Presidente de Vice </span> </p>
|
||||
<p style = "margin-top: 19px; margin-bottom: 19px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;"> <span style = "font-family: 'sans-serif';"> ¡Eso es todo!</span></p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Report engine for </span><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;"> framework</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - multi-platform C++ library written using Qt framework and intended for software developers that would like to add into their application capability to form report or print forms generated using templates.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Official web site : </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Copyright 2021 Arin Alexander. All rights reserved.</span></p></body></html></source>
|
||||
<translation type="unfinished"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Motor de informes para el entorno de trabajo de </span> <span style = "font-size: 12pt; font-weight: 600; color: # 7faa18;"> Qt </span> <span style = "font-size: 12pt; font-weight : 600; "></span> </p>
|
||||
<p align = "justify" style = "margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;" > <span style = "font-size: 11pt;"> LimeReport es una biblioteca de C ++ multiplataforma escrita para el entorno de trabajo de Qt y diseñada para desarrolladores de software que deseen agregar en su aplicación la capacidad para crear informes o imprimir formularios generados mediante plantillas. < / span> </p>
|
||||
<p align = "justify" style = "- qt -agraph-type: empty; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px; font-size: 11pt; "> <br /> </p>
|
||||
<p align = "justify" style = "- qt -agraph-type: empty; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px; font-size: 11pt; "> <br /> </p>
|
||||
<p align = "justify" style = "margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;" > <span style = "font-size: 11pt;"> Sitio web oficial: </span> <a href="www.limereport.ru"> <span style = "font-size: 11pt; text-decoration: underline ; color: # 0000ff; "> www.limereport.ru </span> </a> </p>
|
||||
<p align = "justify" style = "- qt -agraph-type: empty; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; texto-sangría: 0px; fuente-tamaño: 11 puntos; texto-decoración: subrayado; color: # 0000ff; "> <br /> </p>
|
||||
<p align = "justify" style = "margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;" > <span style = "font-size: 10pt; font-weight: 600;"> Esta biblioteca se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; sin ni siquiera la garantía implícita de COMERCIABILIDAD o APTITUD PARA UN PROPÓSITO PARTICULAR. </span> </p>
|
||||
<p align = "justify" style = "- qt -agraph-type: empty; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px; font-size: 10pt; font-weight: 600; color: # 000000; "> <br /> </p>
|
||||
<p align = "justify" style = "margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-block-indent: 0; text-indent: 0px;" > <span style = "font-size: 10pt;">Derechos reservados 2015 Arin Alexander. Todos los derechos reservados. {3C?} {4.0/?} {3.?} {40/?} {1"?} {9p?} {400;?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {100.?} {100"?} {12p?} {600;?} {12p?} {600;?} {7f?} {18;?} {12p?} {600;?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {11p?} {0000f?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {0000f?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {10p?} {600;?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {10p?} {600;?} {000000;?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {10p?} {2021 ?}</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::AlignmentPropItem</name>
|
||||
@ -585,6 +632,22 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Lock item geometry</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit borders...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
||||
<name>LimeReport::BorderFrameEditor</name>
|
||||
<message>
|
||||
<source>BorderFrameEditor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::ConnectionDesc</name>
|
||||
@ -1369,6 +1432,10 @@ p, li { white-space: pre-wrap; }
|
||||
<source>All borders</source>
|
||||
<translation>Todos los bordes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::MasterDetailProxyModel</name>
|
||||
@ -1417,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>
|
||||
@ -1461,6 +1615,14 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Set page size to printer</source>
|
||||
<translation>Establecer el tamaño de página a la impresora</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mix with prior page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished">Editar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::PreviewReportWidget</name>
|
||||
@ -2157,6 +2319,38 @@ p, li { white-space: pre-wrap; }
|
||||
<source>removeGap</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>xAxisField</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>seriesLineWidth</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>drawPoints</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>dropPrinterMargins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>notPrintIfEmpty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>gridChartLines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>horizontalAxisOnTop</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>mixWithPriorPage</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::RectPropItem</name>
|
||||
@ -3063,10 +3257,6 @@ Esta vista previa ya no es válida.</translation>
|
||||
<source>Ctrl+Return</source>
|
||||
<translation>Ctrl+Intro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::TranslationEditor</name>
|
||||
@ -3404,5 +3594,25 @@ Esta vista previa ya no es válida.</translation>
|
||||
<source>Series</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -8,6 +8,49 @@
|
||||
<translation>$ClassName$</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartAxisEditor</name>
|
||||
<message>
|
||||
<source>Axis editor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reverse direction</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable scale calculation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatic</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Отмена</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ok</source>
|
||||
<translation type="unfinished">Ок</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartItemEditor</name>
|
||||
<message>
|
||||
@ -54,6 +97,10 @@
|
||||
<source>Series name</source>
|
||||
<translation>Название ряда</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X data field</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageItemEditor</name>
|
||||
@ -161,22 +208,6 @@ p, li { white-space: pre-wrap; }
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Report engine for </span><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;"> framework</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - multi-platform C++ library written using Qt framework and intended for software developers that would like to add into their application capability to form report or print forms generated using templates.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Official web site : </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Copyright 2015 Arin Alexander. All rights reserved.</span></p></body></html></source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(c) 2015 Arin Alexander arin_a@bk.ru</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a name="SEC1"></a><span style=" font-family:'sans-serif'; font-weight:600;">G</span><span style=" font-family:'sans-serif'; font-weight:600;">NU LESSER GENERAL PUBLIC LICENSE</span></p>
|
||||
@ -289,6 +320,22 @@ p, li { white-space: pre-wrap; }
|
||||
<p style=" margin-top:19px; margin-bottom:19px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'sans-serif';">That's all there is to it!</span></p></body></html></source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Report engine for </span><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;"> framework</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - multi-platform C++ library written using Qt framework and intended for software developers that would like to add into their application capability to form report or print forms generated using templates.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Official web site : </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Copyright 2021 Arin Alexander. All rights reserved.</span></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::AlignmentPropItem</name>
|
||||
@ -462,6 +509,22 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Lock item geometry</source>
|
||||
<translation>Заблокировать геометрию элемента</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit borders...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
||||
<name>LimeReport::BorderFrameEditor</name>
|
||||
<message>
|
||||
<source>BorderFrameEditor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::ConnectionDesc</name>
|
||||
@ -1246,6 +1309,10 @@ p, li { white-space: pre-wrap; }
|
||||
<source>All borders</source>
|
||||
<translation>Все границы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::MasterDetailProxyModel</name>
|
||||
@ -1294,6 +1361,93 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Экспортировать в 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">Формат</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>
|
||||
@ -1342,6 +1496,10 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Mix with prior page</source>
|
||||
<translation>Смешивать с предыдущей страницей</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished">Правка</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::PreviewReportWidget</name>
|
||||
@ -2050,6 +2208,26 @@ p, li { white-space: pre-wrap; }
|
||||
<source>mixWithPriorPage</source>
|
||||
<translation>Смешивать с предыдущей сраницей</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>xAxisField</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>seriesLineWidth</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>drawPoints</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>gridChartLines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>horizontalAxisOnTop</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::RectPropItem</name>
|
||||
@ -2954,10 +3132,6 @@ This preview is no longer valid.</source>
|
||||
<source>Ctrl+Return</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::TranslationEditor</name>
|
||||
@ -3295,5 +3469,25 @@ This preview is no longer valid.</source>
|
||||
<source>SVG Item</source>
|
||||
<translation>Элемент SVG избражение</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
@ -8,6 +8,49 @@
|
||||
<translation>$ClassName$</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartAxisEditor</name>
|
||||
<message>
|
||||
<source>Axis editor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reverse direction</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable scale calculation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatic</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">取消</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ok</source>
|
||||
<translation type="unfinished">确定</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChartItemEditor</name>
|
||||
<message>
|
||||
@ -54,6 +97,10 @@
|
||||
<source>Series name</source>
|
||||
<translation>系列名称</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X data field</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImageItemEditor</name>
|
||||
@ -126,34 +173,6 @@
|
||||
<source>Lime Report</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Report engine for </span><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;"> framework</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - multi-platform C++ library written using Qt framework and intended for software developers that would like to add into their application capability to form report or print forms generated using templates.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Official web site : </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Copyright 2015 Arin Alexander. All rights reserved.</span></p></body></html></source>
|
||||
<translation><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;">报表引擎</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - QT框架多平台C++库,帮助开发者给应用增加基于模板生成报表及打印报表功能。</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">官方网站: </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">该库基于提供帮助目的发布,但不提供任何担保,不以任何形式提供其适销性或适用于某一特定用途的默示保证。</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">版权 2015 Arin Alexander.所有权利保留.</span></p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Author</source>
|
||||
<translation>作者</translation>
|
||||
@ -296,6 +315,34 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Version 1.1.1</source>
|
||||
<translation>版本 1.1.1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600;">Report engine for </span><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;"> framework</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - multi-platform C++ library written using Qt framework and intended for software developers that would like to add into their application capability to form report or print forms generated using templates.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Official web site : </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Copyright 2021 Arin Alexander. All rights reserved.</span></p></body></html></source>
|
||||
<translation type="unfinished"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/report/images/logo_100.png" height="100" style="float: left;" /><span style=" font-size:12pt; font-weight:600; color:#7faa18;">Qt</span><span style=" font-size:12pt; font-weight:600;">报表引擎</span></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">LimeReport - QT框架多平台C++库,帮助开发者给应用增加基于模板生成报表及打印报表功能。</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">官方网站: </span><a href="www.limereport.ru"><span style=" font-size:11pt; text-decoration: underline; color:#0000ff;">www.limereport.ru</span></a></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; text-decoration: underline; color:#0000ff;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">该库基于提供帮助目的发布,但不提供任何担保,不以任何形式提供其适销性或适用于某一特定用途的默示保证。</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">版权 2015 Arin Alexander.所有权利保留.</span></p></body></html> {3C?} {4.0/?} {3.?} {40/?} {1"?} {9p?} {400;?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {100.?} {100"?} {12p?} {600;?} {12p?} {600;?} {7f?} {18;?} {12p?} {600;?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {11p?} {0000f?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {11p?} {0000f?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {10p?} {600;?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {10p?} {600;?} {000000;?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {10p?} {2021 ?}</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::AlignmentPropItem</name>
|
||||
@ -469,6 +516,22 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Create Vertical Layout</source>
|
||||
<translation>创建水平布局</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit borders...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
||||
<name>LimeReport::BorderFrameEditor</name>
|
||||
<message>
|
||||
<source>BorderFrameEditor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::ConnectionDesc</name>
|
||||
@ -1253,6 +1316,10 @@ p, li { white-space: pre-wrap; }
|
||||
<source>All borders</source>
|
||||
<translation>所有边框</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit border</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::MasterDetailProxyModel</name>
|
||||
@ -1301,6 +1368,93 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>导出为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">格式</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>
|
||||
@ -1345,6 +1499,14 @@ p, li { white-space: pre-wrap; }
|
||||
<source>Set page size to printer</source>
|
||||
<translation>适合打印机纸张大小</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mix with prior page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished">编辑</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::PreviewReportWidget</name>
|
||||
@ -2041,6 +2203,38 @@ p, li { white-space: pre-wrap; }
|
||||
<source>removeGap</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>xAxisField</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>seriesLineWidth</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>drawPoints</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>dropPrinterMargins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>notPrintIfEmpty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>gridChartLines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>horizontalAxisOnTop</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>mixWithPriorPage</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::RectPropItem</name>
|
||||
@ -2947,10 +3141,6 @@ This preview is no longer valid.</source>
|
||||
<source>Cancel</source>
|
||||
<translation>取消</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::TranslationEditor</name>
|
||||
@ -3288,5 +3478,25 @@ This preview is no longer valid.</source>
|
||||
<source>Series</source>
|
||||
<translation type="unfinished">数据系列</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
Loading…
Reference in New Issue
Block a user