diff --git a/src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp b/src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp index d494d3d459..3eb892ba57 100644 --- a/src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp @@ -115,6 +115,34 @@ void TaskRevolutionParameters::setupDialog() ui->revolveAngle->setMaximum(propAngle->getMaximum()); ui->revolveAngle->setMinimum(propAngle->getMinimum()); + App::DocumentObject* obj = propUpToFace->getValue(); + std::vector subStrings = propUpToFace->getSubValues(); + std::string upToFace; + int faceId = -1; + if (obj && !subStrings.empty()) { + upToFace = subStrings.front(); + if (upToFace.compare(0, 4, "Face") == 0) + faceId = std::atoi(&upToFace[4]); + } + + // Set object labels + if (obj && PartDesign::Feature::isDatum(obj)) { + ui->lineFaceName->setText(QString::fromUtf8(obj->Label.getValue())); + ui->lineFaceName->setProperty("FeatureName", QByteArray(obj->getNameInDocument())); + } + else if (obj && faceId >= 0) { + ui->lineFaceName->setText(QString::fromLatin1("%1:%2%3") + .arg(QString::fromUtf8(obj->Label.getValue()), + tr("Face"), + QString::number(faceId))); + ui->lineFaceName->setProperty("FeatureName", QByteArray(obj->getNameInDocument())); + } + else { + ui->lineFaceName->clear(); + ui->lineFaceName->setProperty("FeatureName", QVariant()); + } + + ui->lineFaceName->setProperty("FaceName", QByteArray(upToFace.c_str())); int index = 0; // TODO: This should also be implemented for groove