diff -r b0dd75e285d2 -r 0954f5dd2cd0 ginebra2/ContentViews/GContentViewTouchNavigation.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ginebra2/ContentViews/GContentViewTouchNavigation.h Tue Jun 29 00:46:29 2010 -0400 @@ -0,0 +1,64 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU Lesser General Public License as published by +* the Free Software Foundation, version 2.1 of the License. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public License +* along with this program. If not, +* see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/". +* +* Description: +* +*/ + +#ifndef GWEBCONTENTVIEWTOUCHNAVIGATION_H +#define GWEBCONTENTVIEWTOUCHNAVIGATION_H + +#include +#include "GWebTouchNavigation.h" +#include "GWebContentViewWidget.h" +#include "ChromeLayout.h" +#include "ChromeWidget.h" + +namespace GVA +{ + /*! + * This class provides the virtual function overrides needed to make GWebTouchNavigation + * work on a GWebContentViewWidget. + */ + class GContentViewTouchNavigation : public GWebTouchNavigation + { + Q_OBJECT + public: + GContentViewTouchNavigation(QWebPage* webPage, GWebContentViewWidget* view); + void setChromeWidget(ChromeWidget* chrome) { m_chrome = chrome;} + + Q_PROPERTY(qreal doubleClickEnabled READ getDoubleClickEnabled WRITE setDoubleClickEnabled) + qreal getDoubleClickEnabled() const { return m_doubleClickEnabled; } + void setDoubleClickEnabled(qreal value) { m_doubleClickEnabled = value; } + + protected: + GWebContentViewWidget *contentViewWidget() { return static_cast(m_view); } + + virtual qreal slideView(qreal delta) { return m_chrome->layout()->slideView(delta); } + virtual qreal shrinkView(qreal delta) { return m_chrome->layout()->shrinkView(delta); } + virtual qreal viewInitialScale() { return contentViewWidget()->initialScale(); } + virtual void setViewBlockElement(const QWebElement &el) { contentViewWidget()->setBlockElement(el); } + virtual void setViewZoomFactor(qreal zoom) { return contentViewWidget()->setZoomFactor(zoom); } + + protected: + ChromeWidget* m_chrome; + + }; + +} + +#endif