/* * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this program; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. * */ #ifndef qwkpage_p_h #define qwkpage_p_h #include "DrawingAreaProxy.h" #include "PageClient.h" #include "qwkpage.h" #include "WebPageProxy.h" #include #include #include #include #include class QGraphicsWKView; class QWKPreferences; class QWKPagePrivate : WebKit::PageClient { public: QWKPagePrivate(QWKPage*, QWKContext*); ~QWKPagePrivate(); static QWKPagePrivate* get(QWKPage* page) { return page->d; } void init(QGraphicsItem*, WTF::PassOwnPtr); // PageClient virtual PassOwnPtr createDrawingAreaProxy(); virtual void setViewNeedsDisplay(const WebCore::IntRect&); virtual void displayView(); virtual WebCore::IntSize viewSize(); virtual bool isViewWindowActive(); virtual bool isViewFocused(); virtual bool isViewVisible(); virtual bool isViewInWindow(); #if USE(ACCELERATED_COMPOSITING) void pageDidEnterAcceleratedCompositing() { } void pageDidLeaveAcceleratedCompositing() { } #endif // USE(ACCELERATED_COMPOSITING) virtual void pageDidRequestScroll(const WebCore::IntSize&); virtual void processDidCrash() { } virtual void didRelaunchProcess() { } virtual void didChangeContentsSize(const WebCore::IntSize&); virtual void didFindZoomableArea(const WebCore::IntRect&); virtual void setCursor(const WebCore::Cursor&); virtual void setViewportArguments(const WebCore::ViewportArguments&); virtual void takeFocus(bool direction); virtual void toolTipChanged(const WTF::String&, const WTF::String&); virtual void registerEditCommand(PassRefPtr, WebKit::WebPageProxy::UndoOrRedo); virtual void clearAllEditCommands(); virtual WebCore::FloatRect convertToDeviceSpace(const WebCore::FloatRect&); virtual WebCore::FloatRect convertToUserSpace(const WebCore::FloatRect&); virtual void didNotHandleKeyEvent(const WebKit::NativeWebKeyboardEvent&); virtual void selectionChanged(bool, bool, bool, bool); virtual PassRefPtr createPopupMenuProxy(WebKit::WebPageProxy*); virtual PassRefPtr createContextMenuProxy(WebKit::WebPageProxy*); virtual void setFindIndicator(PassRefPtr, bool fadeOut); virtual void didCommitLoadForMainFrame(bool useCustomRepresentation); virtual void didFinishLoadingDataForCustomRepresentation(const CoreIPC::DataReference&); virtual double customRepresentationZoomFactor() { return 1; } virtual void setCustomRepresentationZoomFactor(double) { } void paint(QPainter* painter, QRect); void keyPressEvent(QKeyEvent*); void keyReleaseEvent(QKeyEvent*); void mouseMoveEvent(QGraphicsSceneMouseEvent*); void mousePressEvent(QGraphicsSceneMouseEvent*); void mouseReleaseEvent(QGraphicsSceneMouseEvent*); void mouseDoubleClickEvent(QGraphicsSceneMouseEvent*); void wheelEvent(QGraphicsSceneWheelEvent*); void updateAction(QWKPage::WebAction action); void updateNavigationActions(); void updateEditorActions(); void setEditCommandState(const WTF::String&, bool, int); void _q_webActionTriggered(bool checked); void touchEvent(QTouchEvent*); QWKPage* q; QGraphicsItem* view; QWKContext* context; QWKHistory* history; QAction* actions[QWKPage::WebActionCount]; QWKPreferences* preferences; RefPtr page; WebCore::ViewportArguments viewportArguments; QWKPage::CreateNewPageFn createNewPageFn; QPoint tripleClick; QBasicTimer tripleClickTimer; }; class QtViewportAttributesPrivate : public QSharedData { public: QtViewportAttributesPrivate(QWKPage::ViewportAttributes* qq) : q(qq) { } QWKPage::ViewportAttributes* q; }; #endif /* qkpage_p_h */