mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-27 01:26:30 +00:00
Update: correct works edit_range_widget
This commit is contained in:
parent
12ce931793
commit
581acea1e4
3 changed files with 18 additions and 10 deletions
|
@ -7,7 +7,7 @@
|
|||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>304</width>
|
||||
<height>32</height>
|
||||
<height>39</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -77,7 +77,7 @@
|
|||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="buttonSymbols">
|
||||
<enum>QAbstractSpinBox::NoButtons</enum>
|
||||
|
|
|
@ -138,7 +138,7 @@ void CEditRangeUIntWidget::changeSlider(int value)
|
|||
void CEditRangeUIntWidget::updateUi()
|
||||
{
|
||||
if (_Wrapper == NULL) return;
|
||||
_ui.horizontalSlider->setSliderPosition(_Wrapper->get());
|
||||
setValue(_Wrapper->get());
|
||||
}
|
||||
|
||||
CEditRangeIntWidget::CEditRangeIntWidget(QWidget *parent)
|
||||
|
@ -242,7 +242,7 @@ void CEditRangeIntWidget::changeSlider(int value)
|
|||
void CEditRangeIntWidget::updateUi()
|
||||
{
|
||||
if (_Wrapper == NULL) return;
|
||||
_ui.horizontalSlider->setSliderPosition(_Wrapper->get());
|
||||
setValue(_Wrapper->get());
|
||||
}
|
||||
|
||||
|
||||
|
@ -254,6 +254,7 @@ CEditRangeFloatWidget::CEditRangeFloatWidget(QWidget *parent )
|
|||
connect(_ui.startSpinBox, SIGNAL(valueChanged(double)), this, SLOT(changeRange()));
|
||||
connect(_ui.endSpinBox, SIGNAL(valueChanged(double)), this, SLOT(changeRange()));
|
||||
connect(_ui.horizontalSlider, SIGNAL(valueChanged(int)), this, SLOT(changeSlider(int)));
|
||||
connect(_ui.currentSpinBox, SIGNAL(valueChanged(double)), this, SLOT(changeValue(double)));
|
||||
|
||||
setValue(0.0, false);
|
||||
}
|
||||
|
@ -304,6 +305,7 @@ void CEditRangeFloatWidget::enableUpperBound(float upperBound, bool upperBoundEx
|
|||
upperBound -= 0.001f;
|
||||
_ui.endSpinBox->setMaximum(upperBound);
|
||||
_ui.startSpinBox->setMaximum(upperBound);
|
||||
_ui.currentSpinBox->setMaximum(upperBound);
|
||||
}
|
||||
|
||||
void CEditRangeFloatWidget::enableLowerBound(float lowerBound, bool lowerBoundExcluded)
|
||||
|
@ -312,6 +314,7 @@ void CEditRangeFloatWidget::enableLowerBound(float lowerBound, bool lowerBoundEx
|
|||
lowerBound += 0.01f;
|
||||
_ui.endSpinBox->setMinimum(lowerBound);
|
||||
_ui.startSpinBox->setMinimum(lowerBound);
|
||||
_ui.currentSpinBox->setMinimum(lowerBound);
|
||||
}
|
||||
|
||||
void CEditRangeFloatWidget::disableUpperBound(void)
|
||||
|
@ -338,8 +341,11 @@ void CEditRangeFloatWidget::changeSlider(int value)
|
|||
float delta = _ui.endSpinBox->value() - _ui.startSpinBox->value();
|
||||
int deltaSlider = _ui.horizontalSlider->maximum() - _ui.horizontalSlider->minimum();
|
||||
float newValue = _ui.startSpinBox->value() + ((delta / deltaSlider) * value);
|
||||
_ui.currentSpinBox->setValue(newValue);
|
||||
|
||||
_ui.currentSpinBox->blockSignals(true);
|
||||
_ui.currentSpinBox->setValue(newValue);
|
||||
_ui.currentSpinBox->blockSignals(false);
|
||||
|
||||
// NeL wrapper
|
||||
if ((_Wrapper != NULL) && (fabs(newValue - _Wrapper->get()) > 0.0001))
|
||||
_Wrapper->setAndUpdateModifiedFlag(newValue);
|
||||
|
@ -348,14 +354,15 @@ void CEditRangeFloatWidget::changeSlider(int value)
|
|||
Q_EMIT valueChanged(newValue);
|
||||
}
|
||||
|
||||
void CEditRangeFloatWidget::changeValue(double value)
|
||||
{
|
||||
setValue(value);
|
||||
}
|
||||
|
||||
void CEditRangeFloatWidget::updateUi()
|
||||
{
|
||||
if (_Wrapper == NULL) return;
|
||||
_ui.currentSpinBox->setValue(_Wrapper->get());
|
||||
float delta = _ui.endSpinBox->value() - _ui.startSpinBox->value();
|
||||
int deltaSlider = _ui.horizontalSlider->maximum() - _ui.horizontalSlider->minimum();
|
||||
int newValue = floor((deltaSlider / delta) * (_Wrapper->get() - _ui.startSpinBox->value()));
|
||||
_ui.horizontalSlider->setSliderPosition(newValue);
|
||||
setValue(_Wrapper->get());
|
||||
}
|
||||
|
||||
} /* namespace NLQT */
|
||||
|
|
|
@ -277,6 +277,7 @@ Q_SIGNALS:
|
|||
private Q_SLOTS:
|
||||
void changeRange();
|
||||
void changeSlider(int value);
|
||||
void changeValue(double value);
|
||||
|
||||
private:
|
||||
|
||||
|
|
Loading…
Reference in a new issue