BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
WheelEventEater Class Reference

Event filter to install on combo boxes and spin boxes to not to react on wheel events during scrolling of InstrumentComponentWidget. More...

Inheritance diagram for WheelEventEater:
[legend]
Collaboration diagram for WheelEventEater:
[legend]

Public Member Functions

 WheelEventEater (QObject *parent=0)
 

Protected Member Functions

bool eventFilter (QObject *obj, QEvent *event)
 

Detailed Description

Event filter to install on combo boxes and spin boxes to not to react on wheel events during scrolling of InstrumentComponentWidget.

Definition at line 34 of file CustomEventFilters.h.

Constructor & Destructor Documentation

◆ WheelEventEater()

WheelEventEater::WheelEventEater ( QObject *  parent = 0)

Definition at line 42 of file CustomEventFilters.cpp.

42 : QObject(parent) {}

Member Function Documentation

◆ eventFilter()

bool WheelEventEater::eventFilter ( QObject *  obj,
QEvent *  event 
)
protected

Definition at line 44 of file CustomEventFilters.cpp.

45 {
46  if (QAbstractSpinBox* spinBox = qobject_cast<QAbstractSpinBox*>(obj)) {
47 
48  if (event->type() == QEvent::Wheel) {
49  if (spinBox->focusPolicy() == Qt::WheelFocus) {
50  event->accept();
51  return false;
52  } else {
53  event->ignore();
54  return true;
55  }
56  } else if (event->type() == QEvent::FocusIn) {
57  spinBox->setFocusPolicy(Qt::WheelFocus);
58  } else if (event->type() == QEvent::FocusOut) {
59  spinBox->setFocusPolicy(Qt::StrongFocus);
60  }
61  } else if (qobject_cast<QComboBox*>(obj)) {
62  if (event->type() == QEvent::Wheel) {
63  event->ignore();
64  return true;
65  } else {
66  event->accept();
67  return false;
68  }
69  }
70  return QObject::eventFilter(obj, event);
71 }

The documentation for this class was generated from the following files: