void Ut_VolumeBar::testMousePressesAndMovesUpdatePercentage() { volumeBar->setGeometry(QRectF(0, 0, 50, 30)); mWidgetIsOnDisplay = false; QGraphicsSceneMouseEvent event; event.setPos(QPointF(25, 10)); volumeBar->mousePressEvent(&event); QCOMPARE(event.isAccepted(), true); QCOMPARE(volumeBar->currentPercentage(), (volumeBar->geometry().height() - event.pos().y()) / volumeBar->geometry().height()); event.setPos(QPointF(35, 20)); volumeBar->mouseMoveEvent(&event); QCOMPARE(volumeBar->currentPercentage(), (volumeBar->geometry().height() - event.pos().y()) / volumeBar->geometry().height()); }
dmz::V8Value dmz::JsModuleUiV8QtBasic::_gscene_mouse_event_pos (const v8::Arguments &Args) { v8::HandleScope scope; V8Value result = v8::Undefined (); JsModuleUiV8QtBasic *self = _to_self (Args); if (self) { QGraphicsSceneMouseEvent *event = (QGraphicsSceneMouseEvent *)self->_to_qevent (Args.This ()); if (event) { result = qpointf_to_v8 (event->pos ()); } } return scope.Close (result); }
bool SelectionArrowItem::sceneEvent(QEvent *event) { if (event->type() == QEvent::GraphicsSceneMouseMove) { QGraphicsSceneMouseEvent *e = static_cast<QGraphicsSceneMouseEvent *>(event); qreal diffPosY = e->pos().y() - e->lastPos().y(); if (pos().y() + diffPosY > initPos.y() + 130) diffPosY = initPos.y() + 130 - pos().y(); if (pos().y() + diffPosY < initPos.y() - 30) diffPosY = initPos.y() - 30 - pos().y(); moveBy(0, diffPosY); emit circleMoved(); return true; } return false; }
bool MovablePathItem::sceneEvent(QEvent *event) { if (event->type() == QEvent::GraphicsSceneMouseMove) { QGraphicsSceneMouseEvent *e = static_cast<QGraphicsSceneMouseEvent *>(event); qreal diffPosY = e->pos().y() - e->lastPos().y(); if (_currentRect.bottom() * 160 + diffPosY > 160) diffPosY = 160 - _currentRect.bottom() * 160; if (_currentRect.top() * 160 + diffPosY < 0) diffPosY = -_currentRect.top() * 160; updatePath(); _currentRect.translate(0, diffPosY / 160.); emit moved(_currentRect.top(), _currentRect.bottom()); return true; } return false; }
static QEvent *cloneEvent(QEvent *e) { switch (e->type()) { case QEvent::MouseButtonPress: case QEvent::MouseButtonRelease: case QEvent::MouseButtonDblClick: case QEvent::MouseMove: return new QMouseEvent(*static_cast<QMouseEvent*>(e)); case QEvent::KeyPress: case QEvent::KeyRelease: return new QKeyEvent(*static_cast<QKeyEvent*>(e)); case QEvent::FocusIn: case QEvent::FocusOut: return new QFocusEvent(*static_cast<QFocusEvent*>(e)); case QEvent::Enter: return new QEvent(*e); case QEvent::Leave: return new QEvent(*e); break; case QEvent::Paint: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::Move: return new QMoveEvent(*static_cast<QMoveEvent*>(e)); case QEvent::Resize: return new QResizeEvent(*static_cast<QResizeEvent*>(e)); case QEvent::Create: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::Destroy: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::Show: return new QShowEvent(*static_cast<QShowEvent*>(e)); case QEvent::Hide: return new QHideEvent(*static_cast<QHideEvent*>(e)); case QEvent::Close: return new QCloseEvent(*static_cast<QCloseEvent*>(e)); case QEvent::Quit: return new QEvent(*e); case QEvent::ParentChange: return new QEvent(*e); case QEvent::ParentAboutToChange: return new QEvent(*e); case QEvent::ThreadChange: return new QEvent(*e); case QEvent::WindowActivate: case QEvent::WindowDeactivate: return new QEvent(*e); case QEvent::ShowToParent: return new QEvent(*e); case QEvent::HideToParent: return new QEvent(*e); #ifndef QT_NO_WHEELEVENT case QEvent::Wheel: return new QWheelEvent(*static_cast<QWheelEvent*>(e)); #endif //QT_NO_WHEELEVENT case QEvent::WindowTitleChange: return new QEvent(*e); case QEvent::WindowIconChange: return new QEvent(*e); case QEvent::ApplicationWindowIconChange: return new QEvent(*e); case QEvent::ApplicationFontChange: return new QEvent(*e); case QEvent::ApplicationLayoutDirectionChange: return new QEvent(*e); case QEvent::ApplicationPaletteChange: return new QEvent(*e); case QEvent::PaletteChange: return new QEvent(*e); case QEvent::Clipboard: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::Speech: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::MetaCall: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::SockAct: return new QEvent(*e); case QEvent::WinEventAct: return new QEvent(*e); case QEvent::DeferredDelete: return new QEvent(*e); #ifndef QT_NO_DRAGANDDROP case QEvent::DragEnter: return new QDragEnterEvent(*static_cast<QDragEnterEvent*>(e)); case QEvent::DragMove: return new QDragMoveEvent(*static_cast<QDragMoveEvent*>(e)); case QEvent::DragLeave: return new QDragLeaveEvent(*static_cast<QDragLeaveEvent*>(e)); case QEvent::Drop: return new QDropEvent(*static_cast<QDragMoveEvent*>(e)); case QEvent::DragResponse: return new QDragResponseEvent(*static_cast<QDragResponseEvent*>(e)); #endif case QEvent::ChildAdded: return new QChildEvent(*static_cast<QChildEvent*>(e)); case QEvent::ChildPolished: return new QChildEvent(*static_cast<QChildEvent*>(e)); #ifdef QT3_SUPPORT case QEvent::ChildInsertedRequest: return new QEvent(*e); case QEvent::ChildInserted: return new QChildEvent(*static_cast<QChildEvent*>(e)); case QEvent::LayoutHint: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; #endif case QEvent::ChildRemoved: return new QChildEvent(*static_cast<QChildEvent*>(e)); case QEvent::ShowWindowRequest: return new QEvent(*e); case QEvent::PolishRequest: return new QEvent(*e); case QEvent::Polish: return new QEvent(*e); case QEvent::LayoutRequest: return new QEvent(*e); case QEvent::UpdateRequest: return new QEvent(*e); case QEvent::UpdateLater: return new QEvent(*e); case QEvent::EmbeddingControl: return new QEvent(*e); case QEvent::ActivateControl: return new QEvent(*e); case QEvent::DeactivateControl: return new QEvent(*e); #ifndef QT_NO_CONTEXTMENU case QEvent::ContextMenu: return new QContextMenuEvent(*static_cast<QContextMenuEvent*>(e)); #endif case QEvent::InputMethod: return new QInputMethodEvent(*static_cast<QInputMethodEvent*>(e)); case QEvent::AccessibilityPrepare: return new QEvent(*e); #ifndef QT_NO_TABLETEVENT case QEvent::TabletMove: return new QTabletEvent(*static_cast<QTabletEvent*>(e)); #endif //QT_NO_TABLETEVENT case QEvent::LocaleChange: return new QEvent(*e); case QEvent::LanguageChange: return new QEvent(*e); case QEvent::LayoutDirectionChange: return new QEvent(*e); case QEvent::Style: return new QEvent(*e); #ifndef QT_NO_TABLETEVENT case QEvent::TabletPress: return new QTabletEvent(*static_cast<QTabletEvent*>(e)); case QEvent::TabletRelease: return new QTabletEvent(*static_cast<QTabletEvent*>(e)); #endif //QT_NO_TABLETEVENT case QEvent::OkRequest: return new QEvent(*e); case QEvent::HelpRequest: return new QEvent(*e); case QEvent::IconDrag: return new QIconDragEvent(*static_cast<QIconDragEvent*>(e)); case QEvent::FontChange: return new QEvent(*e); case QEvent::EnabledChange: return new QEvent(*e); case QEvent::ActivationChange: return new QEvent(*e); case QEvent::StyleChange: return new QEvent(*e); case QEvent::IconTextChange: return new QEvent(*e); case QEvent::ModifiedChange: return new QEvent(*e); case QEvent::MouseTrackingChange: return new QEvent(*e); case QEvent::WindowBlocked: return new QEvent(*e); case QEvent::WindowUnblocked: return new QEvent(*e); case QEvent::WindowStateChange: return new QWindowStateChangeEvent(*static_cast<QWindowStateChangeEvent*>(e)); case QEvent::ToolTip: return new QHelpEvent(*static_cast<QHelpEvent*>(e)); case QEvent::WhatsThis: return new QHelpEvent(*static_cast<QHelpEvent*>(e)); #ifndef QT_NO_STATUSTIP case QEvent::StatusTip: return new QStatusTipEvent(*static_cast<QStatusTipEvent*>(e)); #endif //QT_NO_STATUSTIP #ifndef QT_NO_ACTION case QEvent::ActionChanged: case QEvent::ActionAdded: case QEvent::ActionRemoved: return new QActionEvent(*static_cast<QActionEvent*>(e)); #endif case QEvent::FileOpen: return new QFileOpenEvent(*static_cast<QFileOpenEvent*>(e)); #ifndef QT_NO_SHORTCUT case QEvent::Shortcut: return new QShortcutEvent(*static_cast<QShortcutEvent*>(e)); #endif //QT_NO_SHORTCUT case QEvent::ShortcutOverride: return new QKeyEvent(*static_cast<QKeyEvent*>(e)); #ifdef QT3_SUPPORT case QEvent::Accel: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::AccelAvailable: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; #endif #ifndef QT_NO_WHATSTHIS case QEvent::WhatsThisClicked: return new QWhatsThisClickedEvent(*static_cast<QWhatsThisClickedEvent*>(e)); #endif //QT_NO_WHATSTHIS #ifndef QT_NO_TOOLBAR case QEvent::ToolBarChange: return new QToolBarChangeEvent(*static_cast<QToolBarChangeEvent*>(e)); #endif //QT_NO_TOOLBAR case QEvent::ApplicationActivate: return new QEvent(*e); case QEvent::ApplicationDeactivate: return new QEvent(*e); case QEvent::QueryWhatsThis: return new QHelpEvent(*static_cast<QHelpEvent*>(e)); case QEvent::EnterWhatsThisMode: return new QEvent(*e); case QEvent::LeaveWhatsThisMode: return new QEvent(*e); case QEvent::ZOrderChange: return new QEvent(*e); case QEvent::HoverEnter: case QEvent::HoverLeave: case QEvent::HoverMove: return new QHoverEvent(*static_cast<QHoverEvent*>(e)); case QEvent::AccessibilityHelp: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::AccessibilityDescription: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; #ifdef QT_KEYPAD_NAVIGATION case QEvent::EnterEditFocus: return new QEvent(*e); case QEvent::LeaveEditFocus: return new QEvent(*e); #endif case QEvent::AcceptDropsChange: return new QEvent(*e); #ifdef QT3_SUPPORT case QEvent::MenubarUpdated: return new QMenubarUpdatedEvent(*static_cast<QMenubarUpdatedEvent*>(e)); #endif case QEvent::ZeroTimerEvent: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; #ifndef QT_NO_GRAPHICSVIEW case QEvent::GraphicsSceneMouseMove: case QEvent::GraphicsSceneMousePress: case QEvent::GraphicsSceneMouseRelease: case QEvent::GraphicsSceneMouseDoubleClick: { QGraphicsSceneMouseEvent *me = static_cast<QGraphicsSceneMouseEvent*>(e); QGraphicsSceneMouseEvent *me2 = new QGraphicsSceneMouseEvent(me->type()); me2->setWidget(me->widget()); me2->setPos(me->pos()); me2->setScenePos(me->scenePos()); me2->setScreenPos(me->screenPos()); // ### for all buttons me2->setButtonDownPos(Qt::LeftButton, me->buttonDownPos(Qt::LeftButton)); me2->setButtonDownPos(Qt::RightButton, me->buttonDownPos(Qt::RightButton)); me2->setButtonDownScreenPos(Qt::LeftButton, me->buttonDownScreenPos(Qt::LeftButton)); me2->setButtonDownScreenPos(Qt::RightButton, me->buttonDownScreenPos(Qt::RightButton)); me2->setLastPos(me->lastPos()); me2->setLastScenePos(me->lastScenePos()); me2->setLastScreenPos(me->lastScreenPos()); me2->setButtons(me->buttons()); me2->setButton(me->button()); me2->setModifiers(me->modifiers()); return me2; } case QEvent::GraphicsSceneContextMenu: { QGraphicsSceneContextMenuEvent *me = static_cast<QGraphicsSceneContextMenuEvent*>(e); QGraphicsSceneContextMenuEvent *me2 = new QGraphicsSceneContextMenuEvent(me->type()); me2->setWidget(me->widget()); me2->setPos(me->pos()); me2->setScenePos(me->scenePos()); me2->setScreenPos(me->screenPos()); me2->setModifiers(me->modifiers()); me2->setReason(me->reason()); return me2; } case QEvent::GraphicsSceneHoverEnter: case QEvent::GraphicsSceneHoverMove: case QEvent::GraphicsSceneHoverLeave: { QGraphicsSceneHoverEvent *he = static_cast<QGraphicsSceneHoverEvent*>(e); QGraphicsSceneHoverEvent *he2 = new QGraphicsSceneHoverEvent(he->type()); he2->setPos(he->pos()); he2->setScenePos(he->scenePos()); he2->setScreenPos(he->screenPos()); he2->setLastPos(he->lastPos()); he2->setLastScenePos(he->lastScenePos()); he2->setLastScreenPos(he->lastScreenPos()); he2->setModifiers(he->modifiers()); return he2; } case QEvent::GraphicsSceneHelp: return new QHelpEvent(*static_cast<QHelpEvent*>(e)); case QEvent::GraphicsSceneDragEnter: case QEvent::GraphicsSceneDragMove: case QEvent::GraphicsSceneDragLeave: case QEvent::GraphicsSceneDrop: { QGraphicsSceneDragDropEvent *dde = static_cast<QGraphicsSceneDragDropEvent*>(e); QGraphicsSceneDragDropEvent *dde2 = new QGraphicsSceneDragDropEvent(dde->type()); dde2->setPos(dde->pos()); dde2->setScenePos(dde->scenePos()); dde2->setScreenPos(dde->screenPos()); dde2->setButtons(dde->buttons()); dde2->setModifiers(dde->modifiers()); return dde2; } case QEvent::GraphicsSceneWheel: { QGraphicsSceneWheelEvent *we = static_cast<QGraphicsSceneWheelEvent*>(e); QGraphicsSceneWheelEvent *we2 = new QGraphicsSceneWheelEvent(we->type()); we2->setPos(we->pos()); we2->setScenePos(we->scenePos()); we2->setScreenPos(we->screenPos()); we2->setButtons(we->buttons()); we2->setModifiers(we->modifiers()); we2->setOrientation(we->orientation()); we2->setDelta(we->delta()); return we2; } #endif case QEvent::KeyboardLayoutChange: return new QEvent(*e); case QEvent::DynamicPropertyChange: return new QDynamicPropertyChangeEvent(*static_cast<QDynamicPropertyChangeEvent*>(e)); #ifndef QT_NO_TABLETEVENT case QEvent::TabletEnterProximity: case QEvent::TabletLeaveProximity: return new QTabletEvent(*static_cast<QTabletEvent*>(e)); #endif //QT_NO_TABLETEVENT case QEvent::NonClientAreaMouseMove: case QEvent::NonClientAreaMouseButtonPress: case QEvent::NonClientAreaMouseButtonRelease: case QEvent::NonClientAreaMouseButtonDblClick: return new QMouseEvent(*static_cast<QMouseEvent*>(e)); case QEvent::MacSizeChange: return new QEvent(*e); case QEvent::ContentsRectChange: return new QEvent(*e); case QEvent::MacGLWindowChange: return new QEvent(*e); case QEvent::FutureCallOut: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; #ifndef QT_NO_GRAPHICSVIEW case QEvent::GraphicsSceneResize: { QGraphicsSceneResizeEvent *re = static_cast<QGraphicsSceneResizeEvent*>(e); QGraphicsSceneResizeEvent *re2 = new QGraphicsSceneResizeEvent(); re2->setOldSize(re->oldSize()); re2->setNewSize(re->newSize()); return re2; } case QEvent::GraphicsSceneMove: { QGraphicsSceneMoveEvent *me = static_cast<QGraphicsSceneMoveEvent*>(e); QGraphicsSceneMoveEvent *me2 = new QGraphicsSceneMoveEvent(); me2->setWidget(me->widget()); me2->setNewPos(me->newPos()); me2->setOldPos(me->oldPos()); return me2; } #endif case QEvent::CursorChange: return new QEvent(*e); case QEvent::ToolTipChange: return new QEvent(*e); case QEvent::NetworkReplyUpdated: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::GrabMouse: case QEvent::UngrabMouse: case QEvent::GrabKeyboard: case QEvent::UngrabKeyboard: return new QEvent(*e); case QEvent::TouchBegin: case QEvent::TouchUpdate: case QEvent::TouchEnd: return new QTouchEvent(*static_cast<QTouchEvent*>(e)); #ifndef QT_NO_GESTURES case QEvent::NativeGesture: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; #endif case QEvent::RequestSoftwareInputPanel: case QEvent::CloseSoftwareInputPanel: return new QEvent(*e); case QEvent::UpdateSoftKeys: return new QEvent(*e); case QEvent::User: case QEvent::MaxUser: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; default: ; } return qcoreStateMachineHandler()->cloneEvent(e); }
bool KisSketchView::sceneEvent(QEvent* event) { if (d->canvas && d->canvasWidget) { switch(event->type()) { case QEvent::GraphicsSceneMousePress: { QGraphicsSceneMouseEvent *gsmevent = static_cast<QGraphicsSceneMouseEvent*>(event); QMouseEvent mevent(QMouseEvent::MouseButtonPress, gsmevent->pos().toPoint(), gsmevent->button(), gsmevent->buttons(), gsmevent->modifiers()); QApplication::sendEvent(d->canvasWidget, &mevent); emit interactionStarted(); return true; } case QEvent::GraphicsSceneMouseMove: { QGraphicsSceneMouseEvent *gsmevent = static_cast<QGraphicsSceneMouseEvent*>(event); QMouseEvent mevent(QMouseEvent::MouseMove, gsmevent->pos().toPoint(), gsmevent->button(), gsmevent->buttons(), gsmevent->modifiers()); QApplication::sendEvent(d->canvasWidget, &mevent); update(); emit interactionStarted(); return true; } case QEvent::GraphicsSceneMouseRelease: { QGraphicsSceneMouseEvent *gsmevent = static_cast<QGraphicsSceneMouseEvent*>(event); QMouseEvent mevent(QMouseEvent::MouseButtonRelease, gsmevent->pos().toPoint(), gsmevent->button(), gsmevent->buttons(), gsmevent->modifiers()); QApplication::sendEvent(d->canvasWidget, &mevent); emit interactionStarted(); return true; } case QEvent::GraphicsSceneWheel: { QGraphicsSceneWheelEvent *gswevent = static_cast<QGraphicsSceneWheelEvent*>(event); QWheelEvent wevent(gswevent->pos().toPoint(), gswevent->delta(), gswevent->buttons(), gswevent->modifiers(), gswevent->orientation()); QApplication::sendEvent(d->canvasWidget, &wevent); emit interactionStarted(); return true; } case QEvent::GraphicsSceneHoverEnter: { QGraphicsSceneHoverEvent *hevent = static_cast<QGraphicsSceneHoverEvent*>(event); QHoverEvent e(QEvent::Enter, hevent->screenPos(), hevent->lastScreenPos()); QApplication::sendEvent(d->canvasWidget, &e); return true; } case QEvent::GraphicsSceneHoverLeave: { QGraphicsSceneHoverEvent *hevent = static_cast<QGraphicsSceneHoverEvent*>(event); QHoverEvent e(QEvent::Leave, hevent->screenPos(), hevent->lastScreenPos()); QApplication::sendEvent(d->canvasWidget, &e); return true; } case QEvent::TouchBegin: { QApplication::sendEvent(d->canvasWidget, event); event->accept(); emit interactionStarted(); return true; } case QEvent::TabletPress: case QEvent::TabletMove: case QEvent::TabletRelease: d->canvas->inputManager()->stopIgnoringEvents(); QApplication::sendEvent(d->canvasWidget, event); return true; default: if (QApplication::sendEvent(d->canvasWidget, event)) { emit interactionStarted(); return true; } } } return QDeclarativeItem::sceneEvent(event); }
/** * This scene event filter has been registered with all four corner grabber items. * When called, a pointer to the sending item is provided along with a generic * event. A dynamic_cast is used to determine if the event type is one of the events * we are interrested in. */ bool StateBox::sceneEventFilter ( QGraphicsItem * watched, QEvent * event ) { qDebug() << " QEvent == " + QString::number(event->type()); CornerGrabber * corner = dynamic_cast<CornerGrabber *>(watched); if ( corner == NULL) return false; // not expected to get here QGraphicsSceneMouseEvent * mevent = dynamic_cast<QGraphicsSceneMouseEvent*>(event); if ( mevent == NULL) { // this is not one of the mouse events we are interrested in return false; } switch (event->type() ) { // if the mouse went down, record the x,y coords of the press, record it inside the corner object case QEvent::GraphicsSceneMousePress: { corner->setMouseState(CornerGrabber::kMouseDown); corner->mouseDownX = mevent->pos().x(); corner->mouseDownY = mevent->pos().y(); } break; case QEvent::GraphicsSceneMouseRelease: { corner->setMouseState(CornerGrabber::kMouseReleased); } break; case QEvent::GraphicsSceneMouseMove: { corner->setMouseState(CornerGrabber::kMouseMoving ); } break; default: // we dont care about the rest of the events return false; break; } if ( corner->getMouseState() == CornerGrabber::kMouseMoving ) { qreal x = mevent->pos().x(), y = mevent->pos().y(); // depending on which corner has been grabbed, we want to move the position // of the item as it grows/shrinks accordingly. so we need to eitehr add // or subtract the offsets based on which corner this is. int XaxisSign = 0; int YaxisSign = 0; switch( corner->getCorner() ) { case 0: { XaxisSign = +1; YaxisSign = +1; } break; case 1: { XaxisSign = -1; YaxisSign = +1; } break; case 2: { XaxisSign = -1; YaxisSign = -1; } break; case 3: { XaxisSign = +1; YaxisSign = -1; } break; } // if the mouse is being dragged, calculate a new size and also re-position // the box to give the appearance of dragging the corner out/in to resize the box int xMoved = corner->mouseDownX - x; int yMoved = corner->mouseDownY - y; int newWidth = _width + ( XaxisSign * xMoved); if ( newWidth < 40 ) newWidth = 40; int newHeight = _height + (YaxisSign * yMoved) ; if ( newHeight < 40 ) newHeight = 40; int deltaWidth = newWidth - _width ; int deltaHeight = newHeight - _height ; adjustSize( deltaWidth , deltaHeight); deltaWidth *= (-1); deltaHeight *= (-1); if ( corner->getCorner() == 0 ) { int newXpos = this->pos().x() + deltaWidth; int newYpos = this->pos().y() + deltaHeight; this->setPos(newXpos, newYpos); } else if ( corner->getCorner() == 1 ) { int newYpos = this->pos().y() + deltaHeight; this->setPos(this->pos().x(), newYpos); } else if ( corner->getCorner() == 3 ) { int newXpos = this->pos().x() + deltaWidth; this->setPos(newXpos,this->pos().y()); } setCornerPositions(); this->update(); } return true;// true => do not send event to watched - we are finished with this event }
static QEvent *cloneEvent(QEvent *e) { switch (e->type()) { case QEvent::MouseButtonPress: case QEvent::MouseButtonRelease: case QEvent::MouseButtonDblClick: case QEvent::MouseMove: return new QMouseEvent(*static_cast<QMouseEvent*>(e)); case QEvent::KeyPress: case QEvent::KeyRelease: return new QKeyEvent(*static_cast<QKeyEvent*>(e)); case QEvent::FocusIn: case QEvent::FocusOut: return new QFocusEvent(*static_cast<QFocusEvent*>(e)); case QEvent::Enter: return new QEvent(*e); case QEvent::Leave: return new QEvent(*e); break; case QEvent::Paint: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::Move: return new QMoveEvent(*static_cast<QMoveEvent*>(e)); case QEvent::Resize: return new QResizeEvent(*static_cast<QResizeEvent*>(e)); case QEvent::Create: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::Destroy: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::Show: return new QShowEvent(*static_cast<QShowEvent*>(e)); case QEvent::Hide: return new QHideEvent(*static_cast<QHideEvent*>(e)); case QEvent::Close: return new QCloseEvent(*static_cast<QCloseEvent*>(e)); case QEvent::Quit: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ParentChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ParentAboutToChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ThreadChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::WindowActivate: case QEvent::WindowDeactivate: return new QEvent(*e); case QEvent::ShowToParent: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::HideToParent: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::Wheel: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::WindowTitleChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::WindowIconChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ApplicationWindowIconChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ApplicationFontChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ApplicationLayoutDirectionChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ApplicationPaletteChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::PaletteChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::Clipboard: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::Speech: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::MetaCall: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::SockAct: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::WinEventAct: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::DeferredDelete: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::DragEnter: return new QDragEnterEvent(*static_cast<QDragEnterEvent*>(e)); case QEvent::DragMove: return new QDragMoveEvent(*static_cast<QDragMoveEvent*>(e)); case QEvent::DragLeave: return new QDragLeaveEvent(*static_cast<QDragLeaveEvent*>(e)); case QEvent::Drop: return new QDropEvent(*static_cast<QDragMoveEvent*>(e)); case QEvent::DragResponse: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ChildAdded: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ChildPolished: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; #ifdef QT3_SUPPORT case QEvent::ChildInsertedRequest: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ChildInserted: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::LayoutHint: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; #endif case QEvent::ChildRemoved: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ShowWindowRequest: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::PolishRequest: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::Polish: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::LayoutRequest: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::UpdateRequest: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::UpdateLater: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::EmbeddingControl: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ActivateControl: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::DeactivateControl: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ContextMenu: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::InputMethod: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::AccessibilityPrepare: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::TabletMove: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::LocaleChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::LanguageChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::LayoutDirectionChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::Style: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::TabletPress: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::TabletRelease: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::OkRequest: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::HelpRequest: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::IconDrag: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::FontChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::EnabledChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ActivationChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::StyleChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::IconTextChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ModifiedChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::MouseTrackingChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::WindowBlocked: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::WindowUnblocked: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::WindowStateChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ToolTip: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::WhatsThis: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::StatusTip: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ActionChanged: case QEvent::ActionAdded: case QEvent::ActionRemoved: return new QActionEvent(*static_cast<QActionEvent*>(e)); case QEvent::FileOpen: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::Shortcut: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ShortcutOverride: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; #ifdef QT3_SUPPORT case QEvent::Accel: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::AccelAvailable: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; #endif case QEvent::WhatsThisClicked: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ToolBarChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ApplicationActivate: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ApplicationDeactivate: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::QueryWhatsThis: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::EnterWhatsThisMode: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::LeaveWhatsThisMode: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ZOrderChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::HoverEnter: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::HoverLeave: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::HoverMove: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::AccessibilityHelp: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::AccessibilityDescription: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; #ifdef QT_KEYPAD_NAVIGATION case QEvent::EnterEditFocus: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::LeaveEditFocus: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; #endif case QEvent::AcceptDropsChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::MenubarUpdated: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ZeroTimerEvent: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::GraphicsSceneMouseMove: case QEvent::GraphicsSceneMousePress: case QEvent::GraphicsSceneMouseRelease: case QEvent::GraphicsSceneMouseDoubleClick: { QGraphicsSceneMouseEvent *me = static_cast<QGraphicsSceneMouseEvent*>(e); QGraphicsSceneMouseEvent *me2 = new QGraphicsSceneMouseEvent(me->type()); me2->setWidget(me->widget()); me2->setPos(me->pos()); me2->setScenePos(me->scenePos()); me2->setScreenPos(me->screenPos()); // ### for all buttons me2->setButtonDownPos(Qt::LeftButton, me->buttonDownPos(Qt::LeftButton)); me2->setButtonDownPos(Qt::RightButton, me->buttonDownPos(Qt::RightButton)); me2->setButtonDownScreenPos(Qt::LeftButton, me->buttonDownScreenPos(Qt::LeftButton)); me2->setButtonDownScreenPos(Qt::RightButton, me->buttonDownScreenPos(Qt::RightButton)); me2->setLastPos(me->lastPos()); me2->setLastScenePos(me->lastScenePos()); me2->setLastScreenPos(me->lastScreenPos()); me2->setButtons(me->buttons()); me2->setButton(me->button()); me2->setModifiers(me->modifiers()); return me2; } case QEvent::GraphicsSceneContextMenu: { QGraphicsSceneContextMenuEvent *me = static_cast<QGraphicsSceneContextMenuEvent*>(e); QGraphicsSceneContextMenuEvent *me2 = new QGraphicsSceneContextMenuEvent(me->type()); me2->setWidget(me->widget()); me2->setPos(me->pos()); me2->setScenePos(me->scenePos()); me2->setScreenPos(me->screenPos()); me2->setModifiers(me->modifiers()); me2->setReason(me->reason()); return me2; } case QEvent::GraphicsSceneHoverEnter: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::GraphicsSceneHoverMove: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::GraphicsSceneHoverLeave: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::GraphicsSceneHelp: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::GraphicsSceneDragEnter: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::GraphicsSceneDragMove: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::GraphicsSceneDragLeave: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::GraphicsSceneDrop: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::GraphicsSceneWheel: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::KeyboardLayoutChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::DynamicPropertyChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::TabletEnterProximity: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::TabletLeaveProximity: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::NonClientAreaMouseMove: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::NonClientAreaMouseButtonPress: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::NonClientAreaMouseButtonRelease: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::NonClientAreaMouseButtonDblClick: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::MacSizeChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ContentsRectChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::MacGLWindowChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::FutureCallOut: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::GraphicsSceneResize: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::GraphicsSceneMove: { QGraphicsSceneMoveEvent *me = static_cast<QGraphicsSceneMoveEvent*>(e); QGraphicsSceneMoveEvent *me2 = new QGraphicsSceneMoveEvent(); me2->setWidget(me->widget()); me2->setNewPos(me->newPos()); me2->setOldPos(me->oldPos()); return me2; } case QEvent::CursorChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::ToolTipChange: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::NetworkReplyUpdated: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::GrabMouse: case QEvent::UngrabMouse: case QEvent::GrabKeyboard: case QEvent::UngrabKeyboard: return new QEvent(*e); #if defined(QT_MAC_USE_COCOA) && (QT_VERSION >= 0x040500) case QEvent::CocoaRequestModal: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; #endif case QEvent::User: case QEvent::MaxUser: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; default: ; } return qcoreStateMachineHandler()->cloneEvent(e); }
void Ut_LockScreenWithPadlockView::testDraggableIconMovement() { QFETCH(int, layoutDirection); QSKIP("This test method currently fails", SkipSingle); QSignalSpy unlockSpy(m_subject, SIGNAL(unlocked())); m_subject->lockScreenHeader->setLayoutDirection((Qt::LayoutDirection)layoutDirection); m_subject->lockScreenHeader->setPreferredSize(100, 10); // send three mouse events that ultimately will send the unlocked signal from the window. QGraphicsSceneMouseEvent *pressEvent = new QGraphicsSceneMouseEvent(QEvent::GraphicsSceneMousePress); pressEvent->setPos(QPointF(layoutDirection == Qt::LeftToRight ? m_subject->lockScreenHeader->preferredWidth() : 0, m_subject->lockScreenHeader->pos().y())); QGraphicsSceneMouseEvent *moveEvent = new QGraphicsSceneMouseEvent(QEvent::GraphicsSceneMouseMove); moveEvent->setPos(QPointF(400, 240)); QGraphicsSceneMouseEvent *moveEventNotActive = new QGraphicsSceneMouseEvent(QEvent::GraphicsSceneMouseMove); moveEventNotActive->setPos(QPointF(400, 0)); QGraphicsSceneMouseEvent *releaseEvent = new QGraphicsSceneMouseEvent(QEvent::GraphicsSceneMouseRelease); // sending a press event the place where it should activate the draggable icon. m_subject->mousePressEvent(pressEvent); QTest::qWait(50); QCoreApplication::processEvents(); QCOMPARE(m_subject->dragAndDropState, (int)LockScreenWithPadlockView::STATE_MOVING); QVERIFY(nameOfLastFeedback == "start-dragndrop"); checkOverlayPos(pressEvent->pos()); QVERIFY(m_subject->dragAndDropIcon != 0); QCOMPARE(m_subject->dragAndDropOverlay.widget(), static_cast<MWidget*>(m_subject->dragAndDropIcon)); QCOMPARE(gAppearSceneWindowList.count(), 1); QCOMPARE(gAppearSceneWindowList.at(0), &m_subject->dragAndDropOverlay); QCOMPARE(m_subject->dragAndDropIcon->objectName(), QString("LockScreenDnDIcon")); QVERIFY(m_subject->dragAndDropOverlay.isVisible()); QCOMPARE(m_subject->lockScreenHeader->objectName(), QString("LockLiftArea")); QVERIFY(gUnlockAreaStub->stubLastCallTo("setEnabled").parameter<bool>(0)); // move the mouse right into the middle of the screen m_subject->mouseMoveEvent(moveEvent); QCOMPARE(m_subject->dragAndDropState, (int)LockScreenWithPadlockView::STATE_MOVING_ACTIVE); QVERIFY(nameOfLastFeedback == "enter-dragndrop-dropzone"); checkOverlayPos(moveEvent->pos()); QCOMPARE(m_subject->dragAndDropIcon->objectName(), QString("LockScreenDnDIconActive")); QVERIFY(gUnlockAreaStub->stubLastCallTo("setActive").parameter<bool>(0)); // move back to some non-active place m_subject->mouseMoveEvent(moveEventNotActive); QCOMPARE(m_subject->dragAndDropState, (int)LockScreenWithPadlockView::STATE_MOVING); QVERIFY(nameOfLastFeedback == "exit-dragndrop-dropzone"); QCOMPARE(m_subject->dragAndDropIcon->objectName(), QString("LockScreenDnDIcon")); QVERIFY(!gUnlockAreaStub->stubLastCallTo("setActive").parameter<bool>(0)); // again move to active area m_subject->mouseMoveEvent(moveEvent); QCOMPARE(m_subject->dragAndDropState, (int)LockScreenWithPadlockView::STATE_MOVING_ACTIVE); QVERIFY(nameOfLastFeedback == "enter-dragndrop-dropzone"); QVERIFY(gUnlockAreaStub->stubLastCallTo("setActive").parameter<bool>(0)); // when the mouse is released, the unlocked signal should be sent m_subject->mouseReleaseEvent(releaseEvent); QCOMPARE(unlockSpy.count(), 1); QVERIFY(nameOfLastFeedback == "release-inside-dragndrop-dropzone"); QCOMPARE(m_subject->dragAndDropIcon->objectName(), QString("LockScreenDnDIcon")); QVERIFY(!m_subject->dragAndDropOverlay.isVisible()); QCOMPARE(m_subject->lockScreenHeader->objectName(), QString("LockLiftAreaWithPadlock")); QVERIFY(!gUnlockAreaStub->stubLastCallTo("setEnabled").parameter<bool>(0)); }
bool ScrollerPrivate::eventFilter(QObject *obj, QEvent *event) { if (obj != m_scrollArea || (event->type() != QEvent::GraphicsSceneMouseMove && event->type() != QEvent::GraphicsSceneMousePress && event->type() != QEvent::GraphicsSceneMouseRelease /*&& event->type() != QEvent::GraphicsSceneKeyPressed && event->type() != QEvent::GraphicsSceneKeyReleased*/)) return false; QGraphicsSceneMouseEvent* mouseEvent = static_cast<QGraphicsSceneMouseEvent*>(event); m_eventViewport = mouseEvent->widget(); bool eventConsumed = false; switch (m_state) { case ScrollerPrivate::Stopped: if (mouseEvent->type() == QEvent::GraphicsSceneMousePress && mouseEvent->buttons() == Qt::LeftButton) { m_cursorPos = QCursor::pos(); m_speed = QPointF(0.0, 0.0); m_state = Started; } eventConsumed = true; break; case ScrollerPrivate::Started: if (mouseEvent->type() == QEvent::GraphicsSceneMouseMove) { m_cursorPos = QCursor::pos(); m_state = ManualScrolling; if (!m_scrollTimer.isActive()) m_scrollTimer.start(UpdateScrollingInterval); else { m_scrollTimer.stop(); m_scrollTimer.start(UpdateScrollingInterval); } } else if (mouseEvent->type() == QEvent::MouseButtonRelease) { m_speed = QPoint(0, 0); m_state = Stopped; if (m_scrollTimer.isActive()) m_scrollTimer.stop(); } eventConsumed = true; break; case ScrollerPrivate::ManualScrolling: if (mouseEvent->type() == QEvent::GraphicsSceneMouseMove && m_scrollArea->viewport()->boundingRect().contains(mouseEvent->pos()) ) { ScrollBar *hscroll = m_scrollArea->horizontalScrollBar(); ScrollBar *vscroll = m_scrollArea->verticalScrollBar(); QPointF d = m_scrollFactor * (mapToScrollArea(QCursor::pos()) - mapToScrollArea(m_cursorPos)); hscroll->setSliderPosition(hscroll->sliderPosition() - d.x()); vscroll->setSliderPosition(vscroll->sliderPosition() - d.y()); if (m_lastCursorTime.elapsed() > UpdateScrollingInterval) { m_speed = mapToScrollArea(QCursor::pos()) - mapToScrollArea(m_cursorPos); m_lastCursorTime.restart(); } m_lastFrameTime.restart(); m_cursorPos = QCursor::pos(); } else if (mouseEvent->type() == QEvent::GraphicsSceneMouseRelease) { m_state = AutoScrolling; m_scrollSlowAccum = 0; if (m_scrollTimer.isActive()) { m_scrollTimer.stop(); m_scrollTimer.start(UpdateScrollingSmoothInterval); } } eventConsumed = true; break; case ScrollerPrivate::AutoScrolling: if (mouseEvent->type() == QEvent::GraphicsSceneMousePress) { stopScrolling(); } else if (mouseEvent->type() == QEvent::MouseButtonRelease) { m_state = Stopped; } eventConsumed = true; break; default: break; } return eventConsumed; }