browsercore/core/webtouchnavigation.h
branchGCC_SURGE
changeset 8 2e16851ffecd
parent 2 bf4420e9fa4d
parent 6 1c3b8676e58c
--- a/browsercore/core/webtouchnavigation.h	Fri Jun 11 16:23:26 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +0,0 @@
-/*
-* 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 WEBTOUCHNAVIGATION_H
-#define WEBTOUCHNAVIGATION_H
-
-#include <QTime>
-#include <qobject.h>
-#include <qpoint.h>
-#include <qevent.h>
-#include <qobject.h>
-#include <qtimeline.h>
-#include <qwebframe.h>
-#include <qwebelement.h>
-#include "wrtBrowserDefs.h"
-#include <QTime>
-
-class QWebFrame;
-class QWebPage;
-class QTimer;
-
-namespace WRT 
-{
-
-    enum Direction
-    {
-        DOWN,           // SOUTH 
-        UP,             // NORTH 
-        RIGHT,          // EAST
-        LEFT,           // WEST
-        BOTTOMRIGHT,    // SOUTHEAST 
-        BOTTOMLEFT,     // SOUTHWEST
-        TOPLEFT,        // NORTHWEST
-        TOPRIGHT        // NORTHEAST
-    };
-
-    enum PanDirection {
-        HorizontalPan,
-        VerticalPan,
-        RandomPan 
-    };
-
-    class DragPoint
-    {
-    public:
-        QPoint iPoint;
-        QTime  iTime;
-    };
-
-    class WebTouchNavigation : public QObject
-    {
-    Q_OBJECT
-    public:
-        WebTouchNavigation(QWebPage* webPage,QObject* view);
-        virtual ~WebTouchNavigation();
-        void install();
-        void uninstall();
-        void setPage( QWebPage * page){ m_webPage = page ;}
-signals:
-        void longPressEvent();// mouse long press signal    
-        void focusElementChanged(wrtBrowserDefs::BrowserElementType &);// mouse long press signal
-        void pageScrollPositionZero();
-
-    protected slots:
-        void scrollToEdge();
-		void doubleClickTimerExpired();
-		void timerControl();// local slot for controlling timer
-		void pan();
-		void kineticScroll();
-		void BlockFocusChanged(QPoint pt);
-    protected:
-        bool eventFilter(QObject *object, QEvent *event);
-        void mousePressEvent(const QPoint& pos);
-        void mouseMoveEvent(const QPoint& pos);
-        void mouseReleaseEvent(const QPoint& pos);
-        void mouseDoubleClickEvent(const QPoint& pos);
-        QWebFrame* getNextScrollableFrame(const QPoint& pos);
-        void scrollFrame(const QPoint& pos);
-  
-        void startScrollTimer();
-        void updateFlickScrollDistance();
-        bool isFlick() ;
-        QPoint speed() ;
-        QPoint currentPos();
-        QPoint previousPos();
-        qreal dragTime() const;
-        Direction findDirectionWithAngle(const QPoint& stPoint,const QPoint& endPoint);
-        bool isNear(qreal aAngleUnderTest, qreal aMinAngle, qreal aMaxAngle);
-        qreal findAngle(const int& xDelta,const int& yDelta);
-        int roundOff(qreal num);
-        QRect findEnclosingBlock(QMouseEvent* ev);
-        QWebHitTestResult getHitTestResult(QMouseEvent* ev);
-        void calculateActualScrollDistance();
-        void setNewScrollDistance(QPoint blockCanvasPoint, int thresholdCheckVal);
-		void handleMousePressEvent(QMouseEvent* ev);
-		void handleMouseReleaseEvent(QMouseEvent* ev);
-        void handleDoubleClickEvent(QMouseEvent* ev);
-		
-        
-	private:
-		void highlightableElement(QMouseEvent* ev);
-		QWebElement getClosestAnchorElement(QMouseEvent* ev);
-		bool traverseNextNode(QWebElement parentNode,QWebElement& nextNode);
-	    
-		void handleHighlightChange(QMouseEvent* ev);
-		bool canDehighlight(QMouseEvent* ev);
-		void dehighlight(QMouseEvent* ev);
-		void getFocusedElement();
-		void startTimer();
-        void stopTimer();
-
-        
-        void stopScrolling();
-
-        void startPanGesture(PanDirection);
-        void panBy(const QPointF& delta);
-        void scrollCurrentFrame (int dx, int dy);
-        void setCurrentFrameScrollPosition (QPoint& pos);
-        
-    private:
-        QWebPage* m_webPage;
-        QObject* m_view;
-        QWebFrame* m_frame;
-        bool m_scrolled;
-        QPoint m_touchPosition;
-        QPointF m_scrollDistance;  
-        QPointF m_actualScrollDistance;
-        QPointF m_prevPoint;
-        QList<DragPoint> m_dragPoints;
-        Direction m_flickDirection;
-        QTime m_lastMoveEventTime;
-		QTimer* m_doubleClickTimer;
-        QMouseEvent *m_pressEvent;
-        QMouseEvent *m_releaseEvent;
-        QPoint m_focusedBlockPt;	
-		QWebElement m_anchorElement;
-		QPoint m_higlightedPos;
-		bool m_ishighlighted;
-		int m_offset;
-		QTimer* m_longPressTimer;// long press timer
-		QPoint m_initialSpeed;		
-		qreal m_finalzoomfactor;
-		QTimer* m_scrollTimer;
-		QPoint  m_scrollDelta;
-		QTimer* m_kineticTimer;
-		QPointF m_kineticSpeed;
-		QTime   m_actualTime;
-		int     m_kineticScrollTime;
-		QPoint  m_initialScrollPos;
-        bool m_isPanning;
-        QTime m_delayedPressMoment;
-        QPointF m_dragStartPos;
-        PanDirection m_panDirection;
-        QPointF m_panModeResidue;		
-		
-	};
-
-}
-
-#endif