--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/osswebengine/WebKit/qt/Api/qwebpage.h Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,221 @@
+/*
+ Copyright (C) 2007 Trolltech ASA
+ Copyright (C) 2007 Staikos Computing Services Inc.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+ This class provides all functionality needed for loading images, style sheets and html
+ pages from the web. It has a memory cache for these objects.
+*/
+
+#ifndef QWEBPAGE_H
+#define QWEBPAGE_H
+
+#include "qwebpagehistory.h"
+#include "qwebsettings.h"
+#include <qwebkitglobal.h>
+
+#include <qwidget.h>
+class QNetworkProxy;
+class QUndoStack;
+class QUrl;
+class QWebFrame;
+class QWebNetworkRequest;
+
+class QWebPagePrivate;
+class QWebFrameData;
+class QWebNetworkInterface;
+
+namespace WebCore {
+ class ChromeClientQt;
+ class FrameLoaderClientQt;
+ class FrameLoadRequest;
+ class EditorClientQt;
+ class ResourceHandle;
+}
+
+class QWEBKIT_EXPORT QWebPage : public QWidget
+{
+ Q_OBJECT
+
+ Q_PROPERTY(bool modified READ isModified)
+public:
+ enum NavigationRequestResponse {
+ AcceptNavigationRequest,
+ IgnoreNavigationRequest
+ };
+
+ enum NavigationType {
+ NavigationTypeLinkClicked,
+ NavigationTypeFormSubmitted,
+ NavigationTypeBackForward,
+ NavigationTypeReload,
+ NavigationTypeFormResubmitted,
+ NavigationTypeOther
+ };
+
+ QWebPage(QWidget *parent);
+ ~QWebPage();
+
+ void open(const QUrl &url);
+ void open(const QWebNetworkRequest &request);
+
+ QWebFrame *mainFrame() const;
+
+ QWebPageHistory history() const;
+
+ void setSettings(const QWebSettings &settings);
+ QWebSettings settings() const;
+
+ QSize sizeHint() const;
+
+ QString title() const;
+
+ QUrl url() const;
+
+ bool isModified() const;
+
+ QUndoStack *undoStack();
+
+ void setNetworkInterface(QWebNetworkInterface *interface);
+ QWebNetworkInterface *networkInterface() const;
+
+ QPixmap icon() const;
+
+#ifndef QT_NO_NETWORKPROXY
+ void setNetworkProxy(const QNetworkProxy& proxy);
+ QNetworkProxy networkProxy() const;
+#endif
+
+ bool canCut() const;
+ bool canCopy() const;
+ bool canPaste() const;
+
+ quint64 totalBytes() const;
+ quint64 bytesReceived() const;
+
+public slots:
+ /**
+ * Stops loading of the page, if loading.
+ */
+ void stop();
+
+ void goBack();
+ void goForward();
+ void goToHistoryItem(const QWebHistoryItem &item);
+
+ virtual void setWindowGeometry(const QRect& geom);
+
+ void cut();
+ void copy();
+ void paste();
+
+signals:
+ /**
+ * Signal is emitted when load is started on one of the child
+ * frames of the page. The frame on which the load started
+ * is passed.
+ */
+ void loadStarted(QWebFrame *frame);
+ /**
+ * Signal is emitted when the global progress status changes.
+ * It accumulates changes from all the child frames.
+ */
+ void loadProgressChanged(int progress);
+ /**
+ * Signal is emitted when load has been finished on one of
+ * the child frames of the page. The frame on which the
+ * load finished is passed as an argument.
+ */
+ void loadFinished(QWebFrame *frame);
+ /**
+ * Signal is emitted when the title of this page has changed.
+ * Applies only to the main frame. Sub-frame titles do not trigger this.
+ */
+ void titleChanged(const QString& title);
+ /**
+ * Signal is emitted when the mouse is hovering over a link.
+ * The first parameter is the link url, the second is the link title
+ * if any. Method is emitter with both empty parameters when the mouse
+ * isn't hovering over any link element.
+ */
+ void hoveringOverLink(const QString &link, const QString &title);
+ /**
+ * Signal is emitted when the statusbar text is changed by the page.
+ */
+ void statusBarTextChanged(const QString& text);
+ /**
+ * Signal is emitted when an icon ("favicon") is loaded from the site.
+ */
+ void iconLoaded();
+
+ void selectionChanged();
+
+ /**
+ * Signal is emitted when the mainframe()'s initial layout is completed.
+ */
+ void initialLayoutComplete();
+
+ void addToHistory(const QUrl&);
+
+private slots:
+ void onLoadProgressChanged(int);
+
+protected:
+ virtual QWebFrame *createFrame(QWebFrame *parentFrame, QWebFrameData *frameData);
+ virtual QWebPage *createWindow();
+ virtual QWebPage *createModalDialog();
+ virtual QObject *createPlugin(const QString &classid, const QUrl &url, const QStringList ¶mNames, const QStringList ¶mValues);
+
+ virtual NavigationRequestResponse navigationRequested(QWebFrame *frame, const QWebNetworkRequest &request, NavigationType type);
+ virtual QString chooseFile(QWebFrame *frame, const QString& oldFile);
+ virtual void javaScriptAlert(QWebFrame *frame, const QString& msg);
+ virtual bool javaScriptConfirm(QWebFrame *frame, const QString& msg);
+ virtual bool javaScriptPrompt(QWebFrame *frame, const QString& msg, const QString& defaultValue, QString* result);
+ virtual void javaScriptConsoleMessage(const QString& message, unsigned int lineNumber, const QString& sourceID);
+ virtual QString userAgentStringForUrl(const QUrl& forUrl) const;
+
+ virtual void resizeEvent(QResizeEvent*);
+ virtual void paintEvent(QPaintEvent*);
+ virtual void mouseMoveEvent(QMouseEvent*);
+ virtual void mousePressEvent(QMouseEvent*);
+ virtual void mouseDoubleClickEvent(QMouseEvent*);
+ virtual void mouseReleaseEvent(QMouseEvent*);
+ virtual void wheelEvent(QWheelEvent*);
+ virtual void keyPressEvent(QKeyEvent*);
+ virtual void keyReleaseEvent(QKeyEvent*);
+ virtual void focusInEvent(QFocusEvent*);
+ virtual void focusOutEvent(QFocusEvent*);
+ virtual bool focusNextPrevChild(bool next);
+
+ virtual void dragEnterEvent(QDragEnterEvent *);
+ virtual void dragLeaveEvent(QDragLeaveEvent *);
+ virtual void dragMoveEvent(QDragMoveEvent *);
+ virtual void dropEvent(QDropEvent *);
+
+private:
+ friend class QWebFrame;
+ friend class QWebPagePrivate;
+ friend class WebCore::ChromeClientQt;
+ friend class WebCore::EditorClientQt;
+ friend class WebCore::FrameLoaderClientQt;
+ friend class WebCore::ResourceHandle;
+ QWebPagePrivate *d;
+};
+
+
+
+#endif