Skip to content

Commit

Permalink
[PD] set App constraints for their Gui counterparts
Browse files Browse the repository at this point in the history
based on Werner's work yesterday, this PR takes care of the missing PD features to use the constraints already defined in App
  • Loading branch information
donovaly authored and wwmayer committed Mar 4, 2021
1 parent 39d82a8 commit 249c2c7
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 20 deletions.
4 changes: 2 additions & 2 deletions src/Mod/PartDesign/Gui/TaskChamferParameters.cpp
Expand Up @@ -127,8 +127,8 @@ void TaskChamferParameters::setUpUI(PartDesign::Chamfer* pcChamfer)
ui->chamferSize2->bind(pcChamfer->Size2);

ui->chamferAngle->setUnit(Base::Unit::Angle);
ui->chamferAngle->setMinimum(0.0);
ui->chamferAngle->setMaximum(180.0);
ui->chamferAngle->setMinimum(pcChamfer->Angle.getMinimum());
ui->chamferAngle->setMaximum(pcChamfer->Angle.getMaximum());
ui->chamferAngle->setValue(pcChamfer->Angle.getValue());
ui->chamferAngle->bind(pcChamfer->Angle);

Expand Down
4 changes: 2 additions & 2 deletions src/Mod/PartDesign/Gui/TaskDraftParameters.cpp
Expand Up @@ -67,8 +67,8 @@ TaskDraftParameters::TaskDraftParameters(ViewProviderDressUp *DressUpView, QWidg
PartDesign::Draft* pcDraft = static_cast<PartDesign::Draft*>(DressUpView->getObject());
double a = pcDraft->Angle.getValue();

ui->draftAngle->setMinimum(0.0);
ui->draftAngle->setMaximum(89.99);
ui->draftAngle->setMinimum(pcDraft->Angle.getMinimum());
ui->draftAngle->setMaximum(pcDraft->Angle.getMaximum());
ui->draftAngle->setValue(a);
ui->draftAngle->selectAll();
QMetaObject::invokeMethod(ui->draftAngle, "setFocus", Qt::QueuedConnection);
Expand Down
32 changes: 16 additions & 16 deletions src/Mod/PartDesign/Gui/TaskPrimitiveParameters.cpp
Expand Up @@ -87,8 +87,8 @@ TaskBoxPrimitives::TaskBoxPrimitives(ViewProviderPrimitive* vp, QWidget* parent)
ui->cylinderHeight->bind(static_cast<PartDesign::Cylinder*>(vp->getObject())->Height);
ui->cylinderRadius->setValue(static_cast<PartDesign::Cylinder*>(vp->getObject())->Radius.getValue());
ui->cylinderRadius->bind(static_cast<PartDesign::Cylinder*>(vp->getObject())->Radius);
ui->cylinderAngle->setMaximum(360.0);
ui->cylinderAngle->setMinimum(0.0);
ui->cylinderAngle->setMaximum(static_cast<PartDesign::Cylinder*>(vp->getObject())->Angle.getMaximum());
ui->cylinderAngle->setMinimum(static_cast<PartDesign::Cylinder*>(vp->getObject())->Angle.getMinimum());
ui->cylinderHeight->setMaximum(INT_MAX);
ui->cylinderHeight->setMinimum(0.0);
ui->cylinderRadius->setMaximum(INT_MAX);
Expand All @@ -105,11 +105,11 @@ TaskBoxPrimitives::TaskBoxPrimitives(ViewProviderPrimitive* vp, QWidget* parent)
ui->sphereRadius->setValue(static_cast<PartDesign::Sphere*>(vp->getObject())->Radius.getValue());
ui->sphereRadius->bind(static_cast<PartDesign::Sphere*>(vp->getObject())->Radius);
ui->sphereAngle1->setMaximum(ui->sphereAngle2->rawValue()); // must geometrically be <= than sphereAngle2
ui->sphereAngle1->setMinimum(-90.0);
ui->sphereAngle2->setMaximum(90);
ui->sphereAngle1->setMinimum(static_cast<PartDesign::Sphere*>(vp->getObject())->Angle1.getMinimum());
ui->sphereAngle2->setMaximum(static_cast<PartDesign::Sphere*>(vp->getObject())->Angle2.getMaximum());
ui->sphereAngle2->setMinimum(ui->sphereAngle1->rawValue());
ui->sphereAngle3->setMaximum(360.0);
ui->sphereAngle3->setMinimum(0.0);
ui->sphereAngle3->setMaximum(static_cast<PartDesign::Sphere*>(vp->getObject())->Angle3.getMaximum());
ui->sphereAngle3->setMinimum(static_cast<PartDesign::Sphere*>(vp->getObject())->Angle3.getMinimum());
ui->sphereRadius->setMaximum(INT_MAX);
ui->sphereRadius->setMinimum(0.0);
break;
Expand All @@ -123,8 +123,8 @@ TaskBoxPrimitives::TaskBoxPrimitives(ViewProviderPrimitive* vp, QWidget* parent)
ui->coneRadius1->bind(static_cast<PartDesign::Cone*>(vp->getObject())->Radius1);
ui->coneRadius2->setValue(static_cast<PartDesign::Cone*>(vp->getObject())->Radius2.getValue());
ui->coneRadius2->bind(static_cast<PartDesign::Cone*>(vp->getObject())->Radius2);
ui->coneAngle->setMaximum(360.0);
ui->coneAngle->setMinimum(0.0);
ui->coneAngle->setMaximum(static_cast<PartDesign::Cone*>(vp->getObject())->Angle.getMaximum());
ui->coneAngle->setMinimum(static_cast<PartDesign::Cone*>(vp->getObject())->Angle.getMinimum());
ui->coneHeight->setMaximum(INT_MAX);
ui->coneHeight->setMinimum(0.0);
ui->coneRadius1->setMaximum(INT_MAX);
Expand All @@ -147,11 +147,11 @@ TaskBoxPrimitives::TaskBoxPrimitives(ViewProviderPrimitive* vp, QWidget* parent)
ui->ellipsoidRadius3->setValue(static_cast<PartDesign::Ellipsoid*>(vp->getObject())->Radius3.getValue());
ui->ellipsoidRadius3->bind(static_cast<PartDesign::Ellipsoid*>(vp->getObject())->Radius3);
ui->ellipsoidAngle1->setMaximum(ui->ellipsoidAngle2->rawValue()); // must geometrically be <= than sphereAngle2
ui->ellipsoidAngle1->setMinimum(-90.0);
ui->ellipsoidAngle2->setMaximum(90);
ui->ellipsoidAngle1->setMinimum(static_cast<PartDesign::Ellipsoid*>(vp->getObject())->Angle1.getMinimum());
ui->ellipsoidAngle2->setMaximum(static_cast<PartDesign::Ellipsoid*>(vp->getObject())->Angle2.getMaximum());
ui->ellipsoidAngle2->setMinimum(ui->ellipsoidAngle1->rawValue());
ui->ellipsoidAngle3->setMaximum(360.0);
ui->ellipsoidAngle3->setMinimum(0.0);
ui->ellipsoidAngle3->setMaximum(static_cast<PartDesign::Ellipsoid*>(vp->getObject())->Angle3.getMaximum());
ui->ellipsoidAngle3->setMinimum(static_cast<PartDesign::Ellipsoid*>(vp->getObject())->Angle3.getMinimum());
ui->ellipsoidRadius1->setMinimum(0.0);
ui->ellipsoidRadius1->setMaximum(INT_MAX);
ui->ellipsoidRadius2->setMinimum(0.0);
Expand All @@ -172,11 +172,11 @@ TaskBoxPrimitives::TaskBoxPrimitives(ViewProviderPrimitive* vp, QWidget* parent)
ui->torusRadius2->setValue(static_cast<PartDesign::Torus*>(vp->getObject())->Radius2.getValue());
ui->torusRadius2->bind(static_cast<PartDesign::Torus*>(vp->getObject())->Radius2);
ui->torusAngle1->setMaximum(ui->torusAngle2->rawValue()); // must geometrically be <= than sphereAngle2
ui->torusAngle1->setMinimum(-180.0);
ui->torusAngle2->setMaximum(180);
ui->torusAngle1->setMinimum(static_cast<PartDesign::Torus*>(vp->getObject())->Angle1.getMinimum());
ui->torusAngle2->setMaximum(static_cast<PartDesign::Torus*>(vp->getObject())->Angle2.getMaximum());
ui->torusAngle2->setMinimum(ui->torusAngle1->rawValue());
ui->torusAngle3->setMaximum(360.0);
ui->torusAngle3->setMinimum(0.0);
ui->torusAngle3->setMaximum(static_cast<PartDesign::Torus*>(vp->getObject())->Angle3.getMaximum());
ui->torusAngle3->setMinimum(static_cast<PartDesign::Torus*>(vp->getObject())->Angle3.getMinimum());
// this is the outer radius that must not be smaller than the inner one
// otherwise the geometry is impossible and we can even get a crash:
// https://forum.freecadweb.org/viewtopic.php?f=3&t=44467
Expand Down

0 comments on commit 249c2c7

Please sign in to comment.