PartDesign/Gui: prevent Task*PatternParameters not crash on non sketchBased features

This commit is contained in:
Alexander Golubev 2015-09-11 05:46:22 +03:00 committed by Stefan Tröger
parent aa7d054d47
commit efef23d8e2
3 changed files with 17 additions and 16 deletions

View File

@ -158,11 +158,9 @@ void TaskLinearPatternParameters::setupUI()
dirLinks.setCombo(*(ui->comboDirection));
App::DocumentObject* sketch = getSketchObject();
if (!sketch->isDerivedFrom(Part::Part2DObject::getClassTypeId()))
sketch = 0;
this->fillAxisCombo(dirLinks,static_cast<Part::Part2DObject*>(sketch));
updateUI();
if (sketch && sketch->isDerivedFrom(Part::Part2DObject::getClassTypeId())) {
this->fillAxisCombo(dirLinks,static_cast<Part::Part2DObject*>(sketch));
}
//show the parts coordinate system axis for selection
PartDesign::Body * body = PartDesign::Body::findBodyOf(getObject());
@ -176,6 +174,8 @@ void TaskLinearPatternParameters::setupUI()
Base::Console().Error ("%s\n", ex.what () );
}
}
updateUI();
}
void TaskLinearPatternParameters::updateUI()

View File

@ -133,11 +133,9 @@ void TaskMirroredParameters::setupUI()
ui->comboPlane->setEnabled(true);
App::DocumentObject* sketch = getSketchObject();
if (!sketch->isDerivedFrom(Part::Part2DObject::getClassTypeId()))
sketch = 0;
this->fillPlanesCombo(planeLinks,static_cast<Part::Part2DObject*>(sketch));
updateUI();
if (sketch && sketch->isDerivedFrom(Part::Part2DObject::getClassTypeId())) {
this->fillAxisCombo(planeLinks,static_cast<Part::Part2DObject*>(sketch));
}
//show the parts coordinate system axis for selection
PartDesign::Body * body = PartDesign::Body::findBodyOf ( getObject() );
@ -151,6 +149,8 @@ void TaskMirroredParameters::setupUI()
Base::Console().Error ("%s\n", ex.what () );
}
}
updateUI();
}
void TaskMirroredParameters::updateUI()

View File

@ -151,12 +151,11 @@ void TaskPolarPatternParameters::setupUI()
ui->polarAngle->setEnabled(true);
ui->spinOccurrences->setEnabled(true);
App::DocumentObject* sketch = getSketchObject();
if (!(sketch->isDerivedFrom(Part::Part2DObject::getClassTypeId())))
sketch = 0;
this->axesLinks.setCombo(*(ui->comboAxis));
this->fillAxisCombo(axesLinks, static_cast<Part::Part2DObject*>(sketch));
updateUI();
App::DocumentObject* sketch = getSketchObject();
if (sketch && sketch->isDerivedFrom(Part::Part2DObject::getClassTypeId())) {
this->fillAxisCombo(axesLinks, static_cast<Part::Part2DObject*>(sketch));
}
//show the parts coordinate system axis for selection
PartDesign::Body * body = PartDesign::Body::findBodyOf ( getObject() );
@ -170,7 +169,9 @@ void TaskPolarPatternParameters::setupUI()
} catch (const Base::Exception &ex) {
Base::Console().Error ("%s\n", ex.what () );
}
}
}
updateUI();
}
void TaskPolarPatternParameters::updateUI()