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:
@@ -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()
|
||||
|
||||
@@ -80,6 +80,7 @@ protected:
|
||||
unsigned getOccurrences(void) const;
|
||||
|
||||
private:
|
||||
void connectSignals();
|
||||
void setupUI();
|
||||
void updateUI();
|
||||
void kickUpdateViewTimer() const;
|
||||
|
||||
Reference in New Issue
Block a user