KD Reports API Documentation  2.0
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  delete d;
43 }
44 
46 {
47  delete d->m_element;
48  d->m_element = new AutoTableElement(element);
49 
50  d->m_layout->setModel(element.tableModel());
51  d->m_layout->setVerticalHeaderVisible(element.isVerticalHeaderVisible());
52  d->m_layout->setHorizontalHeaderVisible(element.isHorizontalHeaderVisible());
53  d->m_layout->setCellPadding(element.padding()); // in mm
54  d->m_layout->setIconSize(element.iconSize());
55  d->m_layout->setCellBorder(element.border(), element.borderBrush());
56  d->m_layout->setHeaderBackground(element.headerBackground());
57 }
58 
60 {
61  return d->m_element;
62 }
63 
65 {
66  d->m_layout->setTableBreakingPageOrder(pageOrder);
67 }
68 
70 {
71  return d->m_layout->tableBreakingPageOrder();
72 }
73 
74 void KDReports::MainTable::setLayout(SpreadsheetReportLayout *layout)
75 {
76  d->m_layout = layout;
77 }
78 
80 {
81  d->m_layout->setHorizontalHeaderFont(font);
82 }
83 
85 {
86  d->m_layout->setVerticalHeaderFont(font);
87 }
88 
89 QList<QRect> KDReports::MainTable::pageRects() const
90 {
91  d->m_layout->ensureLayouted();
92  return d->m_layout->m_pageRects;
93 }
94 
95 qreal KDReports::MainTable::lastAutoFontScalingFactor() const
96 {
97  return d->m_layout->m_tableLayout.scalingFactor();
98 }
KDReports::AutoTableElement::tableModel
QAbstractItemModel * tableModel() const
Definition: KDReportsAutoTableElement.cpp:394
KDReports::MainTable::tableBreakingPageOrder
Report::TableBreakingPageOrder tableBreakingPageOrder() const
Definition: KDReportsMainTable.cpp:69
KDReports::MainTable::autoTableElement
AutoTableElement * autoTableElement() const
Definition: KDReportsMainTable.cpp:59
KDReports::MainTable::setTableBreakingPageOrder
void setTableBreakingPageOrder(Report::TableBreakingPageOrder pageOrder)
Definition: KDReportsMainTable.cpp:64
KDReportsSpreadsheetReportLayout_p.h
KDReportsMainTable.h
KDReports::AutoTableElement::isHorizontalHeaderVisible
bool isHorizontalHeaderVisible() const
Definition: KDReportsAutoTableElement.cpp:379
QList< QRect >
KDReports::AbstractTableElement::border
qreal border() const
Definition: KDReportsAbstractTableElement.cpp:81
KDReports::AutoTableElement
Definition: KDReportsAutoTableElement.h:40
KDReports::MainTable::setHorizontalHeaderFont
void setHorizontalHeaderFont(const QFont &font)
Definition: KDReportsMainTable.cpp:79
KDReports::MainTable::setVerticalHeaderFont
void setVerticalHeaderFont(const QFont &font)
Definition: KDReportsMainTable.cpp:84
KDReports::MainTable::setAutoTableElement
void setAutoTableElement(const AutoTableElement &element)
Definition: KDReportsMainTable.cpp:45
KDReports::AbstractTableElement::padding
qreal padding() const
Definition: KDReportsAbstractTableElement.cpp:101
KDReports::SpreadsheetReportLayout
Definition: KDReportsSpreadsheetReportLayout_p.h:43
KDReportsAutoTableElement.h
KDReports::AutoTableElement::iconSize
QSize iconSize() const
Definition: KDReportsAutoTableElement.cpp:389
KDReports::AutoTableElement::headerBackground
QBrush headerBackground() const
Definition: KDReportsAutoTableElement.cpp:409
KDReports::AbstractTableElement::borderBrush
QBrush borderBrush() const
Definition: KDReportsAbstractTableElement.cpp:91
KDReports::Report::TableBreakingPageOrder
TableBreakingPageOrder
Definition: KDReportsReport.h:611
KDReports::AutoTableElement::isVerticalHeaderVisible
bool isVerticalHeaderVisible() const
Definition: KDReportsAutoTableElement.cpp:374

© 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 Sat Jan 8 2022 02:38:32 for KD Reports API Documentation by doxygen 1.8.17