ginebra2/ContentViews/WebContentViewWidget.h
changeset 16 3c88a81ff781
parent 9 b39122337a00
equal deleted inserted replaced
14:6aeb7a756187 16:3c88a81ff781
    21 
    21 
    22 #ifndef WebContentViewWidget_h
    22 #ifndef WebContentViewWidget_h
    23 #define WebContentViewWidget_h
    23 #define WebContentViewWidget_h
    24 
    24 
    25 #include <QGraphicsWidget>
    25 #include <QGraphicsWidget>
       
    26 #include "webpagedata.h"
    26 
    27 
    27 class QGraphicsWebView;
    28 class QGraphicsWebView;
    28 class QWebPage;
    29 class QWebPage;
    29 class QWebHitTestResult;
    30 class QWebHitTestResult;
    30 struct ZoomMetaData;
    31 class QWebFrame;
       
    32 class QWebHistoryItem;
    31 
    33 
    32 namespace GVA {
    34 namespace GVA {
    33 
    35 
    34 class ScrollableWebContentView;
    36 class ScrollableWebContentView;
    35 class WebContentAnimationItem;
       
    36 class WebView;
    37 class WebView;
       
    38 class GWebContentView;
    37 
    39 
    38 class WebContentViewWidget : public QGraphicsWidget {
    40 class WebContentViewWidget : public QGraphicsWidget {
    39     Q_OBJECT
    41     Q_OBJECT
    40     Q_PROPERTY(QWebPage* page READ page WRITE setPage)
    42     Q_PROPERTY(QWebPage* page READ page WRITE setPage)
    41 
    43 
    42 public:
    44 public:
    43     WebContentViewWidget(QObject* parent, QWebPage* page = 0);
    45     WebContentViewWidget(QObject* parent, GWebContentView* view, QWebPage* page = 0);
    44     ~WebContentViewWidget();
    46     ~WebContentViewWidget();
    45 
    47 
    46     void resizeEvent(QGraphicsSceneResizeEvent* event);
    48     void resizeEvent(QGraphicsSceneResizeEvent* event);
    47 
    49 
    48     QWebPage* page();
    50     QWebPage* page();
    49     void setPage(QWebPage* page);
    51     void setPage(QWebPage* page);
    50 
    52 
    51     QGraphicsWebView* webView();
    53     QGraphicsWebView* webView() const;
       
    54     QGraphicsWidget* viewPort() const;
       
    55     GWebContentView* view() const { return m_webContentView; }
    52     void setPageZoom(bool zoomIn);
    56     void setPageZoom(bool zoomIn);
    53 
    57 
    54     ZoomMetaData currentPageInfo();
    58     WebPageData pageDataFromViewportInfo();
    55     void setCurrentPageInfo(ZoomMetaData);
    59     void setPageDataToViewportInfo(const WebPageData&);
    56     ZoomMetaData defaultZoomData();
    60     WebPageData defaultZoomData();
    57     void showPage(bool isSuperPage);
    61     void showPage(bool isSuperPage);
    58     void updatePreferredContentSize();
    62     void updatePreferredContentSize();
    59     void setGesturesEnabled(bool value);
    63     void setGesturesEnabled(bool value);
    60     bool gesturesEnabled();
    64     bool gesturesEnabled();
    61 
    65     bool event(QEvent * e);
       
    66     
    62 Q_SIGNALS:
    67 Q_SIGNALS:
    63     void updateZoomActions(bool enableZoomIn, bool enableZoomOut);
    68     void updateZoomActions(bool enableZoomIn, bool enableZoomOut);
    64     void contextEventObject(QWebHitTestResult* eventTarget);
    69     
    65     void viewScrolled(QPoint& scrollPos, QPoint& delta);
    70     void contextEventObject(QWebHitTestResult* eventTarget, QPointF position);
       
    71     
       
    72     void viewScrolled(QPoint& scrollPos,QPoint& delta);
    66     void mouseEvent(QEvent::Type type);
    73     void mouseEvent(QEvent::Type type);
    67 
    74 
       
    75 #ifdef Q_WS_MAEMO_5
       
    76 protected slots:
       
    77     void onContextEventObject(QWebHitTestResult* hitTest, QPointF position);
       
    78 #endif
       
    79 
       
    80 public slots:
       
    81     void restoreViewportFromHistory(QWebFrame*);
       
    82     void saveViewportToHistory(QWebFrame*, QWebHistoryItem*);
       
    83 
    68 private:
    84 private:
       
    85     GWebContentView* m_webContentView;
    69     WebView* m_webView;
    86     WebView* m_webView;
    70     ScrollableWebContentView* m_webViewport;
    87     ScrollableWebContentView* m_webViewport;
    71     WebContentAnimationItem* m_webViewportProxy;
       
    72 };
    88 };
    73 
    89 
    74 }// namespace GVA
    90 }// namespace GVA
    75 
    91 
    76 #endif //WebContentViewWidget_h
    92 #endif //WebContentViewWidget_h