| #ifndef qwkpage_h |
| #define qwkpage_h |
| |
| #include "qwebkitglobal.h" |
| #include <QAction> |
| #include <QMenu> |
| #include <QObject> |
| #include <QPoint> |
| #include <QRect> |
| #include <QSize> |
| #include <QUrl> |
| #include <WebKit2/WKBase.h> |
| #include <WebKit2/WKPage.h> |
| |
| class QCursor; |
| class QGraphicsItem; |
| class QWKContext; |
| class QWKGraphicsWidget; |
| class QWKPreferences; |
| class QWKPagePrivate; |
| class QtViewportAttributesPrivate; |
| class QWKHistory; |
| |
| class QWEBKIT_EXPORT QWKPage : public QObject { |
| Q_OBJECT |
| Q_PROPERTY(QString title READ title) |
| Q_PROPERTY(QUrl url READ url WRITE setUrl) |
| |
| public: |
| enum WebAction { |
| NoWebAction = - 1, |
| |
| OpenLink, |
| OpenLinkInNewWindow, |
| CopyLinkToClipboard, |
| OpenImageInNewWindow, |
| |
| Back, |
| Forward, |
| Stop, |
| Reload, |
| |
| Cut, |
| Copy, |
| Paste, |
| SelectAll, |
| |
| WebActionCount |
| }; |
| |
| class QWEBKIT_EXPORT ViewportAttributes { |
| public: |
| ViewportAttributes(); |
| ViewportAttributes(const QWKPage::ViewportAttributes& other); |
| |
| ~ViewportAttributes(); |
| |
| QWKPage::ViewportAttributes& operator=(const QWKPage::ViewportAttributes& other); |
| |
| inline qreal initialScaleFactor() const { return m_initialScaleFactor; }; |
| inline qreal minimumScaleFactor() const { return m_minimumScaleFactor; }; |
| inline qreal maximumScaleFactor() const { return m_maximumScaleFactor; }; |
| inline qreal devicePixelRatio() const { return m_devicePixelRatio; }; |
| inline bool isUserScalable() const { return m_isUserScalable; }; |
| inline bool isValid() const { return m_isValid; }; |
| inline QSize size() const { return m_size; }; |
| |
| private: |
| QSharedDataPointer<QtViewportAttributesPrivate> d; |
| qreal m_initialScaleFactor; |
| qreal m_minimumScaleFactor; |
| qreal m_maximumScaleFactor; |
| qreal m_devicePixelRatio; |
| bool m_isUserScalable; |
| bool m_isValid; |
| QSize m_size; |
| |
| friend class QWKPage; |
| }; |
| |
| QWKPage(QWKContext*); |
| virtual ~QWKPage(); |
| |
| WKPageRef pageRef() const; |
| |
| QWKPreferences* preferences() const; |
| |
| void load(const QUrl& url); |
| void setUrl(const QUrl& url); |
| QUrl url() const; |
| |
| QString title() const; |
| |
| void setViewportSize(const QSize&); |
| ViewportAttributes viewportAttributesForSize(const QSize& availableSize) const; |
| |
| void setActualVisibleContentsRect(const QRect& rect) const; |
| |
| void setResizesToContentsUsingLayoutSize(const QSize& targetLayoutSize); |
| |
| QAction* action(WebAction action) const; |
| void triggerAction(WebAction action, bool checked = false); |
| |
| typedef QWKPage* (*CreateNewPageFn)(QWKPage*); |
| void setCreateNewPageFunction(CreateNewPageFn function); |
| |
| void setCustomUserAgent(const QString&); |
| QString customUserAgent() const; |
| |
| qreal textZoomFactor() const; |
| qreal pageZoomFactor() const; |
| void setTextZoomFactor(qreal zoomFactor); |
| void setPageZoomFactor(qreal zoomFactor); |
| void setPageAndTextZoomFactors(qreal pageZoomFactor, qreal textZoomFactor); |
| |
| QWKHistory* history() const; |
| QWKContext* context() const; |
| |
| void findZoomableAreaForPoint(const QPoint&); |
| |
| bool isConnectedToEngine() const; |
| |
| public: |
| Q_SIGNAL void statusBarMessage(const QString&); |
| Q_SIGNAL void toolTipChanged(const QString&); |
| Q_SIGNAL void titleChanged(const QString&); |
| Q_SIGNAL void loadStarted(); |
| Q_SIGNAL void loadFinished(bool ok); |
| Q_SIGNAL void loadProgress(int progress); |
| Q_SIGNAL void initialLayoutCompleted(); |
| Q_SIGNAL void urlChanged(const QUrl&); |
| Q_SIGNAL void contentsSizeChanged(const QSize&); |
| Q_SIGNAL void scrollRequested(int dx, int dy); |
| Q_SIGNAL void cursorChanged(const QCursor&); |
| Q_SIGNAL void viewportChangeRequested(); |
| Q_SIGNAL void windowCloseRequested(); |
| Q_SIGNAL void zoomableAreaFound(const QRect&); |
| Q_SIGNAL void focusNextPrevChild(bool); |
| Q_SIGNAL void showContextMenu(QSharedPointer<QMenu>); |
| Q_SIGNAL void engineConnectionChanged(bool connected); |
| |
| protected: |
| void timerEvent(QTimerEvent*); |
| |
| private: |
| #ifndef QT_NO_ACTION |
| Q_PRIVATE_SLOT(d, void _q_webActionTriggered(bool checked)); |
| #endif |
| QWKPagePrivate* d; |
| |
| friend class QGraphicsWKView; |
| friend class QGraphicsWKViewPrivate; |
| friend class QWKPagePrivate; |
| }; |
| |
| #endif /* qwkpage_h */ |