PD: improve task panel for linear patterns:

* set range of Occurrences property to spin box
* connect signals after initializing widgets to avoid superfluous recomputes and possible inconsistencies
This commit is contained in:
wmayer
2021-03-03 10:32:02 +01:00
parent 48b42f8355
commit 2d54d838cf
2 changed files with 8 additions and 2 deletions

View File

@@ -105,7 +105,7 @@ TaskLinearPatternParameters::TaskLinearPatternParameters(TaskMultiTransformParam
setupUI();
}
void TaskLinearPatternParameters::setupUI()
void TaskLinearPatternParameters::connectSignals()
{
connect(ui->buttonAddFeature, SIGNAL(toggled(bool)), this, SLOT(onButtonAddFeature(bool)));
connect(ui->buttonRemoveFeature, SIGNAL(toggled(bool)), this, SLOT(onButtonRemoveFeature(bool)));
@@ -139,7 +139,10 @@ void TaskLinearPatternParameters::setupUI()
this, SLOT(onOccurrences(uint)));
connect(ui->checkBoxUpdateView, SIGNAL(toggled(bool)),
this, SLOT(onUpdateView(bool)));
}
void TaskLinearPatternParameters::setupUI()
{
// Get the feature data
PartDesign::LinearPattern* pcLinearPattern = static_cast<PartDesign::LinearPattern*>(getObject());
std::vector<App::DocumentObject*> originals = pcLinearPattern->Originals.getValues();
@@ -157,8 +160,9 @@ void TaskLinearPatternParameters::setupUI()
// ---------------------
ui->spinLength->bind(pcLinearPattern->Length);
ui->spinOccurrences->setMaximum(INT_MAX);
ui->spinOccurrences->bind(pcLinearPattern->Occurrences);
ui->spinOccurrences->setMaximum(pcLinearPattern->Occurrences.getMaximum());
ui->spinOccurrences->setMinimum(pcLinearPattern->Occurrences.getMinimum());
ui->comboDirection->setEnabled(true);
ui->checkReverse->setEnabled(true);
@@ -191,6 +195,7 @@ void TaskLinearPatternParameters::setupUI()
}
updateUI();
connectSignals();
}
void TaskLinearPatternParameters::updateUI()

View File

@@ -80,6 +80,7 @@ protected:
unsigned getOccurrences(void) const;
private:
void connectSignals();
void setupUI();
void updateUI();
void kickUpdateViewTimer() const;