KD Reports API Documentation  2.1
KDReportsMainTable.cpp
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** This file is part of the KD Reports library.
4 **
5 ** SPDX-FileCopyrightText: 2007-2022 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
6 **
7 ** SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDAB-KDReports OR LicenseRef-KDAB-KDReports-US
8 **
9 ** Licensees holding valid commercial KD Reports licenses may use this file in
10 ** accordance with the KD Reports Commercial License Agreement provided with
11 ** the Software.
12 **
13 ** Contact info@kdab.com if any conditions of this licensing are not clear to you.
14 **
15 ****************************************************************************/
16 
17 #include "KDReportsMainTable.h"
20 #include <QDebug>
21 
22 class KDReports::MainTablePrivate
23 {
24 public:
25  MainTablePrivate()
26  : m_element(nullptr)
27  , m_layout(nullptr)
28  {
29  }
30  AutoTableElement *m_element;
31  SpreadsheetReportLayout *m_layout;
32 };
33 
34 KDReports::MainTable::MainTable()
35  : d(new MainTablePrivate)
36 {
37 }
38 
39 KDReports::MainTable::~MainTable()
40 {
41  delete d->m_element;
42 }
43 
45 {
46  delete d->m_element;
47  d->m_element = new AutoTableElement(element);
48 
49  d->m_layout->setModel(element.tableModel());
50  d->m_layout->setVerticalHeaderVisible(element.isVerticalHeaderVisible());
51  d->m_layout->setHorizontalHeaderVisible(element.isHorizontalHeaderVisible());
52  d->m_layout->setCellPadding(element.padding()); // in mm
53  d->m_layout->setIconSize(element.iconSize());
54  d->m_layout->setCellBorder(element.border(), element.borderBrush());
55  d->m_layout->setHeaderBackground(element.headerBackground());
56 }
57 
59 {
60  return d->m_element;
61 }
62 
64 {
65  d->m_layout->setTableBreakingPageOrder(pageOrder);
66 }
67 
69 {
70  return d->m_layout->tableBreakingPageOrder();
71 }
72 
73 void KDReports::MainTable::setLayout(SpreadsheetReportLayout *layout)
74 {
75  d->m_layout = layout;
76 }
77 
79 {
80  d->m_layout->setHorizontalHeaderFont(font);
81 }
82 
84 {
85  d->m_layout->setVerticalHeaderFont(font);
86 }
87 
88 QList<QRect> KDReports::MainTable::pageRects() const
89 {
90  d->m_layout->ensureLayouted();
91  return d->m_layout->m_pageRects;
92 }
93 
94 qreal KDReports::MainTable::lastAutoFontScalingFactor() const
95 {
96  return d->m_layout->m_tableLayout.scalingFactor();
97 }
KDReports::AutoTableElement::tableModel
QAbstractItemModel * tableModel() const
Definition: KDReportsAutoTableElement.cpp:385
KDReports::MainTable::tableBreakingPageOrder
Report::TableBreakingPageOrder tableBreakingPageOrder() const
Definition: KDReportsMainTable.cpp:68
KDReports::MainTable::autoTableElement
AutoTableElement * autoTableElement() const
Definition: KDReportsMainTable.cpp:58
KDReports::MainTable::setTableBreakingPageOrder
void setTableBreakingPageOrder(Report::TableBreakingPageOrder pageOrder)
Definition: KDReportsMainTable.cpp:63
KDReportsSpreadsheetReportLayout_p.h
KDReportsMainTable.h
KDReports::AutoTableElement::isHorizontalHeaderVisible
bool isHorizontalHeaderVisible() const
Definition: KDReportsAutoTableElement.cpp:370
QList< QRect >
KDReports::AbstractTableElement::border
qreal border() const
Definition: KDReportsAbstractTableElement.cpp:71
KDReports::AutoTableElement
Definition: KDReportsAutoTableElement.h:41
KDReports::MainTable::setHorizontalHeaderFont
void setHorizontalHeaderFont(const QFont &font)
Definition: KDReportsMainTable.cpp:78
KDReports::MainTable::setVerticalHeaderFont
void setVerticalHeaderFont(const QFont &font)
Definition: KDReportsMainTable.cpp:83
KDReports::MainTable::setAutoTableElement
void setAutoTableElement(const AutoTableElement &element)
Definition: KDReportsMainTable.cpp:44
KDReports::AbstractTableElement::padding
qreal padding() const
Definition: KDReportsAbstractTableElement.cpp:91
KDReports::SpreadsheetReportLayout
Definition: KDReportsSpreadsheetReportLayout_p.h:30
KDReportsAutoTableElement.h
KDReports::AutoTableElement::iconSize
QSize iconSize() const
Definition: KDReportsAutoTableElement.cpp:380
KDReports::AutoTableElement::headerBackground
QBrush headerBackground() const
Definition: KDReportsAutoTableElement.cpp:400
KDReports::AbstractTableElement::borderBrush
QBrush borderBrush() const
Definition: KDReportsAbstractTableElement.cpp:81
QFont
KDReports::Report::TableBreakingPageOrder
TableBreakingPageOrder
Definition: KDReportsReport.h:611
KDReports::AutoTableElement::isVerticalHeaderVisible
bool isVerticalHeaderVisible() const
Definition: KDReportsAutoTableElement.cpp:365

© 2007-2021 Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
https://www.kdab.com/development-resources/qt-tools/kd-reports/
Generated on Fri Jul 15 2022 13:09:06 for KD Reports API Documentation by doxygen 1.8.20