void PWidget::eventMove(QObject *, QEvent *e) { PukeMessage pm; widgetId wI; QMoveEvent *me = Q_MOVE_EVENT(e); wI = widgetIden(); pm.iCommand = - e->type() - 1020; // 1020 offset for events pm.iWinId = wI.iWinId; pm.iArg = 0; // special cArg handling pm.iTextSize = 4*sizeof(int); int *icArg = new int[4]; icArg[0] = me->pos().x(); icArg[1] = me->pos().y(); icArg[2] = me->oldPos().x(); icArg[3] = me->oldPos().y(); pm.cArg = (char *) icArg; emit outputMessage(wI.fd, &pm); delete[] icArg; }
bool CACanvasItem::eventFilter(QObject* o, QEvent* e) { if (o == m_koCanvasGraphicsWidget) { if (e->type() == QEvent::Move) { m_shouldIgnoreGeometryChange = true; QMoveEvent *moveEvent = static_cast<QMoveEvent*>(e); setPos(QPointF(moveEvent->pos())); } else if (e->type() == QEvent::Resize) { m_shouldIgnoreGeometryChange = true; QResizeEvent *resizeEvent = static_cast<QResizeEvent*>(e); setWidth(resizeEvent->size().width()); setHeight(resizeEvent->size().height()); } else if (m_editable) { return false; } else if (e->type() == QEvent::MouseButtonPress || e->type() == QEvent::MouseButtonRelease || e->type() == QEvent::MouseMove || e->type() == QEvent::MouseTrackingChange) { return true; } else { return false; } } QTimer::singleShot(0, this, SLOT(resetShouldIgnoreGeometryChange())); return QDeclarativeItem::eventFilter(o, e); }
bool ExtendWidget::eventFilter(QObject *o, QEvent *e) { Q_D(ExtendWidget); if (o == d->target) { if (e->type() == QEvent::Resize) { QResizeEvent *event = static_cast<QResizeEvent *>(e); if (event) { QSize size = event->size(); if (size.width() != d->old_size.width()) { emit widthChanged(size.width()); } if (size.height() != d->old_size.height()) { emit heightChanged(size.height()); } if (size != d->old_size) { emit sizeChanged(size); } d->old_size = size; } } else if (e->type() == QEvent::Move) { QMoveEvent *event = static_cast<QMoveEvent *>(e); if (event) { QPoint pos = event->pos(); if (pos.x() != d->old_pos.x()) { emit xChanged(pos.x()); } if (pos.y() != d->old_pos.y()) { emit yChanged(pos.y()); } if (pos != d->old_pos) { emit positionChanged(pos); } d->old_pos = pos; } } } return false; }
static PyObject *meth_QMoveEvent_pos(PyObject *sipSelf, PyObject *sipArgs) { PyObject *sipParseErr = NULL; { QMoveEvent *sipCpp; if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QMoveEvent, &sipCpp)) { QPoint *sipRes; Py_BEGIN_ALLOW_THREADS sipRes = new QPoint(sipCpp->pos()); Py_END_ALLOW_THREADS return sipConvertFromNewType(sipRes,sipType_QPoint,NULL); } }
bool CandidateWindowProxy::eventFilter(QObject *obj, QEvent *event) { if (obj == window) { if (event->type() == QEvent::Move) { QWidget *widget = QApplication::focusWidget(); if (widget) { QRect rect = widget->inputMethodQuery(Qt::ImMicroFocus).toRect(); QPoint p = widget->mapToGlobal(rect.topLeft()); layoutWindow(p.x(), p.y(), rect.height()); } else { QMoveEvent *moveEvent = static_cast<QMoveEvent *>(event); QPoint p = moveEvent->pos() - moveEvent->oldPos(); execute("move_candwin\f" + QString::number(p.x()) + '\f' + QString::number(p.y())); } } return false; } return QObject::eventFilter(obj, event); }
bool UIVMInformationDialog::event(QEvent *pEvent) { /* Pre-process through base-class: */ const bool fResult = QIMainWindow::event(pEvent); /* Process required events: */ switch (pEvent->type()) { /* Handle Resize event to keep track of the geometry: */ case QEvent::Resize: { if (isVisible() && (windowState() & (Qt::WindowMaximized | Qt::WindowMinimized | Qt::WindowFullScreen)) == 0) { QResizeEvent *pResizeEvent = static_cast<QResizeEvent*>(pEvent); m_geometry.setSize(pResizeEvent->size()); } break; } /* Handle Move event to keep track of the geometry: */ case QEvent::Move: { if (isVisible() && (windowState() & (Qt::WindowMaximized | Qt::WindowMinimized | Qt::WindowFullScreen)) == 0) { #ifdef VBOX_WS_MAC QMoveEvent *pMoveEvent = static_cast<QMoveEvent*>(pEvent); m_geometry.moveTo(pMoveEvent->pos()); #else /* VBOX_WS_MAC */ m_geometry.moveTo(geometry().x(), geometry().y()); #endif /* !VBOX_WS_MAC */ } break; } default: break; } /* Return result: */ return fResult; }
bool QtEvent::eventFilter(QObject *target, QEvent *event) { int type = event->type(); void *func = m_hash.value(type); if (func != 0) { int accept = event->isAccepted() ? 1 : 0; switch(type) { case QEvent::Create: case QEvent::Close: case QEvent::Show: case QEvent::Hide: case QEvent::Enter: case QEvent::Leave: { base_event ev = {accept}; drv_callback(func,&ev,0,0,0); event->setAccepted(ev.accept != 0); break; } case QEvent::FocusIn: case QEvent::FocusOut: { QFocusEvent *e = (QFocusEvent*)event; focus_event ev = {accept,e->reason()}; drv_callback(func,&ev,0,0,0); event->setAccepted(ev.accept != 0); break; } case QEvent::Timer: { QTimerEvent *e = (QTimerEvent*)event; timer_event ev = {accept,e->timerId()}; drv_callback(func,&ev,0,0,0); event->setAccepted(ev.accept != 0); break; } case QEvent::HoverEnter: case QEvent::HoverLeave: case QEvent::HoverMove: { QHoverEvent *e = (QHoverEvent*)event; const QPoint &pt = e->pos(); const QPoint &opt = e->oldPos(); hover_event ev = {accept,pt.x(),pt.y(),opt.x(),opt.y()}; drv_callback(func,&ev,0,0,0); event->setAccepted(ev.accept != 0); break; } case QEvent::KeyPress: case QEvent::KeyRelease: { QKeyEvent *e = (QKeyEvent*)event; string_head sh; drvSetString(&sh,e->text()); key_event ev = {accept,e->modifiers(),e->count(),e->isAutoRepeat()?1:0,e->key(),e->nativeModifiers(),e->nativeScanCode(),e->nativeVirtualKey(),&sh}; drv_callback(func,&ev,0,0,0); event->setAccepted(ev.accept != 0); break; } case QEvent::MouseButtonPress: case QEvent::MouseButtonRelease: case QEvent::MouseButtonDblClick: case QEvent::MouseMove: { QMouseEvent *e = (QMouseEvent*)event; const QPoint &gpt = e->globalPos(); const QPoint &pt = e->pos(); mouse_event ev = {accept,e->modifiers(),e->button(),e->buttons(),gpt.x(),gpt.y(),pt.x(),pt.y()}; drv_callback(func,&ev,0,0,0); event->setAccepted(ev.accept != 0); break; } case QEvent::Move: { QMoveEvent *e = (QMoveEvent*)event; const QPoint &pt = e->pos(); const QPoint &opt = e->oldPos(); move_event ev = {accept,pt.x(),pt.y(),opt.x(),opt.y()}; drv_callback(func,&ev,0,0,0); event->setAccepted(ev.accept != 0); break; } case QEvent::Resize: { QResizeEvent *e = (QResizeEvent*)event; const QSize &sz = e->size(); const QSize &osz = e->oldSize(); resize_event ev = {accept,sz.width(),sz.height(),osz.width(),osz.height()}; drv_callback(func,&ev,0,0,0); event->setAccepted(ev.accept != 0); break; } case QEvent::Paint: { QPaintEvent *e = (QPaintEvent*)event; const QRect &rc = e->rect(); paint_event ev = {accept,rc.x(),rc.y(),rc.width(),rc.height()}; drv_callback(func,&ev,0,0,0); event->setAccepted(ev.accept != 0); break; } default: { return QObject::eventFilter(target,event); } } return true; } return QObject::eventFilter(target,event); }
bool AQEventFilter::eventFilter(QObject *obj, QEvent *ev) #endif { if (AQWEBAPP->ignoreEvents_ || ev->aq_ignore || !obj->isWidgetType()) #ifdef AQ_USE_NOTIFY return QApplication::notify(obj, ev); #else return false; #endif switch (ev->type()) { case QEvent::Show: { ev->aq_ignore = true; QApplication::sendEvent(obj, ev); ev->aq_ignore = false; AQWEBAPP->postAQEvent(new AQEvent(obj, new QEvent(QEvent::Show))); return true; } case QEvent::Hide: { ev->aq_ignore = true; QApplication::sendEvent(obj, ev); ev->aq_ignore = false; QWidget *w = AQ_WIDGET(obj); if (w->isTopLevel()) { //printf("hide %p %s\n", w, w->QObject::name()); //if (AQWEBAPP->lastDeactivate_) // printf("hide lastDeactivate_ %p %s\n", AQWEBAPP->lastDeactivate_, AQWEBAPP->lastDeactivate_->QObject::name()); if (AQWEBAPP->lastDeactivate_ == w) AQWEBAPP->lastDeactivate_ = 0; AQWidgetInfo *wInfo = AQWEBAPP->createdWidgets_.find(w); if (wInfo && wInfo->backActive_) { //printf("hide backActive_ %p %s\n", wInfo->backActive_, wInfo->backActive_->QObject::name()); if (AQWEBAPP->createdWidgets_.find(wInfo->backActive_)) wInfo->backActive_->setActiveWindow(); wInfo->backActive_ = 0; } } AQWEBAPP->postAQEvent(new AQEvent(obj, new QEvent(QEvent::Hide))); //break; return true; } case QEvent::Move: { QMoveEvent *mv = static_cast<QMoveEvent *>(ev); if (mv->pos() != mv->oldPos()) AQWEBAPP->postAQEvent(new AQEvent(obj, new QMoveEvent(mv->pos(), mv->oldPos()))); break; } case QEvent::Resize: { QResizeEvent *rs = static_cast<QResizeEvent *>(ev); if (rs->size() != rs->oldSize()) AQWEBAPP->postAQEvent(new AQEvent(obj, new QResizeEvent(rs->size(), rs->oldSize()))); break; } case QEvent::Reparent: { AQWEBAPP->postAQEvent(new AQEvent(obj, new QEvent(QEvent::Reparent))); break; } case QEvent::WindowActivate: { QWidget *w = AQ_WIDGET(obj); if (w->isTopLevel()) { //printf("activate %p %s\n", w, w->QObject::name()); if (AQWEBAPP->lastDeactivate_ && AQWEBAPP->lastDeactivate_ != w) { AQWidgetInfo *wInfo = AQWEBAPP->createdWidgets_.find(w); if (wInfo) { wInfo->backActive_ = AQWEBAPP->lastDeactivate_; //printf("activate backActive_ %p %s\n", wInfo->backActive_, wInfo->backActive_->QObject::name()); } } AQWEBAPP->postAQEvent(new AQEvent(obj, new QEvent(QEvent::WindowActivate))); } break; } case QEvent::WindowDeactivate: { QWidget *w = AQ_WIDGET(obj); if (w->isTopLevel()) { //printf("deactivate %p %s\n", w, w->QObject::name()); AQWEBAPP->lastDeactivate_ = w; AQWEBAPP->postAQEvent(new AQEvent(obj, new QEvent(QEvent::WindowDeactivate))); } break; } case QEvent::CaptionChange: { QWidget *w = AQ_WIDGET(obj); if (w->isTopLevel() && !w->isPopup()) aq_notify_gui_args_event(w, "xgen", QString::fromLatin1("caption:") + w->caption()); break; } case QEvent::IconChange: { QWidget *w = AQ_WIDGET(obj); if (w->isTopLevel() && !w->isPopup()) aq_notify_gui_args_event(w, "xgen", QString::fromLatin1("icon:") + QString::number(aq_store_pixmap(w, w->icon()), 36)); break; } } #ifdef AQ_USE_NOTIFY return QApplication::notify(obj, ev); #else return false; #endif }
bool MainWindow::eventFilter(QObject *obj, QEvent *ev) { if (obj == m_renderWindow) { switch (ev->type()) { case QEvent::Close: emulationStop(); return false; break; case QEvent::MouseButtonDblClick: actionFullScreen->toggle(); return true; break; case QEvent::KeyRelease: { QKeyEvent* qke = static_cast<QKeyEvent*>(ev); foreach (QObject* child, children()) { if (QAction*a = qobject_cast<QAction*>(child)) { QKeySequence seq(qke->key() + qke->modifiers()); if (seq == a->shortcut()) { a->activate(QAction::Trigger); } } } } // fall through case QEvent::KeyPress: { QKeyEvent* qke = static_cast<QKeyEvent*>(ev); core::WPARAM wParam = 0; core::LPARAM lParam = 0; int key = qke->key(); if ((key >= Qt::Key_0 && key <= Qt::Key_9) || (key >= Qt::Key_A && key <= Qt::Key_Z)) { // In these cases the Qt and windows definitions match wParam = (core::WPARAM) key; } else if (key >= Qt::Key_Left && key <= Qt::Key_Down) { wParam = (core::WPARAM) key - Qt::Key_Down + VK_DOWN; } else if (key == Qt::Key_Return || key == Qt::Key_Enter) { wParam = VK_RETURN; } else if (key == Qt::Key_Space) { wParam = VK_SPACE; } if (ev->type() == QEvent::KeyRelease) { core::keyUp(wParam, lParam); } else { core::keyDown(wParam, lParam); } } return false; break; case QEvent::Move: { if (core::moveScreen) { QMoveEvent* qme = static_cast<QMoveEvent*>(ev); QPoint p = qme->pos(); core::moveScreen(p.x(), p.y()); } } return false; break; default: return false; break; } } else { return QMainWindow::eventFilter(obj, ev);