4 #include "qwebkitglobal.h"
11 #include <WebKit2/WKBase.h>
12 #include <WebKit2/WKPage.h>
17 class QWKGraphicsWidget;
20 class QtViewportAttributesPrivate;
23 class QWEBKIT_EXPORT QWKPage : public QObject {
25 Q_PROPERTY(QString title READ title)
26 Q_PROPERTY(QUrl url READ url WRITE setUrl)
50 class ViewportAttributes {
53 ViewportAttributes(const QWKPage::ViewportAttributes& other);
55 ~ViewportAttributes();
57 QWKPage::ViewportAttributes& operator=(const QWKPage::ViewportAttributes& other);
59 inline qreal initialScaleFactor() const { return m_initialScaleFactor; };
60 inline qreal minimumScaleFactor() const { return m_minimumScaleFactor; };
61 inline qreal maximumScaleFactor() const { return m_maximumScaleFactor; };
62 inline qreal devicePixelRatio() const { return m_devicePixelRatio; };
63 inline bool isUserScalable() const { return m_isUserScalable; };
64 inline bool isValid() const { return m_isValid; };
65 inline QSize size() const { return m_size; };
68 QSharedDataPointer<QtViewportAttributesPrivate> d;
69 qreal m_initialScaleFactor;
70 qreal m_minimumScaleFactor;
71 qreal m_maximumScaleFactor;
72 qreal m_devicePixelRatio;
73 bool m_isUserScalable;
83 WKPageRef pageRef() const;
85 QWKPreferences* preferences() const;
87 void load(const QUrl& url);
88 void setUrl(const QUrl& url);
91 QString title() const;
93 void setViewportSize(const QSize&);
94 ViewportAttributes viewportAttributesForSize(const QSize& availableSize) const;
96 void setActualVisibleContentsRect(const QRect& rect) const;
98 void setResizesToContentsUsingLayoutSize(const QSize& targetLayoutSize);
100 QAction* action(WebAction action) const;
101 void triggerAction(WebAction action, bool checked = false);
103 typedef QWKPage* (*CreateNewPageFn)(QWKPage*);
104 void setCreateNewPageFunction(CreateNewPageFn function);
106 void setCustomUserAgent(const QString&);
107 QString customUserAgent() const;
109 qreal textZoomFactor() const;
110 qreal pageZoomFactor() const;
111 void setTextZoomFactor(qreal zoomFactor);
112 void setPageZoomFactor(qreal zoomFactor);
113 void setPageAndTextZoomFactors(qreal pageZoomFactor, qreal textZoomFactor);
115 QWKHistory* history() const;
116 QWKContext* context() const;
118 void findZoomableAreaForPoint(const QPoint&);
121 Q_SIGNAL void statusBarMessage(const QString&);
122 Q_SIGNAL void titleChanged(const QString&);
123 Q_SIGNAL void loadStarted();
124 Q_SIGNAL void loadFinished(bool ok);
125 Q_SIGNAL void loadProgress(int progress);
126 Q_SIGNAL void initialLayoutCompleted();
127 Q_SIGNAL void urlChanged(const QUrl&);
128 Q_SIGNAL void contentsSizeChanged(const QSize&);
129 Q_SIGNAL void scrollRequested(int dx, int dy);
130 Q_SIGNAL void cursorChanged(const QCursor&);
131 Q_SIGNAL void viewportChangeRequested();
132 Q_SIGNAL void windowCloseRequested();
133 Q_SIGNAL void zoomableAreaFound(const QRect&);
134 Q_SIGNAL void focusNextPrevChild(bool);
135 Q_SIGNAL void showContextMenu(QMenu*);
136 Q_SIGNAL void processCrashed();
139 void timerEvent(QTimerEvent*);
143 Q_PRIVATE_SLOT(d, void _q_webActionTriggered(bool checked));
147 friend class QGraphicsWKView;
148 friend class QGraphicsWKViewPrivate;
149 friend class QWKPagePrivate;
152 #endif /* qwkpage_h */