return result;
}
+
+bool QWebPage::event(QEvent *ev)
+{
+ switch (ev->type()) {
+ case QEvent::MouseMove:
+ mouseMoveEvent(static_cast<QMouseEvent*>(ev));
+ break;
+ case QEvent::MouseButtonPress:
+ mousePressEvent(static_cast<QMouseEvent*>(ev));
+ break;
+ case QEvent::MouseButtonDblClick:
+ mouseDoubleClickEvent(static_cast<QMouseEvent*>(ev));
+ break;
+ case QEvent::MouseButtonRelease:
+ mouseReleaseEvent(static_cast<QMouseEvent*>(ev));
+ break;
+ case QEvent::ContextMenu:
+ contextMenuEvent(static_cast<QContextMenuEvent*>(ev));
+ break;
+ case QEvent::Wheel:
+ wheelEvent(static_cast<QWheelEvent*>(ev));
+ break;
+ case QEvent::KeyPress:
+ keyPressEvent(static_cast<QKeyEvent*>(ev));
+ break;
+ case QEvent::KeyRelease:
+ keyReleaseEvent(static_cast<QKeyEvent*>(ev));
+ break;
+ case QEvent::FocusIn:
+ focusInEvent(static_cast<QFocusEvent*>(ev));
+ break;
+ case QEvent::FocusOut:
+ focusOutEvent(static_cast<QFocusEvent*>(ev));
+ break;
+ case QEvent::DragEnter:
+ dragEnterEvent(static_cast<QDragEnterEvent*>(ev));
+ break;
+ case QEvent::DragLeave:
+ dragLeaveEvent(static_cast<QDragLeaveEvent*>(ev));
+ break;
+ case QEvent::DragMove:
+ dragMoveEvent(static_cast<QDragMoveEvent*>(ev));
+ break;
+ case QEvent::Drop:
+ dropEvent(static_cast<QDropEvent*>(ev));
+ break;
+ default:
+ return QObject::event(ev);
+ }
+
+ return true;
+}
+
void QWebPage::mouseMoveEvent(QMouseEvent *ev)
{
QWebFrame *f = d->currentFrame(ev->pos());
QSize viewportSize() const;
void setViewportSize(const QSize &size) const;
+ virtual bool event(QEvent*);
+ virtual bool focusNextPrevChild(bool next);
+
Q_SIGNALS:
/**
* Signal is emitted when the global progress status changes.
virtual QString userAgentFor(const QUrl& url) const;
- virtual void mouseMoveEvent(QMouseEvent*);
- virtual void mousePressEvent(QMouseEvent*);
- virtual void mouseDoubleClickEvent(QMouseEvent*);
- virtual void mouseReleaseEvent(QMouseEvent*);
- virtual void contextMenuEvent(QContextMenuEvent*);
- virtual void wheelEvent(QWheelEvent*);
- virtual void keyPressEvent(QKeyEvent*);
- virtual void keyReleaseEvent(QKeyEvent*);
- virtual void focusInEvent(QFocusEvent*);
- virtual void focusOutEvent(QFocusEvent*);
- virtual bool focusNextPrevChild(bool next);
- virtual void dragEnterEvent(QDragEnterEvent *);
- virtual void dragLeaveEvent(QDragLeaveEvent *);
- virtual void dragMoveEvent(QDragMoveEvent *);
- virtual void dropEvent(QDropEvent *);
+
+private:
+ void mouseMoveEvent(QMouseEvent*);
+ void mousePressEvent(QMouseEvent*);
+ void mouseDoubleClickEvent(QMouseEvent*);
+ void mouseReleaseEvent(QMouseEvent*);
+ void contextMenuEvent(QContextMenuEvent*);
+ void wheelEvent(QWheelEvent*);
+ void keyPressEvent(QKeyEvent*);
+ void keyReleaseEvent(QKeyEvent*);
+ void focusInEvent(QFocusEvent*);
+ void focusOutEvent(QFocusEvent*);
+
+ void dragEnterEvent(QDragEnterEvent *);
+ void dragLeaveEvent(QDragLeaveEvent *);
+ void dragMoveEvent(QDragMoveEvent *);
+ void dropEvent(QDropEvent *);
private:
Q_PRIVATE_SLOT(d, void _q_onLoadProgressChanged(int))
qDebug()<<"paint event on "<<ev->region()<<", took to render = "<<elapsed;
#endif
}
+
+void QWebView::mouseMoveEvent(QMouseEvent* ev)
+{
+ d->page->event(ev);
+}
+
+void QWebView::mousePressEvent(QMouseEvent* ev)
+{
+ d->page->event(ev);
+}
+
+void QWebView::mouseDoubleClickEvent(QMouseEvent* ev)
+{
+ d->page->event(ev);
+}
+
+void QWebView::mouseReleaseEvent(QMouseEvent* ev)
+{
+ d->page->event(ev);
+}
+
+void QWebView::contextMenuEvent(QContextMenuEvent* ev)
+{
+ d->page->event(ev);
+}
+
+void QWebView::wheelEvent(QWheelEvent* ev)
+{
+ d->page->event(ev);
+}
+
+void QWebView::keyPressEvent(QKeyEvent* ev)
+{
+ d->page->event(ev);
+}
+
+void QWebView::keyReleaseEvent(QKeyEvent* ev)
+{
+ d->page->event(ev);
+}
+
+void QWebView::focusInEvent(QFocusEvent* ev)
+{
+ d->page->event(ev);
+}
+
+void QWebView::focusOutEvent(QFocusEvent* ev)
+{
+ d->page->event(ev);
+}
+
+void QWebView::dragEnterEvent(QDragEnterEvent* ev)
+{
+ d->page->event(ev);
+}
+
+void QWebView::dragLeaveEvent(QDragLeaveEvent* ev)
+{
+ d->page->event(ev);
+}
+
+void QWebView::dragMoveEvent(QDragMoveEvent* ev)
+{
+ d->page->event(ev);
+}
+
+void QWebView::dropEvent(QDropEvent* ev)
+{
+ d->page->event(ev);
+}
+
+bool QWebView::focusNextPrevChild(bool next)
+{
+ return d->page->focusNextPrevChild(next);
+}
+
void resizeEvent(QResizeEvent *e);
void paintEvent(QPaintEvent *ev);
+ virtual void mouseMoveEvent(QMouseEvent*);
+ virtual void mousePressEvent(QMouseEvent*);
+ virtual void mouseDoubleClickEvent(QMouseEvent*);
+ virtual void mouseReleaseEvent(QMouseEvent*);
+ virtual void contextMenuEvent(QContextMenuEvent*);
+ virtual void wheelEvent(QWheelEvent*);
+ virtual void keyPressEvent(QKeyEvent*);
+ virtual void keyReleaseEvent(QKeyEvent*);
+ virtual void dragEnterEvent(QDragEnterEvent *);
+ virtual void dragLeaveEvent(QDragLeaveEvent *);
+ virtual void dragMoveEvent(QDragMoveEvent *);
+ virtual void dropEvent(QDropEvent *);
+ virtual void focusInEvent(QFocusEvent*);
+ virtual void focusOutEvent(QFocusEvent*);
+
+ virtual bool focusNextPrevChild(bool next);
+
private:
QWebViewPrivate *d;
};
+2008-01-04 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
+
+ Reviewed by Simon.
+
+ * Forward the event from QWebView to QWebPage through QObject::event. This
+ is similar to the way QTextControl is working.
+
+
+ * Api/qwebpage.cpp:
+ (dragOpToDropAction):
+ (QWebPage::event):
+ * Api/qwebpage.h:
+ * Api/qwebview.cpp:
+ (QWebView::mouseMoveEvent):
+ (QWebView::mousePressEvent):
+ (QWebView::mouseDoubleClickEvent):
+ (QWebView::mouseReleaseEvent):
+ (QWebView::contextMenuEvent):
+ (QWebView::wheelEvent):
+ (QWebView::keyPressEvent):
+ (QWebView::keyReleaseEvent):
+ (QWebView::focusInEvent):
+ (QWebView::focusOutEvent):
+ (QWebView::dragEnterEvent):
+ (QWebView::dragLeaveEvent):
+ (QWebView::dragMoveEvent):
+ (QWebView::dropEvent):
+ * Api/qwebview.h:
+
2008-01-04 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.