Added the missing parameters to make it possible to do POST operations from the publi...
[WebKit-https.git] / WebKit / qt / Api / qwebview.h
1 /*
2     Copyright (C) 2007 Trolltech ASA
3     Copyright (C) 2007 Staikos Computing Services Inc.
4
5     This library is free software; you can redistribute it and/or
6     modify it under the terms of the GNU Library General Public
7     License as published by the Free Software Foundation; either
8     version 2 of the License, or (at your option) any later version.
9
10     This library is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13     Library General Public License for more details.
14
15     You should have received a copy of the GNU Library General Public License
16     along with this library; see the file COPYING.LIB.  If not, write to
17     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18     Boston, MA 02110-1301, USA.
19 */
20 #ifndef QWEBVIEW_H
21 #define QWEBVIEW_H
22
23 #include "qwebkitglobal.h"
24 #include "qwebpage.h"
25 #include <QtGui/qwidget.h>
26 #if QT_VERSION >= 0x040400
27 #include <QtNetwork/qnetworkaccessmanager.h>
28 #endif
29
30 class QWebPage;
31 class QWebViewPrivate;
32 class QNetworkRequest;
33 class QWebNetworkRequest;
34
35 class QWEBKIT_EXPORT QWebView : public QWidget
36 {
37     Q_OBJECT
38     Q_PROPERTY(QString title READ title)
39     Q_PROPERTY(QUrl url READ url)
40     Q_PROPERTY(QPixmap icon READ icon)
41     Q_PROPERTY(QString selectedText READ selectedText)
42     Q_PROPERTY(bool modified READ isModified)
43     Q_PROPERTY(Qt::TextInteractionFlags textInteractionFlags READ textInteractionFlags WRITE setTextInteractionFlags)
44 public:
45     explicit QWebView(QWidget *parent = 0);
46     virtual ~QWebView();
47
48     QWebPage *page() const;
49     void setPage(QWebPage *page);
50
51     void load(const QUrl &url);
52 #if QT_VERSION < 0x040400
53     void load(const QWebNetworkRequest &request);
54 #else
55     void load(const QNetworkRequest &request,
56               QNetworkAccessManager::Operation operation = QNetworkAccessManager::GetOperation,
57               const QByteArray &body = QByteArray());
58 #endif
59     void setHtml(const QString &html, const QUrl &baseUrl = QUrl());
60     void setHtml(const QByteArray &html, const QUrl &baseUrl = QUrl());
61     void setContent(const QByteArray &data, const QString &mimeType = QString(), const QUrl &baseUrl = QUrl());
62
63     QWebPageHistory *history() const;
64     QWebSettings *settings() const;
65
66     QString title() const;
67     QUrl url() const;
68     QPixmap icon() const;
69
70     QString selectedText() const;
71
72     QAction *action(QWebPage::WebAction action) const;
73     void triggerAction(QWebPage::WebAction action, bool checked = false);
74
75     bool isModified() const;
76
77     Qt::TextInteractionFlags textInteractionFlags() const;
78     void setTextInteractionFlags(Qt::TextInteractionFlags flags);
79
80     /* #### QTextBrowser compatibility?
81     bool openLinks() const;
82     void setOpenLinks(bool open);
83
84     bool openExternalLinks() const;
85     void setOpenExternalLinks(bool open);
86     */
87
88     QSize sizeHint() const;
89 public Q_SLOTS:
90     void stop();
91     void backward();
92     void forward();
93     void reload();
94
95 Q_SIGNALS:
96     void loadStarted();
97     void loadProgressChanged(int progress);
98     void loadFinished();
99     void titleChanged(const QString& title);
100     void statusBarTextChanged(const QString& text);
101     void linkClicked(const QUrl &url);
102     void selectionChanged();
103     void iconLoaded();
104
105 protected:
106     void resizeEvent(QResizeEvent *e);
107     void paintEvent(QPaintEvent *ev);
108
109     virtual void mouseMoveEvent(QMouseEvent*);
110     virtual void mousePressEvent(QMouseEvent*);
111     virtual void mouseDoubleClickEvent(QMouseEvent*);
112     virtual void mouseReleaseEvent(QMouseEvent*);
113     virtual void contextMenuEvent(QContextMenuEvent*);
114     virtual void wheelEvent(QWheelEvent*);
115     virtual void keyPressEvent(QKeyEvent*);
116     virtual void keyReleaseEvent(QKeyEvent*);
117     virtual void dragEnterEvent(QDragEnterEvent *);
118     virtual void dragLeaveEvent(QDragLeaveEvent *);
119     virtual void dragMoveEvent(QDragMoveEvent *);
120     virtual void dropEvent(QDropEvent *);
121     virtual void focusInEvent(QFocusEvent*);
122     virtual void focusOutEvent(QFocusEvent*);
123
124     virtual bool focusNextPrevChild(bool next);
125
126 private:
127     QWebViewPrivate *d;
128 };
129
130 #endif // QWEBVIEW_H