--Bug fixes

-Change variation spin boxes to only show the precision needed, and also allow scientific notation.
This commit is contained in:
Person
2018-01-28 11:40:34 -08:00
parent cee3ef20d4
commit 4636c1047d
4 changed files with 11 additions and 3 deletions

View File

@ -356,7 +356,7 @@ VariationTreeDoubleSpinBox::VariationTreeDoubleSpinBox(QWidget* p, VariationTree
m_WidgetItem = widgetItem;
m_Param = param;
m_Id = id;
setDecimals(3);
//setDecimals(3);
//PI
auto piAction = new QAction("PI", this);
connect(piAction, SIGNAL(triggered(bool)), this, SLOT(PiActionTriggered(bool)), Qt::QueuedConnection);
@ -407,6 +407,7 @@ VariationTreeDoubleSpinBox::VariationTreeDoubleSpinBox(QWidget* p, VariationTree
this->addAction(sqrtThreeAction);
//Need this for it to show up properly.
this->setContextMenuPolicy(Qt::ActionsContextMenu);
lineEdit()->setValidator(new QDoubleValidator(this));
}
void VariationTreeDoubleSpinBox::PiActionTriggered(bool checked) { setValue(M_PI); }
@ -422,6 +423,12 @@ void VariationTreeDoubleSpinBox::FourOverPiActionTriggered(bool checked) { setV
void VariationTreeDoubleSpinBox::SqrtTwoActionTriggered(bool checked) { setValue(M_SQRT2); }
void VariationTreeDoubleSpinBox::SqrtThreeActionTriggered(bool checked) { setValue(std::sqrt(3.0)); }
QString VariationTreeDoubleSpinBox::textFromValue(double value) const
{
return QWidget::locale().toString(value, 'g', 10);
}
/// <summary>
/// Constructor that sets up the context menu for special numerical values specific to affine spinners.
/// </summary>

View File

@ -98,6 +98,7 @@ public:
string ParamName() { return m_Param; }
eVariationId GetVariationId() { return m_Id; }
VariationTreeWidgetItem* WidgetItem() { return m_WidgetItem; }
virtual QString textFromValue(double value) const override;
public slots:
void PiActionTriggered(bool checked = false);

View File

@ -122,7 +122,7 @@ void FractoriumEmberController<T>::SetupVariationsTree()
spinBox->DoubleClickZero(1);
spinBox->DoubleClickNonZero(0);
spinBox->SmallStep(0.001);
spinBox->setDecimals(4);
//spinBox->setDecimals(4);
tree->setItemWidget(item, 1, spinBox);
m_Fractorium->connect(spinBox, SIGNAL(valueChanged(double)), SLOT(OnVariationSpinBoxValueChanged(double)), Qt::QueuedConnection);