ginebra2/ContentViews/GWebContentViewJSObject.h
changeset 0 1450b09d0cfd
child 3 0954f5dd2cd0
child 5 0f2326c2a325
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ginebra2/ContentViews/GWebContentViewJSObject.h	Tue May 04 12:39:35 2010 +0300
@@ -0,0 +1,118 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef GWebContentViewJSObject_H_
+#define GWebContentViewJSObject_H_
+
+#include <QObject>
+#include "controllableviewimpl.h"
+#include "GWebContentView.h"
+
+class WebViewEventContext;
+
+namespace GVA {
+
+/*! \ingroup JavascriptAPI
+  \brief This class provides the javascript API for GWebContentView.
+ */
+class GWebContentViewJSObject : public ::ControllableViewJSObject {
+    Q_OBJECT
+  public:
+    GWebContentViewJSObject(GWebContentView *contentView, ::QWebFrame *chromeFrame, const QString &objectName)
+      : ::ControllableViewJSObject(contentView, chromeFrame, objectName)
+    {
+      qDebug() << "GWebContentViewJSObject::GWebContentViewJSObject: " << this;
+    }
+
+    qreal getZoomFactor() const { return webContentViewConst()->getZoomFactor(); }
+    void setZoomFactor(qreal factor)  { webContentView()->setZoomFactor(factor); }
+    Q_PROPERTY(qreal zoomFactor READ getZoomFactor WRITE setZoomFactor)
+
+    Q_PROPERTY(QObjectList superPages READ getSuperPages)
+    QObjectList getSuperPages() { return webContentView()->getSuperPages(); }
+
+    /*! This property holds whether touch navigation is enabled.
+     */
+    Q_PROPERTY(bool gesturesEnabled READ getGesturesEnabled WRITE setGesturesEnabled)
+    bool getGesturesEnabled() const { return webContentViewConst()->gesturesEnabled(); }
+    void setGesturesEnabled(bool value) { webContentView()->setGesturesEnabled(value); }
+
+public slots:
+    void loadUrlToCurrentPage(const QString & url)
+        { webContentView()->loadUrlToCurrentPage(url); }
+    QObject *currentPage() { return webContentView()->currentPage(); }
+    void back() { webContentView()->back(); }
+    void forward() { webContentView()->forward(); }
+    void reload() { webContentView()->reload(); }
+    void zoomIn(qreal deltaPercent = 0.1) { webContentView()->zoomIn(deltaPercent); }
+    void zoomOut(qreal deltaPercent = 0.1) { webContentView()->zoomOut(deltaPercent); }
+    void zoomBy(qreal delta) { zoomIn(delta); }
+    void zoom(bool in) { webContentView()->zoom(in); }
+    void toggleZoom() { webContentView()->toggleZoom(); }
+    void stopZoom() { webContentView()->stopZoom(); }
+    void scrollBy(int deltaX, int deltaY) { webContentView()->scrollBy(deltaX, deltaY); }
+    int scrollX() { return webContentView()->scrollX(); }
+    int scrollY() { return webContentView()->scrollY(); }
+    int contentWidth() { return webContentView()->contentWidth(); }
+    int contentHeight() { return webContentView()->contentHeight(); }
+    void showNormalPage() { return webContentView()->showNormalPage(); }
+    bool currentPageIsSuperPage() { return webContentView()->currentPageIsSuperPage(); }
+    void dump() { return webContentView()->dump(); }
+    
+    // Super page slots.
+    QObject * createSuperPage(const QString &name) { return webContentView()->createSuperPage(name); }
+    void destroySuperPage(const QString &name) { webContentView()->destroySuperPage(name); }
+    void setCurrentSuperPage(const QString &name) { webContentView()->setCurrentSuperPage(name); }
+    QObject * currentSuperPage() { return webContentView()->currentSuperPage(); }
+	QString currentSuperPageName() { return webContentView()->currentSuperPage()->objectName(); }
+    void showSuperPage(const QString &name) { webContentView()->showSuperPage(name); }
+    QObject * superPage(const QString &name) { return webContentView()->superPage(name); }
+    bool isSuperPage(const QString &name) { return webContentView()->isSuperPage(name); }
+
+signals:
+    void ContextChanged();
+    void iconChanged();
+    void loadFinished(bool ok);
+    void loadProgress(int progress);
+    void loadStarted();
+    void titleChanged(const QString & title);
+    void urlChanged(const QString & url);
+    void secureConnection(bool secure);
+    void backEnabled(bool enabled);
+    void forwardEnabled(bool enabled);
+    void onStatusBarMessage( const QString & text );
+    void onStatusBarVisibilityChangeRequested(bool visible);
+    void startingPanGesture(int directionHint);
+
+    // Sent when the display mode changes from landscape to protrait or vice versa.
+    void onDisplayModeChanged(const QString &orientation);
+
+    void contextEvent(QObject *context);
+
+private slots:
+    void statusBarMessage( const QString & text );
+    void statusBarVisibilityChangeRequested(bool visible);
+    void onContextEvent(::WebViewEventContext *context);
+
+protected:
+    GWebContentView *webContentView() { return static_cast<GWebContentView *>(m_contentView); }
+    GWebContentView *webContentViewConst() const { return static_cast<GWebContentView *>(m_contentView); }
+};
+
+}
+
+#endif /* GWebContentViewJSObject_H_ */