00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef KDREPORTSHEADER_H
00024 #define KDREPORTSHEADER_H
00025
00026 #include "KDReportsGlobal.h"
00027 #include "KDReportsVariableType.h"
00028 #include <QtCore/Qt>
00029 #include <QtGui/QTextOption>
00030
00031 template<class T> class QList;
00032 class QFont;
00033 class QTextDocument;
00034
00035 namespace KDReports {
00036
00037 class XmlParser;
00038 class Element;
00039 class HeaderMap;
00040 class Report;
00041 class ReportPrivate;
00042 class TextDocument;
00043
00050 class KDREPORTS_EXPORT Header
00051 {
00052 public:
00057 void setDefaultFont( const QFont& font );
00058
00062 void addInlineElement( const Element& element );
00063
00068 void addElement( const Element& element, Qt::AlignmentFlag horizontalAlignment = Qt::AlignLeft );
00069
00081 void addVariable( VariableType variable );
00082
00088 void addVerticalSpacing( qreal space );
00089
00098 void setTabPositions( const QList<QTextOption::Tab>& tabs );
00099
00100 private:
00101 friend class XmlParser;
00102 friend class Report;
00103 friend class ReportPrivate;
00104 Header( Report* report );
00105 ~Header();
00106 friend class Test;
00107 friend class HeaderMap;
00108 TextDocument& doc();
00109 void preparePaintingPage( int pageNumber );
00110
00111 Q_DISABLE_COPY( Header )
00112
00113 class Private;
00114 Private* const d;
00115 };
00116
00117 typedef Header Footer;
00118
00119 }
00120
00121 #endif