bool Button::triggerEvent(XEvent& event, Pointer* pointer) { switch (event.type) { case ButtonPress: if (mouseInArea(pointer)) { active = true; draw(); } break; case ButtonRelease: if (active && mouseInArea(pointer)) { active = false; draw(); (*action)(this); (*taggedAction)(text); (*referencedAction)(this); return true; } break; case MotionNotify: if (active && !mouseInArea(pointer)) { active = false; draw(); } } return false; }
int MyWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QWidget::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: sizeChanged(); break; case 1: doubleClick(); break; case 2: mouseInArea((*reinterpret_cast< bool(*)>(_a[1]))); break; default: ; } _id -= 3; } return _id; }