KReport

KReportDesignerSectionDetail.h
1/* This file is part of the KDE project
2 * Copyright (C) 2001-2007 by OpenMFG, LLC (info@openmfg.com)
3 * Copyright (C) 2007-2008 by Adam Pigg (adam@piggz.co.uk)
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef KREPORTDESIGNERSECTIONDETAIL_H
20#define KREPORTDESIGNERSECTIONDETAIL_H
21
22#include <QWidget>
23
24#include "kreport_export.h"
25
26class QDomNode;
27class QDomElement;
28class QDomDocument;
29
31class KReportDesigner;
33
34/*!
35 * @brief The central detail section which contains the bulk of the report
36*/
37class KREPORT_EXPORT KReportDesignerSectionDetail : public QWidget
38{
40public:
41 explicit KReportDesignerSectionDetail(KReportDesigner * rptdes);
42 ~KReportDesignerSectionDetail() override;
43
44 enum class PageBreak {
45 None,
46 AtEnd
47 };
48
49 void setPageBreak(PageBreak pageBreak);
50 PageBreak pageBreak() const;
51
52 KReportDesignerSection * detailSection() const;
53
54 void buildXML(QDomDocument *doc, QDomElement *section);
55 //! @todo 4.0: Use QDomElement
56 void initFromXML(QDomNode *node);
57
58 KReportDesigner * reportDesigner() const;
59
60 int groupSectionCount() const;
61 KReportDesignerSectionDetailGroup * groupSection(int i) const;
62 void insertGroupSection(int idx, KReportDesignerSectionDetailGroup * rsd);
63 int indexOfGroupSection(const QString & column) const;
64 void removeGroupSection(int idx, bool del = false);
65 QSize sizeHint() const override;
66
67 void setSectionCursor(const QCursor&);
68 void unsetSectionCursor();
69
70private:
71 Q_DISABLE_COPY(KReportDesignerSectionDetail)
72 class Private;
73 Private * const d;
74};
75
76#endif
A section group allows a header and footer to be used for a particular report field.
This class is the base to all Report Section's visual representation.
The ReportDesigner is the main widget for designing a report.
Q_OBJECTQ_OBJECT
QWidget(QWidget *parent, Qt::WindowFlags f)
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Jan 24 2025 11:54:26 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.