Subversion Repositories svn1-original

Rev

Rev 211 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#ifndef QMREPORTWINDOW_H
#define QMREPORTWINDOW_H

#include <QTabWidget>
#include <QLineEdit>
#include <QPushButton>
#include <QWebView>
#include <QUrl>
#include <QAction>

class QWidget;
class QPrinter;
class QmWebView;
class QPrintPreviewDialog;

class QmReportWindow : public QWidget
{
    Q_OBJECT

public:
    explicit QmReportWindow(QWidget *parent = 0);
    ~QmReportWindow();
    void addReport(const QString &report, const QString &name);

private:
    QTabWidget *tabWidget;
    QLineEdit *tabPath;
    QAction *pb_original;
    QAction *pb_back;
    QAction *pb_forward;
    QAction *pb_print;
    QmWebView *currentWebView;
    QPrintPreviewDialog *printPreviewDialog;

private slots:
    void deleteTab(int tab);
    void tabChanged(int tab);
    void back(void);
    void forward(void);
    void home(void);
    void print(void);
    void printPreview(QPrinter * printer);
};

class QmWebView : public QWebView
{
public:
    QmWebView(QWidget * parent = 0 ) : QWebView(parent) {}
    void setUrl(const QString &url) { homeUrl = url; QWebView::setUrl(QUrl(url,QUrl::TolerantMode)); }
    void home(void) { QWebView::setUrl(QUrl(homeUrl,QUrl::TolerantMode)); }
    QString homeUrl;
};

#endif // QMREPORTWINDOW_H