Mouse wheel handling in InputField
This commit is contained in:
parent
d5d9ea9c30
commit
9d217367e9
|
@ -124,6 +124,10 @@ void InputField::newInput(const QString & text)
|
||||||
ErrorText = "";
|
ErrorText = "";
|
||||||
this->setToolTip(QString::fromAscii(ErrorText.c_str()));
|
this->setToolTip(QString::fromAscii(ErrorText.c_str()));
|
||||||
actQuantity = res;
|
actQuantity = res;
|
||||||
|
double dFactor;
|
||||||
|
res.getUserString(dFactor,actUnitStr);
|
||||||
|
// calculate the number shown
|
||||||
|
actUnitValue = res.getValue()/dFactor;
|
||||||
// signaling
|
// signaling
|
||||||
valueChanged(res);
|
valueChanged(res);
|
||||||
|
|
||||||
|
@ -235,7 +239,9 @@ void InputField::setValue(const Base::Quantity& quant)
|
||||||
if(!quant.getUnit().isEmpty())
|
if(!quant.getUnit().isEmpty())
|
||||||
actUnit = quant.getUnit();
|
actUnit = quant.getUnit();
|
||||||
|
|
||||||
setText(quant.getUserString());
|
double dFactor;
|
||||||
|
setText(quant.getUserString(dFactor,actUnitStr));
|
||||||
|
actUnitValue = quant.getValue()/dFactor;
|
||||||
}
|
}
|
||||||
|
|
||||||
void InputField::setUnit(const Base::Unit& unit)
|
void InputField::setUnit(const Base::Unit& unit)
|
||||||
|
@ -307,6 +313,22 @@ void InputField::selectNumber(void)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void InputField::wheelEvent ( QWheelEvent * event )
|
||||||
|
{
|
||||||
|
int numDegrees = event->delta() / 8;
|
||||||
|
int numSteps = numDegrees / 15;
|
||||||
|
|
||||||
|
double val = actUnitValue + numSteps;
|
||||||
|
|
||||||
|
this->setText( QString::fromUtf8("%1 %2").arg(val).arg(actUnitStr));
|
||||||
|
|
||||||
|
//if (event->orientation() == Qt::Horizontal) {
|
||||||
|
// scrollHorizontally(numSteps);
|
||||||
|
//} else {
|
||||||
|
// scrollVertically(numSteps);
|
||||||
|
//}
|
||||||
|
event->accept();
|
||||||
|
}
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -129,6 +129,7 @@ Q_SIGNALS:
|
||||||
protected Q_SLOTS:
|
protected Q_SLOTS:
|
||||||
void newInput(const QString & text);
|
void newInput(const QString & text);
|
||||||
|
|
||||||
|
void wheelEvent ( QWheelEvent * event ) ;
|
||||||
protected:
|
protected:
|
||||||
virtual void contextMenuEvent ( QContextMenuEvent * event );
|
virtual void contextMenuEvent ( QContextMenuEvent * event );
|
||||||
|
|
||||||
|
@ -142,6 +143,8 @@ private:
|
||||||
|
|
||||||
Base::Quantity actQuantity;
|
Base::Quantity actQuantity;
|
||||||
Base::Unit actUnit;
|
Base::Unit actUnit;
|
||||||
|
double actUnitValue;
|
||||||
|
QString actUnitStr;
|
||||||
|
|
||||||
double Maximum;
|
double Maximum;
|
||||||
double Minimum;
|
double Minimum;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user