WebKit2/UIProcess/API/qt/qgraphicswkview.h
changeset 0 4f2f89ce4247
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WebKit2/UIProcess/API/qt/qgraphicswkview.h	Fri Sep 17 09:02:29 2010 +0300
@@ -0,0 +1,77 @@
+#ifndef qgraphicswkview_h
+#define qgraphicswkview_h
+
+#include "qwebkitglobal.h"
+
+#include <WebKit2/WKBase.h>
+#include <QGraphicsWidget>
+#include "qwkpage.h"
+
+class QGraphicsWKViewPrivate;
+
+WKStringRef WKStringCreateWithQString(QString qString);
+QString WKStringCopyQString(WKStringRef stringRef);
+
+class QWEBKIT_EXPORT QGraphicsWKView : public QGraphicsWidget {
+    Q_OBJECT
+    Q_PROPERTY(QString title READ title)
+    Q_PROPERTY(QUrl url READ url WRITE setUrl)
+
+public:
+    enum BackingStoreType { Simple, Tiled };
+    QGraphicsWKView(WKPageNamespaceRef namespaceRef, BackingStoreType backingStoreType = Simple, QGraphicsItem* parent = 0);
+
+    virtual ~QGraphicsWKView();
+
+    QWKPage* page() const;
+
+    virtual void setGeometry(const QRectF&);
+
+    void load(const QUrl&);
+    void setUrl(const QUrl&);
+    QUrl url() const;
+
+    QString title() const;
+
+    void triggerPageAction(QWKPage::WebAction action, bool checked = false);
+
+    virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*);
+    virtual QVariant itemChange(GraphicsItemChange, const QVariant&);
+    virtual bool event(QEvent*);
+    virtual QSizeF sizeHint(Qt::SizeHint, const QSizeF&) const;
+    virtual QVariant inputMethodQuery(Qt::InputMethodQuery) const;
+
+    // FIXME: should not be public
+    virtual QRectF visibleRect() const;
+
+public:
+    Q_SIGNAL void titleChanged(const QString& title);
+    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&);
+
+public Q_SLOTS:
+    void back();
+    void forward();
+    void reload();
+    void stop();
+
+protected:
+    virtual void keyPressEvent(QKeyEvent*);
+    virtual void keyReleaseEvent(QKeyEvent*);
+    virtual void mouseMoveEvent(QGraphicsSceneMouseEvent*);
+    virtual void mousePressEvent(QGraphicsSceneMouseEvent*);
+    virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent*);
+    virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent*);
+    virtual void wheelEvent(QGraphicsSceneWheelEvent*);
+
+    virtual void hoverMoveEvent(QGraphicsSceneHoverEvent*);
+
+private:
+    QGraphicsWKViewPrivate* d;
+    friend class QGraphicsWKViewPrivate;
+};
+
+#endif /* qgraphicswkview_h */