00001 #ifndef PRINTPREVIEW_H
00002 #define PRINTPREVIEW_H
00003 #include <ui_PrintPreview.h>
00004 #include <QtGui>
00005
00006 class QGraphicsScene;
00007 class QAbstractItemModel;
00008
00009 class PrintPreviewDialog : public QDialog, private Ui::PrintPreview
00010 {
00011 Q_OBJECT
00012 public:
00013 PrintPreviewDialog(QString n, QTableView *p_tableView, QPrinter * p_printer, QWidget *parent=0);
00014 virtual ~PrintPreviewDialog();
00015 virtual void setHeaderText(const QString &text);
00016 virtual int exec();
00017 virtual void exportPdf(const QString &filename);
00018
00019 private slots:
00020 virtual void on_setupToolButton_clicked();
00021 virtual void on_zoomInToolButton_clicked();
00022 virtual void on_zoomOutToolButton_clicked();
00023 virtual void on_pageSpinBox_valueChanged(int value);
00024
00025 public slots:
00026 virtual void print();
00027
00028 private:
00029 virtual void setupPage();
00030 virtual void paintPage(int pagenum);
00031 virtual void setupSpinBox();
00032 QGraphicsView *view;
00033 QTableView *tableView;
00034 QPrinter *printer;
00035
00036 int lines;
00037 int pages;
00038 int leftMargin;
00039 int rightMargin;
00040 int topMargin;
00041 int bottomMargin;
00042 int spacing;
00043 int headerSize;
00044 int footerSize;
00045 int sceneZoomFactor;
00046 double columnZoomFactor;
00047 double rowHeight;
00048 double columnMultiplier;
00049 QString headerText;
00050 QString footerText;
00051 QVector<QTextLength> colSizes;
00052 QAbstractItemModel *model;
00053 QGraphicsScene pageScene;
00054 QFont titleFont;
00055 QFont headerFont;
00056 QFont font;
00057 QFontMetrics *titleFmt;
00058 QFontMetrics *headerFmt;
00059 QFontMetrics *fmt;
00060 QString headerStdText;
00061 };
00062
00063 #endif