Add a combo box to the transform featues UI for the TransformMode

This commit is contained in:
André Althaus
2024-03-25 02:07:55 +01:00
parent 45bb606095
commit a6c061e19a
3 changed files with 107 additions and 28 deletions

View File

@@ -91,6 +91,10 @@ void TaskTransformedParameters::setupUI()
ui->setupUi(proxy);
QMetaObject::connectSlotsByName(this);
connect(ui->comboMode,
qOverload<int>(&QComboBox::activated),
this,
&TaskTransformedParameters::onModeChanged);
connect(ui->buttonAddFeature,
&QToolButton::toggled,
this,
@@ -120,8 +124,13 @@ void TaskTransformedParameters::setupUI()
// Get the feature data
auto pcTransformed = static_cast<PartDesign::Transformed*>(getObject());
std::vector<App::DocumentObject*> originals = pcTransformed->Originals.getValues();
using Mode = PartDesign::Transformed::Mode;
auto const mode = static_cast<Mode>(pcTransformed->TransformMode.getValue());
ui->groupFeatureList->setEnabled(mode == Mode::TransformToolShapes);
ui->comboMode->setCurrentIndex(static_cast<int>(mode));
std::vector<App::DocumentObject*> originals = pcTransformed->Originals.getValues();
// Fill data into dialog elements
for (auto obj : originals) {
if (obj) {
@@ -272,6 +281,22 @@ bool TaskTransformedParameters::isEnabledTransaction() const
return enableTransaction;
}
void TaskTransformedParameters::onModeChanged(int mode)
{
using Mode = PartDesign::Transformed::Mode;
auto pcTransformed = static_cast<PartDesign::Transformed*>(getObject());
pcTransformed->TransformMode.setValue(mode);
auto const tmode = static_cast<Mode>(mode);
ui->groupFeatureList->setEnabled(tmode == Mode::TransformToolShapes);
if (tmode == Mode::TransformBody) {
ui->listWidgetFeatures->clear();
}
setupTransaction();
recomputeFeature();
}
void TaskTransformedParameters::onButtonAddFeature(bool checked)
{
if (checked) {