KD Reports  1.7
KDReportsHeader.h
1 /****************************************************************************
2 ** Copyright (C) 2007-2015 Klaralvdalens Datakonsult AB. All rights reserved.
3 **
4 ** This file is part of the KD Reports library.
5 **
6 ** Licensees holding valid commercial KD Reports licenses may use this file in
7 ** accordance with the KD Reports Commercial License Agreement provided with
8 ** the Software.
9 **
10 **
11 ** This file may be distributed and/or modified under the terms of the
12 ** GNU Lesser General Public License version 2.1 and version 3 as published by the
13 ** Free Software Foundation and appearing in the file LICENSE.LGPL.txt included.
14 **
15 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17 **
18 ** Contact info@kdab.com if any conditions of this licensing are not
19 ** clear to you.
20 **
21 **********************************************************************/
22 
23 #ifndef KDREPORTSHEADER_H
24 #define KDREPORTSHEADER_H
25 
26 #include "KDReportsGlobal.h"
27 #include "KDReportsVariableType.h"
28 #include <QtCore/Qt>
29 #include <QTextOption>
30 
31 template<class T> class QList;
32 class QFont;
33 class QTextDocument;
34 class HeaderData;
35 
36 namespace KDReports {
37 
38 class HeaderPrivate;
39 class XmlParser;
40 class Element;
41 class HeaderMap;
42 class Report;
43 class ReportPrivate;
44 class TextDocument;
45 
52 class KDREPORTS_EXPORT Header
53 {
54 public:
59  void setDefaultFont( const QFont& font );
60 
65  QFont defaultFont() const;
66 
70  void addInlineElement( const Element& element );
71 
76  void addElement( const Element& element, Qt::AlignmentFlag horizontalAlignment = Qt::AlignLeft );
77 
89  void addVariable( VariableType variable );
90 
96  void addVerticalSpacing( qreal space );
97 
106  void setTabPositions( const QList<QTextOption::Tab>& tabs );
107 
111  int currentPosition() const;
112 
113 private:
114  friend class XmlParser;
115  friend class Report;
116  friend class ReportPrivate;
117  explicit Header( Report* report );
118  ~Header();
119  friend class Test;
120  friend class HeaderMap;
121  friend class ::HeaderData;
122  TextDocument& doc();
123  void preparePaintingPage( int pageNumber );
124 
125  Q_DISABLE_COPY( Header )
126 
127  HeaderPrivate* const d;
128 };
129 
130 typedef Header Footer;
131 
132 }
133 
134 #endif /* KDREPORTSHEADER_H */
VariableType
Definition: KDReportsVariableType.h:35
Definition: KDReportsReport.h:107
Definition: KDReportsHeader.h:52
Definition: KDReportsAbstractTableElement.h:33
Definition: KDReportsElement.h:42
Definition: KDReportsAbstractTableElement.h:29

Klarälvdalens Datakonsult AB (KDAB)
Qt-related services and products
http://www.kdab.com/
http://www.kdab.com/products/kd-reports/