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{
39 Q_OBJECT
40public:
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.
The central detail section which contains the bulk of the report.
This class is the base to all Report Section's visual representation.
The ReportDesigner is the main widget for designing a report.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:19:58 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.