summaryrefslogtreecommitdiffstats
path: root/kugar/lib/mreportviewer.h
diff options
context:
space:
mode:
Diffstat (limited to 'kugar/lib/mreportviewer.h')
-rw-r--r--kugar/lib/mreportviewer.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/kugar/lib/mreportviewer.h b/kugar/lib/mreportviewer.h
new file mode 100644
index 00000000..1c6f4c03
--- /dev/null
+++ b/kugar/lib/mreportviewer.h
@@ -0,0 +1,94 @@
+/***************************************************************************
+ mreportviewer.h - Kugar QT report viewer widget
+ -------------------
+ begin : Fri Aug 13 1999
+ copyright : (C) 1999 by Mutiny Bay Software
+ email : info@mutinybaysoftware.com
+ copyright : (C) 2002 Alexander Dymo
+ email : cloudtemple@mksat.net
+***************************************************************************/
+
+#ifndef MREPORTVIEWER_H
+#define MREPORTVIEWER_H
+
+#include <qapplication.h>
+#include <qwidget.h>
+#include <qscrollview.h>
+#include <qpixmap.h>
+#include <qpainter.h>
+#include <qpaintdevicemetrics.h>
+#include <qprogressdialog.h>
+#include <qguardedptr.h>
+#include <koffice_export.h>
+#include "mreportengine.h"
+#include "mpagecollection.h"
+#include "mpagedisplay.h"
+
+#define M_PROGRESS_DELAY 500 // Number of ms to delay progress dialog display
+
+class KPrinter;
+
+/** Application reference, required for event processing */
+extern QApplication *mAppRef;
+
+/**Kugar QT report viewer widget
+ *@author Mutiny Bay Software
+ */
+
+namespace Kugar
+{
+
+class KUGAR_EXPORT MReportViewer : public QWidget
+{
+ Q_OBJECT
+
+public:
+ MReportViewer( QWidget *parent = 0, const char *name = 0 );
+ MReportViewer( MReportEngine* engine, QWidget *parent = 0, const char *name = 0 );
+ virtual ~MReportViewer();
+
+ bool setReportData( const QString & );
+ bool setReportData( QIODevice * );
+ bool setReportTemplate( const QString & );
+ bool setReportTemplate( QIODevice * );
+ bool renderReport();
+ void clearReport();
+ void printReport();
+ void printReport( KPrinter &printer );
+ void setupPrinter( KPrinter &printer );
+ void printReportSilent( int printFrom = -1, int printTo = -1, int printCopies = -1, QString printerName = QString::null );
+
+ QSize sizeHint() const;
+
+public slots:
+ void slotFirstPage();
+ void slotNextPage();
+ void slotPrevPage();
+ void slotLastPage();
+
+signals:
+ void preferedTemplate( const QString & );
+
+private slots:
+ void slotCancelPrinting();
+ void slotRenderProgress( int );
+
+protected:
+ void paintEvent( QPaintEvent *event );
+ void resizeEvent( QResizeEvent *event );
+
+ QScrollView *scroller;
+ MPageDisplay *display;
+ MReportEngine *rptEngine;
+ QGuardedPtr<MPageCollection> report;
+ KPrinter *printer;
+
+private:
+ QProgressDialog* progress;
+ int totalSteps;
+ void init();
+};
+
+}
+
+#endif