MCPcopy Create free account
hub / github.com/DreamSourceLab/DSView / eventFilter

Method eventFilter

DSView/pv/view/view.cpp:844–871  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

842}
843
844bool View::eventFilter(QObject *object, QEvent *event)
845{
846 const QEvent::Type type = event->type();
847 if (type == QEvent::MouseMove) {
848 const QMouseEvent *const mouse_event = (QMouseEvent*)event;
849 if (object == _ruler || object == _time_viewport || object == _fft_viewport) {
850 //_hover_point = QPoint(mouse_event->x(), 0);
851 double cur_periods = (mouse_event->pos().x() + _offset) * _scale / _ruler->get_min_period();
852 int integer_x = round(cur_periods) * _ruler->get_min_period() / _scale - _offset;
853 double cur_deviate_x = qAbs(mouse_event->pos().x() - integer_x);
854 if (_device_agent->get_work_mode() == LOGIC &&
855 cur_deviate_x < 10)
856 _hover_point = QPoint(integer_x, mouse_event->pos().y());
857 else
858 _hover_point = mouse_event->pos();
859 } else if (object == _header)
860 _hover_point = QPoint(0, mouse_event->y());
861 else
862 _hover_point = QPoint(-1, -1);
863
864 hover_point_changed();
865 } else if (type == QEvent::Leave) {
866 _hover_point = QPoint(-1, -1);
867 hover_point_changed();
868 }
869
870 return QObject::eventFilter(object, event);
871}
872
873bool View::viewportEvent(QEvent *e)
874{

Callers

nothing calls this directly

Calls 3

typeMethod · 0.80
get_min_periodMethod · 0.80
get_work_modeMethod · 0.80

Tested by

no test coverage detected