browsercore/core/webdirectionalnavigation.h
changeset 0 1450b09d0cfd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/browsercore/core/webdirectionalnavigation.h	Tue May 04 12:39:35 2010 +0300
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2009 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 WEBDIRECTIONALNAVIGATION_H
+#define WEBDIRECTIONALNAVIGATION_H
+
+#include <qobject.h>
+#include <qevent.h>
+#include <qvector.h>
+#include <qpixmap.h>
+#include <qwebelement.h>
+
+class QWebPage;
+
+namespace WRT {
+
+    class WebDirectionalNavigation : public QObject
+    {
+    Q_OBJECT
+    public:
+        WebDirectionalNavigation(QWebPage* webPage,QObject* view);
+        virtual ~WebDirectionalNavigation();
+
+        void install();
+        void uninstall();
+        void setPage( QWebPage * page){ m_webPage = page ;}
+
+    signals:
+        void pageScrollPositionZero();
+
+    protected:
+        bool eventFilter(QObject *object, QEvent *event);
+        void initiallayoutCompleted();
+        double calculateElementDistance(int direction, const QRect& possibleRect);
+        bool nextElementInDirection(int direction);
+        void scrollFrame(int direction);
+        void scrollFrameOneDirection (int direction, int distance);
+        void scrollCurrentFrame (int dx, int dy);
+        void setCurrentFrameScrollPosition (QPoint& pos);
+
+    protected:
+        QWebPage* m_webPage;
+        QObject* m_view;
+        QWebElement m_webElement;
+		QString m_webElementStyle; 
+        QPoint m_focusPoint;
+    };
+
+};
+
+#endif