KReport

KReportDesignerSectionDetail.h
1 /* This file is part of the KDE project
2  * Copyright (C) 2001-2007 by OpenMFG, LLC ([email protected])
3  * Copyright (C) 2007-2008 by Adam Pigg ([email protected])
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 
26 class QDomNode;
27 class QDomElement;
28 class QDomDocument;
29 
31 class KReportDesigner;
33 
34 /*!
35  * @brief The central detail section which contains the bulk of the report
36 */
37 class KREPORT_EXPORT KReportDesignerSectionDetail : public QWidget
38 {
39  Q_OBJECT
40 public:
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 
70 private:
72  class Private;
73  Private * const d;
74 };
75 
76 #endif
This class is the base to all Report Section's visual representation.
The central detail section which contains the bulk of the report.
A section group allows a header and footer to be used for a particular report field.
The ReportDesigner is the main widget for designing a report.
Q_DISABLE_COPY(Class)
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Mon Aug 15 2022 04:16:27 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.