2008-04-19 15:31:50 +00:00
|
|
|
#include "mozqwidget.h"
|
2008-04-19 15:37:51 +00:00
|
|
|
#include "nsWindow.h"
|
2008-04-19 15:31:50 +00:00
|
|
|
#include <qevent.h>
|
|
|
|
|
2008-04-19 15:37:51 +00:00
|
|
|
MozQWidget::MozQWidget(nsWindow *receiver, QWidget *parent,
|
2008-04-19 15:31:50 +00:00
|
|
|
const char *name, int f)
|
|
|
|
: QWidget(parent, (Qt::WindowFlags)f),
|
|
|
|
mReceiver(receiver)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
bool MozQWidget::event(QEvent *e)
|
|
|
|
{
|
|
|
|
bool ignore = false;
|
|
|
|
if (!mReceiver) return !ignore;
|
|
|
|
switch(e->type()) {
|
|
|
|
/*
|
|
|
|
case QEvent::Accessibility:
|
|
|
|
{
|
|
|
|
qDebug("accessibility event received");
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
*/
|
|
|
|
case QEvent::MouseButtonPress:
|
|
|
|
{
|
|
|
|
QMouseEvent *ms = (QMouseEvent*)(e);
|
2008-04-19 15:37:51 +00:00
|
|
|
ignore = mReceiver->OnButtonPressEvent(ms);
|
2008-04-19 15:31:50 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::MouseButtonRelease:
|
|
|
|
{
|
|
|
|
QMouseEvent *ms = (QMouseEvent*)(e);
|
2008-04-19 15:37:51 +00:00
|
|
|
ignore = mReceiver->OnButtonReleaseEvent(ms);
|
2008-04-19 15:31:50 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::MouseButtonDblClick:
|
|
|
|
{
|
|
|
|
QMouseEvent *ms = (QMouseEvent*)(e);
|
|
|
|
ignore = mReceiver->mouseDoubleClickEvent(ms);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::MouseMove:
|
|
|
|
{
|
|
|
|
QMouseEvent *ms = (QMouseEvent*)(e);
|
2008-04-19 15:37:51 +00:00
|
|
|
ignore = mReceiver->OnMotionNotifyEvent(ms);
|
2008-04-19 15:31:50 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::KeyPress:
|
|
|
|
{
|
|
|
|
QKeyEvent *kev = (QKeyEvent*)(e);
|
2008-04-19 15:37:51 +00:00
|
|
|
ignore = mReceiver->OnKeyPressEvent(kev);
|
2008-04-19 15:31:50 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::KeyRelease:
|
|
|
|
{
|
|
|
|
QKeyEvent *kev = (QKeyEvent*)(e);
|
2008-04-19 15:37:51 +00:00
|
|
|
ignore = mReceiver->OnKeyReleaseEvent(kev);
|
2008-04-19 15:31:50 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
/*
|
|
|
|
case QEvent::IMStart:
|
|
|
|
{
|
|
|
|
QIMEvent *iev = (QIMEvent*)(e);
|
|
|
|
ignore = mReceiver->imStartEvent(iev);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::IMCompose:
|
|
|
|
{
|
|
|
|
QIMEvent *iev = (QIMEvent*)(e);
|
|
|
|
ignore = mReceiver->imComposeEvent(iev);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::IMEnd:
|
|
|
|
{
|
|
|
|
QIMEvent *iev = (QIMEvent*)(e);
|
|
|
|
ignore = mReceiver->imEndEvent(iev);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
*/
|
|
|
|
case QEvent::FocusIn:
|
|
|
|
{
|
|
|
|
QFocusEvent *fev = (QFocusEvent*)(e);
|
2008-04-19 15:37:51 +00:00
|
|
|
mReceiver->OnContainerFocusInEvent(fev);
|
2008-04-19 15:31:50 +00:00
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::FocusOut:
|
|
|
|
{
|
|
|
|
QFocusEvent *fev = (QFocusEvent*)(e);
|
2008-04-19 15:37:51 +00:00
|
|
|
mReceiver->OnContainerFocusOutEvent(fev);
|
2008-04-19 15:31:50 +00:00
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::Enter:
|
|
|
|
{
|
2008-04-19 15:37:51 +00:00
|
|
|
ignore = mReceiver->OnEnterNotifyEvent(e);
|
2008-04-19 15:31:50 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::Leave:
|
|
|
|
{
|
2008-04-19 15:37:51 +00:00
|
|
|
ignore = mReceiver->OnLeaveNotifyEvent(e);
|
2008-04-19 15:31:50 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::Paint:
|
|
|
|
{
|
|
|
|
QPaintEvent *ev = (QPaintEvent*)(e);
|
2008-04-19 15:37:51 +00:00
|
|
|
mReceiver->OnExposeEvent(ev);
|
2008-04-19 15:31:50 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::Move:
|
|
|
|
{
|
|
|
|
QMoveEvent *mev = (QMoveEvent*)(e);
|
2008-04-19 15:37:51 +00:00
|
|
|
ignore = mReceiver->OnConfigureEvent(mev);
|
2008-04-19 15:31:50 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::Resize:
|
|
|
|
{
|
|
|
|
QResizeEvent *rev = (QResizeEvent*)(e);
|
2008-04-19 15:37:51 +00:00
|
|
|
ignore = mReceiver->OnSizeAllocate(rev);
|
2008-04-19 15:31:50 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::Show:
|
|
|
|
{
|
|
|
|
QShowEvent *sev = (QShowEvent*)(e);
|
|
|
|
mReceiver->showEvent(sev);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::Hide:
|
|
|
|
{
|
|
|
|
QHideEvent *hev = (QHideEvent*)(e);
|
|
|
|
ignore = mReceiver->hideEvent(hev);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::Close:
|
|
|
|
{
|
|
|
|
QCloseEvent *cev = (QCloseEvent*)(e);
|
2008-04-19 15:37:51 +00:00
|
|
|
ignore = mReceiver->OnDeleteEvent(cev);
|
2008-04-19 15:31:50 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::Wheel:
|
|
|
|
{
|
|
|
|
QWheelEvent *wev = (QWheelEvent*)(e);
|
2008-04-19 15:37:51 +00:00
|
|
|
ignore = mReceiver->OnScrollEvent(wev);
|
2008-04-19 15:31:50 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::ContextMenu:
|
|
|
|
{
|
|
|
|
QContextMenuEvent *cev = (QContextMenuEvent*)(e);
|
|
|
|
ignore = mReceiver->contextMenuEvent(cev);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::DragEnter:
|
|
|
|
{
|
|
|
|
QDragEnterEvent *dev = (QDragEnterEvent*)(e);
|
2008-04-19 15:37:51 +00:00
|
|
|
ignore = mReceiver->OnDragEnter(dev);
|
2008-04-19 15:31:50 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::DragMove:
|
|
|
|
{
|
|
|
|
QDragMoveEvent *dev = (QDragMoveEvent*)(e);
|
2008-04-19 15:37:51 +00:00
|
|
|
ignore = mReceiver->OnDragMotionEvent(dev);
|
2008-04-19 15:31:50 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::DragLeave:
|
|
|
|
{
|
|
|
|
QDragLeaveEvent *dev = (QDragLeaveEvent*)(e);
|
2008-04-19 15:37:51 +00:00
|
|
|
ignore = mReceiver->OnDragLeaveEvent(dev);
|
2008-04-19 15:31:50 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case QEvent::Drop:
|
|
|
|
{
|
|
|
|
QDropEvent *dev = (QDropEvent*)(e);
|
2008-04-19 15:37:51 +00:00
|
|
|
ignore = mReceiver->OnDragDropEvent(dev);
|
2008-04-19 15:31:50 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
QWidget::event(e);
|
|
|
|
|
|
|
|
return !ignore;
|
|
|
|
}
|
|
|
|
|
|
|
|
void MozQWidget::setModal(bool modal)
|
|
|
|
{
|
|
|
|
if (modal)
|
|
|
|
setWindowModality(Qt::ApplicationModal);
|
|
|
|
else
|
|
|
|
setWindowModality(Qt::NonModal);
|
|
|
|
}
|