00001 #ifndef KDREPORTSXMLELEMENTHANDLER_H
00002 #define KDREPORTSXMLELEMENTHANDLER_H
00003
00004 #include "KDReportsGlobal.h"
00005 #include "KDReportsErrorDetails.h"
00006 class QDomElement;
00007
00008 namespace KDReports {
00009
00010 class Report;
00011 class TextElement;
00012 class HtmlElement;
00013 class TableElement;
00014 class AutoTableElement;
00015 class ChartElement;
00016 class ImageElement;
00017 class Header;
00018 typedef Header Footer;
00019 class Cell;
00020
00060 class KDREPORTS_EXPORT XmlElementHandler
00061 {
00062 public:
00063 virtual ~XmlElementHandler();
00064
00069 virtual bool startReport( KDReports::Report& report, QDomElement& xmlElement );
00070
00076 virtual bool startHeader( KDReports::Header& header, QDomElement& xmlElement );
00077
00081 virtual void endHeader( KDReports::Header& header, const QDomElement& xmlElement );
00082
00088 virtual bool startFooter( KDReports::Footer& footer, QDomElement& xmlElement );
00089
00093 virtual void endFooter( KDReports::Footer& footer, const QDomElement& xmlElement );
00094
00103 virtual bool textElement( KDReports::TextElement& textElement, QDomElement& xmlElement );
00104
00113 virtual bool htmlElement( KDReports::HtmlElement& htmlElement, QDomElement& xmlElement );
00114
00124 virtual bool startTableElement( KDReports::TableElement& tableElement, QDomElement& xmlElement );
00125
00130 virtual bool endTableElement( KDReports::TableElement& tableElement, QDomElement& xmlElement );
00131
00137 virtual bool startCell( KDReports::Cell& cell, QDomElement& xmlElement );
00138
00143 virtual bool endCell( KDReports::Cell& cell, QDomElement& xmlElement );
00144
00153 virtual bool autoTableElement( KDReports::AutoTableElement& tableElement, QDomElement& xmlElement );
00154
00162 virtual bool chartElement( KDReports::ChartElement& chartElement, QDomElement& xmlElement );
00163
00171 virtual bool imageElement( KDReports::ImageElement& imageElement, QDomElement& xmlElement );
00172
00177 virtual bool pageBreak( QDomElement& xmlElement );
00178
00184 virtual void customElement( const QDomElement& xmlElement );
00185
00190 virtual void endReport( KDReports::Report& report, const QDomElement& xmlElement );
00191
00195 KDReports::ErrorDetails errorDetails();
00196
00201 void setErrorDetails( const KDReports::ErrorDetails& details );
00202
00203 private:
00204 KDReports::ErrorDetails m_details;
00205 };
00206
00207 }
00208
00209 #endif