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